fa
Feedback
| کانال توسعه‌دهندگان پایتون |

| کانال توسعه‌دهندگان پایتون |

رفتن به کانال در Telegram

⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس 💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی 💎 @Developix 🚀 Developix.ir 📌 پشتیبانی و تبلیغات: @DevelopixSupport

نمایش بیشتر
7 748
مشترکین
+824 ساعت
+67 روز
+16030 روز
آرشیو پست ها
💠 واسط گرافیکی یا GUI امکان ارتباط بین کاربر و دستگاه را فراهم می‌کند و شامل عناصری مانند buttonها، menuها، text boxها و سای
💠 واسط گرافیکی یا GUI امکان ارتباط بین کاربر و دستگاه را فراهم می‌کند و شامل عناصری مانند buttonها، menuها، text boxها و سایر المان‌های گرافیکی است. این واسط به کاربر اجازه می‌دهد تا با استفاده از موس و کیبورد به راحتی با دستگاه ارتباط برقرار کند و کارهای متفاوتی انجام دهد. 💠 در کل، GUI برای افزایش راحتی در استفاده از دستگاه‌های مختلف بسیار مهم است و تقریباً در تمامی دستگاه‌های الکترونیکی مانند تلفن همراه، تبلت، لپ‌تاپ و کامپیوتر به کار می‌رود. 💠 در ادامه، به معرفی چند واسط گرافیکی پرکاربرد و پاسخ به سوال‌های مرتبط با این حوزه می‌پردازیم. #GUI #Tkinter #PyQt #Kivy #واسطه_گرافیکی #طراحی_واسط_کاربری ✍🏻 *ژنرال* 💎 Channel: @DevelopixPython

🔸 توضیح اجزای ماژول itertools 🔹 پارت چهار 🔘 itertools.tee(iterable, n) 🔸تابع tee یک iterable را به عنوان ورودی دریافت می‌کند و چندین iterator مستقل از آن ترتیب را بازگردانده می‌کند. 💡مثال iterators = itertools.tee([1, 2, 3, 4, 5], 3) for iterator in iterators: print(tuple(iterator)) # (1, 2, 3, 4, 5) # (1, 2, 3, 4, 5) # (1, 2, 3, 4, 5) 🔘 itertools.pairwise(iterable) 🔸کلاس pairwise یک ترکیب از دو مقدار پشت سر هم در یک iterable را برمی‌گرداند. به عبارت دیگر، این کلاس دو تا دو تا مقادیر iterable را در اختیار می‌گذارد و آن‌ها را به صورت زوج‌هایی از مقادیر متوالی برمی‌گرداند. 🔹استفاده از این کلاس، نیازمند استفاده از نسخه پایتون 3.10 یا بالاتر آن است. 💡مثال for a, b in itertools.pairwise([1, 2, 3, 4]): print(f"{a} & {b}") # 1 & 2 # 2 & 3 # 3 & 4 🔘 itertools.batched(iterable, n) 🔸کلاس batched به شما امکان می دهد تا یک iterable را به دسته های مشخص تقسیم کنید و هر دسته را به صورت یک tuple برگردانید. 🔹استفاده از این کلاس، نیازمند استفاده از نسخه پایتون 3.12 یا بالاتر آن است. 💡مثال
iterator = itertools.batched([1, 2, 3, 4, 5, 6], 2)

for batch in iterator: print(batch) # (1, 2), (3, 4), (5, 6) #itertools #iterable #iterator #Module ✍🏻 *ژنرال* 💎 Channel: @DevelopixPython

🔸 توضیح اجزای ماژول itertools 🔹 پارت سه 🔘 itertools.dropwhile(predicate, iterable) 🔸کلاس dropwhile برای حذف مقادیر اول یک iterable استفاده می‌شود. با دادن یک تابع برای بررسی به عنوان پارامتر اول و یک iterable به عنوان پارامتر دوم، این کلاس مقادیر iterable را از اولین مقداری که تابع داده شده برای آن درست نیست شروع به بازگشت می‌دهد. 🔹تفاوت اصلی بین dropwhile و تابع filter این است که dropwhile اجزای iterable را به ترتیب بررسی می‌کند و تا زمانی که شرط تعیین شده توسط تابع شرطی درست باشد، اجزا را رد می‌کند. ولی filter همه اجزای iterable را بررسی می‌کند و فقط اجزایی که شرط تعیین شده را برآورده می‌کنند را برمی‌گرداند. 💡مثال iterator = itertools.dropwhile( lambda x: x < 3, [1, 2, 3, 4, 5] ) for item in iterator: print(item) # 3, 4, 5 🔘 itertools.groupby(iterable, key) 🔸کلاس groupby برای گروه‌بندی مقادیر یک iterable بر اساس یک تابع کلید استفاده می‌شود. با دادن یک iterable به عنوان پارامتر اول و یک تابع کلید به عنوان پارامتر دوم، groupby مقادیر iterable را بر اساس مقداری که تابع کلید برای آن‌ها برمی‌گرداند، گروه‌بندی می‌کند. 💡مثال dicts = [ {"name": "Mona", "age": 21}, {"name": "Mina", "age": 21}, {"name": "Nima", "age": 23}, {"name": "Sina", "age": 23} ] iterator = itertools.groupby( dicts, key=lambda x: x["age"] ) for key, group in iterator: print(key, list(group)) # 21 [{'name': 'Mona', 'age': 21}, {'name': 'Mina', 'age': 21}] # 23 [{'name': 'Nima', 'age': 23}, {'name': 'Sina', 'age': 23}] 🔘 itertools.islice(iterable, start, stop, step) 🔸کلاس islice برای ساخت یک iterator از یک iterable با طول مشخص استفاده می‌شود. 🔹با دادن یک iterable به عنوان پارامتر اول و حداقل، حداکثر و فاصله‌های بین اندیس‌ها به عنوان پارامتر دوم، سوم و چهارم، islice یک iterator از مقادیر iterable با اندیس‌های مشخص شده ایجاد می‌کند. 💡مثال iterable = range(10) for i in itertools.islice(iterable, 1, 8, 2): print(i) # 1, 3, 5, 7 #itertools #iterable #iterator #Module ✍🏻 *ژنرال* 💎 Channel: @DevelopixPython

🔸 توضیح اجزای ماژول itertools 🔹 پارت دو 🔸 کلاس repeat یک شیء و یک تعداد بار تکرار را به عنوان ورودی می‌گیرد و تکرار این مقدار را به تعداد مشخص شده تولید می‌کند. 🔹اگر به عنوان پارامتر times مقداری داده نشود، شیء داده شده برای بی‌نهایت بار تکرار خواهد شد. 💡مثال iterator = itertools.repeat("AnyObject", 2) for item in iterator: print(item) # AnyObject, AnyObject 🔘 itertools.compress(data, selectors) 🔸کلاس compress یک iterable معمولی و یک iterable از مقادیر بولین با طول برابر (با تعداد مقادیر iterable اولیه) را به عنوان ورودی می‌گیرد و فقط مقادیری را که در مقابل هر مقدار بولینی که در ورودی داده شده است True هستند، در یک iterator تولید می‌کند. 💡مثال
values = ("A", "B", "C")
bools = (True, False, True) iterator = itertools.compress(values, bools) for item in iterator: print(item) # A, C 🔘 itertools.filterfalse(predicate, iterable) 🔸کلاس filterfalse یک iterator و یک تابع پذیرنده گرفته و همانند تابع filter عمل می کند، با این تفاوت که در جایگاه شرط منفی تابع پذیرنده قرار می‌گیرد. 💡مثال iterator = itertools.filterfalse( lambda n: n % 2 == 0, [1, 2, 3, 4, 5] ) for item in iterator: print(item) # 1, 3, 5 #itertools #iterable #iterator #Module ✍🏻 *ژنرال* 💎 Channel: @DevelopixPython

🔸 توضیح اجزای ماژول itertools 🔹 پارت یک 🔘 itertools.count(start, step) 🔸 کلاس count یک شمارنده ایجاد می کند که به طور پیش‌فرض از عدد صفر شروع می کند و به طور پیوسته به بی نهایت ادامه پیدا می کند. 🔹این کلاس در پایتون دو پارامتر اختیاری به نام‌های start و step دارد. پارامتر start مشخص می‌کند از کدام عدد باید شروع به تولید دنباله کنیم و پارامتر step تعداد فاصله‌های بین اعداد را تعیین می‌کند. 💡مثال counter = itertools.count(30, 10) print(next(counter)) # 30 print(next(counter)) # 40 print(next(counter)) # 50 🔘 itertools.cycle(iterable) 🔸 کلاس cycle یک iterator برای تکرار یک iterable به صورت بی‌نهایت ایجاد می‌کند. 🔹در پایتون، iterable ها نمی‌توانند تکرارپذیر باشند و برای دوباره استفاده از آن‌ها، باید iterable ها را مجدداً تعریف کرد. اما با استفاده از کلاس cycle می‌توانید به سادگی این محدودیت را نادیده بگیرید و iterable را به صورت یک حلقه نامتناهی تکرار کنید. 💡مثال cycle = itertools.cycle([1, 2]) print(next(cycle)) # 1 print(next(cycle)) # 2 print(next(cycle)) # 1 🔘 itertools.chain(*iterables) 🔸کلاس chain دو یا چند iterable را به عنوان ورودی می‌گیرد و آن‌ها را به صورت پشت سر هم در یک iterator واحد قرار می‌دهد. 💡مثال iterator = itertools.chain([1, 2, 3], [4, 5, 6]) for item in iterator: print(item) # 1, 2, ..., 6 #itertools #iterable #iterator #Module ✍🏻 *ژنرال* 💎 Channel: @DevelopixPython

🔶 ماژول itertools توابعی را در اختیار قرار می‌دهد که به شما امکان ایجاد ایتریتورهای مختلف و کارهایی را که معمولا با استفاده
🔶 ماژول itertools توابعی را در اختیار قرار می‌دهد که به شما امکان ایجاد ایتریتورهای مختلف و کارهایی را که معمولا با استفاده از حلقه‌های while و for انجام می‌شوند، به راحتی و با کمترین کد ممکن را می‌دهد. 🔷 این ماژول همچنین کلاس‌هایی دارد که به شما امکان می‌دهد دو یا چند ایتریتور را ترکیب یا فیلتر کنید، ترتیب عناصر را تغییر دهید و بسیاری از عملیات‌های دیگر را بر روی ایتریتورها انجام دهید. در کل، Itertools یک ابزار بسیار کارآمد و پرکاربرد است که به شما کمک می‌کند تا کد خود را بهینه‌تر کنید و در نتیجه عملکرد آن را بهبود بخشید. 🔸 در ادامه، به توضیح هر یک از اجزای ماژول itertools می‌پردازیم. #itertools #iterable #iterator #Module ✍🏻 *ژنرال* 💎 Channel: @DevelopixPython