آموزش دستورات پایه پایتون | متغیرها، شرطها، حلقهها + مثال عملی
۱. تعریف متغیرها و انواع دادهها
مفاهیم پایه متغیرها
توضیح: در پایتون، متغیرها containers برای ذخیره دادهها هستند. برخلاف زبانهایی مانند C++ یا Java، در پایتون نیازی به تعیین نوع داده در هنگام تعریف متغیر نیست.
# تعریف متغیرهای پایه
name = "Ali" # رشته (String)
age = 25 # عدد صحیح (Integer)
height = 175.5 # عدد اعشاری (Float)
is_student = True # مقدار بولین (Boolean)
salary = None # مقدار تهی (NoneType)
انواع دادههای پیچیده
توضیح: پایتون از ساختارهای داده پیشرفتهای پشتیبانی میکند که کار با دادههای پیچیده را آسان میکنند.
# لیست (List) - قابل تغییر و ترتیبی
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "hello", 3.14, True]
# تاپل (Tuple) - غیرقابل تغییر و ترتیبی
coordinates = (10.5, 20.3)
person_info = ("Ali", 25, "Engineer")
# دیکشنری (Dictionary) - ذخیره کلید-مقدار
person = {
"name": "Ali",
"age": 25,
"city": "Tehran",
"skills": ["Python", "Java", "SQL"]
}
# مجموعه (Set) - مقادیر یکتا و غیرترتیبی
unique_numbers = {1, 2, 3, 3, 4, 4} # نتیجه: {1, 2, 3, 4}
vowels = {'a', 'e', 'i', 'o', 'u'}
توابع مفید برای کار با انواع دادهها
توضیح: پایتون توابع built-in زیادی دارد که کار با انواع دادهها را ساده میکند.
# بررسی نوع داده
print(type(name)) # <class 'str'>
print(isinstance(age, int)) # True
# تبدیل انواع داده
str_age = str(age) # "25"
int_height = int(height) # 175
float_age = float(age) # 25.0
bool_name = bool(name) # True
list_name = list(name) # ['A', 'l', 'i']
۲. عملگرها در پایتون
عملگرهای ریاضی
توضیح: عملگرهای ریاضی برای انجام عملیات محاسباتی استفاده میشوند.
a = 10
b = 3
# عملگرهای پایه
print(a + b) # جمع: 13
print(a - b) # تفریق: 7
print(a * b) # ضرب: 30
print(a / b) # تقسیم: 3.333...
print(a // b) # تقسیم صحیح: 3
print(a % b) # باقیمانده: 1
print(a ** b) # توان: 1000
عملگرهای مقایسهای
توضیح: این عملگرها برای مقایسه دو مقدار استفاده شده و نتیجه Boolean برمیگردانند.
x = 5
y = 10
z = 5
print(x == z) # True - برابری
print(x != y) # True - عدم برابری
print(x < y) # True - کمتر از
print(x > y) # False - بیشتر از
print(x <= z) # True - کمتر یا مساوی
print(x >= y) # False - بیشتر یا مساوی
عملگرهای انتساب
توضیح: برای اختصاص مقادیر به متغیرها استفاده میشوند.
x = 10
x += 5 # معادل x = x + 5 → 15
x -= 3 # معادل x = x - 3 → 12
x *= 2 # معادل x = x * 2 → 24
x /= 4 # معادل x = x / 4 → 6.0
عملگرهای منطقی
توضیح: برای ترکیب شرایط مختلف استفاده میشوند.
a = True
b = False
c = True
print(a and b) # False - و منطقی
print(a or b) # True - یا منطقی
print(not a) # False - نقیض منطقی
۳. ساختارهای کنترل شرطی
ساختار if-elif-else پایه
توضیح: برای اجرای کد بر اساس شرایط مختلف استفاده میشود.
# مثال کامل شرطی
score = 85
attendance = 90
if score >= 90 and attendance >= 80:
grade = "A"
print("Excellent performance with perfect attendance!")
elif score >= 80 and attendance >= 75:
grade = "B"
print("Very good! Keep up the good work.")
elif score >= 70:
grade = "C"
print("Good, but there's room for improvement.")
else:
grade = "F"
print("Unfortunately, you failed. Please try again.")
شرطهای تو در تو
توضیح: میتوان شرطها را درون یکدیگر قرار داد برای شرایط پیچیده. \
age = 22
has_license = True
has_experience = False
if age >= 18:
if has_license:
if has_experience:
print("You can rent any car!")
else:
print("You can rent basic cars only.")
else:
print("You need a driving license first.")
else:
print("You are too young to drive.")
۴. حلقهها و کنترل جریان
حلقه for با کاربردهای مختلف
توضیح: برای تکرار روی sequenceها (لیست، رشته، تاپل و...) استفاده میشود.
# حلقه پایه با range print("Numbers from 0 to 4:") for i in range(5): print(i, end=' ') # 0 1 2 3 4 # حلقه روی لیست fruits = ["apple", "banana", "cherry", "date"] print("Fruits list:") for i, fruit in enumerate(fruits): print(f"{i+1}. {fruit}")
حلقه while با شرایط مختلف
توضیح: تا زمانی که شرط true باشد، کد را اجرا میکند.
# حلقه while پایه count = 1 print("Counting to 5:") while count <= 5: print(count) count += 1
کنترل حلقه با break و continue
توضیح:
-
break: خروج کامل از حلقه -
continue: رد شدن از iteration جاری
# استفاده از break print("Searching for number 5:") for i in range(1, 11): if i == 5: print("Found it!") break print(f"Checking {i}...") # استفاده از continue print("\nOdd numbers from 1 to 10:") for i in range(1, 11): if i % 2 == 0: continue # از اعداد زوج رد شو print(i, end=' ') # 1 3 5 7 9
۵. توابع و ماژولاریتی
تعریف و استفاده از توابع
توضیح: توابع بلوکهای کد قابل استفاده مجدد هستند.
# تابع ساده def greet(name): """این تابع یک نام میگیرد و سلام میکند""" return f"Hello, {name}!" # تابع با پارامترهای پیشفرض def introduce(name, age=25, city="Unknown"): """معرفی یک شخص با اطلاعات اختیاری""" return f"Name: {name}, Age: {age}, City: {city}" # استفاده از توابع print(greet("Ali")) print(introduce("Maryam")) print(introduce("Reza", 30, "Shiraz"))
پارامترهای پیشرفته
توضیح: پایتون از پارامترهای انعطافپذیر پشتیبانی میکند.
# پارامترهای متغیر (*args) def sum_numbers(*args): """جمع اعداد با تعداد پارامترهای متغیر""" return sum(args) # پارامترهای keyword متغیر (**kwargs) def print_info(**kwargs): """چاپ اطلاعات با پارامترهای keyword متغیر""" for key, value in kwargs.items(): print(f"{key}: {value}") print(sum_numbers(1, 2, 3, 4, 5)) # 15 print_info(name="Ali", age=25, city="Tehran")
۶. کار با فایلها و مدیریت خطا
مدیریت خطا با try-except
توضیح: برای مدیریت خطاهای احتمالی در زمان اجرا استفاده میشود.
def safe_divide(a, b): """تابع تقسیم امن با مدیریت خطا""" try: result = a / b except ZeroDivisionError: return "Error: Cannot divide by zero!" except TypeError: return "Error: Both arguments must be numbers!" except Exception as e: return f"Unexpected error: {e}" else: return f"Result: {result}" finally: print("Division operation completed.") # تست تابع print(safe_divide(10, 2)) # Result: 5.0 print(safe_divide(10, 0)) # Error: Cannot divide by zero!
کار با فایلهای متنی
توضیح: پایتون عملیات مختلفی برای کار با فایلها ارائه میدهد.
def file_operations_demo(): """نمایش عملیات مختلف روی فایلها""" # نوشتن در فایل with open("demo.txt", "w", encoding="utf-8") as file: file.write("Line 1: Hello World\n") file.write("Line 2: Python Programming\n") # خواندن از فایل print("Reading entire file:") with open("demo.txt", "r", encoding="utf-8") as file: content = file.read() print(content) # خواندن خط به خط print("Reading line by line:") with open("demo.txt", "r", encoding="utf-8") as file: for line_num, line in enumerate(file, 1): print(f"Line {line_num}: {line.strip()}") file_operations_demo()
۷. مفاهیم پیشرفتهتر مقدماتی
Comprehension ها
توضیح: روشی مختصر برای ایجاد لیست، دیکشنری و مجموعهها.
# List Comprehension numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] squares = [x**2 for x in numbers] even_squares = [x**2 for x in numbers if x % 2 == 0] print("Squares:", squares) print("Even squares:", even_squares) # Dictionary Comprehension square_dict = {x: x**2 for x in range(1, 6)} print("Square dictionary:", square_dict)
توابع Lambda
توضیح: توابع ناشناس و یک خطی.
# توابع lambda ساده square = lambda x: x**2 add = lambda a, b: a + b is_even = lambda x: x % 2 == 0 print(square(5)) # 25 print(add(3, 7)) # 10 print(is_even(4)) # True # استفاده با map, filter numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # map - اعمال تابع روی تمام عناصر squared = list(map(lambda x: x**2, numbers)) print("Squared:", squared) # filter - فیلتر کردن عناصر evens = list(filter(lambda x: x % 2 == 0, numbers)) print("Evens:", evens)
۸. کار با ماژولهای استاندارد
توضیح: پایتون کتابخانه استاندارد غنی دارد.
import math import random import datetime import os # ماژول math print("Math operations:") print(f"π = {math.pi}") print(f"sqrt(16) = {math.sqrt(16)}") # ماژول random print("\nRandom operations:") print(f"Random number: {random.randint(1, 100)}") print(f"Random choice: {random.choice(['apple', 'banana', 'cherry'])}") # ماژول datetime print("\nDateTime operations:") now = datetime.datetime.now() print(f"Current datetime: {now}")
نتیجهگیری
جمعبندی مفاهیم اصلی
در این مقاله جامع، با مفاهیم اساسی پایتون از پایه تا سطح متوسط آشنا شدیم. این مفاهیم شامل تعریف متغیرها، انواع دادهها، عملگرها، ساختارهای کنترل شرطی، حلقهها، توابع، مدیریت خطا و کار با فایلها میشود.
مسیر یادگیری پیشنهادی
-
مبتدی: تمرین مفاهیم پایه
-
متوسط: کار روی پروژههای کوچک
-
پیشرفته: یادگیری مفاهیم شیءگرایی و کتابخانههای تخصصی
نکات نهایی
پایتون زبانی قدرتمند و همهمنظوره است که با تمرین مستمر و کار روی پروژههای واقعی میتوانید به تسلط کامل برسید. مهمترین عامل در یادگیری پایتون، تمرین عملی و حل مسائل واقعی است.