معرفی پایتون:
💡 آشنایی با پایتون: چرا یادگیری پایتون اهمیت دارد؟
پایتون یکی از محبوبترین و سادهترین زبانهای برنامهنویسی دنیاست که هم برای دانشآموزان مبتدی و هم برای حرفهایها انتخاب اول محسوب میشود. 🌟
اما چرا یادگیری پایتون اینقدر اهمیت دارد؟ در ادامه چند دلیل کلیدی را بررسی میکنیم:
📝 سادگی و خوانایی کد
نحو (Syntax) پایتون بسیار شبیه زبان انسان است و یادگیری آن بسیار آسانتر از سایر زبانهاست. همین موضوع باعث شده یادگیری برنامهنویسی با پایتون برای مبتدیان به خصوص نوجوانان بسیار راحت باشد.
🤖 کاربرد گسترده در حوزههای مختلف
پایتون در زمینههایی مثل هوش مصنوعی (AI)، رباتیک، تحلیل دادهها، توسعه وب و حتی طراحی بازی کاربرد فراوان دارد.
🌍 جامعه پشتیبان بزرگ و منابع آموزشی رایگان
هزاران منبع آنلاین، آموزش رایگان و انجمنهای تخصصی برای یادگیری و رفع مشکلات در دسترس شماست.
🚀 ابزارها و کتابخانههای قدرتمند
کتابخانههایی مانند NumPy، Pandas و TensorFlow امکان اجرای پروژههای پیچیده و پیشرفته را برای شما ساده میکنند.
🌐 مناسب برای حوزههای رباتیک و STEM
اگر به پروژههای مهندسی، رباتیک و علوم پایه علاقه دارید، پایتون یکی از بهترین زبانها برای شروع یادگیری است.
🎯 پلتفرمهای آموزشی ساده و کاربردی مثل Pictoblox
ابزارهایی مانند Pictoblox که ترکیبی از برنامهنویسی گرافیکی و پایتون را ارائه میدهند، به شما کمک میکنند با سرگرمی و آموزش همزمان وارد دنیای برنامهنویسی شوید.
⚙️ نصب و راهاندازی پایتون و محیطهای توسعه (IDE)
برای شروع برنامهنویسی با پایتون، پس از نصب خود زبان، استفاده از یک محیط توسعه مناسب (IDE) بسیار کمککننده است:
⬇️ نصب پایتون
به وبسایت رسمی پایتون مراجعه کنید و نسخه مناسب سیستم خود را دانلود نمایید.
در هنگام نصب، گزینه Add Python to PATH را فعال کنید تا پایتون بهدرستی روی سیستم شما اجرا شود. ✅
🔧 انتخاب محیط توسعه (IDE) مناسب
🖥️ Visual Studio Code (VS Code): محیطی سبک، رایگان و با افزونههای قدرتمند مخصوص پایتون
🧑💻 PyCharm: محیط حرفهای برای پروژههای بزرگتر، نسخه رایگان Community برای مبتدیان
📒 Jupyter Notebook: مناسب آموزش، تحلیل دادهها و یادگیری مرحلهبهمرحله، با نصب دستور pip install notebook و اجرای jupyter notebook
🤖 استفاده از Pictoblox برای شروع آسانتر
Pictoblox چیست؟
یک نرمافزار ساده و سرگرمکننده که برنامهنویسی گرافیکی و پایتون را ترکیب میکند.
ویژگیها:
مناسب برای یادگیری برنامهنویسی پایه، اتصال به رباتها و انجام پروژههای STEM.
نحوه نصب:
به بخش دانلود سایت مراجعه کرده، نرمافزار را نصب و از بخش Python Mode برای برنامهنویسی استفاده کنید.
اگر دنبال یک مسیر یادگیری برنامهنویسی از صفر تا پیشرفته هستید، پایتون بهترین گزینه برای شروع است. دورههای آموزشی روبوویرا با تمرکز بر آموزش کاربردی، پروژهمحور و آسان، میتوانند همراه خوبی در این مسیر باشند.
۱. معرفی متغیرها
🔹 متغیر چیست و چرا از آن استفاده میکنیم؟
متغیر (Variable) یک نام است که برای ذخیرهسازی دادهها در برنامه استفاده میشود. با کمک متغیرها، میتوانیم اطلاعات را در حافظه نگهداری کنیم و بعداً از آنها استفاده کنیم.
💡 مثال:
وقتی میخواهیم سن یک دانشآموز را ذخیره کنیم، میتوانیم یک متغیر به نام age
ایجاد کنیم و مقدار ۱۲ را در آن ذخیره کنیم.
age = 12
print(age) # خروجی: 12
چرا از متغیرها استفاده میکنیم؟
✅ دادهها را ذخیره و مدیریت میکنیم.
✅ امکان تغییر مقادیر در طول اجرای برنامه را داریم.
✅ خوانایی و سازماندهی کد را بهبود میدهیم.
🔹 ذخیرهسازی دادهها در حافظه با استفاده از متغیرها
وقتی مقدار یک متغیر را تعیین میکنیم، آن مقدار در حافظهی کامپیوتر ذخیره میشود و هر زمان که نیاز داشته باشیم، میتوانیم به آن دسترسی پیدا کنیم.
📌 مفهوم حافظه در متغیرها:
متغیر مانند یک جعبه است که میتوانیم مقداری را داخل آن قرار دهیم و بعداً مقدار را تغییر دهیم.
x = 5 # مقدار 5 در حافظه ذخیره میشود و نام آن x است
x = x + 3 # مقدار جدید 8 در x ذخیره میشود
print(x) # خروجی: 8
🔹 نامگذاری متغیرها (قوانین و استانداردها)
هنگام نامگذاری متغیرها در Python باید این قوانین را رعایت کنیم:
✅ با حروف (A-Z, a-z) یا آندرلاین _
شروع شود.
✅ پس از کاراکتر اول، میتوان از اعداد (0-9) هم استفاده کرد.
✅ نام متغیرها به حروف بزرگ و کوچک حساس است (Case-Sensitive).
✅ نمیتوان از کلمات کلیدی زبان پایتون (مانند if
، while
، def
) به عنوان نام متغیر استفاده کرد.
✅ بهتر است نام متغیرها معنادار باشد.
🚫 نامگذاری نادرست:
2name = "Ali" # خطا! نباید با عدد شروع شود
my-name = "Sara" # خطا! نباید از "-" استفاده شود
if = 10 # خطا! "if" یک کلمه کلیدی در پایتون است
✅ نامگذاری صحیح:
name = "Ali"
_age = 25
student_id = 12345
🔹 استانداردهای نامگذاری متغیرها
در پایتون معمولاً از snake_case برای نامگذاری استفاده میشود:
✅ student_name
(درست)
❌ StudentName
(غیر استاندارد در پایتون ولی در زبانهای دیگر مثل جاوا متداول است)
انواع دادهای در متغیرها
هر متغیر میتواند یک نوع دادهای خاص داشته باشد. در پایتون، نیازی به تعیین نوع متغیر نیست و خود پایتون نوع داده را تشخیص میدهد.
🔹 اعداد صحیح (Integer)
اعداد صحیح مقادیر عددی بدون اعشار هستند.
age = 12
students = 30
print(type(age)) # خروجی:
🔹 اعداد اعشاری (Float)
اعداد اعشاری شامل اعداد دارای ممیز (.) هستند.
temperature = 36.5
pi = 3.14159
print(type(temperature)) # خروجی:
🔹 رشتهها (Strings)
رشتهها دنبالهای از کاراکترها هستند که داخل ""
یا ''
قرار میگیرند.
name = "Ali"
message = 'Hello, world!'
print(type(name)) # خروجی:
🔹 مقدار منطقی (Boolean)
مقادیر منطقی فقط دو مقدار True
(درست) یا False
(نادرست) دارند.
is_on = True
is_student = False
print(type(is_on)) # خروجی:
۲. عملگرها در برنامهنویسی (Operators)
عملگرها (Operators) نمادهایی هستند که برای انجام عملیات روی متغیرها و مقادیر استفاده میشوند. در پایتون انواع مختلفی از عملگرها وجود دارد که هر کدام وظیفه خاصی دارند.
🔹 دستهبندی عملگرها در پایتون
در پایتون عملگرها به دستههای زیر تقسیم میشوند:
نوع عملگر | توضیح |
---|---|
۱. عملگرهای محاسباتی (Arithmetic Operators) | انجام عملیات ریاضی مثل جمع، تفریق، ضرب و تقسیم |
۲. عملگرهای انتساب (Assignment Operators) | مقداردهی و تغییر مقدار متغیرها |
۳. عملگرهای مقایسهای (Comparison Operators) | مقایسه دو مقدار و بررسی بزرگتر، کوچکتر یا مساوی بودن |
۴. عملگرهای منطقی (Logical Operators) | ترکیب شرطها با and ، or و not |
۵. عملگرهای بیتی (Bitwise Operators) | انجام عملیات بر روی بیتهای اعداد |
۶. عملگرهای عضویت (Membership Operators) | بررسی عضویت مقدار در لیست، رشته یا تاپل |
۷. عملگرهای هویت (Identity Operators) | بررسی یکسان بودن دو مقدار در حافظه |
۱. عملگرهای محاسباتی (Arithmetic Operators)
این عملگرها برای انجام عملیات ریاضی استفاده میشوند.
عملگر | توضیح | مثال | خروجی |
---|---|---|---|
+ | جمع | x + y | حاصل جمع x و y |
- | تفریق | x - y | حاصل تفریق y از x |
* | ضرب | x * y | حاصل ضرب x در y |
/ | تقسیم | x / y | حاصل تقسیم x بر y (به صورت عدد اعشاری) |
// | تقسیم صحیح | x // y | بخش صحیح تقسیم x بر y |
% | باقیمانده | x % y | باقیمانده تقسیم x بر y |
** | توان | x ** y | x به توان y |
💡 مثال:
x = 10
y = 3
print(x + y) # 13
print(x - y) # 7
print(x * y) # 30
print(x / y) # 3.333...
print(x // y) # 3
print(x % y) # 1
print(x ** y) # 1000 (10 به توان 3)
۲. عملگرهای انتساب (Assignment Operators)
این عملگرها برای مقداردهی به متغیرها استفاده میشوند.
عملگر | معنی | مثال | معادل با |
---|---|---|---|
= | مقداردهی | x = 5 | x مقدار 5 را میگیرد |
+= | جمع و انتساب | x += 3 | x = x + 3 |
-= | تفریق و انتساب | x -= 3 | x = x - 3 |
*= | ضرب و انتساب | x *= 3 | x = x * 3 |
/= | تقسیم و انتساب | x /= 3 | x = x / 3 |
//= | تقسیم صحیح و انتساب | x //= 3 | x = x // 3 |
%= | باقیمانده و انتساب | x %= 3 | x = x % 3 |
**= | توان و انتساب | x **= 3 | x = x ** 3 |
💡 مثال:
x = 10
x += 5 # برابر با x = x + 5
print(x) # خروجی: 15
۳. عملگرهای مقایسهای (Comparison Operators)
این عملگرها برای مقایسه دو مقدار استفاده میشوند و خروجی آنها True
یا False
است.
عملگر | توضیح | مثال | خروجی |
---|---|---|---|
== | مساوی بودن | x == y | اگر x برابر y باشد، True برمیگرداند |
!= | نامساوی | x != y | اگر x با y متفاوت باشد، True برمیگرداند |
> | بزرگتر | x > y | اگر x بزرگتر از y باشد، True برمیگرداند |
< | کوچکتر | x < y | اگر x کوچکتر از y باشد، True برمیگرداند |
>= | بزرگتر یا مساوی | x >= y | اگر x بزرگتر یا مساوی y باشد، True برمیگرداند |
<= | کوچکتر یا مساوی | x <= y | اگر x کوچکتر یا مساوی y باشد، True برمیگرداند |
💡 مثال:
x = 10
y = 5
print(x == y) # False
print(x > y) # True
print(x <= y) # False
۴. عملگرهای منطقی (Logical Operators)
این عملگرها برای ترکیب چند شرط استفاده میشوند.
عملگر | توضیح | مثال | خروجی |
---|---|---|---|
and | اگر هر دو شرط True باشند | (x > 5 and x < 15) | True اگر x بین ۵ و ۱۵ باشد |
or | اگر حداقل یک شرط True باشد | (x < 5 or x > 15) | True اگر x خارج از محدوده باشد |
not | برعکس کردن مقدار منطقی | not(x > 5) | اگر x بزرگتر از ۵ باشد، مقدار False میدهد |
💡 مثال:
x = 10
print(x > 5 and x < 15) # True
print(x > 5 or x < 2) # True
print(not(x > 5)) # False
۵. عملگرهای بیتی (Bitwise Operators)
این عملگرها عملیات سطح پایین را روی بیتهای اعداد انجام میدهند.
عملگر | توضیح |
---|---|
& | AND بیتی |
` | ` |
^ | XOR بیتی |
~ | NOT بیتی |
<< | شیفت به چپ |
>> | شیفت به راست |
۶. عملگرهای عضویت (Membership Operators)
برای بررسی عضویت یک مقدار در لیست، رشته یا مجموعه استفاده میشوند.
عملگر | توضیح |
---|---|
in | بررسی میکند که مقدار در لیست/رشته وجود دارد |
not in | بررسی میکند که مقدار در لیست/رشته وجود ندارد |
۷. عملگرهای هویت (Identity Operators)
برای بررسی اینکه دو متغیر دقیقاً به یک شیء اشاره میکنند، استفاده میشود.
عملگر | توضیح |
---|---|
is | بررسی میکند که دو متغیر به یک شیء اشاره دارند |
is not | بررسی میکند که دو متغیر به اشیای متفاوتی اشاره دارند |
۳. ساختارهای کنترلی در پایتون
در برنامهنویسی، ساختارهای کنترلی به ما امکان میدهند که مسیر اجرای برنامه را بر اساس شرایط مشخصی تغییر دهیم. این ساختارها به دو دسته اصلی تقسیم میشوند:
ساختارهای شرطی (Conditional Structures) – تصمیمگیری در مورد اجرای بخشی از کد
ساختارهای حلقه (Loop Structures) – تکرار اجرای یک بخش از کد
۱. ساختارهای شرطی (Conditional Statements)
ساختارهای شرطی در پایتون به ما کمک میکنند که بر اساس شرایط مختلف، تصمیمگیری کنیم.
🔹 دستور
if
زمانی که نیاز داریم یک شرط را بررسی کنیم، از
if
استفاده میکنیم.💡 مثال:
age = 18
if age >= 18:
print("شما مجاز به رانندگی هستید.")
🔹 اگر مقدار age
برابر یا بیشتر از ۱۸ باشد، پیام نمایش داده میشود. در غیر این صورت، هیچ اتفاقی نمیافتد.
🔹 دستور if-else
اگر نیاز باشد در صورت برقرار نبودن شرط، کاری انجام دهیم، از else
استفاده میکنیم.
💡 مثال:
age = 16
if age >= 18:
print("شما مجاز به رانندگی هستید.")
else:
print("شما هنوز مجاز به رانندگی نیستید.")
🔹 اگر age
کمتر از ۱۸ باشد، پیام دوم نمایش داده میشود.
🔹 دستور if-elif-else
برای بررسی چندین شرط، میتوان از elif
(else if) استفاده کرد.
💡 مثال:
score = 85
if score >= 90:
print("نمره شما عالی است!")
elif score >= 70:
print("نمره شما خوب است.")
else:
print("نیاز به تلاش بیشتری دارید.")
🔹 در این مثال، بر اساس مقدار score
یکی از سه پیام نمایش داده میشود.
🔹 شرطهای چندگانه با and
و or
میتوان چند شرط را با and
و or
ترکیب کرد.
💡 مثال:
age = 20
has_license = True
if age >= 18 and has_license:
print("شما میتوانید رانندگی کنید.")
else:
print("شما مجاز به رانندگی نیستید.")
🔹 این شرط بررسی میکند که هم سن کاربر ۱۸ یا بیشتر باشد و هم گواهینامه داشته باشد.
۲. ساختارهای حلقه (Loops)
در بسیاری از مواقع، نیاز داریم که یک مجموعه از دستورات را چندین بار اجرا کنیم. در پایتون برای این کار از حلقهها استفاده میشود.
🔹 حلقه while
حلقه while
تا زمانی که یک شرط True
باشد، اجرا میشود.
💡 مثال: چاپ اعداد از ۱ تا ۵
num = 1
while num <= 5:
print(num)
num += 1
🔹 این کد اعداد ۱ تا ۵ را چاپ میکند و سپس متوقف میشود.
🔹 حلقه for
حلقه for
برای تکرار روی لیست، رشته، دیکشنری و سایر مجموعهها استفاده میشود.
💡 مثال: تکرار روی یک لیست
fruits = ["سیب", "موز", "گیلاس"]
for fruit in fruits:
print(fruit)
🔹 این کد نام میوهها را یکییکی چاپ میکند.
🔹 استفاده از range()
در حلقه for
range()
به ما امکان تولید دنبالهای از اعداد را میدهد.
💡 مثال: چاپ اعداد از ۰ تا ۹
for i in range(10):
print(i)
🔹 در این مثال، مقدار i
از ۰ تا ۹ تغییر میکند.
🔹 حلقه تو در تو (Nested Loops)
میتوان یک حلقه را داخل حلقهی دیگر قرار داد.
💡 مثال: نمایش یک ماتریس
for i in range(3):
for j in range(3):
print(f"({i}, {j})", end=" ")
print()
🔹 این کد، ترکیبهای مختلف دو مقدار i
و j
را نمایش میدهد.
🔹 کنترل جریان حلقه با break
و continue
۱. break
: برای خروج فوری از حلقه
۲. continue
: برای پرش به تکرار بعدی بدون اجرای کدهای بعدی در حلقه
💡 مثال: متوقف کردن حلقه در عدد ۵
for i in range(10):
if i == 5:
break
print(i)
🔹 این کد فقط اعداد ۰ تا ۴ را چاپ میکند و سپس متوقف میشود.
💡 مثال: رد کردن عدد ۵ و ادامه حلقه
for i in range(10):
if i == 5:
continue
print(i)
🔹 این کد تمام اعداد از ۰ تا ۹ را چاپ میکند به جز عدد ۵.
✅ تمرین پیشنهادی
۱. برنامهای بنویسید که از کاربر یک عدد دریافت کند و مشخص کند که عدد زوج است یا فرد.
۲. برنامهای بنویسید که جدول ضرب ۱ تا ۱۰ را نمایش دهد.
۳. برنامهای بنویسید که تمام اعداد اول بین ۱ تا ۱۰۰ را چاپ کند.
۴. توابع (Functions) در پایتون
توابع یکی از مفاهیم کلیدی در برنامهنویسی هستند که به ما امکان میدهند بخشهایی از کد را در قالب یک واحد مستقل بنویسیم و هر بار که نیاز داریم از آن استفاده کنیم.
🔹 ۱. تعریف تابع (Function Definition)
در پایتون، برای تعریف یک تابع از کلمه کلیدی def
استفاده میکنیم.
📌 سینتکس کلی:
def function_name(parameters):
# دستورات داخل تابع
return result # (اختیاری)
💡 مثال ساده:
def greet():
print("سلام! خوش آمدید.")
🔹 این تابع هر بار که فراخوانی شود، پیام خوشآمدگویی را چاپ میکند.
📌 نحوهی فراخوانی تابع:
greet() # خروجی: سلام! خوش آمدید.
🔹 ۲. استفاده از پارامترها در توابع
پارامترها، مقادیری هستند که میتوان هنگام فراخوانی تابع به آن ارسال کرد.
💡 مثال: تابع با یک پارامتر
def greet(name):
print(f"سلام {name}! خوش آمدید.")
greet("علی") # خروجی: سلام علی! خوش آمدید.
greet("سارا") # خروجی: سلام سارا! خوش آمدید.
🔹 ۳. مقدار بازگشتی (return
)
تابعها میتوانند مقداری را بازگردانند که بعداً در جای دیگر استفاده شود.
💡 مثال: تابعی که مجموع دو عدد را محاسبه میکند
def add(a, b):
return a + b
result = add(5, 3)
print(result) # خروجی: 8
🔹 مقدار 8
در متغیر result
ذخیره میشود.
🔹 ۴. پارامترهای پیشفرض (Default Parameters)
میتوان برای پارامترها مقدار پیشفرض تعیین کرد.
💡 مثال:
def greet(name="کاربر"):
print(f"سلام {name}!")
greet() # خروجی: سلام کاربر!
greet("نگار") # خروجی: سلام نگار!
🔹 اگر هنگام فراخوانی مقدار name
ارسال نشود، مقدار "کاربر"
جایگزین میشود.
🔹 ۵. توابع با تعداد پارامتر نامشخص (*args
و **kwargs
)
در برخی موارد، نمیدانیم کاربر چند مقدار را میخواهد به تابع ارسال کند. در این حالت از *args
یا **kwargs
استفاده میکنیم.
📌 *args
(پارامترهای نامحدود بهصورت لیست)
def sum_numbers(*numbers):
total = sum(numbers)
print(f"مجموع: {total}")
sum_numbers(1, 2, 3, 4, 5) # خروجی: مجموع: 15
🔹 این تابع میتواند هر تعداد عدد را دریافت و مجموع آنها را محاسبه کند.
📌 **kwargs
(پارامترهای نامحدود بهصورت دیکشنری)
def user_info(**info):
for key, value in info.items():
print(f"{key}: {value}")
user_info(name="علی", age=20, city="تهران")
🔹 خروجی:
name: علی
age: 20
city: تهران
🔹 این تابع میتواند هر تعداد پارامتر کلید-مقدار دریافت کند.
🔹 ۶. متغیرهای محلی و سراسری (Local & Global Variables)
متغیرها میتوانند محلی (local) یا سراسری (global) باشند.
متغیر محلی: فقط درون تابع تعریف شده و خارج از آن قابل استفاده نیست.
متغیر سراسری: در کل برنامه قابل دسترسی است.
💡 مثال:
x = 10 # متغیر سراسری
def example():
x = 5 # متغیر محلی
print(f"داخل تابع: {x}")
example()
print(f"خارج از تابع: {x}")
🔹 خروجی:
داخل تابع: 5
خارج از تابع: 10
🔹 ۷. توابع بازگشتی (Recursive Functions)
تابعی که خودش را صدا بزند، بازگشتی نامیده میشود.
💡 مثال: محاسبه فاکتوریل یک عدد
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
print(factorial(5)) # خروجی: 120
🔹 این تابع 5 * 4 * 3 * 2 * 1
را محاسبه میکند.
✅ تمرین پیشنهادی
تابعی بنویسید که دو عدد را گرفته و بزرگترین آنها را برگرداند.
تابعی بنویسید که یک عدد صحیح را گرفته و مشخص کند که آیا عدد اول است یا نه.
تابعی بنویسید که نام و سن چند کاربر را گرفته و آنها را نمایش دهد.
۵. شیء و کلاسها (Objects & Classes) در پایتون
در برنامهنویسی شیءگرا (OOP)، کلاسها و اشیاء مفاهیم اساسی هستند که به ما کمک میکنند تا برنامههای بزرگ و پیچیده را به شیوهای ساختارمند طراحی کنیم.
🔹 ۱. کلاس (Class) چیست؟
کلاس یک الگو (Template) یا نقشه (Blueprint) برای ایجاد اشیاء است. کلاس میتواند ویژگیها (Attributes) و متدها (Methods) داشته باشد.
📌 نحوهی تعریف کلاس در پایتون:
class Car:
pass # یک کلاس خالی (فعلاً هیچ ویژگی یا متدی ندارد)
🔹 این کلاس فقط یک الگو است و هنوز شیءی از آن ساخته نشده است.
🔹 ۲. شیء (Object) چیست؟
شیء (Object) نمونهای از یک کلاس است که دارای ویژگیهای خاص خود میباشد.
📌 نحوهی ایجاد یک شیء از کلاس:
my_car = Car() # ساخت یک شیء از کلاس Car
🔹 حالا my_car
یک شیء از کلاس Car
است.
🔹 ۳. ویژگیها (Attributes) و متدها (Methods) در کلاسها
ویژگیها متغیرهایی هستند که مشخصات یک شیء را ذخیره میکنند.
متدها توابعی هستند که درون یک کلاس تعریف شدهاند و وظایف خاصی را انجام میدهند.
📌 مثال: کلاس ماشین با ویژگیها و متدها
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def show_info(self):
print(f"ماشین: {self.brand} {self.model} ({self.year})")
# ایجاد اشیاء از کلاس Car
car1 = Car("Toyota", "Corolla", 2020)
car2 = Car("BMW", "X5", 2022)
# استفاده از متد show_info
car1.show_info() # خروجی: ماشین: Toyota Corolla (2020)
car2.show_info() # خروجی: ماشین: BMW X5 (2022)
🔹 متد __init__
یک سازنده (Constructor) است که هنگام ایجاد شیء ویژگیها را مقداردهی میکند.
🔹 self
نشاندهندهی خود شیء است و برای دسترسی به ویژگیهای آن استفاده میشود.
🔹 ۴. متدهای کلاس و نمونه (Class Methods & Instance Methods)
📌 متدهای نمونه (Instance Methods)
متدهایی که روی یک شیء خاص عمل میکنند و از self
برای دسترسی به ویژگیهای شیء استفاده میکنند.
💡 مثال:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"سلام، من {self.name} هستم و {self.age} سال دارم.")
p1 = Person("علی", 18)
p1.greet() # خروجی: سلام، من علی هستم و 18 سال دارم.
📌 متدهای کلاس (Class Methods)
🔹 برای تعریف متدهای کلاس که روی کل کلاس اعمال میشوند، از @classmethod
استفاده میکنیم.
💡 مثال:
class Student:
school_name = "مدرسه آینده" # ویژگی کلاس
def __init__(self, name, grade):
self.name = name
self.grade = grade
@classmethod
def change_school(cls, new_name):
cls.school_name = new_name
# تغییر نام مدرسه برای تمام اشیاء این کلاس
Student.change_school("مدرسه هوشمند")
s1 = Student("نگین", "دهم")
print(s1.school_name) # خروجی: مدرسه هوشمند
🔹 این متد تمام اشیاء کلاس را تحت تأثیر قرار میدهد.
🔹 ۵. وراثت (Inheritance) در کلاسها
وراثت به ما امکان میدهد که یک کلاس جدید بسازیم که ویژگیها و متدهای کلاس دیگر را به ارث ببرد.
📌 سینتکس کلی:
class Parent:
# کدهای کلاس والد
class Child(Parent):
# کدهای کلاس فرزند
💡 مثال:
class Animal:
def __init__(self, name):
self.name = name
def make_sound(self):
print("این حیوان صدا دارد.")
# کلاس Dog از Animal ارثبری میکند
class Dog(Animal):
def make_sound(self):
print(f"{self.name} میگوید: هاپ هاپ!")
dog = Dog("برفی")
dog.make_sound() # خروجی: برفی میگوید: هاپ هاپ!
🔹 کلاس Dog
متد make_sound
را بازنویسی کرده است.
🔹 ۶. متدهای استاتیک (Static Methods)
🔹 متدهایی که به self
یا cls
نیاز ندارند، میتوانند بهصورت استاتیک تعریف شوند.
💡 مثال:
class MathOperations:
@staticmethod
def add(x, y):
return x + y
print(MathOperations.add(5, 3)) # خروجی: 8
🔹 متد add
بدون نیاز به هیچ شیءای از کلاس قابل استفاده است.
✅ تمرین پیشنهادی
کلاسی برای یک حساب بانکی طراحی کنید که شامل متدهای
واریز
،برداشت
ومشاهده موجودی
باشد.کلاسی به نام
Book
بسازید که شامل ویژگیهایعنوان
،نویسنده
وسال انتشار
باشد و متدی برای نمایش مشخصات کتاب داشته باشد.کلاسی به نام
Teacher
بسازید که از کلاسPerson
ارثبری کند و ویژگی جدیدی به آن اضافه کند.
۷. مدیریت استثناها (Exception Handling)
✅ در برنامهنویسی، خطاها ممکن است رخ دهند. مدیریت استثناها باعث میشود که برنامه بدون کرش کردن، خطاها را کنترل کند.
📌 مثال: استفاده از try-except
برای جلوگیری از خطای تقسیم بر صفر
try:
x = 10 / 0 # خطای تقسیم بر صفر
except ZeroDivisionError:
print("خطا: تقسیم بر صفر مجاز نیست!")
📌 مدیریت چندین نوع خطا
try:
num = int(input("یک عدد وارد کنید: "))
result = 10 / num
except ZeroDivisionError:
print("نمیتوان بر صفر تقسیم کرد.")
except ValueError:
print("لطفاً یک عدد صحیح وارد کنید.")
🎯 تمرین: تابعی بنویسید که دو عدد دریافت کند و جمع آنها را نمایش دهد، اما اگر ورودی عدد نبود، خطای مناسبی نمایش دهد.
🔹 کار با فایلها (File Handling)
✅ در بسیاری از پروژهها نیاز داریم دادهها را ذخیره و بازیابی کنیم.
📌 خواندن یک فایل متنی
with open("data.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
📌 نوشتن در فایل
with open("output.txt", "w") as file:
file.write("سلام دنیا!")
🎯 تمرین: فایلی حاوی اسامی دانشآموزان ایجاد کنید و نامهای آنها را یکییکی از فایل بخوانید و نمایش دهید.
۸. کار با کتابخانههای مهم در پایتون + نصب و مثالها
پایتون دارای کتابخانههای زیادی برای انجام عملیاتهای مختلف است. برخی از این کتابخانهها بهصورت پیشفرض همراه با پایتون نصب میشوند، اما برخی دیگر نیاز به نصب جداگانه دارند. در این بخش، چند کتابخانهی پرکاربرد را بررسی میکنیم.
🔹 ۱. کتابخانهی math (عملیات ریاضی)
✅ math
یکی از کتابخانههای داخلی پایتون است و نیازی به نصب ندارد. این کتابخانه شامل توابع مختلفی برای انجام عملیات ریاضی مانند محاسبات مثلثاتی، لگاریتم، توان، فاکتوریل و… است.
📌 چند تابع مهم در math:
import math
print(math.sqrt(16)) # جذر عدد → 4.0
print(math.factorial(5)) # فاکتوریل → 120
print(math.pi) # مقدار عدد پی
print(math.sin(math.radians(30))) # سینوس ۳۰ درجه
print(math.log(100, 10)) # لگاریتم بر پایه ۱۰
🎯 تمرین: عددی از کاربر دریافت کنید و مقدار جذر، لگاریتم، و سینوس آن را نمایش دهید.
🔹 ۲. کتابخانهی random (تولید اعداد تصادفی)
✅ random
برای تولید اعداد تصادفی و انتخاب تصادفی از لیستها استفاده میشود. این کتابخانه نیز نیازی به نصب ندارد و همراه پایتون ارائه میشود.
📌 چند تابع مهم در random:
import random
print(random.randint(1, 10)) # عدد تصادفی بین 1 تا 10
print(random.uniform(1, 10)) # عدد اعشاری تصادفی بین 1 تا 10
print(random.choice(["🍎", "🍌", "🍊", "🍇"])) # انتخاب تصادفی از لیست
print(random.sample(range(1, 50), 5)) # ۵ عدد تصادفی بدون تکرار
🎯 تمرین: لیستی از ۱۰ دانشآموز ایجاد کنید و یکی را تصادفی انتخاب کنید.
🔹 ۳. کتابخانهی datetime (مدیریت تاریخ و زمان)
✅ datetime برای کار با تاریخ و زمان استفاده میشود. این کتابخانه بهصورت پیشفرض در پایتون نصب شده است.
📌 چند تابع مهم در datetime:
from datetime import datetime
now = datetime.now()
print("تاریخ و زمان فعلی:", now)
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("فرمت سفارشی:", formatted_date)
🎯 تمرین: برنامهای بنویسید که تفاوت بین دو تاریخ را محاسبه کند.
🔹 ۴. کتابخانهی os (کار با سیستمعامل و فایلها)
✅ os
به شما امکان میدهد که با فایلها، پوشهها و دستورات سیستمعامل کار کنید.
📌 چند تابع مهم در os:
import os
print(os.getcwd()) # نمایش مسیر فعلی
os.mkdir("test_folder") # ایجاد پوشه جدید
print(os.listdir()) # لیست فایلهای موجود در مسیر جاری
🎯 تمرین: برنامهای بنویسید که یک پوشه ایجاد کند و لیست فایلهای داخل آن را نمایش دهد.
🔹 ۵. کتابخانهی json (کار با دادههای JSON)
✅ json
برای ذخیره و خواندن دادهها در قالب JSON استفاده میشود.
📌 مثال: ذخیرهی داده در JSON
import json
data = {"name": "Ali", "age": 20, "city": "Tehran"}
json_data = json.dumps(data) # تبدیل دیکشنری به JSON
print(json_data)
# ذخیره در فایل
with open("data.json", "w") as file:
json.dump(data, file)
📌 مثال: خواندن داده از JSON
with open("data.json", "r") as file:
loaded_data = json.load(file)
print(loaded_data["name"]) # نمایش مقدار کلید "name"
🎯 تمرین: برنامهای بنویسید که اطلاعات دانشآموزان را در فایل JSON ذخیره کند و سپس آن را بازیابی کند.
🔹 نحوه نصب کتابخانههای اضافی در پایتون
✅ برخی از کتابخانهها بهصورت داخلی (Built-in) همراه پایتون ارائه میشوند و نیازی به نصب ندارند، اما برخی دیگر را باید با pip
نصب کرد.
📌 نحوهی نصب کتابخانه با pip:
pip install نام_کتابخانه
📌 مثال: نصب کتابخانهی numpy برای محاسبات عددی:
pip install numpy
📌 مثال: نصب کتابخانهی pandas برای تحلیل دادهها:
pip install pandas
📌 بررسی نصب بودن کتابخانهها:
import sys
import pkg_resources
installed_packages = {pkg.key for pkg in pkg_resources.working_set}
if "numpy" in installed_packages:
print("کتابخانه numpy نصب شده است.")
else:
print("کتابخانه numpy نصب نیست. لطفاً نصب کنید.")
در صورتی که قبلا این دوره را گذارنده اید و آزمون نهایی را با موفقیت پیش سر گذاشته اید با ثبت کد رهگیری دوره خود را بررسی کنید
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهدوره های مرتبط
آموزش کاربری چتباتهای هوش مصنوعی
کاربرد هوش مصنوعی در آموزش: از مفاهیم پایه تا تولید محتوای هوشمند 🎯 اهداف دوره: آشنایی فرهنگیان با مفاهیم پایه…
دوره آموزش آردوینو مقدماتی
معرفی دوره آموزش برنامهنویسی آردوینو 🚀🔧 🚀 آموزش آردوینو مقدماتی – شروع مسیر برنامهنویسی و الکترونیک هوشمند! 🔌📟 این دوره…
دوره آموزش ربات مسیریاب
🎓 دوره آموزش ساخت ربات مسیریاب (Line Follower Robot) اگر به دنبال یادگیری عملی و حرفهای در زمینه رباتیک مقدماتی…
250,000 تومان
