|
Python dasturlash tili haqida
|
bet | 27/33 | Sana | 02.01.2024 | Hajmi | 0,96 Mb. | | #129517 |
Bog'liq “python dasturlash tili va uning imkoniyatlari bo`yicha uslubiy qo`llanma”Sys moduli
Sys moduli Python interpretatorida dasturni bajaruvchi muhitdir. Quyida bu modulni eng ko`p qo`llaniladigan obyektlari keltilgan:
Exit([c])- dasturdan chiqish. Tugatishning raqamli kodini yuborish mumkin: agarda dasturni tugatish muvafaqqiyatli amalga oshsa 0 ni yuboradi, aksincha bo`lsa ya’ni xatolik yuz bersa boshqa raqamlarni yuboradi.
Argv- buyruqlar qatori argumentlari ro`yxati. Oddiy holatda sys.argv[0] buyruqlar qatoriga ishga tushirilgan dastur nomini va boshqa parametrlar yuboriladi.
Platform- interpretator ishlaydigan platforma.
Stdin, stdout, stderr- standart kiritish, chiqarish, xalolarni chiqarish. Ochiq faylli obyektlar.
Version- interpretator versiyasi.
Serecursionlimit(limit)- rekursiv chaqirishlarni maksimal kiritish darajasini o`rnatadi.
Exc_info()-kiritish-chiqarish istisnosi haqida ma’lumot.
Copy moduli
Bu modul obyektlarni nusxalashga mo`ljallangan funksiyalarga ega. Boshida Pyhtonda sal sarosimaga solish uchun “paradoks” ni ko`rib chiqish tavsiya etiladi.
lst1 = [0, 0, 0]
lst = [lst1] * 3
print(lst)
lst[0][1] = 1
print (lst)
|
Va biz kutmagan natija paydo bo`ladi:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]
|
Gap shundaki bu yerda lst ro`yxati shu ro`yxatnining izohiga ega. Agarda rostdan ham ro`yxatni ko`paytirmoqchi bo`lsak, copy modulidagi copy() funksiyasini qo`llash kerak.
from copy import copy
lst1 = [0, 0, 0]
lst = [copy(lst1) for i in range(3)]
print (lst)
lst[0][1] = 1
print (lst)
|
Endi kutilgan natija paydo bo`ladi:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 0], [0, 0, 0], [0, 0, 0]]
|
Copy modulida yuqori aniqalikda nusxalash uchun deepcopy() funksiyasi bor bu funksiya yordamida obektlar butun imkoniyati bilan rekursiv nusxalanadi.
|
| |