وبلاگ
صفر تا صد پایتون در یک نگاه: چیت شیت بخشهای اساسی
فهرست مطالب
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان
0 تا 100 عطرسازی + (30 فرمولاسیون اختصاصی حامی صنعت)
دوره فوق فشرده مکالمه زبان انگلیسی (ویژه بزرگسالان)
شمع سازی و عودسازی با محوریت رایحه درمانی
صابون سازی (دستساز و صنعتی)
صفر تا صد طراحی دارو
متخصص طب سنتی و گیاهان دارویی
متخصص کنترل کیفی شرکت دارویی
“`html
صفر تا صد پایتون در یک نگاه: چیت شیت بخشهای اساسی
پایتون، زبانی قدرتمند و همهکاره، در زمینههای مختلفی از توسعه وب و علم داده گرفته تا هوش مصنوعی و اسکریپتنویسی مورد استفاده قرار میگیرد. این چیتشیت، یک راهنمای جامع و سریع برای توسعهدهندگان پایتون، بهویژه افراد متخصص، است که به آنها کمک میکند تا به سرعت به مفاهیم و دستورات کلیدی پایتون دسترسی پیدا کنند. این مرجع به عنوان یک یادآور قوی برای سینتکس، توابع و بهترین شیوههای کدنویسی پایتون عمل میکند و تمرکز آن بیشتر بر ارائه اطلاعات دقیق و کاربردی است.
1. متغیرها و انواع داده در پایتون
متغیرها در پایتون برای ذخیره دادهها استفاده میشوند. پایتون یک زبان با تایپ دینامیک است، به این معنی که نیازی به تعریف نوع متغیر قبل از استفاده از آن نیست. پایتون به صورت خودکار نوع متغیر را بر اساس مقدار اختصاص داده شده تعیین میکند. درک انواع دادههای اساسی پایتون برای کارآمدی و دقت در برنامهنویسی بسیار مهم است.
1.1. انواع دادههای اصلی
- اعداد (Numbers):
- صحیح (Integers – int): اعداد بدون اعشار مانند 10، -5، 0.
- اعشاری (Floating-point numbers – float): اعداد دارای اعشار مانند 3.14، -2.5.
- مختلط (Complex numbers – complex): اعداد با قسمت حقیقی و موهومی مانند 2 + 3j.
- رشتهها (Strings – str): دنبالهای از کاراکترها که در داخل کوتیشن قرار میگیرند مانند “Hello”، ‘Python’.
- بولی (Booleans – bool): مقادیر درست یا نادرست (True یا False).
1.2. نحوه تعریف متغیرها
برای تعریف یک متغیر در پایتون، کافی است نام متغیر را نوشته و سپس با استفاده از عملگر انتساب (=)، مقدار مورد نظر را به آن اختصاص دهید.
x = 10 # متغیر صحیح
pi = 3.14 # متغیر اعشاری
name = "John" # متغیر رشتهای
is_active = True # متغیر بولی
1.3. تبدیل نوع داده (Type Casting)
گاهی اوقات نیاز است که نوع داده یک متغیر را به نوع دیگری تبدیل کنیم. پایتون توابع داخلی برای این کار فراهم کرده است:
int()
: تبدیل به عدد صحیح.float()
: تبدیل به عدد اعشاری.str()
: تبدیل به رشته.bool()
: تبدیل به مقدار بولی.
x = "10"
y = int(x) # تبدیل رشته "10" به عدد صحیح 10
z = float(y) # تبدیل عدد صحیح 10 به عدد اعشاری 10.0
2. عملگرها در پایتون
عملگرها نمادهایی هستند که برای انجام عملیات بر روی متغیرها و مقادیر استفاده میشوند. پایتون انواع مختلفی از عملگرها را ارائه میدهد که در دستههای زیر قرار میگیرند:
2.1. عملگرهای حسابی
+
: جمع-
: تفریق*
: ضرب/
: تقسیم//
: تقسیم صحیح (بدون باقیمانده)%
: باقیمانده تقسیم**
: توان
x = 10
y = 3
sum = x + y # جمع: 13
difference = x - y # تفریق: 7
product = x * y # ضرب: 30
quotient = x / y # تقسیم: 3.333...
floor_division = x // y # تقسیم صحیح: 3
remainder = x % y # باقیمانده: 1
power = x ** y # توان: 1000
2.2. عملگرهای مقایسهای
==
: مساوی!=
: نامساوی>
: بزرگتر<
: کوچکتر>=
: بزرگتر یا مساوی<=
: کوچکتر یا مساوی
x = 10
y = 5
is_equal = x == y # مساوی: False
is_not_equal = x != y # نامساوی: True
is_greater = x > y # بزرگتر: True
is_less = x < y # کوچکتر: False
is_greater_or_equal = x >= y # بزرگتر یا مساوی: True
is_less_or_equal = x <= y # کوچکتر یا مساوی: False
2.3. عملگرهای منطقی
and
: و (AND)or
: یا (OR)not
: نقیض (NOT)
x = True
y = False
result_and = x and y # و: False
result_or = x or y # یا: True
result_not_x = not x # نقیض x: False
result_not_y = not y # نقیض y: True
2.4. عملگرهای انتساب
=
: انتساب+=
: جمع و انتساب-=
: تفریق و انتساب*=
: ضرب و انتساب/=
: تقسیم و انتساب//=
: تقسیم صحیح و انتساب%=
: باقیمانده و انتساب**=
: توان و انتساب
x = 10
x += 5 # x = x + 5 => x = 15
x -= 3 # x = x - 3 => x = 12
x *= 2 # x = x * 2 => x = 24
x /= 4 # x = x / 4 => x = 6.0
2.5. عملگرهای عضویت
in
: بررسی وجود عضویتnot in
: بررسی عدم وجود عضویت
my_list = [1, 2, 3, 4, 5]
is_present = 3 in my_list # True
is_absent = 6 not in my_list # True
2.6. عملگرهای هویت
is
: بررسی هویت (برابری در حافظه)is not
: بررسی عدم هویت
x = [1, 2, 3]
y = x
z = [1, 2, 3]
print(x is y) # True (x و y به یک شیء در حافظه اشاره میکنند)
print(x is z) # False (x و z دو شیء متفاوت در حافظه هستند)
print(x == z) # True (x و z از نظر مقدار برابر هستند)
3. ساختارهای داده در پایتون
پایتون ساختارهای داده قدرتمندی را برای سازماندهی و مدیریت دادهها ارائه میدهد. این ساختارها به برنامهنویسان اجازه میدهند تا دادهها را به شیوهای کارآمد ذخیره و بازیابی کنند. درک ساختارهای داده مناسب برای حل مسائل مختلف برنامهنویسی ضروری است.
3.1. لیستها (Lists)
لیستها مجموعهای مرتب و قابل تغییر از عناصر هستند که میتوانند از انواع مختلف داده باشند. لیستها با استفاده از براکت ([]) تعریف میشوند و عناصر با کاما (,) از هم جدا میشوند.
my_list = [1, 2, "hello", 3.14, True]
3.1.1. عملیات رایج روی لیستها
- دسترسی به عناصر: با استفاده از اندیس (index).
- برش (Slicing): استخراج زیرمجموعهای از لیست.
- اضافه کردن عنصر:
append()
،insert()
،extend()
. - حذف عنصر:
remove()
،pop()
،del
. - مرتبسازی:
sort()
. - جستجو:
index()
،count()
.
my_list = [1, 2, 3, 4, 5]
print(my_list[0]) # 1 (دسترسی به عنصر اول)
print(my_list[1:4]) # [2, 3, 4] (برش)
my_list.append(6) # اضافه کردن 6 به انتهای لیست
my_list.insert(2, 10) # اضافه کردن 10 در اندیس 2
my_list.remove(3) # حذف عنصر 3
popped_element = my_list.pop(1) # حذف عنصر در اندیس 1 و برگرداندن آن
del my_list[0] # حذف عنصر در اندیس 0
my_list.sort() # مرتبسازی لیست به صورت صعودی
3.2. تاپلها (Tuples)
تاپلها مشابه لیستها هستند، اما غیرقابل تغییر (immutable) هستند. تاپلها با استفاده از پرانتز () تعریف میشوند.
my_tuple = (1, 2, "hello", 3.14, True)
3.2.1. تفاوت تاپل و لیست
تاپلها به دلیل غیرقابل تغییر بودن، حافظه کمتری مصرف میکنند و سرعت دسترسی به عناصر آنها بیشتر است. همچنین، تاپلها میتوانند به عنوان کلید در دیکشنریها استفاده شوند، در حالی که لیستها نمیتوانند.
3.3. دیکشنریها (Dictionaries)
دیکشنریها مجموعهای از جفتهای کلید-مقدار هستند. کلیدها باید منحصربهفرد و غیرقابل تغییر باشند، در حالی که مقادیر میتوانند از هر نوع داده باشند. دیکشنریها با استفاده از آکولاد ({}) تعریف میشوند.
my_dict = {"name": "John", "age": 30, "city": "New York"}
3.3.1. عملیات رایج روی دیکشنریها
- دسترسی به مقدار: با استفاده از کلید.
- اضافه کردن جفت کلید-مقدار:
my_dict[key] = value
. - حذف جفت کلید-مقدار:
del my_dict[key]
،pop()
. - بررسی وجود کلید:
in
. - دریافت کلیدها:
keys()
. - دریافت مقادیر:
values()
. - دریافت جفتهای کلید-مقدار:
items()
.
my_dict = {"name": "John", "age": 30, "city": "New York"}
print(my_dict["name"]) # John (دسترسی به مقدار با استفاده از کلید)
my_dict["job"] = "Engineer" # اضافه کردن جفت کلید-مقدار جدید
del my_dict["age"] # حذف جفت کلید-مقدار با کلید "age"
print("name" in my_dict) # True (بررسی وجود کلید "name")
print(my_dict.keys()) # dict_keys(['name', 'city', 'job']) (دریافت کلیدها)
print(my_dict.values()) # dict_values(['John', 'New York', 'Engineer']) (دریافت مقادیر)
print(my_dict.items()) # dict_items([('name', 'John'), ('city', 'New York'), ('job', 'Engineer')]) (دریافت جفتهای کلید-مقدار)
3.4. مجموعهها (Sets)
مجموعهها مجموعهای نامرتب از عناصر منحصربهفرد هستند. مجموعهها با استفاده از آکولاد ({}) یا تابع set()
تعریف میشوند.
my_set = {1, 2, 3, 4, 5}
my_set2 = set([4, 5, 6, 7, 8])
3.4.1. عملیات رایج روی مجموعهها
- اتحاد:
union()
یا|
. - اشتراک:
intersection()
یا&
. - تفاضل:
difference()
یا-
. - تفاضل متقارن:
symmetric_difference()
یا^
. - اضافه کردن عنصر:
add()
. - حذف عنصر:
remove()
،discard()
.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
union_set = set1.union(set2) # {1, 2, 3, 4, 5, 6, 7, 8} (اتحاد)
intersection_set = set1.intersection(set2) # {4, 5} (اشتراک)
difference_set = set1.difference(set2) # {1, 2, 3} (تفاضل)
symmetric_difference_set = set1.symmetric_difference(set2) # {1, 2, 3, 6, 7, 8} (تفاضل متقارن)
set1.add(6) # اضافه کردن عنصر 6
set1.remove(1) # حذف عنصر 1
4. ساختارهای کنترلی: حلقهها و شرطها
ساختارهای کنترلی به شما این امکان را میدهند که جریان اجرای برنامه را کنترل کنید. دو نوع اصلی ساختارهای کنترلی عبارتند از حلقهها و شرطها.
4.1. شرطها (Conditional Statements)
شرطها به شما اجازه میدهند که کد را بر اساس یک شرط خاص اجرا کنید. پایتون از دستورات if
، elif
(مخفف else if) و else
برای ایجاد شرطها استفاده میکند.
x = 10
if x > 0:
print("x is positive")
elif x == 0:
print("x is zero")
else:
print("x is negative")
4.2. حلقهها (Loops)
حلقهها به شما اجازه میدهند که یک بلوک کد را چندین بار اجرا کنید. پایتون دو نوع حلقه دارد: for
و while
.
4.2.1. حلقه for
حلقه for
برای تکرار روی یک دنباله (مانند لیست، تاپل، رشته یا دیکشنری) استفاده میشود.
my_list = [1, 2, 3, 4, 5]
for item in my_list:
print(item)
همچنین میتوانید از تابع range()
برای ایجاد یک دنباله از اعداد استفاده کنید:
for i in range(5): # تکرار از 0 تا 4
print(i)
for i in range(1, 10, 2): # تکرار از 1 تا 9 با گام 2
print(i)
4.2.2. حلقه while
حلقه while
تا زمانی که یک شرط خاص درست باشد، به اجرا ادامه میدهد.
i = 0
while i < 5:
print(i)
i += 1
4.2.3. دستورات break
و continue
break
: برای خروج از حلقه استفاده میشود.continue
: برای پرش به تکرار بعدی حلقه استفاده میشود.
for i in range(10):
if i == 3:
break # خروج از حلقه وقتی i برابر 3 شود
print(i)
for i in range(5):
if i == 2:
continue # پرش به تکرار بعدی وقتی i برابر 2 شود
print(i)
5. توابع در پایتون
توابع بلوکهایی از کد هستند که برای انجام یک کار خاص طراحی شدهاند. توابع به شما کمک میکنند تا کد خود را سازماندهی کنید، از تکرار کد جلوگیری کنید و قابلیت استفاده مجدد کد را افزایش دهید.
5.1. تعریف تابع
برای تعریف یک تابع در پایتون، از کلمه کلیدی def
استفاده میکنید، followed by the function name, parentheses ()
, and a colon :
.
def greet(name):
"""
This function greets the person passed in as a parameter.
"""
print("Hello, " + name + ". Good morning!")
5.2. فراخوانی تابع
برای فراخوانی یک تابع، کافی است نام تابع را نوشته و سپس آرگومانهای مورد نیاز را در داخل پرانتز وارد کنید.
greet("John") # فراخوانی تابع greet با آرگومان "John"
5.3. آرگومانها و پارامترها
پارامترها متغیرهایی هستند که در تعریف تابع مشخص میشوند و آرگومانها مقادیری هستند که هنگام فراخوانی تابع به پارامترها ارسال میشوند.
- آرگومانهای موقعیتی (Positional Arguments): ترتیب آرگومانها مهم است.
- آرگومانهای کلیدواژهای (Keyword Arguments): آرگومانها با نام پارامتر مشخص میشوند.
- آرگومانهای پیشفرض (Default Arguments): پارامترها مقدار پیشفرض دارند.
def describe_person(name, age, city="Unknown"): # city دارای مقدار پیشفرض است
print(f"Name: {name}, Age: {age}, City: {city}")
describe_person("Alice", 25) # Name: Alice, Age: 25, City: Unknown
describe_person(name="Bob", age=30, city="London") # Name: Bob, Age: 30, City: London
5.4. مقدار بازگشتی
یک تابع میتواند با استفاده از دستور return
یک مقدار را برگرداند.
def add(x, y):
"""
This function returns the sum of two numbers.
"""
return x + y
result = add(5, 3) # result = 8
5.5. توابع لامبدا (Lambda Functions)
توابع لامبدا توابع بینام و کوچکی هستند که میتوانند در یک خط تعریف شوند. آنها با استفاده از کلمه کلیدی lambda
تعریف میشوند.
square = lambda x: x**2
print(square(5)) # 25
add = lambda x, y: x + y
print(add(3, 4)) # 7
6. کلاسها و اشیاء در پایتون
پایتون یک زبان شیءگرا است، به این معنی که از کلاسها و اشیاء برای سازماندهی و ساختاربندی کد استفاده میکند. کلاسها الگوهایی برای ایجاد اشیاء هستند و اشیاء نمونههایی از کلاسها هستند.
6.1. تعریف کلاس
برای تعریف یک کلاس در پایتون، از کلمه کلیدی class
استفاده میکنید.
class Dog:
"""
A simple class to represent a dog.
"""
def __init__(self, name, breed):
self.name = name
self.breed = breed
def bark(self):
print("Woof!")
6.2. سازنده (Constructor)
متد __init__()
سازنده کلاس است. این متد هنگام ایجاد یک شیء از کلاس فراخوانی میشود و برای مقداردهی اولیه ویژگیهای شیء استفاده میشود.
6.3. ویژگیها و متدها
- ویژگیها (Attributes): متغیرهایی هستند که به یک شیء تعلق دارند.
- متدها (Methods): توابعی هستند که به یک شیء تعلق دارند.
6.4. ایجاد شیء
برای ایجاد یک شیء از کلاس، نام کلاس را نوشته و سپس آرگومانهای مورد نیاز را در داخل پرانتز وارد کنید.
my_dog = Dog("Buddy", "Golden Retriever")
print(my_dog.name) # Buddy
print(my_dog.breed) # Golden Retriever
my_dog.bark() # Woof!
6.5. وراثت (Inheritance)
وراثت به شما این امکان را میدهد که یک کلاس جدید را از یک کلاس موجود ایجاد کنید. کلاس جدید ویژگیها و متدهای کلاس والد را به ارث میبرد و میتواند ویژگیها و متدهای جدیدی را نیز اضافه کند.
class Bulldog(Dog):
def __init__(self, name):
super().__init__(name, "Bulldog")
def bark(self):
print("Woof Woof!")
my_bulldog = Bulldog("Spike")
print(my_bulldog.name) # Spike
print(my_bulldog.breed) # Bulldog
my_bulldog.bark() # Woof Woof!
7. ماژولها و بستهها در پایتون
ماژولها فایلهایی هستند که شامل کد پایتون هستند. ماژولها به شما کمک میکنند تا کد خود را سازماندهی کنید و قابلیت استفاده مجدد کد را افزایش دهید. بستهها مجموعههایی از ماژولها هستند.
7.1. وارد کردن ماژول
برای وارد کردن یک ماژول، از دستور import
استفاده میکنید.
import math
print(math.sqrt(16)) # 4.0
7.2. وارد کردن توابع و کلاسها خاص
میتوانید توابع و کلاسهای خاص را از یک ماژول وارد کنید.
from math import sqrt, pi
print(sqrt(25)) # 5.0
print(pi) # 3.141592653589793
7.3. نام مستعار (Alias)
میتوانید یک نام مستعار برای یک ماژول یا تابع ایجاد کنید.
import math as m
print(m.sqrt(9)) # 3.0
7.4. بستهها
یک بسته یک دایرکتوری است که شامل یک فایل __init__.py
است. فایل __init__.py
میتواند خالی باشد یا شامل کد مقداردهی اولیه برای بسته باشد.
7.5. مثالهای ماژولهای پرکاربرد
os
: برای تعامل با سیستم عامل.sys
: برای دسترسی به متغیرها و توابع مربوط به سیستم.datetime
: برای کار با تاریخ و زمان.random
: برای تولید اعداد تصادفی.json
: برای کار با دادههای JSON.re
: برای کار با عبارات باقاعده.
8. مدیریت خطا (Error Handling) در پایتون
مدیریت خطا برای نوشتن برنامههای قوی و قابل اعتماد ضروری است. پایتون از بلوکهای try...except
برای مدیریت خطاها استفاده میکند.
8.1. بلوک try...except
کدی که ممکن است باعث ایجاد خطا شود در داخل بلوک try
قرار میگیرد. اگر خطایی رخ دهد، اجرای کد در بلوک try
متوقف میشود و کد در بلوک except
اجرا میشود.
try:
result = 10 / 0 # این کد باعث ایجاد خطای ZeroDivisionError میشود
except ZeroDivisionError:
print("Cannot divide by zero!")
8.2. مدیریت انواع مختلف خطا
میتوانید انواع مختلف خطا را به طور خاص مدیریت کنید.
try:
x = int(input("Enter a number: "))
result = 10 / x
print(result)
except ValueError:
print("Invalid input. Please enter a number.")
except ZeroDivisionError:
print("Cannot divide by zero.")
8.3. بلوک else
اگر هیچ خطایی در بلوک try
رخ ندهد، کد در بلوک else
اجرا میشود.
try:
x = int(input("Enter a number: "))
result = 10 / x
except ValueError:
print("Invalid input. Please enter a number.")
except ZeroDivisionError:
print("Cannot divide by zero.")
else:
print("Result:", result)
8.4. بلوک finally
کد در بلوک finally
همیشه اجرا میشود، چه خطایی رخ دهد یا ندهد. این بلوک معمولاً برای انجام کارهای پاکسازی مانند بستن فایلها استفاده میشود.
try:
f = open("myfile.txt", "r")
content = f.read()
print(content)
except FileNotFoundError:
print("File not found.")
finally:
try:
f.close()
except:
pass
print("Closing the file.")
8.5. ایجاد خطا (Raising Exceptions)
میتوانید با استفاده از دستور raise
یک خطا را ایجاد کنید.
def check_age(age):
if age < 0:
raise ValueError("Age cannot be negative.")
else:
print("Age is valid.")
try:
check_age(-5)
except ValueError as e:
print(e) # Age cannot be negative.
این چیتشیت تنها مروری بر بخشهای اساسی پایتون است. برای یادگیری بیشتر، به مستندات رسمی پایتون و منابع آنلاین مراجعه کنید. با تمرین و تجربه بیشتر، میتوانید مهارتهای برنامهنویسی پایتون خود را بهبود بخشید و برنامههای قدرتمند و کارآمدی را توسعه دهید.
```
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان