Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
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
میانگین درآمد برنامه نویس ها در کشور های مختلف 👨‍💻
👍3
آموزش استفاده از ماژول Scrapy 🕷

Scrapy یکی از قدرتمندترین ماژول‌های پایتون برای وب اسکرپینگ است. این ابزار عالی به شما کمک می‌کند تا داده‌ها را از وب‌سایت‌ها استخراج کنید. 🚀

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

مرحله 1: نصب Scrapy 🛠

ابتدا باید این ماژول را نصب کنید. می‌توانید از دستور زیر استفاده کنید:
pip install scrapy

این دستور Scrapy را روی سیستم شما نصب می‌کند.

مرحله 2: ایجاد پروژه Scrapy 📁
یک پروژه جدید ایجاد کنید:
scrapy startproject myproject

به جای myproject نام پروژه خود را وارد کنید. این دستور ساختار اولیه پروژه Scrapy را ایجاد می‌کند.

مرحله 3: ایجاد Spider 🕸
به دایرکتوری پروژه بروید و یک Spider جدید ایجاد کنید:
cd myproject
scrapy genspider example example.com

این دستور یک Spider با نام example ایجاد می‌کند که وب‌سایت example.com را هدف قرار می‌دهد.

مرحله 4: نوشتن کد Spider ✍️
فایل example.py را باز کنید و کد Spider خود را بنویسید. این یک مثال ساده است:
import scrapy

class ExampleSpider(scrapy.Spider):
name = "example" # نام Spider
start_urls = [
'https://example.com', # URL شروع
]

def parse(self, response):
for title in response.css('title'): # انتخاب عنوان صفحه با استفاده از CSS Selector
yield {'title': title.get()} # استخراج عنوان و ذخیره آن

- import scrapy: ماژول Scrapy را وارد می‌کند.
- name: نام Spider که باید یکتا باشد.
- start_urls: لیستی از URL هایی که Spider باید از آنها شروع به کار کند.
- parse: متدی که برای پردازش پاسخ از URL های شروع استفاده می‌شود.
- response.css('title'): انتخاب عنوان صفحه با استفاده از CSS Selector.
- yield: استخراج و بازگشت داده‌ها.

مرحله 5: اجرای Spider 🎬

حالا می‌توانید Spider خود را اجرا کنید و داده‌ها را استخراج کنید:
scrapy crawl example -o output.json

این دستور Spider را اجرا کرده و داده‌های استخراج شده را در یک فایل JSON ذخیره می‌کند.

نکات تکمیلی:

- CSS Selectors: برای انتخاب عناصر HTML از CSS Selectors استفاده کنید.
- XPath: می‌توانید از XPath نیز برای انتخاب عناصر استفاده کنید.
- Pipelines: برای پردازش و ذخیره‌سازی داده‌های استخراج شده از Pipelines استفاده کنید.

استفاده از Scrapy می‌تواند استخراج داده‌ها را به شدت ساده و کارآمد کند. امیدوارم این آموزش برای شما مفید باشد! 😊

(کانال تلگرامی ما)

#Python #Scrapy #وب_اسکرپینگ #آموزش #برنامه_نویسی
آموزش استفاده از کلاس‌ها برای پیاده‌سازی الگوریتم مرتب‌سازی سریع (QuickSort) 📚

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

مرحله 1: تعریف کلاس QuickSort 🧩

ابتدا کلاس QuickSort را تعریف می‌کنیم که شامل متدهای مختلف برای مرتب‌سازی است.
class QuickSort:
def __init__(self, array):
self.array = array # آرایه‌ای که باید مرتب شود

def sort(self):
self._quick_sort(0, len(self.array) - 1) # فراخوانی متد مرتب‌سازی سریع
return self.array # بازگشت آرایه مرتب شده

def _quick_sort(self, low, high):
if low < high:
pivot_index = self._partition(low, high) # پیدا کردن نقطه محوری
self._quick_sort(low, pivot_index - 1) # مرتب‌سازی بخش چپ از نقطه محوری
self._quick_sort(pivot_index + 1, high) # مرتب‌سازی بخش راست از نقطه محوری

def _partition(self, low, high):
pivot = self.array[high] # انتخاب عنصر پایانی به عنوان نقطه محوری
i = low - 1 # اندیس اولین عنصر کوچکتر از نقطه محوری
for j in range(low, high):
if self.array[j] <= pivot:
i += 1
self.array[i], self.array[j] = self.array[j], self.array[i] # تعویض عناصر
self.array[i + 1], self.array[high] = self.array[high], self.array[i + 1] # تعویض نقطه محوری با عنصر در جایگاه i+1
return i + 1

initit__: متد سازنده که آرایه‌ای که باید مرتب شود را دریافت می‌کند.
- sort: متدی که مرتب‌سازی را شروع کرده و آرایه مرتب شده را باز می‌گرداند.
- _q
uick_sort: متد خصوصی برای اجرای الگوریتم مرتب‌سازی سریع.
- _p
artition: متد خصوصی برای تقسیم آرایه به دو بخش بر اساس نقطه محوری.

مرحله 2: استفاده از کلاس QuickSort 📝

حالا با استفاده از کلاس Quic
kSort، آرایه‌ای را مرتب می‌کنیم:
nameme__ mainin__":
array = [10, 7, 8, 9, 1, 5] # آرایه نمونه
sorter = QuickSort(array) # ایجاد نمونه‌ای از کلاس QuickSort
sorted_array = sorter.sort() # مرتب‌سازی آرایه
print("Sorted array:", sorted_array) # نمایش آرایه مرتب شده

- تعریف آرایه: یک آرایه نمونه برای مرتب‌سازی.
- ایجاد نمونه: یک نمونه از کلاس QuickSort با استفاده از آرایه ورودی.
- مرتب‌سازی: فراخوانی متد sort برای مرتب‌سازی آرایه.
- نمایش نتیجه: نمایش آرایه مرتب شده.

توضیحات:
1. تعریف کلاس: کلاس QuickSort را تعریف کردیم که شامل متدهای مختلف برای مرتب‌سازی است.
2. متد سازنده: مinitit__ آرایه‌ای که باید مرتب شود را دریافت می‌کند.
3. متد sort: متد
sort عملیات مرتب‌سازی را شروع کرده و آرایه مرتب شده را باز می‌گرداند.
4. متدهای خصوصی: متدهای
_quick_sort و _partition برای اجرای الگوریتم مرتب‌سازی سریع به کار می‌روند.
5. استفاده از کلاس: یک نمونه از کلاس
QuickSort` ایجاد کرده و آرایه را مرتب کردیم.

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

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

#Python #QuickSort #آموزش #برنامه_نویسی #مرتب‌سازی
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
صبح همتون بخیر دوستان ☕️
👍3
سلام دوستان ، شرمنده امروز پستی نذاشتیم ( سرکار )❤️🥲

یه نظرسنجی میزارم حتما جواب بدید✔️🔥
👍5
با PC کد میزنید یا موبایل ؟🤔
Anonymous Poll
95%
PC
5%
موبایل
👍5
🖥 | برای دوستانی که با «PC» کد میزنن برنامه «Visual Studio Code»

📱 | برای کسانی که با «موبایل» کد میزنن «Pydroid 3» رو پیشنهاد میکنم


⚠️ : @hamidpython123
👍5
🖥 | لینک دانلود {Visual Studio Code}

📱| لینک دانلود {Pydroid3}
👍5
پارت ۱۳: ماژول‌ها و پکیج‌ها در پایتون 📦🐍

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

۱. ماژول‌ها (Modules)
ماژول‌ها فایل‌هایی با پسوند .py هستند که شامل کد پایتون می‌باشند. شما می‌توانید از ماژول‌ها برای سازماندهی کدهای خود و جلوگیری از تکرار کدها استفاده کنید.

ایجاد و استفاده از یک ماژول
1. ایجاد ماژول: ابتدا یک فایل به نام my_module.py ایجاد کنید و کدهای زیر را در آن قرار دهید:

    # my_module.py
def greet(name):
return f"Hello, {name}!"

def add(a, b):
return a + b

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

    # main.py
import my_module

print(my_module.greet("Alice")) # خروجی: Hello, Alice!
print(my_module.add(5, 3)) # خروجی: 8

۲. پکیج‌ها (Packages)
پکیج‌ها مجموعه‌ای از ماژول‌ها هستند که در یک دایرکتوری قرار دارند و شامل یک فایل init.py هستند. این فایل می‌تواند خالی باشد یا کدهای خاصی را شامل شود.

ایجاد و استفاده از یک پکیج
1. ایجاد پکیج: ساختار زیر را ایجاد کنید:

    my_package/
__init__.py
module1.py
module2.py

2. فایل module1.py:

    # module1.py
def multiply(a, b):
return a * b

3. فایل module2.py:

    # module2.py
def divide(a, b):
if b == 0:
return "Cannot divide by zero!"
return a / b

4. استفاده از پکیج:

    # main.py
from my_package import module1, module2

print(module1.multiply(4, 5)) # خروجی: 20
print(module2.divide(10, 2)) # خروجی: 5.0

۳. نصب و استفاده از پکیج‌های خارجی
شما می‌توانید از پکیج‌های خارجی که توسط جامعه پایتون ایجاد شده‌اند نیز استفاده کنید. این پکیج‌ها معمولاً از طریق PyPI (Python Package Index) در دسترس هستند و می‌توانید آن‌ها را با استفاده از pip نصب کنید.

نصب یک پکیج
به عنوان مثال، نصب پکیج requests برای انجام درخواست‌های HTTP:
pip install requests

استفاده از پکیج نصب شده

import requests

response = requests.get('https://api.github.com')
print(response.status_code) # خروجی: 200 (یا هر کد وضعیت دیگر)
print(response.json()) # خروجی: داده‌های JSON دریافت شده از API

۴. ایجاد و انتشار پکیج خود
اگر شما یک پکیج ایجاد کرده‌اید و می‌خواهید آن را با دیگران به اشتراک بگذارید، می‌توانید آن را در PyPI منتشر کنید. این فرآیند شامل ایجاد فایل‌هایی مانند setup.py و ثبت پکیج در PyPI می‌شود.

فایل setup.py
این فایل شامل اطلاعاتی درباره پکیج شماست:
from setuptools import setup, find_packages

setup(
name='my_package',
version='0.1',
packages=find_packages(),
install_requires=[],
)

انتشار پکیج
مراحل کلی برای انتشار پکیج شامل ساخت و آپلود بسته به PyPI است:
python setup.py sdist bdist_wheel
twine upload dist/*

[اینم کانال ما]

#پایتون #آموزش_پایتون #ماژول #پکیج #PythonModules #PythonPackages
پارت ۱۴: کتابخانه‌های استاندارد پایتون 📚🐍

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

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

مثال‌هایی از کتابخانه math
import math

# محاسبه جذر
print(math.sqrt(16)) # خروجی: 4.0

# محاسبه سینوس
print(math.sin(math.pi / 2)) # خروجی: 1.0

# محاسبه لگاریتم
print(math.log(10)) # خروجی: 2.302585092994046

۲. کتابخانه datetime
کتابخانه datetime برای کار با تاریخ و زمان استفاده می‌شود. این کتابخانه امکان انجام محاسبات تاریخ و زمان، قالب‌بندی و تجزیه را فراهم می‌کند.

مثال‌هایی از کتابخانه datetime
import datetime

# ایجاد یک شیء تاریخ و زمان
now = datetime.datetime.now()
print(now) # خروجی: تاریخ و زمان فعلی

# قالب‌بندی تاریخ
print(now.strftime("%Y-%m-%d %H:%M:%S")) # خروجی: قالب‌بندی شده به صورت سال-ماه-روز ساعت:دقیقه:ثانیه

# محاسبه اختلاف بین دو تاریخ
date1 = datetime.datetime(2023, 7, 5)
date2 = datetime.datetime(2024, 7, 5)
diff = date2 - date1
print(diff.days) # خروجی: 366

۳. کتابخانه os
کتابخانه os ابزارهایی برای تعامل با سیستم‌عامل فراهم می‌کند، از جمله کار با فایل‌ها و دایرکتوری‌ها، اجرای دستورات سیستم‌عامل و دسترسی به متغیرهای محیطی.

مثال‌هایی از کتابخانه os
import os

# دریافت مسیر دایرکتوری فعلی
current_directory = os.getcwd()
print(current_directory) # خروجی: مسیر دایرکتوری فعلی

# ایجاد یک دایرکتوری جدید
os.mkdir("new_directory")

# لیست کردن فایل‌ها و دایرکتوری‌ها
files = os.listdir(".")
print(files) # خروجی: لیستی از فایل‌ها و دایرکتوری‌ها در دایرکتوری فعلی

۴. کتابخانه sys
کتابخانه sys ابزارهایی برای تعامل با مفسر پایتون فراهم می‌کند، از جمله دسترسی به آرگومان‌های خط فرمان، مدیریت خروجی و ورودی استاندارد و مدیریت استثناء‌ها.

مثال‌هایی از کتابخانه sys
import sys

# دریافت آرگومان‌های خط فرمان
print(sys.argv) # خروجی: لیستی از آرگومان‌های خط فرمان

# چاپ پیام خطا و خروج از برنامه
sys.stderr.write("This is an error message\n")
sys.exit(1)

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

مثال‌هایی از کتابخانه random
import random

# تولید یک عدد تصادفی بین 1 و 10
print(random.randint(1, 10)) # خروجی: یک عدد تصادفی بین 1 و 10

# انتخاب تصادفی از لیست
choices = ['apple', 'banana', 'cherry']
print(random.choice(choices)) # خروجی: یکی از عناصر لیست به صورت تصادفی

# مخلوط کردن عناصر لیست
random.shuffle(choices)
print(choices) # خروجی: لیست مخلوط شده

۶. کتابخانه json
کتابخانه json برای کار با داده‌های JSON استفاده می‌شود. این کتابخانه ابزارهایی برای تبدیل داده‌های پایتون به فرمت JSON و برعکس فراهم می‌کند.

مثال‌هایی از کتابخانه json
import json

# تبدیل دیکشنری به رشته JSON
data = {'name': 'Alice', 'age': 30}
json_string = json.dumps(data)
print(json_string) # خروجی: {"name": "Alice", "age": 30}

# تبدیل رشته JSON به دیکشنری
data_parsed = json.loads(json_string)
print(data_parsed) # خروجی: {'name': 'Alice', 'age': 30}

(آموزش های خیلی مفید کانال ما)

#پایتون #آموزش_پایتون #کتابخانه_استاندارد #PythonStandardLibrary #PythonModules
👍2
| سوالی داشتین Pv پیام بدید :
🏆 :
@Mr_Xplus
👍2
آیا می‌دانستید؟ 🤓

اولین کامپیوتر مکانیکی قابل برنامه‌ریزی در جهان توسط کنراد تسوزه (Konrad Zuse) ساخته شد و به نام Z1 شناخته می‌شود. 💻 این شاهکار مهندسی در سال 1938 در آلمان ساخته شد و یکی از اولین تلاش‌ها برای ایجاد یک کامپیوتر دیجیتال واقعی بود.

Z1 با استفاده از قطعات مکانیکی پیچیده‌ای که شامل اهرم‌ها و چرخ‌دنده‌ها بود، اطلاعات دو دویی (باینری) را ذخیره و پردازش می‌کرد. 🤖🛠 این کامپیوتر مکانیکی دارای دقت و سرعت کمتری نسبت به کامپیوترهای الکترونیکی امروزی بود، اما گامی بزرگ در جهت توسعه علم کامپیوتر به حساب می‌آید.

از ویژگی‌های جالب Z1 می‌توان به موارد زیر اشاره کرد:
- استفاده از مموری مکانیکی برای ذخیره داده‌ها 🗄🔧
- قابلیت برنامه‌ریزی با استفاده از نوارهای پانچ 📜🎛
- انجام محاسبات منطقی و ریاضی با استفاده از سیستم دو دویی 🔢🤓

Z1 توسط تسوزه در خانه‌اش و با استفاده از منابع محدودی که در دسترس داشت، ساخته شد. این دستگاه نشان‌دهنده نبوغ و پیشگامی تسوزه در حوزه کامپیوتر بود و راه را برای نسل‌های بعدی کامپیوترها هموار کرد. 👨‍🔬🚀

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

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

#تاریخچه_کامپیوتر #کنراد_تسوزه #Z1 #کامپیوتر_مکانیکی #نوآوری #دانستنی #علم_و_فناوری
👍1
آیا می‌دانستید؟ 🤓

یکی از نکات بسیار مهم در کار با توابع در پایتون که می‌تواند به شما کمک کند تا با خطاهای کمتری مواجه شوید، استفاده از آرگومان‌های پیش‌فرض (Default Arguments) است. 🌟

آرگومان‌های پیش‌فرض در پایتون
در پایتون، شما می‌توانید برای آرگومان‌های یک تابع مقدار پیش‌فرض تعیین کنید. این کار باعث می‌شود که اگر هنگام فراخوانی تابع مقداری برای این آرگومان‌ها ارسال نشود، مقدار پیش‌فرض استفاده شود. 📝🔧

مثال
def greet(name, message="سلام!"):
print(f"{message}, {name}")

# فراخوانی تابع بدون ارسال آرگومان message
greet("علی")
# خروجی: سلام!, علی

# فراخوانی تابع با ارسال آرگومان message
greet("علی", "صبح بخیر")
# خروجی: صبح بخیر, علی

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

2. افزایش خوانایی و کارایی کد: با استفاده از آرگومان‌های پیش‌فرض، کد شما خواناتر و استفاده از توابع شما راحت‌تر خواهد شد، به خصوص زمانی که توابع پیچیده‌تری دارید. 📖

3. انعطاف‌پذیری بیشتر: شما می‌توانید توابعی بنویسید که در شرایط مختلف و با مقادیر ورودی مختلف به درستی عمل کنند، بدون اینکه نیاز باشد چندین تابع مختلف برای شرایط متفاوت تعریف کنید. 🎛🔄

این نکته ساده اما قدرتمند می‌تواند به شما کمک کند تا کدهای تمیزتر و پایدارتر بنویسید و با خطاهای کمتری مواجه شوید. 🛠🔍

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

#پایتون #برنامه‌نویسی #آموزش_پایتون #تابع‌ها #توسعه_دهنده #نکات_برنامه‌نویسی
👍1
📰 اخبار داغ از تورنومنت‌های برنامه‌نویسی در ایران!

1. مسابقات برنامه‌نویسی دانشجویی ایران (ACM ICPC):
- این مسابقات یکی از معتبرترین رقابت‌های برنامه‌نویسی در ایران و جهان است. تیم‌های شرکت‌کننده در این مسابقات باید مسائل پیچیده‌ی الگوریتمی را در زمان محدود حل کنند. برگزاری این مسابقات به صورت منطقه‌ای و ملی انجام می‌شود و تیم‌های برتر به مسابقات جهانی راه می‌یابند.

2. مسابقات برنامه‌نویسی CodeCup:
- CodeCup که توسط دانشگاه شریف برگزار می‌شود، شامل چالش‌های الگوریتمی و برنامه‌نویسی است که باید در مدت زمان مشخص حل شوند. این مسابقات به صورت آنلاین برگزار می‌شود و شرکت‌کنندگان از سراسر ایران می‌توانند در آن شرکت کنند.

3. مسابقات کدنویسی لیگ کدنویسی ایران (Codeninja):
- Codeninja یک لیگ کدنویسی آنلاین است که در طول سال برگزار می‌شود. این لیگ شامل مسابقات ماهانه است و شرکت‌کنندگان با حل مسائل الگوریتمی و برنامه‌نویسی می‌توانند امتیاز کسب کنند. این مسابقات فرصت خوبی برای تمرین مداوم و ارتقاء مهارت‌های برنامه‌نویسی است.

📅 منتظر چه هستید؟ اگر به برنامه‌نویسی علاقه‌مندید، حتماً در این مسابقات شرکت کنید و مهارت‌های خود را به چالش بکشید! 🖥️🚀

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

#ACM_ICPC #CodeCup #Codeninja #برنامه_نویسی #تورنومنت #ایران #اخبار #TechNews
📰 اخبار مهم امروز از دنیای پایتون!

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

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

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

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

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

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

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

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

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

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

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