ترفندهای برنامه نویسی در پایتون – از صفر تا صد
بدون شک در حال حاضر، «زبان برنامهنویسی پایتون» (Python Programming Language)، محبوبترین و پرکاربردترین زبان برنامهنویسی در سطح جهان است؛ به ویژه، برای برنامهنویسان و محققان حوزه «هوش مصنوعی» (Artificial Intelligence) و «یادگیری ماشین» (Machine Learning). در این مطلب سعی شده است تا مهمترین، پرکاربردترین و از همه مهمتر، مفیدترین ترفندهای برنامه نویسی در پایتون مورد بررسی قرار گیرند. از مهمترین دلایل محبوبیت و کاربرد وسیع این زبان برنامهنویسی، در میان جامعه برنامهنویسان، میتوان به موارد زیر اشاره کرد:
- «قواعد دستوری» (Syntax) زبان برنامهنویسی پایتون بسیار ساده است و سبب میشود که یادگیری آن برای کاربران و برنامهنویسان مبتدی، بسیار ساده باشد.
- زبان برنامهنویسی پایتون، در تمامی کاربردهایی که نیاز به برنامهنویسی برای انجام یک سری وظایف خاص باشد (نظیر برنامهنویسی کنترلی، هوش مصنوعی، تجاری و سایر موارد)، قابل استفاده خواهد بود.
- زبان برنامهنویسی پایتون، مجموعهای غنی از «ماژولها» (Modules) و «کتابخانههای» (Libraries) نرمافزاری دارد که کار برنامهنویسان را بسیار ساده میکند.
بسیاری از «مهندسان هوش مصنوعی» (AI Engineers) و «دانشمندان داده» (Data Scientist)، از زبان برنامهنویسی پایتون برای انجام فعالیتهای کاری روزانه خود استفاده میکنند. بسیاری از ترفندهای ارائه شده در این مطلب، علاوه بر اینکه برای برنامهنویسان هوش مصنوعی قابل استفاده است، برای برنامهنویسان دیگری که از پایتون استفاده میکنند نیز مفید خواهد بود.
مهمترین و پرکاربردترین ترفندهای برنامه نویسی در پایتون
بسیاری از ترفندهای برنامه نویسی در پایتون و پیادهسازی آنها، در راهنمای ارائه شده به همراه «کتابخانه استاندارد پایتون» (Python Standard Library) قرار دارند. همچنین، برخی از کتابخانههای معرف پایتون نظیر PyPi، مجموعه غنی از اطلاعات مرتبط با کاربردهای توابع تعریف شده را در اختیار کاربران و برنامهنویسان قرار میدهند.
علاوه بر این، وبسایتها و منابع تحت وب زیادی وجود دارند که اطلاعات مفیدی، در رابطه با ماژولها و ابزارهای معروف زبان برنامهنویسی پایتون در اختیار کاربران قرار میدهند [+]. مطالعه این دسته از منابع، برای تمامی کاربران و برنامهنویسانی که از زبان برنامهنویسی پایتون برای انجام کارهای خود استفاده میکنند، به شدت توصیه میشود.
دستورات all و any
یکی از دلایلی که سبب محبوبیت روزافزونِ زبان برنامهنویسی پایتون شده است، «خوانایی» (Readability) و «رسایی» (Expressive) بالای آن است. یکی از ترفندهای برنامه نویسی در پایتون جهت بالا بردن خوانایی کدها، استفاده از دستورات all و any است.
این دسته از دستورات پایتون، برای بیان and و or متوالی در پایتون مورد استفاده قرار میگیرند. دستور any، در صورتی که یکی از آیتمها True باشد، مقدار True خروجی میدهد. همچنین، در صورتی که لیست خالی باشد و یا همه آیتمها False باشند، مقدار False را در خروجی تولید میکند. خیلی از برنامهنویسان، به شوخی اظهار میکنند که زبان برنامهنویسی پایتون، «شبهکد اجرایی» (Executable Pseudocode) است. هنگام برخورد با کدهایی از این دست، واقعا نمیتوان منکر این قضیه شد که کدهای زبان برنامهنویسی پایتون، شبهکد اجرایی هستند.
بسته نرمافزاری bashplotlib
یکی دیگر از ترفندهای برنامه نویسی در پایتون برای نمایش گرافی اطلاعات و دادهها، بسته نرمافزاری bashplotlib است. در صورتی که نیاز به تولید و نمایش گراف در «کنسول» (Console) زبان برنامهنویسی پایتون داشته باشید، میتوانید از طریق کد زیر، بسته bashplotlib را نصب و استفاده کنید. با استفاده از دستورات این بسته، قادر به تولید و نمایش گراف در کنسول برنامهنویسی پایتون خواهید بود.
مجموعه نوعهای دادهای (collections) در پایتون
زبان برنامهنویسی پایتون، «نوعهای دادهای» (Data Types) استاندارد و پیشفرضِ بسیار خوبی را برای استفاده کاربران و برنامهنویسان فراهم آورده است.
با این حال، برخی از نوعهای دادهای تعریف شده، بعضا رفتارهای غیر منتظرهای از خود نشان میدهند. استفاده از مجموعه نوعهای دادهای تعریف شده در ماژول collections، یکی از ترفندهای برنامه نویسی در پایتون است.
مجموعه نوعهای دادهای تعریف شده در ماژول collections، توسط کتابخانه استاندارد پایتون در اختیار کاربران و برنامهنویسان قرار گرفته است. این «افزونه» (Add-on)، بر پایه نوعهای دادهای استاندارد در زبان پایتون طراحی شده است و نوعهای دادهای جدیدی در اختیار برنامهنویسان قرار میدهد. برخی از نوعهای دادهای این افزونه، عبارتند از:
- نوع دادهای ()namedtuple
- نوع دادهای deque
- نوع دادهای ChainMap
- نوع دادهای Counter
- نوع دادهای OrderedDict
- نوع دادهای defaultdict
- نوع دادهای UserDict
- نوع دادهای UserList
- نوع دادهای UserString
دستور dir
این امکان برای برنامهنویسان در زبان پایتون فراهم شده است که با استفاده از دستور dir، «ویژگیهای مشخصه» (Attributes) یک «شیء» (Object) تعریف شده و معتبر در زبان برنامهنویسی پایتون را نمایش دهند.
برای این کار، کافی است از طریق «واسط خط فرمان» (Command Line Interface) پایتون، دستوراتی مشابه دستورات زیر را اجرا کنید:
این ترفند کاربردی، برای آن دسته از برنامهنویسانی که به صورت تعاملی در پایتون برنامهنویسی انجام میدهند و به شکل پویا، اشیاء و ماژولهای استفاده شده در برنامه خود را مورد کاوش قرار میدهند، بسیار مفید خواهد بود. وقتی که تابع dir بدون آرگومان فراخوانی شود، لیستی از نامها یا شناسههای موجود در «حوزه محلی» (Local Scope) ارجاع شناسههای برنامه، در خروجی تولید خواهد شد. در صورتی که یک شیء به عنوان آرگومان، در هنگام فراخوانی تابع ارسال شود، لیستی از ویژگیهای مشخصه معتبر آن شیء در خروجی نمایش داده خواهد شد.
دستور from __future__ import
یکی از عواقب محبوبیت بیش از اندازه پایتون، توسعه و به روز رسانی سریع ماژولها و بستههای نرمافزاری توسط تیمهای توسعه است. در نسخههای جدید ماژولها و بستهها، معمولا امکانات و ویژگیهای جدیدی در اختیار کاربران قرار میگیرد. ماژول __future__ به شما امکان میدهد، درصورتی که در آینده، ویژگیهای جدیدی به بسته یا ماژول استفاده شده در برنامه شما، اضافه شد، این ویژگیها به برنامه شما نیز اضافه شوند.
دستور geopy
یکی دیگر از ترفندهای برنامه نویسی در پایتون برای یکپارچهسازی ویژگیهای مفید در برنامه، استفاده از بسته geopy است. شاید برای بسیاری از برنامهنویسان، یکپارچهسازی ویژگیهای جغرافیایی (Geographical) در برنامههایشان، کار طاقتفرسا، زمانگیر و چالشبرانگیزی باشد.
استفاده از بسته geopy، چنین کاری را ساده میکند.
در این بسته نرمافزاری، «واسطهای برنامهنویسی کاربردی» (Application Programming Interface) بسیاری از سرویسهای ارائه دهنده خدمات جغرافیایی، یکپارچهسازی شدهاند. چنین امکانی به کاربران اجازه میدهد تا آدرس کامل، طول و عرض جغرافیایی و حتی ارتفاع یک مکان خاص را به دست آورند.
همچنین، کلاس بسیار مفیدی برای محاسبه فاصله در این بسته تعبیه شده است. این کلاس، فاصله میان دو مکان جغرافیایی را با استفاده از رابطه «فاصله هندسی» (Geodesic Distance)، محاسبه میکند.
دستور howdoi
برای بسیاری از برنامهنویسان، این اتفاق پیش آمده است که در حین کدنویسی، با بخش چالش برانگیزی از مسئله برخورد میکنند و یا اینکه، نمیتوانند جواب مسئله مورد نظر خود را به خاطر آورند. در چنین حالتی، گزینه اول مراجعه به وبسایتهایی نظیر StackOverflow خواهد بود.
یکی از ترفندهای برنامه نویسی در پایتون برای حل چنین مشکلی، استفاده از ابزار بسیار مفیدی به نام howdoi، در رابط خط فرمان پایتون است.
کاربران میتوانند سؤالهای برنامهنویسی خود را، از طریق کدهای زیر از این ابزار بپرسند. این ابزار سعی میکند تا جوابی در رابطه با پرسش مطرح شده، در خروجی تولید کند.
شایان توجه است که ابزار howdoi، کدهای خروجی را از روی جوابهای موجود در وبسایت StackOverflow استخراج میکند. در نتیجه، ممکن است در برخی از مواقع، اطلاعات مفیدی در اختیار کاربران قرار نگیرد.
دستورات بسته inspect
یکی از ترفندهای برنامه نویسی در پایتون برای درک بهتر عملیاتِ پشت صحنه اجرای کدها، استفاده از بسته inspect است. این بسته، به برنامهنویس اجازه میدهد تا با عملیات پشت صحنه، در هنگام اجرای کدهایشان در پایتون آشنا شوند. به عنوان نمونه، به مثال انتزاعی زیر توجه کنید:
این قطعه، یک ماژول نوشته شده توسط کاربر را نمایش میدهد. با استفاده از بسته inspect، برنامهنویس قادر خواهد بود تا «کد منبع» (Source Code) ماژول و جزئیات مرتبط با اشیاء تعریف شده در آن را مورد بررسی قرار دهد.
همچنین، از بسته inspect میتوان برای بررسی توابع و کد منبع بسته inspect استفاده کرد. به عنوان نمونه، با استفاده از قطعه کد زیر، کد منبع بسته inspect نمایش داده میشود.
کتابخانه Jedi
یکی از مهمترین ترفندهای برنامه نویسی در پایتون، جهت کدنویسی سریعتر، استفاده از کتابخانه Jedi است. این کتابخانه، امکاناتی نظیر «تکمیل خودکار» (َAutocompletion) و «تحلیل کد» (Code Analysis) را در اختیار برنامهنویسان پایتون قرار میدهد.
استفاده از این کتابخانه، برای تمامی برنامهنویسان و در هر سطحی از مهارت برنامهنویسی توصیه میشود.
دستور kwargs**
در هنگام یادگیری کدنویسی به یک زبان برنامهنویسی خاص، نقاط عطف زیادی در این مسیر برای یک برنامهنویس وجود خواهد داشت. در زبان برنامهنویسی پایتون، یادگیری استفاده از دستور kwargs**، قطعا یکی از این نقاط عطف و یکی از مهمترین ترفندهای برنامهنویسی در زبان پایتون خواهد بود.
پیش از اینکه دستور kwargs** توضیح داده شود، لازم است تا با Dictionary در زبان برنامهنویسی پایتون آشنا شوید. در پایتون، Dictionary «مجوعهای نامرتب» (Unordered Collection) از مقادیر دادهای است که برای ذخیره مقادیر دادهها در قالبی شبیه به نوع دادهای «نقشه» (Map) مورد استفاده قرار میگیرد.
Empty Dictionary: {} Dictionary with the use of Integer Keys: {1: 'FaraDars', 2: 'For', 3: 'Knowledge'} Dictionary with the use of Mixed Keys: {1: [1, 2, 3, 4], 'Name': 'FaraDars'} Dictionary with the use of dict(): {1: 'FaraDars', 2: 'For', 3: 'Knowledge'} Dictionary with each item as a pair: {1: 'FaraDars', 2: 'For'}
استفاده از دو ستاره (**) در کنار نام یک شیء تعریف شده از نوع dictionary، به برنامهنویس اجاز میدهد تا در هنگام فراخوانی تابع، این شیء را به عنوان یک «آرگومان نامدار» (Named Arguments) به توابع پاس دهد. کلیدهای تعریف شده در شیء، نام آرگومانهای پاس داده شده به تابع و مقادیر کلیدها، مقادیر آرگومانهای پاس داده شده خواهند بود.
این ترفند زمانی مفید است که برنامهنویس تمایل به تعریف توابعی دارد که از آرگومانهای نامدار (که هنوز تعریف نشدهاند) به عنوان آرگومانهای ورودی استفاده میکنند.
دستورات List comprehensions
یکی از مفیدترین ترفندهای برنامه نویسی در پایتون برای بالا بردن خوانایی کدها، استفاده از عبارات List comprehensions است. این دسته از عبارات، برای مختصرسازی کدهای لازم برای تولید لیستهای خوانا (Readable) در زبان برنامهنویسی پایتون مورد استفاده قرار میگیرند.
عبارات List comprehensions، شامل تعدادی «کروشه» (Brackets) حاوی عبارات برنامهنویسی هستند. پس از آن، معمولا یک حلقه for (ساده یا تو در تو) و تعدادی (0 یا بیشتر) عبارت if در این لیست ظاهر خواهد شد. این دسته از عبارات، نوشتن کدهای تمیز و خوانا در زبان برنامهنویسی پایتون را ممکن میکنند. نمونهای از این عبارات در قطعه کد زیر آمده است.
دستور ()map
در زبان برنامهنویسی پایتون، «برنامهنویسی تابعی» (Functional Programming) از طریق برخی از ویژگیهای تعبیهشده در این زبان برنامهنویسی، امکانپذیر شده است. یکی از مهمترین و مفیدترین ویژگیهای برنامهنویسی تابعی در زبان پایتون، تابع ()map است؛ به ویژه، زمانی که این ویژگی در ترکیب با توابع ()lambda مورد استفاده قرار میگیرد.
تابع lambda، یک «تابع بینام» (Anonymous Function) در زبان برنامهنویسی پایتون محسوب میشود. این تابع میتواند به هر تعداد، آرگومان به عنوان ورودی دریافت کند ولی تنها یک عبارت خواهد داشت. عبارت تعریف شده در تابع lambda اجرا و نتیجه خروجی تولید میشود.
در مثال بالا، تابع ()map یک تابع ساده lambda را روی هر کدام از عناصر موجود در متغیر x اعمال میکند. خروجی چنین عملیاتی یک شیء از نوع map است. شیء خروجی را میتوان به یک «شیء قابل تکرار» (Iterable Object) نظیر list یا «چندتایی» (Tuple) در زبان پایتون تبدیل کرد.
ماژول newspaper3k
استفاده از این ماژول، یکی از جالبترین ترفندهای برنامه نویسی در پایتون محسوب میشود. ماژول newspaper3k، به برنامهنویسان این امکان را میدهد که مقالات خبری و «فرا داده» (Metadata) همراه آنها را از سایتهای معروف خبری دنیا بازیابی و در برنامههای خود یکپارچهسازی کنند.
همچنین، این ماژول قادر است تا تصاویر، متن و اسامی نویسندگان مقالات خبری را نیز بازیابی کند.
['Bruce Babbitt']
"Photo\n\nAmerica's wild places survive..."
['national', 'president', 'american', 'monuments', 'york', ...]
سربارگذاری عملگرها در پایتون
یکی از مهمترین ویژگیهای موجود در زبانهای برنامهنویسی، امکان «سربارگذاری عملگرها» (Operator Overloading) است. این امکان به کاربران و برنامهنویسان اجازه میدهد تا عملگرهای مختلف تعریف شده در زبان برنامهنویسی را با اشیاء یک کلاس خاص (تعریف شده به وسیله کاربر) مورد استفاده قرار دهند.
به عنوان نمونه، با استفاده قابلیت سربارگذاری عملگرها میتوان از عملگر (+)، علاوه بر جمع کردن انواع متغیرهای حاوی مقادیر عددی، برای «الحاق کردن» (Concatenating) دو متغیر حاوی مقادیر رشتهای نیز استفاده کرد. به عبارت دیگر، برنامهنویس قادر است از عملگرهای استاندارد موجود در پایتون، برای انجام دستهای از اعمال خاص روی یک شیء «تعریف شده توسط کاربر» (user Defined) استفاده کند.
دستور pprint
دستور print تعبیه شده در زبان برنامهنویسی پایتون، به راحتی قادر است تمامی نیازهای برنامهنویسان را مرتفع کند. با این حال، زمانی که برنامهنویس قصد چاپ اشیاء بزرگ و تو در تو را دارند، خروجی چندان خوشایندی چاپ نخواهد شد. یکی از بهترین ترفندهای برنامه نویسی در پایتون برای ساختار دادن به نمایش دادهها در خروجی، استفاده از ماژول pretty-print یا pprint در زبان برنامهنویسی پایتون است.
این ماژول، اشیاء ساخت یافته و پیچیده را به شکل مرتب و خوانا در خروجی نمایش میدهد.
خروجی:
ماژول Queue
زبان برنامهنویسی پایتون، از طریق ماژول Queue، امکان برنامهنویسی «چندریسمانی» (Multithreading) را برای برنامهنویسان فراهم آورده است. با استفاده از این ماژول، برنامهنویسان قادر به پیادهسازی «ساختارهای دادهای صف» (Queue Data Structures) هستند. چنین ساختارهای دادهای به برنامهنویسان امکان میدهند تا عناصر را با توجه به یک قانون خاص، اضافه و بازیابی کنند.
به عنوان نمونه، صفهای «خروج به ترتیب ورود» (First In, First Out | FIFO) اشیاء را به ترتیبی که در آن وارد صف شدهاند، بازیابی میکنند و صفهای «آخرین ورودی / اولین خروجی» (Last In, First Out | LIFO)، به برنامهنویس اجازه میدهند تا به جدیدترین اشیاء اضافه شده به صف، زودتر از دیگر از اشیاء دسترسی داشته باشد. «صفهای اولویت» (Priority Queues) نیز به کاربران اجازه میدهند، اشیاء را به ترتیبی که ذخیره شدهاند، بازیابی کنند.
خروجی:
Thread-1: Fri Feb 19 09:41:39 2016 Thread-2: Fri Feb 19 09:41:41 2016 Thread-1: Fri Feb 19 09:41:41 2016 Thread-1: Fri Feb 19 09:41:43 2016 Thread-2: Fri Feb 19 09:41:45 2016 Thread-1: Fri Feb 19 09:41:45 2016 Thread-1: Fri Feb 19 09:41:47 2016 Thread-2: Fri Feb 19 09:41:49 2016 Thread-2: Fri Feb 19 09:41:53 2016
دستور __repr__
در هنگام تعریف یک کلاس یا یک شیء در زبان برنامهنویسی پایتون، فراهم آوردن یک نمایش رسمی از اشیاء کلاس در قالب «رشته متنی» (String)، تاثیر زیادی در خوانایی کدهای نوشته شده خواهد داشت. به عنوان نمونه:
<open file 'file.txt', mode 'r' at 0x10d30aaf0>
این دسته از ترفندهای برنامه نویسی در پایتون عیبیابی کدها را به مراتب سادهتر میکند. با استفاده از قالب زیر، میتوان چنین امکانی را به تعریف کلاسها اضافه کرد:
کتابخانه sh
زبان برنامهنویسی پایتون، یکی از بهترین زبانها برای «اسکریپتینگ» (Scripting) است. زبانهای اسکریپتینگ، زبانهای برنامهنویسی برای «محیطهای زمان اجرا» (Run-Time Environment) هستند که جهت خودکارسازی اجرای وظایف در این محیطها به کار گرفته میشوند.
کتابخانه sh، به برنامهنویسان اجازه میدهد تا برنامهها را به راحتی و مانند اجرای یک تابع، فراخوانی کنند. استفاده از این کتابخانه، یکی از ترفندهای برنامه نویسی در پایتون محسوب میشود و برای خودکارسازی «جریانهای کاری» (Workflows) و وظایف، درون محیط برنامهنویسی پایتون مورد استفاده قرار میگیرد.
قابلیت تعریف Type Hints
یکی از مهمترین ترفندهای برنامه نویسی در پایتون برای ارتقاء خوانایی کدها، به ویژه برای برنامهنویسان حرفهای، استفاده از قابلیت Type Hints است. در زبان برنامه نویسی پایتون، لازم نیست برای «متغیرها» (Variables)، «توابع» (Functions)، «کلاسها» (Classes) و سایر موارد، «نوع دادهای» (Datatype) تعریف شود.
چنین قابلیتی، امکان توسعه سریع برنامهها را برای برنامهنویسان فراهم میآورد. با این حال، کوچکترین مشکل مرتبط با نوع دادهای، سبب ایجاد «خطای زمان اجرا» (Run-Time Error) در برنامه میشود. از نسخه 3.5 پایتون به بعد، این امکان برای برنامهنویسان فراهم شده است تا از قابلیت Type Hints در هنگام تعریف توابع استفاده کنند. به عنوان نمونه:
کد بالا برای پایتون مشخص میکند که نوع دادهای مورد انتظار برای متغیر x و خروجی تابع، از نوع Int یا صحیح است. همچنین، برنامهنویسان قادرند تا برای نوعها یا ساختارهای دادهای، «نام مستعار» (Alias) انتخاب کنند.
استفاده از قابلیت Type Hints، خوانایی کدهای نوشته شده به زبان پایتون را به شدت افزایش میدهد. همچنین، احتمال وقوع خطاهای زمان اجرا (مرتبط با نوع دادهای) در برنامهها کاهش مییابد. این قابلیت، به ویژه در پروژههای بزرگ و پیچیده نرمافزاری، بسیار کاربردی است.
ماژول uuid
یکی از سادهترین و سریعترین روشهای تولید «شناسههای یکتای عمومی» (Universally Unique IDs)، استفاده از ماژول UUID در کتابخانه استاندارد پایتون است. به عنوان نمونه:
چنین کدی، یک عدد 128 بیتی تصادفی تولید خواهد کرد که با احتمال قریب به یقین، یکتا خواهد بود. در واقع، چیزی حدود شناسه یکتا، توسط این ماژول قابل تولید است. در چنین حالتی، احتمال پیدا کردن «نسخههای تکراری» (Duplicates) در یک مجموعه، به شدت پایین خواهد بود. به عنوان نمونه، با داشتن حدود 1 تریلیون شناسه یکتا، احتمال پیدا کردن نسخههای تکراری، یک در یک میلیارد است.
محیطهای مجازی
یکی از مهمترین ترفندهای برنامه نویسی در پایتون جهت کاهش خطاهای اجرایی، استفاده از «محیطهای مجازی» (Virtual Environments) برای مدیریت پروژههای نرمافزاری در پایتون است. احتمال اینکه یک برنامهنویس، به طور همزمان روی بیش از یک پروژه مشغول به کار باشد، بسیار زیاد است.
متاسفانه، در برخی از مواقع، دو پروژه مختلف به نسخههای متفاوتی از یک «وابستگی» (Dependency) نرمافزاری (ماژول، تابع، بسته و سایر موارد) یکسان احتیاج دارند. قابلیت تولید محیطهای مجازی در پایتون، به برنامهنویسان اجازه میدهد تا بتوانند از نسخههای مختلف وابستگیها در پروژههای خود استفاده کنند.
با استفاده از کدهای بالا، این امکان برای شما وجود دارد که تمامی نسخههای «مستقل» (Standalone) از پایتون را، روی یک کامپیوتر استفاده کنید.
ماژول دسترسی به واسط برنامهنویسی کاربردی ویکیپدیا
وبسایت «دانشنامه ویکیپدیا» (Wikipedia Encyclopedia)، یک واسط برنامهنویسی کاربردی بسیار عالی برای دسترسی نرمافزاری به دانش و اطلاعات آزاد موجود در این دانشنامه، در اختیار برنامهنویسان قرار میدهد. ماژول ویکیپدیا در پایتون، امکان دسترسی آسان به این واسط را در زبان برنامهنویسی پایتون فراهم میکند.
این ماژول، مانند وبسایت اصلی، امکاناتی از قبیل دسترسی به صفحات در زبانهای مختلف، «ابهامزدایی از صفحات» (Page Disambiguation)، بازیابی تصادفی صفحات و سایر موارد را در اختیار کاربران قرار میدهد.
ماژول PyYAML برای YAML
زبان YAML که مخفف عبارت (YAML Ain’t Markup Language) است، یک زبان «قالببندی داده» (Data Formatting) است. این زبان، «ابرمجموعه» (Superset) زبان JSON محسوب میشود؛ یعنی، تمامی قالبهای دادهای تعریف شده به وسیله JSON، توسط «پارسر» (Parser) زبان YAML قابل تجزیه و تحلیل نحوی (Parse) هستند.
برخلاف JSON، این ماژول میتواند اشیاء پیچیدهتری را ذخیره کند و به عناصر خودش نیز ارجاع دهد. همچنین، امکان نوشتن «توضیحات» (Comments) برای «فایلهای تنظیمات» (Configuration Files) فراهم شده است.
از طریق ماژول PyYAML، امکان استفاده از YAML در پایتون وجود دارد.
با استفاده از ماژول PyYAML، میتوان اشیاء تعریف شده از هر نوع دادهای در زبان پایتون و همچنین، اشیاء هر کلاس تعریف شده به وسیله کاربر را ذخیره کرد.
تابع zip
یکی از جالبترین ترفندهای برنامه نویسی در پایتون، استفاده از تابع ()zip است. تابع zip، یک تابع تعبیهشده در زبان برنامه نویسی پایتون است. این تابع، تعدادی «شیء قابل تکرار» (Iterable Objects) را به عنوان ورودی دریافت و لیستی از چندتاییها را به عنوان خروجی تولید میکند. هر چندتایی، عناصر یک شیء ورودی را بر اساس شاخص مکانی آنها گروهبندی میکند. همچنین، برای انجام معکوس این عملیات، از تابع (()zip*) استفاده میشود.
جمعبندی
در این مطلب، سعی شده است تا بهترین، کاربردیترین و جالبترین ترفندهای برنامه نویسی در پایتون مورد بررسی قرار گیرد. بسیاری از این ترفندها، برای سادهسازی روند برنامهنویسی و خوانایی کدهای نوشته شده در زبان برنامهنویسی پایتون به کار میروند.
پایتون، یک زبان برنامهنویسی با امکانات متنوع و بسیار خوشساخت است. ترفندهای برنامه نویسی در پایتون، امکان استفاده از پتانسیل کامل این زبان برنامهنویسی را در اختیار کاربران قرار میدهند.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- گنجینه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای برنامهنویسی
- زبان برنامه نویسی پایتون (Python) — از صفر تا صد
- تابعهای لامبدا (Lambda) در پایتون — یک راهنمای مقدماتی
- List Comprehension در پایتون چیست و چه زمانی باید از آن استفاده کنیم؟
- معرفی کتاب آموزش طراحی سایت با پایتون — بهترین منابع یادگیری
^^