Yanıtlar:
İfadeler sadece içeren tanımlayıcılar , harfleri ve operatörler operatörler aritmetik bağlaçlar, fonksiyon içerir, arama operatörü abonelik operatörü ve benzeri, ve herhangi bir Python nesne olabilir "değeri", bir tür için azaltılabilir. Örnekler:()
[]
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
İfadeler (bkz. 1 ,2 ), diğer taraftan, bir Python kodu satırı (veya birkaç satır) oluşturabilen her şeydir. İfadelerin de ifadeler olduğunu unutmayın. Örnekler:
# all the above expressions
print 42
if x: do_y()
return
a = 7
print("Hello world!")
ya my_list.append(42)
.
a = yield 7
geçerli, yield 7
bir ifadedir. Uzun zaman önce yield
bir ifade olarak tanıtıldı, ancak PEP 342'de bir ifadeye genelleştirildi .
İfade - Yeni Oxford Amerikan Sözlüğü'nden :
ifade: Matematik bir miktarı birlikte ifade eden bir semboller koleksiyonu: bir dairenin çevresi için ifade 2πr.
Brüt genel anlamda: İfadeler en az bir değer üretir.
Python'da, ifadeler Python Dil Referansında geniş ölçüde ele alınmaktadır . Genel olarak, Python'daki ifadeler, sözdizimsel olarak yasal Atomlar , Primerler ve Operatörler kombinasyonundan oluşur .
Wikipedia'dan Python ifadeleri
İfade örnekleri:
Değişmez değerler ve Operatörler ve yerleşik işlevler veya kullanıcı tarafından yazılan işlevlerin çağrısı ile sözdizimsel olarak doğru kombinasyonlar :
>>> 23
23
>>> 23l
23L
>>> range(4)
[0, 1, 2, 3]
>>> 2L*bin(2)
'0b100b10'
>>> def func(a): # Statement, just part of the example...
... return a*a # Statement...
...
>>> func(3)*4
36
>>> func(5) is func(a=5)
True
Bildirimi Wikipedia'dan:
Bilgisayar programlamasında bir ifade, zorunlu bir programlama dilinin en küçük bağımsız elemanı olarak düşünülebilir. Bir program, bir veya daha fazla ifadeden oluşan bir sıra ile oluşturulur. Bir ifadenin dahili bileşenleri (ör. İfadeler) olacaktır.
Wikipedia'dan Python ifadeleri
Brüt genel terimlerle: İfadeler Bir Şey Yapar ve genellikle ifadelerden (veya diğer ifadelerden) oluşur
Python Dil Referansı, Basit İfadeleri ve Bileşik İfadeleri kapsamlı bir şekilde kapsar .
"İfadeler bir şey yapar" ve "ifadeler bir değer üretir" ayrımının bulanıklaşmasına neden olabilir:
if
genellikle bir ifadedir, if x<0: x=0
ancak ifadeler gibi koşullu bir ifadeye de sahip olabilirsiniz x=0 if x<0 else 1
. C gibi diğer dillerde, bu forma böyle bir operatör denirx=x<0?0:1;
def func(a): return a*a
"" ifadesi, kullanıldığında ancak tanımlandığında ifadelerden oluşan bir ifadedir.None
Python'da bir prosedürdür: def proc(): pass
Sözdizimsel olarak, proc()
bir ifade olarak kullanabilirsiniz , ancak bu muhtemelen bir hatadır ...func(x=2);
bir İfade mi İfade mi? ( Yanıt: Yan etkisi olan bir İfade olarak kullanılan ifade. ) Python'daki x=2
işlev çağrısının içindeki atama ifadesi func(x=2)
, adlandırılan argümanı a
yalnızca func
C çağrısında yalnızca 2'ye ayarlar ve C örneğinden daha sınırlıdır.Bu Python ile ilgili olmasa da:
Bir expression
değeri değerlendirir. A bir statement
şey yapar.
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
somelist.append(123)
,. Çoğu işlev çağrısı, gerçekten.
İfadeler bir eylemi veya komutu temsil eder, örneğin print ifadeleri, atama ifadeleri.
print 'hello', x = 1
İfade, sonuç değeri veren değişkenlerin, işlemlerin ve değerlerin birleşimidir.
5 * 5 # yields 25
Son olarak, ifade ifadeleri
print 5*5
Bir ekspresyon örneğin bir değere azaltılabilir bir şeydir "1+3"
veya "foo = 1+3"
.
Kontrol etmek kolaydır:
print foo = 1+3
Eğer işe yaramazsa, bu bir deyimdir, eğer varsa, bu bir ifadedir.
Başka bir ifade şöyle olabilir:
class Foo(Bar): pass
çünkü bir değere indirgenemez.
a = b = expr
Python özel bir durum olarak, izin verilir). C'den daha fazla ilham alan dillerde, öyle.
class Foo(bar):
tam bir ifade değil, bir ifadenin başlangıcıdır.
foo = 1+3
bir ifade DEĞİLDİR. Bu bir ifadedir (kesin bir ödev). Kısmen 1+3
bir ifade.
İfade bir şeydir, ifade ise bir şey yapar.
Bir ifade de bir ifadedir, ancak bir dönüşü olmalıdır.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
Not: Yorumlayıcı her zaman tüm ifadelerin değerlerini yazdırır.
BEYAN:
İfade, bir şey yapan bir eylem veya komuttur. Örn: Diğerse, Döngüler .. vb.
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
ANLATIM:
İfade, bir şey veren değerlerin, operatörlerin ve değişmez değerlerin birleşimidir.
val a: Int = 5 + 5 #yields 10
Bir ifade bir anahtar kelime içerir.
İfade bir anahtar kelime içermez.
print "hello"
ifadesidir, çünkü print
bir anahtar kelimedir.
"hello"
bir ifadedir, ancak liste sıkıştırması buna karşıdır.
Aşağıdakiler bir ifade ifadesidir ve liste kavrama olmadan doğrudur:
(x*2 for x in range(10))
x = 1
mükemmel bir ifadedir, ancak anahtar kelimeler içermez.
is
bir anahtar kelimedir, ancak x is y
ille de bir ifade değildir (genel olarak sadece bir ifadedir).
İfade:
objects
ve ile birleştirilir operators
.<object><operator><object>
2.0 + 3
, kendisiyle ilişkilendirilmiş ve onunla ilişkilendirilmiş 5.0
bir türe sahip bir ifadedir float
.
tablolar
İfadeler ifadelerden oluşur. Birden fazla satıra yayılabilir.
Python programımızın durumunu değiştirebilecek bazı ifadeler vardır: değişkenler oluşturma veya güncelleme, işlevi tanımlama, vb.
Ve ifadeler bir değer döndürür, bir işlevdeki genel durumu veya yerel durumu değiştiremez.
Ama şimdi var :=
, bu bir uzaylı!
Python ifadeleri "ifade ifadeleri" olarak adlandırır, bu yüzden soru belki de tam olarak oluşmamıştır.
Bir ifade, Python'da yapabileceğiniz hemen hemen her şeyden oluşur: bir değer hesaplamak, bir değer atamak, bir değişkeni silmek, bir değer yazdırmak, bir işlevden dönmek, bir istisna oluşturmak, vb. Tüm liste burada: http: // docs.python.org/reference/simple_stmts.html#
Bir ifade ifadesi, bir değer üretmek için çağrı işlevleri (örneğin, math.cos (teta) "), işleçler (örneğin," 2 + 3 "), vb. İle sınırlıdır.
Bir ifadenin işleçleri + işlenenleri ve işlemin sonucunu tutan nesneyi içerdiğini düşünüyorum ...
var sum = a + b;
ancak bir ifade sadece bir kod satırıdır (bir ifade olabilir) veya bir kod bloğudur ... ör.
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}