Programming
این شرکتای برنامه نویسی ایرانی اگه چاره داشتن پرسنل افغانی میگرفتن بجا ایرانی
مهندس نان خوشک داده کو
Programming
کد زیر رو تو هر نسخهای از پایتون ۳ که دوست دارید اجرا کنید (ترجیحا تو مفسر زنده) >>> class Test: ... def __del__(self): ... print("Deleted!") ... >>> t = Test() >>> z = t >>> z <__main__.Test object at 0x0000...> >>> del t >>> del z >>> "Test"…
جواب درست رو صاحاب کانال گفت ولی تیکه تیکه گفت من اینجا براتون خلاصه توضیح میدم:
وقتی z رو مقداردهی میکنیم، درواقع تبدیل میشه به رفرنسی از متغیر t
تو پایتون یه آبجکت پاک نمیشه تا وقتی که رفرنس هاش هم پاک بشن (این قضیه مربوط میشه به garbage collector)
وقتی همینجوری z رو داخل یه مفسر زنده وارد میکنیم، مقدار اون چیزی که وارد کردیم رو به متغیر "_" مقداردهی میکنه
همین باعث میشه که یه رفرنس دیگه ایجاد شه که با وارد کردن "Test" یا هر مقدار دیگهای تو مفسر، اون رفرنس پاک میشه و در نهایت متد
وقتی z رو مقداردهی میکنیم، درواقع تبدیل میشه به رفرنسی از متغیر t
تو پایتون یه آبجکت پاک نمیشه تا وقتی که رفرنس هاش هم پاک بشن (این قضیه مربوط میشه به garbage collector)
وقتی همینجوری z رو داخل یه مفسر زنده وارد میکنیم، مقدار اون چیزی که وارد کردیم رو به متغیر "_" مقداردهی میکنه
همین باعث میشه که یه رفرنس دیگه ایجاد شه که با وارد کردن "Test" یا هر مقدار دیگهای تو مفسر، اون رفرنس پاک میشه و در نهایت متد
__del__ اجرا میشه
Programming
یکی بیاد این خراب شده رو زنده کنه من وقت نمیکنم
یه ساله داریم زنده میکنیمش
#چالش
سطح: آسون
پ.ن: اینو احتمالا بیشترتون میدونید دلیلشو و حتی هوش مصنوعی هم میتونه بگه ولی هرکی خلاصه تر بگه فورواردش میکنم کانال
سطح: آسون
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
>>> a = 257; b = 257
>>> a is b
True
پ.ن: اینو احتمالا بیشترتون میدونید دلیلشو و حتی هوش مصنوعی هم میتونه بگه ولی هرکی خلاصه تر بگه فورواردش میکنم کانال
Programming
#چالش سطح: آسون >>> a = 256 >>> b = 256 >>> a is b True >>> a = 257 >>> b = 257 >>> a is b False >>> a = 257; b = 257 >>> a is b True پ.ن: اینو احتمالا بیشترتون میدونید دلیلشو و حتی هوش مصنوعی هم میتونه بگه ولی هرکی خلاصه تر بگه فورواردش میکنم کانال
>>> a = "test"
>>> b = "test"
>>> a is b
True
>>> a = "test!"
>>> b = "test!"
>>> a is b
False
این هم همینطور
این پکیج ۲۴ سال پیش به پایتون اضافه شده. خیلی مبهمه. معلوم نیست شوخیه یا سوتیه.
عکس سمت راست کدیه که واسه پرینت شدن متن توی عکس سمت چپ نوشته شده
اسم پکیج: this
عکس سمت راست کدیه که واسه پرینت شدن متن توی عکس سمت چپ نوشته شده
اسم پکیج: this
😁2👨💻1
Programming
این پکیج ۲۴ سال پیش به پایتون اضافه شده. خیلی مبهمه. معلوم نیست شوخیه یا سوتیه. عکس سمت راست کدیه که واسه پرینت شدن متن توی عکس سمت چپ نوشته شده اسم پکیج: this
اسم الگوریتمی که واسه مبهم سازی استفاده کرده ROT13 هست، اگه کسی دوست داشت بدونه.
Programming
#چالش سطح: آسون >>> a = 256 >>> b = 256 >>> a is b True >>> a = 257 >>> b = 257 >>> a is b False >>> a = 257; b = 257 >>> a is b True پ.ن: اینو احتمالا بیشترتون میدونید دلیلشو و حتی هوش مصنوعی هم میتونه بگه ولی هرکی خلاصه تر بگه فورواردش میکنم کانال
وقتی مفسر پایتون اجرا میشه از اعداد -5 تا 256 توی حافظه دستگاه (RAM) ذخیره میشن
این یه جور راه حل پایتون برای افزایش سرعته. هروقت بخواید یه متغیر با مقدار عددی تو این بازه درست کنید، مفسر پایتون واقعا از صفر اون متغیر رو تو حافظه درست نمیکنه چون از قبل تو حافظه یدونه ساخته و فقط متغیر شما رو رفرنسی برای متغیر اصلی خودش میکنه
به همین خاطره که:
البته پیاده سازی این سیستم بهینه سازی بسته به ورژن پایتون، نوع سیستم عامل و چیزای دیگه ممکنه متفاوت بشه و به همین خاطر کدهای زیر ممکنه نتیجه متفاوتی روی پایتون سیستم شما بده:
این یه جور راه حل پایتون برای افزایش سرعته. هروقت بخواید یه متغیر با مقدار عددی تو این بازه درست کنید، مفسر پایتون واقعا از صفر اون متغیر رو تو حافظه درست نمیکنه چون از قبل تو حافظه یدونه ساخته و فقط متغیر شما رو رفرنسی برای متغیر اصلی خودش میکنه
به همین خاطره که:
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
البته پیاده سازی این سیستم بهینه سازی بسته به ورژن پایتون، نوع سیستم عامل و چیزای دیگه ممکنه متفاوت بشه و به همین خاطر کدهای زیر ممکنه نتیجه متفاوتی روی پایتون سیستم شما بده:
>>> a, b = 257, 257
>>> a is b # python 3.7
False
>>> a is b # پیاده سازی متفاوت
True
>>> a = 257; b = 257;
>>> a is b
True
🔥1👨💻1