Pythonda bir qatorda yozish

Pythonda bir qatorda yozish

Python tilining imkoniyatlari kodni chiroyli yozish imkonini beradi. Ushbu maqola ayrim tez tez uchraydigan dasturdagi vazifalarni bitta satrda qanday yozishni ko’rib chiqadi. Biroq, haddan tashqari qisqartirish kodingizning (tushunarsiz) yomon o’qilishiga olib kelishi mumkin, shuningdek, kodingizni sizdan keyin davom ettirishi yoki tushinishga harakat qilayotgan odam uchun bu juda yoqimsiz holat. Shuning uchun bir qatorda yozishlardan oqilona foydalaning.

«if — then — else» konstruksiyasi

Uni ikki hil usulda yozish mumkin;

if season == 'yoz':
    weather = 'issiq'
else:
    weather = 'sovuq'

1-variant.

Sintaksis: { agar shart rost bo’lsa bajarilishi kerak bo’lgan amal } if { shart } else { shart noto’g’ri bo’lsa qilinishi bo’lgan harakat }

weather = 'issiq' if season == 'yoz' else 'sovuq'

2-variant.

(agar shart rost bo’lsa ama, agar shart yo’lg’on bo’lsa ama)[shart]

weather = ('issiq', 'sovuq')[season == 'yoz']

2. list comprehension — ro’yhat generatorlari

0 dan 10 gacha bo’lgan sonlar ichidagi juftlarini kvadratlarini olish uchun

v = []
for x in range(11):
    if x % 2 == 0:
        v.append(x*x)

Yanada qisqaroq usuli quyidagicha;

sqr = [x*x for x in range(11) if x % 2 == 0]

Ikkala kod ham [0, 4, 16, 36, 64, 100] ni natija sifatida qayataradi.

3. Lambda funktsiyalar

Ro’yhatdagi har bir elementni o’ziga qo’shish uchun :

numbers = [1, 2, 3, 4, 5]
for i in range(len(numbers)):
    numbers[i] += numbers[i]

Qisqa variant esa mana bunday ;

numbers = [1, 2, 3, 4, 5]
numbers = list(map(lambda x: x+x, numbers))

Ikkala natija ham  [2, 4, 6, 8, 10] ga teng.

4. O’zgaruvchilarni qiymatlarini almashtirish

X hamda Y o’zgaruvchilarini qiymatlarini o’zaro almashtirish uchun bizda ikita usul bor.

1-usul bu vaqtinchalik o’zgaruvchidan foydalangan holatda qiymatlarni almashtirish 2-usul uchun esa vaqtinchalik o’zgaruvchi ham kerak emas.

tmp = x
x = y
y = tmp
x = x + y
y = x - y
x = x - y

Bizning variant:

x, y = y, x

Umumiy Dasturlash
Pythonda bir qatorda yozish