خواندن و نوشتن فایل های json در پایتون

JSON که کوتاه شده JavaScript Object Notation  است، فرمت استاندارد و مستقل از پلتفرم و یا زبان برنامه نویسی است که از آن برای تبادل اطلاعات (Information Exchange) میان سیستم های مختلف و مستقل از یکدیگر استفاده می شود. در این نوشته آموزش می دهیم که چگونه فایل های json که روی سیستم یا روی شبکه وجود دارند را بخوانیم و همچنین چگونه فایل های json را ایجاد کنیم.

در نوشته پسین نمونه ای را خواهیم گفت که با خواندن داده های به فرمت json داده های هواشناسی و وضعیت آب و هوا را بدست می آوریم. در پایتون ماژول استانداردی به نام json وجود دارد که تمامی نیازهای خواندن و ایجاد کردن فرمت json را پوشش می دهد. همچنین می توانید از کتابخانه Pandas نیز برای خواندن و نوشتن فرمت JSON کمک بگیرید.

در کد زیر نمونه ساده ای از داده های به فرمت json را نشان می دهد که متشکل از چندین جفت کلید و مقدار است که میان آکولادهای باز و بسته شده قرار دارند. برای شروع لطفا کد زیر را در یک فایل با پسوند json ذخیره کنید تا در ادامه این فایل را خوانده و پردازش کنیم. ادامه‌ی خواندن

تابع reduce در پایتون

تابع reduce دو آرگومان را به عنوان ورودی دریافت می کند. آرگومان اول نام یک تابع (یا یک تابع lambda) آرگومان دوم یک نوع داده متوالی مانند لیست یا تاپل است. عملکرد تابع reduce به این صورت است که ابتدا تابع آرگومان اول را بر روی دو آیتم اول اجرا می کند و سپس تابع آرگومان اول را بر روی نتیجه قبل و سومین آیتم اجرا می کند و همین روند را تا آخرین آیتم مطابق شکل ۱ انجام می دهد. مطابق شکل ۱ یک لیست شامل پنج عدد داریم و مطابق قطعه کد ۱ نیز یک تابع lambda برای جمع دو عدد استفاده شده است. ادامه‌ی خواندن

تابع filter در پایتون

در پایتون از تابع filter برای جداسازی برخی از آیتم های درون یک نوع داده متوالی استفاده می شود. مانند تابع map این تابع دو آرگومان دریافت می کند. اولین آرگومان یک تابع و دومین آرگومان نیز یک نوع داده متوالی مانند لیست و تاپل است. اگر شرط درون تابع برقرار باشد، تابع مقدار true و در غیر این صورت مقدار false برگشت داده می شود. در قطعه کد ۱ تابع lambda هر یک از اعداد درون لیست را بررسی می کند و اگر کوچکتر از صفر (منفی) باشد مقدار true برگشت داده می شود. مقدار نهایی اعداد منفی است که درون متغیر result ذخیره می شوند. ادامه‌ی خواندن

تابع map در پایتون برای انجام عملیات بر روی داده های متوالی

در پایتون لیست، تاپل و دیکشنری شامل توالی از عناصر (آیتم ها) هستند که برخی اوقات لازم است تا یک عملیات را بر روی هر یک از آیتم های آنها انجام دهیم. به طور مثال فرض کنید یک لیست از اعداد داریم که می خواهیم توان ۲ هر یک از آیتم های آنرا بدست آوریم. روش معمول این است که از حلقه for استفاده کنیم و حاصل توان ۲ هر آیتم را درون یک لیست جدید بریزیم. در قطعه کد ۱ ابتدا یک لیست از اعداد صفر تا ۱۰ ایجاد شده است و سپس در حلقه for توان ۲ هر عدد در لیست دیگری ذخیره می شود. ادامه‌ی خواندن

lambda برای تعریف توابع بی نام در پایتون

مانند هر زبان برنامه نویسی دیگر در پایتون می توان توابع بی نام (Anonymous Function) تغریف کرد. روش معمول برای تعریف توابع (توابع با نام) استفاده از کلمه کلیدی def است ولی برای تعریف توابع بی نام باید از کلمه کلیدی lambda استفاده کرد. توابع lambda معمولا همراه توابع map, reduce و filter استفاده می شوند. همانند توابعی که با def تعریف شده اند، توابع lambda نیز پس از تعریف باید فرخوانی شوند. ادامه‌ی خواندن

کار با فایل ها در پایتون

هر برنامه ورودی هایی را دریافت می کند و پس از انجام محاسبات و پردازش هایی، خروجی را بر روی نمایشگر نشان می دهد و یا درون یک فایل و یا درون پایگاه داده ذخیره می کند. همچنین چندین روش برای دریافت ورودی وجود دارد. برنامه می تواند از طریق خط فرمان یا واسط های گرافیکی ورودی بگیرد و یا اینکه از درون یک فایل ورودی را بخواند. ادامه‌ی خواندن

اداره کردن خطاها و استثناها در پایتون

خطاهای نحو (Syntax Errors) اصلی ترین خطاهایی هستند که به دلیل اشتباه و عدم رعایت درست نحو زبان برنامه نویسی رخ می دهند. زمانی که پایتون به خطی برسد که نتواند آنرا درک کند، خطای نحوی یا SyntaxError رخ می دهد. با بروز خطای نحوی، اجرای برنامه در نقطه ای که خطا رخ داده است متوقف خواهد شد. ادامه‌ی خواندن

فضای نام و تعیین حوزه

 متغیر نام یا شناسه ای (Identifiers) است که به یک شی (Object) نگاشت داده می شود. فضای نام (Namespace) نیز یک دیگشنری است که کلید ها در آن نام متغیر و مقدار هر کلید نام شی است. بنابراین فضای نام نگاشتی از نام متغیر به شی است. عبارت ها یا دستورهای پایتون می توانند به فضای نام محلی (Local Namespace) و فضای نام سراسری (Global Namespace) دسترسی داشته باشند.
ادامه‌ی خواندن

تعریف و استفاده از ماژول ها در پایتون

ماژول ها اجازه می دهند تا بتوانم توابع و کلاس ها را درون فایل هایی سازماندهی کردن کنیم و سپس در فایل های دیگر از طریق نام فایل به توابع و کلاس های درون فایل دسترسی داشته باشیم. بنابراین یک فایل به نام mymodule.py یک ماژول است و نام ماژول mymodule است. (نام ماژول بدون پسوند py.است). ادامه‌ی خواندن

شی گرایی و تعریف کلاس در پایتون

پایتون زبانی شی گرا است که از تمامی ویژگی ها و قابلیت های زبان های شی گرا پشتیبانی می کند. در پایتون هر زمان که متغیری ایجاد می شود، متغیر نمونه یا شی از یک کلاس است. به طور مثال با ایجاد متغیر نوع رشته، این متغیر نمونه ای (یا شی) از کلاس str خواهد بود. همین طور اگر متغیری از نوع لیست یا دیکشنری یا تاپل ایجاد کنیم، این متغیرها نمونه ای از کلاس های list و dict و تاپل خواهند بود. ادامه‌ی خواندن