CleverDevs
8.44K subscribers
734 photos
283 videos
27 files
437 links
به کانال کلوردوز خوش اومدین

سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم


🔥لینوکس
🔥برنامه نویسی فرانت‌اند
🔥برنامه نویسی بک‌اند
🔥اخبار تکنولوژی و...

CleverDevs are better than other Devs
💢~> @mmdrsdev
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
ترفند ایموجی در پایتون👌
از جادی عزیز
#python
@CleverDevs
@CleverDevsGp
👍17😁2🆒2👌1
توی پایتون میتونید با استفاده از * اولین ایتم و اخرین ایتم و ایتم های وسط رو جداگانه بگیرید

#python
@CleverDevs
@CleverDevsGp
24🔥11🆒3👍21🤣1
برای دیکد و اینکد کردن متن توی پایتون میتونید از کد های زیر استفاده کنید
اینکد

import base64
encoded_data = base64.b64encode("Encode this text")
print("Encoded text with base 64 is")
print(encoded_data)

دیکد


import base64
decoded_data = base64.b64decode("RW5jb2RlIHRoaXMgdGV4dA==")
print("decoded text is ")
print(decoded_data)


by @Mer_Py
#python
@CleverDevs
@CleverDevs
👍17🤣6👌1🆒1
حالا میتونید از ریال توی کتابخانه Faker پایتون استفاده کنید

Source

#python
@CleverDevs
@CleverDevsGp
👍21
تو این پست میخوام درباره venv تو پایتون توضیح بدم

وقتی شما پایتون رو روی سیستمتون نصب میکنید کلی پکیج استاندارد هم همراهش نصب میشن ولی برای بیشتر پروژه ها شما باید یه سری پکیج های ثانویه رو هم با pip نصب کنید

وقتی پروژه هاتون پیچیده تر میشه اینکه بفهمید کدوم پکیج برا کدوم پروژه‌اس سخت تر میشه همچنین ممکنه پروژه های مختلف از ورژن های مختلف یک پکیج استفاده کنن

برای اینکه پروژه هاتون رو ساختارمند تر کنید باید برای هر پروژه یک محیط مجازی درست کنید (virtual environment ) این محیط در واقع یه کپی از پایتون اصلی نصب شده رو سیستمون هست و شما میتونید همه پکیجای مربوط به پروژتون رو اینجا نصب کنید و این پکیجا با پیکج های پروژه های دیگه تداخلی نخواهند داشت



با کامند زیر میتونید یه محیط مجازی جدید هرجا که خواستید درست کنید

python -m venv /path/to/new/virtual/environment


document:
https://docs.python.org/3/library/venv.html

#python
@CleverDevs
@CleverDevsGp
🔥8👍43🆒1
مدیریت مموری میتونه تاثیر بسزایی روی پرفورمنس اپلیکیشن شما داشته باشه .

توی پایتون شما میتونید با sys.getsizeof() ببیند هر متغیری چقدر از حافظه مموری رو اشغال کرده تا اگه متغیری مصرف بهینه ای نداشت بتونید کدتون رو اصلاح کنید و به برنامتون سرعت بدید


#python
@CleverDevs - @CleverDevsGp
👍15🔥4🆒4💯1
تو پایتون با این روش میتونید یه لیست بسازید و به تعداد دلخواه ایتم با مقدار اولیه توش بزارید


#python
@CleverDevs - @CleverDevsGp
👍18🔥4❤‍🔥21👎1
توی این پست میخوام درباره assert توی پایتون توضیح بدم

این کلیدواژه که کاربرد اصلی اون برای دیباگ کردنه
یه شرط میگیره اگه شرط true باشه شتر دیدی ندیدی اما اگه اگه شرط false باشه ارور میده و برنامه متوقف میشه

همچنین میتونید یه ارور مسیج کاستوم هم براش بزاید

Devs = "stupid"
assert Devs == "Clever","Devs must be clever"
الان تعیین کردیم که اگه Devs برابر با Clever نبود ارور بده و متن ارور رو هم بعد کاما نوشتیم


مثال توی تصویر هم یکی از کاربرد های این کلیدواژه رو نوشته مثلا وقتی شما دارید یه فروشگاه با پایتون میزنید برا قسمت کد تخفیف اینطوری میتونید چک کنید که مبلغ بعد تخفیف کمتر از صفر یا بیشتر از مبلغ اصلی نباشه وگرنه AssertionError میده


#python
@CleverDevs - @CleverDevs
🔥11👍92
یکی از بچه های چنل یه چت بات ساده با پایتون نوشته که تایتل مقاله ویکی پدیا میگیره و در باره اون مقاله ازش سوال میپرسید

گیت هاب پروژه :

https://github.com/NextProduction/42

اگه هم خواستید تستش کنید فایل theproject42 رو به عنوان نوت بوک توی colab باز کنید و کد هاشو ران کنید


// شماهم اگه پروژه ای داشتید که خواستید معرفی کنید برام بفرستید
@mmdrsdev

#python #ai

@CleverDevs - @CleverDevsGp
🔥15👍4🤣31
عبارت with توی پایتون چیه و به چه دردی میخوره؟!

‏عبارت with برای مدیریت کردن خطا بدرد میخوره و میتونه کدمون رو تمیز تر و قابل خوندن تر بکنه

مدیریت فایل ها و... رو راحت تر میکنه مثلا تو کد بالا سه تیکه کد داریم که همشون یه کار انجام میدن اما سومی هم راحت تره هم مطمئن تر مثلا برخلاف دوتای اولی تو سومی نیازی نیست file.close رو بنویسید و خود with زحمتش رو برامون میکشه

تو کد بالا قسمت اول که اصلا مستعد باگه و ولش کنید قسمت دوم اوکیه ولی خب کدمون رو سخت میکنه ولی وقتی از with استفاده کی هم باگ نداری و هم کدت اسون تره در واقع سومی در نهایت به دومی ترجمه میشه


اگه خواستید بیشتر در باره with statement بدونید مقاله زیر رو بخونید
https://www.geeksforgeeks.org/with-statement-in-python/

#python
@CleverDevs - @CleverDevsGp
👍20🔥6👎2👌1
یکی از چیزای باحالی که تو پایتون هست یه شعر به اسم  zen of python هستش که اصول کد زدن درست رو توش گفته . ذن پایتون رو  Tim Peters توی سال 2004 نوشته و تو پایتون گذاشته

برای  دیدن ذن کافیه این تیکه کد زیر رو توی پایتون بنویسید

import this


و این خروجی رو بگیرید
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
CleverDevs are better than other devs


#python | peps
@CleverDevs - @CleverDevsGp
😁26👍9👌32👎1
توی پایتون همه دیتاها با آبحکت ها یا ارتباط بین آبجکت ها نشون داده میشن ; عجب زبونیه ، همش آبجکته. چیزایی مثل list , string , function توی پایتون آبجکت هستن

بر همین اساس ما یه تابع که آبجکت هست رو میتونم مثل هر ابجکت دیگه ای بریزیم توی یه متغیر دیگه یه نگاه به این کد بندازید
def yell(text):
return text.upper() + '!'

>>> yell("cleverdevs")
CLEVERDEVS


حالا میایم این تابع رو میریزیم توی یه تابع دیگه
bark = yell

>>> bark('mammad')
MAMMAD


دیدم که فانکشن دوم هم مث اولی درست حسابی کار میکنه اما اگه بیایم فانکشن اصلی رو با کلیدواژه del پاک کنیم چی میشه ؟
>>> del yell
>>> yell('hello?')
NameError: "name 'yell' is not defined"
>>> bark('hey')
'HEY!'


حالا پایتون میاد و به هر فانکشنی که میسازید یه هویت میده که میتونید با اتریبیوت name بهش دسترسی داشته باشید


>>> bark.__name__
'yell'




همونطور که میبینید هویت فانکشن bark همون yell شد چون که دقیقا یه ابجکت رو کپی کردیم رو متغیر جدید پس اتریبیوت هاش هم تغییری نکردن
اما با اینکه name اسم فانکشن اصلی رو برمیگردونه تغییر تو نحوه صدا زدن فانکشن bark برامون ایجاد نمیشه
درواقع name برای دیباگ کردن بدرد میخوره

#python
@CleverDevs - @CleverDevsGp
👍22🔥4👌31
ارور ها نقش مهمی تو برنامه نویسی و دیباگ کردن دارن و سرعت دیباگ کردن مارو چند برابر میکنن
توی پایتون ما میتونیم کلاس های exception خودمون رو تعریف کنیم و در جای مناسب به عنوان ارور بالا ببریمش

مثلا من میام و یه exception میسازم به اسم DevIsNotCleverException و از کلاس Exception که پیشفرض توی پایتون هستت ارث بری میکنم تا هروقت خواستم تو برنامه همچین اروری باشه بالا ببرمش

class DevIsNotCleverException(Exception):
pass


برای اینکه ارور رو نشون بدیم کافیه از raise استفاده کنیم

raise DevIsNotCleverException('Dev must be Clever')


حالا اگه برنامه رو اجرا کنیم ارور DevIsNotCleverException میگیریم


این ویژگی توی پایتون برای راحت تر دیباگ کردنه پس سعی کنید حتما حتما ارور های معنی دار بسازید وگرنه کار خودتون رو سخت تر میکنید و برعکس عمل میکنید در واقع

اگه تیمی کار میکنید حتما باید یه داکیومنت برای این ارور ها داشته باشید تا همه اعضای تیم بدونن که هر اروری اومد مشکل از کجاس


و اینکه من نخواستم پست طولانی بشه و مثال ساده ای ازش زدم اگه دوست داشتید برای توضیحات بیشتر میتونید یه نگاه به این لینک بندازید (فیلتره)

https://martinxpn.medium.com/custom-exceptions-in-python-creating-custom-exceptions-59-100-days-of-python-4f26de8e851d

#python
@CleverDevs - @CleverDevsGp
👍14👌6🔥42