این نمونه کد به شما کمک می کند تا در مورد اصول پایتون بیاموزید و چالش های رایج روزمره را حل کنید.
بسیاری از برنامه نویسان پایتون را به دلیل نحو ساده و مختصر آن دوست دارند. این دستور العمل های پایتون نمونه برنامه های کوچکی هستند که می توانید از آنها برای حل مشکلات رایج روزانه استفاده کنید.
از این دستور العمل های Python با هضم آسان استفاده کنید و کارایی کدنویسی خود را به سطح بالاتری ببرید.
1. یک زیر مجموعه از یک دیکشنری استخراج کنید
می توانید زیر مجموعه ای از یک فرهنگ لغت را با استفاده از روش درک دیکشنری استخراج کنید.
test_marks = {
'Alex' : 50,
'Adam' : 43,
'Eva' : 96,
'Smith' : 66,
'Andrew' : 74
}
greater_than_60 = { key:value for key, value in test_marks.items() if value > 60 }
print(greater_than_60)
students = { 'Alex', 'Adam', 'Andrew'}
a_students_dict = { key:value for key,value in test_marks.items() if key in students }
print(a_students_dict)
خروجی:
{'Eva': 96, 'Smith': 66, 'Andrew': 74}
{'Alex': 50, 'Adam': 43, 'Andrew': 74}
2. جستجو و جایگزینی متن
شما می توانید با استفاده از متد str.replace() یک الگوی متن ساده را در یک رشته جستجو و جایگزین کنید.
str = "Peter Piper picked a peck of pickled peppers"
str = str.replace("Piper", "Parker")
print(str)
خروجی:
Peter Parker picked a peck of pickled peppers
برای الگوهای پیچیده تر، می توانید از متد sub() از کتابخانه re استفاده کنید. عبارات منظم در پایتون کار را برای الگوهای پیچیده بسیار آسان می کند.
import re
str = "this is a variable name"
result = re.sub('\s', '_', str)
print(result)
خروجی:
this_is_a_variable_name
کد بالا جای کاراکتر فضای سفید را با یک کاراکتر زیرخط جایگزین می کند.
3. عناصر دنباله فیلتر
با استفاده از درک لیست می توانید عناصر یک دنباله را با توجه به شرایط خاص فیلتر کنید.
list = [32, 45, 23, 78, 56, 87, 25, 89, 66]
# Filtering list where elements are greater than 50
filtered_list = [ele for ele in list if ele>50]
print(filtered_list)
خروجی:
[78, 56, 87, 89, 66]
4. رشته های متنی را تراز کنید
می توانید رشته های متن را با استفاده از متدهای ljust()، rjust() و center() تراز کنید. این روشها یک رشته را در میدانی با عرض معین به سمت چپ توجیه میکنند، راست-توجیه میکنند و در مرکز قرار میدهند.
str = "Python is best"
print(str.ljust(20))
print(str.center(20))
print(str.rjust(20))
خروجی:
Python is best
Python is best
Python is best
این روش ها یک کاراکتر پر اختیاری را نیز می پذیرند.
str = "Python is best"
print(str.ljust(20, '#'))
print(str.center(20, '#'))
print(str.rjust(20, '#'))
خروجی:
Python is best######
###Python is best###
######Python is best
نکته: همچنین می توانید از تابع format() برای تراز کردن رشته ها استفاده کنید.
5. رشته ها را به Datetimes تبدیل کنید
شما می توانید از متد strptime() از کلاس datetime برای تبدیل نمایش رشته ای تاریخ/زمان به یک شی date استفاده کنید.
from datetime import datetime
str = '2022-01-03'
print(str)
print(type(str))
datetime_object = datetime.strptime(str, '%Y-%m-%d')
print(datetime_object)
print(type(datetime_object))
خروجی:
2022-01-03
<class 'str'>
2022-01-03 00:00:00
<class 'datetime.datetime'>
توجه: اگر آرگومان رشته با پارامتر فرمت سازگار نباشد، متد strptime() کار نخواهد کرد.
6. یک دنباله را در متغیرهای جداگانه باز کنید
با استفاده از عملیات انتساب می توانید هر دنباله ای را در متغیرها باز کنید. این روش تا زمانی کار می کند که تعداد متغیرها و ساختار دنباله با یکدیگر مطابقت داشته باشند.
باز کردن تاپل ها
tup = (12, 23, 34, 45, 56)
a, b, c, d, e = tup
print(a)
print(d)
خروجی:
12
45
باز کردن لیست ها
list = ["Hey", 23, 0.34, (55, 76)]
a, b, c, d = list
print(a)
print(d)
خروجی:
Hey
(55, 76)
باز کردن رشته ها
str = "Hello"
ch1, ch2, ch3, ch4, ch5 = str
print(ch1)
خروجی:
H
اگر تعداد متغیرها و ساختار دنباله با هم تطابق نداشته باشند، یک خطا دریافت خواهید کرد:
list = ["Hey", 23, 0.34, (55, 76)]
a, b, c = list
خروجی:
Traceback (most recent call last):
File "unpack-list-error.py", line 2, in <module>
a, b, c = list
ValueError: too many values to unpack (expected 3)
7. توابع نوشتاری که هر تعداد آرگومان موضعی را می پذیرند
برای پذیرش هر تعداد آرگومان موقعیتی باید از آرگومان * استفاده کنید.
def sumOfElements(firstTerm, *otherTerms):
s = firstTerm + sum(otherTerms)
print(s)
sumOfElements(10, 10, 10, 10, 10)
sumOfElements(10)
sumOfElements(10, 10, 10)
خروجی:
50
10
30
8. چندین مقدار را از یک تابع برگردانید
می توانید چندین مقدار را از یک تابع با استفاده از یک تاپل، فهرست یا فرهنگ لغت برگردانید.
def returnMultipleSports():
sport1 = "football"
sport2 = "cricket"
sport3 = "basketball"
return sport1, sport2, sport3
sports = returnMultipleSports()
print(sports)
خروجی:
('football', 'cricket', 'basketball')
در مثال بالا، تابع یک تاپل برمی گرداند. می توانید تاپل را باز کنید و از مقادیر برگشتی استفاده کنید.
def returnMultipleLanguages():
language1 = "English"
language2 = "Hindi"
language3 = "French"
return [language1, language2, language3]
languages = returnMultipleLanguages()
print(languages)
خروجی:
['English', 'Hindi', 'French']
در این مثال، تابع یک لیست را برمی گرداند.
9. تکرار در معکوس
می توانید با استفاده از تابع ()reversed، تابع range() یا با استفاده از تکنیک برش، روی یک دنباله به ترتیب معکوس تکرار کنید.
تکرار در معکوس با استفاده از تابع ()reversed
list1 = [1, 2, 3, 4, 5, 6, 7]
for elem in reversed(list1):
print(elem)
خروجی:
7
6
5
4
3
2
1
تکرار در معکوس با استفاده از تابع range().
list1 = [1, 2, 3, 4, 5, 6, 7]
for i in range(len(list1) - 1, -1, -1):
print(list1[i])
خروجی:
7
6
5
4
3
2
1
تکرار به صورت معکوس با استفاده از تکنیک برش
list1 = [1, 2, 3, 4, 5, 6, 7]
for elem in list1[::-1]:
print(elem)
خروجی:
7
6
5
4
3
2
1
10. خواندن و نوشتن JSON در یک فایل
می توانید با استفاده از بسته json داخلی در پایتون با داده های JSON کار کنید.
نوشتن JSON در یک فایل
با استفاده از متد json.dump () می توانید JSON را روی یک فایل بنویسید.
import json
languages = {
"Python" : "Guido van Rossum",
"C++" : "Bjarne Stroustrup",
"Java" : "James Gosling"
}
with open("lang.json", "w") as output:
json.dump(languages, output)
با این کار یک فایل جدید به نام lang.json ایجاد می شود.
خواندن JSON از یک فایل
با استفاده از تابع json.load() می توانید JSON را از یک فایل بخوانید. این تابع داده های JSON را از یک فایل JSON در یک فرهنگ لغت بارگیری می کند.
import json
with open('lang.json', 'r') as o:
jsonData = json.load(o)
print(jsonData)
خروجی:
{'Python': 'Guido van Rossum', 'C++': 'Bjarne Stroustrup', 'Java': 'James Gosling'}
11. نوشتن روی فایلی که از قبل وجود ندارد
اگر میخواهید روی فایلی بنویسید فقط در صورتی که قبلا وجود نداشته باشد، باید فایل را در حالت x باز کنید (حالت ایجاد انحصاری).
with open('lorem.txt', 'x') as f:
f.write('lorem ipsum')
اگر فایل lorem.txt از قبل وجود داشته باشد، این کد باعث می شود پایتون یک FileExistsError پرتاب کند.
اگر می خواهید نگاهی به کد منبع کامل استفاده شده در این مقاله بیندازید، در اینجا مخزن GitHub است.
کد خود را با توابع داخلی پایتون قوی کنید
از توابع برای تقسیم یک برنامه به قطعات مدولار و انجام وظایف خاص استفاده کنید. پایتون بسیاری از توابع داخلی مانند range()، slice()، sorted()، abs() و غیره را ارائه می دهد که می تواند وظایف شما را بسیار آسان تر کند. از این توابع داخلی برای نوشتن کد خواناتر و کاربردی تر استفاده کنید.