آدرس : تهران میدان فردوسی خیابان ایرانشهر بین سمیه و طالقانی مجتمع تجاری میلاد واحد 9

پشتیبانی 24 ساعته : 02188867940 – 09927674217

برای مشاهده لیست علاقه مندی ها وارد شوید!

مشاهده محصولات فروشگاه
0

هیچ محصولی در سبد خرید نیست.

شبیه سازی اشیاء برای سرگرمی و سود

دسته بندی :اخبار سایت 26 فوریه 2023 علیرضا بابامرادی 219

عبارات انتساب در پایتون کپی از اشیاء ایجاد نمی کنند، بلکه آنها هستند فقط نام ها را به یک شیء متصل می کند. برای اشیاء تغییرناپذیر، که معمولا فرقی نمی کند اما برای کار با اشیاء قابل تغییر یا مجموعه ای از اشیاء قابل تغییر، ممکن است به دنبال راهی برای ایجاد “کپی واقعی” یا “کلون” از آن باشید اساساً، گاهی اوقات می خواهید کپی هایی را بخواهید که بتوانید بدون آن اصلاح کنید به طور خودکار نسخه اصلی را در همان زمان تغییر می دهد. در این فصل من قصد دارم خلاصه ای از نحوه کپی کردن یا “کلون کردن” اشیاء را به شما ارائه دهم در پایتون و برخی از اخطارهای مرتبط. این اشیاء بیایید با بررسی نحوه کپی کردن مجموعه‌های داخلی پایتون شروع کنیم. مجموعه‌های قابل تغییر داخلی پایتون مانند لیست‌ها، دیکت‌ها و مجموعه‌ها می‌توانند باشند با فراخوانی توابع کارخانه خود در مجموعه موجود کپی شده است:new_dict = dict(original_dict) new_set = set(original_set)با این حال، این روش برای اشیاء سفارشی و در بالای آن کار نخواهد کرد که، فقط کپی های سطحی ایجاد می کند. برای اشیاء مرکب مانند لیست ها، دیکته، و مجموعه، تفاوت مهمی بین کم عمق و وجود دارد کپی عمیق: new_list = list(original_list) کپی کم عمق به معنای ساختن یک شی مجموعه جدید و سپس در اصل، یک کپی کم عمق تنها یک سطح عمق دارد. فرآیند کپی کردن تکرار نمی شود و بنابراین کپی هایی از اشیاء فرزند ایجاد نمی کند خودشان پر کردن آن با ارجاع به اشیاء فرزند موجود در نسخه اصلی. یک کپی عمیق فرآیند کپی را بازگشتی می کند. به این معنی است که ابتدا یک شی مجموعه جدید بسازید و سپس به صورت بازگشتی آن را پر کنید با کپی از اشیاء کودک یافت شده در اصل. کپی کردن یک شی از این طریق، کل درخت شی را برای ایجاد یک شی کاملاً مستقل طی می کند میدونم یه ذره لقمه. پس بیایید به چند نمونه نگاه کنیم کلون شی اصلی و همه فرزندان آن. این تفاوت بین کپی های عمیق و کم عمق را به خانه هدایت کنید.در مثال زیر، یک لیست تودرتو جدید و سپس به صورت سطحی ایجاد می کنیم آن را با تابع list() factory کپی کنید:>>> xs = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ساختن کپی های کم عمق >>> ys = list(xs) # Make a shallow copyاین بدان معناست که ys اکنون یک شی جدید و مستقل با the خواهد بود همان محتویات xs. شما می توانید این موضوع را با بررسی هر دو شی تأیید کنید:[[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> xs >>> ys [[1, 2, 3], [4, 5, 6], [7, 8, 9]]|برای تأیید اینکه ys واقعاً از نسخه اصلی مستقل است، اجازه دهید a را طراحی کنیم.

علیرضا بابامرادی

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  • چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  • چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

لینک کوتاه:
0