Kuasai pengendali walrus Python dan buka kunci kemahiran pengaturcaraan baharu!

王林
Lepaskan: 2023-04-25 17:55:08
ke hadapan
1064 orang telah melayarinya

Hello semua, saya Xianhuan, kenalan lama anda!

Walrus ialah mamalia terbesar, dan sesetengah orang memanggilnya sebagai penduduk "orang asli" di hemisfera utara. Ia mempunyai kepala bulat, mulut pendek dan lebar, hidung tebal, dan gigi taring atas membentuk gading yang panjangnya 40cm-90cm, masing-masing mempunyai berat lebih daripada 4kg. Walrus jantan boleh mencapai panjang 4 meter dan berat 2 tan. Walrus suka hidup dalam kumpulan, dengan beribu-ribu daripada mereka berkumpul bersama.

Walrus mempunyai mata juling seperti orang tua yang tidak bertenaga. Mereka suka tidur dan menghabiskan sebahagian besar hidup mereka berbaring di atas ais, yang sangat menakjubkan.

Sebagai petani roller 996, saya sangat iri dengan kehidupan mereka, dan saya sangat ingin berbaring seperti mereka.

Baiklah, mari kita mula berniaga, mari teruskan usaha! Hari ini saya membawakan anda pengendali yang dinamakan sempena walrus - pengendali walrus.

Pengendali Python walrus telah dicadangkan dalam PEP 572 dan digabungkan serta dikeluarkan dalam Python 3.8.

Nama bahasa Inggeris asal pengendali walrus ialah Ungkapan Tugasan, iaitu ungkapan tugasan. Ungkapan walrus terdiri daripada a : dan an =, iaitu := . Kami biasanya memanggilnya operator walrus kerana ia kelihatan seperti walrus berputar 90°. Penulis sangat imaginatif dan boleh menyambung semua ini!

Sintaks

Format sintaks pengendali walrus ialah:

(variable_name := expression)
Salin selepas log masuk

Ini ialah pengendali tugasan baharu, serupa dengan = biasa kami, diikuti dengan nama pembolehubah diikuti dengan ungkapan.

Penggunaan

digunakan untuk ungkapan bersyarat if-else

Tulisan konvensional:

a = 5
if a > 1:
print('do sth!')
Salin selepas log masuk

Tulisan ditingkatkan:

if a := 5 > 1:
print('do sth!')
Salin selepas log masuk

Digunakan untuk gelung sementara

Tulisan konvensional:

n = 3
while n:
print('do sth!')
n -= 1
Salin selepas log masuk

Tulisan ditingkatkan:

n = 3
while (n := n - 1) + 1: 
print('do sth!')
Salin selepas log masuk

Tambah 1 di sini kerana n dikurangkan sebanyak 1 sebelum output dilaksanakan.

Baca fail

Penulisan konvensional:

fp = open("test.txt", "r")
while True:
line = fp.readline()
if not line:
break
print(line.strip())
fp.close()
Salin selepas log masuk

Tingkatkan penulisan:

fp = open("test.txt", "r")
while line := fp.readline():
print(line.strip())
Salin selepas log masuk

Menggunakan pengendali walrus dalam senario yang sesuai boleh mengurangkan kerumitan Program, memudahkan kod, dan juga meningkatkan prestasi program.

Senario tidak berkenaan

Walaupun pengendali walrus mudah digunakan, ia tidak boleh digunakan dalam semua senario dan ia masih mempunyai hadnya.

Penugasan pembolehubah

Kami tidak boleh menggunakan operator = dengan operator := Operator walrus hanya boleh menjadi sebahagian daripada ungkapan:

a = 5 # Valid 
a := 5 # InValid 
empty_list = [] # Valid 
empty_list := [] # InValid
Salin selepas log masuk

Jika anda Jika anda. menulis dengan cara ini, editor akan terus menggesa ralat.

Tambahan dan penolakan

a += 5 # Valid
a :+=5 # Invalid
Salin selepas log masuk

Ungkapan tugasan dalam fungsi Lambda

(lambda: a:= 5) # Invalid
lambda: (a := 5) # Valid, but not useful
(var := lambda: 5) # Valid
Salin selepas log masuk

Kontroversi

Kata kunci

walrus Operator menggunakan kata kunci :=, yang tidak disukai oleh kebanyakan pembangun Kata kunci ini berbeza daripada kata kunci yang biasa kita temui Pencipta mempunyai pendekatan yang unik.

Saya tidak begitu menyukai ini, tetapi saya menghormati peraturan pencipta Lagipun, mereka telah membawa pengendali praktikal sedemikian kepada semua orang.

Nama pengendali

Sesetengah pembangun berpendapat bahawa nama "pengendali walrus" terlalu abstrak dan tidak dapat menyatakan dengan jelas maksud pengendali ini Hampir 100% orang melihatnya buat kali pertama Dengan ini nama, anda tidak akan memikirkan fungsinya.

Abang Huan berpendapat memandangkan tiada kaedah penamaan yang ditetapkan, maka wajarlah penulis memilih nama yang bermakna.

Ringkasan

Mulai sekarang, kami mempunyai satu lagi senjata konvensional dalam senjata kami Apabila anda berperang (melibatkan orang lain), jangan lupa untuk menggunakannya program dan kesederhanaan kod akan dipertingkatkan.

Atas ialah kandungan terperinci Kuasai pengendali walrus Python dan buka kunci kemahiran pengaturcaraan baharu!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan