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

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

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

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

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

خط زیر خط اول: “_var”

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

وقتی به نام متغیرها و متدها می‌رسد، پیشوند واحد under score فقط بر اساس قرارداد معنی دارد. این یک اشاره به برنامه نویس – به این معنی است که جامعه پایتون با آن موافق است پیشوند زیر خط به عنوان یک اشاره به برنامه نویس دیگر است که متغیر یا روشی در نظر گرفته شده است که با یک زیرخط شروع می شود برای استفاده داخلی این قرارداد در PEP 8، رایج ترین راهنمای سبک کد پایتون، تعریف شده است. با این حال، این قرارداد توسط مفسر پایتون اجرا نمی شود. معنی دارد، اما بر رفتار برنامه های شما تأثیر نمی گذارد. متغیرهای عمومی مانند جاوا.اضافه کردن یک خط زیر خط در جلو پایتون تمایز قوی بین “خصوصی” و نام یک متغیر بیشتر شبیه کسی است که یک علامت هشدار کوچک در زیر خط قرار می دهد که می گوید: “هی، این واقعاً قرار نیست بخشی از به مثال زیر دقت کنید:class Test: رابط عمومی این کلاس بهتر است آن را به حال خود رها کنید.» self.foo = 11 self._bar = 23اگر این کلاس را نمونه سازی کنید و سعی کنید به آن دسترسی پیدا کنید، چه اتفاقی می افتد ویژگی های foo و _bar که در سازنده init آن تعریف شده است؟ بیایید دریابیم:>>> t = Test() def __init__(self): >>> t.foo >>> t._bar 23همانطور که می بینید، خط زیر خط پیشرو در _bar مانع نشد 11 ما از «دستیابی به» کلاس و دسترسی به مقدار آن متغیر متغیر. این به این دلیل است که پیشوند زیر خط در پایتون صرفاً یک پیشوند است نام روش ها با این حال، زیرخط های پیشرو بر نحوه نام ها تأثیر می گذارد از ماژول ها وارد شوند. تصور کنید کد زیر را در a دارید قرارداد مورد توافق – حداقل در مورد متغیر و ماژولی به نام my_module: def external_func(): # my_module.py: return 23return 42حال، اگر از یک import wildcard برای وارد کردن همه نام‌ها از آن استفاده کنید ماژول، پایتون نام‌هایی را با زیرخط اصلی وارد نمی‌کند (مگر اینکه ماژول یک لیست all تعریف کند که این رفتار را لغو کند.>>> from my_module import * def _internal_func(): >>> external_func() >>> _internal_func() 23 NameError: “name ‘_internal_func’ is not defined”به هر حال، باید از وارد کردن حروف عام اجتناب شود، زیرا مشخص نمی‌کند کدام نام‌ها در فضای نام وجود دارند. به منظور شفافیت به واردات منظم. بر خلاف واردات عام، واردات معمولی تحت تأثیر نام‌گذاری زیرخط اصلی قرار نمی‌گیرد. قرارداد:>>> my_module.external_func() >>> import my_module >>> my_module._internal_func() 23 42می دانم که در این مرحله ممکن است کمی گیج کننده باشد.

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

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

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

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

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

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

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

لینک کوتاه:
0