متغیرها و انواع داده
متغیرها قلب هر برنامهاند. آنها نامهایی هستند که به مقادیر میدهیم تا بعداً به آنها رجوع کنیم. در این فصل با انواع داده اصلی پایتون و نحوه کار با متغیرها آشنا میشویم.
متغیرها قلب هر برنامهاند. آنها نامهایی هستند که به مقادیر میدهیم تا بعداً به آنها رجوع کنیم. در این فصل با انواع داده اصلی پایتون و نحوه کار با متغیرها آشنا میشویم.
متغیر چیست؟
متغیر مثل یک جعبه است که اسم دارد و چیزی داخلش میگذاریم:
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 |
کلمه کلیدی پایتون |
- متغیرها با
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 اولیه پایتون