ترفندهای سادهی برنامهنویسی در پایتون – بخش ۲
در بخش قبل ، پنج نمونه از نکات و ترفندهای کاربردی در زبان پایتون را بررسی کردیم که به کمک آنها ساختار و نحوهی کار با این زبان را کمی بیشتر از پیش درک نمودیم. در این مقاله قصد داریم به آشنایی و بررسی نکات سادهی دیگری که در این زبان وجود دارد بپردازیم. در ادامه، نگاهی به پنج مورد دیگر از این ترفندها میاندازیم.
۱. استفاده از تابع شمارنده
در پایتون با استفاده از تابع enumerate() میتوان بر روی برخی از متغیرها عمل شمارش را انجام داد. یکی از این متغیرها لیست میباشد. برای نمونه میتوان یک لیست را به عنوان ورودی این تابع در نظر گرفته و سپس درون یک حلقهی for بر روی مقادیر آن پیمایش کنیم و طول لیست را بدست آوریم. در مثال زیر از متغیر i برای این منظور استفاده شده است:
mylist = ('Zero', 'to', 'Hero') for i, subject in enumerate(mylist): print(i, ": ", subject) # Output: # 0: Zero # 1: to # 2: Hero
۲. تشخیص نوع دادههای Dynamic
در زبانهای برنامه نویسی مانند C، Java و … ما باید نوع داده هر متغیر را هنگام تعریف آن مشخص نماییم (int، String و …). اما در زبان پایتون، هر متغیر بسته به مقداری که به آن نسبت داده میشود نوع آن مشخص میشود. به زبانهای نوع اول اصطلاحاً زبانهای statically typed و به زبانهای نوع دوم، زبان های dynamically typed گفته میشود. اما با استفاده از یک ترفند ساده و به کمک تابع type() میتوان نوع داده درون یک متغیر را تشخیص داد. در مثال زیر این کار را درون یک تابع انجام میدهیم:
def checkIt(x): if type(x) == int: print("You have entered an integer.") else: print("Unable to recognize the input data type.") checkIt(444) # Output: You have entered an integer. checkIt("444") # Output: Unable to recognize the input data type.
۳. ذخیرهی رشتههای چند خطی
در زبان پایتون سه روش برای ذخیرهی یک رشته طولانی در چندین خط وجود دارد. یکی از روش ها استفاده از بک اسلش \ است. با این کار یک عبارت طولانی را میتوان در چندین خط نوشت، اما خروجی تمام عبارت را در یک خط نمایش میدهد:
multiLine = "Zero to Hero, \ Python tips" print(multiline) # Output: Zero to Hero, Python tips
روش دیگر استفاده از triple-quotes میباشد که در این حالت متغیری که دارای عبارت طولانی است به همان صورت در خروجی نمایش داده میشود:
multiLine = """Zero to Hero, Python tips""" print(multiLine) # Output: Zero to Hero # Python tips
همچنین میتوان عبارت خود را به چندین رشتهی کوچکتر تقسیم کرده و آنها را در یک متغیر به صورت زیر ذخیره نمود:
multiLine = "Zero to Hero," "Python tips" print(multiLine) # Output: Zero to Hero, Python tips
۴. استفاده از متد __init__
در زبان پایتون، متد __init__ در زمان ساخت یک شیٔ از یک کلاس به طور خودکار فراخوانی میشود. میتوان از این متد برای مقدار دهی اولیه یا به منظور انجام برخی دستورات دیگر استفاده نمود. متد __init__ همانند یک constructor در زبان Java است. مثالی از روش استفادهی این متد در زیر آمده است:
class Employee(object): def __init__(self, role, salary): self.role = role self.salary = salary def is_contract_emp(self): return self.salary <= 1250 def is_regular_emp(self): return self.salary > 1250 emp = Employee('Tester', 2000) if emp.is_contract_emp(): print("I'm a contract employee.") elif emp.is_regular_emp(): print("I'm a regular employee.") print("Zero to Hero") # Output: # I'm a regular employee. # Zero to Hero
۵. اشتراک گذاری فایلها
میتوان با استفاده از یکی از ماجولهای پایتون یک سرویس دهندهی HTTP راه اندازی نمود و فایلهای سیستم را در شبکه به اشتراک گذاشت. برای این کار در خط فرمان سیستم، دستور زیر را در مسیری که میخواهیم فایلهای آن را به اشتراک بگذاریم اجرا میکنیم.
# Python2 python -m SimpleHTTPServer
# Python3 python3 -m http.server
دستور بالا یک سرویس دهنده را به صورت پیش فرض بر روی پورت ۸۰۰۰ راه اندازی میکند (میتوانیم شماره پورت دلخواه خود را نیز در ادامهی دستور بیاوریم و سپس آن را اجرا کنیم). حال میتوان با استفاده از مرورگر و آدرس دستگاه و پورت ۸۰۰۰ به فایلهای آن سیستم در شبکه دسترسی داشت (بر روی سیستم خود میتوانید از localhost:8000 استفاده کنید).
مطالب زیر را حتما مطالعه کنید
آشنایی با توابع در پایتون
راه اندازی Django به همراه Postgresql، Nginx و Gunicorn
آشنایی با حلقه ها در پایتون
آشنایی با رشته در پایتون
برنامه نویسی چند نخی در پایتون
تولید اعداد Random با Python
ترفندهای سادهی برنامهنویسی در پایتون – بخش ۱
در برنامهنویسی با هر زبانی، مطمئنا ترفندهایی وجود دارد که کار ما را ساده تر میکند. این ترفندها و نکات علاوه بر اینکه سرعت ما را در برنامه نویسی بهبود میبخشد، باعث میشود تا ساختار آن زبان را بهتر و کامل تر درک نماییم. زبان برنامه نویسی پایتون نیز از این قاعده مستثنا نمیباشد. در ادامه پنج مورد از ترفندهایی را بررسی میکنیم که شاید باعث شود با این زبان و ساختارش بیشتر آشنا شویم و بتوانیم از این پس برنامههای خود را سریعتر بنویسیم.
۱. معکوس کردن یک رشته در پایتون
برای این که بتوانیم یک رشته از متن را برعکس کنیم میتوانیم از دستور زیر استفاده نماییم. برای مثال:
myString = "Zero to Hero" myString_Reverse = myString[::-1] print(myString_Reverse) # Output: oreH ot oreZ
۲. انتقال مقادیر یک لیست به چندین متغیر
همانطور که میدانید یک لیست شامل چندین مقدار میباشد که آنها را درون خود جای داده است. به صورت زیر میتوان هرکدام از این مقادیر درون لیست را به ترتیب به یک متغیر اختصاص داد:
myList = [1, 2, 3, 4] one, two, three, four = myList print("one is {0}, two is {1}, three is {2}, four is {3}".format(one, two, three, four)) # Output: one is 1, two is 2, three is 3, four is 4
۳. ساخت یک رشته از مقادیر یک لیست
در صورتی که لیست ما شامل تعدادی رشته باشد، میتوانیم آنها را به بچسبانیم و رشتهی حاصل را درون یک متغیر ذخیره نماییم:
myList = ["I", "love", "coding", "Python"] myString = " ".join(myList) print(myString) # Output: I love coding Python
۴. نوشتن دستور شرطی در یک خط
همانطور که میدانید ساختار یک دستور شرطی در پایتون به صورت زیر است:
age = 15 if age < 18: print("kid") else: print("adult") # Output: kid
حال میتوان همین ساختار دستور شرطی را در یک خط به صورت زیر نوشت:
age = 15 print('kid' if age < 18 else 'adult') # Output: kid
به همین سادگی، مانند نوشتن یک متن انگلیسی است.
۵. جستجوی چندین عبارت در یک رشته
فرض کنید میخواهیم یک URL را بررسی نماییم که با چه پیشوندی شروع میشود و یا با چه عبارتی تمام میشود. در پایتون میتوانیم این کار را به راحتی به صورت زیر انجام دهیم:
print("https://www.zerotohero.ir".startswith(("http://", "https://"))) print("https://www.zerotohero.ir".endswith((".com", ".ir"))) # Output: True # Output: True
در بخش آینده نکات و ترفندهای دیگری که در زبان پایتون به کد نویسی ما سرعت ببخشد را بررسی میکنیم.
مطالب زیر را حتما مطالعه کنید
آشنایی با توابع در پایتون
راه اندازی Django به همراه Postgresql، Nginx و Gunicorn
آشنایی با حلقه ها در پایتون
آشنایی با رشته در پایتون
برنامه نویسی چند نخی در پایتون
تولید اعداد Random با Python
1 Comment
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
باحال بود
باعث افزایش سرعت می شود