13 ویژگی پایتون که اکثر برنامه نویسان هرگز استفاده نکرده اند

پایتون یکی از برترین زبان های برنامه نویسی است و ویژگی های پنهان زیادی دارد که بسیاری از برنامه نویسان هرگز از آن ها استفاده نمی کنند و من 13 ویژگی پایتون را که احتمالا از آنها استفاده نکرده اید، به اشتراک می گذارم.بدون اتلاف وقت بیشتر، بیایید شروع کنیم.1. List Steppingاین یک آرگومان مرحله ای است که می تواند فهرست شما را با انجام چندین مرحله برش دهد. همچنین، می توانید از آرگومان step برای معکوس کردن یک عدد صحیح استفاده کنید. به مثال کد زیر دقت کنید:# List Stepping data = [10, 20, 30, 40, 50] print(data[::2]) # [10, 30, 50] print(data[::3]) # [10, 40] # reverse with stepping print(data[::-1]) # [50, 40, 30, 20, 10]2. find( ) متد find() یک ویژگی عالی برای یافتن هر عدد شاخص شروع هر کاراکتر در رشته است:# Find() methodx = &quotPython&quot y = &quotHello From Python&quotprint(x.find(&quotPython&quot)) # 0 print(y.find(&quotFrom&quot)) # 6 print(y.find(&quotFrom Python&quot)) #63. iter( )متد iter() برای تکرار کردن یک لیست بدون کمک حلقه سودمند است. این یک روش داخلی است، بنابراین به هیچ ماژولی برای آن نیاز ندارید:# Iter() Functionvalues = [1, 3, 4, 6]values = iter(values) print(next(values)) # 1 print(next(values)) # 3 print(next(values)) # 4 print(next(values)) # 64. Doctest ویژگی Doctest به شما این امکان را می دهد عملکرد خود را آزمایش کنید و گزارش آزمایش خود را نمایش دهید. اگر مثال زیر را بررسی کنید، باید یک آرگومان آزمایشی در یک نقل قول سه گانه مانند زیر بنویسید:# Doctest from doctest import testmod def Mul(x, y) -> int: &quot&quot&quot This function returns the mul of x and y argumets incoking the function followed by expected output: >>> Mul(4, 5) 20 >>> Mul(19, 20) 39 &quot&quot&quot return x * y # invoking the testmod function testmod(name='Mul', verbose=True)خروجی:Trying: Mul(4, 5) Expecting: 20 ok Trying: Mul(19, 20) Expecting: 39 ********************************************************************** File &quot__main__&quot, line 10, in Mul.Mul Failed example: Mul(19, 20) Expected: 39 Got: 380 1 items had no tests: Mul ********************************************************************** 1 items had failures: 1 of 2 in Mul.Mul 2 tests in 2 items. 1 passed and 1 failed. ***Test Failed*** 1 failures.5. Yield Statementعبارت yield یکی دیگر از ویژگی های شگفت انگیز پایتون است که مانند یک دستور بازگشت کار می کند، اما به جای پایان دادن به تابع و بازگشت، به نقطه فراخوانی خود برمی گردد:# Yield Statement def func(): print(1) yield 1 print(2) yield 2 print(3) yield 3 for call in func(): pass # output # 1 # 2 # 36. Handle Missing Keys of Dictionaryگاهی اوقات کلیدهایی که به آنها دسترسی داریم در دیکشنری وجود ندارند که خطای Key را نشان می دهد. برای رسیدگی به این کلیدهای از دست رفته می توانیم به جای متد bracket از متد get() استفاده کنیم:# Handling Missing Values in Dictionary dict_1 = {1: &quotx&quot, 2: &quoty&quot} # Don't use this print(dict_1[3]) # Key Error # Use this print(dict_1.get(3)) # None7. For/Else و While/Elseآیا می دانید پایتون از Else با حلقه For و while پشتیبانی می کند؟ این دستور else زمانی اجرا می شود که حلقه شما بدون هیچ وقفه ای تکرار خود را کامل کرده باشد.در زیر برای حلقه مثال else اجرا خواهد شد، اما در حلقه while، یک دستور break اضافه کردم که دستور else را فعال نمی‌کند:# For/Elsefor x in range(5): print(x) else: print(&quotLoop Completed&quot) # executed# While / Else i = 0 while i < 5: break else: print(&quotLoop Completed&quot) # Not executed8. Named Formating Stringاین ویژگی جایگزین مقادیر موجود در متغیرهای String می شود. زمانی که نیاز به اضافه کردن مقادیر در متغیرهای مختلف یک رشته دارید، این کار مفید است:# Named Formating String a = &quotPython&quot b = &quotJob&quot # Way 1 string = &quotI looking for a {} Programming {}&quot.format(a, b) print(string) # I looking for a Python Programming Job #Way 2 string = f&quotI looking for a {a} Programming {b}&quot print(string) # I looking for a Python Programming Job9. Set Recursion Limitاین یکی دیگر از ویژگی های عالی پایتون است که به شما امکان می دهد محدودیت بازگشت برنامه پایتون خود را تعیین کنید. برای درک بهتر به مثال کد زیر نگاه کنید:# Set Recursion Limit import sys sys.setrecursionlimit = 2000 print(sys.getrecursionlimit) # 200010. Conditional Assignmentویژگی Conditional Assignment از یک عملگر سه تایی استفاده می کند و می تواند مقادیری را در متغیر در یک شرایط خاص اختصاص دهد. به مثال کد زیر توجه کنید:# Conditional Argument x = 5 if 2 > 4 else 2 print(x) # 2 y = 10 if 32 > 41 else 24 print(y) # 2411. Argument Unpackingشما می توانید هر آرگومان داده تکرارپذیر را در تابع باز کنید. به مثال کد زیر توجه کنید:# Argument Unpacking def func(x, y): print(x, y) list_1 = [100, 200] dict_1 = {'x':300, 'y':400} func(*list_1) func(**dict_1) # output # 100 200 # 300 40012. Hello World!این یک ویژگی است که فقط برای سرگرمی خواهد بود. اگر کد زیر را تایپ کرده و اجرا کنید پایتون با دو کلمه معروف از شما استقبال خواهد کرد. آن را امتحان کنید.import __hello__13. رشته چند خطیاین ویژگی به شما نشان می دهد که چگونه یک رشته چند خطی بدون گیومه سه گانه بنویسید. به مثال کد زیر دقت کنید:# Multi-Line String str1= &quotAre you looking for free Coding &quot \ &quotLearning material then &quot \ &quotwelcome to virgool&quot print(str1) # Are you looking for free Coding Learning material then welcome to virgool