تاپلها همیشه immutable نیستند!
قالب ما tupleها رو یک دیتااستراکچر immutable یا تغییر ناپذیر میشناسیم. immutable یعنی اگر یک تایپ ساخته بشه هیچ وقت قابل تغییر نخواهد بود.
یا تغریف دیکنشنری:
unchanging over time or unable to be changed.
در پایتون هم اگر شما یک tuple رو یک بار تعریف کنید دیگه قابل تغییر نیست. برای مثال:
خب پس تاپل غیر قابل تغییر. اما یک نکته مهم درباره غیر قابل تغییر بودن تاپل ها وجود داره و اونم اینه که با اینکه خود تاپل غیر قابل تغییر یا immutble هست محتوا داخل اون قابل تغییر D:
به این مثال دقت کنید:
همینطور که میبینید ما تونستیم محتوا لیستی که داخل این تاپل بود تغییر بدیم. پس اگر یک دیتا تایپ mutable داخل تاپل داشته باشیم تاپل ما میتونه تغییر کنه. اما سایز یا lenght تاپل هیچ وقت تغییر نمیکنه.
تمام اینها به یک نکته جالب میرسه. ما میدونیم تنها چیزهایی میتونن hash بشند در پایتون که غیر قابل تغییر باشن و تنها چیزهایی که میتونن hash بشند میتونن به عنوان کلید یک دیکشنری استفاده بشن. برای مثال:
اما اگر ما از یک mutable داخل این تایپل استفاده کنیم از اونجایی که این تاپیل حالا میتونه تغییر پیدا کنه قابل hash شدن نیست و در نتیجه نمیتونه به عنوان کلید دیکششنری استفاده بشه:
این نکته گاهی میتونه به slient bug برسه و یک جایی به مشکل بخوره D:
@TorhamDevCH
قالب ما tupleها رو یک دیتااستراکچر immutable یا تغییر ناپذیر میشناسیم. immutable یعنی اگر یک تایپ ساخته بشه هیچ وقت قابل تغییر نخواهد بود.
یا تغریف دیکنشنری:
unchanging over time or unable to be changed.
در پایتون هم اگر شما یک tuple رو یک بار تعریف کنید دیگه قابل تغییر نیست. برای مثال:
>>> a = (1, 2, 3)
>>> a[1]="new value"
Traceback (most recent call last):
File "<python-input-3>", line 1, in <module>
a[1]="new value"
~^^^
TypeError: 'tuple' object does not support item assignment
>>>
خب پس تاپل غیر قابل تغییر. اما یک نکته مهم درباره غیر قابل تغییر بودن تاپل ها وجود داره و اونم اینه که با اینکه خود تاپل غیر قابل تغییر یا immutble هست محتوا داخل اون قابل تغییر D:
به این مثال دقت کنید:
>>> a = (1, 2, ["first"])
>>> a
(1, 2, ['first'])
>>> a[2].append("second")
>>> a
(1, 2, ['first', 'second'])
>>>
همینطور که میبینید ما تونستیم محتوا لیستی که داخل این تاپل بود تغییر بدیم. پس اگر یک دیتا تایپ mutable داخل تاپل داشته باشیم تاپل ما میتونه تغییر کنه. اما سایز یا lenght تاپل هیچ وقت تغییر نمیکنه.
تمام اینها به یک نکته جالب میرسه. ما میدونیم تنها چیزهایی میتونن hash بشند در پایتون که غیر قابل تغییر باشن و تنها چیزهایی که میتونن hash بشند میتونن به عنوان کلید یک دیکشنری استفاده بشن. برای مثال:
>>> a = (1, 2)
>>> {a:"a as the key"}
{(1, 2): 'a as the key'}
>>>
اما اگر ما از یک mutable داخل این تایپل استفاده کنیم از اونجایی که این تاپیل حالا میتونه تغییر پیدا کنه قابل hash شدن نیست و در نتیجه نمیتونه به عنوان کلید دیکششنری استفاده بشه:
>>> a = (1, [2, 3])
>>> {a: "a as the key"}
Traceback (most recent call last):
File "<python-input-14>", line 1, in <module>
{a: "a as the key"}
TypeError: unhashable type: 'list'
>>>
این نکته گاهی میتونه به slient bug برسه و یک جایی به مشکل بخوره D:
@TorhamDevCH
❤10👍4🔥2🖕1
TorhamDev | تورهام 😳 pinned «تاپلها همیشه immutable نیستند! قالب ما tupleها رو یک دیتااستراکچر immutable یا تغییر ناپذیر میشناسیم. immutable یعنی اگر یک تایپ ساخته بشه هیچ وقت قابل تغییر نخواهد بود. یا تغریف دیکنشنری: unchanging over time or unable to be changed. در پایتون هم اگر…»
بچهها دوره ماشینلرنینگ خوب سراغ ندارید؟ دوره ای که دیده باشید و به نظرتون خیلی خوب بوده.
❤6👎2🖕2
بعد از تقریبا ۱۲ روز تعداد اندکی از آدمها تونستن وصل بشن، من هم با اینترنتی که معلوم نیست تا ثانیهی دیگه وصل هست یا نه مینویسم.
آسیب وحشتناکی که به کسب و کارها و روان جامعه وارد شد و کسی اندکی دربارش ابراز ناراحتیهم نکرد. موج بزرگ تعدیل شرکتهای فناوری در پایان سال به خاطر این خاموشی ارتباط در ایران که کسی براش ابراز ناراحتی نخواهد کرد. موج بزرگ مهاجرت که از همینالان شروع شده و آدمهایی که برای داشتن یکی از پایهترین حقوق انسانی یعنی ارتباط از کشور و محل تولدشون مهاجرت میکنن که قطعا کسی براش مهم نخواهد بود.
قبلا میگفتیم به امید اینترنت آزاد، حالا باید گفت به امید ارتباط آزاد چون حالا حتی پیامک و تماس هم مدت طولانی گرفته شد.
آسیب وحشتناکی که به کسب و کارها و روان جامعه وارد شد و کسی اندکی دربارش ابراز ناراحتیهم نکرد. موج بزرگ تعدیل شرکتهای فناوری در پایان سال به خاطر این خاموشی ارتباط در ایران که کسی براش ابراز ناراحتی نخواهد کرد. موج بزرگ مهاجرت که از همینالان شروع شده و آدمهایی که برای داشتن یکی از پایهترین حقوق انسانی یعنی ارتباط از کشور و محل تولدشون مهاجرت میکنن که قطعا کسی براش مهم نخواهد بود.
قبلا میگفتیم به امید اینترنت آزاد، حالا باید گفت به امید ارتباط آزاد چون حالا حتی پیامک و تماس هم مدت طولانی گرفته شد.
👍14❤3😭3💔1
۳ ساعت تا رسیدن به ۲۸۰ ساعت خاموشی اینترنت در ایران، یک ملت که از دنیای اینترنت حذف شدن.
ساعت شمار خاموشی اینترنت ایران:
etchamber.ir
ساعت شمار خاموشی اینترنت ایران:
etchamber.ir
البته باید این رو هم در نظر داشت باشیم که یکسری در این زمان قطعی کاملا وصل بودن، برخی از خبرگزاریهای انتخابی و برخی از دانشگاهها کشور. جالب بدونید در دورانی که کشور به اینترنت دسترسی نداشت و ملت ایران در خاموشی به سر میبردن دوستان در دانشگاه شریف با دانشگاه بغداد کنفرانس در بستر گوگلمیت برگذار کردن در باب هوش مصنوعی!
میتونید خبرهای کامل رو در این ویدیو از دیجیاتو ببینید:
https://aparat.com/v/baq2r1m
میتونید خبرهای کامل رو در این ویدیو از دیجیاتو ببینید:
https://aparat.com/v/baq2r1m
💔8👍3🖕3
TorhamDev | تورهام 😳 pinned «۳ ساعت تا رسیدن به ۲۸۰ ساعت خاموشی اینترنت در ایران، یک ملت که از دنیای اینترنت حذف شدن. ساعت شمار خاموشی اینترنت ایران: etchamber.ir»
خاموشی اینترنت ایران وارد ساعت ۳۰۰ام خودش شد!
https://etchamber.ir
یکسری خبر هم بوده که تا آخر هفته متصل میشه اما کدوم هفته کسی نمیدونه :)
و همچنین خیلیها معتقدند که اینترنت دیگر هیچ وقت به حالت قبل خاموشی برنخواهد گشت و محدودهای خیلی شدیدتر اعمال خواهد شد و بجای black list داشتن قرار همهچیز بسته باشه و بجاش چندتا وبسایت و پلتفرمهای انتخابی white list بشند. همچنین یکسری خبر هم هست درباره شرکتهایی که مجوز گرفتن برای دسترسی به اینترت آزاد که دقیقا همون اینترنت طبقاتی خواهد بود.
حالا باید منتظر بمونیم آخر یکی از هفتهها وصل بشه ببینیم چی قرار اصلا وصل بشه :)
https://etchamber.ir
یکسری خبر هم بوده که تا آخر هفته متصل میشه اما کدوم هفته کسی نمیدونه :)
و همچنین خیلیها معتقدند که اینترنت دیگر هیچ وقت به حالت قبل خاموشی برنخواهد گشت و محدودهای خیلی شدیدتر اعمال خواهد شد و بجای black list داشتن قرار همهچیز بسته باشه و بجاش چندتا وبسایت و پلتفرمهای انتخابی white list بشند. همچنین یکسری خبر هم هست درباره شرکتهایی که مجوز گرفتن برای دسترسی به اینترت آزاد که دقیقا همون اینترنت طبقاتی خواهد بود.
حالا باید منتظر بمونیم آخر یکی از هفتهها وصل بشه ببینیم چی قرار اصلا وصل بشه :)
😭4
TorhamDev | تورهام 😳 pinned «خاموشی اینترنت ایران وارد ساعت ۳۰۰ام خودش شد! https://etchamber.ir یکسری خبر هم بوده که تا آخر هفته متصل میشه اما کدوم هفته کسی نمیدونه :) و همچنین خیلیها معتقدند که اینترنت دیگر هیچ وقت به حالت قبل خاموشی برنخواهد گشت و محدودهای خیلی شدیدتر اعمال خواهد…»
۳۵۰ ساعت از خاموشی اینترنت ایران گذشت، پس از ۳۵۰ ساعت برخی وبسایتها از محدودت خارج شده ان، این به معنا اتصال مجدد اینترنت ایران نیست بلکه صرفا برخی سایتهای انتخابی باز شده ان.
پس ۳۵۰ ساعت هنوز هیچ خبر رسمی مبنی بر زمان اتصال اینترنت ایران منتشر نشده است.
ساعت شمار خاموشی اینترنت ایران:
https://etchamber.ir/
پس ۳۵۰ ساعت هنوز هیچ خبر رسمی مبنی بر زمان اتصال اینترنت ایران منتشر نشده است.
ساعت شمار خاموشی اینترنت ایران:
https://etchamber.ir/
👍5❤1