۱۴۰۵ مهر ۱۵, چهارشنبه
دلار آمریکا۲۶۲٬۲۰۵▼ ۲٫۵۲٪یورو۲۹۴٬۸۳۰▼ ۲٫۸۴٪درهم امارات۷۱٬۷۷۶▼ ۲٫۲۹٪سکه امامی۲۶۷٬۳۸۵٬۰۰۰▼ ۱٫۶۹٪طلای ۱۸ عیار (گرم)۲۶٬۲۶۷٬۶۰۰▼ ۱٫۷۹٪انس طلا۴٬۱۱۶ $▼ ۱٫۱۴٪تتر۲۶۲٬۶۷۸▼ ۲٫۴۱٪بیت‌کوین۸۳٬۷۰۹ $▼ ۲٫۳٪اتریوم۲٬۵۸۴ $▼ ۴٫۲۶٪سولانا۱۱۷٫۵۵ $▼ ۳٫۰۱٪اپل۳۳۳٫۶۳ $▲ ۰٫۲۲٪انویدیا۲۳۹٫۲۴ $▲ ۰٫۱۴٪مایکروسافت۵۲۹٫۳۰ $▲ ۰٫۷۸٪آلفابت (گوگل)۳۴۷٫۶۸ $▲ ۰٫۳۵٪تسلا۳۸۰٫۶۸ $▲ ۰٫۵۲٪شاخص نزدک۲۷٬۶۰۰ $▲ ۰٫۴۵٪
نرخ ارز

آموزش پایتون (Python) از صفر؛ نصب، مفاهیم پایه و اولین پروژه

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

کاور گرافیکی DevNA با عنوان «Python»: آموزش از صفر؛ نصب، مفاهیم پایه و اولین پروژه
کاور گرافیکی DevNA با عنوان «Python»: آموزش از صفر؛ نصب، مفاهیم پایه و اولین پروژه
فهرست مطالب
  1. پایتون چیست و چرا برای شروع انتخاب خوبی است؟
  2. نصب پایتون روی ویندوز، مک و لینوکس
  3. اولین برنامه‌ی پایتون
  4. متغیرها و انواع داده
  5. لیست و دیکشنری: دو ساختار داده‌ی اصلی
  6. شرط‌ها و حلقه‌ها
  7. تابع: بسته‌بندی منطق تکراری
  8. مدیریت خطا با try و except
  9. ماژول‌ها و کتابخانه‌ی استاندارد
  10. محیط مجازی و نصب بسته با pip
  11. پروژه‌ی عملی: برنامه‌ی ثبت هزینه‌ها
  12. اشتباهات رایج تازه‌کارها
  13. نقشه‌ی تمرین چهارهفته‌ای
  14. مسیر بعد از آموزش پایتون

پایتون برای شروع جدی برنامه‌نویسی انتخاب مطمئنی است: زبانی خوانا با کتابخانه‌های فراوان که از اسکریپت‌های ساده تا وب، تحلیل داده و هوش مصنوعی را پوشش می‌دهد. در این آموزش پایتون از صفر، پایتون را نصب می‌کنیم، مفاهیم پایه را با مثال‌های قابل‌اجرا مرور می‌کنیم و در پایان یک برنامه‌ی کوچک اما واقعی برای ثبت هزینه‌ها می‌سازیم.

همه‌ی کدهای این مطلب روی 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 هم منبعی دقیق و رایگان برای ادامه‌ی مسیر است.

$ devna rate --article

—
هنوز رأیی ثبت نشده
  1. ۵۰
  2. ۴۰
  3. ۳۰
  4. ۲۰
  5. ۱۰

این مطلب چقدر به کارتان آمد؟

روی ستاره‌ها بزنید

واکنش شما

اولین نفری باشید که واکنش نشان می‌دهد.

پرسش‌های پرتکرار

پیش‌نیاز یادگیری پایتون چیست؟

پیش‌نیاز خاصی ندارد. کافی است با فایل‌ها و یک ویرایشگر متن کار کرده باشید. ریاضی در حد دبیرستان برای شروع بس است؛ مفاهیم پیشرفته‌تر را همراه پروژه‌ها یاد می‌گیرید.

کدام نسخه‌ی پایتون را نصب کنم؟

آخرین نسخه‌ی پایدار سری 3 را از صفحه‌ی دانلود رسمی python.org نصب کنید. پشتیبانی از پایتون 2 سال‌هاست تمام شده؛ برای یادگیری سراغش نروید.

یادگیری مقدمات پایتون چقدر طول می‌کشد؟

با روزی یکی‌دو ساعت تمرین، بیشتر افراد در چند هفته مفاهیم پایه را یاد می‌گیرند. سرعت واقعی بیش از خواندن، به تمرین و ساختن پروژه‌های کوچک بستگی دارد.

بعد از مقدمات پایتون چه چیزی یاد بگیرم؟

به هدفتان بستگی دارد: توسعه‌ی وب با فریم‌ورک‌هایی مثل Django یا FastAPI، تحلیل داده با pandas، یا هوش مصنوعی. در هر مسیری، Git و تست‌نویسی را هم کنارش یاد بگیرید.

منابع

  1. The Python Tutorial – Python documentation
  2. Download Python – python.org
  3. Using Python on Windows – Python documentation
  4. venv — Creation of virtual environments
  5. PEP 8 – Style Guide for Python Code

خطایی در این مطلب دیدید؟ به تحریریه گزارش دهید؛ اصلاحیه‌ها طبق اصول تحریریه ثبت می‌شوند.

دیدگاه‌ها

۰/۲٬۰۰۰

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

$ comments --count۰

هنوز کسی چیزی ننوشته. اولین دیدگاه را شما ثبت کنید.

مطالب مرتبط