درسنامه ی چهارم :متغیرها درپایتون(هویت شیject)

در پایتون ، به هر شیئی که ایجاد می شود یک عدد داده می شود که به طور منحصر به فرد آن را مشخص می کند. تضمین شده است که هیچ دو شی objects در هر دوره ای که طول عمر آنها با هم تداخل دارند شناسه یکسانی ندارند. هنگامی که تعداد مرجع یک شی به صفر می رسد و زباله ها جمع می شوند ، همانطور که برای 300شی object فوق اتفاق افتاد ، شماره شناسایی آن در دسترس قرار می گیرد و ممکن است دوباره استفاده شود.تابع Python داخلی id()شناسه صحیح یک شی را برمی گرداند. با استفاده از این id()تابع ، می توانید تأیید کنید که دو متغیر به یک شی same یکسان اشاره دارند:

پس از انتساب m = n، mو nهر دو به همان شی اشاره می کنند ، با این واقعیت تأیید می شود id(m)و id(n)همان تعداد را برمی گردانند. هنگامی که mبه منصوب 400، mو nنقطه به اشیاء مختلف با هویت های مختلف.

ذخیره مقادیر کوچک صحیحdeep dive:

از آنچه اکنون در مورد انتساب متغیر و ارجاعات شی در Python می دانید ، موارد زیر احتمالاً شما را شگفت زده نخواهد کرد:

با این دستور m = 300، پایتون یک شی inte صحیح با مقدار ایجاد می کند 300و mبه عنوان یک مرجع به آن تنظیم می شود. nسپس به طور مشابه به یک شی عدد صحیح با مقدار اختصاص داده می شود 300– اما همان شی نیست. بنابراین ، آنها id().دارای هویت های مختلفی هستند که می توانید از مقادیر برگشتی تأیید کنید 

اما این را در نظر بگیرید:

در اینجا ، mو nبه طور جداگانه به اشیا صحیح با ارزش اختصاص داده شده است 30. اما در این مورد ، id(m)و id(n)یکسان هستند برای اهداف بهینه سازی ، مفسر [-5, 256]در هنگام راه اندازی اشیایی را برای اعداد صحیح در محدوده ایجاد می کند و سپس در هنگام اجرای برنامه از آنها استفاده مجدد می کند. بنابراین ، وقتی متغیرهای جداگانه ای را به مقدار عدد صحیح در این محدوده اختصاص دهید ، آنها در واقع همان شی را ارجاع می دهند.نامهای متغیر:

در مثالهایی که تاکنون دیده اید از نامهای متغیر کوتاه و کوتاه مانند mو n. اما نام های متغیر می توانند پر حرف تر باشند. در حقیقت ، معمولاً مفید واقع می شوند زیرا باعث می شود هدف متغیر در نگاه اول مشهودتر باشد.به طور رسمی ، نام متغیرها در پایتون می توانند هر طولی باشند و می توانند از حروف بزرگ و کوچک ( A-Z، a-z) ، رقم ( 0-9) و کاراکتر زیر خط ( _) تشکیل شده باشند. یک محدودیت اضافی این است که ، اگرچه یک نام متغیر می تواند شامل رقم باشد ، اولین کاراکتر یک نام متغیر نمی تواند یک رقم باشد.

توجه: یکی از موارد اضافه شده به پایتون۳ پشتیبانی کامل از یونیکد بود که به شما اجازه می دهد نویسه های یونیکد با یک نام متغیر نیز ارائه شوند. در یک آموزش بعدی با عمق بیشتر با یونیکد آشنا خواهید شد.

مطالب مرتبط

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

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