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