🌟✨ جدیدترین قابلیت پایتون 3.11 که شاید هنوز نمیدانید! ✨🌟
سلام به همه برنامهنویسان عزیز! 👋
پایتون 3.11 با یک قابلیت جدید و جذاب آمده که مدیریت استثناها را بهبود میبخشد: Exception Groups و except\ 🎉🐍
🌐 Exception Groups و except\
🔹 تعریف Exception Groups:
در پایتون 3.11، میتوانید گروههایی از استثناها را با استفاده از
🔹 نحوه استفاده از Exception Groups:
برای استفاده از Exception Groups و مدیریت آنها با
🔹 مزایای استفاده از Exception Groups:
1. مدیریت سادهتر: این قابلیت به شما اجازه میدهد تا کد تمیزتر و قابل فهمتری بنویسید. 📜✨
2. انعطافپذیری بیشتر: میتوانید چندین استثنا را به صورت همزمان مدیریت کنید. 💡
برای اطلاعات بیشتر و دریافت آموزشهای عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]🚀📚
#پایتون #Python #برنامه_نویسی #ExceptionGroups #پایتون3_11 #آموزش #کانال_تلگرام
سلام به همه برنامهنویسان عزیز! 👋
پایتون 3.11 با یک قابلیت جدید و جذاب آمده که مدیریت استثناها را بهبود میبخشد: Exception Groups و except\ 🎉🐍
🌐 Exception Groups و except\
🔹 تعریف Exception Groups:
در پایتون 3.11، میتوانید گروههایی از استثناها را با استفاده از
ExceptionGroup
ایجاد کنید. این ویژگی زمانی که چندین استثنا به طور همزمان رخ میدهند بسیار مفید است.🔹 نحوه استفاده از Exception Groups:
برای استفاده از Exception Groups و مدیریت آنها با
except*
، میتوانید به روش زیر عمل کنید:from __future__ import annotations # برای تایپ هینتینگ در پایتون 3.11
import traceback
class MyCustomError(Exception):
pass
class AnotherError(Exception):
pass
def func():
try:
raise ExceptionGroup("Multiple Errors", [MyCustomError("Error 1"), AnotherError("Error 2")])
except* MyCustomError as e:
print(f"Caught MyCustomError: {e}")
except* AnotherError as e:
print(f"Caught AnotherError: {e}")
func()
🔹 مزایای استفاده از Exception Groups:
1. مدیریت سادهتر: این قابلیت به شما اجازه میدهد تا کد تمیزتر و قابل فهمتری بنویسید. 📜✨
2. انعطافپذیری بیشتر: میتوانید چندین استثنا را به صورت همزمان مدیریت کنید. 💡
برای اطلاعات بیشتر و دریافت آموزشهای عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]🚀📚
#پایتون #Python #برنامه_نویسی #ExceptionGroups #پایتون3_11 #آموزش #کانال_تلگرام
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
📚 دوره آموزش پایتون از 0 تا 100
پارت 2: متغیرها و انواع دادهها
سلام دوستان عزیز! 👋
به دومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با مفاهیم متغیرها و انواع دادهها در پایتون آشنا شویم. این مبانی پایهای برای تمامی برنامهنویسیها و پروژههای بعدی ما خواهد بود. بیایید شروع کنیم! 🚀
💡 متغیرها چیستند؟
متغیرها مکانهایی در حافظه هستند که دادهها را ذخیره میکنند. به عبارت دیگر، متغیرها به ما اجازه میدهند که مقادیر را ذخیره و از آنها در برنامههای خود استفاده کنیم.
📝 تعریف متغیرها
برای تعریف یک متغیر در پایتون، کافی است یک نام به آن اختصاص دهیم و مقداری به آن انتساب دهیم. به عنوان مثال:
در مثال بالا:
-
-
-
🔢 انواع دادهها در پایتون
پایتون انواع مختلفی از دادهها را پشتیبانی میکند. در زیر به برخی از مهمترین انواع دادهها اشاره میکنیم:
1. اعداد صحیح (int):
- برای ذخیره اعداد صحیح استفاده میشود.
- مثال:
2. اعداد اعشاری (float):
- برای ذخیره اعداد اعشاری استفاده میشود.
- مثال:
3. رشتهها (str):
- برای ذخیره متن استفاده میشود.
- مثال:
4. بولین (bool):
- برای ذخیره مقادیر درست (True) یا نادرست (False) استفاده میشود.
- مثال:
🔄 تبدیل انواع دادهها
در پایتون، میتوان انواع دادهها را به یکدیگر تبدیل کرد. این کار با استفاده از توابع داخلی پایتون انجام میشود. به عنوان مثال:
🎯 مثالهای عملی
1. مثال 1: جمع دو عدد صحیح
خروجی:
2. مثال 2: اتصال دو رشته
خروجی:
3. مثال 3: استفاده از مقادیر بولین
خروجی:
🎯 خلاصه
در این جلسه:
- با مفهوم متغیرها آشنا شدیم.
- انواع دادههای پایه در پایتون را یاد گرفتیم.
- با نحوه تبدیل انواع دادهها آشنا شدیم.
- مثالهای عملی برای درک بهتر مفاهیم ارائه دادیم.
🔜 ادامه دوره
در جلسه بعدی، به عملیات ریاضی و منطقی در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
پارت 2: متغیرها و انواع دادهها
سلام دوستان عزیز! 👋
به دومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با مفاهیم متغیرها و انواع دادهها در پایتون آشنا شویم. این مبانی پایهای برای تمامی برنامهنویسیها و پروژههای بعدی ما خواهد بود. بیایید شروع کنیم! 🚀
💡 متغیرها چیستند؟
متغیرها مکانهایی در حافظه هستند که دادهها را ذخیره میکنند. به عبارت دیگر، متغیرها به ما اجازه میدهند که مقادیر را ذخیره و از آنها در برنامههای خود استفاده کنیم.
📝 تعریف متغیرها
برای تعریف یک متغیر در پایتون، کافی است یک نام به آن اختصاص دهیم و مقداری به آن انتساب دهیم. به عنوان مثال:
name = "Alice"
age = 25
height = 1.75
در مثال بالا:
-
name
یک متغیر از نوع رشته (string) است.-
age
یک متغیر از نوع عدد صحیح (integer) است.-
height
یک متغیر از نوع عدد اعشاری (float) است.🔢 انواع دادهها در پایتون
پایتون انواع مختلفی از دادهها را پشتیبانی میکند. در زیر به برخی از مهمترین انواع دادهها اشاره میکنیم:
1. اعداد صحیح (int):
- برای ذخیره اعداد صحیح استفاده میشود.
- مثال:
age = 25
2. اعداد اعشاری (float):
- برای ذخیره اعداد اعشاری استفاده میشود.
- مثال:
height = 1.75
3. رشتهها (str):
- برای ذخیره متن استفاده میشود.
- مثال:
name = "Alice"
4. بولین (bool):
- برای ذخیره مقادیر درست (True) یا نادرست (False) استفاده میشود.
- مثال:
is_student = True
🔄 تبدیل انواع دادهها
در پایتون، میتوان انواع دادهها را به یکدیگر تبدیل کرد. این کار با استفاده از توابع داخلی پایتون انجام میشود. به عنوان مثال:
age = "25"
age = int(age) # تبدیل رشته به عدد صحیح
height = 1.75
height_str = str(height) # تبدیل عدد اعشاری به رشته
🎯 مثالهای عملی
1. مثال 1: جمع دو عدد صحیح
a = 10
b = 20
sum = a + b
print("Sum:", sum)
خروجی:
Sum: 30
2. مثال 2: اتصال دو رشته
first_name = "Alice"
last_name = "Johnson"
full_name = first_name + " " + last_name
print("Full Name:", full_name)
خروجی:
Full Name: Alice Johnson
3. مثال 3: استفاده از مقادیر بولین
is_raining = False
if is_raining:
print("Take an umbrella!")
else:
print("No need for an umbrella.")
خروجی:
No need for an umbrella.
🎯 خلاصه
در این جلسه:
- با مفهوم متغیرها آشنا شدیم.
- انواع دادههای پایه در پایتون را یاد گرفتیم.
- با نحوه تبدیل انواع دادهها آشنا شدیم.
- مثالهای عملی برای درک بهتر مفاهیم ارائه دادیم.
🔜 ادامه دوره
در جلسه بعدی، به عملیات ریاضی و منطقی در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
📚 دوره آموزش پایتون از 0 تا 100
پارت 3: عملیات ریاضی و منطقی
سلام دوستان عزیز! 👋
به سومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با عملیات ریاضی و منطقی در پایتون آشنا شویم. این عملیاتها پایه و اساس بسیاری از برنامهها و الگوریتمهای برنامهنویسی هستند. بیایید شروع کنیم! 🚀
➕ عملیات ریاضی
پایتون عملیات ریاضی مختلفی را پشتیبانی میکند. در زیر به برخی از مهمترین آنها اشاره میکنیم:
1. جمع (+):
2. تفریق (-):
3. ضرب (*):
4. تقسیم (/):
5. توان ():**
6. باقیمانده (٪):
7. تقسیم صحیح (//):
🔄 اولویت عملیات ریاضی
اولویت عملیات ریاضی در پایتون مشابه ریاضیات معمول است:
1. پرانتزها
2. توان
3. ضرب، تقسیم، تقسیم صحیح و باقیمانده
4. جمع و تفریق
مثال:
🔍 عملیات منطقی
پایتون همچنین عملیات منطقی مختلفی را پشتیبانی میکند که برای مقایسه و ترکیب شرایط استفاده میشود. در زیر به برخی از مهمترین آنها اشاره میکنیم:
1. مساوی بودن (==):
2. نامساوی (!=):
3. بزرگتر از (>):
4. کوچکتر از (<):
5. بزرگتر یا مساوی (>=):
6. کوچکتر یا مساوی (<=):
7. عملگر منطقی
8. عملگر منطقی
9. عملگر منطقی
🎯 مثالهای عملی
1. مثال 1: محاسبه مساحت یک مستطیل
2. مثال 2: بررسی شرایط سن
3. مثال 3: بررسی شرایط متعدد
🎯 خلاصه
در این جلسه:
- با عملیات ریاضی در پایتون آشنا شدیم.
- اولویت عملیات ریاضی را یاد گرفتیم.
- با عملیات منطقی و کاربردهای آنها آشنا شدیم.
- مثالهای عملی برای درک بهتر مفاهیم ارائه دادیم.
🔜 ادامه دوره
در جلسه بعدی، به دستورات شرطی در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python
پارت 3: عملیات ریاضی و منطقی
سلام دوستان عزیز! 👋
به سومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با عملیات ریاضی و منطقی در پایتون آشنا شویم. این عملیاتها پایه و اساس بسیاری از برنامهها و الگوریتمهای برنامهنویسی هستند. بیایید شروع کنیم! 🚀
➕ عملیات ریاضی
پایتون عملیات ریاضی مختلفی را پشتیبانی میکند. در زیر به برخی از مهمترین آنها اشاره میکنیم:
1. جمع (+):
a = 10
b = 5
result = a + b
print("Sum:", result) # خروجی: Sum: 15
2. تفریق (-):
a = 10
b = 5
result = a - b
print("Difference:", result) # خروجی: Difference: 5
3. ضرب (*):
a = 10
b = 5
result = a * b
print("Product:", result) # خروجی: Product: 50
4. تقسیم (/):
a = 10
b = 5
result = a / b
print("Quotient:", result) # خروجی: Quotient: 2.0
5. توان ():**
a = 2
b = 3
result = a ** b
print("Power:", result) # خروجی: Power: 8
6. باقیمانده (٪):
a = 10
b = 3
result = a % b
print("Remainder:", result) # خروجی: Remainder: 1
7. تقسیم صحیح (//):
a = 10
b = 3
result = a // b
print("Floor Division:", result) # خروجی: Floor Division: 3
🔄 اولویت عملیات ریاضی
اولویت عملیات ریاضی در پایتون مشابه ریاضیات معمول است:
1. پرانتزها
()
2. توان
**
3. ضرب، تقسیم، تقسیم صحیح و باقیمانده
* / // %
4. جمع و تفریق
+ -
مثال:
result = 2 + 3 * 4
print("Result:", result) # خروجی: Result: 14
result = (2 + 3) * 4
print("Result with parentheses:", result) # خروجی: Result with parentheses: 20
🔍 عملیات منطقی
پایتون همچنین عملیات منطقی مختلفی را پشتیبانی میکند که برای مقایسه و ترکیب شرایط استفاده میشود. در زیر به برخی از مهمترین آنها اشاره میکنیم:
1. مساوی بودن (==):
a = 10
b = 5
result = (a == b)
print("Equal:", result) # خروجی: Equal: False
2. نامساوی (!=):
a = 10
b = 5
result = (a != b)
print("Not Equal:", result) # خروجی: Not Equal: True
3. بزرگتر از (>):
a = 10
b = 5
result = (a > b)
print("Greater than:", result) # خروجی: Greater than: True
4. کوچکتر از (<):
a = 10
b = 5
result = (a < b)
print("Less than:", result) # خروجی: Less than: False
5. بزرگتر یا مساوی (>=):
a = 10
b = 10
result = (a >= b)
print("Greater than or Equal:", result) # خروجی: Greater than or Equal: True
6. کوچکتر یا مساوی (<=):
a = 10
b = 10
result = (a <= b)
print("Less than or Equal:", result) # خروجی: Less than or Equal: True
7. عملگر منطقی
and
:a = True
b = False
result = a and b
print("Logical AND:", result) # خروجی: Logical AND: False
8. عملگر منطقی
or
:a = True
b = False
result = a or b
print("Logical OR:", result) # خروجی: Logical OR: True
9. عملگر منطقی
not
:a = True
result = not a
print("Logical NOT:", result) # خروجی: Logical NOT: False
🎯 مثالهای عملی
1. مثال 1: محاسبه مساحت یک مستطیل
length = 5
width = 3
area = length * width
print("Area of Rectangle:", area) # خروجی: Area of Rectangle: 15
2. مثال 2: بررسی شرایط سن
age = 20
is_adult = age >= 18
print("Is Adult:", is_adult) # خروجی: Is Adult: True
3. مثال 3: بررسی شرایط متعدد
score = 85
passed = score >= 50
excellent = score >= 90
result = passed and not excellent
print("Passed but not Excellent:", result) # خروجی: Passed but not Excellent: True
🎯 خلاصه
در این جلسه:
- با عملیات ریاضی در پایتون آشنا شدیم.
- اولویت عملیات ریاضی را یاد گرفتیم.
- با عملیات منطقی و کاربردهای آنها آشنا شدیم.
- مثالهای عملی برای درک بهتر مفاهیم ارائه دادیم.
🔜 ادامه دوره
در جلسه بعدی، به دستورات شرطی در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python
👍1
📚 دوره آموزش پایتون از 0 تا 100
پارت 4: دستورات شرطی و کنترل جریان
سلام دوستان عزیز! 👋
به چهارمین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با دستورات شرطی و کنترل جریان در پایتون آشنا شویم. این دستورات به ما اجازه میدهند تا بستههای کد را بر اساس شرایط خاص اجرا یا نادرست کنیم. بیایید شروع کنیم! 🚀
🚦 دستورات شرطی
در پایتون، دستورات شرطی به ما این امکان را میدهند که کدهایی را بر اساس شرایط مختلف اجرا کنیم یا نادرست کنیم. دستورات شرطی اصلی عبارتند از:
1. دستور
2. دستور
3. دستور
🔄 عبارات منطقی
در دستورات شرطی ما میتوانیم از عبارات منطقی استفاده کنیم که باعث میشود کدهای ما به شکلی پویا و قابل تغییر عمل کنند. عبارات منطقی اصلی عبارتند از:
-
-
-
🎯 مثالهای عملی
1. مثال 1: دستورات شرطی
2. مثال 2: دستورات شرطی چندگانه
3. مثال 3: استفاده از عبارات منطقی
🔜 ادامه دوره
در جلسه بعدی، به حلقهها و تکرارها در پایتون خواهیم پرداخت. منتظر باشید! 😉
پارت 4: دستورات شرطی و کنترل جریان
سلام دوستان عزیز! 👋
به چهارمین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با دستورات شرطی و کنترل جریان در پایتون آشنا شویم. این دستورات به ما اجازه میدهند تا بستههای کد را بر اساس شرایط خاص اجرا یا نادرست کنیم. بیایید شروع کنیم! 🚀
🚦 دستورات شرطی
در پایتون، دستورات شرطی به ما این امکان را میدهند که کدهایی را بر اساس شرایط مختلف اجرا کنیم یا نادرست کنیم. دستورات شرطی اصلی عبارتند از:
1. دستور
if
:age = 20
if age >= 18:
print("You are an adult.")
2. دستور
if
و else
:age = 15
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult yet.")
3. دستور
if
، elif
و else
:score = 85
if score >= 90:
print("Grade: A")
elif score >= 80:
print("Grade: B")
elif score >= 70:
print("Grade: C")
else:
print("Grade: D")
🔄 عبارات منطقی
در دستورات شرطی ما میتوانیم از عبارات منطقی استفاده کنیم که باعث میشود کدهای ما به شکلی پویا و قابل تغییر عمل کنند. عبارات منطقی اصلی عبارتند از:
-
and
: بررسی هر دو عبارت-
or
: بررسی حداقل یکی از دو عبارت-
not
: اعتراض به یک عبارت🎯 مثالهای عملی
1. مثال 1: دستورات شرطی
age = 20
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult yet.")
2. مثال 2: دستورات شرطی چندگانه
score = 85
if score >= 90:
print("Grade: A")
elif score >= 80:
print("Grade: B")
elif score >= 70:
print("Grade: C")
else:
print("Grade: D")
3. مثال 3: استفاده از عبارات منطقی
is_raining = True
have_umbrella = False
if is_raining and not have_umbrella:
print("Take an umbrella!")
🔜 ادامه دوره
در جلسه بعدی، به حلقهها و تکرارها در پایتون خواهیم پرداخت. منتظر باشید! 😉
❤5
📚 اخبار مهم پایتون امروز 📰
۱. اعلام کاندیداهای هیئت مدیره PSF برای سال ۲۰۲۴:
بنیاد نرمافزاری پایتون (PSF) کاندیداهای هیئت مدیره خود برای سال ۲۰۲۴ را اعلام کرد. این افراد نقش مهمی در تعیین مسیر آینده توسعه پایتون و ابتکارات جامعه خواهند داشت. 🌟
۲. معرفی مفسر تعاملی جدید پایتون، PyREPL:
مفسر تعاملی جدیدی به نام PyREPL که با زبان پایتون نوشته شده، معرفی شد. این REPL جدید با امکانات بیشتر و کاربری آسانتر طراحی شده و بسیاری از محدودیتهای مفسر فعلی را برطرف میکند. 💻✨
۳. کنفرانسهای پیشروی پایتون:
چندین کنفرانس پایتون در ماههای آینده برگزار میشوند، از جمله PyCon روسیه، PyOhio و Django Girls اکوادور. این رویدادها برای مشارکت جامعه و اشتراکگذاری دانش اهمیت زیادی دارند. 🌍🎤
۴. توصیه کاخ سفید برای استفاده از زبانهای امن از نظر حافظه مثل پایتون:
کاخ سفید استفاده از زبانهای برنامهنویسی امن از نظر حافظه، بهویژه پایتون، را برای پروژههای نرمافزاری فدرال توصیه کرده است. 🏛️🔐
۵. تغییرات پیشنهادی در آییننامههای PSF:
پرسشهای متداول مربوط به تغییرات پیشنهادی در آییننامههای بنیاد نرمافزاری پایتون منتشر شده است که بر شفافیت و بهبود عملکرد بنیاد تمرکز دارد. 📜✅
۶. انتشار نسخه بتای سوم پایتون 3.13:
نسخه بتای سوم پایتون 3.13 منتشر شد. این نسخه شامل پیشنمایش ویژگیها و بهبودهایی است که در نسخه نهایی ارائه خواهد شد. 🆕🔍
۷. جلسه سران زبان پایتون ۲۰۲۴:
در جلسه سران زبان پایتون امسال، موضوعاتی از جمله بهبود ابزار pdb و PyREPL مطرح شدند که تاثیرات مهمی بر توسعه آینده پایتون خواهند داشت. 🛠️📈
[تو کانال ما همیشه به روز باشید]
#پایتون #اخبار_پایتون #تکنولوژی #برنامه_نویسی #PSF
۱. اعلام کاندیداهای هیئت مدیره PSF برای سال ۲۰۲۴:
بنیاد نرمافزاری پایتون (PSF) کاندیداهای هیئت مدیره خود برای سال ۲۰۲۴ را اعلام کرد. این افراد نقش مهمی در تعیین مسیر آینده توسعه پایتون و ابتکارات جامعه خواهند داشت. 🌟
۲. معرفی مفسر تعاملی جدید پایتون، PyREPL:
مفسر تعاملی جدیدی به نام PyREPL که با زبان پایتون نوشته شده، معرفی شد. این REPL جدید با امکانات بیشتر و کاربری آسانتر طراحی شده و بسیاری از محدودیتهای مفسر فعلی را برطرف میکند. 💻✨
۳. کنفرانسهای پیشروی پایتون:
چندین کنفرانس پایتون در ماههای آینده برگزار میشوند، از جمله PyCon روسیه، PyOhio و Django Girls اکوادور. این رویدادها برای مشارکت جامعه و اشتراکگذاری دانش اهمیت زیادی دارند. 🌍🎤
۴. توصیه کاخ سفید برای استفاده از زبانهای امن از نظر حافظه مثل پایتون:
کاخ سفید استفاده از زبانهای برنامهنویسی امن از نظر حافظه، بهویژه پایتون، را برای پروژههای نرمافزاری فدرال توصیه کرده است. 🏛️🔐
۵. تغییرات پیشنهادی در آییننامههای PSF:
پرسشهای متداول مربوط به تغییرات پیشنهادی در آییننامههای بنیاد نرمافزاری پایتون منتشر شده است که بر شفافیت و بهبود عملکرد بنیاد تمرکز دارد. 📜✅
۶. انتشار نسخه بتای سوم پایتون 3.13:
نسخه بتای سوم پایتون 3.13 منتشر شد. این نسخه شامل پیشنمایش ویژگیها و بهبودهایی است که در نسخه نهایی ارائه خواهد شد. 🆕🔍
۷. جلسه سران زبان پایتون ۲۰۲۴:
در جلسه سران زبان پایتون امسال، موضوعاتی از جمله بهبود ابزار pdb و PyREPL مطرح شدند که تاثیرات مهمی بر توسعه آینده پایتون خواهند داشت. 🛠️📈
[تو کانال ما همیشه به روز باشید]
#پایتون #اخبار_پایتون #تکنولوژی #برنامه_نویسی #PSF
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
پارت ۵: لیستها و تاپلها در پایتون 📋🐍
در این پارت، به بررسی دو ساختار دادهای پرکاربرد در پایتون میپردازیم: لیستها (Lists) و تاپلها (Tuples). این ساختارها به ما کمک میکنند تا مجموعهای از دادهها را به صورت منظم و قابل دسترس ذخیره و مدیریت کنیم.
۱. لیستها (Lists)
لیستها یکی از انعطافپذیرترین و پرکاربردترین ساختارهای دادهای در پایتون هستند. میتوانیم عناصر مختلف را در یک لیست ذخیره کنیم و به آنها دسترسی داشته باشیم.
تعریف لیست
لیستها با استفاده از کروشه
افزودن و حذف عناصر
میتوانیم عناصر جدید به لیست اضافه کنیم یا عناصر موجود را حذف کنیم:
دسترسی به عناصر لیست
میتوانیم به عناصر لیست با استفاده از ایندکسها دسترسی پیدا کنیم:
برش (Slicing)
با استفاده از برش میتوانیم بخشی از لیست را استخراج کنیم:
۲. تاپلها (Tuples)
تاپلها مشابه لیستها هستند، با این تفاوت که غیر قابل تغییر (immutable) هستند. این ویژگی باعث میشود تا تاپلها سریعتر و مطمئنتر باشند.
تعریف تاپل
تاپلها با استفاده از پرانتز
دسترسی به عناصر تاپل
همانند لیستها، میتوانیم به عناصر تاپل با استفاده از ایندکسها دسترسی پیدا کنیم:
تفاوتهای اصلی بین لیستها و تاپلها
- قابلیت تغییر: لیستها قابل تغییر هستند (میتوان عناصر آنها را تغییر داد، افزود یا حذف کرد)، در حالی که تاپلها غیر قابل تغییر هستند.
- کاربردها: تاپلها معمولاً برای دادههایی استفاده میشوند که نباید تغییر کنند، در حالی که لیستها برای دادههای متغیر و قابل تغییر مناسب هستند.
تمرینها
1. لیستی بسازید که شامل نام پنج دوست شما باشد و سپس نام دوست ششم خود را به آن اضافه کنید.
2. تاپلی بسازید که شامل شمارههای مورد علاقه شما باشد و سپس سعی کنید یکی از شمارهها را تغییر دهید. چه اتفاقی میافتد؟
3. لیستی از اعداد ایجاد کنید و میانگین آنها را محاسبه کنید.
[آموزش های بیشتر کانال ما ]
#پایتون #آموزش_پایتون #برنامه_نویسی #لیست #تاپل #کدنویسی
در این پارت، به بررسی دو ساختار دادهای پرکاربرد در پایتون میپردازیم: لیستها (Lists) و تاپلها (Tuples). این ساختارها به ما کمک میکنند تا مجموعهای از دادهها را به صورت منظم و قابل دسترس ذخیره و مدیریت کنیم.
۱. لیستها (Lists)
لیستها یکی از انعطافپذیرترین و پرکاربردترین ساختارهای دادهای در پایتون هستند. میتوانیم عناصر مختلف را در یک لیست ذخیره کنیم و به آنها دسترسی داشته باشیم.
تعریف لیست
لیستها با استفاده از کروشه
[]
تعریف میشوند:my_list = [1, 2, 3, 4, 5]
print(my_list) # خروجی: [1, 2, 3, 4, 5]
افزودن و حذف عناصر
میتوانیم عناصر جدید به لیست اضافه کنیم یا عناصر موجود را حذف کنیم:
my_list.append(6) # افزودن عنصر به انتهای لیست
print(my_list) # خروجی: [1, 2, 3, 4, 5, 6]
my_list.remove(3) # حذف اولین وجود عنصر از لیست
print(my_list) # خروجی: [1, 2, 4, 5, 6]
دسترسی به عناصر لیست
میتوانیم به عناصر لیست با استفاده از ایندکسها دسترسی پیدا کنیم:
first_element = my_list[0]
print(first_element) # خروجی: 1
last_element = my_list[-1]
print(last_element) # خروجی: 6
برش (Slicing)
با استفاده از برش میتوانیم بخشی از لیست را استخراج کنیم:
sub_list = my_list[1:4]
print(sub_list) # خروجی: [2, 4, 5]
۲. تاپلها (Tuples)
تاپلها مشابه لیستها هستند، با این تفاوت که غیر قابل تغییر (immutable) هستند. این ویژگی باعث میشود تا تاپلها سریعتر و مطمئنتر باشند.
تعریف تاپل
تاپلها با استفاده از پرانتز
()
تعریف میشوند:my_tuple = (1, 2, 3, 4, 5)
print(my_tuple) # خروجی: (1, 2, 3, 4, 5)
دسترسی به عناصر تاپل
همانند لیستها، میتوانیم به عناصر تاپل با استفاده از ایندکسها دسترسی پیدا کنیم:
first_element = my_tuple[0]
print(first_element) # خروجی: 1
last_element = my_tuple[-1]
print(last_element) # خروجی: 5
تفاوتهای اصلی بین لیستها و تاپلها
- قابلیت تغییر: لیستها قابل تغییر هستند (میتوان عناصر آنها را تغییر داد، افزود یا حذف کرد)، در حالی که تاپلها غیر قابل تغییر هستند.
- کاربردها: تاپلها معمولاً برای دادههایی استفاده میشوند که نباید تغییر کنند، در حالی که لیستها برای دادههای متغیر و قابل تغییر مناسب هستند.
تمرینها
1. لیستی بسازید که شامل نام پنج دوست شما باشد و سپس نام دوست ششم خود را به آن اضافه کنید.
2. تاپلی بسازید که شامل شمارههای مورد علاقه شما باشد و سپس سعی کنید یکی از شمارهها را تغییر دهید. چه اتفاقی میافتد؟
3. لیستی از اعداد ایجاد کنید و میانگین آنها را محاسبه کنید.
[آموزش های بیشتر کانال ما ]
#پایتون #آموزش_پایتون #برنامه_نویسی #لیست #تاپل #کدنویسی
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
❤1👍1
پارت ۶: دیکشنریها و مجموعهها در پایتون 📚🐍
در این پارت، به بررسی دو ساختار دادهای مهم و پرکاربرد دیگر در پایتون میپردازیم: دیکشنریها (Dictionaries) و مجموعهها (Sets). این ساختارها ابزارهایی قوی برای مدیریت دادهها به شکلی موثر و بهینه هستند.
۱. دیکشنریها (Dictionaries)
دیکشنریها ساختارهای دادهای هستند که دادهها را به صورت جفتهای کلید-مقدار (key-value pairs) ذخیره میکنند. این ویژگی باعث میشود تا دیکشنریها برای ذخیره و بازیابی دادهها با استفاده از کلیدها بسیار مفید باشند.
تعریف دیکشنری
دیکشنریها با استفاده از آکولاد
افزودن و حذف عناصر
میتوانیم عناصر جدید به دیکشنری اضافه کنیم یا عناصر موجود را حذف کنیم:
دسترسی به مقادیر دیکشنری
میتوانیم به مقادیر دیکشنری با استفاده از کلیدها دسترسی پیدا کنیم:
متدهای پرکاربرد دیکشنری
دیکشنریها دارای متدهای متعددی هستند که کار با آنها را آسانتر میکنند:
۲. مجموعهها (Sets)
مجموعهها ساختارهای دادهای هستند که تنها شامل عناصر یکتا (غیر تکراری) میشوند. این ویژگی باعث میشود تا مجموعهها برای انجام عملیاتهای مجموعهای مانند اشتراک، اجتماع و تفاضل بسیار مفید باشند.
تعریف مجموعه
مجموعهها با استفاده از آکولاد
فزودن و حذف عناصر
میتوانیم عناصر جدید به مجموعه اضافه کنیم یا عناصر موجود را حذف کنیم:
# عملیاتهای مجموعهای
مجموعهها دارای متدهای مختلفی برای انجام عملیاتهای مجموعهای هستند:
تمرینها
1. یک دیکشنری بسازید که شامل اطلاعات کتابهای شما باشد (عنوان، نویسنده، سال انتشار) و سپس یک کتاب جدید به آن اضافه کنید.
2. یک مجموعه شامل شمارههای مختلف ایجاد کنید و سپس مجموعهای دیگر با شمارههای متفاوت ایجاد کنید. اشتراک و تفاضل این دو مجموعه را محاسبه کنید.
3. یک دیکشنری شامل نام و سن دوستان خود بسازید و سپس سعی کنید نام دوستی که در دیکشنری وجود ندارد را جستجو کنید.
[آموزش های مفید پایتون اینجاست]
#پایتون #آموزش_پایتون #برنامه_نویسی #دیکشنری #مجموعه #کدنویسی
در این پارت، به بررسی دو ساختار دادهای مهم و پرکاربرد دیگر در پایتون میپردازیم: دیکشنریها (Dictionaries) و مجموعهها (Sets). این ساختارها ابزارهایی قوی برای مدیریت دادهها به شکلی موثر و بهینه هستند.
۱. دیکشنریها (Dictionaries)
دیکشنریها ساختارهای دادهای هستند که دادهها را به صورت جفتهای کلید-مقدار (key-value pairs) ذخیره میکنند. این ویژگی باعث میشود تا دیکشنریها برای ذخیره و بازیابی دادهها با استفاده از کلیدها بسیار مفید باشند.
تعریف دیکشنری
دیکشنریها با استفاده از آکولاد
{}
تعریف میشوند:my_dict = {"name": "Ali", "age": 25, "city": "Tehran"}
print(my_dict) # خروجی: {'name': 'Ali', 'age': 25, 'city': 'Tehran'}
افزودن و حذف عناصر
میتوانیم عناصر جدید به دیکشنری اضافه کنیم یا عناصر موجود را حذف کنیم:
my_dict["email"] = "[email protected]" # افزودن عنصر جدید
print(my_dict) # خروجی: {'name': 'Ali', 'age': 25, 'city': 'Tehran', 'email': '[email protected]'}
del my_dict["age"] # حذف عنصر
print(my_dict) # خروجی: {'name': 'Ali', 'city': 'Tehran', 'email': '[email protected]'}
دسترسی به مقادیر دیکشنری
میتوانیم به مقادیر دیکشنری با استفاده از کلیدها دسترسی پیدا کنیم:
name = my_dict["name"]
print(name) # خروجی: Ali
متدهای پرکاربرد دیکشنری
دیکشنریها دارای متدهای متعددی هستند که کار با آنها را آسانتر میکنند:
# استفاده از متد get برای دریافت مقدار با کلید، در صورت عدم وجود کلید مقدار پیشفرض بازمیگرداند
age = my_dict.get("age", "Unknown")
print(age) # خروجی: Unknown
# دریافت لیست کلیدها و مقادیر
keys = my_dict.keys()
values = my_dict.values()
print(keys) # خروجی: dict_keys(['name', 'city', 'email'])
print(values) # خروجی: dict_values(['Ali', 'Tehran', '[email protected]'])
۲. مجموعهها (Sets)
مجموعهها ساختارهای دادهای هستند که تنها شامل عناصر یکتا (غیر تکراری) میشوند. این ویژگی باعث میشود تا مجموعهها برای انجام عملیاتهای مجموعهای مانند اشتراک، اجتماع و تفاضل بسیار مفید باشند.
تعریف مجموعه
مجموعهها با استفاده از آکولاد
{}
یا تابع set()
تعریف میشوند:my_set = {1, 2, 3, 4, 5}
print(my_set) # خروجی: {1, 2, 3, 4, 5}
my_set = set([1, 2, 3, 4, 5])
print(my_set) # خروجی: {1, 2, 3, 4, 5}
فزودن و حذف عناصر
میتوانیم عناصر جدید به مجموعه اضافه کنیم یا عناصر موجود را حذف کنیم:
my_set.add(6) # افزودن عنصر جدید
print(my_set) # خروجی: {1, 2, 3, 4, 5, 6}
my_set.remove(3) # حذف عنصر
print(my_set) # خروجی: {1, 2, 4, 5, 6}
# عملیاتهای مجموعهای
مجموعهها دارای متدهای مختلفی برای انجام عملیاتهای مجموعهای هستند:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# اجتماع
union_set = set1.union(set2)
print(union_set) # خروجی: {1, 2, 3, 4, 5}
# اشتراک
intersection_set = set1.intersection(set2)
print(intersection_set) # خروجی: {3}
# تفاضل
difference_set = set1.difference(set2)
print(difference_set) # خروجی: {1, 2}
تمرینها
1. یک دیکشنری بسازید که شامل اطلاعات کتابهای شما باشد (عنوان، نویسنده، سال انتشار) و سپس یک کتاب جدید به آن اضافه کنید.
2. یک مجموعه شامل شمارههای مختلف ایجاد کنید و سپس مجموعهای دیگر با شمارههای متفاوت ایجاد کنید. اشتراک و تفاضل این دو مجموعه را محاسبه کنید.
3. یک دیکشنری شامل نام و سن دوستان خود بسازید و سپس سعی کنید نام دوستی که در دیکشنری وجود ندارد را جستجو کنید.
[آموزش های مفید پایتون اینجاست]
#پایتون #آموزش_پایتون #برنامه_نویسی #دیکشنری #مجموعه #کدنویسی
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
🥰2
🚀 آموزش کتابخانه TurboGears 🚀
سلام دوستان! امروز میخوایم با هم نگاهی به کتابخانهی TurboGears بندازیم. 🤓
🎯 TurboGears چیست؟
TurboGears یک فریمورک قدرتمند برای توسعه وب با زبان پایتون هست که به شما اجازه میده به راحتی اپلیکیشنهای وب بسازید. 🌐🐍
🔧 نصب TurboGears
ابتدا باید TurboGears رو نصب کنیم. برای این کار از pip استفاده میکنیم:
🚀 ساخت پروژه جدید
برای ایجاد یک پروژه جدید، از دستور زیر استفاده کنید:
این دستور یک پروژه جدید به نام myproject ایجاد میکنه. 📁
🔥 اجرای سرور توسعه
برای اجرای سرور توسعه، به دایرکتوری پروژه بروید و دستور زیر رو اجرا کنید:
حالا میتونید به آدرس | https://127.0.0.1:8080 | برید و پروژهی خودتون رو ببینید. 🌐🚀
🛠️ ساخت یک کنترلر ساده
در TurboGears، کنترلرها بخش اصلی پردازش درخواستها هستند. یک کنترلر ساده به این شکل ساخته میشه:
این کنترلر به درخواستهای (https://127.0.0.1:8080 ) پاسخ میده و "سلام دنیا!" رو نمایش میده. 🌟
📚 منابع بیشتر
برای یادگیری بیشتر میتونید به مستندات رسمی TurboGears مراجعه کنید: [مستندات TurboGears] 📖
امیدوارم این آموزش براتون مفید بوده باشه. 😊 اگر سوالی دارید، حتما بپرسید! 💬
(اموزش کتابخانه های پایتون تو کانال ما)
#TurboGears #Python #WebDevelopment #پایتون #توسعه_وب
سلام دوستان! امروز میخوایم با هم نگاهی به کتابخانهی TurboGears بندازیم. 🤓
🎯 TurboGears چیست؟
TurboGears یک فریمورک قدرتمند برای توسعه وب با زبان پایتون هست که به شما اجازه میده به راحتی اپلیکیشنهای وب بسازید. 🌐🐍
🔧 نصب TurboGears
ابتدا باید TurboGears رو نصب کنیم. برای این کار از pip استفاده میکنیم:
pip install tg.devtools
🚀 ساخت پروژه جدید
برای ایجاد یک پروژه جدید، از دستور زیر استفاده کنید:
gearbox quickstart myproject
این دستور یک پروژه جدید به نام myproject ایجاد میکنه. 📁
🔥 اجرای سرور توسعه
برای اجرای سرور توسعه، به دایرکتوری پروژه بروید و دستور زیر رو اجرا کنید:
gearbox serve
حالا میتونید به آدرس | https://127.0.0.1:8080 | برید و پروژهی خودتون رو ببینید. 🌐🚀
🛠️ ساخت یک کنترلر ساده
در TurboGears، کنترلرها بخش اصلی پردازش درخواستها هستند. یک کنترلر ساده به این شکل ساخته میشه:
from tg import expose, TGController
class RootController(TGController):
@expose()
def index(self):
return "سلام دنیا!"
این کنترلر به درخواستهای (https://127.0.0.1:8080 ) پاسخ میده و "سلام دنیا!" رو نمایش میده. 🌟
📚 منابع بیشتر
برای یادگیری بیشتر میتونید به مستندات رسمی TurboGears مراجعه کنید: [مستندات TurboGears] 📖
امیدوارم این آموزش براتون مفید بوده باشه. 😊 اگر سوالی دارید، حتما بپرسید! 💬
(اموزش کتابخانه های پایتون تو کانال ما)
#TurboGears #Python #WebDevelopment #پایتون #توسعه_وب
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
🚀 ساخت برنامهی اعلام ساعت با پایتون و Flask 🚀
سلام دوستان! امروز میخوایم با هم یک برنامه سادهی اعلام ساعت با استفاده از پایتون و Flask بسازیم. ⏰🐍
🎯 Flask چیست؟
Flask یک میکرو فریمورک سبک برای توسعه وب با پایتون است که بسیار ساده و قابل انعطاف است. 🌐
🔧 نصب Flask
ابتدا باید Flask رو نصب کنیم. برای این کار از pip استفاده میکنیم:
🚀 ساخت برنامهی اعلام ساعت
یک فایل جدید به نام
این کد یک وبسرور ساده راهاندازی میکنه که زمان فعلی رو در صفحه اصلی نمایش میده. ⏰🌐
🔥 اجرای برنامه
برای اجرای برنامه، به دایرکتوری که فایل
حالا میتونید به آدرس https://127.0.0.1:5000 برید و زمان فعلی رو ببینید. 🌟
📚 منابع بیشتر
برای یادگیری بیشتر میتونید به مستندات رسمی Flask مراجعه کنید: [مستندات Flask]📖
(کانال ما)
#Flask #Python #WebDevelopment #پایتون #توسعه_وب #اعلام_ساعت
سلام دوستان! امروز میخوایم با هم یک برنامه سادهی اعلام ساعت با استفاده از پایتون و Flask بسازیم. ⏰🐍
🎯 Flask چیست؟
Flask یک میکرو فریمورک سبک برای توسعه وب با پایتون است که بسیار ساده و قابل انعطاف است. 🌐
🔧 نصب Flask
ابتدا باید Flask رو نصب کنیم. برای این کار از pip استفاده میکنیم:
pip install Flask
🚀 ساخت برنامهی اعلام ساعت
یک فایل جدید به نام
app.py
بسازید و کد زیر رو در اون قرار بدید:from flask import Flask
from datetime import datetime
app = Flask(__name__)
@app.route('/')
def time():
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
return f"زمان فعلی: {current_time}"
if __name__ == '__main__':
app.run(debug=True)
این کد یک وبسرور ساده راهاندازی میکنه که زمان فعلی رو در صفحه اصلی نمایش میده. ⏰🌐
🔥 اجرای برنامه
برای اجرای برنامه، به دایرکتوری که فایل
app.py
رو ساختید برید و دستور زیر رو اجرا کنید:python app.py
حالا میتونید به آدرس https://127.0.0.1:5000 برید و زمان فعلی رو ببینید. 🌟
📚 منابع بیشتر
برای یادگیری بیشتر میتونید به مستندات رسمی Flask مراجعه کنید: [مستندات Flask]📖
(کانال ما)
#Flask #Python #WebDevelopment #پایتون #توسعه_وب #اعلام_ساعت
👍2
پارت ۸: توابع در پایتون 🛠️🐍
در این پارت، به بررسی توابع (Functions) در پایتون میپردازیم. توابع یکی از مهمترین مفاهیم در برنامهنویسی هستند که به ما امکان میدهند تا کدهای خود را به بخشهای کوچکتر و قابل استفاده مجدد تقسیم کنیم.
۱. تعریف توابع
توابع به ما اجازه میدهند تا مجموعهای از دستورات را با نامی مشخص تعریف کنیم و سپس با فراخوانی نام تابع، آن دستورات را اجرا کنیم.
ساختار تعریف تابع
یک تابع با استفاده از کلمه کلیدی
فراخوانی تابع
برای فراخوانی یک تابع، کافیست نام آن را به همراه پرانتزها بنویسیم:
توضیح: در این مثال، تابع
خروجی:
۲. پارامترها و آرگومانها
توابع میتوانند پارامترهایی بپذیرند که به آنها اجازه میدهد با دادههای مختلف کار کنند.
تعریف تابع با پارامتر
در اینجا، تابعی تعریف میکنیم که دو پارامتر میپذیرد و حاصل جمع آنها را چاپ میکند:
فراخوانی تابع با آرگومانها
برای فراخوانی تابع با مقادیر مختلف، کافیست آرگومانها را در پرانتزها قرار دهیم:
توضیح: در این مثال، تابع
خروجی:
۳. بازگشت مقادیر از تابع
توابع میتوانند مقادیری را به فراخوانی کننده بازگردانند با استفاده از کلمه کلیدی
تعریف تابع با مقدار بازگشتی
در اینجا، تابعی تعریف میکنیم که حاصل جمع دو عدد را محاسبه کرده و بازمیگرداند:
استفاده از مقدار بازگشتی
مقدار بازگشتی تابع را میتوان در متغیری ذخیره کرده و از آن استفاده کرد:
توضیح: در این مثال، تابع
خروجی:
۴. توابع با تعداد آرگومانهای متغیر
پایتون امکان تعریف توابع با تعداد آرگومانهای متغیر را نیز فراهم میکند. این ویژگی با استفاده از
استفاده از
در اینجا، تابعی تعریف میکنیم که تعداد نامحدودی آرگومان عددی میپذیرد و مجموع آنها را محاسبه میکند:
فراخوانی تابع با تعداد آرگومانهای مختلف
توضیح: در این مثال، تابع
۵. توابع با پارامترهای کلید-مقدار
با استفاده از
استفاده از
در اینجا، تابعی تعریف میکنیم که اطلاعات مختلف یک کاربر را به صورت پارامترهای کلید-مقدار میپذیرد و چاپ میکند:
فراخوانی تابع با پارامترهای کلید-مقدار
توضیح: در این مثال، تابع
خروجی:
تمرینها
1. تابعی بنویسید که دو عدد را گرفته و مقدار بزرگتر را بازگرداند.
2. تابعی بنویسید که یک لیست از اعداد را گرفته و میانگین آنها را محاسبه و بازگرداند.
در این پارت، به بررسی توابع (Functions) در پایتون میپردازیم. توابع یکی از مهمترین مفاهیم در برنامهنویسی هستند که به ما امکان میدهند تا کدهای خود را به بخشهای کوچکتر و قابل استفاده مجدد تقسیم کنیم.
۱. تعریف توابع
توابع به ما اجازه میدهند تا مجموعهای از دستورات را با نامی مشخص تعریف کنیم و سپس با فراخوانی نام تابع، آن دستورات را اجرا کنیم.
ساختار تعریف تابع
یک تابع با استفاده از کلمه کلیدی
def
تعریف میشود و سپس نام تابع و پرانتزها قرار میگیرند. داخل پرانتزها میتوانیم پارامترهای تابع را مشخص کنیم.def my_function():
# دستورات اجرایی
print("Hello, World!")
فراخوانی تابع
برای فراخوانی یک تابع، کافیست نام آن را به همراه پرانتزها بنویسیم:
my_function()
توضیح: در این مثال، تابع
my_function
تعریف شده که یک پیام را چاپ میکند. سپس این تابع فراخوانی شده و پیام مربوطه چاپ میشود.خروجی:
Hello, World!
۲. پارامترها و آرگومانها
توابع میتوانند پارامترهایی بپذیرند که به آنها اجازه میدهد با دادههای مختلف کار کنند.
تعریف تابع با پارامتر
در اینجا، تابعی تعریف میکنیم که دو پارامتر میپذیرد و حاصل جمع آنها را چاپ میکند:
def add(a, b):
result = a + b
print("Result:", result)
فراخوانی تابع با آرگومانها
برای فراخوانی تابع با مقادیر مختلف، کافیست آرگومانها را در پرانتزها قرار دهیم:
add(3, 5)
توضیح: در این مثال، تابع
add
دو پارامتر a
و b
میپذیرد. سپس حاصل جمع این دو مقدار را محاسبه و چاپ میکند.خروجی:
Result: 8
۳. بازگشت مقادیر از تابع
توابع میتوانند مقادیری را به فراخوانی کننده بازگردانند با استفاده از کلمه کلیدی
return
.تعریف تابع با مقدار بازگشتی
در اینجا، تابعی تعریف میکنیم که حاصل جمع دو عدد را محاسبه کرده و بازمیگرداند:
def add(a, b):
return a + b
استفاده از مقدار بازگشتی
مقدار بازگشتی تابع را میتوان در متغیری ذخیره کرده و از آن استفاده کرد:
result = add(3, 5)
print("Result:", result)
توضیح: در این مثال، تابع
add
مقدار حاصل جمع دو عدد را بازمیگرداند. این مقدار در متغیر result
ذخیره شده و سپس چاپ میشود.خروجی:
Result: 8
۴. توابع با تعداد آرگومانهای متغیر
پایتون امکان تعریف توابع با تعداد آرگومانهای متغیر را نیز فراهم میکند. این ویژگی با استفاده از
*args
و **kwargs
قابل دستیابی است.استفاده از
args
در اینجا، تابعی تعریف میکنیم که تعداد نامحدودی آرگومان عددی میپذیرد و مجموع آنها را محاسبه میکند:
def add(*args):
result = sum(args)
return result
فراخوانی تابع با تعداد آرگومانهای مختلف
print(add(1, 2, 3)) # خروجی: 6
print(add(4, 5, 6, 7, 8)) # خروجی: 30
توضیح: در این مثال، تابع
add
با استفاده از *args
تعریف شده و میتواند تعداد نامحدودی آرگومان بپذیرد. سپس مجموع این آرگومانها محاسبه و بازگردانده میشود.۵. توابع با پارامترهای کلید-مقدار
با استفاده از
**kwargs
میتوان توابعی تعریف کرد که تعداد نامحدودی پارامتر کلید-مقدار بپذیرند.استفاده از
kwargs
در اینجا، تابعی تعریف میکنیم که اطلاعات مختلف یک کاربر را به صورت پارامترهای کلید-مقدار میپذیرد و چاپ میکند:
def print_user_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
فراخوانی تابع با پارامترهای کلید-مقدار
print_user_info(name="Ali", age=25, city="Tehran")
توضیح: در این مثال، تابع
print_user_info
با استفاده از **kwargs
تعریف شده و میتواند تعداد نامحدودی پارامتر کلید-مقدار بپذیرد. سپس این اطلاعات چاپ میشود.خروجی:
name: Ali
age: 25
city: Tehran
تمرینها
1. تابعی بنویسید که دو عدد را گرفته و مقدار بزرگتر را بازگرداند.
def max_number(a, b):
if a > b:
return a
else:
return b
2. تابعی بنویسید که یک لیست از اعداد را گرفته و میانگین آنها را محاسبه و بازگرداند.
def average(numbers):
return sum(numbers) / len(numbers)
3. تابعی بنویسید که نام و سن چند کاربر را گرفته و نام کاربرانی که سن آنها بالای ۱۸ است را چاپ کند.
(بهترین اموزش هارو توی کانال ما ببینید)
#پایتون #آموزش_پایتون #برنامه_نویسی #توابع #کدنویسی
def print_adults(**kwargs):
for name, age in kwargs.items():
if age > 18:
print(name)
(بهترین اموزش هارو توی کانال ما ببینید)
#پایتون #آموزش_پایتون #برنامه_نویسی #توابع #کدنویسی
👍1
پارت ۷: حلقهها در پایتون 🔄🐍
در این پارت، به بررسی حلقهها (Loops) در پایتون میپردازیم. حلقهها ابزارهایی قدرتمند هستند که به ما اجازه میدهند تا مجموعهای از دستورات را چندین بار اجرا کنیم. دو نوع حلقه اصلی در پایتون وجود دارد:
۱. حلقه
حلقههای
ساختار حلقه
حلقه
مثال ساده
در این مثال، عناصر یک لیست را با استفاده از حلقه
توضیح: در اینجا، لیستی به نام
خروجی:
استفاده از
حلقه
توضیح: تابع
خروجی:
۲. حلقه
حلقههای
ساختار حلقه
حلقه
مثال ساده
در این مثال، یک شمارش معکوس از ۵ تا ۱ را با استفاده از حلقه
توضیح: متغیر
خروجی:
۳. کنترل جریان در حلقهها
برای کنترل جریان اجرای دستورات در حلقهها، از دستورات
دستور
دستور
توضیح: در این مثال، حلقه
خروجی:
دستور
دستور
توضیح: در این مثال، حلقه
خروجی:
۴. حلقههای تو در تو (Nested Loops)
میتوانیم از حلقههای تو در تو برای انجام تکرارهای چندگانه استفاده کنیم:
توضیح: در اینجا، یک حلقه
خروجی:
تمرینها
1. یک لیست از اعداد ایجاد کنید و مجموع اعداد موجود در آن لیست را با استفاده از حلقه
توضیح: لیستی از اعداد ایجاد شده است. حلقه
2. از یک حلقه
در این پارت، به بررسی حلقهها (Loops) در پایتون میپردازیم. حلقهها ابزارهایی قدرتمند هستند که به ما اجازه میدهند تا مجموعهای از دستورات را چندین بار اجرا کنیم. دو نوع حلقه اصلی در پایتون وجود دارد:
for
و while
.۱. حلقه
for
حلقههای
for
برای تکرار روی مجموعهای از عناصر مانند لیستها، تاپلها، دیکشنریها و رشتهها استفاده میشوند.ساختار حلقه
for
حلقه
for
با استفاده از یک متغیر تکرارکننده (iterator) و یک مجموعه (iterable) عمل میکند. برای هر عنصر در مجموعه، حلقه for
بدنه حلقه را یک بار اجرا میکند.for item in iterable:
# دستورات اجرایی
مثال ساده
در این مثال، عناصر یک لیست را با استفاده از حلقه
for
چاپ میکنیم:fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
توضیح: در اینجا، لیستی به نام
fruits
داریم که شامل سه عنصر است. حلقه for
به ازای هر عنصر در این لیست، مقدار آن عنصر را چاپ میکند.خروجی:
apple
banana
cherry
استفاده از
range
حلقه
for
میتواند با استفاده از تابع range
برای ایجاد یک دنباله از اعداد استفاده شود. range
یک دنباله از اعداد را ایجاد میکند که میتواند در حلقهها استفاده شود.for i in range(5):
print(i)
توضیح: تابع
range(5)
دنبالهای از اعداد ۰ تا ۴ ایجاد میکند. حلقه for
این اعداد را تکرار کرده و هر عدد را چاپ میکند.خروجی:
0
1
2
3
4
۲. حلقه
while
حلقههای
while
تا زمانی که شرط مشخصی درست باشد، مجموعهای از دستورات را تکرار میکنند.ساختار حلقه
while
حلقه
while
با یک شرط منطقی عمل میکند. تا زمانی که این شرط درست باشد، بدنه حلقه اجرا میشود.while condition:
# دستورات اجرایی
مثال ساده
در این مثال، یک شمارش معکوس از ۵ تا ۱ را با استفاده از حلقه
while
انجام میدهیم:count = 5
while count > 0:
print(count)
count -= 1
توضیح: متغیر
count
با مقدار اولیه ۵ تعریف شده است. حلقه while
تا زمانی که count
بزرگتر از ۰ باشد، بدنه حلقه را اجرا میکند و مقدار count
را در هر تکرار کاهش میدهد و چاپ میکند.خروجی:
5
4
3
2
1
۳. کنترل جریان در حلقهها
برای کنترل جریان اجرای دستورات در حلقهها، از دستورات
break
و continue
استفاده میشود.دستور
break
دستور
break
برای خروج فوری از حلقه استفاده میشود.for i in range(10):
if i == 5:
break
print(i)
توضیح: در این مثال، حلقه
for
اعداد ۰ تا ۹ را تکرار میکند. زمانی که مقدار i
برابر با ۵ میشود، دستور break
اجرا شده و حلقه متوقف میشود.خروجی:
0
1
2
3
4
دستور
continue
دستور
continue
برای رد کردن ادامه تکرار جاری و رفتن به تکرار بعدی استفاده میشود.for i in range(10):
if i % 2 == 0:
continue
print(i)
توضیح: در این مثال، حلقه
for
اعداد ۰ تا ۹ را تکرار میکند. اگر مقدار i
زوج باشد (i % 2 == 0
)، دستور continue
اجرا شده و باقی دستورات حلقه نادیده گرفته میشود و به تکرار بعدی میرود. در نتیجه فقط اعداد فرد چاپ میشوند.خروجی:
1
3
5
7
9
۴. حلقههای تو در تو (Nested Loops)
میتوانیم از حلقههای تو در تو برای انجام تکرارهای چندگانه استفاده کنیم:
for i in range(3):
for j in range(2):
print(f"i: {i}, j: {j}")
توضیح: در اینجا، یک حلقه
for
تو در تو داریم. حلقه بیرونی ۳ بار تکرار میشود و هر بار که حلقه بیرونی تکرار میشود، حلقه داخلی ۲ بار تکرار میشود. بنابراین مجموعاً ۶ بار بدنه حلقه داخلی اجرا میشود و مقادیر i
و j
چاپ میشوند.خروجی:
i: 0, j: 0
i: 0, j: 1
i: 1, j: 0
i: 1, j: 1
i: 2, j: 0
i: 2, j: 1
تمرینها
1. یک لیست از اعداد ایجاد کنید و مجموع اعداد موجود در آن لیست را با استفاده از حلقه
for
محاسبه کنید.numbers = [1, 2, 3, 4, 5]
total = 0
for number in numbers:
total += number
print("Total:", total)
توضیح: لیستی از اعداد ایجاد شده است. حلقه
for
هر عدد را به متغیر total
اضافه میکند و در نهایت مجموع اعداد چاپ میشود.2. از یک حلقه
while
استفاده کنید تا اعداد زوج بین ۱ تا ۲۰ را چاپ کنید.num = 1
while num <= 20:
if num % 2 == 0:
print(num)
num += 1
توضیح: حلقه
while
تا زمانی که num
کمتر یا برابر با ۲۰ باشد، اجرا میشود. اگر num
زوج باشد، چاپ میشود و سپس num
افزایش مییابد.3. با استفاده از یک حلقه تو در تو، جدول ضرب اعداد ۱ تا ۵ را چاپ کنید.
for i in range(1, 6):
for j in range(1, 6):
print(f"{i} * {j} = {i * j}")
توضیح: دو حلقه
for
تو در تو داریم که هر کدام از ۱ تا ۵ تکرار میشوند. در هر تکرار، حاصل ضرب i
و j
چاپ میشود و جدول ضرب ایجاد میشود.(کانال ما بهترین اموزشات رو داده )
#پایتون #آموزش_پایتون #برنامه_نویسی #حلقه #کدنویسی
👍1
آموزش گرفتن اطلاعات از دیتابیس و پردازش آنها با پایتون 🗄️🐍
در این پارت، به بررسی نحوه گرفتن اطلاعات از دیتابیس و پردازش آنها با استفاده از پایتون میپردازیم. برای این کار از کتابخانههای
۱. نصب و راهاندازی
برای استفاده از دیتابیس SQLite و کتابخانه Pandas، ابتدا باید اطمینان حاصل کنید که این کتابخانهها نصب شدهاند. برای نصب، از دستورهای زیر استفاده کنید:
۲. اتصال به دیتابیس SQLite
ابتدا باید به دیتابیس SQLite متصل شویم. برای این کار از کتابخانه
توضیح: در اینجا به یک دیتابیس به نام
۳. ایجاد جدول و وارد کردن دادهها
در این مرحله، یک جدول نمونه ایجاد کرده و تعدادی داده به آن وارد میکنیم.
توضیح: در اینجا جدولی به نام
۴. خواندن دادهها از دیتابیس
برای خواندن دادهها از دیتابیس، از دستور
توضیح: در اینجا تمام دادههای جدول
خروجی:
۵. پردازش دادهها با Pandas
برای پردازش دادهها از کتابخانه
توضیح: در اینجا دادههای خوانده شده از دیتابیس را به یک DataFrame از pandas تبدیل کرده و چاپ میکنیم.
خروجی:
۶. انجام عملیات پردازش
با استفاده از DataFrame میتوانیم عملیات پردازش مختلفی را انجام دهیم. به عنوان مثال، محاسبه میانگین سن کاربران:
توضیح: در اینجا میانگین سن کاربران را محاسبه و چاپ میکنیم.
خروجی:
۷. بستن اتصال به دیتابیس
پس از اتمام کار، باید اتصال به دیتابیس را ببندیم.
[اموزش های بیشتر توی کانالمون]
#پایتون #آموزش_پایتون #برنامه_نویسی #دیتابیس #پردازش_داده #SQLite #Pandas
در این پارت، به بررسی نحوه گرفتن اطلاعات از دیتابیس و پردازش آنها با استفاده از پایتون میپردازیم. برای این کار از کتابخانههای
sqlite3
و pandas
استفاده خواهیم کرد.۱. نصب و راهاندازی
برای استفاده از دیتابیس SQLite و کتابخانه Pandas، ابتدا باید اطمینان حاصل کنید که این کتابخانهها نصب شدهاند. برای نصب، از دستورهای زیر استفاده کنید:
pip install pandas
۲. اتصال به دیتابیس SQLite
ابتدا باید به دیتابیس SQLite متصل شویم. برای این کار از کتابخانه
sqlite3
استفاده میکنیم.import sqlite3
# اتصال به دیتابیس
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
توضیح: در اینجا به یک دیتابیس به نام
example.db
متصل میشویم. اگر این فایل وجود نداشته باشد، به طور خودکار ایجاد خواهد شد.۳. ایجاد جدول و وارد کردن دادهها
در این مرحله، یک جدول نمونه ایجاد کرده و تعدادی داده به آن وارد میکنیم.
# ایجاد جدول
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# وارد کردن دادهها
cursor.execute("INSERT INTO users (name, age) VALUES ('Ali', 25)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Sara', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Reza', 22)")
# ذخیره تغییرات
conn.commit()
توضیح: در اینجا جدولی به نام
users
با ستونهای id
، name
و age
ایجاد کردهایم و تعدادی داده به آن اضافه کردهایم.۴. خواندن دادهها از دیتابیس
برای خواندن دادهها از دیتابیس، از دستور
SELECT
استفاده میکنیم.# خواندن دادهها
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
توضیح: در اینجا تمام دادههای جدول
users
را انتخاب کرده و چاپ میکنیم.خروجی:
(1, 'Ali', 25)
(2, 'Sara', 30)
(3, 'Reza', 22)
۵. پردازش دادهها با Pandas
برای پردازش دادهها از کتابخانه
pandas
استفاده میکنیم. ابتدا دادهها را به یک DataFrame تبدیل میکنیم.import pandas as pd
# تبدیل دادهها به DataFrame
df = pd.DataFrame(rows, columns=['id', 'name', 'age'])
print(df)
توضیح: در اینجا دادههای خوانده شده از دیتابیس را به یک DataFrame از pandas تبدیل کرده و چاپ میکنیم.
خروجی:
id name age
0 1 Ali 25
1 2 Sara 30
2 3 Reza 22
۶. انجام عملیات پردازش
با استفاده از DataFrame میتوانیم عملیات پردازش مختلفی را انجام دهیم. به عنوان مثال، محاسبه میانگین سن کاربران:
# محاسبه میانگین سن
average_age = df['age'].mean()
print(f"Average age: {average_age}")
توضیح: در اینجا میانگین سن کاربران را محاسبه و چاپ میکنیم.
خروجی:
Average age: 25.666666666666668
۷. بستن اتصال به دیتابیس
پس از اتمام کار، باید اتصال به دیتابیس را ببندیم.
# بستن اتصال
conn.close()
[اموزش های بیشتر توی کانالمون]
#پایتون #آموزش_پایتون #برنامه_نویسی #دیتابیس #پردازش_داده #SQLite #Pandas
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
❤3
سلام دوستان! 😊 امروز میخوایم دربارهی یکی از الگوریتمهای معروف در حوزهی بهینهسازی و هوش مصنوعی صحبت کنیم: الگوریتم ژنتیک (Genetic Algorithm) 🌱. این الگوریتم از فرآیند تکامل طبیعی الهام گرفته شده و برای حل مسائل پیچیده و بهینهسازی به کار میره.
🧬 الگوریتم ژنتیک چیست؟
الگوریتم ژنتیک با استفاده از مفاهیم تکامل و انتخاب طبیعی، تلاش میکنه تا بهترین راهحل رو برای یک مسئله پیدا کنه. این الگوریتم در اصل بر اساس اصول زیستشناسی تکاملی مانند انتخاب طبیعی، جهش و تقاطع (تولید مثل) عمل میکنه.
📊 مفاهیم کلیدی
- کروموزوم (Chromosome): یک راهحل احتمالی برای مسئله.
- ژن (Gene): کوچکترین واحد اطلاعاتی در کروموزوم.
- جمعیت (Population): مجموعهای از کروموزومها که در هر نسل وجود دارند.
- تابع برازش (Fitness Function): معیاری برای سنجش کیفیت هر کروموزوم. هر چقدر مقدار برازش بیشتر باشه، کروموزوم بهتر است.
- انتخاب (Selection): فرآیند انتخاب کروموزومهای برتر برای تولید نسل بعدی.
- تقاطع (Crossover): ترکیب دو کروموزوم برای تولید فرزندان جدید. این فرآیند باعث میشه تا ویژگیهای والدین به فرزندان منتقل بشه.
- جهش (Mutation): تغییرات تصادفی در ژنهای کروموزوم برای ایجاد تنوع و جلوگیری از گیر افتادن در بهینههای محلی.
🛠️ مراحل اجرای الگوریتم ژنتیک
1. ایجاد جمعیت اولیه: شروع با یک مجموعهای از راهحلهای احتمالی که بهصورت تصادفی ایجاد میشوند. این مجموعه به عنوان جمعیت اولیه شناخته میشود.
2. ارزیابی برازش: هر کروموزوم در جمعیت با استفاده از تابع برازش ارزیابی میشود تا کیفیت آن مشخص شود.
3. انتخاب: کروموزومهایی که بهترین عملکرد را دارند (برازش بیشتری دارند) انتخاب میشوند تا والدین نسل بعدی باشند.
4. تقاطع (Crossover): از دو کروموزوم انتخابشده (والدین) برای تولید کروموزومهای جدید (فرزندان) استفاده میشود. این فرزندان ویژگیهای ترکیبی از والدین خود را به ارث میبرند.
5. جهش (Mutation): بهصورت تصادفی، برخی از ژنهای کروموزومها تغییر میکنند. این فرآیند باعث میشود تا تنوع در جمعیت حفظ شود و از گیر افتادن در بهینههای محلی جلوگیری شود.
6. تکرار مراحل ۲ تا ۵: مراحل ارزیابی، انتخاب، تقاطع و جهش برای چندین نسل تکرار میشود تا بهترین راهحل پیدا شود.
🎯 مزایای استفاده از الگوریتم ژنتیک
- ساده و انعطافپذیر: پیادهسازی و استفاده از الگوریتم ژنتیک نسبتاً ساده است و میتوان آن را برای مسائل مختلف بهینهسازی تطبیق داد.
- پویایی و تنوع: با استفاده از تقاطع و جهش، تنوع جمعیت حفظ میشود که این امر کمک میکند تا از گیر افتادن در بهینههای محلی جلوگیری شود.
- بهینهسازی موازی: این الگوریتم میتواند بهصورت موازی اجرا شود و باعث سرعت بخشیدن به فرآیند بهینهسازی شود.
🏁 نتیجهگیری
الگوریتم ژنتیک یکی از روشهای قدرتمند برای حل مسائل پیچیده و بهینهسازی است که از اصول تکامل طبیعی الهام گرفته شده است. با استفاده از این الگوریتم میتوانیم به راهحلهای بهینه و کارآمدی برای مسائل مختلف دست پیدا کنیم. امیدواریم این آموزش به شما در درک بهتر الگوریتم ژنتیک کمک کرده باشد. برای بهروزرسانیهای بیشتر و آموزشهای جذابتر، کانال تلگرام ما را دنبال کنید!
#الگوریتم_ژنتیک #بهینه_سازی #آموزش #هوش_مصنوعی #برنامه_نویسی
🧬 الگوریتم ژنتیک چیست؟
الگوریتم ژنتیک با استفاده از مفاهیم تکامل و انتخاب طبیعی، تلاش میکنه تا بهترین راهحل رو برای یک مسئله پیدا کنه. این الگوریتم در اصل بر اساس اصول زیستشناسی تکاملی مانند انتخاب طبیعی، جهش و تقاطع (تولید مثل) عمل میکنه.
📊 مفاهیم کلیدی
- کروموزوم (Chromosome): یک راهحل احتمالی برای مسئله.
- ژن (Gene): کوچکترین واحد اطلاعاتی در کروموزوم.
- جمعیت (Population): مجموعهای از کروموزومها که در هر نسل وجود دارند.
- تابع برازش (Fitness Function): معیاری برای سنجش کیفیت هر کروموزوم. هر چقدر مقدار برازش بیشتر باشه، کروموزوم بهتر است.
- انتخاب (Selection): فرآیند انتخاب کروموزومهای برتر برای تولید نسل بعدی.
- تقاطع (Crossover): ترکیب دو کروموزوم برای تولید فرزندان جدید. این فرآیند باعث میشه تا ویژگیهای والدین به فرزندان منتقل بشه.
- جهش (Mutation): تغییرات تصادفی در ژنهای کروموزوم برای ایجاد تنوع و جلوگیری از گیر افتادن در بهینههای محلی.
🛠️ مراحل اجرای الگوریتم ژنتیک
1. ایجاد جمعیت اولیه: شروع با یک مجموعهای از راهحلهای احتمالی که بهصورت تصادفی ایجاد میشوند. این مجموعه به عنوان جمعیت اولیه شناخته میشود.
2. ارزیابی برازش: هر کروموزوم در جمعیت با استفاده از تابع برازش ارزیابی میشود تا کیفیت آن مشخص شود.
3. انتخاب: کروموزومهایی که بهترین عملکرد را دارند (برازش بیشتری دارند) انتخاب میشوند تا والدین نسل بعدی باشند.
4. تقاطع (Crossover): از دو کروموزوم انتخابشده (والدین) برای تولید کروموزومهای جدید (فرزندان) استفاده میشود. این فرزندان ویژگیهای ترکیبی از والدین خود را به ارث میبرند.
5. جهش (Mutation): بهصورت تصادفی، برخی از ژنهای کروموزومها تغییر میکنند. این فرآیند باعث میشود تا تنوع در جمعیت حفظ شود و از گیر افتادن در بهینههای محلی جلوگیری شود.
6. تکرار مراحل ۲ تا ۵: مراحل ارزیابی، انتخاب، تقاطع و جهش برای چندین نسل تکرار میشود تا بهترین راهحل پیدا شود.
🎯 مزایای استفاده از الگوریتم ژنتیک
- ساده و انعطافپذیر: پیادهسازی و استفاده از الگوریتم ژنتیک نسبتاً ساده است و میتوان آن را برای مسائل مختلف بهینهسازی تطبیق داد.
- پویایی و تنوع: با استفاده از تقاطع و جهش، تنوع جمعیت حفظ میشود که این امر کمک میکند تا از گیر افتادن در بهینههای محلی جلوگیری شود.
- بهینهسازی موازی: این الگوریتم میتواند بهصورت موازی اجرا شود و باعث سرعت بخشیدن به فرآیند بهینهسازی شود.
🏁 نتیجهگیری
الگوریتم ژنتیک یکی از روشهای قدرتمند برای حل مسائل پیچیده و بهینهسازی است که از اصول تکامل طبیعی الهام گرفته شده است. با استفاده از این الگوریتم میتوانیم به راهحلهای بهینه و کارآمدی برای مسائل مختلف دست پیدا کنیم. امیدواریم این آموزش به شما در درک بهتر الگوریتم ژنتیک کمک کرده باشد. برای بهروزرسانیهای بیشتر و آموزشهای جذابتر، کانال تلگرام ما را دنبال کنید!
#الگوریتم_ژنتیک #بهینه_سازی #آموزش #هوش_مصنوعی #برنامه_نویسی
❤2
پارت ۹: مدیریت فایلها در پایتون 🗂️🐍
در این پارت، به بررسی نحوه کار با فایلها در پایتون میپردازیم. مدیریت فایلها یکی از قابلیتهای مهم پایتون است که به ما اجازه میدهد تا فایلها را باز کنیم، بخوانیم، بنویسیم و تغییر دهیم.
۱. باز کردن و بستن فایلها
برای کار با فایلها در پایتون از تابع
حالتهای باز کردن فایل
-
-
-
-
باز کردن و بستن فایل
در اینجا فایل
** ۲. خواندن از فایل
برای خواندن محتوای فایل از متدهای
خواندن کل محتوا با
در این مثال، تمام محتوای فایل
خواندن یک خط با
در این مثال، فقط یک خط از فایل خوانده و چاپ میشود.
خواندن تمام خطوط با
در این مثال، تمام خطوط فایل به صورت لیست خوانده و هر خط به طور جداگانه چاپ میشود.
** ۳. نوشتن به فایل
برای نوشتن در فایل از متد
نوشتن در فایل
در این مثال، دو خط متن به فایل
اضافه کردن به فایل
در این مثال، یک خط جدید به انتهای فایل
** ۴. استفاده از
با استفاده از کلمه کلیدی
استفاده از
در این مثال، فایل
**۵. کار با فایلهای CSV
برای کار با فایلهای CSV از کتابخانه
خواندن فایل CSV
در این مثال، فایل
نوشتن به فایل CSV
در این مثال، دادهها به فایل
** ۶. مدیریت فایلهای JSON
برای کار با فایلهای JSON از کتابخانه
خواندن فایل JSON
در این مثال، فایل
نوشتن به فایل JSON
در این مثال، دادهها به فایل
__________
تمرینها
1. یک فایل متنی به نام
در این پارت، به بررسی نحوه کار با فایلها در پایتون میپردازیم. مدیریت فایلها یکی از قابلیتهای مهم پایتون است که به ما اجازه میدهد تا فایلها را باز کنیم، بخوانیم، بنویسیم و تغییر دهیم.
۱. باز کردن و بستن فایلها
برای کار با فایلها در پایتون از تابع
open
استفاده میکنیم. این تابع دو آرگومان اصلی دارد: نام فایل و حالت باز کردن فایل.حالتهای باز کردن فایل
-
r
: باز کردن فایل برای خواندن (پیشفرض)-
w
: باز کردن فایل برای نوشتن (اگر فایل وجود نداشته باشد، ایجاد میشود؛ اگر فایل وجود داشته باشد، محتوای آن پاک میشود)-
a
: باز کردن فایل برای اضافه کردن محتوا (اگر فایل وجود نداشته باشد، ایجاد میشود)-
b
: باز کردن فایل در حالت باینری (برای فایلهای غیر متنی)باز کردن و بستن فایل
# باز کردن فایل
file = open('example.txt', 'r')
# انجام عملیات با فایل
# بستن فایل
file.close()
در اینجا فایل
example.txt
را برای خواندن باز کرده و سپس آن را بستهایم.** ۲. خواندن از فایل
برای خواندن محتوای فایل از متدهای
read
, readline
و readlines
استفاده میکنیم.**خواندن کل محتوا با
read
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
در این مثال، تمام محتوای فایل
example.txt
خوانده و چاپ میشود.خواندن یک خط با
readline
file = open('example.txt', 'r')
line = file.readline()
print(line)
file.close()
در این مثال، فقط یک خط از فایل خوانده و چاپ میشود.
خواندن تمام خطوط با
readlines
file = open('example.txt', 'r')
lines = file.readlines()
for line in lines:
print(line)
file.close()
در این مثال، تمام خطوط فایل به صورت لیست خوانده و هر خط به طور جداگانه چاپ میشود.
** ۳. نوشتن به فایل
برای نوشتن در فایل از متد
write
استفاده میکنیم.**نوشتن در فایل
file = open('example.txt', 'w')
file.write('Hello, World!\n')
file.write('This is a test.\n')
file.close()
در این مثال، دو خط متن به فایل
example.txt
نوشته میشود.اضافه کردن به فایل
file = open('example.txt', 'a')
file.write('Appending a new line.\n')
file.close()
در این مثال، یک خط جدید به انتهای فایل
example.txt
اضافه میشود.** ۴. استفاده از
with
برای مدیریت فایلهابا استفاده از کلمه کلیدی
with
میتوانیم به طور خودکار فایل را پس از اتمام عملیات ببندیم.**استفاده از
with
with open('example.txt', 'r') as file:
content = file.read()
print(content)
در این مثال، فایل
example.txt
برای خواندن باز شده و پس از اتمام عملیات، به طور خودکار بسته میشود.**۵. کار با فایلهای CSV
برای کار با فایلهای CSV از کتابخانه
csv
استفاده میکنیم.**خواندن فایل CSV
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
در این مثال، فایل
data.csv
خوانده شده و هر ردیف آن چاپ میشود.نوشتن به فایل CSV
import csv
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Age', 'City'])
writer.writerow(['Ali', 25, 'Tehran'])
writer.writerow(['Sara', 30, 'Mashhad'])
در این مثال، دادهها به فایل
data.csv
نوشته میشوند.** ۶. مدیریت فایلهای JSON
برای کار با فایلهای JSON از کتابخانه
json
استفاده میکنیم.**خواندن فایل JSON
import json
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
در این مثال، فایل
data.json
خوانده شده و محتوای آن چاپ میشود.نوشتن به فایل JSON
import json
data = {
'name': 'Ali',
'age': 25,
'city': 'Tehran'
}
with open('data.json', 'w') as file:
json.dump(data, file)
در این مثال، دادهها به فایل
data.json
نوشته میشوند.__________
تمرینها
1. یک فایل متنی به نام
notes.txt
ایجاد کنید و چند خط متن به آن اضافه کنید. سپس محتوای آن را بخوانید و چاپ کنید.with open('notes.txt', 'w') as file:
file.write('Line 1\n')
file.write('Line 2\n')
with open('notes.txt', 'r') as file:
content = file.read()
print(content)
2. یک فایل CSV به نام
3. یک فایل JSON به نام
(آموزش کامل پایتون توی کانال ما)
#پایتون #آموزش_پایتون #برنامه_نویسی #مدیریت_فایل #فایل_متنی #CSV #JSON
employees.csv
ایجاد کنید که شامل ستونهای Name
, Age
و Department
باشد و چند ردیف داده به آن اضافه کنید. سپس دادههای فایل را بخوانید و چاپ کنید.import csv
with open('employees.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Age', 'Department'])
writer.writerow(['Ali', 25, 'IT'])
writer.writerow(['Sara', 30, 'HR'])
with open('employees.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
3. یک فایل JSON به نام
config.json
ایجاد کنید که شامل تنظیمات مختلف یک برنامه باشد. سپس تنظیمات را از فایل خوانده و چاپ کنید.import json
config = {
'setting1': 'value1',
'setting2': 'value2',
'setting3': 'value3'
}
with open('config.json', 'w') as file:
json.dump(config, file)
with open('config.json', 'r') as file:
settings = json.load(file)
print(settings)
(آموزش کامل پایتون توی کانال ما)
#پایتون #آموزش_پایتون #برنامه_نویسی #مدیریت_فایل #فایل_متنی #CSV #JSON
👍4
پارت ۱۰: مدیریت استثناها در پایتون 🛠️🐍
در این پارت، به بررسی مدیریت استثناها در پایتون میپردازیم. استثناها شرایط خاصی هستند که در زمان اجرای برنامه رخ میدهند و میتوانند منجر به خطا شوند. پایتون ابزارهایی برای مدیریت این استثناها فراهم میکند تا برنامهها به طور روانتری اجرا شوند و از برخورد با خطاهای غیرمنتظره جلوگیری شود.
۱. ساختار کلی مدیریت استثناها
پایتون از بلوکهای
بلوک
در این مثال، سعی میکنیم عددی را بر صفر تقسیم کنیم که منجر به خطای
بلوک
در اینجا، اگر هیچ خطایی رخ ندهد، بلوک
بلوک
بلوک
۲. مدیریت چندین نوع استثنا
میتوانیم چندین نوع استثنا را در یک بلوک
در این مثال، هم خطای تقسیم بر صفر و هم خطای ورود داده نامعتبر مدیریت میشود.
۳. ایجاد استثنای سفارشی
میتوانیم استثناهای سفارشی خود را با ایجاد یک کلاس جدید تعریف کنیم.
در اینجا، یک استثنای سفارشی به نام
۴. نمونههای عملی
خواندن فایل و مدیریت استثناها
در این مثال، سعی میکنیم یک فایل را بخوانیم و در صورت عدم وجود فایل، خطای
ورودی کاربر و مدیریت استثناها
در اینجا، ورود کاربر را مدیریت کرده و در صورت ورود داده نامعتبر یا تقسیم بر صفر، خطاها را مدیریت میکنیم.
تمرینها
1. یک برنامه بنویسید که از کاربر دو عدد بگیرد و نتیجه تقسیم آنها را نمایش دهد. اگر عدد دوم صفر باشد یا داده نامعتبر وارد شود، خطا را مدیریت کنید.
2. یک فایل متنی باز کنید و محتوای آن را بخوانید. اگر فایل وجود نداشته باشد، خطا را مدیریت کنید. سپس تعداد خطوط فایل را چاپ کنید.
3. یک استثنای سفارشی ایجاد کنید که زمانی که کاربر سنی کمتر از ۱۸ سال وارد میکند، آن را مدیریت کند.
در این پارت، به بررسی مدیریت استثناها در پایتون میپردازیم. استثناها شرایط خاصی هستند که در زمان اجرای برنامه رخ میدهند و میتوانند منجر به خطا شوند. پایتون ابزارهایی برای مدیریت این استثناها فراهم میکند تا برنامهها به طور روانتری اجرا شوند و از برخورد با خطاهای غیرمنتظره جلوگیری شود.
۱. ساختار کلی مدیریت استثناها
پایتون از بلوکهای
try
, except
, else
و finally
برای مدیریت استثناها استفاده میکند.بلوک
try
و except
try:
# کد اصلی که ممکن است خطا ایجاد کند
x = 1 / 0
except ZeroDivisionError:
# کد مدیریت خطا
print("خطا: تقسیم بر صفر غیرمجاز است.")
در این مثال، سعی میکنیم عددی را بر صفر تقسیم کنیم که منجر به خطای
ZeroDivisionError
میشود. در بلوک except
، این خطا را مدیریت کرده و پیام خطا را چاپ میکنیم.بلوک
else
try:
x = 10 / 2
except ZeroDivisionError:
print("خطا: تقسیم بر صفر غیرمجاز است.")
else:
print(f"نتیجه تقسیم: {x}")
در اینجا، اگر هیچ خطایی رخ ندهد، بلوک
else
اجرا میشود و نتیجه عملیات چاپ میشود.بلوک
finally
try:
x = 10 / 0
except ZeroDivisionError:
print("خطا: تقسیم بر صفر غیرمجاز است.")
finally:
print("این بلوک همیشه اجرا میشود.")
بلوک
finally
همیشه، چه خطایی رخ دهد و چه رخ ندهد، اجرا میشود.۲. مدیریت چندین نوع استثنا
میتوانیم چندین نوع استثنا را در یک بلوک
except
مدیریت کنیم.try:
x = int(input("یک عدد وارد کنید: "))
y = 10 / x
except ZeroDivisionError:
print("خطا: تقسیم بر صفر غیرمجاز است.")
except ValueError:
print("خطا: لطفا یک عدد صحیح وارد کنید.")
در این مثال، هم خطای تقسیم بر صفر و هم خطای ورود داده نامعتبر مدیریت میشود.
۳. ایجاد استثنای سفارشی
میتوانیم استثناهای سفارشی خود را با ایجاد یک کلاس جدید تعریف کنیم.
class MyCustomError(Exception):
pass
try:
raise MyCustomError("این یک استثنای سفارشی است.")
except MyCustomError as e:
print(e)
در اینجا، یک استثنای سفارشی به نام
MyCustomError
ایجاد کردهایم و از آن استفاده میکنیم.۴. نمونههای عملی
خواندن فایل و مدیریت استثناها
try:
with open('example.txt', 'r') as file:
content = file.read()
except FileNotFoundError:
print("خطا: فایل یافت نشد.")
else:
print(content)
finally:
print("پایان عملیات فایل.")
در این مثال، سعی میکنیم یک فایل را بخوانیم و در صورت عدم وجود فایل، خطای
FileNotFoundError
را مدیریت میکنیم.ورودی کاربر و مدیریت استثناها
try:
number = int(input("یک عدد وارد کنید: "))
result = 10 / number
except ValueError:
print("خطا: لطفا یک عدد صحیح وارد کنید.")
except ZeroDivisionError:
print("خطا: تقسیم بر صفر غیرمجاز است.")
else:
print(f"نتیجه: {result}")
finally:
print("پایان عملیات.")
در اینجا، ورود کاربر را مدیریت کرده و در صورت ورود داده نامعتبر یا تقسیم بر صفر، خطاها را مدیریت میکنیم.
تمرینها
1. یک برنامه بنویسید که از کاربر دو عدد بگیرد و نتیجه تقسیم آنها را نمایش دهد. اگر عدد دوم صفر باشد یا داده نامعتبر وارد شود، خطا را مدیریت کنید.
try:
a = int(input("عدد اول را وارد کنید: "))
b = int(input("عدد دوم را وارد کنید: "))
result = a / b
except ValueError:
print("خطا: لطفا یک عدد صحیح وارد کنید.")
except ZeroDivisionError:
print("خطا: تقسیم بر صفر غیرمجاز است.")
else:
print(f"نتیجه تقسیم: {result}")
finally:
print("پایان عملیات.")
2. یک فایل متنی باز کنید و محتوای آن را بخوانید. اگر فایل وجود نداشته باشد، خطا را مدیریت کنید. سپس تعداد خطوط فایل را چاپ کنید.
try:
with open('data.txt', 'r') as file:
lines = file.readlines()
except FileNotFoundError:
print("خطا: فایل یافت نشد.")
else:
print(f"تعداد خطوط فایل: {len(lines)}")
finally:
print("پایان عملیات فایل.")
3. یک استثنای سفارشی ایجاد کنید که زمانی که کاربر سنی کمتر از ۱۸ سال وارد میکند، آن را مدیریت کند.