Python3
htmlpy12.py
❗️برای استفاده از این ماژول یک فایل در دایرکتوری که فایل htmlpy12 داخلش هست میسازید و ذخیره میکنید و هر فایل که بسازید داخل همون دایرکتوری ذخیره میشود ✅️
🔴نمونه استفاده از این ماژول 👇
❗️با اجرای این کد یک فایل html به نام index.html در دایرکتور خود پروژه ذخیره میشه ✅️
🔴نمونه استفاده از این ماژول 👇
from htmlpy12 import HTMLpy12
HTMLpy12
page = HTMLpy12(title="Example Page")
page.add_element("h1", "Welcome to My Website", style="color: blue;")
page.add_element("p", "This is a demo page created using HTMLpy12.")
page.add_style("h1", font_size="24px", text_align="center")
page.add_style("p", font_family="Arial", padding="10px")
page.add_script('console.log("Hello from JavaScript!");')
page.add_plugin('<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">')
page.add_component("header", html='<header><h2>Header Component</h2></header>', css='header { background-color: #f2f2f2; padding: 10px; }')
JS
page.write_css_file("style.css")
page.write_js_file("script.js")
html_content = page.generate_html(css_file="style.css", js_file="script.js")
print(html_content)
page.save_html("index.html")
❗️با اجرای این کد یک فایل html به نام index.html در دایرکتور خود پروژه ذخیره میشه ✅️
ماژول
۱. استفاده دینامیکی
استفاده دینامیکی به این معنی است که شما از طریق توابع و روشهای ماژول
مثال استفاده دینامیکی:
۲. استفاده مستقیم از کدها (HTML، CSS، JS)
استفاده مستقیم از کدهای HTML، CSS و JavaScript به معنی این است که شما کدهای خود را به صورت مستقیم به صفحه اضافه میکنید، بدون استفاده از توابع خاصی از ماژول
مثال استفاده مستقیم:
مقایسه استفاده دینامیکی و مستقیم
- استفاده دینامیکی مناسب است برای مواردی که نیاز به ایجاد و مدیریت عناصر در زمان اجرا دارید، مانند اضافه کردن عناصر به صفحه بر اساس ورودی کاربر یا دادههای دریافتی از سرور.
- استفاده مستقیم از کدها بهتر است زمانی که شما دارای کدهای آماده (مانند یک قالب HTML، CSS یا یک فایل JavaScript) هستید و فقط میخواهید آنها را به صفحه اضافه کنید بدون تغییر یا پردازش اضافی.
با این دو روش، میتوانید تناسب مناسبی بین انعطافپذیری و سرعت در توسعه وب داشته باشید و بهترین روش را بر اساس نیازهای خاص پروژهی خود انتخاب کنید.
htmlpy12
امکاناتی را برای اضافه کردن عناصر HTML، استایلهای CSS و اسکریپتهای JavaScript به صفحات وب فراهم میکند، که میتوان به دو صورت دینامیکی و یا از طریق استفاده مستقیم از کدها آنها را اعمال کرد. در ادامه، نحوه استفاده از هر دو روش را توضیح میدهم:۱. استفاده دینامیکی
استفاده دینامیکی به این معنی است که شما از طریق توابع و روشهای ماژول
htmlpy12
، عناصر HTML، استایلها و اسکریپتها را به صفحه اضافه میکنید. این روش مناسب است برای ساخت و مدیریت دینامیک عناصر در زمان اجرا و برنامهریزی کاملتر صفحات وب.مثال استفاده دینامیکی:
from htmlpy12 import HTMLpy12
# ایجاد یک نمونه از کلاس HTMLpy12
page = HTMLpy12(title="Dynamic Example")
# اضافه کردن عنصر HTML به صفحه به صورت دینامیکی
page.add_element("h1", "Welcome!", style="color: blue; text-align: center;")
# اضافه کردن استایل CSS به صفحه به صورت دینامیکی
page.add_style("body", background_color="lightgray")
# اضافه کردن اسکریپت JavaScript به صفحه به صورت دینامیکی
page.add_script('console.log("Dynamic JavaScript added!");')
# نمایش کد HTML نهایی به صورت رشته
html_content = page.generate_html()
print(html_content)
# ذخیره کردن کد HTML نهایی در یک فایل
page.save_html("dynamic_example.html")
۲. استفاده مستقیم از کدها (HTML، CSS، JS)
استفاده مستقیم از کدهای HTML، CSS و JavaScript به معنی این است که شما کدهای خود را به صورت مستقیم به صفحه اضافه میکنید، بدون استفاده از توابع خاصی از ماژول
htmlpy12
. این روش معمولاً برای اضافه کردن کدهای استاتیک و آماده به صفحه مناسب است.مثال استفاده مستقیم:
from htmlpy12 import HTMLpy12
# ایجاد یک نمونه از کلاس HTMLpy12
page = HTMLpy12(title="Direct Example")
# اضافه کردن کد HTML به صفحه به صورت مستقیم
page.add_element("h1", "Welcome!", style="color: blue; text-align: center;")
# اضافه کردن کد CSS به صفحه به صورت مستقیم
page.add_custom_style("body { background-color: lightgray; }")
# اضافه کردن کد JavaScript به صفحه به صورت مستقیم
page.add_custom_script('console.log("Direct JavaScript added!");')
# نمایش کد HTML نهایی به صورت رشته
html_content = page.generate_html()
print(html_content)
# ذخیره کردن کد HTML نهایی در یک فایل
page.save_html("direct_example.html")
مقایسه استفاده دینامیکی و مستقیم
- استفاده دینامیکی مناسب است برای مواردی که نیاز به ایجاد و مدیریت عناصر در زمان اجرا دارید، مانند اضافه کردن عناصر به صفحه بر اساس ورودی کاربر یا دادههای دریافتی از سرور.
- استفاده مستقیم از کدها بهتر است زمانی که شما دارای کدهای آماده (مانند یک قالب HTML، CSS یا یک فایل JavaScript) هستید و فقط میخواهید آنها را به صفحه اضافه کنید بدون تغییر یا پردازش اضافی.
با این دو روش، میتوانید تناسب مناسبی بین انعطافپذیری و سرعت در توسعه وب داشته باشید و بهترین روش را بر اساس نیازهای خاص پروژهی خود انتخاب کنید.
Python3
htmlpy12.py
ماژول
1. اضافه کردن عناصر HTML به صورت دینامیکی: این ماژول امکان اضافه کردن عناصر HTML به صفحه را به صورت دینامیکی فراهم میکند، که این امر برای ساخت صفحات وب پویا و تعاملی بسیار مفید است.
2. مدیریت استایلها و CSS:
3. ادغام آسان با اسکریپتهای JavaScript: این ماژول به شما اجازه میدهد تا اسکریپتهای JavaScript را به صفحات خود اضافه کنید، که این امر برای ساخت صفحات وب تعاملی و دارای امکانات پیچیده بسیار حیاتی است.
4. قابلیت افزودن پلاگینها: شما میتوانید پلاگینهای خارجی را به صفحات خود اضافه کنید، که این کار به شما امکانات بیشتری را برای بهبود و افزایش عملکرد صفحات وبتان میدهد.
5. پشتیبانی از کامپوننتها: این ماژول به شما این امکان را میدهد که کامپوننتهای قابل استفاده مجدد تعریف کرده و در صفحات مختلف خود استفاده کنید، که این امر به سازماندهی بهتر کدها و افزایش قابلیت اطمینان وبسایت شما کمک میکند.
6. پشتیبانی از واکنشگرایی: صفحات ساخته شده با
7. سادگی و استفاده آسان:
با توجه به این ویژگیها،
htmlpy12
با دارا بودن ویژگیهای زیر، به عنوان یک ابزار قدرتمند برای ساخت صفحات وب، میتواند به عنوان یکی از برترین ماژولهای HTML در نظر گرفته شود:1. اضافه کردن عناصر HTML به صورت دینامیکی: این ماژول امکان اضافه کردن عناصر HTML به صفحه را به صورت دینامیکی فراهم میکند، که این امر برای ساخت صفحات وب پویا و تعاملی بسیار مفید است.
2. مدیریت استایلها و CSS:
htmlpy12
به شما این امکان را میدهد که استایلها و قوانین CSS را به صفحات خود اضافه کنید، همچنین قابلیت اعمال استایلهای سفارشی به صورت دینامیکی نیز فراهم شده است.3. ادغام آسان با اسکریپتهای JavaScript: این ماژول به شما اجازه میدهد تا اسکریپتهای JavaScript را به صفحات خود اضافه کنید، که این امر برای ساخت صفحات وب تعاملی و دارای امکانات پیچیده بسیار حیاتی است.
4. قابلیت افزودن پلاگینها: شما میتوانید پلاگینهای خارجی را به صفحات خود اضافه کنید، که این کار به شما امکانات بیشتری را برای بهبود و افزایش عملکرد صفحات وبتان میدهد.
5. پشتیبانی از کامپوننتها: این ماژول به شما این امکان را میدهد که کامپوننتهای قابل استفاده مجدد تعریف کرده و در صفحات مختلف خود استفاده کنید، که این امر به سازماندهی بهتر کدها و افزایش قابلیت اطمینان وبسایت شما کمک میکند.
6. پشتیبانی از واکنشگرایی: صفحات ساخته شده با
htmlpy12
به صورت خودکار برای دستگاههای مختلف بهینه میشوند، که این ویژگی اهمیت زیادی برای تجربه کاربری بهتر دارد.7. سادگی و استفاده آسان:
htmlpy12
به گونهای طراحی شده است که حتی کاربران تازه وارد به دنیای برنامهنویسی وب نیز بتوانند به راحتی از آن استفاده کنند، بدون نیاز به دانش عمیق برنامهنویسی.با توجه به این ویژگیها،
htmlpy12
ابزاری مناسب برای هر کسی است که به دنبال ساخت صفحات وب زیبا، پویا و تعاملی باشد، و توانایی ارائه یک تجربه کاربری بینظیر را دارد که از طریق افزودن دینامیک عناصر، استایلها، اسکریپتها و پشتیبانی از کامپوننتها به وجود میآید.🌟 آموزش ترفند خفن با شیءگرایی در پایتون! 🌟
سلام به همه دوستان برنامهنویس! امروز میخوام یه ترفند خیلی خفن و پیشرفته رو با استفاده از شیءگرایی در پایتون بهتون آموزش بدم. با این ترفند میتونید کدهاتون رو حرفهایتر و تمیزتر بنویسید. پس بریم سراغ آموزش!
1. تعریف یک کلاس با متدهای جادویی
متدهای جادویی، متدهایی هستن که با دو خط زیر و دو خط بالا محصور شدن. این متدها به پایتون اجازه میدن رفتارهای خاصی برای کلاسها تعریف کنیم. توی این مثال، یه کلاس وکتور (Vector) میسازیم که قابلیت جمع، ضرب و محاسبه طول رو داره.
amulمع دو وکتور،
دکوراتورها به ما اجازه میدن که به سادگی قابلیتهای جدید به توابع و متدها اضافه کنیم. در این مثال، یه دکوراتور به نام
با استفاده از این دکوراتور، هر بار که تابع
نتیجهگیری
با استفاده از این ترفندهای پیشرفته میتونید کلاسهای پایتون خودتون رو قدرتمندتر و خواناتر کنید. استفاده از متدهای جادویی و دکوراتورها نه تنها به شما کمک میکنه که کد خودتون رو سازماندهی کنید، بلکه باعث میشه که قابلیتهای بیشتری به کلاسهای خودتون اضافه کنید.
[بیا تو کانال من تا بیشتر یاد بگیری]
#برنامهنویسی #پایتون #آموزش #شیءگرایی #ترفند
سلام به همه دوستان برنامهنویس! امروز میخوام یه ترفند خیلی خفن و پیشرفته رو با استفاده از شیءگرایی در پایتون بهتون آموزش بدم. با این ترفند میتونید کدهاتون رو حرفهایتر و تمیزتر بنویسید. پس بریم سراغ آموزش!
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! 🌟
سلام به همه دوستان برنامهنویس! امروز میخوام در مورد یک ویژگی کمتر شناختهشده و خیلی ناشناخته در پایتون صحبت کنم که کمتر کسی در موردش آموزش داده:
1. آشنایی با
2. مزایای استslot
- صرفهجویی درslot
- سرعت دسترسی بیشتر: دسترسی به صفات با استslot
3. محدوslot
- عدم انعطافپذیری: شما فقط میتونید صفات تعریفslot
- ناسازگاری با برخی ویژگیها: برخی ویژگیهای پایتون مثل صفات داینامیک یا استفاده از متا کلاسها مslot
4. مثالی عملی
بیایید یک مثال عملیتر ببینیم slot
نتیجه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. مزایای استslot
s_slots__
- صرفهجویی درslot
s_slots__
باعث کاهش مصرف حافظه میشه چون دیگه نیازی به دیکشنری داخلی نیست.- سرعت دسترسی بیشتر: دسترسی به صفات با استslot
s_slots__
سریعتره چون از ساختارهای داده بهینهتر استفاده میکنه.3. محدوslot
s_slots__
- عدم انعطافپذیری: شما فقط میتونید صفات تعریفslot
s_slots__
رو به اشیاء اضافه کنید.- ناسازگاری با برخی ویژگیها: برخی ویژگیهای پایتون مثل صفات داینامیک یا استفاده از متا کلاسها مslot
s_slots__
سازگار نباشند.4. مثالی عملی
بیایید یک مثال عملیتر ببینیم slot
s_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__
, میتونید مصرف حافظه کلاسهای پایتون رو بهینه کنید و دسترسی سریعتری به صفات داشته باشید. این ویژگی مخصوصاً در برنامههایی که با تعداد زیادی از اشیاء سر و کار دارند، میتونه بسیار مفید باشه.(بیا تو کانال من تا بیشتر یاد بگیری)
#برنامهنویسی #پایتون #آموزش
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍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
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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
🔔 آموزش یکی از ترسناکترین الگوریتمها در پایتون: 🕵️♂️🔍
سلام دوستان! میخوام درباره یکی از پیچیدهترین و ترسناکترین الگوریتمها در پایتون صحبت کنم:
الگوریتم صفحهبندی LRU (Least Recently Used).
این الگوریتم به خصوص در مدیریت حافظه و کشها کاربرد داره. ممکنه در ابتدا ترسناک به نظر برسه، اما با فهم دقیق و تمرین، میتونید این الگوریتم رو به راحتی پیادهسازی کنید. پس بریم سراغ آموزش!
1. الگوریتم LRU چیه؟
الگوریتم LRU برای مدیریت حافظه و کشها استفاده میشه. این الگوریتم قدیمیترین آیتمهای استفاده نشده را از حافظه حذف میکند تا جا برای آیتمهای جدید باز شود.
2. ساختار دادههای مورد نیاز
برای پیادهسازی LRU از یک دیکشنری و یک لیست دوطرفه استفاده میکنیم. دیکشنری برای جستجوی سریع و لیست دوطرفه برای نگهداری ترتیب استفاده از آیتمها.
3. پیادهسازی LRU Cache
بیایید با هم یک LRU Cache را پیادهسازی کنیم:
4. نحوه استفاده از LRU Cache
حالا بیایید یک نمونه از استفاده از LRU Cache را ببینیم:
نتیجهگیری
الگوریتم LRU یکی از پیچیدهترین و کارآمدترین الگوریتمها برای مدیریت حافظه و کش است. با استفاده از دیکشنری و لیست دوطرفه، میتوانید این الگوریتم را به راحتی در پایتون پیادهسازی کنید.
الگوریتم های بیشتر توی کانال ما
#برنامهنویسی #پایتون #آموزش #الگوریتم #LRU
سلام دوستان! میخوام درباره یکی از پیچیدهترین و ترسناکترین الگوریتمها در پایتون صحبت کنم:
الگوریتم صفحهبندی 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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍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
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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍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
سلام دوستان عزیز! 👋
به دوره جامع آموزش پایتون از 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. ایجاد فایل جدید:
یک فایل جدید با پسوند
3. نوشتن کد:
کد زیر را در فایل خود بنویسید:
4. ذخیره و اجرای فایل:
- فایل را ذخیره کنید.
- برای اجرای فایل:
- در Visual Studio Code: روی دکمه "Run" کلیک کنید. ▶️
- در خط فرمان: دستور
اگر همه چیز درست انجام شده باشد، باید خروجی زیر را ببینید:
تبریک میگوییم! شما اولین برنامه پایتون خود را با موفقیت اجرا کردید. 🎉
🎯 خلاصه
در این جلسه:
- پایتون را دانلود و نصب کردید.
- یک ویرایشگر متنی نصب کردید.
- اولین برنامه پایتون خود را نوشتید و اجرا کردید.
🔜 ادامه دوره
در جلسه بعدی، به متغیرها و انواع دادهها در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
پارت 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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍7
الگوریتم Time-Interval Sorting در پایتون 🚀
این الگوریتم به شما کمک میکنه تا دادهها رو بر اساس بازههای زمانی مرتب کنید. 📅⏳ این برای زمانی که دارید با دادههای رویدادی (مثل رویدادهای تقویمی، لاگهای سرور و...) کار میکنید خیلی مفیده. 💡
مثال 📝
بیایید این کد رو خط به خط بررسی کنیم:
1. تعریف تابع: در ابتدا، ما یک تابع به نام
2. مرتبسازی: داخل تابع، ما از تابع
3. برگشت نتیجه: در نهایت، لیست مرتبشده را برمیگردانیم. 🏁
4. مثال کاربردی: حالا یک مثال از بازههای زمانی داریم و از تابع استفاده میکنیم تا آنها را مرتب کنیم. 📝
اجرای کد 💻
با اجرای این کد، خروجی به صورت زیر خواهد بود:
بیایید نگاه دقیقتری به عملکرد این الگوریتم بندازیم:
- Lambda Function: تابع
- Sorted Function: تابع
- Complexity: زمان اجرای این الگوریتم
کاربردهای عملی 🌟
این الگوریتم در بسیاری از موارد کاربرد دارد:
- مدیریت زمانبندی: مرتبسازی جلسات، وظایف، یا هر نوع رویداد دیگری که دارای زمان شروع و پایان هستند.
- تحلیل لاگها: مرتبسازی لاگهای سرور برای تحلیل بهتر.
- تجزیه و تحلیل دادهها: مرتبسازی دادههای زمانی برای تحلیل روندها و الگوها.
[اموزش های بیشتر کانال ما]
#Python #Programming #CodingTips #LearnPython
این الگوریتم به شما کمک میکنه تا دادهها رو بر اساس بازههای زمانی مرتب کنید. 📅⏳ این برای زمانی که دارید با دادههای رویدادی (مثل رویدادهای تقویمی، لاگهای سرور و...) کار میکنید خیلی مفیده. 💡
مثال 📝
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
👍2❤1
👨💻👩💻 آیا به دنبال مشاوره از برنامهنویسان ماهر هستید؟ اینجا جایی است که میتوانید بهترین کمکها را دریافت کنید!
🔍👨🏫 از برنامهنویسان حرفهای ما کمک بگیرید و مهارتهای خود را به سطح بعدی ببرید. هر سوالی دارید، اینجا پاسخ داده میشود!
🔧👩💻 به جامعهای پویا و حرفهای بپیوندید و از تجربیات دیگران بهرهمند شوید. ما اینجا هستیم تا به شما کمک کنیم تا موفق شوید.
📚🌟 بیایید با هم یاد بگیریم و رشد کنیم. به گروه ما بپیوندید و از مشاورهها و منابع ارزشمند بهرهمند شوید.
📲 لینک عضویت: [گروه مشاوره برنامهنویسان]
🧑🏫لینک کانال آموزش پایتون: [کانال اموزشی پایتون]
📢 منتظرتون هستیم! بپیوندید و دوستان جدید پیدا کنید. 🌐
🔍👨🏫 از برنامهنویسان حرفهای ما کمک بگیرید و مهارتهای خود را به سطح بعدی ببرید. هر سوالی دارید، اینجا پاسخ داده میشود!
🔧👩💻 به جامعهای پویا و حرفهای بپیوندید و از تجربیات دیگران بهرهمند شوید. ما اینجا هستیم تا به شما کمک کنیم تا موفق شوید.
📚🌟 بیایید با هم یاد بگیریم و رشد کنیم. به گروه ما بپیوندید و از مشاورهها و منابع ارزشمند بهرهمند شوید.
📲 لینک عضویت: [گروه مشاوره برنامهنویسان]
🧑🏫لینک کانال آموزش پایتون: [کانال اموزشی پایتون]
📢 منتظرتون هستیم! بپیوندید و دوستان جدید پیدا کنید. 🌐
❤4
🎮✨ معرفی موتورهای بازیسازی با پایتون ✨🎮
اگر علاقهمند به ساخت بازیهای سهبعدی هستید و میخواهید از زبان برنامهنویسی پایتون استفاده کنید، این موتورهای بازیسازی میتوانند برای شما مفید باشند:
1. Panda3D 🐼
- توضیحات: Panda3D یک موتور بازیسازی سهبعدی منبعباز است که توسط Disney و Carnegie Mellon University توسعه داده شده است. این موتور به شما امکان میدهد بازیهای سهبعدی و شبیهسازهای تعاملی بسازید.
- ویژگیها: پشتیبانی از پایتون و C++، سیستم رندرینگ قوی، ابزارهای فیزیک و برخورد، ویرایشگر صحنه داخلی.
- نصب:
- وبسایت: [Panda3D]
2. Godot 🕹️
- توضیحات: Godot یک موتور بازیسازی چندسکویی منبعباز است که از زبان GDScript (زبان اختصاصی موتور) و همچنین از پایتون (از طریق افزودنیها) پشتیبانی میکند. این موتور برای ساخت بازیهای دوبعدی و سهبعدی مناسب است.
- ویژگیها: محیط توسعه یکپارچه، پشتیبانی از پایتون از طریق افزونهها، ابزارهای قدرتمند برای طراحی صحنه و اسکریپتنویسی.
- نصب: افزونه پایتون را از Godot Asset Library دانلود و نصب کنید.
- وبسایت: [Godot Engine]
3. Ursina 🎲
- توضیحات: Ursina یک موتور بازیسازی جدید و ساده برای پایتون است که بیشتر برای ساخت بازیهای سهبعدی کوچک و متوسط مناسب است. این موتور با هدف سادهسازی فرآیند توسعه بازی ساخته شده است.
- ویژگیها: ساده و یادگیری سریع، پشتیبانی از شیدرها، امکان ساخت بازیهای واقعیت مجازی (VR).
- نصب:
- وبسایت: [Ursina]
4. Pygame 🕹️
- توضیحات: Pygame یک کتابخانه معروف برای ساخت بازیهای دوبعدی است، اما با استفاده از کتابخانههای اضافی مانند OpenGL میتوانید بازیهای سهبعدی نیز بسازید.
- ویژگیها: پشتیبانی گسترده از بازیهای دوبعدی، قابلیت استفاده از OpenGL برای سهبعدیسازی.
- نصب:
- وبسایت: [Pygame]
📢 برای یادگیری بیشتر و دریافت آموزشهای عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]
اگر علاقهمند به ساخت بازیهای سهبعدی هستید و میخواهید از زبان برنامهنویسی پایتون استفاده کنید، این موتورهای بازیسازی میتوانند برای شما مفید باشند:
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]
📢 برای یادگیری بیشتر و دریافت آموزشهای عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]
www.panda3d.org
Panda3D | Open Source Framework for 3D Rendering & Games
Panda3D is an open-source, cross-platform, completely free-to-use engine for realtime 3D games, visualizations, simulations, experiments — you name it! Its rich feature set readily tailors to your specific workflow and development needs.
🌟✨ جدیدترین قابلیت پایتون 3.11 که شاید هنوز نمیدانید! ✨🌟
سلام به همه برنامهنویسان عزیز! 👋
پایتون 3.11 با یک قابلیت جدید و جذاب آمده که مدیریت استثناها را بهبود میبخشد: Exception Groups و except\ 🎉🐍
🌐 Exception Groups و except\
🔹 تعریف Exception Groups:
در پایتون 3.11، میتوانید گروههایی از استثناها را با استفاده از
🔹 نحوه استفاده از Exception Groups:
برای استفاده از Exception Groups و مدیریت آنها با
🔹 مزایای استفاده از Exception Groups:
1. مدیریت سادهتر: این قابلیت به شما اجازه میدهد تا کد تمیزتر و قابل فهمتری بنویسید. 📜✨
2. انعطافپذیری بیشتر: میتوانید چندین استثنا را به صورت همزمان مدیریت کنید. 💡
برای اطلاعات بیشتر و دریافت آموزشهای عملی، به کانال ما بپیوندید: [کانال آموزش پایتون]🚀📚
#پایتون #Python #برنامه_نویسی #ExceptionGroups #پایتون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 #آموزش #کانال_تلگرام
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
📚 دوره آموزش پایتون از 0 تا 100
پارت 2: متغیرها و انواع دادهها
سلام دوستان عزیز! 👋
به دومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با مفاهیم متغیرها و انواع دادهها در پایتون آشنا شویم. این مبانی پایهای برای تمامی برنامهنویسیها و پروژههای بعدی ما خواهد بود. بیایید شروع کنیم! 🚀
💡 متغیرها چیستند؟
متغیرها مکانهایی در حافظه هستند که دادهها را ذخیره میکنند. به عبارت دیگر، متغیرها به ما اجازه میدهند که مقادیر را ذخیره و از آنها در برنامههای خود استفاده کنیم.
📝 تعریف متغیرها
برای تعریف یک متغیر در پایتون، کافی است یک نام به آن اختصاص دهیم و مقداری به آن انتساب دهیم. به عنوان مثال:
در مثال بالا:
-
-
-
🔢 انواع دادهها در پایتون
پایتون انواع مختلفی از دادهها را پشتیبانی میکند. در زیر به برخی از مهمترین انواع دادهها اشاره میکنیم:
1. اعداد صحیح (int):
- برای ذخیره اعداد صحیح استفاده میشود.
- مثال:
2. اعداد اعشاری (float):
- برای ذخیره اعداد اعشاری استفاده میشود.
- مثال:
3. رشتهها (str):
- برای ذخیره متن استفاده میشود.
- مثال:
4. بولین (bool):
- برای ذخیره مقادیر درست (True) یا نادرست (False) استفاده میشود.
- مثال:
🔄 تبدیل انواع دادهها
در پایتون، میتوان انواع دادهها را به یکدیگر تبدیل کرد. این کار با استفاده از توابع داخلی پایتون انجام میشود. به عنوان مثال:
🎯 مثالهای عملی
1. مثال 1: جمع دو عدد صحیح
خروجی:
2. مثال 2: اتصال دو رشته
خروجی:
3. مثال 3: استفاده از مقادیر بولین
خروجی:
🎯 خلاصه
در این جلسه:
- با مفهوم متغیرها آشنا شدیم.
- انواع دادههای پایه در پایتون را یاد گرفتیم.
- با نحوه تبدیل انواع دادهها آشنا شدیم.
- مثالهای عملی برای درک بهتر مفاهیم ارائه دادیم.
🔜 ادامه دوره
در جلسه بعدی، به عملیات ریاضی و منطقی در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python #Programming #PythonCourse
پارت 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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
📚 دوره آموزش پایتون از 0 تا 100
پارت 3: عملیات ریاضی و منطقی
سلام دوستان عزیز! 👋
به سومین پارت از دوره جامع آموزش پایتون خوش آمدید! 🎉
در این جلسه، قصد داریم با عملیات ریاضی و منطقی در پایتون آشنا شویم. این عملیاتها پایه و اساس بسیاری از برنامهها و الگوریتمهای برنامهنویسی هستند. بیایید شروع کنیم! 🚀
➕ عملیات ریاضی
پایتون عملیات ریاضی مختلفی را پشتیبانی میکند. در زیر به برخی از مهمترین آنها اشاره میکنیم:
1. جمع (+):
2. تفریق (-):
3. ضرب (*):
4. تقسیم (/):
5. توان ():**
6. باقیمانده (٪):
7. تقسیم صحیح (//):
🔄 اولویت عملیات ریاضی
اولویت عملیات ریاضی در پایتون مشابه ریاضیات معمول است:
1. پرانتزها
2. توان
3. ضرب، تقسیم، تقسیم صحیح و باقیمانده
4. جمع و تفریق
مثال:
🔍 عملیات منطقی
پایتون همچنین عملیات منطقی مختلفی را پشتیبانی میکند که برای مقایسه و ترکیب شرایط استفاده میشود. در زیر به برخی از مهمترین آنها اشاره میکنیم:
1. مساوی بودن (==):
2. نامساوی (!=):
3. بزرگتر از (>):
4. کوچکتر از (<):
5. بزرگتر یا مساوی (>=):
6. کوچکتر یا مساوی (<=):
7. عملگر منطقی
8. عملگر منطقی
9. عملگر منطقی
🎯 مثالهای عملی
1. مثال 1: محاسبه مساحت یک مستطیل
2. مثال 2: بررسی شرایط سن
3. مثال 3: بررسی شرایط متعدد
🎯 خلاصه
در این جلسه:
- با عملیات ریاضی در پایتون آشنا شدیم.
- اولویت عملیات ریاضی را یاد گرفتیم.
- با عملیات منطقی و کاربردهای آنها آشنا شدیم.
- مثالهای عملی برای درک بهتر مفاهیم ارائه دادیم.
🔜 ادامه دوره
در جلسه بعدی، به دستورات شرطی در پایتون خواهیم پرداخت. منتظر باشید! 😉
[اموزش های بیشتر کانال ما]
#پایتون #آموزش_پایتون #برنامه_نویسی #دوره_آموزشی #Python
پارت 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