Python
5 subscribers
14 photos
10 videos
94 links
ف
Download Telegram
Forwarded from Python3
🌟 آیا می‌دانستید؟ 🌟

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

مثال:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # خروجی: [2, 4, 6, 8, 10]

به همین سادگی می‌توانید لیست‌هایی فیلتر شده و جالب ایجاد کنید! 🔍
[https://t.iss.one/hamidpython123]


#Python #Programming
Forwarded from Python3
🔔 اخبار جدید پایتون - ۲۸ ژوئن ۲۰۲۴ 🔔

1. پایان موفقیت‌آمیز PyCon US 2024: کنفرانس سالانه PyCon US 2024 با موفقیت در پیتسبورگ برگزار شد. این رویداد بزرگ شامل سخنرانی‌ها، کارگاه‌ها و فرصت‌های شبکه‌سازی بود که جامعه پایتون را گرد هم آورد. 🏙️🎤

2. معرفی ابزار uv توسط Astral: Astral، سازنده ابزار محبوب Ruff، از uv رونمایی کرده است. uv یک ابزار مدیریت بسته‌ها و پروژه‌ها است که با Rust نوشته شده و سرعت بالایی دارد. 🚀🔧

3. انتشار نسخه جدید REPL در پایتون 3.13: نسخه جدید REPL (Read-Evaluate-Print Loop) در پایتون 3.13 با ویژگی‌هایی همچون پشتیبانی از چندین خط کد و تاریخچه ورودی‌ها معرفی شد. 🎨💻

4. معرفی سخنرانان اصلی EuroPython 2024: EuroPython 2024 در ماه جولای در پراگ برگزار خواهد شد و سخنرانان برجسته‌ای همچون Anna Přistoupilová و Armin Ronacher در این رویداد حضور خواهند داشت. 🌟🎙️

5. تاخیر در اجرای PEP 649 تا پایتون 3.14: اجرای PEP 649 که به ارزیابی تأخیری از توضیحات می‌پردازد، تا نسخه 3.14 پایتون به تأخیر افتاده است. 📜

6. رشد استفاده از پایتون در Snowflake: استفاده از پایتون در پلتفرم Snowflake رشد چشمگیری داشته است و این شرکت قصد دارد ابزارهای جدیدی برای پشتیبانی از پایتون ارائه دهد. ☁️📈

7. تغییرات در قوانین Python Software Foundation: تغییرات جدید در قوانین Python Software Foundation امکان حذف اعضای هر طبقه‌بندی را با رای‌گیری فراهم می‌کند. 🏛️🗳️

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

[خبر های بروز پایتون تو کانال ما]


#Python #PyConUS2024 #EuroPython2024 #Python3.13 #uvTool #Snowflake #PSF #PEP649
Forwarded from Python3
📚 مقدمه دوره آموزش پایتون از 0 تا 100

سلام دوستان عزیز! 👋

به دوره جامع آموزش پایتون از 0 تا 100 خوش آمدید! 🎉

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

🔍 اهداف دوره:

- آشنایی با پایتون: شروع از مفاهیم پایه و نصب پایتون.
- مبانی برنامه‌نویسی: متغیرها، انواع داده‌ها، عملیات ریاضی و منطقی.
- ساختارهای داده: لیست‌ها، تاپل‌ها، دیکشنری‌ها و مجموعه‌ها.
- حلقه‌ها و توابع: استفاده از حلقه‌ها و تعریف توابع.
- مدیریت فایل‌ها و استثناء‌ها: خواندن و نوشتن فایل‌ها، مدیریت خطاها.
- برنامه‌نویسی شیءگرا: مفاهیم پایه، وراثت و پلی‌مورفیسم.
- ماژول‌ها و کتابخانه‌ها: معرفی ماژول‌ها و کتابخانه‌های استاندارد.
- پروژه‌های عملی: پروژه‌های کاربردی برای تثبیت مطالب.
- مفاهیم پیشرفته: Decorators، Generators و مدیریت حافظه.
- توسعه وب: آشنایی با Flask و Django.
- کار با داده‌ها: معرفی Pandas و NumPy.

📅 برنامه دوره:

1. مبانی پایتون: نصب، متغیرها، انواع داده‌ها، عملیات ریاضی و منطقی.
2. ساختارهای داده: لیست‌ها، تاپل‌ها، دیکشنری‌ها و مجموعه‌ها.
3. حلقه‌ها و توابع: استفاده از حلقه‌ها و تعریف توابع.
4. مدیریت فایل‌ها و استثناء‌ها: خواندن و نوشتن فایل‌ها، مدیریت خطاها.
5. برنامه‌نویسی شیءگرا: مفاهیم پایه، وراثت و پلی‌مورفیسم.
6. ماژول‌ها و کتابخانه‌ها: معرفی ماژول‌ها و کتابخانه‌های استاندارد.
7. پروژه‌های عملی: پروژه‌های کاربردی برای تثبیت مطالب.
8. مفاهیم پیشرفته: Decorators، Generators و مدیریت حافظه.
9. توسعه وب: آشنایی با Flask و Django.
10. کار با داده‌ها: معرفی Pandas و NumPy.

🎯 چه چیزهایی یاد خواهید گرفت؟

- نوشتن کد پایتون: از اولین قدم‌ها تا پروژه‌های پیچیده.
- حل مسائل: استفاده از پایتون برای حل مسائل روزمره.
- توسعه وب: ساخت و توسعه وب‌سایت‌ها با استفاده از Flask و Django.
- تحلیل داده: کار با داده‌ها و انجام تحلیل‌های پیچیده با Pandas و NumPy.

🛠️ ابزارهایی که استفاده خواهیم کرد:

- پایتون: نسخه‌های جدید پایتون.
- ویرایشگرهای متنی: Visual Studio Code، PyCharm.
- کتابخانه‌ها و فریم‌ورک‌ها: Flask، Django، Pandas، NumPy.

آماده‌اید شروع کنیم؟ بیایید با هم دنیای جذاب برنامه‌نویسی پایتون را کشف کنیم! 🚀

(اموزش های بیشتر کانال ما)

#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
Forwarded from Python3
📚 دوره آموزش پایتون از 0 تا 100

پارت 1: نصب و راه‌اندازی پایتون

سلام دوستان عزیز! 👋

به اولین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉

در این جلسه، قصد داریم شما را با نصب و راه‌اندازی پایتون آشنا کنیم. با ما همراه باشید تا اولین قدم‌ها برای تبدیل شدن به یک برنامه‌نویس حرفه‌ای پایتون را بردارید. 💪

🔧 نصب پایتون

1. دانلود پایتون:
- به وبسایت رسمی پایتون ([Python.org]) بروید و آخرین نسخه پایتون را دانلود کنید. 🚀

2. نصب پایتون:
- فایل دانلود شده را اجرا کنید.
- مطمئن شوید گزینه "Add Python to PATH" را انتخاب کرده‌اید.
- روی "Install Now" کلیک کنید. 🛠️

🖥️ نصب ویرایشگر متنی

برای نوشتن و اجرای کدهای پایتون، به یک ویرایشگر متنی نیاز دارید. پیشنهاد می‌کنیم از یکی از ویرایشگرهای زیر استفاده کنید:

1. Visual Studio Code:
- رایگان و بسیار قدرتمند
- [دانلود Visual Studio Code]

2. PyCharm:
- نسخه رایگان و حرفه‌ای
- [دانلود PyCharm]

👨‍💻 اجرای اولین برنامه پایتون

حالا که پایتون و ویرایشگر متنی را نصب کرده‌اید، وقت آن است که اولین برنامه خود را بنویسید.

1. باز کردن ویرایشگر:
ویرایشگر متنی خود را باز کنید.

2. ایجاد فایل جدید:
یک فایل جدید با پسوند .py ایجاد کنید (مثلاً hello.py). 📄

3. نوشتن کد:
کد زیر را در فایل خود بنویسید:


   print("Hello, World!")

4. ذخیره و اجرای فایل:
- فایل را ذخیره کنید.
- برای اجرای فایل:
- در Visual Studio Code: روی دکمه "Run" کلیک کنید. ▶️
- در خط فرمان: دستور python hello.py را اجرا کنید. 💻

اگر همه چیز درست انجام شده باشد، باید خروجی زیر را ببینید:

   Hello, World!

تبریک می‌گوییم! شما اولین برنامه پایتون خود را با موفقیت اجرا کردید. 🎉

🎯 خلاصه

در این جلسه:
- پایتون را دانلود و نصب کردید.
- یک ویرایشگر متنی نصب کردید.
- اولین برنامه پایتون خود را نوشتید و اجرا کردید.

🔜 ادامه دوره

در جلسه بعدی، به متغیرها و انواع داده‌ها در پایتون خواهیم پرداخت. منتظر باشید! 😉

[اموزش های بیشتر کانال ما]

#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
Forwarded from Python3
📚 دوره آموزش پایتون از 0 تا 100

پارت 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
Forwarded from Python3
📰 اخبار مهم امروز از دنیای پایتون!

1. انتشار نسخه جدید پایتون 3.12.0:
- نسخه جدید پایتون با ویژگی‌های بهبود یافته و رفع باگ‌های مختلف منتشر شد. این نسخه شامل بهبود عملکرد، ارتقاء قابلیت‌های تایپینگ، و اضافه شدن امکانات جدید به استاندارد لایبرری می‌باشد. 🌟🐍

2. محبوبیت روزافزون فریم‌ورک FastAPI:
- FastAPI همچنان به رشد محبوبیت خود ادامه می‌دهد و به یکی از محبوب‌ترین فریم‌ورک‌های پایتون برای ساخت API‌های سریع و کارا تبدیل شده است. توسعه‌دهندگان از سرعت و کارایی بالای این فریم‌ورک بسیار راضی هستند. 🚀📈

3. انتشار Pandas 2.0 با قابلیت‌های جدید:
- تیم توسعه Pandas نسخه 2.0 این لایبرری محبوب داده‌کاوی را منتشر کردند. این نسخه شامل بهبود‌های عمده در عملکرد و امکانات جدید برای تجزیه و تحلیل داده‌ها است. 📊🐼

4. شروع کارگاه‌های آموزشی Django در دانشگاه‌های ایران:
- چندین دانشگاه در ایران کارگاه‌های آموزشی فریم‌ورک Django را برای دانشجویان و علاقه‌مندان برگزار کرده‌اند. این کارگاه‌ها فرصتی عالی برای یادگیری و توسعه مهارت‌های وب است. 🏫🌐

5. استفاده از پایتون در پروژه‌های بزرگ داده کاوی:
- شرکت‌های بزرگ تکنولوژی در حال استفاده گسترده از پایتون در پروژه‌های داده‌کاوی خود هستند. پایتون به دلیل کتابخانه‌های قدرتمند مانند NumPy و SciPy انتخاب اول بسیاری از دانشمندان داده است. 🧠💾

6. افزایش تقاضا برای توسعه‌دهندگان پایتون در بازار کار:
- بازار کار برای توسعه‌دهندگان پایتون بسیار داغ است و تقاضا برای این مهارت‌ها همچنان در حال افزایش است. پایتون به عنوان یک زبان چند منظوره و قدرتمند، در صنایع مختلف مورد استفاده قرار می‌گیرد. 💼📈

7. پروژه‌های متن‌باز پایتون همچنان در حال رشد:
- تعداد پروژه‌های متن‌باز مبتنی بر پایتون روز به روز در حال افزایش است. این پروژه‌ها شامل ابزارها و کتابخانه‌های جدید برای توسعه‌دهندگان و محققان است. 🌍🔓

🔻اخبار مهم پایتون اینجا هست کلیک کن

#Python #پایتون #اخبار_تکنولوژی #FastAPI #Pandas #Django #داده_کاوی #بازار_کار #پروژه_متن_باز
Forwarded from Python3
🔤 آموزش کامل متدهای کار با رشته‌ها در پایتون 🔤

سلام دوستان! امروز قصد دارم درباره‌ی متدهای مختلف کار با رشته‌ها در زبان برنامه‌نویسی پایتون صحبت کنم. رشته‌ها یکی از پرکاربردترین نوع داده‌ها در پایتون هستند و آشنایی با متدهای آن‌ها می‌تواند کدنویسی را بسیار ساده‌تر کند. بیایید شروع کنیم! 🚀

1. lower()
این متد تمام حروف رشته را به حروف کوچک تبدیل می‌کند.

text = "Hello, WORLD!"
print(text.lower()) # خروجی: hello, world!

2. upper()
این متد تمام حروف رشته را به حروف بزرگ تبدیل می‌کند.

text = "Hello, world!"
print(text.upper()) # خروجی: HELLO, WORLD!

3. capitalize()
این متد حرف اول رشته را به حروف بزرگ و بقیه را به حروف کوچک تبدیل می‌کند.

text = "hello, world!"
print(text.capitalize()) # خروجی: Hello, world!

4. title()
این متد حرف اول هر کلمه در رشته را به حروف بزرگ تبدیل می‌کند.

text = "hello, world!"
print(text.title()) # خروجی: Hello, World!

5. strip()
این متد فاصله‌های خالی در ابتدای و انتهای رشته را حذف می‌کند.

text = "  hello, world!  "
print(text.strip()) # خروجی: hello, world!

6. startswith()
این متد بررسی می‌کند که آیا رشته با زیررشته‌ی خاصی شروع می‌شود یا نه.

text = "hello, world!"
print(text.startswith("hello")) # خروجی: True

7. endswith()
این متد بررسی می‌کند که آیا رشته با زیررشته‌ی خاصی پایان می‌یابد یا نه.

text = "hello, world!"
print(text.endswith("world!")) # خروجی: True

8. replace()
این متد یک زیررشته را با زیررشته‌ای دیگر در رشته جایگزین می‌کند.

text = "hello, world!"
print(text.replace("world", "Python")) # خروجی: hello, Python!

9. split()
این متد رشته را بر اساس یک جداکننده خاص جدا کرده و به لیست تبدیل می‌کند.

text = "one, two, three"
print(text.split(", ")) # خروجی: ['one', 'two', 'three']

10. join()
این متد عناصر یک لیست را با استفاده از یک جداکننده خاص به یکدیگر متصل می‌کند.

items = ['one', 'two', 'three']
print(", ".join(items)) # خروجی: one, two, three

11. find()
این متد اولین موقعیت یک زیررشته را در رشته پیدا می‌کند. اگر زیررشته وجود نداشته باشد، -1 برمی‌گرداند.

text = "hello, world!"
print(text.find("world")) # خروجی: 7

12. index()
این متد اولین موقعیت یک زیررشته را در رشته پیدا می‌کند. اگر زیررشته وجود نداشته باشد، خطا برمی‌گرداند.

text = "hello, world!"
print(text.index("world")) # خروجی: 7

13. count()
این متد تعداد تکرار یک زیررشته در رشته را شمارش می‌کند.

text = "hello, world! hello again!"
print(text.count("hello")) # خروجی: 2

14. isnumeric()
این متد بررسی می‌کند که آیا همه کاراکترهای رشته اعداد هستند یا نه.

text = "12345"
print(text.isnumeric()) # خروجی: True

15. zfill()
این متد طول رشته را به طول مشخصی می‌رساند و با اضافه کردن صفر از سمت چپ، رشته را پر می‌کند.

text = "42"
print(text.zfill(5)) # خروجی: 00042

16. swapcase()
این متد حروف بزرگ را به کوچک و حروف کوچک را به بزرگ تبدیل می‌کند.

text = "Hello, World!"
print(text.swapcase()) # خروجی: hELLO, wORLD!

17. format()
این متد رشته‌ها را با استفاده از جایگزینی قالب‌بندی می‌کند.

name = "Alice"
age = 30
print("My name is {} and I am {} years old.".format(name, age))
# خروجی: My name is Alice and I am 30 years old.

18. rjust()
این متد رشته را به طول مشخصی می‌رساند و از سمت چپ با کاراکتر خاصی پر می‌کند.

text = "42"
print(text.rjust(5, '0')) # خروجی: 00042

19. ljust()
این متد رشته را به طول مشخصی می‌رساند و از سمت راست با کاراکتر خاصی پر می‌کند.

text = "42"
print(text.ljust(5, '0')) # خروجی: 42000

این هم از متدهای کار با رشته‌ها در پایتون! امیدوارم این آموزش براتون مفید باشه و ازش استفاده کنید. هر سوالی داشتید، حتما بپرسید. 😊

🔻برای بیشتر یاد گرفتن اینجا کلیک کن

#Python #Programming #Coding #Strings #Learning #PythonTips
Forwarded from Python3
ساخت کلاس و متدها در پایتون

ابتدا یک کلاس ساده به نام Car تعریف می‌کنیم و چند متد برای آن ایجاد می‌کنیم.

class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year

def start_engine(self):
print(f"The engine of the {self.brand} {self.model} is now running.")

def stop_engine(self):
print(f"The engine of the {self.brand} {self.model} has been turned off.")

def honk(self):
print("Beep beep!")

def display_info(self):
print(f"Car Info: {self.brand} {self.model}, Year: {self.year}")

توضیحشinitit__ یک متد ویژه است که به عنوان سازنده (constructor) کلاس عمل می‌کند و هنگام ایجاد یک شیء از کلاس فراخوانی می‌شود. این متد برای مقداردهی اولیه به متغیرهای نمونه (instance variables) استفاده می‌شود.
- start_engine یک متد معمولی است که پیام شروع به کار موتور را چاپ می‌کند.
- stop_engine یک متد معمولی است که پیام خاموش شدن موتور را چاپ می‌کند.
- honk یک متد معمولی است که صدای بوق را چاپ می‌کند.
- display_info یک متد معمولی است که اطلاعات خودرو را چاپ می‌کند.

استفاده از کلاس و متدها

حال می‌توانیم از کلاس Car استفاده کنیم و متدهای آن را فراخوانی کنیم.

if __name__ == "__main__":
my_car = Car("Toyota", "Corolla", 2020)
my_car.start_engine() # خروجی: The engine of the Toyota Corolla is now running.
my_car.honk() # خروجی: Beep beep!
my_car.display_info() # خروجی: Car Info: Toyota Corolla, Year: 2020
my_car.stop_engine() # خروجی: The engine of the Toyota Corolla has been turned off.

توضیحش

- با استفاده از Car("Toyota", "Corolla", 2020) یک شیء جدید از کلاس Car با نام my_car ایجاد می‌کنیم.
- سپس متدهای مختلف را با استفاده از my_car فراخوانی می‌کنیم.

نکات مهم

1. متدهای یک کلاس همیشه باید حداقل یک پارامتر داشته باشند که به طور معمول self نامیده می‌شود. این پارامتر به شیء فعلی اشاره دارد.
2. شما می‌توانید متدهای کلاس را برای انجام هر عملیاتی که می‌خواهید تعریف کنید. این متدها می‌توانند پارامترهای اضافی داشته باشند و هر عملیاتی را که نیاز دارید انجام دهند.

امیدوارم این آموزش به شما کمک کرده باشد که بفهمید چطور می‌توانید متدهای خود را در پایتون تعریف کنید و از آن‌ها استفاده کنید. هر سوالی داشتید، حتماً بپرسید! 😊

🔻برای بیشتر یاد گرفتن اینجا کلیک کن

#Python #Programming #OOP #Methods #Learning #PythonTips
Forwarded from Python3
پارت ۳: استفاده از پایگاه داده

۱. نصب و راه‌اندازی SQLite

برای ذخیره اطلاعات کاربران و داده‌های ربات، می‌توان از پایگاه داده SQLite استفاده کرد. ابتدا کتابخانه sqlite3 را که به صورت پیش‌فرض در پایتون موجود است، وارد می‌کنیم:

import sqlite3

۲. اتصال ربات به پایگاه داده

ابتدا باید یک پایگاه داده ایجاد کنیم و سپس به آن متصل شویم. برای این کار، یک فایل پایگاه داده به نام bot_database.db ایجاد می‌کنیم:

conn = sqlite3.connect('bot_database.db')
cursor = conn.cursor()

۳. ایجاد جداول مورد نیاز

جدول‌هایی که نیاز داریم را ایجاد می‌کنیم. برای مثال، جدولی برای ذخیره اطلاعات کاربران:

cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
first_name TEXT,
last_name TEXT
)
''')
conn.commit()

۴. ذخیره اطلاعات کاربران

هنگامی که یک کاربر جدید با ربات تعامل می‌کند، اطلاعات او را در پایگاه داده ذخیره می‌کنیم. این کار را می‌توانیم در هندلر دستور /start انجام دهیم:

def start(update: Update, context: CallbackContext) -> None:
user = update.message.from_user
cursor.execute('''
INSERT OR IGNORE INTO users (user_id, username, first_name, last_name)
VALUES (?, ?, ?, ?)
''', (user.id, user.username, user.first_name, user.last_name))
conn.commit()
update.message.reply_text('سلام! به ربات من خوش آمدید.')

۵. بازیابی اطلاعات از پایگاه داده

برای بازیابی اطلاعات کاربران از پایگاه داده، می‌توانیم یک تابع تعریف کنیم. برای مثال، تابعی که لیست کاربران را برمی‌گرداند:

def get_users():
cursor.execute('SELECT * FROM users')
return cursor.fetchall()

۶. به‌روزرسانی و حذف اطلاعات

برای به‌روزرسانی و حذف اطلاعات نیز می‌توانیم توابع مشابهی تعریف کنیم. برای مثال، به‌روزرسانی نام کاربری یک کاربر:

def update_username(user_id, new_username):
cursor.execute('''
UPDATE users
SET username = ?
WHERE user_id = ?
''', (new_username, user_id))
conn.commit()

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

در نهایت، کد کامل ربات با اتصال به پایگاه داده به شکل زیر خواهد بود:

import sqlite3
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

TOKEN = 'YOUR_BOT_TOKEN'

conn = sqlite3.connect('bot_database.db')
cursor = conn.cursor()

cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
first_name TEXT,
last_name TEXT
)
''')
conn.commit()

def start(update: Update, context: CallbackContext) -> None:
user = update.message.from_user
cursor.execute('''
INSERT OR IGNORE INTO users (user_id, username, first_name, last_name)
VALUES (?, ?, ?, ?)
''', (user.id, user.username, user.first_name, user.last_name))
conn.commit()
update.message.reply_text('سلام! به ربات من خوش آمدید.')

def help_command(update: Update, context: CallbackContext) -> None:
update.message.reply_text('چطور می‌توانم به شما کمک کنم؟')

def echo(update: Update, context: CallbackContext) -> None:
update.message.reply_text(update.message.text)

def main():
updater = Updater(TOKEN)

dispatcher = updater.dispatcher

dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("help", help_command))
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

updater.start_polling()
updater.idle()

if __name__ == '__main__':
main()

این کد رباتی ایجاد می‌کند که به دستورات /start و /help پاسخ می‌دهد و اطلاعات کاربران را در یک پایگاه داده SQLite ذخیره می‌کند. 🎉

امیدوارم از این آموزش لذت برده باشید! برای دیدن آموزش‌های بیشتر، کانال ما را دنبال کنید.
[کانال تلگرام]

#پایتون #آموزش_پایتون #ربات_تلگرام #برنامه_نویسی #python #telegram_bot
Forwarded from Python3
ارسال پارامترهای یک کلاس به کلاس دیگر در پایتون 🐍

در پایتون، وقتی می‌خواهید از پارامترهای یک کلاس در کلاس دیگری استفاده کنید، می‌توانید این کار را با استفاده از متدها و سازنده‌ها (Constructors) انجام دهید. در اینجا یک مثال ساده آورده شده است.

مثال: ارسال پارامترهای یک کلاس به کلاس دیگر

class ClassA:
def __init__(self, param1, param2):
self.param1 = param1
self.param2 = param2

class ClassB:
def __init__(self, class_a_instance):
self.param1 = class_a_instance.param1
self.param2 = class_a_instance.param2

def display_params(self):
print(f"Param1: {self.param1}, Param2: {self.param2}")

# ایجاد یک شیء از کلاس A
a = ClassA(10, 20)

# ارسال شیء کلاس A به کلاس B
b = ClassB(a)

# نمایش مقادیر پارامترها در کلاس B
b.display_params()

توضیحات:

1. ClassA:
- این کلاس دو پارامتر param1 و param2 را دریافت کرده و آن‌ها را به عنوان ویژگی‌های (Attributes) شیء ذخیره می‌کند.

2. ClassB:
- این کلاس به عنوان ورودی یک شیء از نوع ClassA دریافت می‌کند و مقادیر param1 و param2 آن شیء را در خودش ذخیره می‌کند.
- متد display_params مقادیر این پارامترها را چاپ می‌کند.

3. نحوه استفاده:
- ابتدا یک شیء از کلاس A با مقادیر خاصی ایجاد می‌شود.
- سپس این شیء به کلاس B ارسال شده و مقادیر آن استخراج و در کلاس B مورد استفاده قرار می‌گیرد.

خروجی:

Param1: 10, Param2: 20

به همین سادگی می‌توانید پارامترهای یک کلاس را به کلاس دیگری ارسال کرده و از آن‌ها استفاده کنید! 😎

⚠️کلیک کن تا بیشتر یاد بگیری⚠️


#Python #برنامه‌نویسی #آموزش_پایتون #کلاس_ها #OOP