printMax funksiyasining docstringiga shu funksiyaning __doc__ atributi orqali murojat qilish mumkin (Ikkita belgilash simvoliga e'tibor bering). Shuni e'tiborga olingki, python "hamma" narsani ob'yekt ko'rinishida tasavvur qiladi.
Agar siz Pythonda help() funksiyasini ishlatgan bo'lsangiz, demak, siz docstringni ko'rgansiz. Bu funksiya tegishli funksiyaning doc atributini hisoblaydi va ifodali holda ekranga chop etadi. Buni yuqoridagi funksiya misolida ko'rishingiz mumkin.
help(printMax) kodini dastur kodiga qo'shing.
Biz funksiyalarning ko'p qirralarini ko'rib chiqdik, lekin bu hammasi emas. Ko'rib chiqqanlarimiz pythonda funksiyalar bilan ishlashda duch kelishingiz mumkin bo'lgan ko'p hollarni qamrab olgan.
Python dasturlash tili: 7-dars.
Modullar
Dastur kodini funksiyaga joylagan holda takror ishlatish mumkinligini ko’'rib chiqdik. Agar bizga har xil funksiyalarimizni boshqa dasturlarimizda ishlatishga to’'g'’ri kelib qolsa, u holda nima qilamiz? Javob – modullar.
Modullar tuzishning har xil usullari mavjud bo’'lib, ularning eng oddiysi bu – funksiya va o’'zgaruvchilarni o’'z ichiga olgan .py kengaymalik fayl xosil qilish.
Boshqa usuli – Piton interpretatori yozilgan dasturlash tilida modul yozish. Misol uchun, C dasturlash tilida modul yozish mumkin va buni kompilyatsiyadan so'’ng Pitonning standart interpretatori orqali ishlatish mumkin.
Modul funksiyalaridan foydalanish uchun uni boshqa dasturga yuklash (импортировать) mumkin. Xuddi shunday biz Pitonning standart kutubxonalarini ishlatamiz. Dastlab standart kutubxonalar modullarini qanday ishlatishni ko'rib chiqamiz.
Misol: (using_sys.py nomi bilan saqlang)
import sys
print("Buyruqlar qatori argumentlari:")
for i in sys.argv:
print(i)
print("\n\n O'zgaruvchi PythonPATH qiymati", sys.path, "\n")
Natija:
$ Python3 using_sys.py biz argumentlarmiz
Buyruqlar qatori argumentlari:
using_sys.py
biz
argumentlarmiz
O`zgaruvchi PYTHONPATH qiymati ['/home/user/python darslari/7-dars', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']
Bu qanday ishlaydi:
Dastlab sys modulini import buyrug’'i yordamida yuklab olamiz. Bu bilan biz Pitonga shu modulni ishlatishimizmi aytayapmiz. sys moduli Piton interpretatoriga va uning muxitiga, ya’ni tizimiga (system) tegishli funksiyalardan tashkil topgan.
Piton import sys komandasini bajarayotganda, u sys modulini qidiradi. Bu holatda sys standart modullardan biri bo’lganligi uchun, Piton uni qayerdan izlash kerakligini biladi. Agar bu kompilyatsiya qilinmagan modul, ya’ni Pitonda yozilgan modul bo’lganida edi, u holda Piton uni sys.path ko’rsatilgan kataloglardan izlagan bolar edi. Agar modul topilsa, undagi buyruqlar bajariladi va bu modul foydalanishga (доступным) shay holatga keladi.
sys modulidagi argv o'zgaruvchiga murojat qilish nuqta orqali amalga oshiriladi, yani sys.argv. Bunday ifodalashning afzalligi sizning dasturingizda ishlatilishi mumkin bo’lgan argv o'’zgaruvchi bilan kelishmovchilik chiqmaydi.
sys.argv qatorlar ro'’yxati hisoblanadi. U buyruqlar qatori argumentlaridan tashkil topgan ya’'ni buyruqlar qatoridan dasturga uzatilgan argumentlardan.
Biz “Piton using_sys.py biz argumentlarmiz” ni ishga tushirganimizda, Piton komandasi orqali using_sys.py modulini ishga tushiramiz va dasturga argumentlarni (biz argumentlarmiz) uzatamiz. Piton bu argumentlarni navbatdagi foydalanishlar ushun sys.argv o’'zgaruvchisiga saqlaydi.
Eslab qoling! Ishga tushirilgan script nomi sys.argv ro'’yxatida doimo birinchi argument hisoblanadi. Keltirilgan misolda “using_sys.py” sys.argv[0] element, “biz” – sys.argv[1] va “argumentlarmiz” – sys.argv[2] bo’'lib keladi. Pitonda raqamlash 0 dan boshlanadi, 1 dan emas.
sys.path modullar joylashishi mumkin bo'’lgan kataloglar nomlari ro'’yxatidan tashkil topgan. E’'tibor bering sys.path dagi birinchi qator biz dasturni ishga tushirgan katalog nomini ko’'rsatayapdi. Bu shuni anglatadiki, dastur turgan katalogdan ham modullarni to'’g'’ridan-to'’g'’ri yuklashimiz mumkin ekan.
Do'stlaringiz bilan baham: |