~/icsd.ir — bash
SYSTEM_ONLINE

متغیرها و انواع داده

متغیرها قلب هر برنامه‌اند. آن‌ها نام‌هایی هستند که به مقادیر می‌دهیم تا بعداً به آن‌ها رجوع کنیم. در این فصل با انواع داده اصلی پایتون و نحوه کار با متغیرها آشنا می‌شویم.

متغیرها قلب هر برنامه‌اند. آن‌ها نام‌هایی هستند که به مقادیر می‌دهیم تا بعداً به آن‌ها رجوع کنیم. در این فصل با انواع داده اصلی پایتون و نحوه کار با متغیرها آشنا می‌شویم.

متغیر چیست؟

متغیر مثل یک جعبه است که اسم دارد و چیزی داخلش می‌گذاریم:

name = "محمدعلی"
age = 35
height = 1.78
is_developer = True

print(name)
print(age)
print(height)
print(is_developer)

در پایتون، نوع متغیر را خود زبان تشخیص می‌دهد. به این می‌گوییم Dynamic Typing. لازم نیست مثل C یا Java بنویسید int age.

قواعد نام‌گذاری متغیرها

صحیح ✅ غلط ❌ دلیل
user_name user-name خط تیره مجاز نیست
age2 2age اول نباید عدد باشد
price price$ کاراکتر خاص ممنوع
my_var my var فاصله ممنوع
total class کلمه کلیدی پایتون
💡 قرارداد PEP 8:

  • متغیرها با snake_case: user_name، نه userName
  • ثابت‌ها با حروف بزرگ: MAX_RETRY = 5
  • اسم متغیر باید معنادار باشد: price به‌جای p

اعداد: int و float

int (عدد صحیح)

age = 35
year = 1404
negative = -100
big_number = 1_000_000  # خط زیر برای خوانایی - مثل , در فارسی

print(type(age))      # <class 'int'>
print(big_number)     # 1000000

float (عدد اعشاری)

price = 250000.50
pi = 3.14159
temperature = -5.7
scientific = 1.5e3   # یعنی ۱۵۰۰

print(type(price))   # <class 'float'>

عملیات ریاضی

a = 10
b = 3

print(a + b)    # 13   جمع
print(a - b)    # 7    تفریق
print(a * b)    # 30   ضرب
print(a / b)    # 3.333...   تقسیم (نتیجه همیشه float)
print(a // b)   # 3    تقسیم صحیح
print(a % b)    # 1    باقی‌مانده
print(a ** b)   # 1000 توان (a به توان b)

# توابع built-in
print(abs(-5))      # 5    قدر مطلق
print(round(3.7))   # 4    گرد کردن
print(round(3.14159, 2))  # 3.14
print(min(3, 7, 1)) # 1
print(max(3, 7, 1)) # 7

رشته‌ها: str

رشته‌ها متن هستند و داخل کوتیشن قرار می‌گیرند:

single = 'یک کوتیشن'
double = "دو کوتیشن"
triple = """رشته
چندخطی
طولانی"""

# تفاوت تک و دو کوتیشن
quote = "او گفت: 'سلام'"
apostrophe = 'I'm a developer'   # فرار از کوتیشن
better = "I'm a developer"           # ساده‌تر

کاراکترهای ویژه

print("خط جدیدnسطر دوم")     # n = خط جدید
print("سربرگtمقدار")          # t = تب
print("یک \ بک‌اسلش")         # \ = یک 
print("یک " کوتیشن")          # " = "

# Raw String - بدون تفسیر کاراکتر فرار
path = r"C:UsersAliDocuments"
print(path)   # C:UsersAliDocuments

رشته‌های فارسی و یونیکد

پایتون ۳ به‌صورت پیش‌فرض UTF-8 است، پس فارسی کاملاً پشتیبانی می‌شود:

name = "محمدعلی ناظری"
city = "کاشان"
emoji = "🐍"
arabic = "السلام علیکم"

print(name)        # محمدعلی ناظری
print(len(name))   # 13 (شامل فاصله)
print(city + " - " + name)  # کاشان - محمدعلی ناظری

منطقی: bool

فقط دو مقدار: True یا False (با حرف اول بزرگ).

is_active = True
is_admin = False
has_permission = age >= 18    # نتیجه مقایسه

print(type(is_active))  # <class 'bool'>

# bool از مقایسه به‌دست می‌آید
print(5 > 3)            # True
print(10 == 5)          # False
print("علی" == "علی")    # True
⚠️ تفاوت مهم:

= برای انتساب است (x = 5)

== برای مقایسه است (x == 5)

مقدار None

None یعنی «هیچ» یا «خالی». معادل null در زبان‌های دیگر:

result = None
user = None

print(result)            # None
print(type(result))      # <class 'NoneType'>
print(result is None)    # True

# کاربرد رایج: مقدار اولیه
selected_item = None
# بعد از پردازش...
selected_item = "محصول A"

تبدیل نوع داده

اغلب نیاز داریم نوع داده را تغییر دهیم. مثلاً input() همیشه رشته برمی‌گرداند:

# تبدیل به int
str_age = "35"
age = int(str_age)        # 35 (عدد)
print(age + 5)            # 40

# تبدیل به float
str_price = "250000.5"
price = float(str_price)  # 250000.5

# تبدیل به str
num = 42
text = str(num)           # "42"
print("سن: " + text)

# تبدیل به bool
print(bool(0))      # False
print(bool(1))      # True
print(bool(""))     # False - رشته خالی
print(bool("a"))    # True
print(bool(None))   # False
print(bool([]))     # False - لیست خالی

خطاهای رایج تبدیل

int("سلام")     # ValueError!
int("3.14")     # ValueError! (باید float() استفاده شود)
int("3a")       # ValueError!

# روش امن
str_value = "abc"
try:
    num = int(str_value)
except ValueError:
    print("ورودی عدد نیست!")
    num = 0

انتساب چندگانه

# انتساب همزمان
x, y, z = 1, 2, 3

# انتساب یک مقدار به چند متغیر
a = b = c = 0

# جابجایی مقادیر (Pythonic!)
x = 5
y = 10
x, y = y, x      # حالا x=10 و y=5
print(x, y)      # 10 5

توابع built-in اولیه

تابع کاربرد مثال
print() چاپ print("hi")
type() نوع متغیر type(42)
len() طول len("سلام")
id() آدرس حافظه id(x)
input() ورودی input("نام: ")
int(), float(), str(), bool() تبدیل نوع int("5")
abs() قدر مطلق abs(-3)
round() گرد کردن round(3.7)

تمرین فصل

🏋️ تمرین ۱: برنامه‌ای بنویسید که سه متغیر name، age و salary تعریف کند و آن‌ها را همراه با نوع داده هرکدام چاپ کند (با type()).
🏋️ تمرین ۲: طول دور یک دایره با شعاع ۷ را محاسبه و چاپ کنید (2 * 3.14159 * r).
🏋️ تمرین ۳: یک رشته را به‌صورت متغیر بسازید و طول آن، تعداد حروف بدون فاصله و حروف بزرگش را چاپ کنید.
🏋️ تمرین ۴: دو متغیر a = 5 و b = 10 بسازید و بدون استفاده از متغیر سوم، مقادیرشان را جابجا کنید.

جمع‌بندی

در این فصل یاد گرفتیم:

  • متغیر چیست و قواعد نام‌گذاری آن
  • چهار نوع داده اصلی: int، float، str، bool
  • مقدار خاص None
  • تبدیل نوع داده با int()، str()، float()، bool()
  • انتساب چندگانه و trick جابجایی متغیرها
  • توابع built-in اولیه پایتون

نمایش سایت

رنگ سایت
حالت نمایش
اندازهٔ متن
خوانایی

این تنظیمات فقط روی مرورگر شما ذخیره می‌شود.