PYHINTS Telegram 27
Python Hints
بنظرتون خروجی print چی هست ؟ چرایی قضیه رو هم توضیح بدید ؟ اینم یک سوال مصاحبه هست؛ بخاطر اینکه به نظر گروهی از افراد خروجی عجیب یا اشتباه هست که خب نیست و طبق منطق scope بندی کلاس‌ها توی پایتون کاملا رفتار درست هست. پ.ن : اینکه میگم سوال مصاحبه منظورم این…
جواب سوال :

classScope says hello
['classScope', 'classScope', 'classScope']
['@pyHints', '@pyHints', '@pyHints']

چیزی که به نظر بعضی افراد عجیب هست رفتار متفاوت
list_1, list_2
هست؛ همینجا توضیح بدم که توابع - متد‌ها (انواع متدها منظورم هست چه
class bounded
چه
instance bounded
و حتی
static method
) همگی Scope رو از parent میگیرند توی این کد میشه global :

سوال ممکنه پیش بیاد: پس متد hello چرا داره classScope رو چاپ می‌کنه ؟
دلیلش واضح هست چون class bound method هست و خود کلاس رو بعنوان پارارمتر اول میگیره و اتفاقا چون scope خودش گلوبال هست برای دسترسی به classScope باید از cls.name استفاده کنیم.

اما مورد دوم و سوم ؛
list_1
که توی قانون بالا نیست پس scope اش مربوط به خود کلاس هست در نتیجه classScope رو چاپ می‌کنه
اما چالش سر
list_2
هست؛ دلیل اینکه
@pyHints

رو چاپ می‌کنه اینه که یک list comprehension هست و list comp چیزی نیست جز یک تابع؛ برای همین اونهایی که فکر میکنند این رفتار عجیب یا اشتباه هست مشخصا نحوه عملکرد و جزئیات پایتون رو نمی‌شناسند.


@pyHints
👍30🤯13🌚42😐1



tgoop.com/pyHints/27
Create:
Last Update:

جواب سوال :

classScope says hello
['classScope', 'classScope', 'classScope']
['@pyHints', '@pyHints', '@pyHints']

چیزی که به نظر بعضی افراد عجیب هست رفتار متفاوت
list_1, list_2
هست؛ همینجا توضیح بدم که توابع - متد‌ها (انواع متدها منظورم هست چه
class bounded
چه
instance bounded
و حتی
static method
) همگی Scope رو از parent میگیرند توی این کد میشه global :

سوال ممکنه پیش بیاد: پس متد hello چرا داره classScope رو چاپ می‌کنه ؟
دلیلش واضح هست چون class bound method هست و خود کلاس رو بعنوان پارارمتر اول میگیره و اتفاقا چون scope خودش گلوبال هست برای دسترسی به classScope باید از cls.name استفاده کنیم.

اما مورد دوم و سوم ؛
list_1
که توی قانون بالا نیست پس scope اش مربوط به خود کلاس هست در نتیجه classScope رو چاپ می‌کنه
اما چالش سر
list_2
هست؛ دلیل اینکه
@pyHints

رو چاپ می‌کنه اینه که یک list comprehension هست و list comp چیزی نیست جز یک تابع؛ برای همین اونهایی که فکر میکنند این رفتار عجیب یا اشتباه هست مشخصا نحوه عملکرد و جزئیات پایتون رو نمی‌شناسند.


@pyHints

BY Python Hints




Share with your friend now:
tgoop.com/pyHints/27

View MORE
Open in Telegram


Telegram News

Date: |

You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. Hashtags Today, we will address Telegram channels and how to use them for maximum benefit. Telegram channels fall into two types:
from us


Telegram Python Hints
FROM American