Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
1. یک کلاس به نام Car ایجاد کنید که شامل ویژگی‌های make, model و year باشد. یک متد به نام start تعریف کنید که پیامی مبنی بر روشن شدن خودرو چاپ کند. سپس شیئی از این کلاس ایجاد کرده و متد start را فراخوانی کنید.


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

def start(self):
print(f"The {self.year} {self.make} {self.model} is starting.")

my_car = Car("Toyota", "Corolla", 2020)
my_car.start() # خروجی: The 2020 Toyota Corolla is starting.

2. یک کلاس به نام Person ایجاد کنید که شامل ویژگی‌های name و age باشد. یک متد به نام greet تعریف کنید که پیامی شامل نام و سن فرد چاپ کند. سپس دو شیء از این کلاس ایجاد کرده و متد greet را برای هر کدام فراخوانی کنید.


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

def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")

person1 = Person("Ali", 25)
person2 = Person("Sara", 30)
person1.greet() # خروجی: Hello, my name is Ali and I am 25 years old.
person2.greet() # خروجی: Hello, my name is Sara and I am 30 years old.

3. یک کلاس به نام Employee ایجاد کنید که شامل ویژگی‌های name, position و salary باشد. یک کلاس دیگر به نام Manager ایجاد کنید که از Employee وراثت ببرد و یک متد به نام promote داشته باشد که حقوق کارمند را افزایش دهد. سپس شیئی از کلاس Manager ایجاد کرده و متد promote را فراخوانی کنید.


   class Employee:
def __init__(self, name, position, salary):
self.name = name
self.position = position
self.salary = salary

class Manager(Employee):
def promote(self, increase):
self.salary += increase
print(f"{self.name} has been promoted. New salary: {self.salary}")

manager = Manager("Ali", "Manager", 5000)
manager.promote(1000) # خروجی: Ali has been promoted. New salary: 6000

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

#پایتون #آموزش_پایتون #برنامه_نویسی #شیء_گرایی #OOP #کلاس #وراثت #چندریختی #مخفی_سازی_داده
👍4
class Shape:
def area(self):
pass

class Rectangle(Shape):
init__init__(self, width, height):
self.width = width
self.height = height

def area(self):
return self.width * self.height

class Circle(Shape):
init__init__(self, radius):
self.radius = radius
def area(self):
import math
return math.pi * self.radius ** 2

rect = Rectangle(4, 5)
circ = Circle(3)
print(rect.area()) # خروجی: 20
print(circ.area()) # خروجی: 28.274333882308138

3. یک کلاس به نام Employee ایجاد کنید که شامل ویژگی‌های name و salary باشد. سپس یک کلاس به نام Manager ایجاد کنید که از Employee وراثت ببرد و یک متد به نام give_raise داشته باشد که حقوق کارمند را افزایش دهد.



   class Employee:
def init(self, name, salary):
self.name = name
self.salary = salary

class Manager(Employee):
def give_raise(self, amount):
self.salary += amount
print(f"{self.name} has been given a raise. New salary: {self.salary}")

manager = Manager("Ali", 5000)
manager.give_raise(1000) # خروجی: Ali has been given a raise. New salary: 6000



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

#پایتون #آموزش_پایتون #برنامه_نویسی #وراثت #چندریختی #OOP #Inheritance #Polymorphism
👍5
ساخت کلاس و متدها در پایتون

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

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

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

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

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

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

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

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

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

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

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

توضیحات:

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

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

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

خروجی:

Param1: 10, Param2: 20

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

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


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

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

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

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

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

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

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

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

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

توضیحات:

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

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

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

خروجی:

Param1: 10, Param2: 20

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

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


#Python #برنامه‌نویسی #آموزش_پایتون #کلاس_ها #OOP
ارسال پارامترهای یک کلاس به چهار کلاس دیگر برای انجام معادلات مختلف 🧮

در این مثال، ما یک کلاس به نام ClassA ایجاد می‌کنیم که سه عدد به عنوان پارامتر دریافت می‌کند. سپس این پارامترها به چهار کلاس مختلف ارسال می‌شوند که هر یک از این کلاس‌ها یک عملیات ریاضی خاص را روی این اعداد انجام می‌دهند.

مثال: ارسال پارامترها به چهار کلاس مختلف

class ClassA:
def __init__(self, num1, num2, num3):
self.num1 = num1
self.num2 = num2
self.num3 = num3

class Addition:
def __init__(self, class_a_instance):
self.result = class_a_instance.num1 + class_a_instance.num2 + class_a_instance.num3

def get_result(self):
return f"جمع اعداد: {self.result}"

class Multiplication:
def __init__(self, class_a_instance):
self.result = class_a_instance.num1 * class_a_instance.num2 * class_a_instance.num3

def get_result(self):
return f"ضرب اعداد: {self.result}"

class Average:
def __init__(self, class_a_instance):
self.result = (class_a_instance.num1 + class_a_instance.num2 + class_a_instance.num3) / 3

def get_result(self):
return f"میانگین اعداد: {self.result}"

class MaxValue:
def __init__(self, class_a_instance):
self.result = max(class_a_instance.num1, class_a_instance.num2, class_a_instance.num3)

def get_result(self):
return f"بیشترین عدد: {self.result}"

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

# ارسال شیء کلاس A به کلاس‌های مختلف و انجام عملیات
addition = Addition(a)
multiplication = Multiplication(a)
average = Average(a)
max_value = MaxValue(a)

# نمایش نتایج
print(addition.get_result())
print(multiplication.get_result())
print(average.get_result())
print(max_value.get_result())

توضیحات:

1. ClassA:
- این کلاس سه عدد num1، num2 و num3 را دریافت کرده و آن‌ها را به عنوان ویژگی‌های شیء ذخیره می‌کند.

2. Addition:
- این کلاس مجموع سه عدد را محاسبه کرده و نتیجه را در ویژگی result ذخیره می‌کند.
- متد get_result نتیجه جمع را بازمی‌گرداند.

3. Multiplication:
- این کلاس ضرب سه عدد را محاسبه کرده و نتیجه را در ویژگی result ذخیره می‌کند.
- متد get_result نتیجه ضرب را بازمی‌گرداند.

4. Average:
- این کلاس میانگین سه عدد را محاسبه کرده و نتیجه را در ویژگی result ذخیره می‌کند.
- متد get_result نتیجه میانگین را بازمی‌گرداند.

5. MaxValue:
- این کلاس بیشترین عدد از بین سه عدد را محاسبه کرده و نتیجه را در ویژگی result ذخیره می‌کند.
- متد get_result بیشترین عدد را بازمی‌گرداند.

خروجی:

جمع اعداد: 60
ضرب اعداد: 6000
میانگین اعداد: 20.0
بیشترین عدد: 30

این کد به طور واضح نشان می‌دهد که چگونه می‌توان پارامترهای یک کلاس را به کلاس‌های مختلف ارسال کرد و عملیات‌های مختلفی روی آن‌ها انجام داد. 🚀

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

#Python #برنامه‌نویسی #آموزش_پایتون #کلاس_ها #OOP #معادلات_ریاضی
ارسال خروجی کلاس‌ها به یک کلاس جدید برای انجام عملیات‌های بیشتر 🧩

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

مثال: ارسال خروجی کلاس‌ها به یک کلاس جدید

class ClassA:
def __init__(self, num1, num2, num3):
self.num1 = num1
self.num2 = num2
self.num3 = num3

class Addition:
def __init__(self, class_a_instance):
self.result = class_a_instance.num1 + class_a_instance.num2 + class_a_instance.num3

def get_result(self):
return self.result

class Multiplication:
def __init__(self, class_a_instance):
self.result = class_a_instance.num1 * class_a_instance.num2 * class_a_instance.num3

def get_result(self):
return self.result

class Average:
def __init__(self, class_a_instance):
self.result = (class_a_instance.num1 + class_a_instance.num2 + class_a_instance.num3) / 3

def get_result(self):
return self.result

class MaxValue:
def __init__(self, class_a_instance):
self.result = max(class_a_instance.num1, class_a_instance.num2, class_a_instance.num3)

def get_result(self):
return self.result

class FinalOperations:
def __init__(self, addition, multiplication, average, max_value):
self.sum_result = addition
self.mul_result = multiplication
self.avg_result = average
self.max_result = max_value

def final_sum(self):
# جمع نتایج مختلف
return f"جمع نهایی نتایج: {self.sum_result + self.mul_result + self.avg_result + self.max_result}"

def final_multiplication(self):
# ضرب نتایج مختلف
return f"ضرب نهایی نتایج: {self.sum_result * self.mul_result * self.avg_result * self.max_result}"

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

# انجام عملیات در کلاس‌های مختلف
addition = Addition(a).get_result()
multiplication = Multiplication(a).get_result()
average = Average(a).get_result()
max_value = MaxValue(a).get_result()

# ارسال نتایج به کلاس FinalOperations
final_ops = FinalOperations(addition, multiplication, average, max_value)

# نمایش نتایج نهایی
print(final_ops.final_sum())
print(final_ops.final_multiplication())

توضیحات:

1. ClassA:
- سه عدد به عنوان ورودی می‌گیرد و آن‌ها را در خود ذخیره می‌کند.

2. Addition، Multiplication، Average، MaxValue:
- این کلاس‌ها عملیات‌های مختلفی روی اعداد انجام داده و نتیجه را برمی‌گردانند.

3. FinalOperations:
- این کلاس چهار خروجی از کلاس‌های قبلی را به عنوان ورودی می‌گیرد.
- دارای متدهای final_sum و final_multiplication است که روی این نتایج عملیات‌های جدیدی انجام می‌دهد.
- final_sum تمام نتایج را با هم جمع می‌کند.
- final_multiplication تمام نتایج را در هم ضرب می‌کند.

خروجی:

جمع نهایی نتایج: 6080.0
ضرب نهایی نتایج: 10800000000.0

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

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

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