Dengan Python, apa perbedaan antara ekspresi dan pernyataan?
python
expression
wassimans
sumber
sumber
print("Hello world!")
ataumy_list.append(42)
.a = yield 7
valid,yield 7
adalah ekspresi. Dahulu kala,yield
diperkenalkan sebagai pernyataan, tetapi digeneralisasikan ke ekspresi dalam PEP 342 .Ekspresi - dari New Oxford American Dictionary :
Dalam istilah umum kotor: Ekspresi menghasilkan setidaknya satu nilai.
Dalam Python, ekspresi tercakup secara luas dalam Referensi Bahasa Python Secara umum, ekspresi dalam Python terdiri dari kombinasi hukum yang sintaksis antara Atom , Primer , dan Operator .
Ekspresi python dari Wikipedia
Contoh ungkapan:
Kombinasi literal dan sintaksis benar dengan Operator dan fungsi bawaan atau panggilan fungsi yang ditulis pengguna:
Pernyataan dari Wikipedia:
Pernyataan python dari Wikipedia
Dalam istilah umum kasar: Pernyataan Melakukan Sesuatu dan sering kali terdiri dari ekspresi (atau pernyataan lain)
Referensi Bahasa Python mencakup Pernyataan Sederhana dan Pernyataan Kompon secara luas.
Perbedaan "Pernyataan melakukan sesuatu" dan "ekspresi menghasilkan nilai" perbedaan dapat menjadi buram:
if
biasanya sebuah pernyataan, sepertiif x<0: x=0
tetapi Anda juga dapat memiliki ekspresi kondisional sepertix=0 if x<0 else 1
yang ekspresi. Dalam bahasa lain, seperti C, formulir ini disebut operator seperti inix=x<0?0:1;
def func(a): return a*a
adalah ekspresi ketika digunakan tetapi terdiri dari pernyataan ketika didefinisikan.None
adalah prosedur dalam Python:def proc(): pass
Secara sintaksis, Anda dapat menggunakanproc()
sebagai ekspresi, tapi itu mungkin bug ...func(x=2);
Apakah itu Ekspresi atau Pernyataan? ( Jawab: Ekspresi yang digunakan sebagai Pernyataan dengan efek samping. ) Pernyataan penugasanx=2
di dalam pemanggilan fungsifunc(x=2)
di Python menetapkan argumen yang dinamaia
menjadi 2 hanya dalam pemanggilan kefunc
dan lebih terbatas daripada contoh C.sumber
Meskipun ini tidak terkait dengan Python:
Suatu
expression
mengevaluasi suatu nilai. Astatement
melakukan sesuatu.sumber
somelist.append(123)
,. Sebagian besar panggilan fungsi, sungguh.Pernyataan mewakili suatu tindakan atau perintah misalnya pernyataan cetak, pernyataan penugasan.
Ekspresi adalah kombinasi dari variabel, operasi, dan nilai yang menghasilkan nilai hasil.
Terakhir, pernyataan ekspresi
sumber
Ekspresi adalah sesuatu yang dapat direduksi menjadi nilai, misalnya
"1+3"
atau"foo = 1+3"
.Sangat mudah untuk memeriksa:
Jika tidak berhasil, itu adalah pernyataan, jika tidak, itu adalah ekspresi.
Pernyataan lain bisa berupa:
karena tidak dapat direduksi menjadi suatu nilai.
sumber
a = b = expr
diperbolehkan, sebagai kasus khusus) dengan Python. Dalam bahasa menggambar lebih banyak inspirasi dari C, itu.class Foo(bar):
adalah awal dari sebuah pernyataan, bukan pernyataan yang lengkap.foo = 1+3
BUKAN sebuah ekspresi. Ini adalah pernyataan (tugas tepatnya). Bagiannya1+3
adalah ekspresi.sumber
Ekspresi adalah sesuatu, sementara pernyataan melakukan sesuatu.
Ekspresi adalah pernyataan juga, tetapi harus memiliki pengembalian.
PS: Penerjemah selalu mencetak nilai semua ekspresi.
sumber
PERNYATAAN:
Pernyataan adalah tindakan atau perintah yang melakukan sesuatu. Mis: Jika Lain, Loops..etc
EKSPRESI:
Ekspresi adalah kombinasi dari nilai, operator, dan literal yang menghasilkan sesuatu.
sumber
Pernyataan berisi kata kunci.
Ekspresi tidak mengandung kata kunci.
print "hello"
adalah pernyataan, karenaprint
merupakan kata kunci."hello"
adalah ekspresi, tetapi kompresi daftar menentang ini.Berikut ini adalah pernyataan ekspresi, dan itu benar tanpa pemahaman daftar:
sumber
x = 1
adalah pernyataan yang sangat bagus, tetapi tidak mengandung kata kunci.is
Adalah kata kunci tetapix is y
tidak harus berupa pernyataan (secara umum itu hanya ekspresi).Ekspresi:
objects
danoperators
.<object><operator><object>
2.0 + 3
adalah ekspresi yang mengevaluasi5.0
dan memiliki tipe yangfloat
terkait dengannya.Pernyataan
Pernyataan terdiri dari ekspresi. Ini dapat menjangkau beberapa baris.
sumber
Ada beberapa pernyataan yang dapat mengubah status program Python kami: membuat atau memperbarui variabel, mendefinisikan fungsi, dll.
Dan ekspresi hanya mengembalikan beberapa nilai yang tidak dapat mengubah keadaan global atau keadaan lokal dalam suatu fungsi.
Tapi sekarang sudah
:=
, itu alien!sumber
Python menyebut ekspresi "pernyataan ekspresi", jadi pertanyaannya mungkin tidak sepenuhnya terbentuk.
Pernyataan terdiri dari hampir semua hal yang dapat Anda lakukan dengan Python: menghitung nilai, menetapkan nilai, menghapus variabel, mencetak nilai, kembali dari suatu fungsi, menaikkan pengecualian, dll. Daftar lengkapnya ada di sini: http: // docs.python.org/reference/simple_stmts.html#
Pernyataan ekspresi terbatas pada fungsi panggilan (misalnya, math.cos (theta) "), operator (misalnya," 2 + 3 "), dll. Untuk menghasilkan nilai.
sumber
Saya pikir ekspresi berisi operator + operan dan objek yang menampung hasil operasi ... misalnya
tetapi pernyataan hanyalah sebaris kode (mungkin berupa ekspresi) atau blok kode ... misalnya
}
sumber