آموزش پایتون

برای شما

پایتون یک زبان برنامه نویسی قوی و ساده برای یادگیری است. پایتون دارای ساختارهای داده سطح بالای کارآمد و یک راهکار ساده اما موثر برای برنامه نویسی شی گرا است. نحو ظریف پایتون و تایپ پویای آن، به همراه طبیعت مفسر گونه آن، پایتون را تبدیل به یک زبان ایده آل برای برنامه نویسی و توسعه سریع برنامه های کاربردی در بسیاری از حوزه ها و در اکثر پلتفورم ها کرده است. مفسر پایتون و کتابخانه استاندارد گسترده آن برای اکثر پلتفورم ها در وب سایت پایتون به آدرس https://www.python.org/ به صورت رایگان در دسترس است و امکان توزیع رایگان آن نیز ممکن است. مفسر پایتون با توابع جدید و به سادگی قابل توسعه است. در آموزش پایتون مفاهیم اولیه و ویژگی های زبان و سیستم پایتون به صورت غیر رسمی به خواننده معرفی می شود. داشتن یک مفسر پایتون برای تجربه های دم دستی به کار می آید، اما تمامی مثال ها کامل و موجود هستند، بنابراین این آموزش را به صورت آفلاین نیز می توانید بخوانید. برای توصیف اشیا و ماژول ها استاندارد، کتابخانه استاندارد پایتون را ببینید. مرجع زبان پایتون تعاریف رسمی تری از زبان ارائه می کند. همچنین کتاب های متعددی که پایتون را به طور عمیق پوشش می دهند وجود دارد. این آموزش سعی در کامل بودن و پوشش تمامی ویژگی ها، یا حتی ویژگی های معمول و پر استفاده پایتون را ندارد. در عوض، بسیاری از ویژگی های پر ارزش زبان پایتون را معرفی می کند و یک دید خوبی از ساختار زبان به شما خواهد داد. پس از خواندن این آموزش، شما قادر به خواندن و نوشتن ماژول ها و برنامه های پایتون خواهید بود. همچنین برای یادگیری بیشتر درباره ماژول های متنوع کتابخانه پایتون موجود در کتابخانه استاندارد پایتون آماده خواهید بود. نگاهی به فهرست خالی از لطف نخواهد بود.

فراخواني مفسر در زبان برنامه نويسي پايتون

مفسر پایتون معمولا در /usr/local/bin/python3.8 نصب می شود (روی ماشین هایی که این مسیر در دسترس است). با قرار دادن /usr/local/bin در مسیر جستجو پوسته Unix و با نوشتن دستور python3.8 در پوسته می توانید شروع کنید

از آنجایی که انتخاب محل قرار گیری مفسر یک گزینه نصب است، مکان های دیگر نیز ممکن است. این موضوع را با راهنمای محلی پایتون یا مدیر سیستم بررسی کنید. (به عنوان مثال /usr/local/python یک مکان متداول برای قرار گیری است).

بر روی سیستم های ویندوز که پایتون را از آدرس Microsoft Store نصب کرده اید، دستور python3.8 در دسترس خواهد بود

. اگر راه انداز py.exe را نصب کرده اید، می توانید از دستور py استفاده کنید.

قسمت Excursus: Setting environment variables را ببینید تا سایر روش ها برای راه اندازی پایتون را ببینید.

تایپ یک کاراکتر end-of-life (کنترلD در Unix و کنترلZ در ویندوز) در primary prompt باعث می شود تا مفسر با خروج حالت صفر خارج شود. اگر کار نکرد، می توانید با نوشتن دستور quit() از مفسر خارج شوید. ویژگی های تصحیح خطوط مفسر شامل تصحیح تعاملی، جایگزینی تاریخچه و تکمیل کد روی سیستم هایی که از کتابخانه GNU Readline پشتیبانی می کند، می باشد. شاید سریع ترین راه برای بررسی اینکه آیا تصحیح خطوط دستور پشتیبانی می شود، نوشتن کنترلP در اولین prompt پایتون که به آن دسترسی دارید باشد. اگر بوق بزند، شما تصحیح خطوط دستور دارید.

اگر هیچ اتفاقی نیافتد، یا ^P تکرار شود، تصحیح خطوط دستور قابل استفاده نیست. شما تنها می توانید با استفاده از کلید backspace کاراکتر ها را از خط فعلی حذف کنید. مفسر چیزی شبیه به پوسته Unix عمل می کند: زمانی که با ورودی استاندارد متصل به دستگاه tty فراخوانی شود، دستورات را به صورت تعاملی می خواند و اجرا می کند. زمانی که با آرگومان نام فایل یا یک فایل به عنوان ورودی استاندارد فراخوانی شود، یک اسکریپت را از آن فایل می خواند و اجرا می کند.

روش دوم برای شروع مفسر python -c command [arg] … است، که دستور(ها) را، مشابه گزینه -c پوسته در command اجرا می کند. از آنجایی که عبارات پایتون اغلب شامل فاصله یا سایر کاراکتر هایی است که برای پوسته خاص هستند، معمولا توصیه می شود command را در کل با نقل قول تکی، نقل قول کنیم. برخی از ماژول های پایتون در قالب اسکریپت نیز مفید هستند. اینها می توانند با استفاده از python -m module [arg] … فراخوانی شوند، که فایل کد را برای ماژول اجرا می کند، انگار که نام کامل آن را در خط دستور نوشته باشید. زمانی که از یک فایل اسکریپت استفاده می شود، گاهی اوقات مفید است که بتوانیم اسکریپت را اجرا و سپس حالات تعاملی را وارد کنیم. با پاس دادن -i قبل از اسکریپت می توان این کار را انجام داد. تمامی گزینه های خط دستور در Command line and environment توضیح داده شده است.

آموزش پایتون – پاس دادن آرگومان در زبان برنامه نويسي پايتون

هنگامی که برای مفسر شناخته شده باشید، نام اسکریپت و آرگومان های اضافی به لیستی از رشته ها(strings) تبدیل می شوند و به متغییر argv در ماژول sys تخصیص داده می شوند. با اجرای import sys می توانید به این لیست دسترسی پیدا کنید.

طول این لیست حداقل یک است. زمانی که هیچ اسکریپت و آرگومانی داده نشده باشد، sys.argv[0] یک رشته خالی است. زمانی که نام اسکریپت به صورت ‘-‘ ( به معنی ورودی استاندارد) داده شده باشد، مقدار sys.argv[0] ، ‘-‘ می شود. زمانی که از دستور –c استفاده شود، مقدار sys.argv[0] ، ‘-c’ می شود. زمانی که از ماژول –m استفاده شود، مقدار sys.argv[0] ، نام کامل ماژول قرار داده شده می شود. گزینه های بعد از دستور –c و ماژول –m توسط پردازش گزینه مفسر پایتون استفاده نمی شود اما برای اینکه توسط دستور یا ماژول مدیریت شود در sys.argv قرار میگیرد.

حالت تعاملی در Python

زمانی که دستورات از یک tty خوانده شده باشند، گفته می شود که مفسر در حالت تعاملی است. در این حالت، با primary prompt آماده دستور بعدی می شود، معمولا سه علامت بزرگتر از (>>>) . برای خطوط پشت سر هم توسط secondary prompt آماده می شود، به صورت پیش فرض سه نقطه (…). مفسر یک پیام خوش آمد گویی با بیان شماره نسخه خود و اعلان حق کپی برداری را قبل از چاپ اولین prompt چاپ می کند.

1$ python3.8
1Python 3.8 (default, Sep 16 2015, 09:25:04)
1[GCC 4.8.2] on linux
1Type "help", "copyright", "credits" or "license" for more information.
1>>>

خطوط پشت سر هم در زمان وارد کردن ساختار چند خطی مورد نیاز است. به عنوان مثال این قطعه کد if را ببینید:

1>>> the_world_is_flat = True
1>>> if the_world_is_flat:
1...     print("Be careful not to fall off!")
1...
1Be careful not to fall off!

آموزش استفاده از مفسر پایتون قسمت دوم

آموزش استفاده از رمزنگاری متن کد در مفسر پایتون

به طور پیش فرض با متن فایل های پایتون به صورت رمزنگاری شده در UTF-8 رفتار می شود. در این رمزنگاری، کاراکتر های بیشتر زبان های جهان می تواند به طور همزمان در ادبیات(literals) رشته، شناسه ها(identifiers) و توضیحات (comments) مورد استفاده قرار گیرد.

اگرچه کتابخانه استاندارد تنها از کاراکترهای ASCII برای شناسه ها استفاده می کند، و این قراردادی است که هر کد قابل جا به جایی باید از آن پیروی کند. برای نمایش مناسب همه این کاراکتر ها، ویرایشگر شما باید تشخیص بدهد که فایل UTF-8 است، و از فونتی استفاده کند که از همه کاراکتر های استفاده شده در فایل پشتیبانی کند.

برای اعلان یک رمزنگار غیر از رمزنگار پیش فرض، یک خط توضیحات خاص باید در اولین خط فایل اضافه شود. نحو آن به صورت زیر است:

1# -*- coding: encoding -*-

در این جا encoding یکی از codecs های معتبر است که توسط پایتون پشتیبانی می شود. برای مثال، برای اعلان اینکه از رمزنگار Windows-1252 استفاده می شود، اولین خط از فایل متن کد شما باید این باشد:

1# -*- coding: cp1252 -*-

یک استثنا از قاعده خط اول زمانی است که متن کد با UNIX “shebang” line شروع شود. در این شرایط، اعلان رمز نگاری باید در خط دوم فایل اضافه شود. برای مثال:

1#!/usr/bin/env python3
1# -*- coding: cp1252 -*-

توجه !

در Unix، مفسر پایتون 3.x به صورت پیش فرض با نام قابل اجرای python نصب نشده است، بنابراین با پایتون 2.x قابل اجرا که به طور همزمان نصب شده باشد، در تعارض نیست.

معرفی غیر رسمی پایتون

در مثال های زیر، ورودی و خروجی با حضور یا عدم حضور prompt ها ( >>> و … ) تشخیص داده می شود:

برای تکرار مثال، زمانی که prompt ظاهر شد، باید همه چیز را پس از prompt تایپ کنید. خطوطی که با prompt شروع نمی شود خروجی مفسر است. توجه داشته باشید که حضور یک prompt ثانویه در یک خط در مثال، به این معناست که باید یک خط خالی تایپ کنید. از این برای اتمام دستورات چند خطی استفاده می شود. بسیاری از مثال های این کتاب راهنما، حتی آنهایی که در prompt تعاملی وارد شده اند، شامل توضیحات می باشند.

در آموزش پایتون توضیحات با کاراکتر hash (#) شروع می شود و تا انتهای خط فیزیکی ادامه می یابد. توضیحات ممکن است در ابتدای یک خط، پس از فضای خالی و یا پس از کد شروع شود، اما نه در میان حروف یک رشته (string literal). یک کاراکتر hash در حروف یک رشته، تنها یک کاراکتر hash است. از آنجایی که توضیحات برای روشن تر و خوانا تر کردن کد است و توسط پایتون تفسیر نمی شود، ممکن است هنگام نوشتن مثال ها حذف شوند.

تعدادی مثال:

1# this is the first comment
1spam = 1  # and this is the second comment
1          # ... and now a third!
1text = "# This is not a comment because it's inside quotes."

استفاده از پایتون به عنوان ماشین حساب

بیایید برخی دستورات ساده پایتون را امتحان کنیم. مفسر را شروع کنید و صبر کنید تا prompt اولیه ظاهر شود >>>. (نباید زمان زیادی طول بکشد.)

اعداد

مفسر به عنوان یک ماشین حساب ساده عمل می کند: می توانید یک عبارت را در آن تایپ کنید و مفسر مقدار آن را خواهد نوشت.

1نحوه نگارش عبارات سر راست است: عملگر های + ، - ، * و / همانند بسیاری از زبان های دیگر کار می کند (به عنوان مثال پاسکال یا C). از پرانتز ( () ) برای دسته بندی استفاده می شود. برای مثال:
1                                                                                                                             >>> 2 + 2 
1                                                                                                                                      4
1                                                                                                                        >>> 50 - 5*6
1                                                                                                                                            20
1                                                                                                                            >>> (50 - 5*6) / 4
1                                                                                                                                                  5.0
1>>> 8 / 5  # division always returns a floating point number
11.6

اعداد صحیح (integer)

مثلا 2 ، 4 ، 20 از نوع int هستند و آنهایی که بخش کسری دارند مانند 5.0 ، 1.6 از نوع float هستند.

در ادامه این آموزش چیزهای بیشتری درباره انواع اعداد می بینیم. تقسیم (/ ) همیشه یک مقدار float باز می گرداند. برای انجام تقسیم کف (floor division) و گرفتن نتیجه صحیح ( چشم پوشی از هر نتیجه کسری) می توانید از عملگر (// ) استفاده کنید. برای محاسبه باقیمانده از % استفاده کنید.

1>>> 17 / 3  # classic division returns a float
15.666666666666667
1>>>
1>>> 17 // 3  # floor division discards the fractional part
15
1>>> 17 % 3  # the % operator returns the remainder of the division
12
1>>> 5 * 3 + 2  # result * divisor + remainder
117

در پایتون برای محاسبه توان میتوان از عملگر ** استفاده کرد

1>>> 5 ** 2  # 5 squared
125
1>>> 2 ** 7  # 2 to the power of 7
1128

از علامت مساوی (=) برای تخصیص یک مقدار به یک متغیر استفاده می شود. پس از آن هیچ نتیجه ای قبل از prompt تعاملی بعدی نمایش داده نمی شود.

1>>> width = 20
1>>> height = 5 * 9
1>>> width * height
1900

اگر یک متغیر تعریف نشده باشد (تخصیص یک مقدار)، در صورتی که بخواهید از آن استفاده کنید یک خطا دریافت خواهید کرد:

1 >>> n  # try to access an undefined variable
1    Traceback (most recent call last):
1      File "<stdin>", line 1, in <module>
1    NameError: name 'n' is not defined
1</module></stdin>

از اعداد اعشاری (floating point) به طور کامل پشتیبانی می شود. عملگر هایی با انواع متفاوت عملوند، عملوند از نوع صحیح را به اعشاری تبدیل می کنند.

1                                                                                                                        >>> 4 * 3.75 - 1
1                                                                                                                                        14.0

در حالت تعاملی، آخرین عبارت چاپ شده به متغیر _ تخصیص داده می شود. این به این معناست که هنگامی که از پایتون به عنوان ماشین حساب رو میزی استفاده می کنید، به نوعی ادامه محاسبات ساده تر می شود. برای مثال:

1>>> tax = 12.5 / 100
1>>> price = 100.50
1>>> price * tax
112.5625
1>>> price + _
1113.0625
1>>> round(_, 2)
1113.06

کاربر باید با این متغیر به صورت فقط خواندنی رفتار کند. به صراحت یک مقدار را به آن تخصیص ندهید. شما یک متغیر محلی مستقل با همان نام ایجاد می کنید که متغیر داخلی با رفتار جادویی را تحت پوشش خود می برد. علاوه بر int و float ، پایتون از سایر انواع اعداد نیز پشتیبانی می کند، از جمله Decimalو Fraction . همچنین پایتون پشتیبانی داخلی برای اعداد مختلط نیز دارد و از پسوند j یا J برای نمایش بخش موهومی عدد استفاده می کند، برای مثال 3+5j.

رشته ها در برنامه نویسی python

پایتون علاوه بر اعداد، میتواند رشته ها را نیز مدیریت کند. رشته ها به چندین طریق می توانند بیان شوند. رشته ها می توانند در نقل قول تکی (‘…’) و یا دوتایی (“…”) قرار گیرند، و در هر دو صورت نتیجه یکسان است.2 از \ برای در رفتن از نقل قول استفاده می شود.

1>>> 'spam eggs'  # single quotes
1'spam eggs'
1>>> 'doesn\'t'  # use \' to escape the single quote...
1"doesn't"
1>>> "doesn't"  # ...or use double quotes instead
1"doesn't"
1>>> '"Yes," they said.'
1'"Yes," they said.'
1>>> "\"Yes,\" they said."
1'"Yes," they said.'
1>>> '"Isn\'t," they said.'
1'"Isn\'t," they said.'

در مفسر تعاملی، رشته خروجی درون نقل قول قرار می گیرد و از کاراکتر های خاص با backslash ها صرف نظر میشود. در حالی که ممکن است گاهی این متفاوت از ورودی به نظر برسد (نقل قول های در بر گیرنده می توانند تغییر کنند)، هر دو رشته برابر هستند. اگر رشته شامل نقل قول تکی باشد و هیچ نقل قول دوتایی نداشته باشد، رشته در نقل قول دوتایی قرار می گیرد. در غیر این صورت، در نقل قول تکی قرار میگیرد. تابع print() با حذف نقل قول های در برگیرنده و چاپ کاراکتر های خاص و escaped ، خروجی خوانا تری تولید می کند.

1>>> '"Isn\'t," they said.'
1'"Isn\'t," they said.'
1>>> print('"Isn\'t," they said.')
1"Isn't," they said.
1>>> s = 'First line.\nSecond line.'  # \n means newline
1>>> s  # without print(), \n is included in the output
1'First line.\nSecond line.'
1>>> print(s)  # with print(), \n produces a new line
1First line.
1Second line.

اگر نمی خواهید کاراکترهایی که بعد از \ قرار دارند به عنوان کاراکتر های خاص تفسیر شوند، می توانید با اضافه کردن یک r قبل از اولین نقل قول از رشته خام (raw strings) استفاده کنید.

1>>> print('C:\some\name')  # here \n means newline!
1C:\some
1ame
1>>> print(r'C:\some\name')  # note the r before the quote
1C:\some\name

حروف رشته می توانند در چندین خط قرار گیرند. یک روش استفاده از نقل قول سه تایی است : “””…””” یا ”’…”’ . انتهای خطوط به صورت خودکار در رشته قرار دارد، اما با اضافه کردن \ در انتهای خط می توان از آن جلوگیری کرد. مثال زیر:

1print("""\
1Usage: thingy [OPTIONS]
1     -h                        Display this usage message
1     -H hostname               Hostname to connect to
1""")

خروجی زیر را تولید می کند( توجه داشته باشید که شامل خط جدید اولیه نیست).

1Usage: thingy [OPTIONS]
1-h                        Display this usage message
1-H hostname               Hostname to connect to

رشته ها می توانند با استفاده از عملگر + به همدیگر متصل شوند (مانند چسب به هم بچسبند) و با عملگر * تکرار شوند:

1>>> # 3 times 'un', followed by 'ium'
1>>> 3 * 'un' + 'ium'
1'unununium'

تعداد دو یا بیشتر از حروف رشته در کنار یکدیگر(مثل آنهایی که درون یک نقل قول قرار دارند) به صورت خودکار به هم چسبیده هستند.

1>>> 'Py' 'thon'
1'Python'

این ویژگی به خصوص در زمانی که قصد شکستن رشته های طولانی را دارید مفید است.

1>>> text = ('Put several strings within parentheses '
1...         'to have them joined together.')نویسنده مطلب: Diamond

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.