پایتون یک زبان برنامهنویسی سطح بالا و همهکاره است که به سادگی و خوانایی بالایش معروف است.
تاکید پایتون روی خوانایی است.
ترجمهی چند جملهی اول ذن پایتون (
PEP20،
با import this هم میتونید ذن پایتون رو ببینید.):
- زیبا بهتر از زشت است.
- صریح (explicit) بهتر از ضمنی (implicit) است.
- ساده بهتر از پیچیده است.
- پیچیده بهتر از مبهم و غیر قابل فهم است.
- صاف بهتر از تو در تو است.
- پراکنده بهتر از متراکم است.
- خوانایی مهم است.
- موارد خاص آنقدر خاص نیستند که قوانین را زیر پا بگذارید...
بعضی ویژگیهای مثبت زبان پایتون:
و بعضی ویژگیهای منفی:
برای نصب Python این مراحل رو طی کنید: به سایت python.org برید و از قسمت Downloads و زیر Download for Windows روی آخرین نسخهی Python کلیک کنید.
حالا فایل exe که دانلود کردید رو اجرا کنید. اینجا حتما اول تیک Add python.exe to PATH رو بزنید و بعد روی Install Now کلیک کنید.
در آخر روی close کلیک کنید.
به همین راحتی Python نصب شد.
برای اطمینان بهتره توی command prompt دستورهای
python
و
pip -V
رو اجرا کنید تا مطمئن بشید که python و pip هر دو نصب شدن
پایتون همراه با محیط برنامهنویسی خودش که IDLE هست نصب میشه. برای اجرای این نرمافزار IDLE رو توی Start ویندوز سرچ کنید. اینجا دو روش برای کد نویسی دارید. یا مستقیم توی ترمینال کدهاتون رو تایپ کنید:
و یا از منوی File گزینه New File رو انتخاب کنید، یه پنجره جدید باز میشه. توی این پنجره کدهاتون رو بنویسید و ذخیره کنید. بعد از منوی Run گزینه Run Module رو انتخاب کنید. خروجی کدها توی پنجره قبلی IDLE Shell نشون داده میشه:
قبل از عملگرها دربارهی کامنت بگم.
هرچیزی که بعد از علامت
#
نوشته بشه توسط پایتون نادیده گرفته میشه.
اینطوری میتونیم توضیحاتی راجع به کد بدیم و یا قسمتی از کد رو غیر فعال کنیم.
همچنین لطفا سعی کند تا جایی که امکان داره کامنتها رو انگلیسی بنویسید. فارسی یا فینگلیش نوشتن کامنت هم زشته و هم درک کد رو شاید سختتر بکنه. توی گایدلاین پایتون نوشته:
کدنویسهای پایتون که از کشورهای غیر انگلیس زبان هستن: لطفا کامنتها رو به زبان انگلیسی بنویسید، مگر اینکه 120٪ مطمئن هستید که هیچوقت کسی که به زبان شما حرف نمیزنه کد شما رو نخواهد دید!
import math
r = 3 # radius
x = 0
# x = 1
# the equation for the upper half of a circle:
y = math.sqrt(r ** 2 - x ** 2)
print(y)
#>> 3.0
اینجا از کامنتها استفاده کردیم تا توضیح بدیم که متغیر اول شعاعه، معادله مال دایرهست، و همچنین مقدار x برابر با صفر میمونه، چون اون قسمت از کد که مقدارش رو یک میگذاره با کامنت غیر فعال کردیم. نتیجه کدها رو هم با کامنت نشون میدم (مثل 3.0 بالا).
برگردیم به عملگرها (operators). عملگرها علامتهای خاصی هستند که کاری روی مقادیر یا متغیرها انجام میدن. عملگرهای مهم پایتون:+ - * / % ** //
البته این عملگرها برای انواع داده مختلف عملیات خاص خودش رو انجام میدن.
مثل عملگر جمع (+) که دو تا رشته رو به هم وصل میکنه.
2 + 1 # 3 -> addition
2 - 1 # 1 -> subtraction
2 * 1 # 2 -> multiplication
5 / 2 # 2.5 -> division
5 % 3 # 2 -> modulus
2 ** 3 # 8 -> exponentiation
8 // 3 # 2 -> floor division
5 == 2 # False
5 != 2 # True
5 > 2 # True
5 >= 2 # True
5 < 2 # False
5 <= 2 # False
=
هست که مقدار سمت راست رو به متغیر سمت چپ اختصاص میده.
x += 5
برابر است با
x = x + 5
یعنی اول مقدار قبلی x با 5 جمع میشه، و بعد در x ذخیره میشه. لیست بعضی از این عملگرها:
x = 5
x += 5 # x = x + 5
x -= 5 # x = x - 5
x /= 5 # x = x / 5
x *= 5 # x = x * 5
x %= 5 # x = x % 5
x //= 5 # x = x // 5
x **= 5 # x = x ** 5
and or not
و روی دادهی بولین (True, False) استفاده میشن:
True and False # False (True only if both statements are True)
True or False # True (True if at least one of the statements are True)
not True # False (Reverses the result)
عملگرهای بیشتری توی پایتون وجود دارن که بعدا باهاشون آشنا میشیم.
متغیر (variable) تو پایتون اسم محلی از حافظه است که مقداری رو تو خودش نگه داشته. میشه اینطوری بهش نگاه کرد که متغیر یک ظرفه و یک شیء (object) رو تو خودش نگهداری میکنه. برای تعریف متغیر در Python از علامت مساوی که عملگر تخصیص یا assignment هست استفاده میکنیم. این عملگر مقدار سمت راست مساوی رو به متغیر سمت چپ اختصاص میده. در ادامه میبینید که نیازی نیست مثل زبانهای بیس C و ...نوع داده رو مشخص کنید و پایتون خودش نوع داده رو تشخیص میده.
وقتی یک متغیر رو تعریف میکنید در حقیقت دارید یک محل از حافظه رو به اسم اون متغیر رزرو میکنید که بعدا میتونید با اون اسم دوباره به اون محل از حافظه دسترسی داشته باشید.
برای مقداردهی چند متغیر به صورت همزمان مثل مثال زیر میتونید از کاما بینشون استفاده کنید.
# defining a variable named first_name and assigning a string to it:
first_name = "alice"
# defining a float variable:
PI = 3.141593
# assigning multiple variables at once
vx, vy, vz, shape = 5, 6, 2.5, "circle"
اسم متغیر فقط باید از حروف انگلیسی، اعداد و علامت Underscore
_
تشکیل شده باشه، و حرف اولش نمیتونه عدد باشه.
همچنین اسم متغیر نمیتونه یکی از کلمات کلیدی پایتون باشه.
لیست کلمات کلیدی پایتون رو میتونید با دستور زیر چاپ کنید:
import keyword
print(", ".join(keyword.kwlist + keyword.softkwlist))
#>> False, None, True, and, as, assert, async, await, break, class,
#>> continue, def, del, elif, else, except, finally, for, from,
#>> global, if, import, in, is, lambda, nonlocal, not, or,
#>> pass, raise, return, try, while, with, yield, _, case, match, type
همچنین تو سایت پایتون پیشنهاد شده که از حروف "l" (ل کوچک انگلیسی) و "O" (او بزرگ انگلیسی) و "I" (آی بزرگ انگلیسی) برای اسم متغیر استفاده نکنید، چون بعضی فونتها اینها رو شبیه به هم و شبیه اعداد 0 و 1 نشون میدن.
نوع دادهها در پایتون داینامیک هست، یعنی نیازی نیست که مشخص کنید یک متغیر از چه نوع دادهای هست.
در Python انواع مختلفی داده برای کار با اعداد، متن، مقادیر بولین، لیست و غیره وجود داره.
تابع
type()
نوع دادهی یک متغیر رو بر میگردونه.
به صورت خلاصه هر کدوم از انواع داده رو مرور میکنیم:
5, -14, 4815162342
215.5, -3.14, 8.0
"Alice", 'Jane'
True, False
و معمولا برای شرط (condition) استفاده میشه
انواع مهم دیگهی دادهها عبارتاند از:
list, tuple, set, dict, 'NoneType'
که بمونه برای بعد.
num1 = 58
num2 = 58.0
text = "Alice"
boolean = False
print(type(num1))
print(type(num2))
print(type(text))
print(type(boolean))
#>> <class 'int'>
#>> <class 'float'>
#>> <class 'str'>
#>> <class 'bool'>
اولویت عملگرها در پایتون مهم است. مثلا در
6 - 2 * 3
اگر محسابات از چپ به راست انجام میشد، نتیجه 12 میشد. ولی اولویت ضرب بیشتر از منها است، و نتیجه 0
میشه.
ترتیب اولویتها به این قرار است:
()
**
*, /, //, %
+, -
برای مثال در زیر میبینید که فقط با استفاده از پرانتز نتیجه چطور تغییر میکنه:
x = 4
y = 2
result1 = 5 * x ** 2 - y * 3 + 4
result2 = 5 * x ** 2 - y * (3 + 4)
result3 = (5 * x) ** (2 - y) * 3 + 4
print(result1)
print(result2)
print(result3)
#>> 78
#>> 66
#>> 7
برای چاپ نتیجه در خروجی از فانکشن
print()
استفاده میکنیم.
چند تا نکته:
/
همیشه خروجی float برمیگردونه، حتی اگر نتیجه قسمت اعشار نداشته باشه.
//
روی int، از نوع int هست، و قسمت اعشار حذف میشه.
x, y, z = 6, 2, 4.0
result1 = x / y # 3.0
result2 = x // y # 3
result3 = x + y + z # 12.0
result4 = x // z # 1.0
print(type(result1))
print(type(result2))
print(type(result3))
print(type(result4))
#>> float
#>> int
#>> float
#>> float