python مجتمع فنی راهیان
برنامه نویسی از مقدماتی تا پیشرفته

python

زبان برنامه نویسی پایتون چیست؟

به بیان فنی، «پایتون» (Python) یک زبان برنامه‌نویسی «شی‌گرا» (Object-Oriented) و «سطح بالا» (High-Level) با «معناشناسی» (Semantic) پویای یکپارچه شده برای وب و ساخت و توسعه «نرم‌افزارهای کاربردی» (Application software) است. این زبان برنامه‌نویسی در زمینه «توسعه سریع نرم‌افزارهای کاربردی» (Rapid Application Development) دارای جذابیت بالایی محسوب می‌شود زیرا دارای «انواع پویا» (Dynamic Types) و «انقیاددهنده پویا» (Dynamic Binding) است.

پایتون، زبان برنامه‌نویسی نسبتا ساده‌ای محسوب می‌شود که یادگیری آن به دلیل دارا بودن «نحو» یکتایی که بر قابلیت خوانایی تمرکز و تاکید دارد آسان است. خواندن و ترجمه کدهای نوشته شده به زبان برنامه نویسی پایتون نسبت به دیگر زبان‌ها برای «توسعه‌دهندگان» (Developers) ساده‌تر محسوب می‌شود. این موضوع به نوبه خود هزینه‌های نگهداری و توسعه برنامه‌های نوشته شده به این زبان را کاهش می‌دهد زیرا امکان همکاری تیم‌ها بدون مواجهه با موانع زبانی و وجود تجربیات کاری متفاوت در میان اعضای تیم را به دست می‌دهد.

python

# Simple output (with Unicode)
>>> print("Hello, I'm Python!")
Hello, I'm Python!
# Input, assignment
>>> name = input('What is your name?\n')
What is your name?
Python
>>> print(f'Hi, {name}.')
Hi, Python.
سرفصل‌ها

python

  • درس یکم: انواع داده‌‌ ها
    • نحوه دانلود پایتون و معرفی ابزارهای مورد نیاز
    • انواع داده ها
      • صحیح
      • رشته
      • اعشاری
    • روش های صحیح نامگذاری متغیرها
    • معرفی رشته، لیست، تاپل (Tuple)، دیکشنری و مجموعه
    • دستور Input
  • درس دوم: عملگرها
    • عملگرهای محاسباتی (+, –, *, /, //, **, %)
    • عملگرهای انتساب (= ,+= ,-= ,/= ,//= ,%=)
    • عملگرهای مقایسه ای (== ,!= ,< ,<= ,> ,>=)
    • عملگرهای منطقی (and, or, not)
    • عملگرهای تعیین عضویت (in, not in)
    • عملگرهای بیتی (& , |, ~, << , >> )
    • کار با توابع موجود در ماژول math
      • ()sqrt
      • ()trunc
      • ()floor
      • ()ceil
      • ()factorial
      • log
      • log2
      • log10
      • sin
      • ()fmod
      • ()gcd
      • ()fabs
      • ()pow
      • pi
    • معرفی ماژول های random, datetime, sys, platform, os
  • درس سوم: دستورات شرطی
    • دستور If
    • دستور if…else
    • دستور else…if
    • معرفی Conditional Expression
  • درس چهارم: حلقه ها
    • دستور for
    • حلقه های تو در تو
    • دستور continue
    • دستور break
    • دستور while
  • درس پنجم: رشته (String)
    • برش (Slicing) در رشته
    • تعیین طول رشته با تابع ()len
    • تعیین کد اسکی (ASCII) یک کاراکتر با تابع ()ord
    • تعیین یک کاراکتر با داشتن کد اسکی آن به کمک تابع ()chr
    • تعیین کوچک ترین و بزرگ ترین کاراکتر موجود در یک رشته با توابع ()min(), max
    • بررسی کوچک یا بزرگ بودن همه کاراکترهای یک رشته با توابع ()islower(), isupper
    • بررسی عددی بودن کاراکترهای یک رشته با تابع ()isdigit
    • کار با توابع ()isalnum(), isalpha(), isspace
    • بررسی شروع یک رشته با کاراکترهای خاص با تابع ()startswith
    • بررسی پایان یک رشته با کاراکترهای خاص با تابع ()endswith
    • پیدا کردن اندیس یک کاراکتر در رشته با تابع ()find(), index
    • شمارش تعداد حضور یک کاراکتر در رشته با تابع ()count
    • تبدیل حرف اول یک رشته به حروف بزرگ با تابع ()capitalize
    • تبدیل حرف اول هر رشته در یک جمله به حروف بزرگ با تابع ()title
    • تبدیل تمام حروف یک رشته به حروف کوچک با تابع ()lower
    • تبدیل تمام حروف یک رشته به حروف بزرگ با تابع ()upper
    • جایگزینی یک زیر رشته به جای زیر رشته دیگر با تابع ()replace
    • حذف کاراکتر تعیین شده از اول و آخر رشته با تابع ()strip
    • جداسازی کلمات یک جمله با تابع ()split
    • ایجاد یک رشته با عناصر یک لیست به کمک تابع ()join
    • تنظیم رشته از چپ یا راست و یا مرکز با توابع
      • ()ljust
      • ()rjust
      • ()center
    • تعیین قالب نمایش یک رشته در خروجی با تابع format
  • درس ششم: لیست
    • تعریف ساختمان داده لیست
    • برش در لیست
    • تعیین اندیس یک عنصر (index)
    • شمارش تعداد عناصر لیست (count)
    • درج یک عنصر در یک موقعیت از لیست (insert)
    • حذف یک عنصر از لیست به کمک مقدار آن (تابع remove)
    • حذف یک عنصر از لیست به کمک اندیس آن (تابع pop)
    • معکوس کردن لیست (reverse)
    • مرتب سازی لیست (sort)
    • درج یک عنصر به انتهای لیست (append)
    • درج یک لیست به انتهای لیست دیگر (extend)
    • حذف همه عناصر لیست (clear)
    • ایجاد یک کپی از لیست (copy)
  • درس هفتم: تاپل (Tuple)
    • معرفی ساختمان داده تاپل
    • تعیین طول متغیر از نوع تاپل با تابع ()len
    • برش در تاپل
    • تعیین اندیس یک عنصر تاپل با تابع ()index
    • جمع عناصر یک تاپل با تابع ()sum
    • تعیین کوچک ترین و بزرگ ترین عنصر یک تاپل با ()max(), min
    • معکوس کردن تاپل
    • اضافه کردن یک عنصر به انتهای تاپل
    • حذف یک عنصر از تاپل
    • ادغام دو تاپل به کمک تابع zip
    • بررسی چند مثال
  • درس هشتم: دیکشنری
    • معرفی ساختمان داده دیکشنری
    • تعیین طول متغیر از نوع دیکشنری با تابع ()len
    • تعیین مقدار یک عنصر از دیکشنری به کمک کلید آن با تابع ()get
    • تعیین کلیدها با تابع ()keys
    • تعیین مقدارها با تابع ()values
    • تعیین جفت کلید و مقدار با تابع items
    • حذف یک عنصر به کمک کلید آن با تابع ()pop
    • حذف همه عناصر با clear
    • مرتب سازی
    • ایجاد یک کپی از دیکشنری با copy
    • ترکیب دو دیکشنری با update
    • بررسی چند مثال
    • دیکشنری های تو در تو
  • درس نهم: مجموعه
    • معرفی ساختمان داده مجموعه
    • ایجاد یک مجموعه به دو روش
    • تعیین وجود یک عضو در مجموعه با عملگر in
    • اضافه کردن آیتم به مجموعه با add
    • حذف یک آیتم از مجموعه با remove
    • ایجاد کپی با copy
    • خالی کردن مجموعه با clear
    • حذف مجموعه با تابع ()del
    • محاسبه تفاضل دو مجموعه با ()difference
    • محاسبه اشتراک دو مجموعه با ()intersection
    • محاسبه اجتماع دو مجموعه با ()union
    • محاسبه تفاضل متقارن دو مجموعه با ()difference
    • بررسی مجزا بودن دو مجموعه با ()isdisjoint
    • بررسی زیر مجموعه بودن با ()issubset
  • درس دهم: تابع (Function) – بخش یکم
    • مفهوم تابع
    • متغیر محلی و سراسری
    • پیاده سازی چندین تابع
      • تشخیص اول بودن یک عدد
      • نمایش مثلث پاسکال
    • تابع هایی برای کار با رشته
      • تشخیص پالیندروم بودن
      • حذف کاراکترهای یک محدوده
      • تعیین بزرگ ترین کلمه در یک رشته
  • درس یازدهم: تابع (Function) – بخش دوم
    • تابع هایی برای کار با لیست
      • مجموع مقسوم علیه های یک عدد
      • محاسبه سری فیبوناچی
    • تابع هایی برای کار با دیکشنری
      • شمارش تعداد کارکترهای یک رشته
      • شمارش تعداد کلمات یک رشته
      • پیاده سازی Switch Case
    • تابع هایی برای مجموعه
      • حذف عناصر تکراری از لیست
      • پیدا کردن اولین کلمه تکراری در یک لیست
      • تعیین اعداد اول کوچک تر از یک عدد مشخص
    • کار با ماتریس (آرایه دو بعدی) – بررسی جادویی بودن یک ماتریس
  • درس دوازدهم: تابع بازگشتی
    • توصیف مفهوم بازگشتی
    • محاسبه فاکتوریل به صورت غیر بازگشتی و بازگشتی
    • محاسبه مجموع عناصر یک لیست به تابع بازگشتی
    • محاسبه سری فیبوناچی
    • محاسبه مجموع ارقام یک عدد
    • محاسبه توان، ضرب و ب.م.م
    • تبدیل یک عدد به مبناهای مختلف
  • درس سیزدهم: عبارت لامبدا (Lambda)
    • معرفی عبارات لامبدا
    • حل چند مثال با استفاده از لامبدا
    • استفاده از Map
    • استفاده از Filter
    • حل مساله فیبوناچی با عبارت لامبدا
    • پیدا کردن اشتراک دو لیست با لامبدا
    • مرتب کردن لیستی از تاپل ها
    • مرتب کردن لیستی از دیکشنری ها
  • درس چهاردهم: مدیریت استثناها
    • مفهوم استثنا
    • دستور try_except
    • دستور try-except_else_finally
    • بررسی چندین مثال
  • درس پانزدهم: فایل
    • خواندن و نوشتن (فایل متن)
    • خواندن و نوشتن (فایل CSV)
    • ذخیره یک دیکشنری در فایل JSON (با تابع dump)
    • خواندن یک دیکشنری از فایل JSON (با تابع load)
  • درس شانزدهم: عبارت های منظم
    • دستور search
    • دستور find
    • دستور findall
    • دستور split
    • دستور sub
    • دستور finditer
  • درس هفدهم: الگوریتم های مرتب سازی
    • مرتب سازی حبابی
    • مرتب سازی درجی
    • مرتب سازی انتخابی
    • مرتب سازی ادغامی
    • مرتب سازی سریع

 

      • ()ceil
      •  

پایتون چیست؟

 

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

 

پایتون یک زبان ‌برنامه‌نویسی چند منظوره و شی‌گرا به حساب می‌آید شما می‌توانید از آن برای توسعه اپلیکیشن‌های وب، دسکتاپ و حتی موبایل‌ها استفاده کنید. البته محبوبیت بیشتر پاییتون در سادگی استفاده از آن در موضوعاتی مانند علم داده‌، ماشین لرنینگ و شبکه ‌است.

 

مزایا و معایب پایتون؟

 

پایتون مانند هر زبان برنامه‌نویسی دیگری دارای مزایا و معایبی است که در لیست زیر سعی می‌کنیم به شکل جامع بخشی از این مزایا و معایب را برای شما لیست کنیم. البته در طول آموزش پایتون هم سعی می‌کنیم به این مزایا و معایب اشاراتی داشته باشیم.

مزایای پایتون

معایب پایتون