متغیرها، عبارات و دستورات
مقدار
برای مشخص کردن نوع مقدار از تابع type() استفاده میکنیم. مقادیری که در پایتون استفاده میشوند به صورت زیر هستند:
- رشتهها (strings)
type("Mohsen")<class 'str'>
- عدد صحیح (integers)
type(3)<class 'int'>
- عدد اعشاری (floats)
type(3.14)<class 'float'>
- بولیها (booleans)
عبارت بولی (Boolean expressions) عبارتی است که نتیجهی آن درستی (True) یا نادرستی (False) است.
type(True)<class 'bool'>
type(False)<class 'bool'>
- …
متغیر
برخی دستورات پایتون شامل مقادیری است که مجدداً درون برنامه، برنامهنویس به آن نیاز خواهد داشت. بنابراین ما به عنوان برنامهنویس میبایست یک نام نمادین برای این مقادیر تعریف کنیم که در وقت لازم با این نام تعریف شده، پایتون را متوجه استفاده از آن مقدار موردنظر گردانیم. واژهای که برای این نام مخصوص استفاده میشود، Variable یا متغیر است:
x = 6
print(x)6
y = x * 7
print(y)42
در این مثال ساده، ما سعی کردیم به پایتون بگوییم در ابتدا برای مقدار 6، برچسبی به نام x در نظر بگیرد و سپس در دستور بعدی همین مقدار را با نام x بازیابی کردیم. آنگاه آن را در 7 ضرب کرده و حاصل آن را در متغیر جدیدی با نام y ذخیره کردیم.
دو خط مربوط به تابع print مقادیر x و y صرفاً برای مشاهده مقادیر ذخیره شده در متغیرهای بکار رفته در پرانتز میباشد.
نکته. کاراکترهای مجاز برای متغیرها به صورت A-Z, a-z, 0-9 و _ است.
نکته.
نام متغیرها (بیشتر بدانید)
Variable_25 = "Salam" lowercase
thisisalowercase = "value" snake_case
this_is_a_snake_case_variable = "value"camelCase
thisIsACamelCaseVarible = "value"PascalCase
ThisIsPascalCaseVariable = "value"UPPERCASE
THISISAUPPERCASEVARIABLE = "value"kebab-case
this-is-a-kebab-case-variable = "value" File "<stdin>", line 1
this-is-a-kebab-case-variable = "value"
^^
SyntaxError: invalid syntax
نکته. معمولا از ترکیب UPPERCASE و kebab-case برای متغیرهای مسیر و فایلها استفاده میشود.
PATH_OR_FILE ="this-is-a-kebab-case-path/filename"گرفتن ورودی از کاربر به صورت زیر است
name = input("Enter your name: ")
print("Hello", name)Enter your name: Mohsen
Hello Mohsen
اگر ورودی عدد باشد باید توسط input در قالب عدد وارد شود.
age = int(input("Enter your age: "))
print("You are", age, "years old.")Enter your age: 30
You are 30 years old.
عملگرهای مقایسهای
برای مقایسه دو متغیر از عبارات مقایسهای زیر استفاده میشود:
- مساوی equal (
==)
5 == 5True
5 == 6False
- نامساوی not equal (
!=)
5 != 5False
5 != 6True
- بزرگتر greater (
>)
5 > 4True
5 > 5False
- کوچکتر less (
<)
4 < 5True
5 < 5False
- بزرگتر یا مساوی greater or equal (
>=)
5 >= 4True
5 >= 5True
5 >= 6False
- کوچکتر از less or equal (
<=)
4 <= 5True
5 <= 5True
6 <= 5False
نکته. برای مقایسه رفرسهی متغیرها از عبارات مقایسهای زیر استفاده میشود.
3 is 3.0False
3 is not 3.0True
عملگرهای منطقی
سه عملگر منطقی (Logical Operators) وجود دارد: and, or و not . برای مثال:
x > 0 and x < 10عملوندهای عملگرهای منطقی باید عبارات بولی باشند، اما در پایتون هر عدد غیر صفر نیز به صورت True تفسیر میشود.
17 and TrueTrue
تمرین
نکته. با استفاده از ورودی (input()) تمرینها انجام شود.
از کاربر نام و سن را بگیرد و نمایش دهد
# دریافت نام از کاربر
name = input("نام خود را وارد کنید: ")
# دریافت سن از کاربر
age = input("سن خود را وارد کنید: ")
# نمایش نام و سن
print("نام:", name)
print("سن:", age)یک ماشین حساب ساده برای جمع و تفریق بنویسید.
# این برنامه جمع دو عدد را انجام میدهد
# دریافت عدد اول از کاربر
num1 = input("عدد اول را وارد کن: ")
num1 = float(num1) # تبدیل به عدد اعشاری
# دریافت عدد دوم از کاربر
num2 = input("عدد دوم را وارد کن: ")
num2 = float(num2) # تبدیل به عدد اعشاری
# انجام جمع
add = num1 + num2
# انجام تفریق
subtract = num1 - num2
# نمایش نتیجه
print("نتیجه جمع =", add)
print("نتیجه تفریق =", subtract)دو عدد بگیرد و بزرگی عدد اول را بررسی کند.
# دریافت عدد اول از کاربر
num1 = input("عدد اول را وارد کن: ")
num1 = float(num1) # تبدیل به عدد اعشاری
# دریافت عدد دوم از کاربر
num2 = input("عدد دوم را وارد کن: ")
num2 = float(num2) # تبدیل به عدد اعشاری
# بزرگی عدد اول
result = num1 > num2
# نمایش نتیجه
print("Is", num1,"greater than", num2, "? ", result)پروژه
به کد زیر نگاه کنید که یک ماشین حساب ساده است و ببینید کدام مطالبی که توی این بخش گفته شده استفاده شده.
# وارد کردن پکیج های مورد نیاز
import tkinter as tk
# تابع برای محاسبه نتیجه بر اساس عملگر
def calculate():
try:
num1 = float(entry1.get()) # گرفتن عدد اول
num2 = float(entry2.get()) # گرفتن عدد دوم
op = operator.get() # گرفتن عملگر
# بررسی نوع عملگر با شرطها
if op == "+":
result = num1 + num2
elif op == "-":
result = num1 - num2
elif op == "*":
result = num1 * num2
elif op == "/":
if num2 == 0:
result_label.config(text="خطا: تقسیم بر صفر!")
return
result = num1 / num2
else:
result_label.config(text="عملگر نامعتبر است")
return
# نمایش نتیجه
result_label.config(text=f"نتیجه: {result}")
except ValueError:
# خطا در صورت وارد کردن عدد نامعتبر
result_label.config(text="لطفاً فقط عدد وارد کنید")
# ساخت پنجره اصلی
window = tk.Tk()
window.title("ماشین حساب ساده")
window.geometry("300x250")
# ساخت ویجتها
label1 = tk.Label(window, text="عدد اول:")
entry1 = tk.Entry(window)
label2 = tk.Label(window, text="عدد دوم:")
entry2 = tk.Entry(window)
label_op = tk.Label(window, text="عملگر (+ - * /):")
operator = tk.Entry(window)
calc_button = tk.Button(window, text="محاسبه", command=calculate)
result_label = tk.Label(window, text="نتیجه: ", fg="blue")
# قرار دادن ویجتها در پنجره
label1.pack()
entry1.pack()
label2.pack()
entry2.pack()
label_op.pack()
operator.pack()
calc_button.pack(pady=10)
result_label.pack()
# اجرای برنامه
window.mainloop()