۳۰ روز پایتون: روز ۲ - متغیرها، توابع داخلی

دنبال کردن در توییتر نویسنده: Asabeneh Yetayeh
ویرایش دوم: ژوئیه ۲۰۲۱
[<< روز ۱](./readme.md) | [روز ۳ >>](./03_operators.md) ![30DaysOfPython](../images/30DaysOfPython_banner3@2x.png) - [📘 روز ۲](#-روز-۲) - [توابع داخلی](#توابع-داخلی) - [متغیرها](#متغیرها) - [تعریف چند متغیر در یک خط](#تعریف-چند-متغیر-در-یک-خط) - [انواع داده](#انواع-داده) - [بررسی انواع داده و تبدیل نوع (Casting)](#بررسی-انواع-داده-و-تبدیل-نوع-casting) - [اعداد](#اعداد) - [💻 تمرینات - روز ۲](#-تمرینات---روز-۲) - [تمرینات: سطح ۱](#تمرینات-سطح-۱) - [تمرینات: سطح ۲](#تمرینات-سطح-۲) # 📘 روز ۲ ## توابع داخلی در پایتون، ما توابع داخلی (built-in) زیادی داریم. توابع داخلی به صورت سراسری برای استفاده شما در دسترس هستند، به این معنی که می‌توانید بدون نیاز به import کردن یا پیکربندی خاصی از آن‌ها استفاده کنید. برخی از رایج‌ترین توابع داخلی پایتون عبارتند از: `print()`، `len()`، `type()`، `int()`، `float()`، `str()`، `input()`، `list()`، `dict()`، `min()`، `max()`، `sum()`، `sorted()`، `open()`، `file()`، `help()` و `dir()`. در جدول زیر لیست کاملی از توابع داخلی پایتون را که از [مستندات پایتون](https://docs.python.org/3/library/functions.html) گرفته شده است، مشاهده می‌کنید. بیایید شل پایتون را باز کنیم و شروع به استفاده از برخی از رایج‌ترین توابع داخلی کنیم. بیایید با استفاده از توابع داخلی مختلف، بیشتر تمرین کنیم. همانطور که در ترمینال بالا می‌بینید، پایتون کلمات رزرو شده‌ای دارد. ما از کلمات رزرو شده برای تعریف متغیرها یا توابع استفاده نمی‌کنیم. در بخش بعدی به متغیرها خواهیم پرداخت. معتقدم تا الان با توابع داخلی آشنا شده‌اید. بیایید یک تمرین دیگر از توابع داخلی انجام دهیم و سپس به بخش بعدی برویم. ## متغیرها متغیرها داده‌ها را در حافظه کامپیوتر ذخیره می‌کنند. استفاده از متغیرهای یادآور (Mnemonic) در بسیاری از زبان‌های برنامه‌نویسی توصیه می‌شود. متغیر یادآور، نام متغیری است که به راحتی به خاطر سپرده شده و با مفهوم خود مرتبط است. یک متغیر به آدرسی در حافظه اشاره دارد که داده‌ها در آن ذخیره می‌شوند. استفاده از عدد در ابتدای نام، کاراکترهای خاص و خط تیره (-) در نامگذاری متغیر مجاز نیست. یک متغیر می‌تواند نام کوتاهی داشته باشد (مانند x, y, z)، اما نام توصیفی‌تر (firstname, lastname, age, country) به شدت توصیه می‌شود. قوانین نامگذاری متغیر در پایتون - نام متغیر باید با یک حرف یا کاراکتر زیرخط (\_) شروع شود. - نام متغیر نمی‌تواند با یک عدد شروع شود. - نام متغیر فقط می‌تواند شامل حروف و اعداد (alpha-numeric) و زیرخط (A-z, 0-9, و \_) باشد. - نام متغیرها به حروف بزرگ و کوچک حساس هستند (firstname, Firstname, FirstName و FIRSTNAME متغیرهای متفاوتی هستند). در اینجا چند مثال از نام‌های متغیر معتبر آورده شده است: ```shell firstname lastname age country city first_name last_name capital_city _if # اگر بخواهیم از یک کلمه رزرو شده به عنوان متغیر استفاده کنیم year_2021 year2021 current_year_2021 birth_year num1 num2 ``` نام‌های متغیر نامعتبر: ```shell first-name first@name first$name num-1 1num ``` ما از سبک استاندارد نامگذاری متغیر در پایتون استفاده خواهیم کرد که توسط بسیاری از توسعه‌دهندگان پایتون پذیرفته شده است. توسعه‌دهندگان پایتون از قرارداد نامگذاری snake case (snake\_case) استفاده می‌کنند. ما برای متغیری که بیش از یک کلمه دارد، بعد از هر کلمه از کاراکتر زیرخط استفاده می‌کنیم (مثلاً first\_name, last\_name, engine\_rotation\_speed). مثال زیر نمونه‌ای از نامگذاری استاندارد متغیرها است؛ زمانی که نام متغیر بیش از یک کلمه باشد، استفاده از زیرخط الزامی است. وقتی یک نوع داده خاص را به یک متغیر اختصاص می‌دهیم، به آن تعریف متغیر (variable declaration) می‌گویند. به عنوان مثال، در مثال زیر نام کوچک من به متغیر `first_name` اختصاص داده شده است. علامت مساوی یک عملگر انتساب است. انتساب به معنای ذخیره داده در متغیر است. علامت مساوی در پایتون به معنای برابری ریاضی نیست. *مثال:* ```py # متغیرها در پایتون first_name = 'Asabeneh' last_name = 'Yetayeh' country = 'Finland' city = 'Helsinki' age = 250 is_married = True skills = ['HTML', 'CSS', 'JS', 'React', 'Python'] person_info = { 'firstname':'Asabeneh', 'lastname':'Yetayeh', 'country':'Finland', 'city':'Helsinki' } ``` بیایید از توابع داخلی `print()` و `len()` استفاده کنیم. تابع `print` تعداد نامحدودی آرگومان می‌گیرد. آرگومان مقداری است که می‌توانیم به داخل پرانتز تابع ارسال یا قرار دهیم، مثال زیر را ببینید. **مثال:** ```py print('Hello, World!') # متن Hello, World! یک آرگومان است print('Hello',',', 'World','!') # می‌تواند چندین آرگومان بگیرد، چهار آرگومان ارسال شده است print(len('Hello, World!')) # این تابع فقط یک آرگومان می‌گیرد ``` بیایید مقادیر متغیرهایی که در بالا تعریف کردیم را چاپ کرده و طول آن‌ها را پیدا کنیم: **مثال:** ```py # چاپ مقادیر ذخیره شده در متغیرها print('First name:', first_name) print('First name length:', len(first_name)) print('Last name: ', last_name) print('Last name length: ', len(last_name)) print('Country: ', country) print('City: ', city) print('Age: ', age) print('Married: ', is_married) print('Skills: ', skills) print('Person information: ', person_info) ``` ### تعریف چند متغیر در یک خط متغیرهای متعدد را می‌توان در یک خط نیز تعریف کرد: **مثال:** ```py first_name, last_name, country, age, is_married = 'Asabeneh', 'Yetayeh', 'Helsinki', 250, True print(first_name, last_name, country, age, is_married) print('First name:', first_name) print('Last name: ', last_name) print('Country: ', country) print('Age: ', age) print('Married: ', is_married) ``` دریافت ورودی از کاربر با استفاده از تابع داخلی `input()`. بیایید داده‌هایی را که از کاربر می‌گیریم به متغیرهای `first_name` و `age` اختصاص دهیم. **مثال:** ```py first_name = input('نام شما چیست: ') age = input('چند سال دارید؟ ') print(first_name) print(age) ``` ## انواع داده در پایتون چندین نوع داده وجود دارد. برای شناسایی نوع داده از تابع داخلی `type` استفاده می‌کنیم. از شما می‌خواهم که روی درک کامل انواع داده مختلف تمرکز کنید. وقتی صحبت از برنامه‌نویسی می‌شود، همه چیز به انواع داده مربوط می‌شود. من در همان ابتدا انواع داده را معرفی کردم و دوباره به آن می‌پردازیم، زیرا هر موضوعی به انواع داده مرتبط است. ما در بخش‌های مربوطه به تفصیل انواع داده را پوشش خواهیم داد. ## بررسی انواع داده و تبدیل نوع (Casting) - بررسی انواع داده: برای بررسی نوع داده یک داده/متغیر خاص از تابع `type` استفاده می‌کنیم. **مثال‌ها:** ```py # انواع داده مختلف در پایتون # بیایید متغیرهایی با انواع داده گوناگون تعریف کنیم first_name = 'Asabeneh' # str last_name = 'Yetayeh' # str country = 'Finland' # str city= 'Helsinki' # str age = 250 # int، این سن واقعی من نیست، نگران نباشید # چاپ انواع داده print(type('Asabeneh')) # str print(type(first_name)) # str print(type(10)) # int print(type(3.14)) # float print(type(1 + 1j)) # complex print(type(True)) # bool print(type([1, 2, 3, 4])) # list print(type({'name':'Asabeneh'})) # dict print(type((1,2))) # tuple print(type(zip([1,2],[3,4]))) # zip ``` - تبدیل نوع (Casting): تبدیل یک نوع داده به نوع داده دیگر. ما از `int()`، `float()`، `str()`، `list`، `set` استفاده می‌کنیم. هنگام انجام عملیات حسابی، اعداد رشته‌ای باید ابتدا به `int` یا `float` تبدیل شوند، در غیر این صورت با خطا مواجه خواهیم شد. اگر یک عدد را با یک رشته الحاق (concatenate) کنیم، عدد باید ابتدا به رشته تبدیل شود. در بخش رشته‌ها درباره الحاق صحبت خواهیم کرد. **مثال‌ها:** ```py # تبدیل int به float num_int = 10 print('num_int',num_int) # 10 num_float = float(num_int) print('num_float:', num_float) # 10.0 # تبدیل float به int gravity = 9.81 print(int(gravity)) # 9 # تبدیل int به str num_int = 10 print(num_int) # 10 num_str = str(num_int) print(num_str) # '10' # تبدیل str به int یا float num_str = '10.6' num_float = float(num_str) # ابتدا رشته را به عدد اعشاری تبدیل می‌کنیم num_int = int(num_float) # سپس عدد اعشاری را به عدد صحیح تبدیل می‌کنیم print('num_int', int(num_str)) # 10 print('num_float', float(num_str)) # 10.6 num_int = int(num_float) print('num_int', int(num_int)) # 10 # تبدیل str به list first_name = 'Asabeneh' print(first_name) # 'Asabeneh' first_name_to_list = list(first_name) print(first_name_to_list) # ['A', 's', 'a', 'b', 'e', 'n', 'e', 'h'] ``` ## اعداد انواع داده عددی در پایتون: 1. اعداد صحیح (Integers): اعداد صحیح (منفی، صفر و مثبت) مثال: ... -۳، -۲، -۱، ۰، ۱، ۲، ۳ ... 2. اعداد ممیز شناور (Floating Point Numbers) (اعداد اعشاری) مثال: ... -۳.۵، -۲.۲۵، -۱.۰، ۰.۰، ۱.۱، ۲.۲، ۳.۵ ... 3. اعداد مختلط (Complex Numbers) مثال: 1 + j، 2 + 4j، 1 - 1j 🌕 شما فوق‌العاده‌اید. شما به تازگی چالش‌های روز دوم را به پایان رسانده‌اید و دو قدم در مسیر خود به سوی بزرگی جلوتر هستید. اکنون چند تمرین برای مغز و عضلات خود انجام دهید. ## 💻 تمرینات - روز ۲ ### تمرینات: سطح ۱ 1. داخل پوشه `30DaysOfPython` یک پوشه به نام `day_2` ایجاد کنید. داخل این پوشه فایلی به نام `variables.py` ایجاد کنید. 2. یک کامنت پایتون بنویسید که بگوید 'Day 2: 30 Days of python programming'. 3. یک متغیر برای نام کوچک تعریف کرده و به آن مقدار دهید. 4. یک متغیر برای نام خانوادگی تعریف کرده و به آن مقدار دهید. 5. یک متغیر برای نام کامل تعریف کرده و به آن مقدار دهید. 6. یک متغیر برای کشور تعریف کرده و به آن مقدار دهید. 7. یک متغیر برای شهر تعریف کرده و به آن مقدار دهید. 8. یک متغیر برای سن تعریف کرده و به آن مقدار دهید. 9. یک متغیر برای سال تعریف کرده و به آن مقدار دهید. 10. یک متغیر `is_married` تعریف کرده و به آن مقدار دهید. 11. یک متغیر `is_true` تعریف کرده و به آن مقدار دهید. 12. یک متغیر `is_light_on` تعریف کرده و به آن مقدار دهید. 13. چندین متغیر را در یک خط تعریف کنید. ### تمرینات: سطح ۲ 1. نوع داده تمام متغیرهای خود را با استفاده از تابع داخلی `type()` بررسی کنید. 2. با استفاده از تابع داخلی `len()`، طول نام کوچک خود را پیدا کنید. 3. طول نام کوچک و نام خانوادگی خود را مقایسه کنید. 4. عدد ۵ را به عنوان `num_one` و ۴ را به عنوان `num_two` تعریف کنید. 5. `num_one` و `num_two` را با هم جمع کرده و مقدار آن را به متغیری به نام `total` اختصاص دهید. 6. `num_two` را از `num_one` کم کرده و مقدار آن را به متغیری به نام `diff` اختصاص دهید. 7. `num_two` و `num_one` را در هم ضرب کرده و مقدار آن را به متغیری به نام `product` اختصاص دهید. 8. `num_one` را بر `num_two` تقسیم کرده و مقدار آن را به متغیری به نام `division` اختصاص دهید. 9. از تقسیم باقیمانده برای پیدا کردن حاصل تقسیم `num_two` بر `num_one` استفاده کرده و مقدار آن را به متغیری به نام `remainder` اختصاص دهید. 10. `num_one` به توان `num_two` را محاسبه کرده و مقدار آن را به متغیری به نام `exp` اختصاص دهید. 11. حاصل تقسیم صحیح `num_one` بر `num_two` را پیدا کرده و مقدار آن را به متغیری به نام `floor_division` اختصاص دهید. 12. شعاع یک دایره ۳۰ متر است. 1. مساحت دایره را محاسبه کرده و مقدار آن را به متغیری با نام `_area_of_circle_` اختصاص دهید. 2. محیط دایره را محاسبه کرده و مقدار آن را به متغیری با نام `_circum_of_circle_` اختصاص دهید. 3. شعاع را به عنوان ورودی از کاربر گرفته و مساحت را محاسبه کنید. 13. از تابع داخلی `input` برای دریافت نام، نام خانوادگی، کشور و سن از کاربر استفاده کرده و مقادیر را در متغیرهای مربوطه ذخیره کنید. 14. `help('keywords')` را در شل پایتون یا در فایل خود اجرا کنید تا کلمات رزرو شده یا کلمات کلیدی پایتون را بررسی کنید. 🎉 تبریک می‌گویم\! 🎉 [<< روز ۱](./readme.md) | [روز ۳ >>](./03_operators.md)