آموزش کامل دستورات پرکاربرد پایتون
از آنجایی که پایتون امروزه به زبان اول دنیا برای علوم داده و هوش مصنوعی تبدیل شده، یادگیری دستورات پرکاربرد پایتون، مانند یادگیری الفبای یک زبان جدید است. اما نکته اینجاست که پایتون فقط مجموعهای از دستورات نیست، یک «فلسفه» است؛ فلسفهای که بر سادگی، خوانایی و کارایی تاکید دارد.
در این مقاله، به مفاهیم پایه می پردازیم و تلاش می کنیم یک نقشه جامع از دستورات پرکاربرد پایتون داشته باشیم.
شروع کار با دستورات پرکاربرد پایتون: ورود و خروج دادهها و تبدیل انواع متغیر
هر برنامهای با مدیریت دادهها شروع میشود. در پایتون، تعریف متغیرها بسیار ساده است چون پایتون یک زبان Dynamic Typed است (یعنی نیازی نیست نوع متغیر را اعلام کنید).
چاپ و دریافت دادهها (I/O)
دستور Print:
print() مهمترین و پرکاربردترین دستور برای نمایش خروجی در Console است.
print(‘Python is an interesting language’)
می توانید چند مقدار را همزمان چاپ کنید:
print(‘Python’, ‘C’, ‘C++’)
پارامتر sep (جدا کننده):
print(‘Python’, ‘C’, ‘C++’, sep=’-‘)
پارامتر end (پایان دهنده):
print("Hello", end=" ")
print("world")
در خروجی کد بالا کلمه Hello به کلمه world نمی چسبد. چون از پارامتر end استفاده کرده ایم و مقدار آن یک فاصله است، بلافاصله بعد از چاپ کلمه Hello یک فاصله چاپ شده و سپس کلمه world چاپ می شود.
چاپ متغیرها و انواع مختلف داده:
name = "Sara"
age = 25
print(name, age)
print("Age:", age)
print(f"Her name is is {name}")
دستور Input:
name = input("Enter your name: ")
این دستور پیام (اختیاری) را در کنسول نمایش میدهد. منتظر میماند تا کاربر چیزی تایپ کند و Enter بزند. آنچه را که کاربر تایپ کرده بهصورت رشته (string) برمیگرداند.
چون همیشه خروجی این دستور یک String است، برای محاسبات عددی باید تبدیل نوع انجام دهید.
age = int(input("Age? "))
انواع داده های پایه و تبدیل ها (Casting)
برای اینکه بتوانیم عملیات ریاضی یا منطقی انجام دهیم، باید بدانیم با چه نوع دادهای سر و کار داریم. تبدیل نوع داده (Casting) جزو دستورات پرکاربرد پایتون برای تغییر نوع دادهها جهت انجام محاسبات.
- int(): تبدیل به عدد صحیح
- float(): تبدیل به عدد اعشاری
- str(): تبدیل به رشته (متن)
- bool(): تبدیل به مقدار منطقی (True یا False)
مثال کاربردی:
age = input("Inter your age: ")
age = int(age)
print(f"You will be {age + 1} next year.")
بخش دوم: مدیریت و ذخیرهسازی اطلاعات: ۴ ساختار داده اصلی در پایتون
پایتون برای مدیریت مجموعهای از دادهها، چهار ساختار اصلی ارائه میدهد که متدهای آنها از دستورات پرکاربرد پایتون در پروژه های واقعی هستند
لیست ها (Lists)
لیستها تغییرپذیر (Mutable) و مرتب هستند. مجموعهای از داده ها را نگهداری می کنند که ترتیب دارد و میتوان اضافه/حذف/تغییر آیتم ها را انجام داد.
- append(): اضافه کردن آیتم به انتهای لیست
- insert(): اضافه کردن آیتم به یک موقعیت (ایندکس) مشخص در لیست
- extend(): ادغام دو لیست با هم
- remove(): حذف یک آیتم بر اساس مقدار آن
- pop(): حذف آخرین آیتم یا آیتمی در یک ایندکس خاص
- sort(): مرتبسازی لیست
- len(): محاسبه تعداد اعضای لیست
companies = ["Apple", "Microsoft", "Google", "Amazon", "Tesla"]
print("Primary List", companies)
companies.append("Meta")
print(companies)
removed = companies.pop()
print(f"Removed Item: {removed}")
print(companies)
companies.sort()
print("Sorted List", companies)
more_companies = ["Netflix", "Nvidia"]
companies.extend(more_companies)
print(companies)
تاپل ها (Tuples)
تاپلها شبیه لیست است اما تغییرناپذیر (Immutable). تاپل مرتب است و بعد از ساخت نمیتوان تغییرش داد. از تاپل زمانی استفاده میکنیم که میخواهیم دیتایی (مثل مختصات جغرافیایی یا تنظیمات ثابت) در طول برنامه تغییر نکند.
دیکشنری ها (Dictionaries)
در این ساختار داده ها به صورت جفت کلید: مقدار (Key-Value) ذخیره می شوند.
- Keys(): دسترسی به تمام کلیدها
- Values(): دسترسی به تمام مقادیر
- Items(): دسترسی به جفتهای کلید-مقدار
- Get(): روش امن برای خواندن مقدار (اگر کلید وجود نداشته باشد، برنامه Crash نمی کند).
companies_info = {
"Volvo": {"CEO": "Jim Rowan", "تأسیس": 1927, "کشور": "سوئد"},
"Toyota": {"CEO": "Koji Sato", "تأسیس": 1937, "کشور": "ژاپن"},
"Huawei": {"CEO": "Ren Zhengfei", "تأسیس": 1987, "کشور": "چین"},
"Samsung": {"CEO": "Lee Jae-yong", "تأسیس": 1938, "کشور": "کره جنوبی"},
"Nokia": {"CEO": "Pekka Lundmark", "تأسیس": 1865, "کشور": "فنلاند"}
}
print("--- کلیدها (keys) ---")
print(list(companies_info.keys()))
print("\n--- مقادیر (values) ---")
print(list(companies_info.values()))
print("\n--- آیتمها (items) ---")
print(list(companies_info.items()))
print("\n--- پیمایش دیکشنری ---")
for name, info in companies_info.items():
print(f"شرکت: {name}")
print(f" مدیرعامل: {info['CEO']}")
print(f" سال تأسیس: {info['تأسیس']}")
print(f" کشور: {info['کشور']}")
print("-" * 20)
مجموعه ها (Sets)
مجموعهها آیتمهای تکراری نمیپذیرند و ترتیب ندارند. کاربرد اصلی آنها حذف تکرارها و عملیات ریاضی مجموعهها (اتحاد و اشتراک) است.
بخش سوم: منطق و کنترل جریان برنامه: آموزش شرطها و حلقهها در پایتون
برنامه بدون منطق، فقط یک لیست از دستورات است. ما با استفاده از دستورات پرکاربرد پایتون و ساختارهای شرطی و حلقهها، به برنامه «قدرت تصمیمگیری» میدهیم.
دستورات شرطی (Conditionals)
- If: شرط اصلی
- elif: شرط های جایگزین
- else: در صورتی که هیچکدام از شرطهای بالا درست نباشند.
نکته حرفهای: در پایتون مدرن، از Match-Case (معرفی شده در نسخه ۳.۱۰) برای جایگزینی if-elif های طولانی استفاده میکنیم که بسیار سریعتر و خواناتر است.
مثال کاربردی:
score = int(input("Enter your score (0-100): "))
if score >= 90:
grade = "A"
message = "Excellent!"
elif score >= 80:
grade = "B"
message = "Very good!"
elif score >= 70:
grade = "C"
message = "Good"
elif score >= 60:
grade = "D"
message = "Passing"
elif score >= 50:
grade = "E"
message = "Just passed"
else:
grade = "F"
message = "Failed"
print(f"Your grade is {grade}. {message}")
حلقهها (Loops)
- for: برای پیمایش روی لیست ها، رشته ها، دیکشنری ها و سایر مجموعه ها
- while: تکرار تا زمانی که یک شرط درست باشد
- break: خروج فوری از حلقه
- continue: پرش به تکرار بعدی حلقه
مثال: پیدا کردن عدد اول
import math
num = 29
for i in range(2, math.sqrt(num) + 1):
if num % i == 0:
print(f"{num} عدد اول نیست")
break
else:
print(f"{num} عدد اول است")
List Comprehension (یکی از جذابترین دستورات پرکاربرد پایتون): به جای نوشتن ۴ خط کد برای ساخت یک لیست، در یک خط این کار را انجام می دهیم.
ساخت لیستی از مربع اعداد در بازه 0 تا 9:
squares = [x * 2 for x in range(10) if x % 2 == 0]
بخش چهارم: تمیزنویسی و جلوگیری از کرش برنامه
برای جلوگیری از تکرار کد (اصل DRY – Don’t Repeat Yourself)، و ساخت برنامههای پایدار، توابع و متدهای کنترل خطا از حیاتیترین دستورات پرکاربرد پایتون محسوب میشوند.
تعریف تابع
- def: تعریف یک تابع
- return: بازگرداندن نتیجه تابع
- lambda: توابع یکخطی و بدون نام (برای عملیاتهای سریع و کوتاه)
مثال: تابعی که بدون استفاده از sort()، لیستی از اعداد را مرتب می کند:
def sort_list(arr):
lst = arr[:] # کپی میگیریم تا لیست اصلی تغییر نکند
n = len(lst)
for i in range(n):
for j in range(0, n - i - 1):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst
nums = [64, 34, 25, 12, 22, 11, 90]
sorted_nums = sort_list(nums)
print(sorted_nums)
آرگومانهای پیشرفته
- *args: برای پذیرفتن تعداد نامحدودی از ورودیها
- kwargs**: برای پذیرفتن تعداد نامحدودی از ورودیهای نامدار (Keyword Arguments)
مدیریت خطاها (Error Handling)
برنامههای حرفهای هرگز نباید در برابر کاربر Crash کنند.
- try: کدی که احتمال خطا دارد
- except: عملیاتی که در صورت بروز خطا باید انجام شود
- finally: کدی که در هر صورت (چه خطا باشد چه نباشد) اجرا شود
try:
score = int(input("Enter your score (0-100): "))
if score < 0 or score > 100:
raise ValueError("Score must be between 0 and 100")
print(f"Valid score: {score}")
except ValueError as e:
print(f"Invalid input: {e}")
finally:
print("Program finished.")
برنامهنویسی شیگرا (OOP) در پایتون به زبان ساده (Object-Oriented Programming)
پایتون یک زبان شیگراست. یعنی ما میتوانیم مفاهیم دنیای واقعی را به صورت «کلاس» و «شیء» مدل کنیم.
class: تعریف نقشه کلی یک شیء
- __init__(): متد سازنده (Constructor) که در لحظه خلق شیء اجرا میشود
- self: ارجاع به خودِ شیء برای دسترسی به ویژگیهای آن
- Inheritance (وراثت): ساخت کلاسی بر پایه کلاس دیگر برای بهرهبرداری از ویژگیها و متدهای آن
مثال ساده:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def drive(self):
print(f"{self.brand} {self.model} is now driving!")
my_car = Car("Honda", "Civic")
my_car.drive()
مسیر یادگیری و گامهای بعدی
پایتون به دلیل داشتن اکوسیستم عظیمی از کتابخانهها، هرگز تمام نمیشود. اما اگر دستورات پرکاربرد پایتون را به ترتیب زیر تمرین کنید، به سرعت به سطح حرفهای میرسید:
- تسلط بر Types و Data Structures: بدانید چه زمانی از لیست استفاده کنید و چه زمانی از دیکشنری.
- درک عمیق Logic و Loops: یاد بگیرید چطور کدهای تکراری را حذف کنید.
- تمرین OOP: سعی کنید دنیای اطراف خود را به صورت کلاسها مدل کنید.
- ورود به دنیای کتابخانهها: بسته به علاقه خود به سراغ Pandas (برای تحلیل داده)، FastAPI (برای وب) یا PyTorch (برای هوش مصنوعی) بروید.
سخن پایانی
بهترین راه یادگیری پایتون، نوشتن کد است. هر دستوری که در این مقاله دیدید را در یک محیط IDE (مانند VS Code یا PyCharm) امتحان کنید. در برنامهنویسی، «خطا» دشمن شما نیست، بزرگترین معلم شماست. هرچه بیشتر با Traceback های پایتون مواجه شوید و آنها را تحلیل کنید، سریعتر رشد خواهید کرد.
