set.issubset(other) yoki set <= other – setning barcha elementlari otherga tegishli.
set.issuperset(other) yoki set >= other – setning barcha elementlari otherga tegishli.
54
•
|
|
yoki
|
|
|
|
– bir necha to‘plamni birlashtirish.
|
|
set.union(other, ...)
|
set | other | ...
|
|
•
|
|
yoki
|
|
– kesishma.
|
|
set.intersection(other, ...)
|
set & other & ...
|
|
set.difference(other, ...) yoki set - other - ... – otherga tegishli bo‘lmagan othern-ing barcha elementlaridan iborat to‘plam.
set.symmetric_difference(other) yoki set ^ other – ikkala to‘plamda ham uchramay-digan, lekin to‘plamlarning bittasida mavjud elementlardan iborat to‘plam.
set.copy() – to‘plamning nusxasi.
Bevosita to‘plamlarning o‘zini o‘zgartiruvchi amallar:
•
|
|
;
|
|
|
|
|
|
– birlashma.
|
|
set.update(other, ...)
|
set |= other | ...
|
|
•
|
|
|
|
;
|
|
|
|
– kesishma.
|
|
set.intersection_update(other, ...)
|
set
|
&= other & ...
|
|
•
|
|
;
|
|
|
– ayirma.
|
|
set.difference_update(other, ...)
|
set -=
|
other | ...
|
|
set.symmetric_difference_update(other); set ^= other – ikkala to‘plamda ham uchra-maydigan, lekin to‘plamlarning bittasida mavjud elementlardan iborat to‘plam.
set.add(elem) – to‘plamga element qo‘shadi.
set.remove(elem) – to‘plamdan elementni o‘chiradi. Agar bunday element bo‘lmasa, Key-Error xatoligi yuzaga keladi.
set.discard(elem) – agar element to‘plamda mavjud bo‘lsa, uni o‘chiradi.
set.pop() – to‘plamning birinchi elementini o‘chiradi. To‘plamlar tartiblanmagan bo‘lganligi sababli, qaysi element birinchi bo‘lishini aytib bo‘lmaydi.
set.clear() – to‘plamni tozalash.
frozenset
frozensetning setdan yagona farqi – setni o‘zgartirish mumkin, ammo frozensetni o‘zgartirib bo‘lmaydi. Taxminan shunday vaziyatni biz ro‘yxatlar va kortejlarda kuzatgan edik.
True
Traceback (most recent call last):
File " ", line 1, in
AttributeError: 'frozenset' object has no attribute 'add'
55
19-bob: Funksiyalar va ularning argumentlari
Bu bobda biz funksiyalar haqida so‘z yuritamiz. Sizga nomlangan va anonim funksiyalar, def, re-turn va lambda ko‘rsatmalari, funksiyaning majburiy va majburiy bo‘lmagan argumentlari, ixtiyoriy sondagi argumentli funksiyalar haqida tushuncha berishga harakat qilamiz.
Nomlangan funksiyalar. def instruksiyasi
Pythonda funksiya bu – argumentlarni qabul qilib, qiymatlarni qaytaruvchi obyekt. Odatda, funksi-yalar def xizmatchi so‘zi yordamida aniqlanadi.
Keling, oddiy bir funksiyani aniqlaylik:
def add(x, y):
return x + y
return ko‘rsatmasi qiymatni qaytarish kerakligini anglatadi. Bizning misolimizdagi funksiya x va
lar yig‘indisini qaytaradi.
Endi biz unga murojaat qilishimiz mumkin:
11
add('abc', 'def') 'abcdef'
Funksiya ixtiyoriy murakkablikda bo‘lishi hamda ixtiyoriy tipdagi obyektlar (ro‘yxat, kortej va hatto funksiya!)ni qaytarishi mumkin:
def newfunc(n): def myfunc(x):
return x + n return myfunc
new = newfunc(100) # new – bu funksiya
300
Funksiya return ko‘rsatmasi bilan yakunlanmasligi ham mumkin. Bunday holda funksiya None qiymatni qaytaradi:
56
Funksiyalarning argumentlari
Funksiyalar ixtiyoriy sondagi argumentlarni qabul qilishi yoki umuman birorta ham argument qabul qilmasligi mumkin. Bundan tashqari, ixtiyoriy sonli argumentli, pozitsiyali va nomlangan argumentli hamda majburiy va majburiy bo‘lmagan argumentli funksiyalar ham mavjud.
def func(a, b, c=2): # c – bu majburiy bo`lmagan argumentdir return a + b + c
func(1, 2) # a = 1, b = 2, c = 2 (odatiy qiymat)
5
func(1, 2, 3) # a = 1, b = 2, c = 3
6
func(a=1, b=3) # a = 1, b = 3, c = 2
6
func(a=3, c=6) # a = 3, c = 6, b aniqlanmagan Traceback (most recent call last):
File "", line 1, in func(a=3, c=6)
TypeError: func() takes at least 2 arguments (2 given)
Funksiya, bundan tashqari, pozitsiyali argumentlarning o‘zgarib turuvchi sonini qabul qilishi ham mumkin. U holda nomdan avval * belgisi qo‘yiladi.
def func(*args): return args
func(1, 2, 3, 'abc') (1, 2, 3, 'abc')
()
Misolda ko‘rinib turibdiki, args – funksiyaning barcha uzatilgan argumentlaridan iborat kortej. Bu o‘zgaruvchi bilan xuddi kortej kabi ishlash mumkin ekan.
Funksiya nomlangan argumentlarning ham ixtiyoriy sonini qabul qilishi mumkin. Bu holda o‘zga-ruvchidan avval ** belgisi qo‘yiladi.
def func(**kwargs): return kwargs
func(a=1, b=2, c=3) {'a': 1, 'c': 3, 'b': 2}
{}
func(a='python') {'a': 'python'}
57
kwargs o‘zgaruvchisida biz o‘z xohishimizga ko‘ra istagan amallarni qo‘llashimiz mumkin bo‘lgan lug‘at joylashgan.
Anonim funksiyalar, lambda instruksiyasi
Anonim funksiyalar faqat bittagina ko‘rsatmadan iborat bo‘lishi mumkin, lekin ular shunga mos ravishda juda tez bajariladi ham. Anonim funksiyalar lambda ko‘rsatmasi yordamida yaratiladi. Bundan tashqari, ularni biz def func() da bajarganimiz kabi o‘zgaruvchilarga moslashtirish ham shart emas.
func = lambda x, y: x + y
3
(lambda x, y: x + y)(1, 2)
3
(lambda x, y: x + y)('a', 'b') 'ab'
lambda funksiyasiga, odatiy funksiyadan farqli ravishda, return ko‘rsatmasi talab etilmaydi, bosh-qa barcha jihatlari bo‘yicha u oddiy funksiyalardan farq qilmaydi:
func = lambda *args: args
(1, 2, 3, 4)
58
20-bob: Pythonda noodatiy holatlar. Noodatiy holatlarni qayta ishlash uchun try – except kon-struksiyasi
Do'stlaringiz bilan baham: |