What You Cannot Do With Assignment Expressions

Python assignment expression

SU

Vazifa Ifodalari Bilan Qilmaydigan Narsalar

Vazifa ifodalari ishlatilmaydigan bir nechta holatlar mavjud.

Vazifa ifodalarining eng qiziqarli xususiyatlaridan biri shundaki, ular o'zgaruvchi tayinlash bayonoti amalga oshirilmadiği holatlarda ishlatilishi mumkin, masalan, lambda funksiyasida yoki ilgari eslatib o'tilgan tushuncha (comprehension). Ammo, ular o'zgaruvchi tayinlash bayonotlari amalga oshirishi mumkin bo'lgan ba'zi holatlarni qo'llab-quvvatlamaydi.

Masalan, bir nechta maqsadga tayinlashni amalga oshira olmaysiz:

x = y = z = 0  # Teng bo'lgan, ammo ishlamaydi: (x := (y := (z := 0)))

Boshqa bir man etilgan holat — vazifa ifodasini ifoda bayonotining yuqori darajasida ishlatishdir. PEP 572dan bir misol:

y := f(x)  # NOG'RI
(y := f(x))  # To'g'ri, ammo tavsiya etilmaydi

PEPda vazifa ifodalari ishlatilmasligi yoki undirilmasligi kerak bo'lgan boshqa holatlar to'liq ro'yxati mavjud. Agar siz vazifa ifodalarini tez-tez ishlatmoqchi bo'lsangiz, ushbu hujjatni ko'rib chiqishingiz kerak.

Last updated on

On this page

Xato haqida xabar berish