پایتون یک زبان برنامه نویسی سطح بالا و همه فن حریف است. سطح بالا به این معنی که قواعد و دستورات آن بسیار شبیه به زبان انسان است و یادگیری دستورات آن به نسبت زبان های برنامه نویسی دیگر بسیار سادهتر است. این مزیت باعث شده تا شاخههای مختلف علم برای کارهای کامپیوتری خود به سراغ این زبان بروند که شبکههای کامپیوتری و هوش مصنوعی نمونههایی از این گرایشها هستند.
در ادامه این مقاله قرار است به معرفی برخی از کد های برنامه نویسی پایتون بپردازیم. نمونه کد های پایتون که میتوانید با تاثیر پذیری از آنها کد های خود را بهینه تر و تمیز تر بنویسید. به برخی از سورس کد های ساده پایتون نیز میپردازیم که میتوانید تنها با کپی کردن آنها در پروژه خود کد های ابتدایی پایتون را تبدیل به کد های خفن پایتون کنید. با ما همراه باشید.
ابتدا به یکی از کد های ابتدایی پایتون بپردازیم:
همانطور که میدانید برای باز کردن فایل ها در پایتون از دستور ()open استفاده میکنیم اما هنگام استفاده از این دستور نباید یادمان برود که پس از اتمام کار بر روی فایل باز شده، باید متد ()close را اجرا کنیم تا نه تنها تغییرات قبلی به درستی اعمال و ذخیره شوند، بلکه موجودیت کل فایل به درستی حفظ شود و بعدا هم بتوانیم از فایل مذکور استفاده کنیم، یعنی:
file = open(“./<someFile>”)
doing some changes here#
()file.close
اما با استفاده از دستور with میتوان با خیال راحت از دستور ()open استفاده کرد. با استفاده از with احتمال خراب شدن فایل به حداقل مقدار ممکن میرسد و نیازی به استفاده از متد ()close نیست.
از دستور with به شکل زیر استفاده میشود:
with open(“./<SomeFile>”) as file: # its equal to file = open(“./SomeFiles”)
doing some changes here. Don't forget indentation#
()it closes the file automatically, there is no need to file.close#
در ادامه یکی از کدهای جالب پایتون را بررسی میکنیم:
شاید به این فکر افتاده باشید که خروجی دلخواه خودتان را که در کنسول چاپ میشود در زمان اجرا شدن برنامه تغییر دهید، خط loading را میتوان به عنوان یک مورد ملموس مثال زد. اگر از دستور ()print برای نمایش خروجی کدتان استفاده میکنید، مطمئنا در عملی کردن ایده خود دچار مشکل شدهاید.
در ادامه یک کد پایتون مینویسیم که خط loading را به همراه یک جزء چرخان در ترمینال چاپ کند.
import time
import sys
from threading import Thread
:()def loading_indicator
['|', '/', '-', '\\']=loading_states
:for _ in range(10)
: for state in loading_states
sys.stdout.write(f'\rLoading {state}')
()sys.stdout.flush
time.sleep(0.25)
sys.stdout.write('\r')
thread = Thread(target=loading_indicator)
()thread.start
...Your long-running task here#
print("Task completed.")
در این نمونه کد، از ویژگی thread استفاده شده است که توضیح آن بسیار مفصل و از حوصله بحث خارج است اما به توضیح بقیه اجزای آن میپردازیم:
در این نمونه کد به کتابخانههای time, sys, threading نیازمندیم. یک تابع به نام loading_indicator تعریف کرده و ابتدا یک لیست از حالت های مختلف جزء چرخان درست میکنیم. در این نمونه کد از یک خط چرخان استفاده کردهایم.
سپس یک حلقه تعریف میکنیم (در اینجا یک تکرار دهتایی) و یک حلقه دیگر در حلقه قبلی میسازیم. حلقه جدید یک پیشرونده در لیست جزء چرخنده ماست.
سپس در بدنه جدید به ترتیب خط های زیر را مینویسیم.
sys.stdout.write(f”/rLoading{state}”)
این خط جمله Loading را به همراه یک تیکه از لیست loading_states وابسته به این که در تکرار چندم از حلقه داخلی هستید، در شروع لاین کنسول چاپ میکند( بدون کرکتر فاصله در ابتدای خط).
()sys.stdout.flush
این خط کد مطمئن میشود که عبارت قبلی در ترمینال چاپ شده باشد.
time.sleep(0.25)
این کد به مقدار دلخواه (در اینجا 0.25 ثانیه) اجرای خط بعدی از کد را به تاخیر میاندازد.
sys.stdout.write(“\r”)
این کد نیز نشانگر برای پرینت کردن را به ابتدای خط انتقال میدهد.
در ادامه نیز تنها ساخت یک thread و همینطور شروع کردن آن thread را داریم، در انتها پس از اتمام حلقهها عبارت Task completed چاپ میشود.
بیشتر بخوانید: آموزش پایتون برای کودکان
به عنوان آخرین کد از مجموعه کدهای پایتون در این مقاله به بررسی یکی از کد های گرافیکی پایتون میپردازیم.
فرض کنید در پروژهای که با tkinter نوشتهایم یک صفحه اولیه داریم که میتواند به دو صفحه مجزا sign in و sign up برود.
اگر قرار باشد از هر کدام از این صفحات به صفحه اولیه برگردیم، راه حل چیست؟
راه حل پیشنهادی ما در این موقعیت، استفاده از توابع در پایتون، و مواردی همچون فریم ها و کامند در باتن هاست.
کد زیر را در نظر بگیرید:
From tkinter import *
()root = Tk
global main_frame, signup_frame, signin_frame
:()def main_page
:try
()signup_frame.grid_forget
:except
pass
:try
()signin_frame.grid_forget
:except
pass
main_frame = Frame(root)
signin_button = Button(main_frame, text= “sign in”, command= signin_page)
signup_button = Button(main_frame, text= “sign up”, command= signup_page)
()main_frame.grid
()signin_button.grid
()signup_button.grid
:()def signin_page
:try
() main_frame.grid_forget
:except
pass
signin_frame = Frame(root)
main_button = Button(signin_frame, text= “go to main page”, command= main_page)
()signin_frame.grid
()main_button.grid
:()def signup_page
:try
() main_frame.grid_forget
:except
pass
signup_frame = Frame(root)
main_button = Button(signup_frame, text= “go to main page”, command= main_page)
:”__If __name__ == “__main
()main_page
()root.mainloop
در تابع اول یعنی تابع main_page به ساخت صفحه اول میپردازیم اما علاوه بر آن تلاش میکنیم تا اگر از صفحه signin یا signup به این صفحه وارد شدهایم ابتدا صفحه ( در اینجا frame) قبلی را پاک کنیم.
برای صفحات signin و signup در این صفحه کد هایی تعبیه شده است که با کلیک بر روی آنها به صفحه مورد نظر میتوان وارد شد.
در تابع دوم و سوم سعی شده است ابتدا صفحه (در اینجا frame) قبلی را پاک کرده و سپس فریم و ویجتهای جدید را ساخته و نمایش دهیم. با کمک command برای main_button در هر یکی از این دو تابع میتوان تابع اول را دوباره صدا کرد تا صفحه اولیه دوباره ساخته شود.
در این مقاله سعی کردیم هر چند کوتاه، به بررسی برخی از نمونه کد های پایتون بپردازیم که بتوانند در نوشتن پروژههای پایتونی شما کمک کننده باشند و یا دیدگاه جدیدی را به شما نمایش بدهند. امیدواریم که توانسته باشیم این مهم را برطرف کرده و کد های ابتدایی پایتون شما را تبدیل به کد های جالب پایتون و یا حتی کد های خفن پایتون کنیم. برای آموزشهای بیشتر با ما همراه باشید.در آموزشگاه پل استار دوره های مختلف و تخصصی در زمینه رباتیک، هوش مصنوعی و برنامه نویسی برای کودکان برگزار می شود و برای شما این فرصت را فراهم کرده تا در این عرصه های نام برده شده با تلاش خودتان و آموزش ما به آینده ای درخشان در این حوزه ها دست پیدا کنید.
شما می توانید برای کسب اطلاعات بیشتر با مشاوران ما در تماس باشید.