Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kuasai pengendali walrus Python dan buka kunci kemahiran pengaturcaraan baharu!

Kuasai pengendali walrus Python dan buka kunci kemahiran pengaturcaraan baharu!

王林
王林ke hadapan
2023-04-25 17:55:081064semak imbas

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)

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!')

Tulisan ditingkatkan:

if a := 5 > 1:
print('do sth!')

Digunakan untuk gelung sementara

Tulisan konvensional:

n = 3
while n:
print('do sth!')
n -= 1

Tulisan ditingkatkan:

n = 3
while (n := n - 1) + 1: 
print('do sth!')

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()

Tingkatkan penulisan:

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

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

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

Tambahan dan penolakan

a += 5 # Valid
a :+=5 # Invalid

Ungkapan tugasan dalam fungsi Lambda

(lambda: a:= 5) # Invalid
lambda: (a := 5) # Valid, but not useful
(var := lambda: 5) # Valid

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!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam