چرا Python؟

پایتون یک زبان برنامه‌نویسی سطح بالا و همه‌کاره است که به سادگی و خوانایی بالایش معروف است. تاکید پایتون روی خوانایی است. ترجمه‌ی چند جمله‌ی اول ذن پایتون ( PEP20، با import this هم می‌تونید ذن پایتون رو ببینید.):

بعضی ویژگی‌های مثبت زبان پایتون:

و بعضی ویژگی‌های منفی:

نحوه نصب Python روی ویندوز

برای نصب Python این مراحل رو طی کنید: به سایت python.org برید و از قسمت Downloads و زیر Download for Windows روی آخرین نسخه‌ی Python کلیک کنید.

python.org download page

حالا فایل exe که دانلود کردید رو اجرا کنید. اینجا حتما اول تیک Add python.exe to PATH رو بزنید و بعد روی Install Now کلیک کنید.

install python window

در آخر روی close کلیک کنید. به همین راحتی Python نصب شد. برای اطمینان بهتره توی command prompt دستورهای python و pip -V رو اجرا کنید تا مطمئن بشید که python و pip هر دو نصب شدن

install python window

کدنویسی در محیط IDLE

پایتون همراه با محیط برنامه‌نویسی خودش که IDLE هست نصب میشه. برای اجرای این نرم‌افزار IDLE رو توی Start ویندوز سرچ کنید. اینجا دو روش برای کد نویسی دارید. یا مستقیم توی ترمینال کدهاتون رو تایپ کنید:

IDLE terminal

و یا از منوی File گزینه New File رو انتخاب کنید، یه پنجره جدید باز میشه. توی این پنجره کدهاتون رو بنویسید و ذخیره کنید. بعد از منوی Run گزینه Run Module رو انتخاب کنید. خروجی کدها توی پنجره قبلی IDLE Shell نشون داده میشه:

running python file in IDLE

عملگرها در Python (و کامنت‌نویسی)

قبل از عملگرها درباره‌ی کامنت بگم. هرچیزی که بعد از علامت # نوشته بشه توسط پایتون نادیده گرفته میشه. اینطوری می‌تونیم توضیحاتی راجع به کد بدیم و یا قسمتی از کد رو غیر فعال کنیم.

همچنین لطفا سعی کند تا جایی که امکان داره کامنت‌ها رو انگلیسی بنویسید. فارسی یا فینگلیش نوشتن کامنت هم زشته و هم درک کد رو شاید سخت‌تر بکنه. توی گایدلاین پایتون نوشته:

کدنویس‌های پایتون که از کشورهای غیر انگلیس زبان هستن: لطفا کامنت‌ها رو به زبان انگلیسی بنویسید، مگر اینکه 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 += 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
                

                    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)
                

عملگرهای بیشتری توی پایتون وجود دارن که بعدا باهاشون آشنا می‌شیم.

متغیرها و تعریف متغیر در Python

متغیر (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

نوع داده‌ها در پایتون داینامیک هست، یعنی نیازی نیست که مشخص کنید یک متغیر از چه نوع داده‌ای هست. در Python انواع مختلفی داده برای کار با اعداد، متن، مقادیر بولین، لیست و غیره وجود داره. تابع type() نوع داده‌ی یک متغیر رو بر می‌گردونه. به صورت خلاصه هر کدوم از انواع داده رو مرور می‌کنیم:

انواع مهم دیگه‌ی داده‌ها عبارت‌اند از: 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() استفاده می‌کنیم.

چند تا نکته:

چند تا مثال از نکات بالا:

                    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