✔️ متد split و join در پایتون
فانکشن split برای تکه تکه کردن یک string بر اساس یک کاراکتر خاص استفاده میشه. در کد پایین میبینید که با استفاده از یک string خالی یا همون فاصله جمله sayhello رو تکه تکه کردیم. نتیجه به شکل یک لیست برگشت داده میشه:
فانکشن join دقیقا برعکس split کار میکنه یعنی یه آبجکت iterable گرفته و آیتم های اونو به م میچسبونه. در کد زیر یک لیست به متد join داده شده و بر اساس یک string خالی این آیتم ها را به هم میچسباند.
@Teachify | برنامه نویسی
فانکشن split برای تکه تکه کردن یک string بر اساس یک کاراکتر خاص استفاده میشه. در کد پایین میبینید که با استفاده از یک string خالی یا همون فاصله جمله sayhello رو تکه تکه کردیم. نتیجه به شکل یک لیست برگشت داده میشه:
sayhello = 'Hello teachify members'
sp = sayhello.split(' ')
print(sp)
# ['Hello', 'teachify', 'members']
فانکشن join دقیقا برعکس split کار میکنه یعنی یه آبجکت iterable گرفته و آیتم های اونو به م میچسبونه. در کد زیر یک لیست به متد join داده شده و بر اساس یک string خالی این آیتم ها را به هم میچسباند.
my_list = ['Hello', 'teachify', 'members']
j = ' '.join(my_list)
print(j)
# Hello teachify members
@Teachify | برنامه نویسی
👍3👌1
✔️ یکم قوانین کلین کد پایتون بخونیم ... PEP 8
1. اسم متغییر ها و تابع ها باید از حروف کوچیک باشد.
@Teachify | برنامه نویسی
1. اسم متغییر ها و تابع ها باید از حروف کوچیک باشد.
# Correct:2. اگر متغییری دارید که قرار است هیچوقت مقدارش را تغییر ندهید، از حروف بزرگ استفاده کنید. ( بهش میگیم constant )
user_email = ...
def find_me(): ...
def go_home(): ...
# Wrong:
UserEmail = ...
def findMe(): ...
def GoHome(): ...
# Correct:3. اسم کلاس هارو با به صورت CapWord بنویسید(اول کلمات حرف بزرگ):
NO_CHANGE = 5
# Wrong:
NoChange = 5
no_change = 5
# Correct:4. سعی نکنید همه چیز را در یک خط جا دهید.
class MyClassName: ...
# Wrong:
class my_class_name: ...
# Correct:5. وقتی میخواید خالی بودن لیستی چیزی رو چک کنین، از len استفاده نکنید.
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
# Wrong:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
# Correct:
if not seq:
if seq:
# Wrong:
if len(seq):
if not len(seq):
@Teachify | برنامه نویسی
👍9
✔️ یک مثال برای مدیریت خطا در پایتون
مدیریت خطا بخش مهمی از برنامه نویسی است که به شما امکان می دهد با خطاها و مشکلات غیر منتظره ای که در حین اجرای برنامه شما رخ می دهد، برخورد کنید. در پایتون، از کلمات کلیدی try، except، else و finally برای مدیریت خطا استفاده می شود.
کلمه کلیدی try بلوکی از کد را مشخص می کند که ممکن است خطایی ایجاد کند.
کلمه کلیدی except برای مشخص کردن نوع خطایی که می خواهید catch کنید و کدی که می خواهید در صورت وقوع آن خطا اجرا شود، استفاده می شود.
کلمه کلیدی else برای اجرای کدی در صورتی که هیچ خطایی در بلوک try رخ ندهد، استفاده می شود.
کلمه کلیدی finally برای اجرای کدی صرف نظر از اینکه خطایی رخ داده باشد یا خیر، استفاده می شود.
در این مثال، کد داخل بلوک try سعی می کند سن کاربر را به عنوان یک عدد صحیح دریافت کند. اگر سن کاربر کمتر از 18 سال باشد، یک ValueError ایجاد می شود. اگر هر خطای دیگری رخ دهد، یک Exception ایجاد می شود. کد داخل بلوک except پیام خطای مناسب را چاپ می کند. کد داخل بلوک finally صرف نظر از اینکه خطایی رخ داده باشد یا خیر، اجرا می شود.
@Teachify | برنامه نویسی
مدیریت خطا بخش مهمی از برنامه نویسی است که به شما امکان می دهد با خطاها و مشکلات غیر منتظره ای که در حین اجرای برنامه شما رخ می دهد، برخورد کنید. در پایتون، از کلمات کلیدی try، except، else و finally برای مدیریت خطا استفاده می شود.
کلمه کلیدی try بلوکی از کد را مشخص می کند که ممکن است خطایی ایجاد کند.
کلمه کلیدی except برای مشخص کردن نوع خطایی که می خواهید catch کنید و کدی که می خواهید در صورت وقوع آن خطا اجرا شود، استفاده می شود.
کلمه کلیدی else برای اجرای کدی در صورتی که هیچ خطایی در بلوک try رخ ندهد، استفاده می شود.
کلمه کلیدی finally برای اجرای کدی صرف نظر از اینکه خطایی رخ داده باشد یا خیر، استفاده می شود.
try:
age = int(input("سن خود را وارد کنید: "))
if age < 18:
raise ValueError("شما باید حداقل 18 سال سن داشته باشید.")
print(f"شما {age} سال سن دارید.")
except ValueError as e:
print(f"خطا: {e}")
except Exception as e:
print(f"خطای غیرمنتظره: {e}")
finally:
print("برنامه به پایان رسید.")
در این مثال، کد داخل بلوک try سعی می کند سن کاربر را به عنوان یک عدد صحیح دریافت کند. اگر سن کاربر کمتر از 18 سال باشد، یک ValueError ایجاد می شود. اگر هر خطای دیگری رخ دهد، یک Exception ایجاد می شود. کد داخل بلوک except پیام خطای مناسب را چاپ می کند. کد داخل بلوک finally صرف نظر از اینکه خطایی رخ داده باشد یا خیر، اجرا می شود.
@Teachify | برنامه نویسی
👍14
✔️ خطا ها در زبان پایتون
▪️در زبان پایتون، خطاها به دو دسته تقسیم میشوند: خطاهای معمولی (Exceptions) و خطاهای زمان اجرا (Runtime Errors). اینجا چند خطا اصلی همراه با معانیشان آمده است:
1. خطای (SyntaxError): زمانی رخ میدهد که کد نوشته شده با قواعد زبان پایتون مغایرت داشته باشد.
2. خطای فاصله گذاری (IndentationError): وقتی فاصلهگذاری در کد ناقص یا نادرست باشد.
3. خطای (NameError): وقتی یک نام متغیر یا فراخوانی وجود نداشته باشد.
4. خطای (TypeError): وقتی عملیاتی روی نوع اشیاء نامناسب باشد.
5. خطای (IndexError): وقتی شاخصی برای دسترسی به یک عنصر در یک لیست یا رشته وجود نداشته باشد.
6. خطای (ValueError): زمانی اتفاق میافتد که یک عملیات با یک مقدار نامناسب انجام شود.
7. خطای (KeyError): وقتی یک کلید در یک دیکشنری وجود نداشته باشد.
8. خطای (FileNotFoundError): وقتی یک پرونده مورد نظر برای عملیات فایل مورد نظر پیدا نشود.
9. خطای (ModuleNotFoundError): وقتی یک ماژولی که قرار استفاده شود پیدا نشود.
10. خطای (ZeroDivisionError): وقتی تلاش برای تقسیم عددی بر صفر انجام شود.
@Teachify | برنامه نویسی
▪️در زبان پایتون، خطاها به دو دسته تقسیم میشوند: خطاهای معمولی (Exceptions) و خطاهای زمان اجرا (Runtime Errors). اینجا چند خطا اصلی همراه با معانیشان آمده است:
1. خطای (SyntaxError): زمانی رخ میدهد که کد نوشته شده با قواعد زبان پایتون مغایرت داشته باشد.
2. خطای فاصله گذاری (IndentationError): وقتی فاصلهگذاری در کد ناقص یا نادرست باشد.
3. خطای (NameError): وقتی یک نام متغیر یا فراخوانی وجود نداشته باشد.
4. خطای (TypeError): وقتی عملیاتی روی نوع اشیاء نامناسب باشد.
5. خطای (IndexError): وقتی شاخصی برای دسترسی به یک عنصر در یک لیست یا رشته وجود نداشته باشد.
6. خطای (ValueError): زمانی اتفاق میافتد که یک عملیات با یک مقدار نامناسب انجام شود.
7. خطای (KeyError): وقتی یک کلید در یک دیکشنری وجود نداشته باشد.
8. خطای (FileNotFoundError): وقتی یک پرونده مورد نظر برای عملیات فایل مورد نظر پیدا نشود.
9. خطای (ModuleNotFoundError): وقتی یک ماژولی که قرار استفاده شود پیدا نشود.
10. خطای (ZeroDivisionError): وقتی تلاش برای تقسیم عددی بر صفر انجام شود.
@Teachify | برنامه نویسی
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ این دیگه چه سمی بود :))))
معلم: بهترین راه برای یادگیری یک زبان صحبت با فردی بومی است.
کسی که داره پایتون یاد میگیره:
#fun
@Teachify | برنامه نویسی
معلم: بهترین راه برای یادگیری یک زبان صحبت با فردی بومی است.
کسی که داره پایتون یاد میگیره:
#fun
@Teachify | برنامه نویسی
🤣25👍2
✔️ موضوع Monkey Patching در پایتون چیست؟
پایتون یک زبان برنامهنویسی پویاست و این یعنی میشه رفتار کد رو حین اجرا تغییر داد. Monkey Patching یه تکنیکیه که بهمون اجازه میده تا کلاسها و ماژولها رو حین اجرا تغییر بدیم.
مثل اینکه بخواهیم تو کار یه ماشین دستکاری کنیم وقتی که داره کار میکنه!
به مثال زیر دقت کنید:
تو این مثال یه کلاس monkey با یه متد patch ساختیم. یه تابع دیگه هم به اسم monk_p بیرون از کلاس تعریف کردیم. حالا با جایگزین کردن monkey.patch با monk_p تونستیم رفتار patch رو تغییر بدیم.
جالبه که وقتی یه آبجکت از کلاس monkey درست میکنیم و متد patch رو صدا میزنیم، خروجی monk_p رو می بینیم. این یعنی با Monkey Patching تونستیم رفتار کد رو حین اجرا تغییر بدیم.
@Teachify | برنامه نویسی
پایتون یک زبان برنامهنویسی پویاست و این یعنی میشه رفتار کد رو حین اجرا تغییر داد. Monkey Patching یه تکنیکیه که بهمون اجازه میده تا کلاسها و ماژولها رو حین اجرا تغییر بدیم.
مثل اینکه بخواهیم تو کار یه ماشین دستکاری کنیم وقتی که داره کار میکنه!
به مثال زیر دقت کنید:
class monkey:
def patch(self):
print("patch() is being called")
def monk_p(self):
print("monk_p() is being called")
# جایگزین کردن patch با monk_p
monkey.patch = monk_p
obj = monkey()
obj.patch() # monk_p() is being called
تو این مثال یه کلاس monkey با یه متد patch ساختیم. یه تابع دیگه هم به اسم monk_p بیرون از کلاس تعریف کردیم. حالا با جایگزین کردن monkey.patch با monk_p تونستیم رفتار patch رو تغییر بدیم.
جالبه که وقتی یه آبجکت از کلاس monkey درست میکنیم و متد patch رو صدا میزنیم، خروجی monk_p رو می بینیم. این یعنی با Monkey Patching تونستیم رفتار کد رو حین اجرا تغییر بدیم.
@Teachify | برنامه نویسی
👍6👌1
✔️ عبارت with در پایتون برای چی استفاده میشه؟
عبارت
فرض کنید میخواین یه فایل متنی بسازین و توش بنویسین. بجای اینکه چند خط کد برای باز کردن فایل، بلاک
مثال:
تو این مثال، با استفاده از
نکته مهم اینه که بعد از تموم شدن کار با فایل، دیگه نیازی نیست اون رو به صورت دستی ببندیم. چون عبارت
@Teachify | برنامه نویسی
عبارت
with تو پایتون برای مدیریت استثنا (exception handling) و تمیزتر کردن کد به کار میره. معمولا ازش برای کنترل منابع رایج مثل ساختن، ویرایش و ذخیره کردن فایل استفاده میشه.فرض کنید میخواین یه فایل متنی بسازین و توش بنویسین. بجای اینکه چند خط کد برای باز کردن فایل، بلاک
try-except-finally و بستن فایل بنویسین، میتونین با یه خط از عبارت with این کار رو انجام بدین. خیلی ساده است!مثال:
# با with statement
with open('myfile.txt', 'w') as file:
file.write('DataCamp Black Friday Sale!!!')
تو این مثال، با استفاده از
with یه فایل به اسم myfile.txt رو باز کردیم و حالت اون رو روی نوشتن (w) قرار دادیم. بعدش با file.write یه متن داخلش نوشتیم.نکته مهم اینه که بعد از تموم شدن کار با فایل، دیگه نیازی نیست اون رو به صورت دستی ببندیم. چون عبارت
with خودش موقع خروج از بلاک، فایل رو میبنده. این باعث میشه کد تمیزتر و خطای کمتری داشته باشیم.@Teachify | برنامه نویسی
👍7
✔️ روز معلم به اون عزیزانی که توی یاد دادن یک چیز مفید و خوب به بقیه کم نمیذارن و همیشه به طرف مقابلشون دید و هدف میدن مبارک❤️
@Teachify | برنامه نویسی
@Teachify | برنامه نویسی
👍17❤7
✔️ دامین های مهندسی نرم افزار
System Software:
نوشتن نرم افزار های سیستم مانند Compiler که اشخصاصی با این تخصص نسبتا کم هستند و درآمد های بالایی نیز دارند.
Application Software:
توسعه و ساخت نرم افزار هایی اپلیکیشنی مثل Office
Engineering/Scientific Software:
نرم افزار های مهندسی و عملی مانند matlab که نیاز این دسته از افراد را فراهم می کند.
Embedded Software:
نوشتن نرم افزار برای Embedded ها مانند مایکروفر و ... یکی از مثال ها اینترنت اشیا هست.
Product line Software:
نرم افزار هایی که تولید می شوند و بر اساس نیاز کاربر شخصی سازی می شوند. مانند Wordpress
Web/Mobile Software:
این دسته را فکر میکنم بخوبی آشنا هستید. مانند برنامه های اندروید و ios و ...
Artificial Intelligence Software:
مانند DeepFake
بجز این دامین ها کلی دامین دیگر هم داریم که به آنها اشاره نمیکنم.
@Teachify | برنامه نویسی
System Software:
نوشتن نرم افزار های سیستم مانند Compiler که اشخصاصی با این تخصص نسبتا کم هستند و درآمد های بالایی نیز دارند.
Application Software:
توسعه و ساخت نرم افزار هایی اپلیکیشنی مثل Office
Engineering/Scientific Software:
نرم افزار های مهندسی و عملی مانند matlab که نیاز این دسته از افراد را فراهم می کند.
Embedded Software:
نوشتن نرم افزار برای Embedded ها مانند مایکروفر و ... یکی از مثال ها اینترنت اشیا هست.
Product line Software:
نرم افزار هایی که تولید می شوند و بر اساس نیاز کاربر شخصی سازی می شوند. مانند Wordpress
Web/Mobile Software:
این دسته را فکر میکنم بخوبی آشنا هستید. مانند برنامه های اندروید و ios و ...
Artificial Intelligence Software:
مانند DeepFake
بجز این دامین ها کلی دامین دیگر هم داریم که به آنها اشاره نمیکنم.
@Teachify | برنامه نویسی
👍10
✔️ معرفی پلتفرم Codapi، برای آموزش و مستند سازی
میتونید کد بنویسد و همانجا اجرا کند🔥
https://codapi.org
همه چی هم داره programming ، databases، network و ...
https://github.com/nalgeon/codapi
@Teachify | برنامه نویسی
میتونید کد بنویسد و همانجا اجرا کند🔥
https://codapi.org
همه چی هم داره programming ، databases، network و ...
https://github.com/nalgeon/codapi
@Teachify | برنامه نویسی
👍2