📰 اخبار مهم امروز از دنیای پایتون!
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 #داده_کاوی #بازار_کار #پروژه_متن_باز
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 #داده_کاوی #بازار_کار #پروژه_متن_باز
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
🔤 آموزش کامل متدهای کار با رشتهها در پایتون 🔤
سلام دوستان! امروز قصد دارم دربارهی متدهای مختلف کار با رشتهها در زبان برنامهنویسی پایتون صحبت کنم. رشتهها یکی از پرکاربردترین نوع دادهها در پایتون هستند و آشنایی با متدهای آنها میتواند کدنویسی را بسیار سادهتر کند. بیایید شروع کنیم! 🚀
1.
این متد تمام حروف رشته را به حروف کوچک تبدیل میکند.
2.
این متد تمام حروف رشته را به حروف بزرگ تبدیل میکند.
3.
این متد حرف اول رشته را به حروف بزرگ و بقیه را به حروف کوچک تبدیل میکند.
4.
این متد حرف اول هر کلمه در رشته را به حروف بزرگ تبدیل میکند.
5.
این متد فاصلههای خالی در ابتدای و انتهای رشته را حذف میکند.
6.
این متد بررسی میکند که آیا رشته با زیررشتهی خاصی شروع میشود یا نه.
7.
این متد بررسی میکند که آیا رشته با زیررشتهی خاصی پایان مییابد یا نه.
8.
این متد یک زیررشته را با زیررشتهای دیگر در رشته جایگزین میکند.
9.
این متد رشته را بر اساس یک جداکننده خاص جدا کرده و به لیست تبدیل میکند.
10.
این متد عناصر یک لیست را با استفاده از یک جداکننده خاص به یکدیگر متصل میکند.
11.
این متد اولین موقعیت یک زیررشته را در رشته پیدا میکند. اگر زیررشته وجود نداشته باشد، -1 برمیگرداند.
12.
این متد اولین موقعیت یک زیررشته را در رشته پیدا میکند. اگر زیررشته وجود نداشته باشد، خطا برمیگرداند.
13.
این متد تعداد تکرار یک زیررشته در رشته را شمارش میکند.
14.
این متد بررسی میکند که آیا همه کاراکترهای رشته اعداد هستند یا نه.
15.
این متد طول رشته را به طول مشخصی میرساند و با اضافه کردن صفر از سمت چپ، رشته را پر میکند.
16.
این متد حروف بزرگ را به کوچک و حروف کوچک را به بزرگ تبدیل میکند.
17.
این متد رشتهها را با استفاده از جایگزینی قالببندی میکند.
18.
این متد رشته را به طول مشخصی میرساند و از سمت چپ با کاراکتر خاصی پر میکند.
19.
این متد رشته را به طول مشخصی میرساند و از سمت راست با کاراکتر خاصی پر میکند.
این هم از متدهای کار با رشتهها در پایتون! امیدوارم این آموزش براتون مفید باشه و ازش استفاده کنید. هر سوالی داشتید، حتما بپرسید. 😊✨
🔻برای بیشتر یاد گرفتن اینجا کلیک کن
#Python #Programming #Coding #Strings #Learning #PythonTips
سلام دوستان! امروز قصد دارم دربارهی متدهای مختلف کار با رشتهها در زبان برنامهنویسی پایتون صحبت کنم. رشتهها یکی از پرکاربردترین نوع دادهها در پایتون هستند و آشنایی با متدهای آنها میتواند کدنویسی را بسیار سادهتر کند. بیایید شروع کنیم! 🚀
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
ساخت کلاس و متدها در پایتون
ابتدا یک کلاس ساده به نام
توضیحشin
-
-
-
-
استفاده از کلاس و متدها
حال میتوانیم از کلاس
توضیحش
- با استفاده از
- سپس متدهای مختلف را با استفاده از
نکات مهم
1. متدهای یک کلاس همیشه باید حداقل یک پارامتر داشته باشند که به طور معمول
2. شما میتوانید متدهای کلاس را برای انجام هر عملیاتی که میخواهید تعریف کنید. این متدها میتوانند پارامترهای اضافی داشته باشند و هر عملیاتی را که نیاز دارید انجام دهند.
امیدوارم این آموزش به شما کمک کرده باشد که بفهمید چطور میتوانید متدهای خود را در پایتون تعریف کنید و از آنها استفاده کنید. هر سوالی داشتید، حتماً بپرسید! 😊✨
🔻برای بیشتر یاد گرفتن اینجا کلیک کن
#Python #Programming #OOP #Methods #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}")
توضیحشin
itit__ ی
ک متد ویژه است که به عنوان سازنده (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
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3
سلام دوستان ، ببخشید فعالیت کم شده ، به دلیل اینکه هم من هم مدیر کانال سر کار میریم و وقتی برای پست گذاشتن نداریم ، سعی میکنم براتون ساعت هایی که کار ندارم پست بزارم ، ممنون که درک میکنید❤️
امنیت از طریق عدم شفافیت (Security through Obscurity) در لینوکس 🛡️🐧
یکی از مفاهیم جذاب و بحثبرانگیز در دنیای امنیت اطلاعات، مفهوم "امنیت از طریق عدم شفافیت" (Security through Obscurity) است. این روش به معنای پنهان کردن جزئیات سیستم به منظور افزایش امنیت است. در این مطلب به بررسی این مفهوم در سیستمعامل لینوکس میپردازیم. 🖥️🔍
توضیحات:
- امنیت از طریق عدم شفافیت (Security through Obscurity):
- این رویکرد بر این اصل استوار است که با پنهان کردن اطلاعات، احتمال کشف و بهرهبرداری از نقاط ضعف کاهش مییابد.
- به طور خاص، این روش به جای اصلاح مشکلات امنیتی، تلاش میکند تا دسترسی به اطلاعات حساس را محدود کند.
مثالهایی از استفاده در لینوکس:
1. پنهان کردن نسخه هسته (Kernel) لینوکس:
- در بسیاری از توزیعهای لینوکس، نسخه دقیق هسته در فایل
- با پنهان کردن یا تغییر این اطلاعات، دسترسی به اطلاعاتی که ممکن است به هکرها کمک کند، کاهش مییابد.
2. پیکربندی SSH:
- در فایل تنظیمات SSH، میتوانید نسخه نرمافزار SSH و بنر خوشآمدگویی را تغییر دهید تا اطلاعات کمتر قابل دسترس باشد.
3. پنهان کردن سرویسها:
- پنهان کردن سرویسهای در حال اجرا از طریق پیکربندی فایروال و ابزارهای نظارتی مثل
مزایا و معایب:
- مزایا:
- کاهش سطح دسترسی به اطلاعات حساس.
- کاهش احتمال حملات خودکار.
- معایب:
- ایجاد یک حس کاذب از امنیت.
- عدم توانایی در جایگزینی روشهای امنیتی اساسی.
نتیجهگیری:
"امنیت از طریق عدم شفافیت" یک لایه اضافی از امنیت فراهم میکند، اما نباید به عنوان تنها روش امنیتی مورد استفاده قرار گیرد. استفاده از روشهای امنیتی قویتر مانند بهروزرسانی مداوم، پیکربندی صحیح و نظارت مداوم بر سیستمها نیز ضروری است. 🛡️🔒
🔻برای دونستن چیزای بیشتر اینجا کلیک کن
#امنیت #لینوکس #آموزش_برنامه_نویسی #سیستم_عامل #امنیت_شبکه #پروژه_های_پایتون
یکی از مفاهیم جذاب و بحثبرانگیز در دنیای امنیت اطلاعات، مفهوم "امنیت از طریق عدم شفافیت" (Security through Obscurity) است. این روش به معنای پنهان کردن جزئیات سیستم به منظور افزایش امنیت است. در این مطلب به بررسی این مفهوم در سیستمعامل لینوکس میپردازیم. 🖥️🔍
توضیحات:
- امنیت از طریق عدم شفافیت (Security through Obscurity):
- این رویکرد بر این اصل استوار است که با پنهان کردن اطلاعات، احتمال کشف و بهرهبرداری از نقاط ضعف کاهش مییابد.
- به طور خاص، این روش به جای اصلاح مشکلات امنیتی، تلاش میکند تا دسترسی به اطلاعات حساس را محدود کند.
مثالهایی از استفاده در لینوکس:
1. پنهان کردن نسخه هسته (Kernel) لینوکس:
- در بسیاری از توزیعهای لینوکس، نسخه دقیق هسته در فایل
/proc/version
قابل مشاهده است.- با پنهان کردن یا تغییر این اطلاعات، دسترسی به اطلاعاتی که ممکن است به هکرها کمک کند، کاهش مییابد.
echo "kernel_version_string" > /proc/version
2. پیکربندی SSH:
- در فایل تنظیمات SSH، میتوانید نسخه نرمافزار SSH و بنر خوشآمدگویی را تغییر دهید تا اطلاعات کمتر قابل دسترس باشد.
# در فایل sshd_config
Banner /etc/issue.net
# در فایل issue.net
Unauthorized access is prohibited
3. پنهان کردن سرویسها:
- پنهان کردن سرویسهای در حال اجرا از طریق پیکربندی فایروال و ابزارهای نظارتی مثل
netstat
و lsof
.# استفاده از iptables برای فیلتر کردن پورتها
iptables -A INPUT -p tcp --dport 22 -j DROP
مزایا و معایب:
- مزایا:
- کاهش سطح دسترسی به اطلاعات حساس.
- کاهش احتمال حملات خودکار.
- معایب:
- ایجاد یک حس کاذب از امنیت.
- عدم توانایی در جایگزینی روشهای امنیتی اساسی.
نتیجهگیری:
"امنیت از طریق عدم شفافیت" یک لایه اضافی از امنیت فراهم میکند، اما نباید به عنوان تنها روش امنیتی مورد استفاده قرار گیرد. استفاده از روشهای امنیتی قویتر مانند بهروزرسانی مداوم، پیکربندی صحیح و نظارت مداوم بر سیستمها نیز ضروری است. 🛡️🔒
🔻برای دونستن چیزای بیشتر اینجا کلیک کن
#امنیت #لینوکس #آموزش_برنامه_نویسی #سیستم_عامل #امنیت_شبکه #پروژه_های_پایتون
👍4
پارت ۱۵: پروژه ۱ - مدیریت مخاطبین 📞📝
در این پارت، یک پروژه عملی برای مدیریت مخاطبین را پیادهسازی میکنیم. هدف این پروژه آشنایی با مفاهیم پایهای مانند کار با فایلها، دیکشنریها، و توابع است.
۱. تعریف ساختار پروژه
این پروژه شامل قابلیتهای زیر خواهد بود:
- اضافه کردن مخاطب جدید
- نمایش لیست مخاطبین
- جستجو در مخاطبین
- حذف مخاطب
- ذخیره و بازیابی مخاطبین در فایل
۲. ایجاد فایل اصلی پروژه
ابتدا فایل اصلی پروژه را ایجاد کنید و ساختار اولیه آن را پیادهسازی کنید.
۳. توضیحات هر تابع
- تابع
- تابع
- تابع
- تابع
- تابع
- تابع
- تابع
۴. نکات مهم
- مدیریت فایل: برای ذخیره و بارگذاری مخاطبین از فایل JSON استفاده شده است تا بتوانیم دادهها را بین اجراهای مختلف برنامه حفظ کنیم.
- پیشگیری از خطا: در حذف مخاطب، اطمینان حاصل میشود که شماره وارد شده معتبر است.
- تعامل با کاربر: اطلاعات مخاطب را از ورودی کاربر گرفته و نتیجه عملیات را به کاربر نمایش میدهد.
🔻اینجا کلیک کن برای آموزش های بیشتر
#پایتون #آموزش_پایتون #پروژه_پایتون #مدیریت_مخاطبین #PythonProjects #ContactsManagement
در این پارت، یک پروژه عملی برای مدیریت مخاطبین را پیادهسازی میکنیم. هدف این پروژه آشنایی با مفاهیم پایهای مانند کار با فایلها، دیکشنریها، و توابع است.
۱. تعریف ساختار پروژه
این پروژه شامل قابلیتهای زیر خواهد بود:
- اضافه کردن مخاطب جدید
- نمایش لیست مخاطبین
- جستجو در مخاطبین
- حذف مخاطب
- ذخیره و بازیابی مخاطبین در فایل
۲. ایجاد فایل اصلی پروژه
ابتدا فایل اصلی پروژه را ایجاد کنید و ساختار اولیه آن را پیادهسازی کنید.
import json
# مسیر فایل ذخیره مخاطبین
CONTACTS_FILE = 'contacts.json'
def load_contacts():
"""بارگذاری مخاطبین از فایل"""
try:
with open(CONTACTS_FILE, 'r') as file:
return json.load(file)
except FileNotFoundError:
return []
def save_contacts(contacts):
"""ذخیره مخاطبین در فایل"""
with open(CONTACTS_FILE, 'w') as file:
json.dump(contacts, file, indent=4)
def add_contact(contacts):
"""اضافه کردن مخاطب جدید"""
name = input("نام: ")
phone = input("شماره تلفن: ")
email = input("ایمیل: ")
contact = {
'name': name,
'phone': phone,
'email': email
}
contacts.append(contact)
print("مخاطب جدید اضافه شد.")
def display_contacts(contacts):
"""نمایش لیست مخاطبین"""
for idx, contact in enumerate(contacts, start=1):
print(f"{idx}. {contact['name']} - {contact['phone']} - {contact['email']}")
def search_contacts(contacts):
"""جستجو در مخاطبین"""
search_name = input("نام برای جستجو: ")
found_contacts = [c for c in contacts if search_name.lower() in c['name'].lower()]
if found_contacts:
for contact in found_contacts:
print(f"{contact['name']} - {contact['phone']} - {contact['email']}")
else:
print("مخاطبی پیدا نشد.")
def delete_contact(contacts):
"""حذف مخاطب"""
display_contacts(contacts)
idx = int(input("شماره مخاطب برای حذف: ")) - 1
if 0 <= idx < len(contacts):
deleted_contact = contacts.pop(idx)
print(f"مخاطب {deleted_contact['name']} حذف شد.")
else:
print("شماره نامعتبر است.")
def main():
contacts = load_contacts()
while True:
print("\nمدیریت مخاطبین:")
print("1. اضافه کردن مخاطب")
print("2. نمایش لیست مخاطبین")
print("3. جستجو در مخاطبین")
print("4. حذف مخاطب")
print("5. خروج")
choice = input("انتخاب شما: ")
if choice == '1':
add_contact(contacts)
elif choice == '2':
display_contacts(contacts)
elif choice == '3':
search_contacts(contacts)
elif choice == '4':
delete_contact(contacts)
elif choice == '5':
save_contacts(contacts)
break
else:
print("انتخاب نامعتبر است.")
if __name__ == '__main__':
main()
۳. توضیحات هر تابع
- تابع
load_contacts
: مخاطبین را از فایل JSON بارگذاری میکند. اگر فایل موجود نباشد، یک لیست خالی برمیگرداند.- تابع
save_contacts
: مخاطبین را در فایل JSON ذخیره میکند.- تابع
add_contact
: اطلاعات یک مخاطب جدید را از کاربر میگیرد و به لیست مخاطبین اضافه میکند.- تابع
display_contacts
: لیست مخاطبین را با استفاده از یک حلقه چاپ میکند.- تابع
search_contacts
: نام وارد شده را جستجو کرده و مخاطبین مرتبط را نمایش میدهد.- تابع
delete_contact
: مخاطب مورد نظر را بر اساس شماره انتخاب شده از لیست حذف میکند.- تابع
main
: حلقه اصلی برنامه که منوی اصلی را نمایش داده و انتخاب کاربر را مدیریت میکند.۴. نکات مهم
- مدیریت فایل: برای ذخیره و بارگذاری مخاطبین از فایل JSON استفاده شده است تا بتوانیم دادهها را بین اجراهای مختلف برنامه حفظ کنیم.
- پیشگیری از خطا: در حذف مخاطب، اطمینان حاصل میشود که شماره وارد شده معتبر است.
- تعامل با کاربر: اطلاعات مخاطب را از ورودی کاربر گرفته و نتیجه عملیات را به کاربر نمایش میدهد.
🔻اینجا کلیک کن برای آموزش های بیشتر
#پایتون #آموزش_پایتون #پروژه_پایتون #مدیریت_مخاطبین #PythonProjects #ContactsManagement
👍2
پارت ۱۶: پروژه ۲ - ماشین حساب پیشرفته 🧮✨
در این پارت، یک ماشین حساب پیشرفته را با استفاده از پایتون پیادهسازی میکنیم که قابلیت انجام عملیات پایهای و پیشرفته ریاضی را دارد.
۱. تعریف ساختار پروژه
این پروژه شامل قابلیتهای زیر خواهد بود:
- انجام عملیات جمع، تفریق، ضرب و تقسیم
- محاسبه توان و ریشه
- انجام محاسبات مثلثاتی (سینوس، کسینوس و تانژانت)
- استفاده از توابع لگاریتم و نمایی
۲. ایجاد فایل اصلی پروژه
ابتدا فایل اصلی پروژه را ایجاد کنید و ساختار اولیه آن را پیادهسازی کنید.
۳. توضیحات هر تابع
- توابع عملیات پایهای:
- توابع عملیات پیشرفته:
- توابع مثلثاتی:
- توابع لگاریتم و نمایی:
- تابع
- تابع
در این پارت، یک ماشین حساب پیشرفته را با استفاده از پایتون پیادهسازی میکنیم که قابلیت انجام عملیات پایهای و پیشرفته ریاضی را دارد.
۱. تعریف ساختار پروژه
این پروژه شامل قابلیتهای زیر خواهد بود:
- انجام عملیات جمع، تفریق، ضرب و تقسیم
- محاسبه توان و ریشه
- انجام محاسبات مثلثاتی (سینوس، کسینوس و تانژانت)
- استفاده از توابع لگاریتم و نمایی
۲. ایجاد فایل اصلی پروژه
ابتدا فایل اصلی پروژه را ایجاد کنید و ساختار اولیه آن را پیادهسازی کنید.
import math
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
if y == 0:
return "تقسیم بر صفر امکانپذیر نیست!"
return x / y
def power(x, y):
return x ** y
def sqrt(x):
if x < 0:
return "جذر عدد منفی امکانپذیر نیست!"
return math.sqrt(x)
def sine(x):
return math.sin(math.radians(x))
def cosine(x):
return math.cos(math.radians(x))
def tangent(x):
return math.tan(math.radians(x))
def logarithm(x, base=10):
if x <= 0:
return "لگاریتم عدد صفر یا منفی امکانپذیر نیست!"
return math.log(x, base)
def exponential(x):
return math.exp(x)
def display_menu():
print("\nماشین حساب پیشرفته:")
print("1. جمع")
print("2. تفریق")
print("3. ضرب")
print("4. تقسیم")
print("5. توان")
print("6. جذر")
print("7. سینوس")
print("8. کسینوس")
print("9. تانژانت")
print("10. لگاریتم")
print("11. نمایی")
print("12. خروج")
def main():
while True:
display_menu()
choice = input("انتخاب شما: ")
if choice == '1':
x = float(input("عدد اول: "))
y = float(input("عدد دوم: "))
print(f"نتیجه: {add(x, y)}")
elif choice == '2':
x = float(input("عدد اول: "))
y = float(input("عدد دوم: "))
print(f"نتیجه: {subtract(x, y)}")
elif choice == '3':
x = float(input("عدد اول: "))
y = float(input("عدد دوم: "))
print(f"نتیجه: {multiply(x, y)}")
elif choice == '4':
x = float(input("عدد اول: "))
y = float(input("عدد دوم: "))
print(f"نتیجه: {divide(x, y)}")
elif choice == '5':
x = float(input("عدد اول: "))
y = float(input("توان: "))
print(f"نتیجه: {power(x, y)}")
elif choice == '6':
x = float(input("عدد: "))
print(f"نتیجه: {sqrt(x)}")
elif choice == '7':
x = float(input("زاویه (درجه): "))
print(f"نتیجه: {sine(x)}")
elif choice == '8':
x = float(input("زاویه (درجه): "))
print(f"نتیجه: {cosine(x)}")
elif choice == '9':
x = float(input("زاویه (درجه): "))
print(f"نتیجه: {tangent(x)}")
elif choice == '10':
x = float(input("عدد: "))
base = float(input("پایه (پیشفرض 10): ") or 10)
print(f"نتیجه: {logarithm(x, base)}")
elif choice == '11':
x = float(input("عدد: "))
print(f"نتیجه: {exponential(x)}")
elif choice == '12':
print("خروج از ماشین حساب...")
break
else:
print("انتخاب نامعتبر است.")
if __name__ == '__main__':
main()
۳. توضیحات هر تابع
- توابع عملیات پایهای:
add
, subtract
, multiply
, divide
برای انجام عملیات جمع، تفریق، ضرب و تقسیم.- توابع عملیات پیشرفته:
power
, sqrt
برای محاسبه توان و جذر.- توابع مثلثاتی:
sine
, cosine
, tangent
برای محاسبات مثلثاتی.- توابع لگاریتم و نمایی:
logarithm
, exponential
برای انجام محاسبات لگاریتمی و نمایی.- تابع
display_menu
: نمایش منوی اصلی.- تابع
main
: حلقه اصلی برنامه که منوی اصلی را نمایش داده و انتخاب کاربر را مدیریت میکند.👍1
۴. نکات مهم
- مدیریت خطاها: در توابع
- ورودی کاربر: برنامه از کاربر مقادیر ورودی را دریافت کرده و نتیجه محاسبات را نمایش میدهد.
- تابع
🔻برای آموزش های بیشتر اینجا کلیک کن
#پایتون #آموزش_پایتون #پروژه_پایتون #ماشین_حساب #PythonProjects #AdvancedCalculator
- مدیریت خطاها: در توابع
divide
, sqrt
و logarithm
برای جلوگیری از وقوع خطاها، بررسیهای لازم انجام شده است.- ورودی کاربر: برنامه از کاربر مقادیر ورودی را دریافت کرده و نتیجه محاسبات را نمایش میدهد.
- تابع
math
: برای انجام محاسبات پیچیدهتر از کتابخانه math
استفاده شده است.🔻برای آموزش های بیشتر اینجا کلیک کن
#پایتون #آموزش_پایتون #پروژه_پایتون #ماشین_حساب #PythonProjects #AdvancedCalculator
👍1
تشابهات زبان پایتون و C 🐍💻
سلام دوستان! امروز قصد دارم در مورد تشابهات بین دو زبان برنامهنویسی محبوب، پایتون و C صحبت کنم. هر دو زبان در دنیای برنامهنویسی بسیار مهم هستند و هر کدام ویژگیهای خاص خودشون رو دارند. در ادامه به برخی از تشابهات این دو زبان اشاره میکنم.
1. مفاهیم پایهای مشترک 📚
هر دو زبان پایتون و C از مفاهیم پایهای برنامهنویسی مانند متغیرها، توابع و ساختارهای کنترلی (if، for، while) استفاده میکنند. این مفاهیم پایهای در بیشتر زبانهای برنامهنویسی مشترک هستند و یادگیری یکی از این زبانها میتواند به یادگیری زبان دیگر کمک کند.
2. مدیریت حافظه 🔄
اگرچه مدیریت حافظه در C به صورت دستی انجام میشود (با استفاده از
3. استفاده از کتابخانهها 📚
هر دو زبان از کتابخانهها برای گسترش قابلیتها و انجام کارهای خاص استفاده میکنند. در C، کتابخانههای استاندارد مانند
4. استفاده در سیستمعاملها و توسعه سیستمهای نرمافزاری 🖥️
C به عنوان یکی از زبانهای پایهای برای نوشتن سیستمعاملها و نرمافزارهای سیستمی شناخته میشود. بسیاری از سیستمعاملها مانند Unix و Linux با استفاده از C نوشته شدهاند. از سوی دیگر، پایتون نیز به دلیل سادگی و قدرتش در توسعه اسکریپتها و ابزارهای مدیریتی سیستمعاملها به کار میرود.
5. قابلیتهای پردازش رشتهها 📝
هر دو زبان قابلیتهای قدرتمندی برای پردازش رشتهها دارند. در C، پردازش رشتهها با استفاده از آرایههای کاراکتر و توابع کتابخانهای مانند
6. پشتیبانی از توابع 📜
هر دو زبان پایتون و C از توابع برای سازماندهی و کپسولهسازی کد استفاده میکنند. توابع در هر دو زبان میتوانند ورودی بگیرند، خروجی بدهند و کدهای پیچیده را به بخشهای کوچکتر و قابل مدیریتتر تقسیم کنند.
امیدوارم این معرفی کوتاه از تشابهات پایتون و C برای شما مفید باشه! اگر سوالی دارید یا نکتهای هست که دوست دارید بیشتر بدونید، در نظرات بپرسید. 😊
🔻آموزش های بیشتر اینجاست
#پایتون #C #برنامه_نویسی #آموزش_برنامه_نویسی #تشابهات_زبان_های_برنامه_نویسی
سلام دوستان! امروز قصد دارم در مورد تشابهات بین دو زبان برنامهنویسی محبوب، پایتون و C صحبت کنم. هر دو زبان در دنیای برنامهنویسی بسیار مهم هستند و هر کدام ویژگیهای خاص خودشون رو دارند. در ادامه به برخی از تشابهات این دو زبان اشاره میکنم.
1. مفاهیم پایهای مشترک 📚
هر دو زبان پایتون و C از مفاهیم پایهای برنامهنویسی مانند متغیرها، توابع و ساختارهای کنترلی (if، for، while) استفاده میکنند. این مفاهیم پایهای در بیشتر زبانهای برنامهنویسی مشترک هستند و یادگیری یکی از این زبانها میتواند به یادگیری زبان دیگر کمک کند.
2. مدیریت حافظه 🔄
اگرچه مدیریت حافظه در C به صورت دستی انجام میشود (با استفاده از
malloc
و free
)، پایتون نیز از مدیریت حافظه استفاده میکند، اما به صورت خودکار. در پایتون، مدیریت حافظه با استفاده از سیستم جمعآوری زباله (Garbage Collection) انجام میشود. در هر دو زبان، اهمیت مدیریت بهینه حافظه به منظور جلوگیری از نشتی حافظه و بهبود عملکرد برنامه وجود دارد.3. استفاده از کتابخانهها 📚
هر دو زبان از کتابخانهها برای گسترش قابلیتها و انجام کارهای خاص استفاده میکنند. در C، کتابخانههای استاندارد مانند
stdio.h
و math.h
برای ورودی/خروجی و محاسبات ریاضی استفاده میشوند. در پایتون، کتابخانههای استاندارد و شخص ثالث زیادی مانند math
، numpy
و pandas
وجود دارند که برای انجام کارهای مختلف به کار میروند.4. استفاده در سیستمعاملها و توسعه سیستمهای نرمافزاری 🖥️
C به عنوان یکی از زبانهای پایهای برای نوشتن سیستمعاملها و نرمافزارهای سیستمی شناخته میشود. بسیاری از سیستمعاملها مانند Unix و Linux با استفاده از C نوشته شدهاند. از سوی دیگر، پایتون نیز به دلیل سادگی و قدرتش در توسعه اسکریپتها و ابزارهای مدیریتی سیستمعاملها به کار میرود.
5. قابلیتهای پردازش رشتهها 📝
هر دو زبان قابلیتهای قدرتمندی برای پردازش رشتهها دارند. در C، پردازش رشتهها با استفاده از آرایههای کاراکتر و توابع کتابخانهای مانند
strcpy
و strlen
انجام میشود. در پایتون، پردازش رشتهها با استفاده از کلاس str
و متدهای متعدد آن انجام میشود که کار با رشتهها را بسیار سادهتر میکند.6. پشتیبانی از توابع 📜
هر دو زبان پایتون و C از توابع برای سازماندهی و کپسولهسازی کد استفاده میکنند. توابع در هر دو زبان میتوانند ورودی بگیرند، خروجی بدهند و کدهای پیچیده را به بخشهای کوچکتر و قابل مدیریتتر تقسیم کنند.
امیدوارم این معرفی کوتاه از تشابهات پایتون و C برای شما مفید باشه! اگر سوالی دارید یا نکتهای هست که دوست دارید بیشتر بدونید، در نظرات بپرسید. 😊
🔻آموزش های بیشتر اینجاست
#پایتون #C #برنامه_نویسی #آموزش_برنامه_نویسی #تشابهات_زبان_های_برنامه_نویسی
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍8
آموزش استفاده از متدهای کاربردی پایتون برای مدیریت تاریخ و زمان 📅🕒
سلام دوستان! امروز قصد داریم در مورد مدیریت تاریخ و زمان با پایتون صحبت کنیم. این موضوع میتواند برای بسیاری از برنامههای کاربردی مهم باشد، از جمله برنامههای مالی، برنامههای ردیابی فعالیتها، و بسیاری موارد دیگر. بیایید با هم یاد بگیریم! 😊
1. وارد کردن کتابخانه datetime 📚
ابتدا کتابخانه
2. دریافت تاریخ و زمان فعلی 🕒
برای دریافت تاریخ و زمان فعلی، از متد
3. قالببندی تاریخ و زمان ⏰
میتوانیم تاریخ و زمان را به فرمتهای مختلف قالببندی کنیم. برای مثال:
4. کار با زمانهای دلخواه ⏳
برای ایجاد یک زمان دلخواه، از کلاس
5. محاسبات زمانی 🕰️
میتوانیم با استفاده از
6. تبدیل رشته به تاریخ و زمان 🔄
میتوانیم رشتههای متنی را به تاریخ و زمان تبدیل کنیم:
7. استفاده از کتابخانه pytz برای منطقههای زمانی 🌍
کتابخانه
8. جمعبندی 📜
مدیریت تاریخ و زمان در پایتون با استفاده از کتابخانههای
🔻آموزش های مفید بیشتر تو این کانال
#پایتون #برنامه_نویسی #تاریخ_زمان #مدیریت_زمان #آموزش #کتابخانه #datetime #pytz
سلام دوستان! امروز قصد داریم در مورد مدیریت تاریخ و زمان با پایتون صحبت کنیم. این موضوع میتواند برای بسیاری از برنامههای کاربردی مهم باشد، از جمله برنامههای مالی، برنامههای ردیابی فعالیتها، و بسیاری موارد دیگر. بیایید با هم یاد بگیریم! 😊
1. وارد کردن کتابخانه datetime 📚
ابتدا کتابخانه
datetime
را وارد میکنیم:import datetime
2. دریافت تاریخ و زمان فعلی 🕒
برای دریافت تاریخ و زمان فعلی، از متد
datetime.now()
استفاده میکنیم:now = datetime.datetime.now()
print("Current date and time:", now)
3. قالببندی تاریخ و زمان ⏰
میتوانیم تاریخ و زمان را به فرمتهای مختلف قالببندی کنیم. برای مثال:
formatted_date = now.strftime("%Y-%m-%d")
formatted_time = now.strftime("%H:%M:%S")
print("Formatted date:", formatted_date)
print("Formatted time:", formatted_time)
4. کار با زمانهای دلخواه ⏳
برای ایجاد یک زمان دلخواه، از کلاس
datetime
استفاده میکنیم:specific_date = datetime.datetime(2023, 7, 5, 15, 30, 0)
print("Specific date and time:", specific_date)
5. محاسبات زمانی 🕰️
میتوانیم با استفاده از
timedelta
محاسبات زمانی انجام دهیم. برای مثال، افزودن یا کاهش یک بازه زمانی به یک تاریخ مشخص:future_date = now + datetime.timedelta(days=10)
past_date = now - datetime.timedelta(days=10)
print("Date 10 days in the future:", future_date)
print("Date 10 days in the past:", past_date)
6. تبدیل رشته به تاریخ و زمان 🔄
میتوانیم رشتههای متنی را به تاریخ و زمان تبدیل کنیم:
date_string = "2024-07-06 14:30:00"
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("Date object from string:", date_object)
7. استفاده از کتابخانه pytz برای منطقههای زمانی 🌍
کتابخانه
pytz
به ما امکان میدهد که با منطقههای زمانی مختلف کار کنیم:import pytz
# منطقه زمانی UTC
utc = pytz.utc
utc_now = datetime.datetime.now(utc)
print("UTC time:", utc_now)
# منطقه زمانی محلی
local_tz = pytz.timezone("Asia/Tehran")
local_time = utc_now.astimezone(local_tz)
print("Local time in Tehran:", local_time)
8. جمعبندی 📜
مدیریت تاریخ و زمان در پایتون با استفاده از کتابخانههای
datetime
و pytz
بسیار ساده و کاربردی است. با استفاده از این متدها و تکنیکها میتوانید برنامههای خود را بهبود بخشید و مدیریت دقیقی بر روی تاریخ و زمان داشته باشید. امیدوارم این آموزش برای شما مفید باشد!🔻آموزش های مفید بیشتر تو این کانال
#پایتون #برنامه_نویسی #تاریخ_زمان #مدیریت_زمان #آموزش #کتابخانه #datetime #pytz
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍1
معرفی کتابخانههای گرافیکی در پایتون 🎨
سلام دوستان! امروز میخواهیم به معرفی چند کتابخانه گرافیکی عالی برای پایتون بپردازیم که به شما کمک میکنند تا پروژههای گرافیکی خلاقانه و حرفهای بسازید. هر یک از این کتابخانهها قابلیتها و کاربردهای منحصر به فردی دارند. بیایید آنها را بررسی کنیم! 😊
1. Pygame 🎮
Pygame یکی از محبوبترین کتابخانهها برای توسعه بازیهای دوبعدی است. این کتابخانه به شما امکان میدهد تا به راحتی بازیهای گرافیکی بسازید و از امکانات مختلفی مثل صدا، تصویر و رویدادها استفاده کنید.
ویژگیها:
- پشتیبانی از صدا و تصویر
- مدیریت رویدادها
- قابلیت ساخت بازیهای دوبعدی
2. Tkinter 🖥️
Tkinter کتابخانهی داخلی پایتون برای ساخت رابطهای کاربری گرافیکی (GUI) است. با استفاده از Tkinter میتوانید برنامههای دسکتاپی با رابط کاربری زیبا و کاربردی بسازید.
ویژگیها:
- کتابخانهی داخلی پایتون
- مناسب برای ساخت برنامههای دسکتاپی
- ابزارهای متعدد برای طراحی رابط کاربری
3. Matplotlib 📊
Matplotlib کتابخانهای برای ترسیم نمودارها و گرافها است. این کتابخانه به شما امکان میدهد تا نمودارهای خطی، ستونی، پراکنده و بسیاری از نمودارهای دیگر را به راحتی رسم کنید.
ویژگیها:
- ترسیم انواع نمودارها
- سفارشیسازی بالا
- مناسب برای تحلیل دادهها
4. PIL/Pillow 🖼️
PIL (Python Imaging Library) و نسخه بهروز شدهی آن Pillow، کتابخانههایی برای پردازش تصویر هستند. با استفاده از این کتابخانهها میتوانید تصاویر را باز کنید، ویرایش کنید و ذخیره کنید.
ویژگیها:
- باز و ذخیره کردن تصاویر
- ویرایش تصاویر
- پشتیبانی از فرمتهای مختلف تصویری
5. OpenCV 👁️
OpenCV (Open Source Computer Vision Library) یکی از قدرتمندترین کتابخانهها برای پردازش تصویر و بینایی ماشین است. این کتابخانه امکانات بسیاری برای تحلیل و پردازش تصاویر ارائه میدهد.
ویژگیها:
- پردازش تصویر و ویدئو
- تشخیص اشیا و چهره
- تحلیل ویدئویی
6. Kivy 📱
Kivy یک کتابخانه متنباز برای ساخت برنامههای چند لمسی (multi-touch) و رابطهای کاربری گرافیکی است. این کتابخانه برای توسعه برنامههای موبایلی بسیار مناسب است.
ویژگیها:
- توسعه رابطهای کاربری چند لمسی
- پشتیبانی از اندروید و iOS
- مناسب برای برنامههای موبایلی
7. PyQt5 🖌️
PyQt5 یک کتابخانه گرافیکی برای ساخت رابطهای کاربری گرافیکی است که از ابزارهای Qt استفاده میکند. این کتابخانه به شما امکان میدهد تا برنامههای دسکتاپی حرفهای و زیبا بسازید.
ویژگیها:
- رابطهای کاربری حرفهای
- ابزارهای متعدد برای طراحی رابط
- مناسب برای برنامههای دسکتاپی
8. Plotly 📈
Plotly کتابخانهای برای ترسیم نمودارهای تعاملی و زیبا است. این کتابخانه به شما امکان میدهد تا نمودارهای تعاملی و وبمحور بسازید که میتوانند در صفحات وب قرار گیرند.
ویژگیها:
- نمودارهای تعاملی
- مناسب برای صفحات وب
- پشتیبانی از انواع نمودارها
9. Bokeh 🌼
Bokeh کتابخانهای برای ترسیم نمودارهای تعاملی و بصری است که به شما امکان میدهد تا نمودارهای تعاملی و حرفهای برای تحلیل دادهها بسازید.
ویژگیها:
- نمودارهای تعاملی
- مناسب برای تحلیل دادهها
- ابزارهای متعدد برای سفارشیسازی
10. Turtle 🐢
Turtle یک کتابخانه آموزشی برای یادگیری مفاهیم گرافیک و برنامهنویسی است. این کتابخانه به کودکان و مبتدیان کمک میکند تا با استفاده از یک لاکپشت مجازی، مفاهیم گرافیکی را به راحتی یاد بگیرند.
ویژگیها:
- آموزشی و سرگرمکننده
- مناسب برای کودکان و مبتدیان
- یادگیری مفاهیم گرافیک و برنامهنویسی
🔻معرفی کتابخانه های مفید بیشتر اینجاست
#پایتون #برنامهنویسی #کتابخانه_گرافیکی #Pygame #Tkinter #Matplotlib #Pillow #OpenCV #Kivy #PyQt5 #Plotly #Bokeh #Turtle
سلام دوستان! امروز میخواهیم به معرفی چند کتابخانه گرافیکی عالی برای پایتون بپردازیم که به شما کمک میکنند تا پروژههای گرافیکی خلاقانه و حرفهای بسازید. هر یک از این کتابخانهها قابلیتها و کاربردهای منحصر به فردی دارند. بیایید آنها را بررسی کنیم! 😊
1. Pygame 🎮
Pygame یکی از محبوبترین کتابخانهها برای توسعه بازیهای دوبعدی است. این کتابخانه به شما امکان میدهد تا به راحتی بازیهای گرافیکی بسازید و از امکانات مختلفی مثل صدا، تصویر و رویدادها استفاده کنید.
ویژگیها:
- پشتیبانی از صدا و تصویر
- مدیریت رویدادها
- قابلیت ساخت بازیهای دوبعدی
2. Tkinter 🖥️
Tkinter کتابخانهی داخلی پایتون برای ساخت رابطهای کاربری گرافیکی (GUI) است. با استفاده از Tkinter میتوانید برنامههای دسکتاپی با رابط کاربری زیبا و کاربردی بسازید.
ویژگیها:
- کتابخانهی داخلی پایتون
- مناسب برای ساخت برنامههای دسکتاپی
- ابزارهای متعدد برای طراحی رابط کاربری
3. Matplotlib 📊
Matplotlib کتابخانهای برای ترسیم نمودارها و گرافها است. این کتابخانه به شما امکان میدهد تا نمودارهای خطی، ستونی، پراکنده و بسیاری از نمودارهای دیگر را به راحتی رسم کنید.
ویژگیها:
- ترسیم انواع نمودارها
- سفارشیسازی بالا
- مناسب برای تحلیل دادهها
4. PIL/Pillow 🖼️
PIL (Python Imaging Library) و نسخه بهروز شدهی آن Pillow، کتابخانههایی برای پردازش تصویر هستند. با استفاده از این کتابخانهها میتوانید تصاویر را باز کنید، ویرایش کنید و ذخیره کنید.
ویژگیها:
- باز و ذخیره کردن تصاویر
- ویرایش تصاویر
- پشتیبانی از فرمتهای مختلف تصویری
5. OpenCV 👁️
OpenCV (Open Source Computer Vision Library) یکی از قدرتمندترین کتابخانهها برای پردازش تصویر و بینایی ماشین است. این کتابخانه امکانات بسیاری برای تحلیل و پردازش تصاویر ارائه میدهد.
ویژگیها:
- پردازش تصویر و ویدئو
- تشخیص اشیا و چهره
- تحلیل ویدئویی
6. Kivy 📱
Kivy یک کتابخانه متنباز برای ساخت برنامههای چند لمسی (multi-touch) و رابطهای کاربری گرافیکی است. این کتابخانه برای توسعه برنامههای موبایلی بسیار مناسب است.
ویژگیها:
- توسعه رابطهای کاربری چند لمسی
- پشتیبانی از اندروید و iOS
- مناسب برای برنامههای موبایلی
7. PyQt5 🖌️
PyQt5 یک کتابخانه گرافیکی برای ساخت رابطهای کاربری گرافیکی است که از ابزارهای Qt استفاده میکند. این کتابخانه به شما امکان میدهد تا برنامههای دسکتاپی حرفهای و زیبا بسازید.
ویژگیها:
- رابطهای کاربری حرفهای
- ابزارهای متعدد برای طراحی رابط
- مناسب برای برنامههای دسکتاپی
8. Plotly 📈
Plotly کتابخانهای برای ترسیم نمودارهای تعاملی و زیبا است. این کتابخانه به شما امکان میدهد تا نمودارهای تعاملی و وبمحور بسازید که میتوانند در صفحات وب قرار گیرند.
ویژگیها:
- نمودارهای تعاملی
- مناسب برای صفحات وب
- پشتیبانی از انواع نمودارها
9. Bokeh 🌼
Bokeh کتابخانهای برای ترسیم نمودارهای تعاملی و بصری است که به شما امکان میدهد تا نمودارهای تعاملی و حرفهای برای تحلیل دادهها بسازید.
ویژگیها:
- نمودارهای تعاملی
- مناسب برای تحلیل دادهها
- ابزارهای متعدد برای سفارشیسازی
10. Turtle 🐢
Turtle یک کتابخانه آموزشی برای یادگیری مفاهیم گرافیک و برنامهنویسی است. این کتابخانه به کودکان و مبتدیان کمک میکند تا با استفاده از یک لاکپشت مجازی، مفاهیم گرافیکی را به راحتی یاد بگیرند.
ویژگیها:
- آموزشی و سرگرمکننده
- مناسب برای کودکان و مبتدیان
- یادگیری مفاهیم گرافیک و برنامهنویسی
🔻معرفی کتابخانه های مفید بیشتر اینجاست
#پایتون #برنامهنویسی #کتابخانه_گرافیکی #Pygame #Tkinter #Matplotlib #Pillow #OpenCV #Kivy #PyQt5 #Plotly #Bokeh #Turtle
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍4
آموزش ساخت QR کد با پایتون 🖼️
سلام دوستان! امروز میخواهیم در مورد چگونگی ایجاد QR کد با استفاده از پایتون صحبت کنیم. QR کدها میتوانند برای بسیاری از موارد مفید باشند، مانند اشتراکگذاری لینکها، اطلاعات تماس و بسیاری موارد دیگر. بیایید با هم یاد بگیریم! 😊
1. نصب کتابخانه qrcode 📦
ابتدا باید کتابخانه
2. وارد کردن کتابخانه qrcode 📚
پس از نصب، کتابخانه
3. ایجاد یک QR کد ساده 🎨
حالا میخواهیم یک QR کد ساده ایجاد کنیم. در این مثال، ما یک لینک به وبسایت را در QR کد قرار میدهیم:
4. تنظیمات بیشتر برای QR کد 🔧
میتوانید تنظیمات بیشتری برای QR کد اعمال کنید، مانند تغییر رنگها، اندازه و سطح تصحیح خطا. برای مثال:
5. استفاده از کتابخانه pillow برای نمایش QR کد 🖼️
برای نمایش تصویر QR کد در برنامه پایتون، میتوانیم از کتابخانه
سپس از آن برای نمایش تصویر استفاده کنید:
6. جمعبندی 📜
با استفاده از کتابخانه
🔻آموزش های مفید پایتون اینجا هست
#پایتون #برنامه_نویسی #QRCode #آموزش #کتابخانه #qrcode #Pillow
سلام دوستان! امروز میخواهیم در مورد چگونگی ایجاد QR کد با استفاده از پایتون صحبت کنیم. QR کدها میتوانند برای بسیاری از موارد مفید باشند، مانند اشتراکگذاری لینکها، اطلاعات تماس و بسیاری موارد دیگر. بیایید با هم یاد بگیریم! 😊
1. نصب کتابخانه qrcode 📦
ابتدا باید کتابخانه
qrcode
را نصب کنیم. این کتابخانه به ما امکان میدهد که به راحتی QR کد ایجاد کنیم. برای نصب آن از pip استفاده کنید:pip install qrcode[pil]
2. وارد کردن کتابخانه qrcode 📚
پس از نصب، کتابخانه
qrcode
را وارد میکنیم:import qrcode
3. ایجاد یک QR کد ساده 🎨
حالا میخواهیم یک QR کد ساده ایجاد کنیم. در این مثال، ما یک لینک به وبسایت را در QR کد قرار میدهیم:
# ایجاد یک QR کد ساده
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
# دادهای که میخواهید در QR کد قرار دهید
data = "https://www.example.com"
# اضافه کردن داده به QR کد
qr.add_data(data)
qr.make(fit=True)
# ساخت تصویر QR کد
img = qr.make_image(fill_color="black", back_color="white")
# ذخیره تصویر QR کد
img.save("qrcode.png")
4. تنظیمات بیشتر برای QR کد 🔧
میتوانید تنظیمات بیشتری برای QR کد اعمال کنید، مانند تغییر رنگها، اندازه و سطح تصحیح خطا. برای مثال:
# ایجاد یک QR کد با تنظیمات بیشتر
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H, # سطح تصحیح خطا: H (بالا)
box_size=10,
border=4,
)
data = "https://www.example.com"
qr.add_data(data)
qr.make(fit=True)
# ساخت تصویر QR کد با رنگهای سفارشی
img = qr.make_image(fill_color="blue", back_color="yellow")
# ذخیره تصویر QR کد
img.save("custom_qrcode.png")
5. استفاده از کتابخانه pillow برای نمایش QR کد 🖼️
برای نمایش تصویر QR کد در برنامه پایتون، میتوانیم از کتابخانه
Pillow
استفاده کنیم. اگر هنوز نصب نکردهاید، آن را نصب کنید:pip install Pillow
سپس از آن برای نمایش تصویر استفاده کنید:
from PIL import Image
# باز کردن و نمایش تصویر QR کد
img = Image.open("qrcode.png")
img.show()
6. جمعبندی 📜
با استفاده از کتابخانه
qrcode
در پایتون، میتوانید به راحتی QR کدهای سفارشی ایجاد کنید. این QR کدها میتوانند برای کاربردهای مختلفی مانند به اشتراکگذاری لینکها، اطلاعات تماس، و حتی پرداختها استفاده شوند. امیدوارم این آموزش برای شما مفید باشد و بتوانید از آن در پروژههای خود استفاده کنید.🔻آموزش های مفید پایتون اینجا هست
#پایتون #برنامه_نویسی #QRCode #آموزش #کتابخانه #qrcode #Pillow
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍4
📚 دوره آموزش پایتون از 0 تا 100
پارت ۱۷: Decorators و Generators 🚀
در این پارت با دو مفهوم پیشرفته در پایتون یعنی Decorators و Generators آشنا میشویم. این دو ابزار به شما کمک میکنند تا کدهای خواناتر، ماژولارتر و بهینهتری بنویسید.
۱. Decorators 🎨
Decorators یکی از ویژگیهای قدرتمند پایتون است که به شما اجازه میدهد تا رفتار توابع یا کلاسها را بدون تغییر در کد اصلی آنها، اصلاح کنید.
۱.۱. تعریف یک Decorator
یک decorator در واقع یک تابع است که یک تابع دیگر را به عنوان ورودی میگیرد و یک تابع جدید را برمیگرداند.
در این مثال:
-
-
۱.۲. Decorators با آرگومانها
در این مثال:
-
۲. Generators 🔄
Generators به شما اجازه میدهند تا به راحتی iteratorهای خود را تعریف کنید. آنها به جای برگرداندن یک لیست کامل، یک به یک مقادیر را تولید میکنند که باعث بهینهتر شدن حافظه میشود.
۲.۱. تعریف یک Generator
در این مثال:
-
-
۲.۲. Generators با تابع
در این مثال:
-
- با استفاده از
نکات مهم
- Decoratorها: برای تزئین توابع و تغییر رفتار آنها بدون تغییر در کد اصلی استفاده میشوند. آنها میتوانند به توابعی با آرگومانهای مختلف اعمال شوند.
- Generatorها: برای ایجاد iteratorهای کارآمد و بهینه استفاده میشوند. آنها مقادیر را به صورت lazy evaluation تولید میکنند که باعث کاهش استفاده از حافظه میشود.
این دو مفهوم به شما کمک میکنند تا کدهای پیچیدهتر و بهینهتری در پایتون بنویسید. امیدوارم این آموزش برای شما مفید بوده باشد! 🌟
🔻برای دیدن آموزش های مفید بیشتر اینجا کلیک کن
#پایتون #آموزش_پایتون #Decorators #Generators #PythonAdvanced #PythonProgramming
پارت ۱۷: Decorators و Generators 🚀
در این پارت با دو مفهوم پیشرفته در پایتون یعنی Decorators و Generators آشنا میشویم. این دو ابزار به شما کمک میکنند تا کدهای خواناتر، ماژولارتر و بهینهتری بنویسید.
۱. Decorators 🎨
Decorators یکی از ویژگیهای قدرتمند پایتون است که به شما اجازه میدهد تا رفتار توابع یا کلاسها را بدون تغییر در کد اصلی آنها، اصلاح کنید.
۱.۱. تعریف یک Decorator
یک decorator در واقع یک تابع است که یک تابع دیگر را به عنوان ورودی میگیرد و یک تابع جدید را برمیگرداند.
def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
در این مثال:
-
my_decorator
یک decorator است که تابع say_hello
را تزئین میکند.-
@my_decorator
قبل از تعریف say_hello
باعث میشود که say_hello
به صورت خودکار با my_decorator
تزئین شود.۱.۲. Decorators با آرگومانها
def repeat(n):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(n):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
در این مثال:
-
repeat
یک decorator با آرگومان است که تابع greet
را ۳ بار اجرا میکند.۲. Generators 🔄
Generators به شما اجازه میدهند تا به راحتی iteratorهای خود را تعریف کنید. آنها به جای برگرداندن یک لیست کامل، یک به یک مقادیر را تولید میکنند که باعث بهینهتر شدن حافظه میشود.
۲.۱. تعریف یک Generator
def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1
counter = count_up_to(5)
for num in counter:
print(num)
در این مثال:
-
count_up_to
یک generator است که از ۱ تا max
را تولید میکند.-
yield
به جای return
استفاده شده است که مقادیر را یکی یکی تولید میکند.۲.۲. Generators با تابع
next()
def simple_gen():
yield 1
yield 2
yield 3
gen = simple_gen()
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # 3
در این مثال:
-
simple_gen
یک generator ساده است که مقادیر ۱، ۲ و ۳ را تولید میکند.- با استفاده از
next()
میتوان مقادیر بعدی را از generator دریافت کرد.نکات مهم
- Decoratorها: برای تزئین توابع و تغییر رفتار آنها بدون تغییر در کد اصلی استفاده میشوند. آنها میتوانند به توابعی با آرگومانهای مختلف اعمال شوند.
- Generatorها: برای ایجاد iteratorهای کارآمد و بهینه استفاده میشوند. آنها مقادیر را به صورت lazy evaluation تولید میکنند که باعث کاهش استفاده از حافظه میشود.
این دو مفهوم به شما کمک میکنند تا کدهای پیچیدهتر و بهینهتری در پایتون بنویسید. امیدوارم این آموزش برای شما مفید بوده باشد! 🌟
🔻برای دیدن آموزش های مفید بیشتر اینجا کلیک کن
#پایتون #آموزش_پایتون #Decorators #Generators #PythonAdvanced #PythonProgramming
👍5
دوستان برنامهنویس و کدنویس! 👩💻👨💻
یه روز دیگه رو با کلی کد و چالشهای جدید پشت سر گذاشتیم. حالا وقتشه که یه نفس عمیق بکشیم و یه استراحت حسابی بکنیم.
یادتون نره:
- قبل از خواب، کدهاتون رو کامیت و پوش کنید! 📂✨
- لاگها و ارورها رو بذارید برای فردا، شب برای استراحت و ریکاوریه! 😴
- هر چقدر هم که باگ داشته باشه، پروژهتون پیشرفت کرده. همیشه به جلو حرکت کنید! 🚀
کدی که امروز نوشتیم، فردا دیباگ میکنیم. شب بخیر و به امید روزی پر از کدهای پاک و بیباگ! ✨
#برنامه_نویسی #کدنویسی #شب_بخیر #استراحت #ریکاوری
یه روز دیگه رو با کلی کد و چالشهای جدید پشت سر گذاشتیم. حالا وقتشه که یه نفس عمیق بکشیم و یه استراحت حسابی بکنیم.
یادتون نره:
- قبل از خواب، کدهاتون رو کامیت و پوش کنید! 📂✨
- لاگها و ارورها رو بذارید برای فردا، شب برای استراحت و ریکاوریه! 😴
- هر چقدر هم که باگ داشته باشه، پروژهتون پیشرفت کرده. همیشه به جلو حرکت کنید! 🚀
کدی که امروز نوشتیم، فردا دیباگ میکنیم. شب بخیر و به امید روزی پر از کدهای پاک و بیباگ! ✨
#برنامه_نویسی #کدنویسی #شب_بخیر #استراحت #ریکاوری
👍5
📚 دوره آموزش پایتون از 0 تا 100
پارت ۱۸: مدیریت حافظه و Garbage Collection در پایتون 🗑️🧠
در این پارت با مدیریت حافظه و مکانیزم Garbage Collection (GC) در پایتون آشنا میشویم. مدیریت حافظه یکی از مفاهیم مهم در برنامهنویسی است که به بهینهسازی عملکرد برنامه کمک میکند.
۱. مدیریت حافظه در پایتون 🧠
پایتون به طور خودکار مدیریت حافظه را انجام میدهد، به این معنی که به شما اجازه میدهد تا روی نوشتن کد تمرکز کنید بدون اینکه نگرانی از مدیریت دستی حافظه داشته باشید.
- فضای حافظه: هر متغیری که تعریف میکنید، فضایی در حافظه اشغال میکند.
- هندلینگ خودکار: پایتون به طور خودکار حافظه را تخصیص داده و آزاد میکند.
۲. Garbage Collection در پایتون 🗑️
Garbage Collection فرآیندی است که حافظه اشغالشده توسط اشیاء غیرقابلدسترسی (غیرقابلاستفاده) را آزاد میکند. پایتون دارای یک garbage collector داخلی است که به طور خودکار این فرآیند را مدیریت میکند.
۲.۱. اصول اولیه GC
- تخصیص حافظه: هنگامی که یک شیء جدید ایجاد میشود، پایتون حافظه موردنیاز را به آن اختصاص میدهد.
- جمعآوری زباله: هنگامی که یک شیء دیگر قابلدسترسی نیست، garbage collector آن را پیدا کرده و حافظه را آزاد میکند.
۲.۲. روشهای GC در پایتون
پایتون از دو روش اصلی برای جمعآوری زباله استفاده میکند:
- مرجعسنجی: هر شیء دارای یک شمارنده مرجع است که تعداد مراجع به آن را نگهداری میکند. هنگامی که شمارنده به صفر میرسد، حافظه آزاد میشود.
- چرخهیابی: پایتون از الگوریتم چرخهیابی برای شناسایی و آزاد کردن چرخههای مرجع که در آن دو یا چند شیء به یکدیگر ارجاع میدهند و هرگز آزاد نمیشوند، استفاده میکند.
۲.۳. استفاده از ماژول
ماژول
۳. بهینهسازی استفاده از حافظه
برای بهینهسازی حافظه در برنامههای پایتون، میتوانید به نکات زیر توجه کنید:
- استفاده از متغیرها و اشیاء بهینه: متغیرها و اشیائی که دیگر نیاز ندارید را آزاد کنید.
- اجتناب از ایجاد چرخههای مرجع: چرخههای مرجع باعث میشوند که garbage collector نتواند حافظه را آزاد کند.
- پایش و پروفایل حافظه: از ابزارهای مختلفی مانند
نکات مهم
- مدیریت حافظه: پایتون به صورت خودکار مدیریت حافظه را انجام میدهد.
- جمعآوری زباله: پایتون از تکنیکهای مرجعسنجی و چرخهیابی برای جمعآوری زباله استفاده میکند.
- بهینهسازی: بهینهسازی مصرف حافظه با استفاده از ابزارهای مختلف و تکنیکهای مدیریت حافظه.
این آموزش به شما کمک میکند تا با مفاهیم مدیریت حافظه و Garbage Collection در پایتون آشنا شوید و بتوانید برنامههای بهینهتری بنویسید. موفق باشید! 🌟
🔻آموزش های مفید بیشتر اینجاست
#پایتون #آموزش_پایتون #مدیریت_حافظه #GarbageCollection #PythonMemoryManagement #PythonProgramming
پارت ۱۸: مدیریت حافظه و Garbage Collection در پایتون 🗑️🧠
در این پارت با مدیریت حافظه و مکانیزم Garbage Collection (GC) در پایتون آشنا میشویم. مدیریت حافظه یکی از مفاهیم مهم در برنامهنویسی است که به بهینهسازی عملکرد برنامه کمک میکند.
۱. مدیریت حافظه در پایتون 🧠
پایتون به طور خودکار مدیریت حافظه را انجام میدهد، به این معنی که به شما اجازه میدهد تا روی نوشتن کد تمرکز کنید بدون اینکه نگرانی از مدیریت دستی حافظه داشته باشید.
- فضای حافظه: هر متغیری که تعریف میکنید، فضایی در حافظه اشغال میکند.
- هندلینگ خودکار: پایتون به طور خودکار حافظه را تخصیص داده و آزاد میکند.
۲. Garbage Collection در پایتون 🗑️
Garbage Collection فرآیندی است که حافظه اشغالشده توسط اشیاء غیرقابلدسترسی (غیرقابلاستفاده) را آزاد میکند. پایتون دارای یک garbage collector داخلی است که به طور خودکار این فرآیند را مدیریت میکند.
۲.۱. اصول اولیه GC
- تخصیص حافظه: هنگامی که یک شیء جدید ایجاد میشود، پایتون حافظه موردنیاز را به آن اختصاص میدهد.
- جمعآوری زباله: هنگامی که یک شیء دیگر قابلدسترسی نیست، garbage collector آن را پیدا کرده و حافظه را آزاد میکند.
۲.۲. روشهای GC در پایتون
پایتون از دو روش اصلی برای جمعآوری زباله استفاده میکند:
- مرجعسنجی: هر شیء دارای یک شمارنده مرجع است که تعداد مراجع به آن را نگهداری میکند. هنگامی که شمارنده به صفر میرسد، حافظه آزاد میشود.
- چرخهیابی: پایتون از الگوریتم چرخهیابی برای شناسایی و آزاد کردن چرخههای مرجع که در آن دو یا چند شیء به یکدیگر ارجاع میدهند و هرگز آزاد نمیشوند، استفاده میکند.
۲.۳. استفاده از ماژول
gc
ماژول
gc
در پایتون امکان کنترل و مشاهده وضعیت GC را فراهم میکند.import gc
# فعالسازی جمعآوری زباله
gc.enable()
# غیر فعالسازی جمعآوری زباله
gc.disable()
# انجام یک چرخه جمعآوری زباله به صورت دستی
gc.collect()
# مشاهده وضعیت جمعآوری زباله
print(gc.get_stats())
۳. بهینهسازی استفاده از حافظه
برای بهینهسازی حافظه در برنامههای پایتون، میتوانید به نکات زیر توجه کنید:
- استفاده از متغیرها و اشیاء بهینه: متغیرها و اشیائی که دیگر نیاز ندارید را آزاد کنید.
- اجتناب از ایجاد چرخههای مرجع: چرخههای مرجع باعث میشوند که garbage collector نتواند حافظه را آزاد کند.
- پایش و پروفایل حافظه: از ابزارهای مختلفی مانند
memory_profiler
برای پایش و تحلیل مصرف حافظه استفاده کنید.from memory_profiler import profile
@profile
def my_function():
a = [i for i in range(10000)]
b = {i: i for i in range(10000)}
return a, b
if name == 'main':
my_function()
نکات مهم
- مدیریت حافظه: پایتون به صورت خودکار مدیریت حافظه را انجام میدهد.
- جمعآوری زباله: پایتون از تکنیکهای مرجعسنجی و چرخهیابی برای جمعآوری زباله استفاده میکند.
- بهینهسازی: بهینهسازی مصرف حافظه با استفاده از ابزارهای مختلف و تکنیکهای مدیریت حافظه.
این آموزش به شما کمک میکند تا با مفاهیم مدیریت حافظه و Garbage Collection در پایتون آشنا شوید و بتوانید برنامههای بهینهتری بنویسید. موفق باشید! 🌟
🔻آموزش های مفید بیشتر اینجاست
#پایتون #آموزش_پایتون #مدیریت_حافظه #GarbageCollection #PythonMemoryManagement #PythonProgramming
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍3