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

1. اضافه کردن عناصر HTML به صورت دینامیکی: این ماژول امکان اضافه کردن عناصر HTML به صفحه را به صورت دینامیکی فراهم می‌کند، که این امر برای ساخت صفحات وب پویا و تعاملی بسیار مفید است.

2. مدیریت استایل‌ها و CSS: htmlpy12 به شما این امکان را می‌دهد که استایل‌ها و قوانین CSS را به صفحات خود اضافه کنید، همچنین قابلیت اعمال استایل‌های سفارشی به صورت دینامیکی نیز فراهم شده است.

3. ادغام آسان با اسکریپت‌های JavaScript: این ماژول به شما اجازه می‌دهد تا اسکریپت‌های JavaScript را به صفحات خود اضافه کنید، که این امر برای ساخت صفحات وب تعاملی و دارای امکانات پیچیده بسیار حیاتی است.

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

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

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

7. سادگی و استفاده آسان: htmlpy12 به گونه‌ای طراحی شده است که حتی کاربران تازه وارد به دنیای برنامه‌نویسی وب نیز بتوانند به راحتی از آن استفاده کنند، بدون نیاز به دانش عمیق برنامه‌نویسی.

با توجه به این ویژگی‌ها، htmlpy12 ابزاری مناسب برای هر کسی است که به دنبال ساخت صفحات وب زیبا، پویا و تعاملی باشد، و توانایی ارائه یک تجربه کاربری بی‌نظیر را دارد که از طریق افزودن دینامیک عناصر، استایل‌ها، اسکریپت‌ها و پشتیبانی از کامپوننت‌ها به وجود می‌آید.
Python3
htmlpy12.py
حاجی این ماژوله که ساختم خوبه آپدیت کنمش بزارم یانه
👍1
🌟 آموزش ترفند خفن با شی‌ءگرایی در پایتون! 🌟

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

1. تعریف یک کلاس با متدهای جادویی

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

class Vector:
def __init__(self, x, y):
self.x = x
self.y = y

def __repr__(self):
return f"Vector({self.x}, {self.y})"

def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)

def __mul__(self, scalar):
return Vector(self.x * scalar, self.y * scalar)

def __len__(self):
return int((self.x**2 + self.y**2)**0.5)

# نمونه استفاده
v1 = Vector(3, 4)
v2 = Vector(2, -1)
print(v1 + v2) # Vector(5, 3)
print(v1 * 3) # Vector(9, 12)
print(len(v1)) # 5

amulمع دو وکتور، _am برای ضlen در یک عدد و ضlen در یک عدد و __len__ برای محاسبه طول وکتور تعریف شدن. با این کار، کار با وکتورها خیلی راحت‌تر میش 2. استفاده از دکوراتورها برای افزودن قابلیت‌هاها**

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

def trace(func):
def wrapper(*args, **kwargs):
print(f"Executing {func.__name__} with arguments {args} and {kwargs}")
result = func(*args, **kwargs)
print(f"{func.__name__} returned {result}")
return result
return wrapper

class Calculator:
@trace
def add(self, a, b):
return a + b

@trace
def multiply(self, a, b):
return a * b

# نمونه استفاده
calc = Calculator()
print(calc.add(3, 5)) # Executing add with arguments (3, 5) and {}
# add returned 8
# 8
print(calc.multiply(4, 7)) # Executing multiply with arguments (4, 7) and {}
# multiply returned 28
# 28

با استفاده از این دکوراتور، هر بار که تابع add یا multiply فراخوانی میشه، ورودی‌ها و خروجی‌های اون‌ها چاپ میشن که می‌تونه توی دیباگ کردن خیلی کمک‌کننده باش

نتیجه‌گیری

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

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

#برنامه‌نویسی #پایتون #آموزش #شیءگرایی #ترفند
👍2
🌟 آموزش یک ویژگی خیلی ناشناخته در پایتون: Slots! 🌟

سلام به همه دوستان برنامه‌نویس! امروز می‌خوام در مورد یک ویژگی کمتر شناخته‌شده و خیلی ناشناخته در پایتون صحبت کنم که کمتر کسی در موردش آموزش داده: slots. این ویژگی به شما امکان می‌ده تا حافظه مصرفی اشیاء کلاس رو بهینه کنید و دسترسی سریع‌تری به صفات داشته باشید. پس بریم سراغ آموزش!

1. آشنایی با slots

در
پایتون، هر شیء یک دیکشنری داخلی (dict) برای نگهداری صفات خودش داره. این دیکشنری باعث انعطاف‌پذیری زیادی می‌شه ولی حافظه زیادی هم مصرف می‌کنه. با استفاده از slots, می‌تونید این دیکشنری رو حذف کنید و حافظه کمتری مصرف کنید.

class MyClass:
__slots__ = ['x', 'y'] # فقط صفات x و y مجاز هستند

def __init__(self, x, y):
self.x = x
self.y = y

# نمونه استفاده
obj = MyClass(1, 2)
print(obj.x, obj.y) # 1 2

try:
obj.z = 3 # AttributeError: 'MyClass' object has no attribute 'z'
except AttributeError as e:
print(e)

2. مزایای استslots_slots__

- صرفه‌جویی درslot
s_slots__ باعث کاهش مصرف حافظه می‌شه چون دیگه نیازی به دیکشنری داخلی نیست.
- سرعت دسترسی بیشتر: دسترسی به صفات با استslots_slots__ سریع‌تره چون از ساختارهای داده بهینه‌تر استفاده می‌کنه.

3. محدوslots_slots__

- عدم انعطاف‌پذیری
: شما فقط می‌تونید صفات تعریفslots_slots__ رو به اشیاء اضافه کنید.
- ناسازگاری با برخی ویژگی‌ها: برخی ویژگی‌های پایتون مثل صفات داینامیک یا استفاده از متا کلاس‌ها مslots_slots__ سازگار نباشند.

4. مثالی عملی

بیایید یک مثال عملی‌تر ببینیم slots_slots__ می‌تونه در یک کلاس واقعی استفاده بشه.

class Person:
__slots__ = ['name', 'age']

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

def __repr__(self):
return f"Person(name={self.name}, age={self.age})"

# نمونه استفاده
p = Person("Alice", 30)
print(p) # Person(name=Alice, age=30)

try:
p.address = "123 Main St" # AttributeError: 'Person' object has no attribute 'address'
except AttributeError as e:
print(e)

نتیجه‌slotsاستفاده از __slots__, می‌تونید مصرف حافظه کلاس‌های پایتون رو بهینه کنید و دسترسی سریع‌تری به صفات داشته باشید. این ویژگی مخصوصاً در برنامه‌هایی که با تعداد زیادی از اشیاء سر و کار دارند، می‌تونه بسیار مفید باشه.

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

#برنامه‌نویسی #پایتون #آموزش
👍3
🔔 اخبار جدید پایتون - ۲۸ ژوئن ۲۰۲۴ 🔔

1. پایان موفقیت‌آمیز PyCon US 2024: کنفرانس سالانه PyCon US 2024 با موفقیت در پیتسبورگ برگزار شد. این رویداد بزرگ شامل سخنرانی‌ها، کارگاه‌ها و فرصت‌های شبکه‌سازی بود که جامعه پایتون را گرد هم آورد. 🏙️🎤

2. معرفی ابزار uv توسط Astral: Astral، سازنده ابزار محبوب Ruff، از uv رونمایی کرده است. uv یک ابزار مدیریت بسته‌ها و پروژه‌ها است که با Rust نوشته شده و سرعت بالایی دارد. 🚀🔧

3. انتشار نسخه جدید REPL در پایتون 3.13: نسخه جدید REPL (Read-Evaluate-Print Loop) در پایتون 3.13 با ویژگی‌هایی همچون پشتیبانی از چندین خط کد و تاریخچه ورودی‌ها معرفی شد. 🎨💻

4. معرفی سخنرانان اصلی EuroPython 2024: EuroPython 2024 در ماه جولای در پراگ برگزار خواهد شد و سخنرانان برجسته‌ای همچون Anna Přistoupilová و Armin Ronacher در این رویداد حضور خواهند داشت. 🌟🎙️

5. تاخیر در اجرای PEP 649 تا پایتون 3.14: اجرای PEP 649 که به ارزیابی تأخیری از توضیحات می‌پردازد، تا نسخه 3.14 پایتون به تأخیر افتاده است. 📜

6. رشد استفاده از پایتون در Snowflake: استفاده از پایتون در پلتفرم Snowflake رشد چشمگیری داشته است و این شرکت قصد دارد ابزارهای جدیدی برای پشتیبانی از پایتون ارائه دهد. ☁️📈

7. تغییرات در قوانین Python Software Foundation: تغییرات جدید در قوانین Python Software Foundation امکان حذف اعضای هر طبقه‌بندی را با رای‌گیری فراهم می‌کند. 🏛️🗳️

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

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


#Python #PyConUS2024 #EuroPython2024 #Python3.13 #uvTool #Snowflake #PSF #PEP649
👍3
🔔 آموزش یکی از ترسناک‌ترین الگوریتم‌ها در پایتون: 🕵️‍♂️🔍

سلام دوستان! می‌خوام درباره یکی از پیچیده‌ترین و ترسناک‌ترین الگوریتم‌ها در پایتون صحبت کنم:

الگوریتم صفحه‌بندی LRU (Least Recently Used).

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

1. الگوریتم LRU چیه؟

الگوریتم LRU برای مدیریت حافظه و کش‌ها استفاده می‌شه. این الگوریتم قدیمی‌ترین آیتم‌های استفاده نشده را از حافظه حذف می‌کند تا جا برای آیتم‌های جدید باز شود.

2. ساختار داده‌های مورد نیاز

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

3. پیاده‌سازی LRU Cache

بیایید با هم یک LRU Cache را پیاده‌سازی کنیم:

class DLinkedNode:
def __init__(self, key=0, value=0):
self.key = key
self.value = value
self.prev = None
self.next = None

class LRUCache:
def __init__(self, capacity: int):
self.cache = {}
self.capacity = capacity
self.size = 0
self.head = DLinkedNode()
self.tail = DLinkedNode()
self.head.next = self.tail
self.tail.prev = self.head

def _add_node(self, node):
node.prev = self.head
node.next = self.head.next
self.head.next.prev = node
self.head.next = node

def _remove_node(self, node):
prev = node.prev
new = node.next
prev.next = new
new.prev = prev

def _move_to_head(self, node):
self._remove_node(node)
self._add_node(node)

def _pop_tail(self):
res = self.tail.prev
self._remove_node(res)
return res

def get(self, key: int) -> int:
node = self.cache.get(key, None)
if not node:
return -1
self._move_to_head(node)
return node.value

def put(self, key: int, value: int) -> None:
node = self.cache.get(key)
if not node:
newNode = DLinkedNode(key, value)
self.cache[key] = newNode
self._add_node(newNode)
self.size += 1
if self.size > self.capacity:
tail = self._pop_tail()
del self.cache[tail.key]
self.size -= 1
else:
node.value = value
self._move_to_head(node)

4. نحوه استفاده از LRU Cache

حالا بیایید یک نمونه از استفاده از LRU Cache را ببینیم:

lru_cache = LRUCache(2)

lru_cache.put(1, 1)
lru_cache.put(2, 2)
print(lru_cache.get(1)) # 1
lru_cache.put(3, 3) # حذف کلید 2
print(lru_cache.get(2)) # -1 (کلید 2 حذف شده)
lru_cache.put(4, 4) # حذف کلید 1
print(lru_cache.get(1)) # -1 (کلید 1 حذف شده)
print(lru_cache.get(3)) # 3
print(lru_cache.get(4)) # 4

نتیجه‌گیری

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

الگوریتم های بیشتر توی کانال ما

#برنامه‌نویسی #پایتون #آموزش #الگوریتم #LRU
👍3
Forwarded from Python3
🔔 اخبار جدید پایتون - ۲۸ ژوئن ۲۰۲۴ 🔔

1. پایان موفقیت‌آمیز PyCon US 2024: کنفرانس سالانه PyCon US 2024 با موفقیت در پیتسبورگ برگزار شد. این رویداد بزرگ شامل سخنرانی‌ها، کارگاه‌ها و فرصت‌های شبکه‌سازی بود که جامعه پایتون را گرد هم آورد. 🏙️🎤

2. معرفی ابزار uv توسط Astral: Astral، سازنده ابزار محبوب Ruff، از uv رونمایی کرده است. uv یک ابزار مدیریت بسته‌ها و پروژه‌ها است که با Rust نوشته شده و سرعت بالایی دارد. 🚀🔧

3. انتشار نسخه جدید REPL در پایتون 3.13: نسخه جدید REPL (Read-Evaluate-Print Loop) در پایتون 3.13 با ویژگی‌هایی همچون پشتیبانی از چندین خط کد و تاریخچه ورودی‌ها معرفی شد. 🎨💻

4. معرفی سخنرانان اصلی EuroPython 2024: EuroPython 2024 در ماه جولای در پراگ برگزار خواهد شد و سخنرانان برجسته‌ای همچون Anna Přistoupilová و Armin Ronacher در این رویداد حضور خواهند داشت. 🌟🎙️

5. تاخیر در اجرای PEP 649 تا پایتون 3.14: اجرای PEP 649 که به ارزیابی تأخیری از توضیحات می‌پردازد، تا نسخه 3.14 پایتون به تأخیر افتاده است. 📜

6. رشد استفاده از پایتون در Snowflake: استفاده از پایتون در پلتفرم Snowflake رشد چشمگیری داشته است و این شرکت قصد دارد ابزارهای جدیدی برای پشتیبانی از پایتون ارائه دهد. ☁️📈

7. تغییرات در قوانین Python Software Foundation: تغییرات جدید در قوانین Python Software Foundation امکان حذف اعضای هر طبقه‌بندی را با رای‌گیری فراهم می‌کند. 🏛️🗳️

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

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


#Python #PyConUS2024 #EuroPython2024 #Python3.13 #uvTool #Snowflake #PSF #PEP649
👍3
📚 مقدمه دوره آموزش پایتون از 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
این بیلاخ(👍)زیر پستارو هم انگشت کنید هربار که نباید بگم
👍9
یه آموزش الگوریتم داشته باشیم
👍6
الگوریتم 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
👨‍💻👩‍💻 آیا به دنبال مشاوره از برنامه‌نویسان ماهر هستید؟ اینجا جایی است که می‌توانید بهترین کمک‌ها را دریافت کنید!

🔍👨‍🏫 از برنامه‌نویسان حرفه‌ای ما کمک بگیرید و مهارت‌های خود را به سطح بعدی ببرید. هر سوالی دارید، اینجا پاسخ داده می‌شود!

🔧👩‍💻 به جامعه‌ای پویا و حرفه‌ای بپیوندید و از تجربیات دیگران بهره‌مند شوید. ما اینجا هستیم تا به شما کمک کنیم تا موفق شوید.

📚🌟 بیایید با هم یاد بگیریم و رشد کنیم. به گروه ما بپیوندید و از مشاوره‌ها و منابع ارزشمند بهره‌مند شوید.

📲 لینک عضویت: [گروه مشاوره برنامه‌نویسان]

🧑‍🏫لینک کانال آموزش پایتون: [کانال اموزشی پایتون]

📢 منتظرتون هستیم! بپیوندید و دوستان جدید پیدا کنید. 🌐
4
🎮 معرفی موتورهای بازی‌سازی با پایتون 🎮

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

1. Panda3D 🐼
- توضیحات: Panda3D یک موتور بازی‌سازی سه‌بعدی منبع‌باز است که توسط Disney و Carnegie Mellon University توسعه داده شده است. این موتور به شما امکان می‌دهد بازی‌های سه‌بعدی و شبیه‌سازهای تعاملی بسازید.
- ویژگی‌ها: پشتیبانی از پایتون و C++، سیستم رندرینگ قوی، ابزارهای فیزیک و برخورد، ویرایشگر صحنه داخلی.
- نصب:

     pip install panda3d

- وبسایت: [Panda3D]

2. Godot 🕹️
- توضیحات: Godot یک موتور بازی‌سازی چندسکویی منبع‌باز است که از زبان GDScript (زبان اختصاصی موتور) و همچنین از پایتون (از طریق افزودنی‌ها) پشتیبانی می‌کند. این موتور برای ساخت بازی‌های دو‌بعدی و سه‌بعدی مناسب است.
- ویژگی‌ها: محیط توسعه یکپارچه، پشتیبانی از پایتون از طریق افزونه‌ها، ابزارهای قدرتمند برای طراحی صحنه و اسکریپت‌نویسی.
- نصب: افزونه پایتون را از Godot Asset Library دانلود و نصب کنید.
- وبسایت: [Godot Engine]

3. Ursina 🎲
- توضیحات: Ursina یک موتور بازی‌سازی جدید و ساده برای پایتون است که بیشتر برای ساخت بازی‌های سه‌بعدی کوچک و متوسط مناسب است. این موتور با هدف ساده‌سازی فرآیند توسعه بازی ساخته شده است.
- ویژگی‌ها: ساده و یادگیری سریع، پشتیبانی از شیدرها، امکان ساخت بازی‌های واقعیت مجازی (VR).
- نصب:

     pip install ursina

- وبسایت: [Ursina]

4. Pygame 🕹️
- توضیحات: Pygame یک کتابخانه معروف برای ساخت بازی‌های دوبعدی است، اما با استفاده از کتابخانه‌های اضافی مانند OpenGL می‌توانید بازی‌های سه‌بعدی نیز بسازید.
- ویژگی‌ها: پشتیبانی گسترده از بازی‌های دوبعدی، قابلیت استفاده از OpenGL برای سه‌بعدی‌سازی.
- نصب:

     pip install pygame

- وبسایت: [Pygame]

📢 برای یادگیری بیشتر و دریافت آموزش‌های عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]
🌟 جدیدترین قابلیت پایتون 3.11 که شاید هنوز نمی‌دانید! 🌟

سلام به همه برنامه‌نویسان عزیز! 👋

پایتون 3.11 با یک قابلیت جدید و جذاب آمده که مدیریت استثناها را بهبود می‌بخشد: Exception Groups و except\ 🎉🐍

🌐 Exception Groups و except\

🔹 تعریف Exception Groups:
در پایتون 3.11، می‌توانید گروه‌هایی از استثناها را با استفاده از ExceptionGroup ایجاد کنید. این ویژگی زمانی که چندین استثنا به طور همزمان رخ می‌دهند بسیار مفید است.

🔹 نحوه استفاده از Exception Groups:
برای استفاده از Exception Groups و مدیریت آنها با except*، می‌توانید به روش زیر عمل کنید:

from __future__ import annotations  # برای تایپ هینتینگ در پایتون 3.11
import traceback

class MyCustomError(Exception):
pass

class AnotherError(Exception):
pass

def func():
try:
raise ExceptionGroup("Multiple Errors", [MyCustomError("Error 1"), AnotherError("Error 2")])
except* MyCustomError as e:
print(f"Caught MyCustomError: {e}")
except* AnotherError as e:
print(f"Caught AnotherError: {e}")

func()

🔹 مزایای استفاده از Exception Groups:
1. مدیریت ساده‌تر: این قابلیت به شما اجازه می‌دهد تا کد تمیزتر و قابل فهم‌تری بنویسید. 📜
2. انعطاف‌پذیری بیشتر: می‌توانید چندین استثنا را به صورت همزمان مدیریت کنید. 💡

برای اطلاعات بیشتر و دریافت آموزش‌های عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]🚀📚

#پایتون #Python #برنامه_نویسی #ExceptionGroups #پایتون3_11 #آموزش #کانال_تلگرام
👍1
📚 دوره آموزش پایتون از 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
📚 دوره آموزش پایتون از 0 تا 100

پارت 3: عملیات ریاضی و منطقی

سلام دوستان عزیز! 👋

به سومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉

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

عملیات ریاضی

پایتون عملیات ریاضی مختلفی را پشتیبانی می‌کند. در زیر به برخی از مهم‌ترین آن‌ها اشاره می‌کنیم:

1. جمع (+):

   a = 10
b = 5
result = a + b
print("Sum:", result) # خروجی: Sum: 15

2. تفریق (-):

   a = 10
b = 5
result = a - b
print("Difference:", result) # خروجی: Difference: 5

3. ضرب (*):

   a = 10
b = 5
result = a * b
print("Product:", result) # خروجی: Product: 50

4. تقسیم (/):

   a = 10
b = 5
result = a / b
print("Quotient:", result) # خروجی: Quotient: 2.0

5. توان ():**

   a = 2
b = 3
result = a ** b
print("Power:", result) # خروجی: Power: 8

6. باقی‌مانده (٪):

   a = 10
b = 3
result = a % b
print("Remainder:", result) # خروجی: Remainder: 1

7. تقسیم صحیح (//):

   a = 10
b = 3
result = a // b
print("Floor Division:", result) # خروجی: Floor Division: 3

🔄 اولویت عملیات ریاضی

اولویت عملیات ریاضی در پایتون مشابه ریاضیات معمول است:

1. پرانتز‌ها ()
2. توان **
3. ضرب، تقسیم، تقسیم صحیح و باقی‌مانده * / // %
4. جمع و تفریق + -

مثال:
result = 2 + 3 * 4
print("Result:", result) # خروجی: Result: 14

result = (2 + 3) * 4
print("Result with parentheses:", result) # خروجی: Result with parentheses: 20

🔍 عملیات منطقی

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

1. مساوی بودن (==):

   a = 10
b = 5
result = (a == b)
print("Equal:", result) # خروجی: Equal: False

2. نامساوی (!=):

   a = 10
b = 5
result = (a != b)
print("Not Equal:", result) # خروجی: Not Equal: True

3. بزرگتر از (>):

   a = 10
b = 5
result = (a > b)
print("Greater than:", result) # خروجی: Greater than: True

4. کوچکتر از (<):

   a = 10
b = 5
result = (a < b)
print("Less than:", result) # خروجی: Less than: False

5. بزرگتر یا مساوی (>=):

   a = 10
b = 10
result = (a >= b)
print("Greater than or Equal:", result) # خروجی: Greater than or Equal: True

6. کوچکتر یا مساوی (<=):

   a = 10
b = 10
result = (a <= b)
print("Less than or Equal:", result) # خروجی: Less than or Equal: True

7. عملگر منطقی and:

   a = True
b = False
result = a and b
print("Logical AND:", result) # خروجی: Logical AND: False

8. عملگر منطقی or:

   a = True
b = False
result = a or b
print("Logical OR:", result) # خروجی: Logical OR: True

9. عملگر منطقی not:

   a = True
result = not a
print("Logical NOT:", result) # خروجی: Logical NOT: False

🎯 مثال‌های عملی

1. مثال 1: محاسبه مساحت یک مستطیل

   length = 5
width = 3
area = length * width
print("Area of Rectangle:", area) # خروجی: Area of Rectangle: 15

2. مثال 2: بررسی شرایط سن

   age = 20
is_adult = age >= 18
print("Is Adult:", is_adult) # خروجی: Is Adult: True

3. مثال 3: بررسی شرایط متعدد

   score = 85
passed = score >= 50
excellent = score >= 90
result = passed and not excellent
print("Passed but not Excellent:", result) # خروجی: Passed but not Excellent: True

🎯 خلاصه

در این جلسه:
- با عملیات ریاضی در پایتون آشنا شدیم.
- اولویت عملیات ریاضی را یاد گرفتیم.
- با عملیات منطقی و کاربردهای آن‌ها آشنا شدیم.
- مثال‌های عملی برای درک بهتر مفاهیم ارائه دادیم.

🔜 ادامه دوره

در جلسه بعدی، به دستورات شرطی در پایتون خواهیم پرداخت. منتظر باشید! 😉

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

#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python
👍1
📚 دوره آموزش پایتون از 0 تا 100

پارت 4: دستورات شرطی و کنترل جریان

سلام دوستان عزیز! 👋

به چهارمین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉

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

🚦 دستورات شرطی

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

1. دستور if:

   age = 20
if age >= 18:
print("You are an adult.")

2. دستور if و else:

   age = 15
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult yet.")

3. دستور if، elif و else:

   score = 85
if score >= 90:
print("Grade: A")
elif score >= 80:
print("Grade: B")
elif score >= 70:
print("Grade: C")
else:
print("Grade: D")

🔄 عبارات منطقی

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

- and: بررسی هر دو عبارت
- or: بررسی حداقل یکی از دو عبارت
- not: اعتراض به یک عبارت

🎯 مثال‌های عملی

1. مثال 1: دستورات شرطی


   age = 20
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult yet.")

2. مثال 2: دستورات شرطی چندگانه


   score = 85
if score >= 90:
print("Grade: A")
elif score >= 80:
print("Grade: B")
elif score >= 70:
print("Grade: C")
else:
print("Grade: D")

3. مثال 3: استفاده از عبارات منطقی


   is_raining = True
have_umbrella = False
if is_raining and not have_umbrella:
print("Take an umbrella!")

🔜 ادامه دوره

در جلسه بعدی، به حلقه‌ها و تکرارها در پایتون خواهیم پرداخت. منتظر باشید! 😉
5
📚 اخبار مهم پایتون امروز 📰

۱. اعلام کاندیداهای هیئت مدیره PSF برای سال ۲۰۲۴:
بنیاد نرم‌افزاری پایتون (PSF) کاندیداهای هیئت مدیره خود برای سال ۲۰۲۴ را اعلام کرد. این افراد نقش مهمی در تعیین مسیر آینده توسعه پایتون و ابتکارات جامعه خواهند داشت. 🌟

۲. معرفی مفسر تعاملی جدید پایتون، PyREPL:
مفسر تعاملی جدیدی به نام PyREPL که با زبان پایتون نوشته شده، معرفی شد. این REPL جدید با امکانات بیشتر و کاربری آسان‌تر طراحی شده و بسیاری از محدودیت‌های مفسر فعلی را برطرف می‌کند. 💻

۳. کنفرانس‌های پیش‌روی پایتون:
چندین کنفرانس پایتون در ماه‌های آینده برگزار می‌شوند، از جمله PyCon روسیه، PyOhio و Django Girls اکوادور. این رویدادها برای مشارکت جامعه و اشتراک‌گذاری دانش اهمیت زیادی دارند. 🌍🎤

۴. توصیه کاخ سفید برای استفاده از زبان‌های امن از نظر حافظه مثل پایتون:
کاخ سفید استفاده از زبان‌های برنامه‌نویسی امن از نظر حافظه، به‌ویژه پایتون، را برای پروژه‌های نرم‌افزاری فدرال توصیه کرده است. 🏛️🔐

۵. تغییرات پیشنهادی در آیین‌نامه‌های PSF:
پرسش‌های متداول مربوط به تغییرات پیشنهادی در آیین‌نامه‌های بنیاد نرم‌افزاری پایتون منتشر شده است که بر شفافیت و بهبود عملکرد بنیاد تمرکز دارد. 📜

۶. انتشار نسخه بتای سوم پایتون 3.13:
نسخه بتای سوم پایتون 3.13 منتشر شد. این نسخه شامل پیش‌نمایش ویژگی‌ها و بهبودهایی است که در نسخه نهایی ارائه خواهد شد. 🆕🔍

۷. جلسه سران زبان پایتون ۲۰۲۴:
در جلسه سران زبان پایتون امسال، موضوعاتی از جمله بهبود ابزار pdb و PyREPL مطرح شدند که تاثیرات مهمی بر توسعه آینده پایتون خواهند داشت. 🛠️📈

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

#پایتون #اخبار_پایتون #تکنولوژی #برنامه_نویسی #PSF
👍3
پارت ۵: لیست‌ها و تاپل‌ها در پایتون 📋🐍

در این پارت، به بررسی دو ساختار داده‌ای پرکاربرد در پایتون می‌پردازیم: لیست‌ها (Lists) و تاپل‌ها (Tuples). این ساختارها به ما کمک می‌کنند تا مجموعه‌ای از داده‌ها را به صورت منظم و قابل دسترس ذخیره و مدیریت کنیم.

۱. لیست‌ها (Lists)

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

تعریف لیست

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

my_list = [1, 2, 3, 4, 5]
print(my_list) # خروجی: [1, 2, 3, 4, 5]

افزودن و حذف عناصر

می‌توانیم عناصر جدید به لیست اضافه کنیم یا عناصر موجود را حذف کنیم:

my_list.append(6)   # افزودن عنصر به انتهای لیست
print(my_list) # خروجی: [1, 2, 3, 4, 5, 6]

my_list.remove(3) # حذف اولین وجود عنصر از لیست
print(my_list) # خروجی: [1, 2, 4, 5, 6]

دسترسی به عناصر لیست

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

first_element = my_list[0]
print(first_element) # خروجی: 1

last_element = my_list[-1]
print(last_element) # خروجی: 6

برش (Slicing)

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

sub_list = my_list[1:4]
print(sub_list) # خروجی: [2, 4, 5]

۲. تاپل‌ها (Tuples)

تاپل‌ها مشابه لیست‌ها هستند، با این تفاوت که غیر قابل تغییر (immutable) هستند. این ویژگی باعث می‌شود تا تاپل‌ها سریع‌تر و مطمئن‌تر باشند.

تعریف تاپل

تاپل‌ها با استفاده از پرانتز () تعریف می‌شوند:

my_tuple = (1, 2, 3, 4, 5)
print(my_tuple) # خروجی: (1, 2, 3, 4, 5)

دسترسی به عناصر تاپل

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

first_element = my_tuple[0]
print(first_element) # خروجی: 1

last_element = my_tuple[-1]
print(last_element) # خروجی: 5

تفاوت‌های اصلی بین لیست‌ها و تاپل‌ها

- قابلیت تغییر: لیست‌ها قابل تغییر هستند (می‌توان عناصر آنها را تغییر داد، افزود یا حذف کرد)، در حالی که تاپل‌ها غیر قابل تغییر هستند.
- کاربردها: تاپل‌ها معمولاً برای داده‌هایی استفاده می‌شوند که نباید تغییر کنند، در حالی که لیست‌ها برای داده‌های متغیر و قابل تغییر مناسب هستند.


تمرین‌ها

1. لیستی بسازید که شامل نام پنج دوست شما باشد و سپس نام دوست ششم خود را به آن اضافه کنید.
2. تاپلی بسازید که شامل شماره‌های مورد علاقه شما باشد و سپس سعی کنید یکی از شماره‌ها را تغییر دهید. چه اتفاقی می‌افتد؟
3. لیستی از اعداد ایجاد کنید و میانگین آنها را محاسبه کنید.

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

#پایتون #آموزش_پایتون #برنامه_نویسی #لیست #تاپل #کدنویسی
1👍1