آموزش پایتون (Python) از صفر؛ نصب، مفاهیم پایه و اولین پروژه
آموزش پایتون از صفر و قدمبهقدم: نصب Python، متغیر، شرط، حلقه، تابع، مدیریت خطا، محیط مجازی و ساخت یک برنامهی واقعی برای ثبت هزینهها.

فهرست مطالب
- پایتون چیست و چرا برای شروع انتخاب خوبی است؟
- نصب پایتون روی ویندوز، مک و لینوکس
- اولین برنامهی پایتون
- متغیرها و انواع داده
- لیست و دیکشنری: دو ساختار دادهی اصلی
- شرطها و حلقهها
- تابع: بستهبندی منطق تکراری
- مدیریت خطا با try و except
- ماژولها و کتابخانهی استاندارد
- محیط مجازی و نصب بسته با pip
- پروژهی عملی: برنامهی ثبت هزینهها
- اشتباهات رایج تازهکارها
- نقشهی تمرین چهارهفتهای
- مسیر بعد از آموزش پایتون
پایتون برای شروع جدی برنامهنویسی انتخاب مطمئنی است: زبانی خوانا با کتابخانههای فراوان که از اسکریپتهای ساده تا وب، تحلیل داده و هوش مصنوعی را پوشش میدهد. در این آموزش پایتون از صفر، پایتون را نصب میکنیم، مفاهیم پایه را با مثالهای قابلاجرا مرور میکنیم و در پایان یک برنامهی کوچک اما واقعی برای ثبت هزینهها میسازیم.
همهی کدهای این مطلب روی Python 3.14 اجرا و آزمایش شدهاند و روی هر نسخهی پشتیبانیشدهی سری 3 هم کار میکنند.
پایتون چیست و چرا برای شروع انتخاب خوبی است؟
پایتون (Python) از ابتدا با تمرکز بر خوانایی طراحی شده است. بهجای آکولاد، بلوکهای کد با تورفتگی (Indentation) مشخص میشوند و همین باعث میشود کد پایتون شبیه شبهکد به نظر برسد.
- کاربرد گسترده: اتوماسیون کارهای تکراری، بکاند وب، تحلیل داده، یادگیری ماشین و ابزارهای خط فرمان.
- کتابخانهی استاندارد غنی: برای کار با فایل، JSON، تاریخ و شبکه معمولاً به نصب چیزی نیاز ندارید.
- جامعهی بزرگ: برای تقریباً هر خطایی، پاسخی در مستندات یا انجمنها پیدا میشود.
اگر بعدها بخواهید پایتون را با زبانهای دیگر مقایسه کنید، مطلب مقایسهی عملی Rust و Go دید خوبی از دنیای زبانهای بکاند میدهد.
نصب پایتون روی ویندوز، مک و لینوکس
همیشه نسخهی پایدار سری 3 را از صفحهی دانلود رسمی python.org بگیرید.
- ویندوز: مستندات رسمی پایتون، مدیر نصب پایتون (Python install manager) را روش پیشنهادی میداند. آن را از همان صفحهی دانلود بگیرید. پس از نصب، دستورهای
pythonوpyدر هر ترمینالی در دسترساند. نصبکنندهی کلاسیک از Python 3.14 منسوخ شده است. اگر هنوز از آن استفاده میکنید، گزینهی افزودن پایتون به PATH را فعال کنید. - مک: نصبکنندهی رسمی python.org یا مدیر بستهی Homebrew با دستور
brew install python. - لینوکس (Ubuntu و Debian): معمولاً پایتون از قبل نصب است؛ ابزارهای کنار آن را اینطور اضافه کنید:
sudo apt update
sudo apt install python3 python3-venv python3-pip
سپس نصب را بیازمایید. در ویندوز معمولاً python و در مک و لینوکس python3 کار میکند:
python --version
python3 --version
برای نوشتن کد، یک ویرایشگر مثل VS Code بههمراه افزونهی رسمی Python کافی است.
اولین برنامهی پایتون
دستور python (یا python3) را بدون آرگومان اجرا کنید تا وارد مفسر تعاملی (REPL) شوید. این محیط برای آزمودن سریع ایدهها عالی است. اما برنامهی واقعی را در فایل مینویسیم. فایلی به نام hello.py بسازید:
name = input("What is your name? ")
print(f"Hello, {name}! Welcome to Python.")
و آن را اجرا کنید:
python hello.py
تابع input ورودی کاربر را بهصورت رشته میگیرد و print خروجی را چاپ میکند. حرف f پیش از رشته آن را به رشتهی قالببندیشده (f-string) تبدیل میکند تا متغیرها را مستقیم داخل آکولاد بنویسید.
متغیرها و انواع داده
در پایتون نوع متغیر را اعلام نمیکنید؛ مفسر آن را از مقدار تشخیص میدهد:
name = "Sara"
age = 21
height = 1.68
is_student = True
print(f"{name} is {age} years old.")
print(type(age), type(height), type(name), type(is_student))
چهار نوع پایهای که مدام با آنها کار میکنید:
| نوع | مثال | کاربرد |
|---|---|---|
int |
42 |
عدد صحیح |
float |
3.14 |
عدد اعشاری |
str |
"DevNA" |
متن |
bool |
True / False |
درست یا نادرست |
طبق راهنمای سبک رسمی پایتون یعنی PEP 8، نام متغیرها و توابع با حروف کوچک و خط زیر نوشته میشود؛ مثل total_price و نه TotalPrice.
لیست و دیکشنری: دو ساختار دادهی اصلی
لیست (List) مجموعهای مرتب و قابلتغییر است و دیکشنری (Dictionary) جفتهای کلید و مقدار را نگه میدارد:
languages = ["Python", "Go", "Rust"]
languages.append("TypeScript")
print(languages[0], len(languages)) # Python 4
user = {"name": "Arash", "role": "backend"}
user["city"] = "Tehran"
print(user["role"], user.get("email", "unknown"))
شمارهگذاری لیستها از صفر شروع میشود. متد get در دیکشنری اگر کلید وجود نداشته باشد، بهجای خطا مقدار پیشفرض را برمیگرداند.
شرطها و حلقهها
با if، elif و else تصمیم میگیریم. دقت کنید که تورفتگی (معمولاً چهار فاصله) بخشی از دستور زبان است، نه سلیقه:
score = 72
if score >= 90:
grade = "A"
elif score >= 70:
grade = "B"
else:
grade = "C"
print(grade) # B
حلقهی for روی هر مجموعهای میچرخد و range دنبالهای از اعداد میسازد. حلقهی while تا زمانی که شرط برقرار است ادامه میدهد:
for lang in languages:
print(lang.upper())
for i in range(3):
print(i) # 0, 1, 2
count = 3
while count > 0:
print("countdown:", count)
count -= 1
یک میانبر پرکاربرد پایتونی، لیستسازی فشرده (List Comprehension) است:
squares = [n * n for n in range(1, 6)]
print(squares) # [1, 4, 9, 16, 25]
تابع: بستهبندی منطق تکراری
هر وقت کدی را دو بار نوشتید، وقت ساختن تابع (Function) است. توابع با def تعریف میشوند و میتوانند پارامتر پیشفرض داشته باشند:
def average(numbers):
"""Return the arithmetic mean of a non-empty list."""
return sum(numbers) / len(numbers)
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
print(average([17, 19, 20]))
print(greet("Niloufar"))
print(greet("Kaveh", greeting="Hi"))
رشتهی سهگیومهای زیر def یک داکاسترینگ (Docstring) است؛ توضیح کوتاهی که ویرایشگرها و ابزار help آن را نمایش میدهند.
مدیریت خطا با try و except
برنامهی واقعی با ورودی نادرست روبهرو میشود. بهجای اینکه برنامه متوقف شود، خطا را مدیریت کنید:
try:
print(average([]))
except ZeroDivisionError:
print("The list is empty.")
فقط خطایی را بگیرید که انتظارش را دارید. نوشتن except: خالی همهی خطاها، حتی باگهای واقعی، را پنهان میکند.
ماژولها و کتابخانهی استاندارد
هر فایل پایتون یک ماژول (Module) است و با import میتوانید از کدهای آن استفاده کنید. پایتون با مجموعهی بزرگی از ماژولهای آماده عرضه میشود که به آن «کتابخانهی استاندارد» میگویند:
import random
from datetime import date
print(random.choice(["tea", "coffee", "water"]))
print(date.today().isoformat())
پیش از نصب هر بستهی خارجی، نگاهی به کتابخانهی استاندارد بیندازید. ماژولهایی مثل json، csv، pathlib، datetime و random بخش بزرگی از نیاز روزمره را پوشش میدهند و هیچ وابستگی تازهای به پروژه اضافه نمیکنند. هرچه وابستگی کمتر باشد، نگهداری و بهروزرسانی پروژه سادهتر است.
محیط مجازی و نصب بسته با pip
هر پروژه باید محیط مجازی (Virtual Environment) خودش را داشته باشد تا نسخهی بستهها بین پروژهها تداخل نکند. ماژول استاندارد venv همین کار را میکند:
python -m venv .venv
# Linux / macOS
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1
بعد از فعالسازی، بستهها را با pip نصب کنید و فهرستشان را برای همتیمیها ذخیره کنید:
python -m pip install requests
python -m pip freeze > requirements.txt
اگر PowerShell اجرای اسکریپت فعالسازی را مسدود کرد، مستندات رسمی venv اجرای Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser را پیشنهاد میکند.
نکته برای کاربران ایران: اگر دانلود بستهها از PyPI کند یا ناپایدار بود،
pipبا گزینهی--index-urlاجازه میدهد از یک مخزن آینه (Mirror) استفاده کنید. فقط آینههایی را به کار ببرید که ارائهدهندهی شناختهشده و اتصال HTTPS دارند؛ بستهی دستکاریشده میتواند کل سیستم شما را به خطر بیندازد. کاربران Ubuntu هم میتوانند برای نصبpython3از آینههای داخلی ثبتشده در فهرست رسمی Ubuntu استفاده کنند.
پروژهی عملی: برنامهی ثبت هزینهها
حالا همهی این مفاهیم را کنار هم میگذاریم. برنامهای میسازیم که هزینهها را از کاربر میگیرد، در فایل JSON ذخیره میکند و گزارش جمع کل را نشان میدهد. فایل expenses.py را بسازید:
import json
from pathlib import Path
DATA_FILE = Path("expenses.json")
def load_expenses():
"""Read saved expenses from disk, or start with an empty list."""
if DATA_FILE.exists():
return json.loads(DATA_FILE.read_text(encoding="utf-8"))
return []
def save_expenses(expenses):
text = json.dumps(expenses, ensure_ascii=False, indent=2)
DATA_FILE.write_text(text, encoding="utf-8")
def add_expense(expenses):
title = input("Title: ").strip()
try:
amount = int(input("Amount: "))
except ValueError:
print("Amount must be a whole number.")
return
expenses.append({"title": title, "amount": amount})
save_expenses(expenses)
print("Saved.")
def show_report(expenses):
if not expenses:
print("No expenses yet.")
return
for item in expenses:
print(f"{item['title']:<20}{item['amount']:>12,}")
total = sum(item["amount"] for item in expenses)
print(f"{'Total':<20}{total:>12,}")
def main():
expenses = load_expenses()
while True:
choice = input("\n1) Add 2) Report 3) Quit: ").strip()
if choice == "1":
add_expense(expenses)
elif choice == "2":
show_report(expenses)
elif choice == "3":
break
else:
print("Invalid choice.")
if __name__ == "__main__":
main()
برنامه را با python expenses.py اجرا کنید، چند هزینه اضافه کنید و گزارش بگیرید. نکتههای این کد:
pathlibکار با مسیر فایل را در همهی سیستمعاملها یکسان میکند.ensure_ascii=Falseباعث میشود عنوانهای فارسی در فایل JSON خوانا ذخیره شوند.- قالب
:>12,عدد را راستچین و با جداکنندهی هزارگان چاپ میکند. - شرط
if __name__ == "__main__"یعنیmainفقط وقتی اجرا میشود که فایل مستقیم اجرا شود، نه وقتی در فایل دیگری import شود.
برای تمرین، قابلیت حذف یک هزینه یا دستهبندی هزینهها را اضافه کنید.
اشتباهات رایج تازهکارها
- قاطی کردن تب و فاصله در تورفتگی: ویرایشگر را طوری تنظیم کنید که همیشه چهار فاصله بگذارد.
- فراموش کردن تبدیل نوع: خروجی
inputهمیشه رشته است؛ برای محاسبه آن را باintیاfloatتبدیل کنید. - نامگذاری فایل به اسم ماژولهای استاندارد: فایلی به نام
json.pyیاrandom.pyنسازید؛ جلوی import ماژول اصلی را میگیرد. - نصب بستهها بیرون از محیط مجازی: دیر یا زود به تداخل نسخهها میرسید.
نقشهی تمرین چهارهفتهای
خواندن آموزش فقط نیمی از راه است. این نقشهی ساده کمک میکند مفاهیم در ذهنتان بنشیند:
| هفته | تمرکز | تمرین پیشنهادی |
|---|---|---|
| ۱ | متغیر، رشته، شرط | ماشینحساب سادهای که دو عدد و یک عملگر میگیرد |
| ۲ | لیست، دیکشنری، حلقه | دفترچهی تلفن کوچکی که نام و شماره را جستوجو میکند |
| ۳ | تابع، خطا، فایل | همین برنامهی ثبت هزینهها با قابلیت حذف و ویرایش |
| ۴ | ماژول، venv، بستهی خارجی | اسکریپتی که با requests یک API عمومی را صدا میزند |
در هر هفته، دستکم یک بار کد خودتان را بدون نگاه به آموزش از نو بنویسید. هر جا گیر کردید، پیام خطا را با دقت بخوانید؛ پیامهای خطای پایتون معمولاً دقیق میگویند مشکل در کدام خط و از چه نوعی است.
مسیر بعد از آموزش پایتون
پیش از پروژهی بعدی، کدتان را نسخهبندی کنید؛ آموزش Git و GitHub از صفر همین را قدمبهقدم توضیح میدهد. اگر به هوش مصنوعی علاقه دارید، آموزش RAG با پایتون نشان میدهد با همین مفاهیم پایه چطور یک چتبات روی اسناد خودتان بسازید. و اگر هنوز سیستم مناسبی برای کدنویسی ندارید، راهنمای خرید لپتاپ برنامهنویسی کمکتان میکند.
مهمترین توصیه اما ساده است: هر روز کمی کد بنویسید. مستندات رسمی The Python Tutorial هم منبعی دقیق و رایگان برای ادامهی مسیر است.




دیدگاهها
دیدگاهها پس از بررسی تحریریه منتشر میشوند. توهین، تبلیغ و لینکهای بیربط حذف میشوند؛ نقد فنی و مستند همیشه خوشآمد است.
هنوز کسی چیزی ننوشته. اولین دیدگاه را شما ثبت کنید.