آموزش پایتون Python قسمت بیستم

علیرضا حاتمی نیا 1395/7/26 1004

آموزش پایتون Python قسمت بیستم

سلام مجدد خدمت همه ی پایتون کارا.
خوب در جلسه ی قبل چند تایی ها و دیکشنری رو یاد گرفتیم و قرار شد در این

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

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

این برنامه ای هست که قراره بنویسیم،
واسه نوشتنش لازمه بفهمیم کتابخانه چیه و چطور میشه از کتابخانه استاندارد پایتون استفاده کرد؟
و یا JSON چیه؟ و به چه کاری میاد؟ و کتابخانه ی json در پایتون چطور کار میکنه؟
چطور میشه دیتای داخل یک فایل رو خوند؟ یا بهش اضافه کرد؟

کتابخانه:

به فایل یا مجموعه ای از فایل های پایتون که شامل  کلاس ها و توابع و متغیر هایی هستن که وظیفه یا وظایفشون به هم مربوطه، کتابخانه یا library میگن.

برای مثال من یک فایل ایجاد میکنم به اسم program.py و اطلاعات زیر رو درش وارد میکنم و ذخیرش میکنم:
 

آموزش پایتون


file program.py

حالا از همون فولدر یا دایرکتوری که فایل توش ذخیره شده مفسر پایتون رو باز میکنم و با دستور ایمپورت یا import میتونم محتوای فایل program.py رو وارد مفسر کنم و از کلاس ها و توابع  و متغیر های داخلش استفاده کنم:

(تو تصویر قبلی اسم test_functyon اشتباهه و بعد از اسکرین شات به test_function تغییرش دادم، بابت اشتباه هم عذر میخوام )
 

آموزش PYTHONE

 

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

اگر از بین توابع یا کلاس ها یا متغیر های داخل یک فایل یا کتابخانه به یک یا چند مورد خاص فقط نیاز داشتید، میتونید با استفاده از دستور from در کنار دستور import بهشون دسترسی داشته باشید و دیگه نیازی به وارد کردن اسم فایل یا کتابخانه قبل از اسم اونا همراه با نقطه نیست.
 

آموزش پایتون

 

هشدار:
اگر داخل برنامتون متغیر یا کلاس یا تابعی دارید که با متغیر یا کلاس یا تابع کتابخانه ی دیگه ای که قراره تو برنامتون ازش استفاده کنید، هم نامه،
بهتره حواستون رو جمع کنید تو این روش تابع یا متغیر یا کلاسی که وارد میکنید جایگزین قبلی میشه:

 

آموزش کدنویسی پایتون

 

همچنین میتونید با گذاشتن کاما بعد از اسم شئ که میخواید وارد کنید با یک دستور چندین تابع یا کلاس یا متغیر رو از یک کتابخانه یا فایل وارد کنید:
مثل:
from testlibrary import func1, func2, func3, test, class5, ...

البته برای دسترسی به کتابخانه استاندارد پایتون اصلا نیاز نیست که شما حتما توی فولدری باشید که توش اون کتابخانه موجوده، بلکه هر جا پایتون رو باز کنید بهش دسترسی دارید، مثل کتابخانه معروف os (مخفف Operation System )
 

آموزش پایتون

 

فایل ها:
کلاس پیش ساخته ی ()open در پایتون میتونه عملیات های خاصی رو روی فایل ها برامون انجام بده.
زمان استفادش باید اسم فایل رو بهش بدیم، چه بخواد از روش دیتا بخونه، چه بخواد بهش چیزی اضافه کنه و چه بخواد خودش بسازش،....
در هر صورت آرگومان اول اسم فایله.
آرگومان دوم نوع عملیاتیه که میخوایم انجام بدیم که من دو نوع مهمش رو اینجا میگم،
میتونه رشته تک حرفی "r" باشه که کلاس ازش میفهمه ما میخوایم دیتا رو بخونیم ( مخفف read ).
یا میتونه رشته تک حرفی "w" باشه که کلاس ازش میفهمه ما میخوایم دیتا وارد فایل کنیم (مخفف write ).

هشدار:   زمانی که با متد "w" کار میکنید بسیار مراقب باشید، چون اگر فایلی که اسمشو تو آرگومان اول دادید وجود داشته باشه، اونو پاک میکنه و یک فایل خالی رو ایجاد میکنه که روش دیتا ذخیره کنه، و اگر هم وجود نداشته باشه که میسازش. و اگر میخواید به آخر یک فایل دیتا اضافه کنید از متد "a" استفاده کنید (مخفف append ) و میتونید تحقیق کنید که چه متد هایی وجود داره و ... .

حالا یک مثال میزنم: (شما اگر خواستید مثال هارو تمرین کنید لطفا یک فولدر یا دایرکتوری خالی بسازید و مفسر پایتون رو اونجا باز کنید و تمرین کنید که اگر اشتباهی رخ داد سر فایل هاتون بلایی نیارید ! )

من هم یک فولدر جدید ایجاد میکنم به نام python-tes.
اگر پایتون رو به path سیستم عامل ویندوزتون وارد نکردید میتونید با استفاده از روش زیر کاری کنید که دایرکتوری یا فولدری رو که مفسر روش کار میکنه یا working directory تغییر کنه:

 

آموزش پایتون

 

آموزش پایتون

 

زمانی که فایل میسازیم، یک شئ از کلاس open ایجاد میشه که برای خوندن از یا نوشتن روی فایل از اون شئ استفاده میکنیم، همچنین زمانی که کارمون با فایل تموم شد با متد ()close. باید فایل رو ببندیم:
تو مثال پایین روی هر فایل یه چیزی مینویسم و ذخیره میکنم:

 

آموزش پایتون

 

به ترتیب روی هر فایل یکی از اعضای لیستم رو نوشتم.

آموزش پایتون

 

حالا برای مثال برنامه ای مینویسم که این فایل ها رو بخونه و دیتا هاشون رو با هم جمع کنه و نمایش بده :
( برای خواندن فایل از آرگومان "r" استفاده میکنیم، همچنین اگر آرگومان دوم رو به کلاس ندیم، خودش این متد رو در نظر میگیره و برای خواندن از متد .read از شئ که ساختیم استفاده میکنیم):

 

آمورش پایتون

 

JSON
شما یک برنامه نویس هستید (اگر اشتباه نکنم).
برای این که پیشرفت کنید و همیشه یک پله از بقیه جلوتر باشید باید یاد بگیرید با گوگل دوست باشید و همچنین با زبان انگلیسی (حتی اگر شده دست و پا شکسته).

ساختار داده ای یا مدل json بین اکثر برنامه نویسان شناخته شدست، اگر شما نمیشناسیدش وظیفه دارید برای جلسه ی بعد توی گوگل راجع بهش تحقیق کنید تا بشناسیدش،

کتابخانه ی json در پایتون، دیکشنری پایتون رو به json و json رو به دیکشنری پایتون تبدیل میکنه !

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

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

برنامه ی شما کل لغات رو داخل یک دیکشنری ذخیره میکنه، و بعد از هر بار اضافه شدن کلمه، کل دیکشنری رو  به  json تبدیل میکنه و اون رو روی یک فایل ذخیره میکنه، و این امکان رو هم داره که اگر بهش اسم فایل بدیم، از روش json رو بخونه و به دیکشنری پایتون تبدیل کنه و لغات رو بهمون نشون بده.

اگر بتونید برای برنامه قابلیت جستجو بین لغات رو بذارید که واقعا نشون میدید با استعداد هستین !

نکته:
من خودم هم میدونم که این برنامه نوشتنش برای شما آسون نیست،
اما فرض کنید بعد از اتمام آموزش پایتون با یه آگهی روبرو شدید که برنامه نویس پایتون میخواستن و رفتید و قبول شدید و مشغول به کار شدید، به نظرتون اونجا ازتون میخوان که با پایتون ضرب 2 در 2 رو بهشون تحویل بدید؟
خوب برنامه نویسی یه کار پر از تلاشه، باید اول ببینید که json چیه؟ تو پایتون کتابخونشو تست کنید، ببینید چطور میتونید بین کلید های یک دیکشنری جستجو کنید؟ ببینید چطور میتونید بفهمید فلان کلید توی دیکشنری هست یا نه؟ و ...

کسانی که تا حالا تمرین نفرستادن هم میتونن همچنان تو حاشیه بشینن و دست از تلاش بکشن و هیچوقت لذت درست کار کردن برنامه ای که خودشون نوشتن رو نچشن !

دانلود PDF آموزش پایتون قسمت بیستم

قسمت بعدی قسمت قبلی