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

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

کتابخانه‌های جدید:
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
📚 برنامه کامل دوره آموزش پایتون از 0 تا 100

خوشحالیم که به دوره جامع آموزش پایتون از 0 تا 100 پیوستید. 🎉 این دوره برای تمامی سطوح طراحی شده و شما را از پایه تا پیشرفته به دنیای برنامه‌نویسی با پایتون می‌برد. در این پست، برنامه کامل دوره و موضوعات هر پارت را معرفی می‌کنیم. می‌توانید با کلیک روی هر موضوع، به لینک مربوطه دسترسی پیدا کنید.


1. [نصب و راه‌اندازی پایتون]
2. [متغیرها و انواع داده‌ها]
3. [عملیات ریاضی و منطقی]
4. [دستورات شرطی]
5. [لیست‌ها و تاپل‌ها]
6. [دیکشنری‌ها و مجموعه‌ها]
7. [حلقه‌ها]
8. [توابع]
9. [مدیریت فایل]
10. [مدیریت استثناء‌ها]
11. [مفاهیم پایه OOP]
12. [وراثت و پلی‌مورفیسم]
13. [ماژول‌ها و پکیج‌ها]
14. [کتابخانه‌های استاندارد پایتون]
15. [پروژه 1 - مدیریت مخاطبین]
16. [پروژه 2 - ماشین حساب پیشرفته]
17. [Decorators و Generators]
18. [مدیریت حافظه و Garbage Collection]
19. [معرفی Flask]
20. [معرفی Django]
21. [معرفی Pandas]
22. [معرفی NumPy]
23. [پروژه نهایی - تحلیل داده‌ها]
24. [جمع‌بندی و منابع بیشتر]


با دنبال کردن این دوره، شما به تسلط کامل بر پایتون خواهید رسید و قادر خواهید بود پروژه‌های کاربردی و پیشرفته را اجرا کنید. هر پارت شامل توضیحات کامل، مثال‌ها و تمرین‌های عملی است که به شما کمک می‌کند تا مفاهیم را به خوبی درک کرده و در عمل به کار ببرید.

به زودی لینک‌های هر پارت در دسترس قرار خواهند گرفت تا به راحتی بتوانید به تمامی مطالب دسترسی داشته باشید. از همراهی شما سپاسگزاریم و امیدواریم این دوره برای شما مفید و لذت‌بخش باشد. 🚀

#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
👍2
آموزش اتصال به مرورگر با استفاده از Selenium در پایتون 🖥️🌐

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

مراحل نصب و راه‌اندازی Selenium

1. نصب Selenium:
برای نصب Selenium، از دستور pip استفاده کنید:


   pip install selenium

2. دانلود WebDriver:
Selenium برای کنترل مرورگر نیاز به WebDriver دارد. WebDriver مرورگر خاصی را که می‌خواهید اتوماسیون کنید، کنترل می‌کند. برای Chrome، می‌توانید ChromeDriver را دانلود کنید:

- به صفحه [دانلود ChromeDriver] بروید.
- نسخه مناسب برای مرورگر Chrome خود را دانلود کنید.
- فایل دانلود شده را از حالت فشرده خارج کنید و آن را در یک مسیر قابل دسترسی قرار دهید.

مثال: باز کردن یک صفحه وب با استفاده از ChromeDriver

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# مسیر ChromeDriver خود را مشخص کنید
chrome_driver_path = "/path/to/chromedriver"

# ایجاد یک نمونه از مرورگر Chrome
driver = webdriver.Chrome(executable_path=chrome_driver_path)

# باز کردن یک صفحه وب
driver.get("https://www.example.com")

# انتظار برای 5 ثانیه
time.sleep(5)

# یافتن المان توسط نام تگ و ارسال کلیدهای Enter
search_box = driver.find_element(By.TAG_NAME, "h1")
search_box.send_keys(Keys.ENTER)

# بستن مرورگر
driver.quit()

توضیحات کد:
1. وارد کردن کتابخانه‌های لازم:
- webdriver: برای کنترل مرورگر
- By و Keys: برای یافتن المان‌ها و ارسال کلیدها
- time: برای تاخیر زمانی

2. مسیر ChromeDriver:
- مسیر ChromeDriver را که دانلود و استخراج کردید، مشخص کنید.

3. ایجاد یک نمونه از مرورگر Chrome:
- webdriver.Chrome(executable_path=chrome_driver_path): یک نمونه از مرورگر Chrome ایجاد می‌کند.

4. باز کردن یک صفحه وب:
- driver.get("https://www.example.com"): صفحه وب مورد نظر را باز می‌کند.

5. انتظار برای 5 ثانیه:
- time.sleep(5): برای 5 ثانیه منتظر می‌ماند تا شما بتوانید صفحه را ببینید.

6. یافتن المان و ارسال کلید:
- driver.find_element(By.TAG_NAME, "h1"): المان با نام تگ h1 را پیدا می‌کند.
- search_box.send_keys(Keys.ENTER): کلید Enter را به المان ارسال می‌کند.

7. بستن مرورگر:
- driver.quit(): مرورگر را می‌بندد.

این کد یک مرورگر Chrome باز می‌کند، به صفحه https://www.example.com می‌رود، برای 5 ثانیه منتظر می‌ماند و سپس کلید Enter را به اولین المان با نام تگ h1 ارسال می‌کند و در نهایت مرورگر را می‌بندد.

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

#Python #Selenium #WebAutomation #BrowserAutomation #LearnPython #Programming #WebDriver
👍6
آموزش کد چند فرآیندی (Multiprocessing) در پایتون 🐍

مقدمه
چند فرآیندی یا Multiprocessing یکی از تکنیک‌های مهم در برنامه‌نویسی موازی است که به شما امکان می‌دهد تا چندین فرآیند را به طور همزمان اجرا کنید. این تکنیک به خصوص برای بهره‌برداری از پردازنده‌های چند هسته‌ای بسیار مفید است و می‌تواند عملکرد برنامه‌های شما را بهبود بخشد.

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

مثال کد

import multiprocessing
import time

def worker(num):
"""فرآیند نمونه ای که فقط یک عدد را چاپ می‌کند."""
print(f'Worker: {num}')
time.sleep(2)

if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()

for p in processes:
p.join()

توضیحات:

1. ایمپورت کتابخانه‌ی multiprocessing:

   import multiprocessing
import time

2. تعریف تابع worker:
این تابع ساده، یک عدد را به عنوان ورودی می‌گیرد و آن را چاپ می‌کند و سپس به مدت ۲ ثانیه توقف می‌کند.

   def worker(num):
print(f'Worker: {num}')
time.sleep(2)

3. ایجاد و شروع فرآیندها:
در بلوک if __name__ == '__main__':، ما پنج فرآیند ایجاد کرده و آنها را با استفاده از start() آغاز میname
   if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()

4. منتظر ماندن برای اتمام فرآیندها:
با استفاده از join()، ما مطمئن می‌شویم که تمامی فرآیندها قبل از پایان یافتن برنامه اصلی به اتمام رسیده‌اند.

   for p in processes:
p.join()

نکات مهم
1. به اشتراک‌گذاری داده‌ها:
کتابخانه‌ی multiprocessing ابزارهایی مانند Queue, Pipe, Manager برای به اشتراک‌گذاری داده‌ها بین فرآیندها فراهم می‌کند.

2. امنیت و مدیریت منابع:
اطمینان حاصل کنید که فرآیندها منابع سیستم را به درستی مدیریت می‌کنند و از مشکلاتی مانند مصرف بیش از حد حافظه جلوگیری کنید.

3. استفاده از CPU های چند هسته‌ای:
چند فرآیندی به شما امکان می‌دهد از قدرت پردازشی چند هسته‌ای بهره ببرید و برنامه‌های خود را سریع‌تر اجرا کنید.

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

این تکنیک می‌تواند به شما کمک کند تا برنامه‌های پیچیده و زمان‌بر خود را بهینه کنید و عملکرد بهتری را تجربه کنید. 🎉

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

#Python #Multiprocessing #Programming #ParallelComputing
👍2
(معرفی Django) 🌐

مقدمه:
Django یک فریم‌ورک وب سطح بالا برای زبان برنامه‌نویسی پایتون است که به توسعه‌دهندگان کمک می‌کند تا سریع‌تر و آسان‌تر برنامه‌های وب قدرتمند بسازند. این فریم‌ورک بر اساس الگوی طراحی Model-View-Template (MVT) بنا شده است و بسیاری از ویژگی‌های ضروری برای ساخت وب‌سایت‌ها و برنامه‌های وب پیچیده را به صورت از پیش ساخته شده فراهم می‌کند.

توضیح کلی از Django:
Django توسط یک تیم توسعه‌دهنده در روزنامه Lawrence Journal-World در سال 2003 ساخته شد و در سال 2005 به صورت عمومی منتشر گردید. از آن زمان تا کنون، این فریم‌ورک به یکی از محبوب‌ترین و پرکاربردترین فریم‌ورک‌های وب در دنیای پایتون تبدیل شده است. Django با تمرکز بر قابلیت استفاده مجدد، مقیاس‌پذیری و امنیت، ابزاری قدرتمند برای ساخت وب‌سایت‌ها و برنامه‌های وب با عملکرد بالا ارائه می‌دهد.

یکی از ویژگی‌های برجسته Django، ارائه یک پنل مدیریتی آماده و قابل تنظیم است که توسعه‌دهندگان می‌توانند به راحتی از آن برای مدیریت داده‌ها و کاربران خود استفاده کنند. علاوه بر این، Django با داشتن یک ORM (Object-Relational Mapping) قدرتمند، امکان تعامل با پایگاه داده‌ها را به شیوه‌ای ساده و موثر فراهم می‌سازد.

فواید:
1. سرعت توسعه بالا: Django با ارائه ابزارهای آماده و کتابخانه‌های متعدد، فرآیند توسعه وب‌سایت‌ها و برنامه‌های وب را تسریع می‌کند.
2. امنیت بالا: Django بسیاری از مشکلات امنیتی رایج مانند SQL Injection، Cross-Site Scripting و Cross-Site Request Forgery را به صورت پیش‌فرض پوشش می‌دهد.
3. مقیاس‌پذیری: برنامه‌های ساخته شده با Django به راحتی قابلیت مقیاس‌پذیری و پاسخگویی به ترافیک‌های بالا را دارند.
4. جامعه فعال: Django دارای جامعه بزرگی از توسعه‌دهندگان است که به صورت فعال به بهبود و توسعه آن کمک می‌کنند.

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

برای دریافت آموزش‌ها و نکات بیشتر در زمینه برنامه‌نویسی، حتماً به کانال تلگرام ما بپیوندید! 💻📱

#Django #WebDevelopment #Python #Programming #TechCommunity #LearnToCode
👍2
ساخت صفحه نقاشی با پایتون

در این آموزش، قصد داریم یک صفحه نقاشی با قابلیت انتخاب ۶ رنگ مختلف و یک پاک کن ایجاد کنیم. از کتابخانه‌های داخلی پایتون مانند tkinter استفاده می‌کنیم تا یک رابط کاربری گرافیکی (GUI) ساده و کاربردی ایجاد کنیم.
tkinter یکی از کتابخانه‌های استاندارد پایتون برای ساخت رابط‌های کاربری گرافیکی است. با استفاده از این کتابخانه، می‌توانیم برنامه‌های گرافیکی متنوعی ایجاد کنیم. در این پروژه، ما یک بوم نقاشی ساده با قابلیت انتخاب رنگ و پاک کن خواهیم ساخت.

کد برنامه

import tkinter as tk
from tkinter import colorchooser

class PaintApp:
def __init__(self, root):
self.root = root
self.root.title("صفحه نقاشی")

self.canvas = tk.Canvas(self.root, bg='white', width=800, height=600)
self.canvas.pack()

self.color_frame = tk.Frame(self.root)
self.color_frame.pack()

self.colors = ["red", "green", "blue", "yellow", "black", "purple"]
self.current_color = "black"
self.create_color_buttons()

self.eraser_button = tk.Button(self.color_frame, text="پاک کن", command=self.use_eraser)
self.eraser_button.pack(side=tk.LEFT)

self.canvas.bind("<B1-Motion>", self.paint)
self.canvas.bind("<Button-1>", self.activate_paint)

def create_color_buttons(self):
for color in self.colors:
button = tk.Button(self.color_frame, bg=color, width=3, command=lambda col=color: self.change_color(col))
button.pack(side=tk.LEFT)

def change_color(self, new_color):
self.current_color = new_color

def use_eraser(self):
self.current_color = "white"

def activate_paint(self, event):
self.last_x, self.last_y = event.x, event.y

def paint(self, event):
self.canvas.create_line(self.last_x, self.last_y, event.x, event.y, fill=self.current_color, width=5)
self.last_x, self.last_y = event.x, event.y

if __name__ == "__main__":
root = tk.Tk()
app = PaintApp(root)
root.mainloop()

توضیح

1. وارد کردن کتابخانه‌های لازم:

    import tkinter as tk
from tkinter import colorchooser

در این بخش، کتابخانه tkinter برای ساخت GUI وارد شده است.

2. تعریف کلاس PaintApp:

    class PaintApp:
def __init__(self, root):
self.root = root
self.root.title("صفحه نقاشی")
...

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

3. ساخت بوم نقاشی:

    self.canvas = tk.Canvas(self.root, bg='white', width=800, height=600)
self.canvas.pack()

بوم نقاشی با رنگ پس‌زمینه سفید و ابعاد 800x600 ایجاد شده است.

4. ساخت دکمه‌های رنگ:

    def create_color_buttons(self):
for color in self.colors:
button = tk.Button(self.color_frame, bg=color, width=3, command=lambda col=color: self.change_color(col))
button.pack(side=tk.LEFT)

این تابع دکمه‌های رنگ را ایجاد و به قاب مربوطه اضافه می‌کند.

5. تغییر رنگ و استفاده از پاک کن:

    def change_color(self, new_color):
self.current_color = new_color

def use_eraser(self):
self.current_color = "white"

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

6. نقاشی روی بوم:

    def activate_paint(self, event):
self.last_x, self.last_y = event.x, event.y

def paint(self, event):
self.canvas.create_line(self.last_x, self.last_y, event.x, event.y, fill=self.current_color, width=5)
self.last_x, self.last_y = event.x, event.y

این توابع برای فعال‌سازی نقاشی و رسم خطوط روی بوم تعریف شده‌اند.

با اجرای این کد، یک صفحه نقاشی ساده با قابلیت انتخاب ۶ رنگ مختلف و یک پاک کن ایجاد می‌شود. این پروژه می‌تواند به عنوان یک تمرین خوب برای یادگیری مفاهیم پایه‌ای tkinter و ساخت GUIهای ساده با پایتون باشد.

برای یادگیری بیشتر در مورد برنامه‌نویسی پایتون و نکات پیشرفته، به کانال تلگرام ما بپیوندید!


#Python #tkinter #GUI #Programming
4
۸ سایت مفید برای آموزش‌های پایتون 🌟

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

۱. Coursera 🌐
Coursera دوره‌های متنوعی در زمینه پایتون ارائه می‌دهد که توسط دانشگاه‌ها و مؤسسات معتبر تدریس می‌شوند. شما می‌توانید از دوره‌های مبتدی تا پیشرفته را در این سایت بیابید.
[بازدید از سایت Coursera]

۲. edX 🌐
edX نیز مانند Coursera، دوره‌های بسیار معتبری در زمینه پایتون ارائه می‌دهد که توسط دانشگاه‌های برتر جهان تدریس می‌شوند.
[بازدید از سایت edX]

۳. Codecademy 🌐
Codecademy یک پلتفرم تعاملی است که به شما امکان می‌دهد با انجام پروژه‌ها و تمرین‌های تعاملی، پایتون را به صورت عملی بیاموزید.
[بازدید از سایت Codecademy]

۴. Real Python 🌐
Real Python سایت بسیار کاملی برای آموزش پایتون است که مقالات، دوره‌ها و ویدئوهای آموزشی را به همراه پروژه‌های عملی ارائه می‌دهد.
[بازدید از سایت Real Python]

۵. GeeksforGeeks 🌐
GeeksforGeeks مجموعه‌ای از آموزش‌های جامع پایتون را همراه با مثال‌های متعدد ارائه می‌دهد که برای مبتدیان و حرفه‌ای‌ها مناسب است.
[بازدید از سایت GeeksforGeeks]

۶. ویدئوهای آموزشی فرادرس 🇮🇷
فرادرس یکی از بهترین منابع ایرانی برای یادگیری پایتون است که مجموعه‌ای از دوره‌های جامع و تخصصی را در این زمینه ارائه می‌دهد.
[بازدید از سایت فرادرس]

۷. مکتب‌خونه 🇮🇷
مکتب‌خونه نیز دوره‌های متنوعی در زمینه پایتون ارائه می‌دهد که توسط اساتید برجسته تدریس می‌شوند.
[بازدید از سایت مکتب‌خونه]

۸. سایت توسینسو 🇮🇷
توسینسو یک سایت ایرانی دیگر است که آموزش‌های جامع و کاربردی پایتون را در قالب ویدئوهای آموزشی ارائه می‌دهد.
[بازدید از سایت توسینسو]



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


#Python #PythonLearning #OnlineCourses #Programming
1
📢 ۵ کد کاربردی با ماژول robotframework در پایتون🚀

سلام دوستان! امروز ۵ کد کاربردی و جالب از ماژول robotframework را برای شما آماده کرده‌ایم که می‌توانید از آنها برای خودکارسازی وظایف مختلف استفاده کنید. 🌟

باز کردن مرورگر و بررسی عنوان صفحه

این کد مرورگر را باز کرده و عنوان صفحه را بررسی می‌کند.

*** Settings ***
Library SeleniumLibrary

*** Variables ***
${URL} https://example.com

*** Test Cases ***
Open Browser and Check Title
Open Browser ${URL} chrome
Title Should Be Example Domain
[Teardown] Close Browser

2. ورود به یک وبسایت و بررسی پیام خوش‌آمدگویی

این کد برای ورود به یک وبسایت و بررسی پیام خوش‌آمدگو Settings.

*** Settings ***
Library SeleniumLibrary

*** Variables ***
${URL} https://example-login.com
${USERNAME} your_username
${PASSWORD} your_password

*** Test Cases ***
Login Test
Open Browser ${URL} chrome
Input Text id:username ${USERNAME}
Input Text id:password ${PASSWORD}
Click Button id:login-button
Wait Until Page Contains Welcome, ${USERNAME}
[Teardown] Close Browser


3. جستجوی کلمه در گوگل

این کد برای جستجوی ی* Settings می‌شود.

*** Settings ***
Library SeleniumLibrary

*** Variables ***
${URL} https://www.google.com
${SEARCH_TERM} Robot Framework

*** Test Cases ***
Google Search
Open Browser ${URL} chrome
Input Text name:q ${SEARCH_TERM}
Press Keys name:q ENTER
Wait Until Page Contains ${SEARCH_TERM}
[Teardown] Close Browser

4. آپلود فایل در یک فرم * Settings استفاده می‌شود.

*** Settings ***
Library SeleniumLibrary

*** Variables ***
${URL} https://example-upload.com
${FILE_PATH} /path/to/your/file.txt

*** Test Cases ***
Upload File
Open Browser ${URL} chrome
Choose File id:file-upload ${FILE_PATH}
Click Button id:submit-button
Wait Until Page Contains File uploaded successfully
[Teardown] Close Browser


5. تست API با استفاده از RequestsLibrary
* Settings gs پاسخ استفاده می‌شود.

*** Settings ***
Library RequestsLibrary

*** Variables ***
${API_URL} https://api.example.com/data

*** Test Cases ***
Test API
Create Session api_session ${API_URL}
${response}= Get Request api_session /endpoint
Status Should Be ${response} 200
[Teardown] Delete Session api_session

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


#Python #RobotFramework #Automation #Testing #Code #Programming
🔍 دانستنی جالب درباره robotframework 🤖

آیا می‌دانید که robotframework فقط برای تست نرم‌افزارها استفاده نمی‌شود؟ این ماژول قدرتمند می‌تواند در خودکارسازی بسیاری از وظایف دیگر نیز مفید باشد. از جمله:

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

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

- تست API: با استفاده از RequestsLibrary می‌توانید درخواست‌های API ارسال کنید و پاسخ‌ها را بررسی کنید، که این امر برای تست سرویس‌های وب بسیار مفید است.

- گزارش‌گیری خودکار: robotframework به طور خودکار گزارش‌های تست را تولید می‌کند که می‌توانید برای تحلیل نتایج تست‌ها و شناسایی مشکلات استفاده کنید.

پس، دفعه بعد که به فکر خودکارسازی وظایف مختلف افتادید، یادتان باشد که robotframework می‌تواند ابزار مناسبی برای شما باشد! 🌟

🔻اینجا چیزای جالبی برای یاد گرفتن هست🔻

#RobotFramework #Automation #Testing #Programming #Technology
👍1
اخبار مهم امروز درباره پایتون - ۲۷ ژوئیه ۲۰۲۴

۱. انتشار نسخه بتا 4 از پایتون 3.13.0
نسخه بتا 4 از پایتون 3.13.0 منتشر شد. این نسخه شامل ویژگی‌های جدید و بهبود عملکردهای مختلف است که کارایی زبان برنامه‌نویسی پایتون را افزایش می‌دهد.

۲. توسعه پایتون بدون GIL
شورای راهبری پایتون اعلام کرد که قصد دارد پیشنهاد PEP 703 را بپذیرد که قفل جهانی مفسر (GIL) را در نسخه‌های آینده پایتون اختیاری می‌کند. این تغییر بهبود بزرگی برای عملکرد پایتون در برنامه‌های چند رشته‌ای خواهد بود و به خصوص برای محاسبات علمی و داده‌های بزرگ مفید است.

۳. تغییرات در قوانین بنیاد نرم‌افزار پایتون
بنیاد نرم‌افزار پایتون (PSF) اعلام کرد که از تاریخ ۱۰ اوت ۲۰۲۴ تغییراتی در قوانین خود اعمال خواهد کرد. این تغییرات به منظور بهبود شفافیت و افزایش دسترسی به منابع برای توسعه‌دهندگان پایتون انجام شده است.

۴. برگزاری کنفرانس EuroPython 2024
کنفرانس EuroPython 2024 در ماه ژوئیه به صورت حضوری و آنلاین برگزار شد. این کنفرانس یکی از بزرگترین رویدادهای جامعه پایتون در اروپا است و برنامه‌های متنوعی برای توسعه‌دهندگان و علاقه‌مندان به پایتون ارائه داد.

۵. ارائه گرنت‌های مجازی توسط بنیاد نرم‌افزار پایتون
بنیاد نرم‌افزار پایتون گرنت‌هایی برای رویدادهای مجازی ارائه می‌دهد. توسعه‌دهندگان می‌توانند برای دریافت کمک‌های مالی تا سقف ۲۵۰۰ دلار برای رویدادهای بزرگ مجازی و همچنین گرنت‌های کوچکتر برای رویدادهای دیگر درخواست دهند.

۶. افزایش حقوق توسعه‌دهندگان پایتون در سال ۲۰۲۴
بررسی‌های جدید نشان می‌دهد که حقوق توسعه‌دهندگان پایتون در سال ۲۰۲۴ افزایش قابل توجهی داشته است. این افزایش حقوق به دلیل تقاضای بالا برای تخصص‌های مرتبط با پایتون و نیاز به توسعه‌دهندگان ماهر در این زمینه است.

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

🔻اینجا کلیک کن تا بیشتر با خبر شی🔻

#Python #Programming #EuroPython2024 #PSF #PythonDevelopment #TechNews #Coding
🌟 TechSavvy Algorithms: The Ultimate Recommendation System! 🌟

👨‍💻 Introducing the Most Advanced Collaborative Filtering System 👩‍💻

In today's world, recommendation systems are an essential part of many online services. From online stores to streaming services for movies and music, these systems are used to enhance user experience and boost engagement.

💡 TechSavvy Algorithms is an advanced recommendation system based on Collaborative Filtering, utilizing cutting-edge techniques and optimization algorithms to provide accurate and personalized recommendations.

📚 Features and Applications of TechSavvy Algorithms:

1. Advanced Collaborative Filtering Techniques:
- Leverage user data to identify common patterns and deliver precise suggestions.

2. Efficient Data Processing:
- Prepare and normalize data to maximize recommendation accuracy.

3. Scalable SVD Model Training:
- Employ Singular Value Decomposition (SVD) to reduce data dimensions and extract key features.

4. Personalized Recommendations:
- Suggest new movies, products, or content based on users' interests and preferences.

📈 How You Can Utilize This Source Code:
- Online Stores: Recommend related products based on previous purchases.
- Streaming Services: Suggest new movies and music to users.
- Social Networks: Recommend new friends or content based on user interests.

🚀 TechSavvy Algorithms helps you improve user experience with precise and personalized suggestions, giving you a competitive edge. By incorporating this advanced algorithm into your projects, you can elevate your offerings and exceed user expectations.

📚 Get and Use This Source Code:
We're offering this powerful and valuable source code for free. Download it now and start enhancing your projects!

👉👉click👈👈

#Programming #Algorithms #RecommendationSystem #TechSavvy #Python #MachineLearning #OpenSource #FreeCode