خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

11 دستور العمل پایتون به اندازه لقمه که باید بدانید

این نمونه کد به شما کمک می کند تا در مورد اصول پایتون بیاموزید و چالش های رایج روزمره را حل کنید.

بسیاری از برنامه نویسان پایتون را به دلیل نحو ساده و مختصر آن دوست دارند. این دستور العمل های پایتون نمونه برنامه های کوچکی هستند که می توانید از آنها برای حل مشکلات رایج روزانه استفاده کنید.

از این دستور العمل های 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() برای تراز کردن رشته ها استفاده کنید.

مطلب مرتبط:   توسعه بازی با Pygame Zero آسان است

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']

در این مثال، تابع یک لیست را برمی گرداند.

مطلب مرتبط:   4 روش برای اتصال پایتون به MySQL

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 پرتاب کند.

مطلب مرتبط:   آشنایی با توکن های جنگو CSRF: آنها چیست و چرا به آنها نیاز دارید

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

کد خود را با توابع داخلی پایتون قوی کنید

از توابع برای تقسیم یک برنامه به قطعات مدولار و انجام وظایف خاص استفاده کنید. پایتون بسیاری از توابع داخلی مانند range()، slice()، sorted()، abs() و غیره را ارائه می دهد که می تواند وظایف شما را بسیار آسان تر کند. از این توابع داخلی برای نوشتن کد خواناتر و کاربردی تر استفاده کنید.