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

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

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
Forwarded from Python3
📚 برنامه کامل دوره آموزش پایتون از 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