پایتون یکی از برترین زبان های برنامه نویسی است و ویژگی های پنهان زیادی دارد که بسیاری از برنامه نویسان هرگز از آن ها استفاده نمی کنند و من 13 ویژگی پایتون را که احتمالا از آنها استفاده نکرده اید، به اشتراک می گذارم.
بدون اتلاف وقت بیشتر، بیایید شروع کنیم.
این یک آرگومان مرحله ای است که می تواند فهرست شما را با انجام چندین مرحله برش دهد. همچنین، می توانید از آرگومان 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]
متد find() یک ویژگی عالی برای یافتن هر عدد شاخص شروع هر کاراکتر در رشته است:
# Find() methodx = "Python" y = "Hello From Python"print(x.find("Python")) # 0 print(y.find("From")) # 6 print(y.find("From Python")) #6
متد 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)) # 6
ویژگی Doctest به شما این امکان را می دهد عملکرد خود را آزمایش کنید و گزارش آزمایش خود را نمایش دهید. اگر مثال زیر را بررسی کنید، باید یک آرگومان آزمایشی در یک نقل قول سه گانه مانند زیر بنویسید:
# Doctest from doctest import testmod def Mul(x, y) -> int: """ 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 """ 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 "__main__", 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.
عبارت 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 # 3
گاهی اوقات کلیدهایی که به آنها دسترسی داریم در دیکشنری وجود ندارند که خطای Key را نشان می دهد. برای رسیدگی به این کلیدهای از دست رفته می توانیم به جای متد bracket از متد get() استفاده کنیم:
# Handling Missing Values in Dictionary dict_1 = {1: "x", 2: "y"} # Don't use this print(dict_1[3]) # Key Error # Use this print(dict_1.get(3)) # None
آیا می دانید پایتون از Else با حلقه For و while پشتیبانی می کند؟ این دستور else زمانی اجرا می شود که حلقه شما بدون هیچ وقفه ای تکرار خود را کامل کرده باشد.
در زیر برای حلقه مثال else اجرا خواهد شد، اما در حلقه while، یک دستور break اضافه کردم که دستور else را فعال نمیکند:
# For/Elsefor x in range(5): print(x) else: print("Loop Completed") # executed# While / Else i = 0 while i < 5: break else: print("Loop Completed") # Not executed
این ویژگی جایگزین مقادیر موجود در متغیرهای String می شود. زمانی که نیاز به اضافه کردن مقادیر در متغیرهای مختلف یک رشته دارید، این کار مفید است:
# Named Formating String a = "Python" b = "Job" # Way 1 string = "I looking for a {} Programming {}".format(a, b) print(string) # I looking for a Python Programming Job #Way 2 string = f"I looking for a {a} Programming {b}" print(string) # I looking for a Python Programming Job
این یکی دیگر از ویژگی های عالی پایتون است که به شما امکان می دهد محدودیت بازگشت برنامه پایتون خود را تعیین کنید. برای درک بهتر به مثال کد زیر نگاه کنید:
# Set Recursion Limit import sys sys.setrecursionlimit = 2000 print(sys.getrecursionlimit) # 2000
ویژگی Conditional Assignment از یک عملگر سه تایی استفاده می کند و می تواند مقادیری را در متغیر در یک شرایط خاص اختصاص دهد. به مثال کد زیر توجه کنید:
# Conditional Argument x = 5 if 2 > 4 else 2 print(x) # 2 y = 10 if 32 > 41 else 24 print(y) # 24
شما می توانید هر آرگومان داده تکرارپذیر را در تابع باز کنید. به مثال کد زیر توجه کنید:
# 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 400
این یک ویژگی است که فقط برای سرگرمی خواهد بود. اگر کد زیر را تایپ کرده و اجرا کنید پایتون با دو کلمه معروف از شما استقبال خواهد کرد. آن را امتحان کنید.
import __hello__
این ویژگی به شما نشان می دهد که چگونه یک رشته چند خطی بدون گیومه سه گانه بنویسید. به مثال کد زیر دقت کنید:
# Multi-Line String str1= "Are you looking for free Coding " \ "Learning material then " \ "welcome to virgool" print(str1) # Are you looking for free Coding Learning material then welcome to virgool