عـــلـے | Ali.N
200 subscribers
28 photos
8 files
12 links
Just a 20 y/o self-taught programmer in Iran, turning caffeine and chaos into clean Python. Building bots, breaking limits.
Download Telegram
زن گرفتم شدم ای دوست به دام زن اسیر
من گرفتم تو نگیر

چه اسیری که ز دنیا شده‌ام یکسره سیر
من گرفتم تو نگیر

بود یک وقت مرا با رفقا گردش و سیر
یاد آن روز بخیر

زن مرا کرده میان قفس خانه اسیر
من گرفتم تو نگیر

یاد آن روز که آزاد ز غم‌ها بودم
تک و تنها بودم

زن و فرزند ببستند مرا با زنجیر
من گرفتم تو نگیر

بودم آن روز من از طایفه دُرد کشان
بودم از جمع خوشان

خوشی از دست برون رفت و شدم لات و فقیر
من گرفتم تو نگیر

ای مجرد که بود خوابگه‌ات بستر گرم
بستر راحت و نرم

زن مگیر، ار نه شود خوابگه‌ات لای حصیر
من گرفتم تو نگیر

بنده زن دارم و محکوم به حبس ابدم
مستحق لگدم

چون در این مسئله بود از خود مخلص تقصیر
من گرفتم تو نگیر

من از آن روز که شوهر شده‌ام خر شده‌ام
خر همسر شده‌ام

می‌دهد یونجه به من جای پنیر
من گرفتم تو نگیر

'ایرج میرزا'
🤣8🌚3👏1
روزگار سرد
می دانی دل من
از چه سوخت؟

هر که را در شهر دیدم
هیزم تر می فروخت

'متین شریفی'
💔6🕊1
تابع داخلی (built-in function) isinstance چیه و چه کاربردی داره؟


تابع isinstance برای بررسی نوع (type) یک مقدار استفاده می‌شه ، این تابع بررسی می‌کنه که آیا یک متغیر، نمونه‌ای (instance) از یک نوع مشخص هست یا نه

ساختار کلی:

isinstance(object, classinfo)


مقداری که می‌خواهیم نوع آن را بررسی کنیم: object

نوع (یا انواع) مورد انتظار: classinfo

مثال:
def validate(value):
if isinstance(value, int):
return True
return False


در این تابع:

اگر value از نوع int باشه ، مقدار True برمی‌گرده
در غیر این صورت False

خروجی‌ها:
print(validate(1))     # True


عدد 1 از نوع int هست ، پس نتیجه True می‌شه

print(validate('1'))   # False


رشته '1' از نوع str هست ، نه int، پس False برمی‌گرده

print(validate(2))     # True


عدد 2 هم از نوع int هست ، بنابراین خروجی True هستش

نکته مهم:
برخلاف مقایسه مستقیم نوع با
type(value) == int
استفاده از isinstance بهتر و استانداردتر هست


چون:

* از وراثت (inheritance) پشتیبانی می‌کند
* خواناتر و منعطف‌تر است

مثال تکمیلی (چند نوع)

isinstance(value, (int, float))


در این حالت اگر value عدد صحیح یا اعشاری باشد، نتیجه True خواهد بود.
❤9
شاید برات سؤال پیش بیاد که چرا تو پایتون این کد:

isinstance(True, int)

خروجیش True می‌شه، در حالی که داریم مقدار بولی می‌دیم

دلیلش مشخصه:
تو پایتون، bool از int ارث‌بری می‌کنه.

یعنی ساختار کلی به این شکله:
int
└── bool


به خاطر همین:

* مقدار True برابر میشه با 1
* مقدار False برابر میشه با 0

و استفاده ازشون تو محاسبات عددی کاملاً طبیعیه:

True + True     # 2
False + True # 1


تابع isinstance موقع بررسی نوع، وراثت رو هم در نظر می‌گیره

پس وقتی می‌پرسه ، آیا True یک int هست یا نه؟
جوابش می‌شه بله

خود پایتون هم اینو تأیید می‌کنه:

issubclass(bool, int)  # True


نکته‌ی دیگه اینه که از نظر پیاده‌سازی و حافظه هم، bool عملاً روی همون زیرساخت int ساخته شده

یعنی مقدار بولی یک عدد صحیح ساده‌شده‌ست، نه یک ساختار جداگانه‌ی مستقل. این هم یکی از دلایلیه که bool زیرکلاس int شده


اگه بخوای فقط عدد صحیح خالص قبول کنی و بولین رد بشه، می‌تونی این‌طوری چک کنی:

type(value) is int

یا:
isinstance(value, int) and not isinstance(value, bool)


جمع‌بندی:

این رفتار نه باگه نه اتفاقی؛ یک تصمیم طراحی آگاهانه تو پایتونه تا بولین‌ها بتونن راحت تو محاسبات عددی استفاده بشن
❤8🔥3👏2👍1
به صد یلدا الهی زنده باشی
انار وسیب وانگورخورده باشی

اگریلدای دیگرمن نباشم
تو باشی وتو باشی وتو باشی

یلداتون مبارک ❤️🥰
❤11🥰2
برایت بی‌الف خواهم فقط فردای بهتر را
تو اما آرزو کردی جهانم بی‌الف باشد
💔6🕊4
سحر با باد می‌گفتم حدیث آرزومندی
خطاب آمد که «واثق شو، به الطاف خداوندی»

دعای صبح و آهِ شب، کلید گنج مقصود است
بدین راه و روش می‌رو، که با دلدار پیوندی

قلم را آن زبان نَبوَد، که سرِّ عشق گوید باز
ورای حدّ تقریر است، شرح آرزومندی

الا ای یوسف مصری که کردت سلطنت مغرور!
پدر را باز پرس آخر، کجا شد مِهرِ فرزندی؟

جهان، پیر رعنا را، ترحّم در جِبِلَّت نیست
ز مِهر او چه می‌پرسی؟ در او همّت چه می‌بندی؟

همایی چون تو عالی‌قدر، حرص استخوان تا کی؟
دریغ آن سایهٔ همّت، که بر نااهل افکندی

در این بازار اگر سودی‌ست، با درویش خرسند است
خدایا منعَمم گردان به درویشی و خرسندی

به شعر حافظِ شیراز می‌رقصند و می‌نازند
سیه‌چشمان کشمیری و تُرکان سمرقندی


'حافظ'
❤11👏1
مدیونین فکر کنین قالب زدم 🙄
🤣10🔥6❤1
هیچ وقت یادم نمیره

تازه با SQLite آشنا شده بودم ، اومدم ی کلاس واسه مدیریت دیتابیس پروژم نوشتم
اسم فایل دیتابیس database.db و ماژول هم database.py بود

وقتی که کلاس تموم شده بود و متدهاشو تست کردم دیدم همه چیز آمادس برم سراغ فاز بعدی پروژه ، اومدم database.db رو که حاوی اطلاعات تستی بود رو پاک کنم

اشتباهی زدم database.py رو پاک کردم 🫩

خیلی درد داشت ( چون اون موقع من روی گوشی کدنویسی میکردم و دکمه غلط کردم (Control Z) وجود نداشت
🤣9💔3❤1😨1
💔9🥰3
باغبان در را نبند من فرد گلچین نیستم
من اسیر یک گلم دنبال هرگل نیستم

'دکتر شریعتی'
❤7🕊3❤‍🔥1
 

خبر مرگ مرا هر کسی آورد بخند
زندہ ام می کند آخر خبر خندہ تـــو


'حسین صیامی'
😢7🥰2👎1
🌚6👍2🔥2
#چالش #python

با استفاده از ماژول jdatetime تابعی بنویسید که خروجی مانند زیر تولید کند

امروز چهارشنبه ، 17 دی ماه سال 1404 ، ساعت 15:39:54 است


🧑‍💻 کدتون رو زیر این پست کامنت کنید
عـــلـے | Ali.N
#چالش #python با استفاده از ماژول jdatetime تابعی بنویسید که خروجی مانند زیر تولید کند امروز چهارشنبه ، 17 دی ماه سال 1404 ، ساعت 15:39:54 است 🧑‍💻 کدتون رو زیر این پست کامنت کنید
کدی که انتظار می‌ره اینه:
import jdatetime

now = jdatetime.datetime.now()

text = 'امروز {} ، {} {} ماه سال {} ساعت {}:{}:{} است'
text = text.format(
now.jweekday(),
now.day, # روز
now.jmonth(), # ماه جلالی
now.year, # سال
now.hour, # ساعت
now.minute, # دقیقه
now.second # ثانیه
)

اما خروجی این کد:
امروز Wednesday ، 17 Dey ماه سال 1404 ساعت 19:51:1 است
عـــلـے | Ali.N
کدی که انتظار می‌ره اینه: import jdatetime now = jdatetime.datetime.now() text = 'امروز {} ، {} {} ماه سال {} ساعت {}:{}:{} است' text = text.format( now.jweekday(), now.day, # روز now.jmonth(), # ماه جلالی now.year, # سال…
کدی که یکی از دوستان نوشته:
import jdatetime

def f_date():
now = jdatetime.datetime.now()

days = ["شنبه", "یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه"]
months = ["فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور",
"مهر", "آبان", "آذر", "دی", "بهمن", "اسفند"]

day_name = days[now.weekday()]
month_name = months[now.month - 1]

message = f"امروز {day_name} ، {now.day} {month_name} ماه سال {now.year} ، ساعت {now.hour:02d}:{now.minute:02d}:{now.second:02d} است"

return message

print(f_date())

از راه حل جایگزین استفاده کرده
❤6🐳1
عـــلـے | Ali.N
کدی که یکی از دوستان نوشته: import jdatetime def f_date(): now = jdatetime.datetime.now() days = ["شنبه", "یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه"] months = ["فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", …
ولی چرا گره ای که با دست باز میشه رو با دندون باز کنیم؟

اگه یه سری به سورس ماژول jdatetime بزنیم متوجه میشیم ، چرا خروجی کد چیزی که انتظارش رو داریم نیست

مشکل از ست شدن لوکال هست و راه حلش هم یک خط کده!
now = now.aslocale('Persian_Iran')
🔥6👏3❤2