لوگوی پیام رسان بلهدانلود «بله»
عکس پروفایل آموزش پایتون آ
۵ عضو

آموزش پایتون

لینک همین کانال:@LearnPythonIcyلینک کانال تلگرام:https://t.me/learnpythonicy
مشاهده در اپلیکیشن بلهمشاهده در وب بله
۱۲ فروردین
سلام و احترام خدمت همه عزیزانمطالب داخل چنل تلگرام و ایتا را دارم به اینجا منتقل میکنم. (آیدی چنل در هر سه اپلیکیشن: @learnpythonicy) همراه ما باشید undefined

۱۶

۱۹:۱۸

بازارسال شده از آموزش پایتون
thumbnail
نصب کتابخانه
برای نصب کتابخانه باید اینترنت متصل باشید.
وارد command prompt می شویم و دستور زیر را وارد می کنیم:>>>python -Vسپس دستور زیر را وارد می کنیم:>>>pip -V
توجه شود که حروف python و pip کوچک هستند، یک فاصله داده شده و خط تیره(-) و کلمه V (وی) انگلیسی بزرگ است.
اگر در پاسخ دستورهای بالا با خطا مواجه شدید میتواند به این خاطر باشد که در هنگام نصب پایتون تیک گزینه زیر را نزده‌ایدundefinedundefinedAdd Python 3.9 to PATHکه برای رفع آن باید یک بار نرم افزار پایتون را حذف کرده و دوباره نصب کنید و این بار تیک گزینه بالا را فعال کنید.
در ادامه:>>>pip install PackageName
اسم کتابخانه ای که می‌خواهید نصب کنید را به جای PackageName می‌گذارید. برای مثال میخواهید کتابخانه numpy را نصب کنید:pip install numpyو Enter را می‌زنیم، منتظر نصب کتابخانه موردنظر می‌مانیم.
undefinedموارد تکمیلی در پست بعدی...undefinedundefinedundefined
#کتابخانه | @learnpythonicy

۱

۱۹:۱۹

بازارسال شده از آموزش پایتون
موارد تکمیلی پست قبل
undefined موارد تکمیلی
وارد cmd یا همان command prompt شده، برای وارد شدن به پایتون دستورات زیر را وارد میکنیم:>>>python -V>>>pip -V
سپس برای:
undefinedچک کردن ماژول های نصب شده >>>pip freeze
undefinedفرخوانی اطلاعات کامل ماژول ها>>>pip show PackageName
undefinedبه روزرسانی ماژول ها
ویندوزundefined>>>pip install --upgrade PackageNameمک و لینوکسundefined>>>sudo pip install --upgrade PackageName
undefinedحذف و لغو نصب ماژول
ویندوزundefined>>>pip uninstall PackageNameمک و لینوکسundefined>>>sudo pip uninstall PackageName
undefinedتوجه: در تمام موارد بالا به جای PackageName اسم ماژول موردنظر را باید نوشت.

#کتابخانه | @learnpythonicy

۱

۱۹:۱۹

بازارسال شده از آموزش پایتون
undefinedدستور Fromkeys() مقدمهدر پایتون، متد ()fromkeys یک متد متعلق به کلاس dict است که برای ایجاد یک دیکشنری جدید با استفاده از یک سری کلیدها (keys) و یک مقدار پیش‌فرض (اگر تعیین شود) استفاده می‌شود. این متد به شما این امکان را می‌دهد که به سرعت دیکشنری‌ای بسازید که شامل یک یا چند کلید باشد و همه‌ی آن‌ها به یک مقدار مشخص ارجاع دهند.
undefinedنحوه استفاده از fromkeysdict .fromkeys(iterable, value=None)
iterable: یک لیست، مجموعه، یا هر شئ قابل تکرار که شامل کلیدهایی است که می‌خواهید در دیکشنری جدید قرار دهید.value: مقدار پیش‌فرضی که برای همه‌ی کلیدها به کار می‌رود (اختیاری). اگر مقدار مشخص نشود، None به عنوان مقدار پیش‌فرض استفاده می‌شود.
undefinedمثال‌های عملی
undefinedمثال 1: استفاده از fromkeys برای ایجاد دیکشنری# کلیدهاkeys = ['a', 'b', 'c']# ایجاد دیکشنری با مقدار پیش‌فرض 0 new_dict = dict .fromkeys(keys, 0)print(new_dict)
خروجی:{'a': 0, 'b': 0, 'c': 0}
undefinedمثال 2: بدون مقدار پیش‌فرض# کلیدهاkeys = ['x', 'y', 'z']# ایجاد دیکشنری با مقدار پیش‌فرض Nonenew_dict = dict .fromkeys(keys)print(new_dict)
خروجی:{'x': None, 'y': None, 'z': None}
undefinedنکته مهمدر استفاده از fromkeys، اگر از یک لیست به عنوان کلیدها استفاده کنید، تمام کلیدها به یک شیء واحد اشاره می‌کنند.
undefinedمثال 3: استفاده از یک لیست به عنوان مقدار پیش‌فرض# کلیدهاkeys = ['a', 'b', 'c']# ایجاد دیکشنری با یک لیست به عنوان مقدار پیش‌فرضnew_dict = dict .fromkeys(keys, [])print(new_dict)# اضافه کردن یک عنصر به مقدار پیش فرضnew_dict['a'].append(1)print(new_dict) # توجه کنید که برای همه کلیدها این تغییر اعمال می‌شود
خروجی:{'a': [1], 'b': [1], 'c': [1]}در این مثال اگر شما به مقدار پیش‌فرض یک لیست یا هر شیء قابل تغییر دیگری ارجاع دهید، تغییرات برای همه‌ی کلیدها اعمال می‌شود. اگر می‌خواهید که مقادیر مستقل از هم داشته باشید، باید از یک شیء جدید برای هر کلید استفاده کنید.
#بدانیم | #تست_تایم | آموزش پایتون

۱

۱۹:۱۹

۱۳ فروردین
undefined 10 کاربرد شگفت‌انگیز ماژول datetime در پایتون که باید بدانید! undefined
در دنیای برنامه‌نویسی، کار با تاریخ و زمان یکی از رایج‌ترین نیازهاست. ماژول datetime در پایتون ابزارهای قدرتمندی برای این منظور فراهم می‌کند. در اینجا 10 نکته کلیدی را با هم مرور می‌کنیم:
undefined دریافت تاریخ و زمان فعلی:pythonfrom datetime import datetimenow = datetime.now()print(now)

undefined ساخت تاریخ و زمان دلخواه:pythonfrom datetime import datetimedt = datetime(2024, 3, 15, 10, 30, 0) # سال، ماه، روز، ساعت، دقیقه، ثانیهprint(dt)

undefined استخراج اجزای تاریخ/زمان:pythonyear = now.yearmonth = now.monthday = now.dayhour = now.hourminute = now.minutesecond = now.secondprint(f"{year}-{month}-{day} {hour}:{minute}:{second}")

undefined فرمت‌بندی تاریخ و زمان (strftime):pythonformatted_date = now.strftime("%Y-%m-%d %H:%M:%S")print(formatted_date)# %A: نام کامل روز هفته، %B: نام کامل ماه

undefined تبدیل رشته به تاریخ و زمان (strptime):pythondate_string = "2023-12-25 14:00:00"dt_object = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")print(dt_object)

undefined محاسبه اختلاف زمانی (timedelta):pythonfrom datetime import timedeltaone_day = timedelta(days=1)yesterday = now - one_dayprint(yesterday)

undefined افزودن یا کم کردن بازه زمانی:pythonfuture_date = now + timedelta(weeks=2, hours=3)print(future_date)

undefined دریافت روز هفته یا روز سال:pythonweekday = now.weekday() # دوشنبه 0 استday_of_year = now.timetuple().tm_ydayprint(f"Weekday (0=Mon): {weekday}, Day of year: {day_of_year}")

undefined مقایسه تاریخ‌ها:pythondate1 = datetime(2024, 1, 1)date2 = datetime(2024, 2, 1)if date1 < date2: print("Date1 is earlier than Date2")

undefined تبدیل منطقه زمانی (نیازمند نصب کتابخانه pytz):python# pip install pytz# from datetime import datetime# import pytz## utc_now = datetime.now(pytz.utc)# local_tz = pytz.timezone("Asia/Tehran")# tehran_now = utc_now.astimezone(local_tz)# print(f"Tehran time: {tehran_now}")

> undefined به یاد داشته باشید که کار با تاریخ و زمان ممکن است به دلیل تفاوت مناطق زمانی و قوانین وقت تابستانی (Daylight Saving Time) کمی پیچیده شود. استفاده صحیح از کتابخانه‌هایی مانند pytz این مشکلات را حل می‌کند!
#DateTime | #PythonTips | @LearnPythonicy

۱۳

۱۷:۵۲

undefined 10 Python Async & Concurrency Tricks You Should Know! undefinedundefined

undefined اجرای تابع async
import asyncio

async def main():
    print("Hello Async")

asyncio.run(main())


undefined اجرای همزمان چند Task
async def task(n):
    await asyncio.sleep(1)
    return n

results = await asyncio.gather(task(1), task(2))


undefined ایجاد Task در پس‌زمینه
task = asyncio.create_task(task(3))


undefined محدود کردن همزمانی با Semaphore
sem = asyncio.Semaphore(3)

async with sem:
    await some_io()


undefined Timeout برای جلوگیری از Hang
await asyncio.wait_for(task(1), timeout=2)


undefined اجرای کد Blocking داخل Async
loop = asyncio.get_running_loop()
result = await loop.run_in_executor(None, blocking_func)


undefined استفاده از ThreadPoolExecutor
from concurrent.futures import ThreadPoolExecutor


undefined استفاده از ProcessPool برای CPU-Bound
from concurrent.futures import ProcessPoolExecutor


undefined مدیریت Race Condition با Lock
lock = asyncio.Lock()

async with lock:
    shared_resource += 1


undefined Async HTTP Requests با aiohttp
import aiohttp

async with aiohttp.ClientSession() as session:
    async with session.get("https://api.example.com") as resp:
        data = await resp.json()


> undefined نکته: Async برای I/O-Bound فوق‌العاده است، اما برای CPU-Bound از multiprocessing استفاده کن.


#AsyncIO #Concurrency #Backend #Performance #PythonTricks
undefined تو پروژه‌هات بیشتر با I/O-Bound سروکار داری یا CPU-Bound؟

۱۳

۱۷:۵۷

undefined 10 Python Set Tricks You Should Know! undefinedundefined

undefined ساخت Set یکتا از لیست

unique_items = set([1, 2, 2, 3, 4])


undefined افزودن آیتم

my_set.add(5)


undefined حذف آیتم بدون خطا

my_set.discard(10)  # Error نمی‌دهد


undefined اجتماع دو مجموعه (Union)

result = set1 | set2


undefined اشتراک دو مجموعه (Intersection)

common = set1 & set2


undefined تفاضل مجموعه‌ها (Difference)

diff = set1 - set2


undefined بررسی زیرمجموعه بودن
if set1 <= set2:
    print("Subset")


undefined حذف آیتم تصادفی
item = my_set.pop()


undefined ساخت Set Comprehension
squares = {x**2 for x in range(5)}


undefined حذف آیتم‌های تکراری از رشته

unique_chars = set("programming")


> undefined ست ها(set) فوق‌العاده سریع هستند (O(1) average lookup)، اما ترتیب را حفظ نمی‌کنند!

#Set | #PythonTricks | #DataStructures | @LearnPythonicy
undefined بیشتر از کدوم عملیات Set در پروژه‌هات استفاده می‌کنی؟
undefined۱

۱۴

۱۸:۱۲

۱۴ فروردین
thumbnail
undefined کار با لیست‌ها در پایتون با ۷ روش حرفه‌ای!
برای مدیریت لیست‌ها و داده‌های متوالی، این تکنیک‌های کاربردی را امتحان کنید:
undefined ایجاد لیست
fruits = ['apple', 'banana', 'cherry']
print(fruits)


undefined اضافه کردن عنصر
fruits.append('orange')
print(fruits)


undefined درج عنصر در موقعیت خاص
fruits.insert(1, 'kiwi')
print(fruits)


undefined حذف عنصر
fruits.remove('banana')
print(fruits)


undefined دسترسی به عناصر با ایندکس
print(fruits[0])  # اولین عنصر
print(fruits[-1]) # آخرین عنصر


undefined مرتب‌سازی لیست
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers)


undefined لیست‌ها با فهم لیست (List Comprehension)
squares = [x**2 for x in range(5)]
print(squares)


undefined روش ویژه: تبدیل لیست به آرایه NumPy
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr * 2)


نکات طلایی
برای اضافه و حذف عنصر از append و remove استفاده کنید
List comprehension کد شما را کوتاه و خواناتر می‌کند
* برای محاسبات عددی بزرگ، لیست‌ها را به NumPy array تبدیل کنید
#PythonMagic | #NumPy | #List | @learnpythonicy

۱۸

۱۴:۲۱

۱۹ فروردین
undefined *۷ ترفند کاربردی برای کار با دیکشنری‌ها در پایتون!

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

undefined
ایجاد دیکشنری

user = {'name': 'Sara', 'age': 23, 'city': 'Tehran'}
print(user)

---

undefined
افزودن/ویرایش مقدار

user['age'] = 24
user['job'] = 'Developer'
print(user)

---

undefined
دریافت مقدار با get (بدون خطا)

print(user.get('city'))
print(user.get('phone', 'Not Found'))

---

undefined
حذف مقدار با pop

user.pop('city')
print(user)

---

undefined
مرور کلیدها، مقادیر و جفت‌ها

for key, value in user.items():
    print(key, value)

---

undefined
ادغام دو دیکشنری

a = {'x': 1, 'y': 2}
b = {'y': 20, 'z': 3}
merged = a | b
print(merged)

---

undefined
ساخت دیکشنری با Dictionary Comprehension

```python
squares = {x: x
x for x in range(5)}
print(squares)


🗝 **ترفند ویژه: مرتب‌سازی دیکشنری بر اساس مقدار**

```python
data = {'a': 3, 'b': 1, 'c': 2}
sorted_data = dict(sorted(data.items(), key=lambda item: item[1]))
print(sorted_data)

نکات طلایی:
برای جلوگیری از خطا، همیشه از `get` در دسترسی‌های حساس استفاده کنید
از عملگر `|` برای ادغام دیکشنری‌ها بهره ببرید (پایتون 3.9+)
* Dictionary comprehension بهترین روش برای تولید سریع ساختار داده‌های پیچیده است
#PythonTips | #Dictionary | #Python3 | @learnpythonicy

۱۸

۱۶:۱۴

۵ خرداد

from PIL import Image, ImageEnhance, ImageFilter

# Load the image
img_path = 'image path'
img = Image.open(img_path)

# 1. Convert to grayscale to focus on text contrast
gray_img = img.convert('L')

# 2. Enhance Contrast
enhancer_con = ImageEnhance.Contrast(gray_img)
img_contrasted = enhancer_con.enhance(2.0)

# 3. Advanced Sharpening using UnsharpMask
# Radius: شعاع اثرگذاری، Percent: درصد تقویت لبه، Threshold: آستانه تشخیص لبه
img_sharpened = img_contrasted.filter(ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3))

# 4. Final slight brightness adjustment
enhancer_bright = ImageEnhance.Brightness(img_sharpened)
img_final = enhancer_bright.enhance(1.1)

# Save the processed image
output_path = 'output path'
img_final.save(output_path)
undefined کتابخانه‌ی Pillow (PIL) ابزاری استاندارد و قدرتمند برای پردازش تصاویر در پایتون است که از آن برای باز کردن، دستکاری و ذخیره‌سازی فرمت‌های مختلف تصویر استفاده می‌شود.
این کتابخانه امکانات گسترده‌ای برای بهینه‌سازی تصاویر، به‌ویژه برای پیش‌پردازش متون و آماده‌سازی جهت OCR فراهم می‌کند.
مروری کوتاه بر قابلیت‌های استفاده شده:
convert('L') — تصویر را به حالت Grayscale (سیاه و سفید طیفی) تبدیل می‌کند تا پردازش روی شدت روشنایی پیکسل‌ها متمرکز شود.
ImageEnhance.Contrast() — برای تنظیم تضاد نوری استفاده می‌شود؛ افزایش آن باعث تفکیک بهتر متن از پس‌زمینه در تصاویر بی‌کیفیت می‌گردد.
ImageFilter.UnsharpMask() — یک فیلتر پیشرفته برای افزایش وضوح (Sharpening) است که برخلاف روش‌های معمولی، با کنترل شعاع (Radius) و درصد تقویت، از ایجاد نویز اضافی جلوگیری می‌کند.
ImageEnhance.Brightness() — امکان اصلاح شدت روشنایی تصویر نهایی را فراهم می‌آورد تا وضوح بصری به حداکثر برسد.
#Pillow | #ImageProcessing | @learnpythonicy

۶

۱۰:۵۹