این کد به خوبی مفهوم اضافه بارگذاری عملگرها (Operator Overloading) و استفاده از روشهای جادویی (Magic Methods) در پایتون را توضیح میدهد. با ایجاد یک کلاس به نام Point که نقاط دو بعدی را نمایان میسازد، امکاناتی مانند جمع کردن نقاط و نمایش آنها به صورت خوانا فراهم میشود.
مختصات x و y اساس نمایندگی نقطه را تشکیل میدهند.
متد __
در مجموع، این کد خلاصی از قدرت استفاده از متدهای جادویی در پایتون است که به برنامهنویسان این امکان را میدهد تا کدهای خوانا و کارآمدی را با استفاده از عرفهای طبیعی زبان ایجاد کنند.
#class | #بدانیم | LearnPython
مختصات x و y اساس نمایندگی نقطه را تشکیل میدهند.
متد __
add__ با استفاده از عملگر + تعریف شده است و به فرآیند جمع کردن اشیاء این کلاس کمک میکند. در نتیجه وقتی p1 و p2 با هم جمع شوند، عملیات به طور داخلی به Point.__add__(p1, p2) تبدیل میشود و برنامهنویسان میتوانند از عملگرهای طبیعی برای کار با دادهها استفاده کنstr __str__ این امکان میدهد که وقتی یک شیء Point چاپ میشود، به صورت رشتهای با ساختاری واضح و معنادار (مانند Point(7, 10)) نمایش داده شود.در مجموع، این کد خلاصی از قدرت استفاده از متدهای جادویی در پایتون است که به برنامهنویسان این امکان را میدهد تا کدهای خوانا و کارآمدی را با استفاده از عرفهای طبیعی زبان ایجاد کنند.
#class | #بدانیم | LearnPython
تولید یک رمز عبور تصادفی در زبان پایتون میتوان از کتابخانه
در اینجا یک مثال ساده آورده شده است:
با استفاده از این کد ساده در پایتون، یک رمز عبور تصادفی و امن ایجاد نمایید. این رمز شامل حروف بزرگ و کوچک، اعداد و نمادها است که امنیت بیشتری را فراهم میکند.
اگر نیاز به توضیح بیشتر کد داری اینجا کلیک کن.
#random | #string | #password | #بدانیم | LearnPython
random و string استفاده کرد. در اینجا یک مثال ساده آورده شده است:
import random
import string
# https://t.me/learnpythonicy
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
new_password = generate_password(12)
print("your random password is", new_password)
با استفاده از این کد ساده در پایتون، یک رمز عبور تصادفی و امن ایجاد نمایید. این رمز شامل حروف بزرگ و کوچک، اعداد و نمادها است که امنیت بیشتری را فراهم میکند.
اگر نیاز به توضیح بیشتر کد داری اینجا کلیک کن.
#random | #string | #password | #بدانیم | LearnPython
✅ توضیح خط به خط کد
کدوم کد؟ این
در کد ارائه شده برای تولید رمز عبور، هر خط به طور خلاصه به شرح زیر عمل میکند:
1. وارد کردن کتابخانهها:
import random
import string
- کتابخانه random برای انتخاب تصادفی کاراکترها و string برای استفاده از مجموعهای از کاراکترها (حروف و اعداد) وارد میشود.
2. تعریف تابع:
def generate_password(length=12):
- تابعی به نام generate_password تعریف میشود که یک پارامتر ورودی به نام length با مقدار پیشفرض ۱۲ دارد.
3. تعریف مجموعه کاراکترها:
characters = string.ascii_letters + string.digits + string.punctuation
- مجموعهای از کاراکترها شامل حروف بزرگ و کوچک، اعداد و نمادهای خاص تشکیل میشود.
4. تولید رمز عبور:
password = ''.join(random.choice(characters) for i in range(length))
- با استفاده از یک حلقه، به تعداد مشخص شده (طول رمز عبور) به طور تصادفی کاراکترها از مجموعه انتخاب و به یک رشته تبدیل میشود.
5. برگرداندن رمز عبور:
return password
- رمز عبور تولید شده به عنوان خروجی تابع بازگردانده میشود.
6. تولید و چاپ رمز عبور:
new_password = generate_password(12)
print("your random password is ", new_password)
- تابع generate_password با طول ۱۲ فراخوانی میشود و نتیجه چاپ میشود.
👍4
این کد نمونهای از استفاده از ماژول matplotlib در پایتون برای ترسیم یک نمودار خطی است. با استفاده از این کد، میتوانید نمودارهای مختلفی را بر اساس دادههای خود ترسیم کنید و آنها را تحلیل کنید.
توضیح بیشتر🤓#matplotlib | LearnPython | #بدانیم
نصب ماژول: ابتدا باید ماژول matplotlib را با استفاده از pip نصب کنید(در صورتی که قبلا نصب کردید نیازی به نصب دوباره نیست).
وارد کردن ماژولها: وارد کردن ماژول matplotlib.pyplot با نام مستعار plt.
دادههای نمونه: دادههای محور X و Y را مشخص کنید.
ایجاد نمودار خطی: با استفاده از plt.plot یک نمودار خطی ایجاد کنید و نقاط دادهها را با marker='o' علامتگذاری کنید.
افزودن عنوان و برچسبها: عنوان و برچسبهای محورهای نمودار را با استفاده از plt.title، plt.xlabel و plt.ylabel اضافه کنید.
نمایش نمودار: نمودار را با استفاده از plt.show نمایش دهید.
👍4
Text To Speech In Python
به دنیای تبدیل متن به گفتار خوش آمدید!✨
با این کد میتوانید متنهای خود را به صدا تبدیل کنید و لذت ببرید.🎙
#gtts | #ai | #text_to_speech | LearnPython | #بدانیم
🤓2
Image Processing Using OpenCV & MATPLOTLIB In Python
کد فوق به پردازش تصاویر با استفاده از
OpenCV و Matplotlib پرداخته است. برای مشاهده کد کلیک کنید👩💻
پردازش تصویر با استفاده از
OpenCV، خواندن یک تصویر، تبدیل آن به فرمتهای مختلف و نمایش نتایج شامل تصویر اصلی، تصویر خاکستری، تصویر بلور شده و لبهها.💫کد شامل مراحل زیر میباشد:
1. خواندن تصویر: تصویر از مسیر مشخصشده خوانده میشود.
2. بررسی خطا: اگر تصویر نتواند خوانده شود، پیغام خطا چاپ میشود.
3. تبدیل به RGB: تصویر از فرمت BGR به RGB تبدیل میشود تا در Matplotlib بهدرستی نمایش یابد.
4. تبدیل به خاکستری: تصویر به صورت خاکستری تبدیل میشود.
5. اعمال فیلتر بلور: یک فیلتر بلور Gaussian به تصویر RGB اعمال میشود.
6. استخراج لبهها: با استفاده از فیلتر Canny، لبهها از تصویر خاکستری استخراج میشود.
7. نمایش تصاویر: در نهایت، چهار تصویر (اصل، خاکستری، بلور شده و لبهها) در یک شکل به نمایش در میآید.
#cv2 | #numpy | #matplotlib | #opencv | LearnPython
#بدانیم | #پردازش_تصویر | آموزش پایتون
کد تصویر بالا👆
🔘توجه شود که در قسمت
import cv2
import numpy as np
import matplotlib.pyplot as plt
def process_and_show_images(image_path):
# خواندن تصویر
image = cv2.imread(image_path)
# بررسی اینکه آیا تصویر به درستی خوانده شده است یا نه
if image is None:
print(f"Error: Could not read the image from path: {image_path}")
return
# تبدیل تصویر به RGB برای نمایش با Matplotlib
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# تبدیل تصویر به خاکستری
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# اعمال فیلتر بلور
blurred_image = cv2.GaussianBlur(image_rgb, (15, 15), 0)
# استخراج لبهها با استفاده از فیلتر کنی
edges = cv2.Canny(gray_image, 100, 200)
# تنظیمات نمایش تصاویر
fig, axs = plt.subplots(2, 2, figsize=(10, 8))
axs[0, 0].imshow(image_rgb)
axs[0, 0].set_title("Original Image")
axs[0, 0].axis('off')
axs[0, 1].imshow(gray_image, cmap='gray')
axs[0, 1].set_title("Gray Image")
axs[0, 1].axis('off')
axs[1, 0].imshow(blurred_image)
axs[1, 0].set_title("Blurred Image")
axs[1, 0].axis('off')
axs[1, 1].imshow(edges, cmap='gray')
axs[1, 1].set_title("Edges")
axs[1, 1].axis('off')
plt.show()
# مسیر کامل تصویر ورودی
image_path = 'G:\V.S.Code-PY\AreFull\learnpythonicy\path_to_your_image.jpg'
process_and_show_images(image_path)
🔘توجه شود که در قسمت
image_path، باید آدرس عکس مورد نظر را قرار دهید.Logging program messages using in python
📝 ثبت پیامهای برنامه با استفاده از ماژول
logging در پایتوناین کد از ماژول
logging برای ثبت پیامهای اطلاعاتی (INFO)، هشدار (WARNING) و خطا (ERROR) استفاده میکند. با تنظیم سطح لاگ (level=logging.INFO)، فقط پیامهای با اهمیت بالا ثبت میشوند. این روش برای نظارت بر اجرای برنامه، اشکالزدایی و بهبود پایداری بسیار مفید است. 🚀#logging | LearnPython | #بدانیم
Count the number of times each letter is repeated in a sentence in python
کد فوق دو روش برای شمارش تکرار هر حرف در جمله text را ارائه میدهد.
1. استفاده از دیکشنری: در این روش، با یک حلقه برای هر کاراکتر در متن، تعداد تکرارها در یک دیکشنری بهروز میشود.
2. استفاده از ماژول Counter: این روش به طور مستقیم از ماژول
collections استفاده میکند و شمارش تکرار هر کاراکتر را به صورت ساده و کارآمد انجام میدهد.این دو روش به شما این امکان را میدهند که به راحتی تعداد تکرار هر کاراکتر را در متن خود محاسبه کنید.
#counter | #collections | #بدانیم | LearnPython
بنظرتون کد بالا به چه دردی میخوره اصلا؟🌝
کد فوق برای شمارش تعداد تکرار هر کاراکتر در یک رشته مناسب است. این کار میتواند در برنامهنویسی و تحلیل دادههای متنی به چند دلیل مفید باشد:
1. تحلیل دادههای متنی: به کاربر اجازه میدهد تا الگوها و فراوانی کاراکترها را در متون مختلف مشاهده کند.
2. فهم بهتر بازخوردهای کاربر: میتوان از این تکنیک برای تحلیل بازخوردهای متنی و نظرات کاربران استفاده کرد و بفهمید چه کاراکترها یا کلمات بیشتری مورد استفاده قرار گرفتهاند.
3. دستکاری متن: در پردازش دادهها، شمارش کاراکترها به درک بهتری از ساختار و جزئیات متن کمک میکند و میتواند در دستکاریهای متنی نیز موثر باشد.
#counter | #collections | #بدانیم
کد فوق برای شمارش تعداد تکرار هر کاراکتر در یک رشته مناسب است. این کار میتواند در برنامهنویسی و تحلیل دادههای متنی به چند دلیل مفید باشد:
1. تحلیل دادههای متنی: به کاربر اجازه میدهد تا الگوها و فراوانی کاراکترها را در متون مختلف مشاهده کند.
2. فهم بهتر بازخوردهای کاربر: میتوان از این تکنیک برای تحلیل بازخوردهای متنی و نظرات کاربران استفاده کرد و بفهمید چه کاراکترها یا کلمات بیشتری مورد استفاده قرار گرفتهاند.
3. دستکاری متن: در پردازش دادهها، شمارش کاراکترها به درک بهتری از ساختار و جزئیات متن کمک میکند و میتواند در دستکاریهای متنی نیز موثر باشد.
#counter | #collections | #بدانیم
Creating A Dictionary Using Lists In Python
راههای مختلف برای ساخت دیکشنری با استفاده از لیست
میتوان گفت که دیکشنریها یکی از مهمترین ساختارهای دادهای در پایتون هستند که به ذخیرهسازی و دسترسی سریع به اطلاعات کمک میکنند.
#dict | #list | #بدانیم | LearnPython
آموزش پایتون
Photo
جا داره که بگم به این راهها محدود نمیشه...
همیشه یه راه دیگهای وجود داره حتی وقتی وجود نداره😁
همیشه یه راه دیگهای وجود داره حتی وقتی وجود نداره😁
Hacking Secret Ciphers with Python.pdf
7 MB
📚«Hacking Secret Ciphers with Python»
📚کتاب "رمزنگاری سیفرهای مخفی با پایتون"
✅آیا به دنبال ورود به دنیای رمزنگاری و کدگذاری هستید؟
✅این کتاب یک راهنمای اختصاصی برای یادگیری تکنیکهای رمزنگاری با بهرهگیری از زبان برنامهنویسی پایتون است. با رویکردی عملی، خوانندگان با روشهای نوشتن و شکستن سیفرهای عرفی آشنا میشوند و مهارتهای خود را در این حوزه تقویت میکنند.
#معرفی_کتاب | #بوک_تایم | آموزش پایتون
📚کتاب "رمزنگاری سیفرهای مخفی با پایتون"
✅آیا به دنبال ورود به دنیای رمزنگاری و کدگذاری هستید؟
✅این کتاب یک راهنمای اختصاصی برای یادگیری تکنیکهای رمزنگاری با بهرهگیری از زبان برنامهنویسی پایتون است. با رویکردی عملی، خوانندگان با روشهای نوشتن و شکستن سیفرهای عرفی آشنا میشوند و مهارتهای خود را در این حوزه تقویت میکنند.
✅خلاصهای از کتاب
کتاب با تمرکز بر پروژهها و تمرینات جذاب، به شما کمک میکند تا به صورت گام به گام با مفاهیم رمزنگاری آشنا شوید و بتوانید کدهای مخفی خود را ایجاد و رمزگشایی کنید.
#معرفی_کتاب | #بوک_تایم | آموزش پایتون
این کد نحوه کار با ارجاعات ضعیف در پایتون را نشان میدهد. با استفاده از
#weakref | LearnPython
weakref، از حافظه به طور مؤثری استفاده کنید و از نشت حافظه جلوگیری نمایید. این رویکرد به مدیریت بهتر منابع در کدهای بزرگ و پیچیده کمک میکند.#weakref | LearnPython
🔆 ماژول
در زیر یک مثال کاربردی از استفاده از ماژول
🔅 توضیحات:
1. تعریف کلاس MyClass: این کلاس یک متغیر
2.ساخت یک نمونه از کلاس: شی
3.ایجاد ارجاع ضعیف: با استفاده از
4.دسترسی به شی از طریق ارجاع ضعیف: با استفاده از
5.حذف ارجاع قوی: با استفاده از
6.تلاش برای دسترسی پس از حذف: در نهایت، با بررسی اینکه آیا
🔅 خروجی برنامه:
این مثال نشان میدهد که چگونه میتوان از ارجاعهای ضعیف برای مدیریت حافظه و جلوگیری از نگهداری اشیا در حافظه زمانی که دیگر نیازی به آنها نیست، استفاده کرد.
#weakref | LearnPython
weakref در پایتون برای ایجاد ارجاعهای ضعیف (weak references) به اشیا استفاده میشود. ارجاعهای ضعیف به اشیا اجازه میدهند تا توسط garbage collector جمعآوری شوند، حتی اگر هنوز ارجاعهای ضعیفی به آنها وجود داشته باشد. این ماژول در مواقعی مفید است که میخواهید به یک شی اشاره کنید، اما نمیخواهید مانع از جمعآوری آن توسط garbage collector شوید.در زیر یک مثال کاربردی از استفاده از ماژول
weakref آورده شده است:import weakref
class MyClass:
def __init__(self, name):
self.name = name
def __del__(self):
print(f'{self.name} is being deleted')
# ایجاد یک نمونه از کلاس
obj = MyClass('MyObject')
# ایجاد یک ارجاع ضعیف به شی
weak_ref = weakref.ref(obj)
# دسترسی به شی از طریق ارجاع ضعیف
print(f'Object name: {weak_ref().name}')
# حذف ارجاع قوی به شی
del obj
# تلاش برای دسترسی به شی از طریق ارجاع ضعیف بعد از حذف
if weak_ref() is None:
print('The object has been deleted')
else:
print(f'Object name: {weak_ref().name}')
🔅 توضیحات:
1. تعریف کلاس MyClass: این کلاس یک متغیر
name در خود دارد و در زمان حذف شی، یک پیام را چاپ میکند.2.ساخت یک نمونه از کلاس: شی
obj از کلاس MyClass با نام 'MyObject' ساخته میشود.3.ایجاد ارجاع ضعیف: با استفاده از
weakref.ref(obj), یک ارجاع ضعیف به شی obj (که به طور مستقیم به آن دسترسی ندارد) ایجاد میشود.4.دسترسی به شی از طریق ارجاع ضعیف: با استفاده از
weak_ref(), نام شی از طریق ارجاع ضعیف چاپ میشود.5.حذف ارجاع قوی: با استفاده از
del obj, حذف ارجاع قوی به شی انجام شده و منجر به آمادهسازی آن برای حذف از حافظه میشود.6.تلاش برای دسترسی پس از حذف: در نهایت، با بررسی اینکه آیا
weak_ref() مقدار None را برمیگرداند یا خیر، مشخص میشود که آیا شی حذف شده است یا خیر. اگر ارجاع ضعیف متوجه شود که شی حذف شده است، پیام مربوط به آن چاپ میشود.🔅 خروجی برنامه:
Object name: MyObject
MyObject is being deleted
The object has been deleted
این مثال نشان میدهد که چگونه میتوان از ارجاعهای ضعیف برای مدیریت حافظه و جلوگیری از نگهداری اشیا در حافظه زمانی که دیگر نیازی به آنها نیست، استفاده کرد.
#weakref | LearnPython