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

زبان برنامه نویسی پایتون
زبان برنامه نویسی پایتون - صادق خان

با سلام و صد درود، تو این مطلب در مورد 10 ترفند کاربردی زبان برنامه نویسی پایتون صحبت می کنم. امیدوارم هر کدوم از این ترفند ها را تا الان انجام ندادید، تو کد نویسی بعدی تون حتما ازشون استفاده کنید.

1- Ternary operator

یه فرمت ساده شده از if/else که تو پایتون کاربردیه و کد تون رو جمع و جور تر می کنه. سینتکس Ternary به صورت زیر هست:

value_if_true if condition else value_if_false

به راحتی می تونید داخل پایتون، if/else های تک خطی بنویسید. یه مثال هم ازش ببینید که کامل متوجه سینتکس اون بشید:

a = 5 
b = 14 
max = a if a > b else b  ##value_if_true if condition else value_if_false

print(max)
#14

2 – Zip function

تابع zip عناصر (المان ها) ار هر لیست، آرایه و … را گرفته و تجمیع می کنه. به درد حالتی می خوره که بخواید به صورت همزمان دو یا چند لیست را پیمایش کنید، به مثال زیر توجه کنید:

list1 = [1, 2, 3, 4, 5, 6] 
list2 = ['s', 'a', 'd', 'e', 'g', 'h'] 
for x, y in zip(list1, list2):
    print(x, y)

#1 s
#2 a
#3 d
#4 e
#5 g
#6 h

3- توابع لامبدا (Lambda)

فکر کنم قبلا داخل بلاگ در مورد لامبدا صحبت کرده باشم! ولی در کل توابع لامبدا چیست؟

توابع لامبدا با استفاده از کلمه کلیدی لامبدا (Lambda) تعریف می شوند. آنها زمانی مفید هستند که شما نیاز به نوشتن توابع کوچک و یکبار مصرف دارید و نمی خواهید از کلمه کلیدی def برای تعریف یک تابع نامگذاری شده استفاده کنید. به مثال زیر توجه کنید:

add = lambda x, y: x + y 

result = add(12, 2)

print(result)
#14

4 – آرگومان های چند تابعی (Multiple Function Arguments)

در پایتون، می توانید از عملگر * و ** برای مدیریت آرگومان های چند تابع استفاده کنید. عملگر * برای ارسال لیستی از آرگومان ها به عنوانpositional arguments و عملگر ** برای ارسال keyword arguments به صورت دیکشنری (dict) استفاده می شود.

def print_arguments(*args, **kwargs):
    print(args)
    print(kwargs)

print_arguments(1, 2, 3, name='John', age=30)

#(1, 2, 3)
#{'name': 'John', 'age': 30}

5- ادغام دو تا دیکشنری در پایتون:

dictionary_one = {"a": 1, "b": 2}
dictionary_two = {"c": 3, "d": 4}

merged = {**dictionary_one, **dictionary_two}

print(merged)  
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}