Get Mystery Box with random crypto!

بنیاد پایتون کاران فارسی

لوگوی کانال تلگرام psfarsi — بنیاد پایتون کاران فارسی ب
لوگوی کانال تلگرام psfarsi — بنیاد پایتون کاران فارسی
آدرس کانال: @psfarsi
دسته بندی ها: فن آوری ها
زبان: فارسی
مشترکین: 2.51K
توضیحات از کانال

مقالات و اخبار مرتبط با پایتون فارسی
✅ گروه رسمی بنیاد نرم افزار پایتون فارسی: @PyFarsi
✅ Pyfarsi Offtopic Group : @Pyfarsi_Offtopic

Ratings & Reviews

3.00

3 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

1

4 stars

0

3 stars

0

2 stars

2

1 stars

0


آخرین پیام ها 7

2022-05-06 21:30:28
سریع ترین فریمورک وب در پایتون کدام است؟
شاید برخی با شنیدن این سوال، ذهنشون بره سمت FastAPI, Django یا Flask !
اما خب پایتون برای وب کم کاری نکرده و فریمورک و میکروفریمورک های زیاد برای توسعه در حوزه وب داره که خیلیاشون ناشناخته و یا کمتر شناخته شده هستن که ممکن ام هست حتی از فریمورکایی که میشناسیم هم قوی تر باشن!
یکی از این فریمورک ها فریمورک blacksheep هس که تو این مقاله یکم در موردش صحبت میکنیم

لینک مقاله: https://vrgl.ir/m2vjC

#معرفی_فریمورک
#web_framework
535 views• Dom, edited  18:30
باز کردن / نظر دهید
2022-05-06 13:00:15
دوره های آموزشی PyQt Qml در پای ابر

سلام قصد داریم به زودی یک دوره مناسب و کامل برای شما به صورت رایگان آماده کنیم تا به راحتی بتوانید در توزیع پای ابر برنامه نویسی کنید.

از آنجا که برنامه های پای ابر به صورت بومی و پیش فرض با پای کیوت ۵ + کیو ام ال توسعه می یابند ما قصد داریم آموزش های آن را به صورت کامل برای شما بنویسیم.

این آموزش ها مختص پای ابر نیستند و شما می توانید در هر سکویی (پلتفرمی) آن را استفاده نمایید.

قسمت اول: نحوه ایجاد پروژه در پای ابر
قسمت دوم: شروع کیو ام ال
قسمت سوم: دکمه در کیو ام ال

@PSFarsi
@PyFarsi
635 viewsMani, 10:00
باز کردن / نظر دهید
2022-05-04 15:50:06 چگونه فایل‌های json عه بزرگ را بدون تموم شدن مموری‌مون بخونیم

یک مشکلی که بعضا برای کسایی که با json خصوصا فایل‌هایی با حجم بالا کار میکنن اینه که استفاده غیرطبیعی و بسیار زیاد مموری رو تجربه میکنن!!

برای جلوگیری از این مشکل چندین راه‌حل وجود داره که در این مقاله راجع بهشون صحبت شده:

https://pythonspeed.com/articles/json-memory-streaming/


@PSFarsi
288 viewsM4hdi, 12:50
باز کردن / نظر دهید
2022-05-02 08:39:47
ویدیو پست بالا

@PSFarsi
49 viewsM4hdi, edited  05:39
باز کردن / نظر دهید
2022-05-02 08:39:44 این پست رو دیدم و چون در کانال منتشر شده و افرادی اون رو دیده‌اند باید راجع بهش صحبت کنم.

کدی که در قسمت async عه این ویدیو استفاده شده، کد درستی نیست و هیچ فایده‌ای برای کاری که ‌می‌خواسته انجام بده نداشته و اصلا ممکنه ضرر هم داشته باشه. (یعنی ممکنه کندتر هم بشه)

در اون تابع main_aiohttp اصلا الگوریتم درستی بکار نرفته و همین باعث شده که از لایبرری aiohttp، عملا استفاده‌ای نشه.
مشکل اصلی این تابع همون حلقه for عی هست که تک تک url میگیره و بعدش از اون در context manager عه session که بالاتر از aiohttp گرفته شده، استفاده میشه.
اما اگه از این روش برای requests استفاده کنیم، هیچ ضرری نکردیم، چون بهرحال requests از blocking sockets استفاده میکنه.

در این مسئله هدف اینه که ما از نهایت زمان‌ تلف شده (یعنی انتظار برای تموم شدن درخواست قبلی و رفتن به url بعدی. که کاملا در مثال اول یعنی از استفاده از requests مشهوده) برای get کردن اون url استفاده کنیم، و همه درخواست‌هامون رو باهم بفرستیم. اما در تابع main_aiohttp در این ویدیو روشی که استفاده شده هیچ فرقی با روش requests نداره و کاملا sync اجرا میشه. این رو دقیقا میشه از *دونه دونه* درخواست زده شدن در ورژن async و صبر کردن هر درخواست برای تموم شدن درخواست قبلی در ویدیو فهمید.

در ضمن نوشتن کد async نه همیشه لازمه و نه اونقدرها ساده، که بشه راحت نوشتنش، چنین اشتباهاتی براحتی رخ میدن

کد صحیح (و نمونه کد غلط) اینجا هستن.
code: sync_async_aiohttp

در ویدیو به سه صورت (requests، حالت درست async و غلط async) چند بار به سایت‌های مختلف درخواست زدم و تایم‌هاشون رو نشون دادم
video: لینک

[اگر] هم میخواید یک ویدیو هم برای تحلیل کد (هم اشتباهش هم درستش) می‌ذارم کانال


@PSFarsi
43 viewsM4hdi, edited  05:39
باز کردن / نظر دهید
2022-04-30 08:40:03 کلاس zip

ببینید zip یک کلاس هست که میاد به عنوان پارامتر های ورودی خودش، iterable (یا iterable هایی) رو به صورت postional argument میگیره و یک zip object به ما برمیگردونه!

شاید بگید iterable چیه؟ iterable میشه چیزی که شما توی پایتون بتونی مثلا روش for بزنی و به اصطلاح iterate کنی! مثل چی؟ مثل list - str - tuple و ...

خوب حالا این zip چطوری کار میکنه

این کلاس میاد و از iterable هایی که بهش داده شده، به تعداد اون Iterable ها (فرض کنیم n تا) tuple (هایی) به سایز n برامون yield میکنه! حالا اعضای اون tuple که سایزش n هست (یعنی n تا عضو داره) چی هستن؟ zip میاد و اولین عضو رو از اولین iterable و دومین عضو رو از دومین iterable و همینطوری تا آخر میگیره! این تا کی ادامه داره؟ تا زمانی که اعضای کوتاه ترین iterable تمام بشه!

نکته مهم

کلاس zip هم مثل filter و map و ... یک lazy iterator هست، یعنی چی؟ یعنی جواب رو درجا برای ما محاسبه نمیکنه و هر بار که روش next زده بشه، به ما یک چیزی yield میکنه.

مثال
names = [
"Ali",
"Mohsen",
"Hassan",
]

last_names = [
"Hassanzadeh",
"Mohammadi",
]

z = zip(names, last_names)

الان هر بار که روی z ما next بزنیم به ما یک tuple به سایز 2 میده (چرا 2 ؟ چون 2 تا iterable بهش دادیم)

>>> next(z)
('Ali', 'Hassanzadeh')

به همین صورت میتونید به لیست، ست و ... این zip object رو تبدیل کنید:

>>> list(z)
[('Ali', 'Hassanzadeh'), ('Mohsen', 'Mohammadi')]

چرا هر tuple دوتا عضو بیشتر نداره؟ چون همونطور که بالا گفتم تعداد به اندازه کوتاه ترین iterable هست که در اینجا last_names کوتاه تر هست و فقط 2 عضو داره!

پس signature کلی کلاس zip به شکل زیر هست (از پایتون 3.10 پارامتر strict بهش اضافه شده که توضیحش میدم)

zip(*iterables, strict=False) —> zip object

خوب ی نکته میمونه، اینکه از پایتون 3.10 به این کلاس یک پارامتری اضافه شده به اسم strict ! کارش چیه؟ مقدارش به صورت پیشفرض False هست، ولی زمانی که شما اون رو True کنید، چک میکنه که همه iterable هایی که بهش دادید آیا طول یکسان دارند یا نه و اگر این شرایط برقرار نبود یک خطای ValueError به شما میده! مثال:

names = [
"Ali",
"Mohsen",
"Hassan",
]

last_names = [
"Hassanzadeh",
"Mohammadi",
]
print(list(zip(names, last_names, strict=True)))

خروجی:

ValueError: zip() argument 2 is shorter than argument 1


#builtins


@PSFarsi
172 viewsSeّyed Iliya, 05:40
باز کردن / نظر دهید
2022-04-29 20:17:50
تست سرعت بین request و aiohttp در پایتون

همونطور که دیدن دوتا تابع ساده که یک درخواست به صورت GET ارسال میکردن و نتیجه چی شد ... request ا async نیست و aiohttp ا async هست

به راحتی میتونید با async کردن پروژه ، سرعت پروژتون رو ببرید بالا

نظر شما چیه ؟ برای کراولینگ کدوم رو ترجیح میدین ؟

Language: Python( requests , aiohttp)

آدرس گپ :
t.me/PyFarsi

آدرس کانال :
@PSFarsi
118 viewsHidden, 17:17
باز کردن / نظر دهید
2022-04-28 21:24:38
دریافت ایمیل فیک با پایتون request

همونطور که دیدن هم به صورت گرافیکی بهتون نشون دادم و هم توی کد که دیدین به چه صورت ایمیل رو دریافت می‌کرد.

Language: Python ( requests , bs4 )


آدرس گپ :
t.me/PyFarsi

آدرس کانال :
@PSFarsi
206 viewsHidden, 18:24
باز کردن / نظر دهید
2022-04-24 20:30:34
لاگین کردن و به دست آوردن اطلاعات کاربران اینستاگرام با request

خب همون طور که دیدین من ران کردم بهم ارور داد و نتونست csrftoken رو به دست بیاره ، من قبل خیلی زیاد لاگین کردم و با ی مدتی نمیزاره با اکانتم لاگین کنم ، وقتی شما لاگین کردین و پیام موفقیت آمیز رو بهتون داد یک فایل سشن ایجاد میکنه که برای دفعه های بعدی نیازی به لاگین مجدد نباشه و از همون سشن استفاده کنید.

منم توی ویدیو از سشنی که داشتم استفاده کردم و اون رو لود کردم و با متد user information تونستم اطلاعات کاربر مورد نظر رو ببینم و همچنین یک فایل ایجاد کرد که اطلاعات بیشتری از کاربر درون فایل وجود داره.

انشالله اگر شد در آینده نه چندان دور چندتا قابلیت مثل لایک و ... بهش اضافه میکنم

لینک پروژه در گیت هاب ...

آدرس گپ :
t.me/PyFarsi

آدرس کانال :
@PSFarsi
265 viewsHidden, 17:30
باز کردن / نظر دهید
2022-04-24 15:50:07 https://techcrunch.com/2022/04/22/edgedb-wants-to-modernize-databases-for-cutting-edge-apps/

با نسل بعدی دیتا‌بیس‌ها آشنا بشید


@PSFarsi
163 viewsM4hdi, 12:50
باز کردن / نظر دهید