2010-06-15 15 views
13

Olası Çoğalt:
Python Ternary Operatorpiton: (? X: b) iif veya

Python (x a? B) destek vereceğini ise C/C sözdizimi ++, Ben yazardım: bu sadece bir örnek benim kod, yukarıda olduğu için

print paid ? ("paid: " + str(paid) + " €") : "not paid" 

gerçekten (burada bir if kontrolü ve iki bağımsız baskılar olmasını istemiyoruz, bunu çok daha karmaşık görünüyor ve neredeyse aynı kodu iki kez sahip olmak gerçekten aptal olurdu. Bununla birlikte, Python bu operatörü veya benzer operatörü (afaik) desteklememektedir. Bunu yapmanın en kolay/en temiz/en yaygın yolu nedir?

Visual Basic'den ilham alan bir bit ve seen someone defining an iif(cond,iftrue,iffalse) function'u aradım. Bu kodu eklemem gerekip gerekmediğini merak ettim ve/veya neden standart kütüphanede böyle bir temel işlev yoksa.

+2

Kopyala deneyin http://stackoverflow.com/questions/394809/python-ternary-operator/394814 –

cevap

13

bkz

print ("paid: " + str(paid) + " €") if paid else "not paid"