آشنایی با پایتون
آشنایی با پایتون
قسمتهایی از این بخش بر اساس دوره آموزشی Geek Girls Carrots طراحی شده است (https://github.com/ggcarrots/django-carrots).
حالا بیایید کمی کد بنویسیم!
خط فرمان پایتون
برای کسانی که در خانه مطالعه میکنند این بخش در ویدئو Python Basics: Integers, Strings, Lists, Variables and Errors توضیح داده شده است.
برای آنکه با پایتون کار کنیم باید یک کنسول خط فرمان روی کامپیوتر خود باز کنید. احتمالا بلد هستید که چطور این کار را بکنید، در بخش آشنایی با خط فرمان آن را یاد گرفتهاید.
زمانی که آماده بودید، دستورالعملهای زیر را دنبال کنید.
ما میخواهیم یک کنسول پایتون باز کنیم، پس در کنسول خط فرمان ویندوز python
و در ترمینال لینوکس/ مک python3
را تایپ کنید و enter
بزنید.
اولین دستور پایتونی شما!
پس از اجرای دستور Python، خط فرمان به >>>
تغییر میکند. این تغییر برای ما به معنای آن است که در حال حاضر فقط میتوانیم از دستورات زبان پایتون استفاده کنیم. شما نیازی به تایپ >>>
ندارید - خط فرمان پایتون این کار را برایتان میکند.
اگر هر زمان قصد خروج از خط فرمان پابتون را داشتید exit()
را تایپ کنید یا از Ctrl + Z
در ویندوز و Ctrl + D
در مک/لینوکس استفاده کنید. پس از خروج >>>
را دیگر نمیبینید.
ما الان نمیخواهیم از خط فرمان پایتون خارج شویم. ما میخواهیم چیزهای بیشتری در مورد آن یاد بگیریم. بیایید با کمی ریاضیات شروع کنیم، مانند 2 + 3
3 و زدن enter
.
خوبه! دیدید که جواب چگونه ظاهر شد؟ پایتون ریاضیات را میفهمد! میتوانید دستور دیگری مثل این را امتحان کنید:
4 * 5
5 - 1
40 / 2
برای اجرای محاسبات نمایی، مانند ۲ به توان ۳، تایپ میکنیم:
کمی با دستورات مختلف محاسباتی تفریح کنید و دوباره آموزش را ادامه دهید. :)
همانطور که میبینید، پایتون محاسبهگر بسیار خوبی است. آیا به این فکر میکنید که چه کارهای دیگری میشود انجام داد…
رشتههای متنی
چطور است با اسم شما شروع کنیم؟ نام خود را بین علامت نقل قول به صورت زیر بنویسید:
شما همین الان اولین رشته متنی خود را ساختید! رشته متنی دنبالهای از کاراکترها است که میتوان آنها را توسط کامپیوتر پردازش کرد. رشته متنی همواره باید با یک علامت شروع، و با همان پایان یابد. این علامت ممکن است نقل قول تکی یا آپاستروف ('
) یا نقل قول دوتایی ("
) باشد (در پایتون بین این دو فرقی نیست) این علامت ها به پایتون میگویند که حاوی یک رشته متنی هستند.
رشته ها میتوانند به همدیگر الحاق شوند. دستور زیر را امتحان کنید:
همچنین میتوانید یک رشته را در یک عدد ضرب کنید، رشته به تعداد آن عدد تکرار میشود:
اگر نیاز داشتید تا یک علامت آپاستروف داخل رشته بیاورید، دو راه دارید.
استفاده از علامت نقل قول دوتایی:
یا استفاده از یک بک اسلش (\
) پیش از علامت آپاستروف:
خوب است، نه؟ برای دیدن نام خود با حروف بزرگ، تایپ کنید:
شما همین الان از متد upper
روی رشته متنی استفاده کردید! یک متد (مانند upper()
) دنبالهای از دستورات پایتونی است. زمانی که متد را صدا بزنید، آن دستورات روی یک شی ورودی ("Ola"
) اعمال میشود.
آیا میخواهید تعداد حروف نام خود را بدانید؟ یک تابع برای این کار هم هست!
به این فکر میکنید که چرا گاهی تابع را با یک .
در انتهای یک رشته صدا میکنیم (مانند "Ola".upper()
) و گاهی ابتدا یک تابع را صدا میزنیم و رشته را جلوی نام تابع داخل پرانتز میگذاریم؟ در بعضی موارد، توابع به اشیا تعلق دارند، مانند upper()
، که فقط میتواند روی رشتههای متنی اعمال شود. در این موارد، تابع را یک method مینامیم. در موارد دیگر، توابع به چیزی تعلق ندارند و میتوان آنها را روی انواع مختلفی از اشیا استفاده کرد، درست مانند len()
. به همین دلیل است که "Ola"
را به عنوان یک پارامتر ورودی به تابع len
میدهیم.
چکیده
بسیار خب، صحبت راجع به رشتهها کافی است. تا اینجا شما موارد زیر را یاد گرفتهاید:
خط فرمان - تایپ دستورات (کد) و دیدن نتایج در خط فرمان پایتون
** اعداد و رشتههای متنی** - در پایتون اعداد برای محاسبات ریاضی و رشتهها به عنوان اشیا متنی استفاده میشوند
عملگرها مانند
+
و*
، برای ساخت یک مقدار جدید، چند مقدار را با هم ترکیب میکنندتوابع- مانند
upper()
وlen()
، که بر روی اشیا، اعمالی را انجام میدهند.
موارد گفته شده، مبانی تمام زبانهای برنامهنویسی است که ممکن است بعدا بیاموزید. برای کارهای سختتر آماده هستید؟ حتماً آمادهاید!
خطاها
بیایید چیز جدیدی را امتحان کنیم. میتوانیم طول یک عدد را همانطور که طول نام خودمان را پیدا میکنیم، به دست آوریم؟ تایپ کنیدlen(304023)
و enter
را بزنید:
اولین خطا را دریافت کردیم! به وسیله آیکن {{ warning_icon }} به شما اعلام میکنیم کدی که قرار است اجرا کنید، مطابق انتظار شما اجرا نخواهد شد. اشتباه کردن (حتی اشتباهات عمدی) بخش مهمی از یادگیری است!
خطای دریافتی میگوید اشیا نوع "int" (اعداد طبیعی)، صفت "طول" ندارند. خب پس حالا چه کاری میتوانیم بکنیم؟ میتوانیم عددمان را به عنوان یک رشته متنی بنویسیم؟ رشتههای متنی دارای طول هستند، درست است؟
کار کرد! ما از تابع str
داخل تابع len
استفاده کردیم. str()
هرچیزی را به رشته متنی تبدیل می کند.
تابع
str
ورودیاش را به strings تبدیل میکندتابع
int
ورودیاش را به integers تبدیل میکند
توجه: ما میتوانیم اعداد را به متن تبدیل کنیم، اما همیشه نمیتوان متن را به عدد تبدیل کرد - مثلا خروجی
int('hello')
چه چیزی میتواند باشد؟
متغیرها
یکی از مفاهیم مهم در برنامهنویسی، مفهوم متغیرها است. متغیر نامی است برای یک مقدار که بعدا بتوانید برای ارجاع به آن مقدار، از نام متغیر استفاده کنید. برنامهنویسها از این متغیرها برای ذخیره داده، و بالا بردن خوانایی کد استفاده میکنند تا مجبور نباشند همهچیز را در ذهن نگهدارند.
بیایید یک متغیر جدید به نام name
بسازیم:
تایپ میکنیم name مساوی sara.
همانطور که توجه کردید، برنامه شما مانند دفعات قبل خروجی نداد. پس از کجا بدانیم متغیر واقعا وجود دارد؟ نام متغیر name
را وارد کنید و enter
بزنید:
بلههههه! اولین متغیر شما! :) همواره میتوانید چیزی را که متغیر به آن ارجاع میدهد، تغییر دهید:
میتوانید از آن در توابع نیز استفاده کنید:
عالی است، نه؟ متغیرها میتوانند هرچیزی باشند- مثل اعداد! این یکی را امتحان کنید:
ولی اگر نام اشتباه را استفاده کنیم چه میشود؟ میتوانید حدس بزنید چه اتفاقی میافتد؟ بیایید امتحان کنیم!
یک خطا! همانطور که میبینید، پایتون دارای انواع مختلفی از خطاها است و این یکی خطا NameError نام دارد. اگر سعی کنید از متغیری که هنوز تعریف نشده استفاده کنید، پایتون این خطا را به شما میدهد. اگر بعداً به این خطا برخورد کردید، کد خود را برای اشتباه تایپی در نام متغیرها چک کنید.
کمی این موارد را امتحان کنید تا ببینید چه کارهایی میتوانید با آن انجام دهید!
تابع print
این را امتحان کنید:
زمانی که فقط name
را تایپ میکنید، مفسر پایتون با ارائهای از رشته متنی داخل متغیر 'name' پاسخ میدهد، که این پاسخ دنباله کاراکترهای M-a-h-s-a درون علامت نقل قول است. وقتی که print(name)
را اجرا میکنید، پایتون محتوای متغیر را در صفحه نمایش نشان میدهد، البته بدون علامتهای نقل قول که مرتبتر است.
بعداً خواهیم دید که print()
زمانی که میخواهیم از داخل توابع چیزی را نمایش دهیم، یا زمانی که میخواهیم چندین خط از متن را نمایش دهیم، نیز مفید است.
لیستها
پایتون علاوه بر رشته ها و اعداد، انواع مختلفی از اشیا را دارد. و الان نوعی از اشیا را معرفی میکنیم که list نام دارند. لیستها دقیقا همان چیزی هستند که فکرش را میکنید: یک نوع شی که خودش لیستی از اشیای دیگر است. :)
حالا یک لیست بسازید:
بله، این لیست خالی است. آنقدر مفید نیست، درست است؟ بیایید یک لیست از اعداد بخت آزمایی بسازیم. ما نمیخواهیم یک عدد تکراری را انتخاب کنیم، پس اعداد بخت آزمایی را داخل یک متغیر میگذاریم:
بسیار خب، ما یک لیست داریم! چه کاری میتوانیم با آن انجام دهیم؟ بیایید ببینیم چه تعداد عدد بخت آزمایی درون لیست داریم. هیچ ایدهای درمورد این که از چه تابعی باید استفاده کنیم، دارید؟ از قبل این را میدانید!
بله! تابع len()
میتواند تعداد اشیای درون لیست را بدهد. بسیار مفید، درست است؟ حالا بیایید لیستمان را مرتب کنیم:
این یکی هیچ خروجی نداد، بلکه فقط ترتیب قرارگرفتن اعداد در لیست را تغییر داد. بیایید دوباره لیست را چاپ کنیم و ببینیم چه اتفاقی افتاده:
همانطور که میبینید، اعداد درون لیست از کمترین مقدار به بیشترین مقدار مرتب شدهاند. تبریک!
شاید بخواهیم ترتیب اعداد را برعکس کنیم. بیایید انجامش دهیم!
اگر میخواهید چیزی به لیست خود اضافه کنید، میتوانید این دستور را تایپ کنید:
اگر میخواهید فقط عدد اول را نمایش دهید، میتوانید این کار با استفاده از indexes انجام دهید. ایندکس شمارهای است که نشان دهنده محل قرار گرفتن یک آیتم در لیست است. برنامهنویسها ترجیح میدهند شمردن را از 0 شروع کنند. پس شماره اولین شی در لیست 0 است، بعدی 1 است و الی آخر. دستور زیر را امتحان کنید:
همانطور که میبینید، میتوانید به اشیاء مختلف موجود در لیست به کمک نام لیست و ایندکس آن شیء که درون یک براکت آمده باشد، دسترسی پیدا کنید.
برای حذف چیزی از داخل لیست، باید همانطور که در بالا یاد گرفتیم، از ایندکس و متد pop()
استفاده کنید. بیایید یک مثال را امتحان کنیم و چیزی را که قبلا یاد گرفتیم، بهبود دهیم؛ ما اولین عدد لیست را حذف خواهیم کرد.
مانند یک افسون عمل کرد!
برای تفریح بیشتر، باقی ایندکس ها را نیز امتحان کنید:6 ،7، 1000، -1، -6، یا -1000. ببینید میتوانید نتیجه را پیش از اجرای دستور، پیش بینی کنید؟ نتایج برای شما معنایی دارند؟
می توانید لیستی از متدهای مربوط به لیستها را در این بخش از مستندات پایتون پیدا کنید: https://docs.python.org/3/tutorial/datastructures.html
دیکشنریها
برای خوانندگان داخل خانه: این قسمت در ویدئوهای بخش Python Basics: Dictionaries پوشش داده شده است.
دیکشنری شبیه به لیست است، ولی برای دسترسی به مقادیر باید از کلیدها به جای ایندکسهای عددی استفاده کنید. یک کلید میتواند رشته متنی و یا عدد باشد. دستور زبان تعریف یک دیکشنری خالی این است:
خروجی نشان میدهد که یک دیکشنری خالی ساختهاید. هورررااا!
حالا سعی کنید که دستور زیر را بنویسید (سعی کنید اطلاعات خود را نیز جایگزین کنید):
با این دستور، یک متغیر به نام participant
شامل سه جفت کلید-مقدار ساختهاید:
کلید
name
به مقدارMahsa
(یک شیstring
) اشاره میکندکلید
country
به'Iran'
(یکstring
دیگر) اشاره میکندو کلید
favorite_numbers
به[7, 42, 92]
اشاره میکند (یکلیست
با سه عدد داخل آن).
میتوانید محتوای هر کلید را طبق دستور زیر به تنهایی چک کنید:
ببینید، دیکشنری مشابه یک لیست است. ولی نیازی نیست که ایندکس ها را بخاطر بیاورید - فقط کافی است نام کلید را بدانید.
اگر مقدار کلیدی را که وجود ندارد از پایتون درخواست کنیم چه اتفاقی میافتد؟ میتوانید حدس بزنید؟ بیایید امتحان کنیم و ببینیم!
ببینید، یک خطای دیگر! این یکی KeyError است. پایتون به شما کمک میکند و میگوید که کلید 'age'
در دیکشنری وجود ندارد.
چه زمانی از لیست و چه زمانی از دیکشنری باید استفاده کرد؟ نکته خوبی است. قبل از دیدن خط بعد به پاسخ فکر کنید.
یک دنباله ترتیبی از آیتم ها نیاز دارید؟ لیست را انتخاب کنید.
آیا نیاز است کلیدها و مقادیر را به همدیگر ارتباط دهید، که بعدا بتوانید به صورت کارآمد مقادیر را بوسیله کلیدها جستجو کنید؟ از یک دیکشنری استفاده کنید.
دیکشنریها، مانند لیستها تغییر پذیر هستند، به معنای آن که میتوان آنها را پس از ساخت، تغییر داد. میتوانید پس از ساختن دیکشنری، جفت کلید-مقدار جدید به آن اضافه کنید، مانند زیر:
استفاده از متد len()
روی دیکشنری، مانند لیستها، تعداد جفتهای کلید-مقدار را برمیگرداند. دستور زیر را تایپ کنید:
امیدواریم تا اینجا همه چیز برایتان روشن باشد. :) آماده تفریح بیشتر با دیکشنریها هستید؟ ادامه آموزش را بخوانید تا با چیزهای شگفت انگیز روبرو شوید.
میتوانید از متد pop()
برای حذف یک آیتم از دیکشنری استفاده کنید. برای مثال، اگر میخواهید مدخل مربوط به کلید 'favorite_numbers'
را حذف کنید، دستور زیر را تایپ کنید:
همانطور که در خروجی مشاهده میکنید، کلید مقدار متناظر با 'favorite_numbers' حذف شده است.
به همین شکل، میتوانید مقدار مربوط به یک کلید موجود در دیکشنری را تغییر دهید. این را تایپ کنید:
همانطور که میتوانید ببینید مقدار کلید 'country'
از 'Iran'
به 'Germany'
تغییر پیدا کردهاست. :) هیجان انگیز نیست؟ هورا! همین الان یک مورد شگفت انگیز دیگر یاد گرفتید.
چکیده
بسیار عالی! الان چیزهای زیادی راجع به برنامهنویسی میدانید. در همین قسمت آخر شما موارد زیر را آموختید:
خطاها - اگر پایتون دستوری را متوجه نشود و خطایی را نشان دهد، حالا شما میدانید چطور آن خطا را بخوانید و درک کنید
متغیرها - نامهایی برای اشیا هستند که شما را قادر میسازد راحت تر کد بزنید و کد شما را خواناتر میکند
لیستها - لیستی از اشیا که در یک ترتیب خاص ذخیره شدهاند
دیکشنریها - اشیایی که به عنوان جفتهای کلید-مقدار ذخیره شدهاند
برای بخش بعدی هیجان زدهاید؟ :)
مقایسه اشیا
برای خوانندگان داخل خانه: این قسمت در ویدئو های بخش Python Basics: Comparisons پوشش داده شده است.
بخش بزرگی از برنامهنویسی شامل مقایسه اشیا است. مقایسه چه چیزهایی از همه راحتتر است؟ اعداد! بیایید نحوه کارکرد آن را ببینیم:
ما به پایتون تعدادی عدد برای مقایسه کردن دادهایم. همانطور که میبینید، پایتون نه تنها میتواند اعداد را مقایسه کند بلکه میتواند عبارتهای ریاضی مانند 2 * 2
و متدهایی همچون len([4, 5])
که نتیجه 2
را میدهد نیز با هم مقایسه کند. جالب است، نه؟
آیا به این فکر کردهاید که چرا دو علامت مساوی ==
کنار هم برای چک کردن تساوی اعداد گذاشتهایم؟ ما از یک علامت مساوی =
برای انتساب مقادیر به متغیرها استفاده میکنیم. اگر میخواهید مساوی بودن دو شی با همدیگر را چک کنید، همیشه و همیشه باید از دو علامت مساوی ==
استفاده کنید. همچنین میتوانیم مساوی نبودن اشیا را تعیین کنیم. برای این منظور، از علامت =!
، همانطور که در مثال بالا نشان داده شده است، استفاده میکنیم.
دو تمرین دیگر با پایتون انجام بدهید:
ما >
و <
را دیدیم، ولی >=
و <=
چه معنایی دارد؟ آنها را به این صورت بخوانید:
x
>
y یعنی: x بزرگتر از y استx
<
y یعنی: x کوچکتر از y استx
<=
y یعنی: x کوچکتر یا مساوی y استx
>=
y یعنی: x بزرگتر یا مساوی y است
بسیارعالی! میخواهید بیشتر با آن کار کنید؟ این را امتحان کنید:
میتوانید هر تعداد عدد که میخواهید برای مقایسه به پایتون بدهید، و او به شما جواب بدهد! بسیار زیرکانه است، نه؟
and - اگر شما از عملوند
and
استفاده کنید، هر دو مقایسه باید True باشند تا کل عبارت True ارزیابی شودor - اگر شما از عملوند
or
استفاده میکنید، Trueبودن یکی از مقایسه ها کافی است تا کل عبارت True ارزیابی شود
آیا عبارت " مقایسه سیب با پرتقال" را شنیدهاید؟ بیایید نسخه پایتونی آن را امتحان کنیم:
همانطور که در عبارت بالا میبینید، پایتون قادر نیست یک رشته (str
) و یک عدد (int
) را با هم مقایسه کند. درعوض، یک TypeError نشان میدهد و به ما میگوید که دو نوع نمیتوانند با یکدیگر مقایسه شوند.
Boolean
در حقیقت شما با نوع جدیدی از اشیا در پایتون آشنا شدید. به نام Boolean بولیَن.
فقط دو نوع شی بولین وجود دارد:
True - درست
False - نادرست
برای اینکه پایتون این نوع را بشناسد، باید همیشه آن را به صورت 'True' بنویسید (حرف اول بزرگ، و باقی حروف کوچک). true, TRUE, و tRUE را نخواهد شناخت - فقط Trueدرست است. ( برای False هم همینطور.)
بولین ها می توانند به صورت متغیر باشند، اینجا را ببینید:
میتوانید به این صورت نیز انجامش دهید:
با اجرای دستورات زیر، با بولین ها تفریح و تمرین کنید:
True and True
False and True
True or 1 == 1
1 =! 2
تبریک! بولینها یکی از جالب ترین ویژگیهای برنامهنویسی هستند، و شما همین الان یاد گرفتید چطور از آنها استفاده کنید!
ذخیره کنید!
برای خوانندگان داخل خانه: این قسمت در ویدئو های بخش Python Basics: Saving files and "If" statement پوشش داده شده است.
تا اینجا ما تمام کدهای پایتون خود را در مفسر خط فرمان نوشتهایم، که ما را محدود به ورود یک خط از کد در یک زمان میکرد. برنامههای نرمال در فایل ذخیره میشوند و به وسیله مفسر یا کامپایلر زبان برنامهنویسی اجرا میشوند. تا اینجا ما برنامههایمان به صورت - هربار، یک خط - در مفسر پایتون اجرا کردیم. برای تمرینهای بعدی به بیش از یک خط کد نیاز خواهیم داشت، پس ما نیاز داریم تا سریعاً:
از مفسر پایتون خارج شویم
ویرایشگر متنی دلخواه خود را نصب کنیم
چندخط کد در فایل جدید پایتون ذخیره کنیم
آن را اجرا کنیم!
برای خروج از مفسر پایتونی که در حال استفاده از آن هستیم، تابع exit()
را تایپ کنید
این عمل شما را به خط فرمان بازمیگرداند.
پیش از این، ما یک ویرایشگر متنی از بخش ویرایشگر متن انتخاب کردیم. حالا باید ویرایشگر را باز کنیم و چند خط کد در یک فایل جدید بنویسیم (یا اگر از یک کروم بوک استفاده می کنید، یک فایل جدید روی cloud IDE بسازید و فایل را باز کنید):
به وضوح، حالا شما یک توسعه دهنده پایتون کاربلد هستید، پس کمی از کدهایی که امروز یاد گرفتید را بنویسید.
حالا باید فایل را ذخیره کنیم و یک نام توصیفی به آن بدهیم. بیایید فایل را python_intro.py نامگذاری کنیم و آن را روی صفحه دسکتاپ ذخیره کنیم. میتوانیم به فایل هر نامی که میخواهیم بدهیم، ولی پایان یافتن فایل با .py مهم است. پسوند .py به سیستم عامل میگوید که این یک فایل اجرایی پایتون است و پایتون می تواند آن را اجرا کند.
توجه شما باید به یکی از جالبترین ویژگیهای ویرایشگر کد دقت کنید: رنگها! در کنسول پایتون، همه چیز به یک رنگ بود، حالا شما میتوانید ببینید که تابع
def
در یک تابع که در ادامه خواهیم دید). این یکی از دلایلی است که از ویرایشگر کد استفاده میکنیم. :)
وقتی فایل را ذخیره کردیم وقت آن است که آن را اجرا کنیم! ار مهارتهایی که در بخش خط فرمان گفتیم استفاده کنید، از ترمینال برای تغییر دایرکتوری به دسکتاپ استفاده کنید.
بر روی Mac، فرمانها شبیه به این خواهد بود:
بر روی لینوکس شبیه به این است:
(به یاد داشته باشید که ممکن است کلمه "Desktop" به زبان منتخب شما ترجمه شده باشد.)
در خط فرمان ویندوز، شبیه به این است:
بر روی پاورشل ویندوز، شبیه به این است:
اگر گیر کردید تقاضای راهنمایی کنید. مربیها برای همین کار در کنار شما هستند!
حالا از پایتون استفاده کنید تا کدهای موجود در فایل را اجرا کنید:
نکته: در ویندوز 'pyhton3' یک دستور محسوب نمیشود. به جای آن از 'python' برای اجرای فایل استفاده کنید:
بسیار خب! شما اولین برنامه پایتون خود را که در یک فایل ذخیره شده بود اجرا کردید. فوق العاده نیستید؟
حالا شما میتوانید به سراغ یکی از ابزارهای ضروری برنامه نویسی بروید:
If … elif … else
بسیاری از کدها تنها زمانی باید اجرا شوند که شروط داده شده درست باشند. به همین دلیل پایتون چیزی به نام دستور شرطی - دستور if دارد.
کد خود را در فایل python_intro.py با این جایگزین کنید:
اگر ما این را ذخیره و اجرا کنیم، خطایی مانند زیر را مشاهده میکنیم:
پایتون انتظار دارد که ما مشخص کنیم اگر شرط 3 > 2
درست باشد چه دستوری باید اجرا شود (یا به صورت صحیحتر شرط True
باشد). بیایید کاری کنیم که در صورت درست بودن شرط، پایتون در خروجی بنویسد: “It works!”. کد را در فایل python_intro.py به این تغییر دهید:
به تورفتگی خط بعدی کد به اندازه 4 اسپیس دقت کردید؟ به این تورفتگی ها نیاز داریم تا پایتون بداند در صورت درست بودن شرط کدام دستورات را اجرا کند. می توانید از یک اسپیس استفاده کنید، ولی تقریبا همه برنامهنویسان پایتون برای تمیزی و خوانایی کد از 4 اسپیس استفاده می کنند. همچنین میتوانید ویرایشگر کد خود را طوری تنظیم کنید تا یک tab به عنوان 4 اسپیس محسوب شود. زمانی که انتخاب خود را تعیین کردید، آن را تغییر ندهید! اگر تورفتگی را با 4 اسپیس انجام میدهید، تمام تورفتگی های بعدی را با 4 اسپیس انجام دهید، درغیر این صورت به مشکل برمیخورید.
فایل را ذخیره کنید و بار دیگر اجرا کنید:
توجه: یادتان باشد که در ویندوز 'python3' به عنوان یک دستور شناخته نمیشود. از الان به بعد 'python3' را با 'python' برای اجرای فایل ها جایگزین کنید.
چه میشود اگر یک شرط True نباشد؟
در مثال قبلی، کد تنها زمانی اجرا میشد که شرطها درست بودند. ولی پایتون دستورات elif
و else
هم دارد:
وقتی آن را اجرا کنید، خروجی زیر را نمایش میدهد:
اگر 2 عدد بزرگتری از 5 بود، دستور دوم اجرا میشد. بیایید نحوه کار elif
را ببینیم:
و اجرا کنید:
دیدید چه اتفاقی افتاد؟ elif
شما را قادر میسازد تا شرط های بیشتری اضافه کنید تا اگر شروط قبلی درست نبودند، شروط جدید ارزیابی شوند.
میتوانید هر تعداد elif
که خواستید پس از if
اولیه اضافه کنید، به عنوان مثال:
پایتون تمام شرط ها را به ترتیب ارزیابی میکند و چاپ میکند:
کامنتها
کامنتها خطوطی هستند که با #
شروع میشوند. میتوانید بعد از #
هر توضیحاتی راجع به کد بنویسید و پایتون آن را نادیده میگیرد. کامنتها میتوانند کد شما را برای دیگران خواناتر کنند.
بیایید ببینیم چطور دیده میشود:
نیازی نیست برای هر خط کد کامنت بنویسید، ولی برای توضیح اینکه چرا کد شما کاری را انجام میدهد یا برای داشتن یک خلاصه، زمانی که کد کار پیچیدهای را انجام میدهد، مفید اند.
چکیده
در تمرین های اخیر شما موارد زیر را یاد گرفتید:
مقایسه اشیا - در پایتون میتوانید اشیا را به وسیله
>
و>=
و==
و<=
و<
و عملگرهایand
وor
مقایسه کنیدبولینها - نوعی از اشیا که میتواند فقط دو مقدار معتبر بگیرد:
True
یاFalse
** ذخیره فایلها** - ذخیره کردن کدها در فایل تا بتوانید برنامههای بزرگتری را اجرا کنید.
if … elif … else - دستوراتی که شما را قادر میسازد کدها را زمانی اجرا کنید که شروط مشخصی درست باشند.
کامنتها - خطوطی که پایتون آنها را به عنوان کد اجرا نمیکند، و به شما اجازه میدهد تا کد خود را مستند سازی کنید
زمان آخرین بخش از این فصل رسیده است!
تابع خودتان را بنویسید!
برای خوانندگان داخل خانه: این قسمت در ویدئو های بخش Python Basics: Functions پوشش داده شده است.
توابعی مانند len()
را که میتوانید در پایتون اجرا کنید، به خاطر دارید؟ بسیار خوب - شما الان یاد میگیرید که چطور تابع خود را بنویسید!
یک تابع دنبالهای از دستورات است که پایتون باید اجرا کند. همه توابع در پایتون با کلمه کلیدی def
شروع می شوند، نام میگیرند و میتوانند پارامترهای ورودی داشته باشند. بیایید امتحانش کنیم. کد داخل فایل python_intro.py را با این جایگزین کنید:
خب، اولین تابع ما آماده است!
شاید فکر میکنید که چرا نام تابع را در انتهای فایل نوشتهایم. وقتی که ما عبارت def hi():
و خطوط تو رفته زیر آن را مینویسیم، دستورالعملهایی را که باید توسط تابع hi()
اجرا شوند مشخص میکنیم. پایتون این دستورالعملها را میخواند و به یاد میآورد اما آن را اجرا نمیکند. برای آنکه به پایتون بگوییم که این تابع را اجرا کند، باید تابع را فراخوانی کنیم یا آن را با عبارت hi()
صدا بزنیم. پایتون فایل را میخواند و آن را از بالا به پایین اجرا میکند، بنابراین ما باید قبل از صدا زدن آن، عملکرد تابع را در فایل تعریف کرده باشیم.
بیایید این را اجرا کنیم و ببینیم چه اتفاقی میافتد:
توجه: اگر درست کار نکرد، نترسید! خروجی به شما کمک می کند دلیل آن را بفهمید:
اگر یک خطای
NameError
دریافت کردید، احتمالا چیزی را اشتباه تایپ کردهاید، پس چک کنید که از نام یکسانی موقع ساختن تابع باdef hi():
و صدا کردن آن باhi()
استفاده کردهباشید.اگر یک خطای
IndentationError
دریافت کردید، چک کنید که هر دو دستورprint
تورفتگی یکسانی دارند: پایتون میخواهد که تمام کدهای داخل تابع به درستی قرار بگیرند و هم راستا باشند.اگر اصلا چیزی چاپ نشده، چک کنید که آخرین
hi()
تورفته نباشد - اگر تورفتگی داشتهباشد، بخشی از کد تابع میشود و هرگز اجرا نمیشود.
بیایید اولین تابع خود را با پارامتر ورودی بسازیم. ما مثال قبلی را تغییر میدهیم - تابعی که به فرد اجرا کننده آن سلام میکند - با نام خود فرد:
همانطور که میبینید، ما الان به تابع یک پارامتر به نام name
دادیم:
به خاطر داشته باشید: تابع print
با 4 اسپیس داخل دستور if
تورفتگی دارد. بخاطر آنکه تابع زمانی اجرا میشود که شرط درست باشد. بیایید نحوه کار آن را ببینیم:
آخ، خطا. خوشبختانه، پایتون یک پیام خطای مفید به ما میدهد. به ما میگوید که تابع hi()
(همانی که تعریف کردیم) یک پارامتر ورودی دارد (به نام name
) و ما فراموش کردیم زمان صدا کردن تابع آن را وارد کنیم. بیایید آن را در انتهای فایل درست کنیم:
و دوباره اجرا کنیم:
و اگر نام را تغییر دهیم چه میشود؟
و اجرا کنیم:
فکر میکنید اگر نام دیگری را بنویسید چه اتفاقی میافتد؟(بغیر از Ola یا Sonja). امتحان کنید و ببینید که درست فکر می کردید یا نه. باید این را نمایش دهد:
عالی است.نه؟ با این روش، نیاز نیست برای هر تغییر نامی که تابع به آن سلام میکند، کار تکراری انجام دهید. ما دقیقا توابع را برای همین نیاز داریم - شما نمیخواهید تا هر دفعه کد خود را تکرار کنید!
بیایید کار هوشمندانهتری انجام دهیم - بیشتر از 2 اسم داریم، و نوشتن یک شرط برای هر کدام سخت است. درست است؟ محتوای فایل خود را با فایل زیر جایگذاری کنید:
حالا بیایید تا کد را صدا بزنیم:
تبریک! شما همین الان نحوه نوشتن توابع را یاد گرفتید! :)
حلقههای تکرار
برای خوانندگان داخل خانه: این قسمت در ویدئو های بخش Python Basics: For Loop پوشش داده شده است.
این آخرین بخش است. سریع تمام شد درست است؟ :)
برنامهنویسها دوست ندارند کار تکراری انجام دهند. برنامهنویسی برای اتوماتیک کردن کارها است، پس ما نمیخواهیم به طور غیر اتوماتیک به هر فرد سلام کنیم، درست است؟ این همان جایی است که حلقههای تکرار - Loop - به کار میآیند.
هنوز لیستها را به خاطر دارید؟ بیایید یک لیست از دختران بسازیم:
ما میخواهیم به همه آنها با ذکر نامشان سلام کنیم. برای این کار تابع hi
را داریم، بیایید در یک حلقه از آن استفاده کنیم:
عبارت for
کمی شبیه به عبارت if
رفتار میکند؛ کد زیر هر دو باید به اندازه 4 اسپیس تو رفتگی داشته باشد.
اینجا کد کاملی را که باید در فایل باشد، داریم:
و وقتی آن را اجرا کنیم:
همانطور که میبینید، هر چیزی که درون یک عبارت for
با تورفتگی قرار دهید، برای هر المان لیست girls
تکرار میشود.
همچنین میتوانید از for
با استفاده تابع range
روی اعداد نیز استفاده کنید:
که چاپ می کند:
range
تابعی است که لیستی از اعداد متوالی را میسازد (ابتدا و انتهای بازه توسط شما به عنوان پارامتر به تابع داده می شود).
توجه کنید که کران بالای بازه -دومین پارامتر- در لیست ساختهشده توسط پایتون نمیآید (به این معناست که range(1, 6)
از 1 تا 5 میشمارد، اما شامل 6 نمیشود). به دلیل این که "range" نیمهباز است، و منظور این است که شامل عدد ابتدای بازه میشود ولی عدد انتهایی را شامل نمیشود.
چکیده
همین بود. شما فوقالعاده هستید! این بخش دارای ریزه کاری هایی بود و شما باید به خودتان افتخار کنید. ما هم قطعاً به شما افتخار میکنیم که تا اینجا پیش آمده اید!
برای دیدن آموزش رسمی و کامل پایتون آدرس https://docs.python.org/3/tutorial/ را ببینید. این آموزش به شما دید کاملتر و درستتری نسبت به این زبان میدهد. موفق باشید! :)
شاید بخواهید قبل از رفتن به مرحله بعد، کارهای دیگری بکنید، کمی کش قوس بیایید، قدم بزنید و به چشم های خود استراحتی بدهید. :)
Last updated