Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
پارت ۱: معرفی و نصب ابزارها

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

مقدمه‌ای بر بک‌اند و اهمیت آن:
بک‌اند به قسمت سرور و منطق کسب‌وکار یک وب‌سایت یا برنامه اطلاق می‌شود. این قسمت شامل مدیریت دیتابیس، احراز هویت کاربران، پردازش درخواست‌ها و ارسال پاسخ به کاربران است. بک‌اند نقش حیاتی در عملکرد صحیح و ایمن یک برنامه دارد. 🌐

چرا پایتون؟
پایتون یک زبان برنامه‌نویسی سطح بالا، خوانا و قدرتمند است که به دلیل سادگی و جامعه کاربری بزرگ، برای توسعه بک‌اند بسیار محبوب است. 🚀

نصب ابزارهای مورد نیاز 📦

برای شروع به کار با پایتون و توسعه بک‌اند، ابتدا باید ابزارهای زیر را نصب کنید:

1. نصب پایتون:
- به وب‌سایت رسمی پایتون [python.org]
بروید و آخرین نسخه پایتون را دانلود و نصب کنید.

2. نصب یک ویرایشگر کد:
- می‌توانید از هر ویرایشگر متنی استفاده کنید، اما پیشنهاد ما Visual Studio Code یا PyCharm است.
- [دانلود Visual Studio Code]
- [دانلود PyCharm]

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

   python -m venv myenv

سپس محیط مجازی را فعال کنید:
- در ویندوز:

     myenv\Scripts\activate

- در مک یا لینوکس:

     source myenv/bin/activate

شروع کار با پایتون

1. ایجاد یک پروژه جدید:
- یک پوشه جدید برای پروژه خود بسازید و وارد آن شوید.
- محیط مجازی را در این پوشه ایجاد و فعال کنید.

2. نصب بسته‌های مورد نیاز:
- برای نصب بسته‌های مورد نیاز از pip استفاده کنید. به عنوان مثال، برای نصب Flask (یک فریمورک وب محبوب برای پایتون):

     pip install Flask

3. ایجاد اولین برنامه:
- یک فایل جدید به نام app.py ایجاد کنید و کد زیر را در آن قرار دهید:

     from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello, World!'

if __name__ == '__main__':
app.run(debug=True)

4. اجرای برنامه:
- در ترمینال دستور زیر را وارد کنید تا برنامه اجرا شود:

     python app.py

- اکنون می‌توانید به مرورگر خود بروید و به آدرس
https://127.0.0.1:5000/

بروید و پیام "Hello, World!" را مشاهده کنید. 🎉

نتیجه‌گیری

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

[لینک کانال تلگرام ما]

#پایتون #بک_اند #برنامه_نویسی #آموزش #Python #Backend #Programming
👍3👏1🆒1
جدیدترین کتابخانه‌های پایتون و به‌روزرسانی‌های مهم

سلام دوستان! می‌خواهیم به معرفی چند کتابخانه‌ی جدید و به‌روزرسانی‌های مهم کتابخانه‌های معروف پایتون بپردازیم. 📚🐍

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

2. DataWiz:
DataWiz یک کتابخانه‌ی تحلیل داده‌های جدید است که ابزارهای قدرتمندی برای تجسم داده‌ها و تحلیل‌های آماری فراهم می‌کند. این کتابخانه برای دانشمندان داده و تحلیل‌گران بسیار مفید است.

3. MLBoost:
MLBoost کتابخانه‌ای است که فرآیندهای یادگیری ماشین را بهینه می‌کند و ابزارهای مختلفی برای پیش‌پردازش داده‌ها، انتخاب ویژگی‌ها، و مدل‌سازی ارائه می‌دهد.

به‌روزرسانی‌های مهم:
1. NumPy 1.25:
کتابخانه‌ی معروف NumPy که برای محاسبات علمی و آرایه‌های چند‌بعدی استفاده می‌شود، به نسخه‌ی 1.25 به‌روزرسانی شده است. این نسخه شامل بهبودهای کارایی و رفع اشکالات مختلف است.

2. Pandas 2.1:
کتابخانه‌ی Pandas که برای تحلیل داده‌ها و ساختارهای داده‌ای استفاده می‌شود، نسخه‌ی 2.1 خود را منتشر کرده است. این نسخه شامل ویژگی‌های جدیدی مانند بهبود پشتیبانی از داده‌های زمان‌بندی شده و بهینه‌سازی‌های کارایی است.

3. Scikit-Learn 0.25:
کتابخانه‌ی Scikit-Learn که برای یادگیری ماشین و مدل‌سازی آماری استفاده می‌شود، به نسخه‌ی 0.25 به‌روزرسانی شده است. این نسخه شامل الگوریتم‌های جدید، بهبودهای کارایی و مستندسازی بهتر است.


[کانال ما]

(اموزش پایتون)

#Python #Programming #Libraries #DataScience #MachineLearning #Updates #PythonLibraries
👍3🔥1
📚 مقدمه دوره آموزش پایتون از 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
👍5
📚 دوره آموزش پایتون از 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
👍7
الگوریتم Time-Interval Sorting در پایتون 🚀

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

مثال 📝

def time_interval_sorting(intervals):
# مرتب‌سازی بر اساس زمان شروع
sorted_intervals = sorted(intervals, key=lambda x: x[0])
return sorted_intervals

# مثال
intervals = [(5, 10), (1, 3), (4, 8), (2, 6)]
sorted_intervals = time_interval_sorting(intervals)
print("بازه‌های زمانی مرتب‌شده:", sorted_intervals)

بیایید این کد رو خط به خط بررسی کنیم:

1. تعریف تابع: در ابتدا، ما یک تابع به نام time_interval_sorting تعریف می‌کنیم که یک لیست از بازه‌های زمانی را به عنوان ورودی می‌گیرد. هر بازه زمانی به صورت یک جفت عدد (زمان شروع و زمان پایان) تعریف می‌شود. 🛠️


    def time_interval_sorting(intervals):

2. مرتب‌سازی: داخل تابع، ما از تابع sorted برای مرتب‌سازی لیست بازه‌های زمانی استفاده می‌کنیم. کلید مرتب‌سازی بر اساس زمان شروع هر بازه تنظیم شده است. برای این کار، از یک تابع لامبدا استفاده می‌کنیم که عنصر اول (زمان شروع) هر بازه را برمی‌گرداند. 🔄


    sorted_intervals = sorted(intervals, key=lambda x: x[0])

3. برگشت نتیجه: در نهایت، لیست مرتب‌شده را برمی‌گردانیم. 🏁


    return sorted_intervals

4. مثال کاربردی: حالا یک مثال از بازه‌های زمانی داریم و از تابع استفاده می‌کنیم تا آنها را مرتب کنیم. 📝


    intervals = [(5, 10), (1, 3), (4, 8), (2, 6)]
sorted_intervals = time_interval_sorting(intervals)
print("بازه‌های زمانی مرتب‌شده:", sorted_intervals)

اجرای کد 💻

با اجرای این کد، خروجی به صورت زیر خواهد بود:

بازه‌های زمانی مرتب‌شده: [(1, 3), (2, 6), (4, 8), (5, 10)]

بیایید نگاه دقیق‌تری به عملکرد این الگوریتم بندازیم:

- Lambda Function: تابع lambda x: x[0] یک تابع ناشناس (بدون نام) است که به عنوان کلید مرتب‌سازی استفاده می‌شود. این تابع عنصر اول هر بازه (زمان شروع) را برمی‌گرداند تا بر اساس آن مرتب‌سازی انجام شود. 🗝️

- Sorted Function: تابع sorted یک تابع داخلی پایتون است که یک لیست را گرفته و آن را مرتب می‌کند. می‌توانید از پارامتر key برای تعیین کلید مرتب‌سازی استفاده کنید. 🔧

- Complexity: زمان اجرای این الگوریتم O(n log n) است که بهینه‌ترین حالت برای مرتب‌سازی عمومی است. ⏱️

کاربردهای عملی 🌟

این الگوریتم در بسیاری از موارد کاربرد دارد:

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

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

#Python #Programming #CodingTips #LearnPython
👍21
📚 دوره آموزش پایتون از 0 تا 100

پارت 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
👍3
ساخت یک مفسر ساده در پایتون 🚀

مرحله ۱: تعریف زبان برنامه‌نویسی 📜

ابتدا باید قواعد و دستورات زبان برنامه‌نویسی خودتون رو تعریف کنید. برای این آموزش، ما یک زبان ساده به نام "MiniLang" با دستورات پایه‌ای تعریف می‌کنیم:

1. دستور PRINT برای چاپ متن.
2. دستور SET برای تعریف متغیرها.
3. دستور ADD برای جمع کردن مقادیر.

مرحله ۲: نوشتن Lexer 🔍

Lexer یا تجزیه‌کننده لغوی، متن برنامه را به توکن‌ها (قطعات کوچکتر) تقسیم می‌کند.

import re

def lexer(code):
tokens = []
for line in code.splitlines():
line = line.strip()
if line:
if line.startswith("PRINT"):
tokens.append(("PRINT", line[6:]))
elif line.startswith("SET"):
match = re.match(r"SET (\w+) (.+)", line)
if match:
tokens.append(("SET", match.group(1), match.group(2)))
elif line.startswith("ADD"):
match = re.match(r"ADD (\w+) (\w+)", line)
if match:
tokens.append(("ADD", match.group(1), match.group(2)))
return tokens

مرحله ۳: نوشتن Parser 🔍

Parser یا تجزیه‌کننده نحوی، توکن‌ها را به دستورات قابل اجرا تبدیل می‌کند.

def parser(tokens):
commands = []
for token in tokens:
if token[0] == "PRINT":
commands.append(("PRINT", token[1]))
elif token[0] == "SET":
commands.append(("SET", token[1], token[2]))
elif token[0] == "ADD":
commands.append(("ADD", token[1], token[2]))
return commands

مرحله ۴: اجرای دستورات 🏃‍♂️

Interpreter یا مفسر، دستورات را اجرا می‌کند.

def interpreter(commands):
variables = {}
for command in commands:
if command[0] == "PRINT":
print(command[1])
elif command[0] == "SET":
variables[command[1]] = eval(command[2], {}, variables)
elif command[0] == "ADD":
if command[1] in variables and command[2] in variables:
variables[command[1]] += variables[command[2]]
return variables

مرحله ۵: استفاده از مفسر 📟

حالا کد کامل برای مفسر خودمون رو داریم. می‌تونیم یک برنامه MiniLang رو اجرا کنیم.

code = """
SET x 5
SET y 10
ADD x y
PRINT x
"""

tokens = lexer(code)
commands = parser(tokens)
interpreter(commands)

این کد مقدار ۱۵ را چاپ خواهد کرد چون ابتدا مقدار ۵ به متغیر x و مقدار ۱۰ به متغیر y اختصاص داده شده و سپس این دو مقدار با هم جمع شده و نتیجه چاپ می‌شود.

[آموزش ساخت مفسر]

#Python #Programming #CodingTips #LearnPython #Interpreter #MiniLang
👍2
آموزش کامل بلاک‌ها در پایتون 🐍

بلاک‌ها (Blocks) در پایتون، بخش‌های کدی هستند که با استفاده از تورفتگی (Indentation) مشخص می‌شوند. بلاک‌ها معمولا در ساختارهای کنترلی، حلقه‌ها، تعریف توابع و کلاس‌ها استفاده می‌شوند. در این آموزش، با مفاهیم و کاربردهای مختلف بلاک‌ها آشنا می‌شویم. 🚀

1. بلاک‌ها در ساختارهای کنترلی (if-else) 🧩

بلاک‌ها در پایتون با استفاده از تورفتگی (Spaces یا Tabs) تعریف می‌شوند. برای مثال، در ساختار if-else:

x = 10

if x > 5:
print("x is greater than 5") # این یک بلاک است
else:
print("x is less than or equal to 5") # این نیز یک بلاک است

در اینجا، هر دو بلاک با تورفتگی یکسان از خط اصلی جدا شده‌اند.

2. بلاک‌ها در حلقه‌ها (for و while) 🔄

در حلقه‌های for و while نیز از بلاک‌ها استفاده می‌شود:

# حلقه for
for i in range(5):
print("Iteration", i) # این یک بلاک است

# حلقه while
j = 0
while j < 5:
print("Iteration", j) # این یک بلاک است
j += 1

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

3. بلاک‌ها در تعریف توابع (Functions) 📝

بلاک‌ها در تعریف توابع نیز به کار می‌روند:

def greet(name):
print("Hello", name) # این یک بلاک است

greet("Alice")

در اینجا، بلاک داخل تابع با تورفتگی مشخص شده است.

4. بلاک‌ها در تعریف کلاس‌ها (Classes) 🏫

تعریف کلاس‌ها نیز شامل بلاک‌های مختلفی است:

class Person:
def __init__(self, name, age):
self.name = name
self.age = age

def greet(self):
print("Hello, my name is", self.name)

p = Person("Bob", 30)
p.greet()

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

5. بلاک‌ها در مدیریت استثناها (Exceptions) 🚨

مدیریت استثناها نیز از بلاک‌ها استفاده می‌کند:

try:
x = 1 / 0
except ZeroDivisionError:
print("You cannot divide by zero!") # این یک بلاک است
finally:
print("This will always execute") # این یک بلاک است

بلاک‌های try, except و finally هر کدام با تورفتگی از هم جدا شده‌اند.

توضیحات:

1. ساختارهای کنترلی: بلاک‌های if-else با تورفتگی مشخص می‌شوند.
2. حلقه‌ها: بلاک‌های for و while شامل دستورات با تورفتگی مشابه هستند.
3. توابع: بلاک‌های داخل توابع با تورفتگی از خط تعریف تابع جدا می‌شوند.
4. کلاس‌ها: بلاک‌های داخل کلاس و متدها نیز با تورفتگی مشخص می‌شوند.
5. مدیریت استثناها: بلاک‌های try, except و finally هر کدام با تورفتگی از هم جدا شده‌اند.

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

(کانال تلگرام مارو دنبال کنید)

#Python #Programming #Coding #Blocks #آموزش
5
🔤 آموزش کامل متدهای کار با رشته‌ها در پایتون 🔤

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

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
ساخت کلاس و متدها در پایتون

ابتدا یک کلاس ساده به نام 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
👍3
نکته مهم در پایتون: استفاده از Decorators

در پایتون، Decorators یا دکوراتورها یکی از ابزارهای قدرتمند و پرکاربرد هستند که به شما این امکان را می‌دهند تا عملکرد یک تابع یا متد را بدون تغییر در کد اصلی آن، تغییر دهید یا گسترش دهید. 🌟

دکوراتور چیست؟
دکوراتور یک تابع است که یک تابع دیگر را به عنوان ورودی می‌گیرد و یک تابع جدید را برمی‌گرداند که معمولاً عملکردی اضافی به تابع اصلی اضافه می‌کند. 🎩

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

import time

def timing_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Elapsed time: {end_time - start_time:.4f} seconds")
return result
return wrapper

@timing_decorator
def my_function():
for _ in range(1000000):
pass

my_function()

در این مثال:
1. دکوراتور timing_decorator تعریف شده است که زمان اجرای تابع را اندازه‌گیری می‌کند.
2. با استفاده از @timing_decorator، تابع my_function با دکوراتور زمان‌بندی تزئین شده است.
3. هر بار که my_function اجرا می‌شود، زمان اجرای آن اندازه‌گیری و چاپ می‌شود. 🕒💡

کاربردهای دکوراتورها:
- ورود و خروج: برای ثبت ورود و خروج به توابع.
- کنترل دسترسی: برای مدیریت دسترسی به توابع.
- مدیریت منابع: برای مدیریت منابع مانند باز و بسته کردن فایل‌ها.
- ارزیابی عملکرد: برای اندازه‌گیری عملکرد توابع.

به یاد داشته باشید: دکوراتورها می‌توانند خوانایی و مدیریت کد را بهبود بخشند، به شرطی که به درستی و با دقت استفاده شوند. 🎯📈

🔻بیا اینجا تا بیشتر یاد بگیری

#Python #CodingTips #Decorators #Programming #PythonTips #PythonTricks #LearnPython
👍3
استفاده از کلاس‌ها در پایتون: از ساده‌ترین تا پیچیده‌ترین روش‌ها

در این آموزش، ما به دو روش مختلف برای استفاده از کلاس‌ها در پایتون خواهیم پرداخت: یک روش ساده و یک روش پیچیده‌تر. 🌟

1. روش ساده: ایجاد یک کلاس برای مدیریت حساب بانکی

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

# روش ساده برای استفاده از کلاس‌ها در پایتون

class BankAccount:
def __init__(self, initial_balance=0):
self.balance = initial_balance

def deposit(self, amount):
self.balance += amount
print(f"Deposited {amount}, new balance is {self.balance}")

def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
print(f"Withdrew {amount}, new balance is {self.balance}")
else:
print("Insufficient funds")

# ایجاد یک حساب بانکی با موجودی اولیه 100
account = BankAccount(100)

# واریز 50 به حساب
account.deposit(50)

# برداشت 30 از حساب
account.withdraw(30)

# تلاش برای برداشت 150 از حساب (موجودی کافی نیست)
account.withdraw(150)

در این مثال:
1. کلاس BankAccount تعریف شده است که دارای متد سازنinitit__)، متد deposit برای واریز پول و متد withdraw برای برداشت پول است.
2. یک حساب بانکی ایجاد می‌شود و عملیات واریز و برداشت روی آن انجام می‌شود. 💰

2. روش پیچیده: ایجاد یک کلاس با ویژگی‌ها و متدهای پیشرفته

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

# روش پیچیده‌تر برای استفاده از کلاس‌ها در پایتون

class BankAccount:
def __init__(self, initial_balance=0):
self.balance = initial_balance
self.transactions = []

def deposit(self, amount):
self.balance += amount
self.transactions.append(f"Deposited {amount}")
print(f"Deposited {amount}, new balance is {self.balance}")

def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
self.transactions.append(f"Withdrew {amount}")
print(f"Withdrew {amount}, new balance is {self.balance}")
else:
self.transactions.append(f"Failed withdrawal of {amount}")
print("Insufficient funds")

def get_balance(self):
return self.balance

def get_transactions(self):
return self.transactions

# ایجاد یک حساب بانکی با موجودی اولیه 200
account = BankAccount(200)

# واریز 100 به حساب
account.deposit(100)

# برداشت 50 از حساب
account.withdraw(50)

# تلاش برای برداشت 300 از حساب (موجودی کافی نیست)
account.withdraw(300)

# نمایش موجودی حساب
print(f"Current balance is {account.get_balance()}")

# نمایش تراکنش‌ها
print("Transactions:")
for transaction in account.get_transactions():
print(transaction)

در این مثال:
1. کلاس BankAccount دارای ویژگی‌های اضافی مانند لیست تراکنش‌ها (transactions) است.
2. متدهای اضافی برای گرفتن موجودی (get_balance) و نمایش تراکنش‌ها (get_transactions) اضافه شده است.
3. عملیات واریز و برداشت به تراکنش‌ها اضافه می‌شود و در صورت ناکافی بودن موجودی، تراکنش ناموفق ثبت می‌شود. 📜

با این دو مثال، شما می‌توانید تفاوت بین استفاده ساده و پیچیده از کلاس‌ها در پایتون را ببینید. بسته به نیاز پروژه‌تان، می‌توانید روش مناسب را انتخاب کنید.

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

#Python #Classes #OOP #Programming #LearnPython #PythonClasses #BankAccount #AdvancedPython
👍5