چطوری میشه یه برنامهنویس خوب پایتون بود؟ یا بهتر بگم «چگونه وارد پروسه یادگیری پایتون شویم»؟ مطمئنا پاسخ دادن به چنین سوالاتی یک جواب مشخص و معین نداره، اما من قصد دارم با استفاده از تجربیات شخصی و منابع موجود به این سوالات در قالب یک مقاله پاسخ بدم و قدم به قدم شما رو با روال وارد شدن به دنیای برنامهنویسی پایتون آشنا بکنم.
۱. پایتون چیست؟
پایتون یا Python یک زبان برنامهنویسی شئگرا، پویا و تفسیری است، از آنجایی که پایتون انعطافپذیری بالایی دارد، میتواند در پروژههای بزرگ و کوچک به خوبی استفاده شود. بر خلاف چیزی که لوگو الان پایتون است، هدف سازنده اصلی پایتون -گیدو وان روسوم- از این نامگذاری اشاره به گروه کمدی بریتانیایی Monty Python بوده است. تقریبا میشود گفت که پایتون در تمام فیلدهای کامپیوتری استفاده میشود اما حضور برجسته پایتون را میشود در فیلدهای زیر مشاهده کرد:
- برنامهنویسی علمی، ریاضیات، تحلیل داده و…
- طراحی و توسعه اپلیکیشنهای مبتنی بر وب و GUI
- یادگیری ماشین و هوش مصنوعی
در حال حاضر پایتون در شرکتهای بزرگ جهان مورد استفاده قرار میگیرد، از این موارد میشود به یوتیوب، دراپباکس و رِدایت اشاره کرد. جدای از این موارد غولهایی چون اینستاگرام و پینترست نیز برای توسعه وبسایتهای خود از فریمورک جنگو که یکی از فریمورکهای پایتون است، استفاده میکنند.
بعضی وقتها از بس که پایتون ساده هستش، قدرتش دست کم گرفته میشه ?
پایتون زبانی Strong Type است، به این معنا که نوعهای دادهای به درستی بررسی میشوند. شما در چنین حالتی برای مثال نمیتوانید یک رشته و یک عدد طبیعی را با همدیگر جمع بکنید. همچنین از آنجایی که پایتون یک زبان پویا است، تعریف متغیر و مدیریت حافظه در زمان اجرا به صورت خودکار انجام میشود. پایتون یک زبان Case-Sensitive نیز است، بنابراین تعریف یک نام به بزرگ و کوچک بودن حروف حساس است.
۲. نسخههای پایتون
پایتون یک زبان آزاد و متن باز است، همچنین برای سیستم عاملهای مختلفی از جمله لینوکس، مک و ویندوز عرضه شده است. اما به صورت کاملتر باید بگویم که پایتون روی ۲۱ سیستم عامل مختلف کار میکند. در بیشتر این سیستم عاملها پایتون به صورت پیشفرض نصب شده است. برای بررسی کردن این موضوع تنها کافیست یکی از دستورات زیر را در محیط خط فرمان/ترمینال خود وارد کنید:
python -V
python3 -V
هر کدام از دستورات بالا میتواند خروجی شبیه به زیر داشته باشد:
Python 3.6.7
اگر چنین خروجی را دریافت نکردید، نشان از این موضوع میدهد که پایتون روی سیستم عامل شما نصب نیست.
انتخاب یک نسخه از پایتون
در حال حاضر پایتون از دو نسخه ۳ و ۲ بهره میبرد. برای بعضی از افراد ممکن است انتخاب بین این دو مورد پیچیده باشد اما بدون شک نسخه ۳ انتخاب مناسبی است، اما در حالتهایی نیز ممکن است مجبور باشید از نسخه دوم استفاده بکنید. نسخه ۲ پایتون نسخه قدیمیتر این زبان است و زیرساخت برخی از برنامهها هنوز برپایهی این زبان ساخته شده است، از این رو برای کار کردن روی آن دسته از برنامهها نیاز است که پایتون ۲ را بلد باشید، اما این نسخه از طرف بنیاد پایتون تا مدتی دیگر پشتیبانی میشود و پیشنهاد شده که همه زیرساختها به پایتون ۳ بروزرسانی شود. از این رو ما یادگیری نسخه ۳ پایتون را پیشنهاد میدهیم. ادامه این مطلب نیز روی همین نسخه تمرکز دارد.
۳. دریافت پایتون
برای دریافت مفسر پایتون شما میتوانید از وبسایت Python.org استفاده بکنید. از آنجایی که پایتون روی بیشتر سیستم عاملهای موجود کار میکند، بنابراین ممکن است با پکیجهای مختلفی از پایتون مواجه شوید:
- اگر از مک استفاده میکنید بهتر است برای نصب پایتون از پکیج منیجر brew استفاده نمایید.
- برای لینوکس نیز استفاده کردن از پکیج منیجرهایی مانند apt، yarm و… مناسب است.
- برای ویندوز شما باید نسخه نصبی آن را از وبسایت اصلی پایتون دانلود کنید.
البته بدونید که معمولا روی مک و لینوکس به صورت پیشفرض پایتون نصب هستش، پس قبل از اقدام به نصب از بودن یا نبودن پایتون مطمئن بشید.
برای بررسی وجود پایتون رو سیستم عامل همانطور که قبلا اشاره شد، محیط متنی خود را باز کرده و دستور python3 یا python را وارد کنید. مطمئن باشید که نسخه ۳ از پایتون اجرا میشود.
ممکنه توی ویندوز هیچکدوم این دستورها کار نکنه، توی ویندوز معمولا با نوشتن py پایتون اجرا میشه.
حال که پایتون اجرا شده، کافیست برنامه زیر را در همان محیط متنی نوشته و اینتر را فشار دهید:
print(‘Hello, World!’)
برای خارج شدن از محیط پایتون میتوانید از کلیدهای CTRL+D و یا فراخوانی تابع exit() یا quit() استفاده بکنید.
۴. پیدا کردن یک منبع آموزشی مناسب
شاید این قدم کمی مشکل و چالش دار باشد اما پیدا کردن یک منبع مناسب آموزشی مطمئنا کاری نشدنی نیست. از این نظر میگویم مشکل که منابع آموزشی بسیار زیادی وجود دارد و پیدا کردن یک مورد مناسب ممکن است کمی سخت باشد. با این حال من لیستی از چندین دوره آموزشی ویدیویی و کتاب مناسب را به صورت لیست شده ارائه میکنم که میتوانید از آنها استفاده بکنید.
- دوره آموزش مقدماتی پایتون
- دوره آموزش پیشرفته پایتون
- دوره: Learn Python with Socratica || Python Tutorial || Python Programming
- هاروارد: CS50 2018 – Lecture 6 – Python
- مستندات پایتون
- کتابهای پایتونی
۵. انتخاب یک کد ادیتور راحت
منابع آموزشی که در بالا لیست کردم در برداشتن این قدم به شما کمک میکنند. در هر کدام از منابع به شما ابزارهای مختلفی را برای کدنویسی معرفی کرده است که میتوانید از هر کدام استفاده کنید.
من به شخصه اوایل فقط ازIDLE پایتون استفاده میکردم، اما بعدا برای انجام پروژهها و کارهای بزرگترVSCode رو انتخاب کردم.
لیستی از کد ادیتورهای مناسب برای برنامهنویسی:
۶. درک قواعد پایتون
قاعده اصلی که در پایتون وجود داره اینه که توی پایتون تنها یک راه برای نوشتن یک برنامه وجود داره و اون راه بهترین راهه!
شاید این موضوع برایتان عجیب باشد اما یک واقعیت است. با این حال پایتون یک مانیفست مانند نیز دارد که به برنامهنویسان کمک میکند تا به این نقطه «افلاطونی» برسند.
برای مشاهده این مانیفست میتوانید در زمان اجرای پایتون در محیط خط فرمان، دستور زیر را وارد کنید:
import this
این دستور خروجی زیر را به ما میدهد:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
۷. آشنایی اولیه با کدنویسی در پایتون
قبل از آنکه به دورهها و منابع آموزشی گفته شده مراجعه کنید، بیایید با سینتکس کلی زبان برنامهنویسی پایتون آشنا شویم. ما در این بخش با شیوه تعریف متغیرها، توابع، حلقهها و دستورات کنترلی آشنا میشویم و همچنین نگاهی به ساختارهای دادهای مختلف در پایتون میاندازیم.
۷-۱. تعریف متغیر
همانطور که گفته شد پایتون یک زبان برنامهنویسی پویا است. از این جهت در زمان تعریف یک متغیر نیازی به تعیین کردن نوع دادهای آن ندارید، این فرایند در زمان اجرا به صورت خودکار مدیریت میشود. برای تعریف متغیر در پایتون به سادگی تنها یک نام را تعریف کرده و یک مقدار را به آن نسبت دهید:
name = "Arastoo"
نام متغیر باید از شرایطی پیروی بکند که در این مطلب قصد صحبت در ارتباط با این جزئیات را نداریم.
توی پایتون نسخه ۳ از سیمیکولن در آخر دستورات استفاده نمیکنیم، مستندات خود پایتون هم پیشنهاد میکنند که استفاده نکنیم اما این امر اختیاریه!
۷-۲. تعریف تابع
برای تعریف تابع در پایتون از کلمه کلیدی def استفاده میشود. برای مثال برای ایجاد یک تابع برای سلام گفتن به یک ورودی ما به صورت زیر عمل میکنیم:
def greeting(name):
return('Hello, '+ name)
print(greeting('Arastoo'))
اگه دقت کنید میبینید که توی خط دوم یه ذره فاصله از کناره چپ صفحه گرفته شده، به این کار میگن indentation یا کناره گذاری. توی پایتون برای اینکه نشون بدیم یه سری دستورات متعلق به یک دستور بالاتر هستش اونا رو کناره گذاری میکنیم. توی زبونهای دیگه برای اینکار از کروشه باز و بسته استفاده میکنند.
۷-۳. ایجاد یک حلقه
در پایتون برای ایجاد یک حلقه هم از دستور while و هم از دستور for…in استفاده میکنیم. ساختار دستور while با یک شرط شروع میشود. برای مثال:
a = 10
while(a>=1):
print(a)
a -=1
توی دستور بالا ما گفتیم تا زمانی که متغیر a برابر و بزرگتر از ۱ باشه a رو چاپ بکنه و یکی ازش کم بشه. یه برنامه که از ۱۰ تا ۱ رو چاپ میکنه.
ساختار دستور for…in برای تعریف حلقه نیز به صورت زیر است:
for i in range(10):
print(i)
هدفمون از استفاده for…in این هستش که یک مقدار دادهای تکرارپذیر رو پیمایش بکنیم. range(10) در واقع یک تابع داخلی از پایتون هستش که مقدار عددی ۰ تا ۹ رو برای ما تولید میکنه.
۷-۴. دستورات کنترلی
برای ایجاد دستورات کنترلی در پایتون میتوانید از دستور if و حالتهای elif و else استفاده بکنید. برای مثال:
a = 1
if a==True:
print('True')
elif a==False:
print('False')
else:
print('None')
همانطور که مشاهده میکنید، در این ساختار نیز ما از کناره گذاری برای بلوک بندی کدها استفاده میکنیم.
۷-۵. ساختارهای دادهای
لیست: لیست مجموعهای مرتب از دادههاست که در پایتون به شکل زیر تعریف میشود:
a = [1,2,3,4,5,True,'Arastoo']
تاپل: تاپل شبیه به لیست است با این تفاوت که قابلیت تکرارپذیری ندارد:
b = ('Arastoo',1,2,3,4,5,True)
دیکشنری: دیکشنری یک ساختار دادهای است که در آن هر موجودی از یک کلید و یک مقدار دادهای تشکیل میشود:
c = {"name":"Arastoo","Age":100,"Alive":True}
دیکشنریها قابل مرتب شدن نیستند.
۸. در پایان
یادگیری پایتون و پیش بردن پروژهها با استفاده از پایتون واقعا لذت بخش است. پایتون پیچیدگی کمتری نسبت به اغلب زبانها دارد و همین موضوع باعث میشود که کدنویسی در آن سریعتر و آسانتر شود. مطمئنا انتخاب پایتون به عنوان یک زبان برنامهنویسی برای کار، تحقیقات و… میتواند انتخابی منطقی باشد. من در این مقاله سعی کردم تا به شما مسیری روشن برای یادگیری پایتون و پیشرفت کردن در آن را نشان دهم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید