30-Days-Of-Python/Persain/02_variables_builtin_functions.md

17 KiB
Raw Permalink Blame History

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

دنبال کردن در توییتر

نویسنده: Asabeneh Yetayeh
ویرایش دوم: ژوئیه ۲۰۲۱

<< روز ۱ | روز ۳ >>

30DaysOfPython

📘 روز ۲

توابع داخلی

در پایتون، ما توابع داخلی (built-in) زیادی داریم. توابع داخلی به صورت سراسری برای استفاده شما در دسترس هستند، به این معنی که می‌توانید بدون نیاز به import کردن یا پیکربندی خاصی از آن‌ها استفاده کنید. برخی از رایج‌ترین توابع داخلی پایتون عبارتند از: print()، len()، type()، int()، float()، str()، input()، list()، dict()، min()، max()، sum()، sorted()، open()، file()، help() و dir(). در جدول زیر لیست کاملی از توابع داخلی پایتون را که از مستندات پایتون گرفته شده است، مشاهده می‌کنید.

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

بیایید با استفاده از توابع داخلی مختلف، بیشتر تمرین کنیم.

همانطور که در ترمینال بالا می‌بینید، پایتون کلمات رزرو شده‌ای دارد. ما از کلمات رزرو شده برای تعریف متغیرها یا توابع استفاده نمی‌کنیم. در بخش بعدی به متغیرها خواهیم پرداخت.

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

متغیرها

متغیرها داده‌ها را در حافظه کامپیوتر ذخیره می‌کنند. استفاده از متغیرهای یادآور (Mnemonic) در بسیاری از زبان‌های برنامه‌نویسی توصیه می‌شود. متغیر یادآور، نام متغیری است که به راحتی به خاطر سپرده شده و با مفهوم خود مرتبط است. یک متغیر به آدرسی در حافظه اشاره دارد که داده‌ها در آن ذخیره می‌شوند. استفاده از عدد در ابتدای نام، کاراکترهای خاص و خط تیره (-) در نامگذاری متغیر مجاز نیست. یک متغیر می‌تواند نام کوتاهی داشته باشد (مانند x, y, z)، اما نام توصیفی‌تر (firstname, lastname, age, country) به شدت توصیه می‌شود.

قوانین نامگذاری متغیر در پایتون

  • نام متغیر باید با یک حرف یا کاراکتر زیرخط (_) شروع شود.
  • نام متغیر نمی‌تواند با یک عدد شروع شود.
  • نام متغیر فقط می‌تواند شامل حروف و اعداد (alpha-numeric) و زیرخط (A-z, 0-9, و _) باشد.
  • نام متغیرها به حروف بزرگ و کوچک حساس هستند (firstname, Firstname, FirstName و FIRSTNAME متغیرهای متفاوتی هستند).

در اینجا چند مثال از نام‌های متغیر معتبر آورده شده است:

firstname
lastname
age
country
city
first_name
last_name
capital_city
_if # اگر بخواهیم از یک کلمه رزرو شده به عنوان متغیر استفاده کنیم
year_2021
year2021
current_year_2021
birth_year
num1
num2

نام‌های متغیر نامعتبر:

first-name
first@name
first$name
num-1
1num

ما از سبک استاندارد نامگذاری متغیر در پایتون استفاده خواهیم کرد که توسط بسیاری از توسعه‌دهندگان پایتون پذیرفته شده است. توسعه‌دهندگان پایتون از قرارداد نامگذاری snake case (snake_case) استفاده می‌کنند. ما برای متغیری که بیش از یک کلمه دارد، بعد از هر کلمه از کاراکتر زیرخط استفاده می‌کنیم (مثلاً first_name, last_name, engine_rotation_speed). مثال زیر نمونه‌ای از نامگذاری استاندارد متغیرها است؛ زمانی که نام متغیر بیش از یک کلمه باشد، استفاده از زیرخط الزامی است.

وقتی یک نوع داده خاص را به یک متغیر اختصاص می‌دهیم، به آن تعریف متغیر (variable declaration) می‌گویند. به عنوان مثال، در مثال زیر نام کوچک من به متغیر first_name اختصاص داده شده است. علامت مساوی یک عملگر انتساب است. انتساب به معنای ذخیره داده در متغیر است. علامت مساوی در پایتون به معنای برابری ریاضی نیست.

مثال:

# متغیرها در پایتون
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 تعداد نامحدودی آرگومان می‌گیرد. آرگومان مقداری است که می‌توانیم به داخل پرانتز تابع ارسال یا قرار دهیم، مثال زیر را ببینید.

مثال:

print('Hello, World!') # متن Hello, World! یک آرگومان است
print('Hello',',', 'World','!') # می‌تواند چندین آرگومان بگیرد، چهار آرگومان ارسال شده است
print(len('Hello, World!')) # این تابع فقط یک آرگومان می‌گیرد

بیایید مقادیر متغیرهایی که در بالا تعریف کردیم را چاپ کرده و طول آن‌ها را پیدا کنیم:

مثال:

# چاپ مقادیر ذخیره شده در متغیرها

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)

تعریف چند متغیر در یک خط

متغیرهای متعدد را می‌توان در یک خط نیز تعریف کرد:

مثال:

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 اختصاص دهیم. مثال:

first_name = input('نام شما چیست: ')
age = input('چند سال دارید؟ ')

print(first_name)
print(age)

انواع داده

در پایتون چندین نوع داده وجود دارد. برای شناسایی نوع داده از تابع داخلی type استفاده می‌کنیم. از شما می‌خواهم که روی درک کامل انواع داده مختلف تمرکز کنید. وقتی صحبت از برنامه‌نویسی می‌شود، همه چیز به انواع داده مربوط می‌شود. من در همان ابتدا انواع داده را معرفی کردم و دوباره به آن می‌پردازیم، زیرا هر موضوعی به انواع داده مرتبط است. ما در بخش‌های مربوطه به تفصیل انواع داده را پوشش خواهیم داد.

بررسی انواع داده و تبدیل نوع (Casting)

  • بررسی انواع داده: برای بررسی نوع داده یک داده/متغیر خاص از تابع type استفاده می‌کنیم. مثال‌ها:
# انواع داده مختلف در پایتون
# بیایید متغیرهایی با انواع داده گوناگون تعریف کنیم

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) کنیم، عدد باید ابتدا به رشته تبدیل شود. در بخش رشته‌ها درباره الحاق صحبت خواهیم کرد.

    مثال‌ها:

# تبدیل 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') را در شل پایتون یا در فایل خود اجرا کنید تا کلمات رزرو شده یا کلمات کلیدی پایتون را بررسی کنید.

🎉 تبریک می‌گویم! 🎉

<< روز ۱ | روز ۳ >>