Jadual Kandungan
Zen of Python: "Kurangkan usaha, bodoh"
Timpa pembolehubah yang tidak dijangka

Rumah pembangunan bahagian belakang Tutorial Python Python Menggoda Untuk Gelung – Dan Itulah Sebabnya Kami Sukakannya

Python Menggoda Untuk Gelung – Dan Itulah Sebabnya Kami Sukakannya

Jan 12, 2025 am 08:07 AM

Python Sucks at For Loops – And That’s Exactly Why We Love It

Python, kucing yang elegan dalam dunia bahasa pengaturcaraan: bebas, canggih dan nampaknya tidak memerlukan anda sehingga ia benar-benar memerlukannya. Kualiti ini paling jelas ditunjukkan dalam gelungnya, yang boleh membuatkan anda berasa seperti seorang genius dan bodoh dalam sekelip mata.

Bukannya Python for loop adalah buruk, cuma ia terlalu pandai berpura-pura tahu lebih baik daripada anda.

  1. Zen of Python: "Kurangkan usaha, bodoh"

Untuk gelung dalam kebanyakan bahasa pengaturcaraan adalah intuitif. Nak kira sampai 10? Tiada masalah, berikan anda sekumpulan kod boilerplate untuk membuatkan anda berasa bijak.

Cara menulis dalam bahasa C:

for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}
Salin selepas log masuk
Salin selepas log masuk

Mudah, boleh diramal dan menghormati IQ anda.

Dan Python berkata:

"Mengapa perlu bersusah payah mentakrifkan i, menentukan julat atau melakukan aritmetik asas? Saya akan membentangkan semuanya di hadapan anda supaya anda boleh mengalami bagaimana rasanya menjadi pengaturcara palsu."

Versi Python:

for i in range(10):
    print(i)
Salin selepas log masuk
Salin selepas log masuk

Itu sahaja. Tiada pengisytiharan, tiada pendakap, hanya "vibe". Python’s for loop sangat mudah sehingga terasa serba salah.


  1. Python lebih daripada itu: ia mahu anda berbuat kurang

Andaikan anda mempunyai senarai buah-buahan dan ingin mencetaknya.

Versi bahasa C (sekali lagi, sangat menghormati):

char* fruits[] = {"apple", "banana", "cherry"};
for (int i = 0; i < 3; i++) {
    printf("%s\n", fruits[i]);
}
Salin selepas log masuk
Salin selepas log masuk

Versi Python:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
Salin selepas log masuk
Salin selepas log masuk

Adakah anda perasan apa-apa? Python tidak peduli untuk memberi anda indeks. Ia hanya melemparkan keseluruhan elemen kepada anda seperti Frisbee dan berkata, "Sini, uruskannya."

Adakah anda mahu menunjukkan kepintaran anda dengan mengindeks senarai secara manual? Alangkah malunya. Python sudah mengetahui apa yang anda mahukan dan menyuapkannya kepada anda secara langsung.


    Pemahaman senarai: penamat untuk gelung

Pemahaman senarai

Python ialah kubur untuk gelung.

Ingin membuat senarai baharu di mana setiap nombor digandakan? Dalam mana-mana bahasa lain ini memerlukan 3 hingga 4 baris kod. Python dengan mudah menunjukkan kemahiran pengekodan satu barisnya:

doubled = [x * 2 for x in range(10)]
Salin selepas log masuk
Salin selepas log masuk
Bukan sahaja ini

cekap, ia juga membuatkan anda berasa seperti anda sedang menulis kod dalam beberapa bahasa pengaturcaraan rahsia yang manusia biasa tidak akan faham. Tetapi kosnya ialah: Gelung for anda kini kelihatan seperti teka-teki silang kata samar.

Contoh:

results = [f"Employee-{i}" for i in range(10) if i % 2 == 0]
Salin selepas log masuk
Tahniah! Anda baru sahaja menulis baris kod dan dua minggu kemudian anda tidak tahu apa maksudnya.


    "Mari kita musnahkan barangan untuk berseronok"

Python for loop juga suka mengkhianati anda dengan cara yang halus. Ini adalah kesilapan klasik:

Timpa pembolehubah yang tidak dijangka

for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}
Salin selepas log masuk
Salin selepas log masuk

Tunggu, apa? Bukankah kita menggantikan segala-galanya dengan "nanas"? Tidak! Python sedang mencebik di sudut kerana fruit hanyalah pembolehubah sementara. Senarai sebenar tidak diubah suai.

Sementara itu, pembangun JavaScript ketawa sendiri kerana mereka tahu mereka boleh menjatuhkan keseluruhan sistem pengeluaran dengan isu skop berubah-ubah.


  1. hitungkan: MVP yang kami tidak layak

Kadangkala anda memerlukan kedua-dua indeks dan nilai. Python boleh membuatkan anda menggunakan i yang membosankan seperti bahasa lain. Tetapi ia memberi anda enumerate(), yang kedengarannya lebih seperti istilah korporat daripada fungsi pengaturcaraan.

for i in range(10):
    print(i)
Salin selepas log masuk
Salin selepas log masuk

"hitungkan". Betul ke? Python, ini bukan mesyuarat lembaga. Rileks sahaja.


  1. Gelung Python tiba-tiba... berhenti berfungsi

Ingin mengubah suai senarai semasa menggolongkannya? Python akan memandang anda dengan kosong dan berkata:

"Anda terlalu berfikir."

Contoh:

char* fruits[] = {"apple", "banana", "cherry"};
for (int i = 0; i < 3; i++) {
    printf("%s\n", fruits[i]);
}
Salin selepas log masuk
Salin selepas log masuk

Kini terdapat unsur yang hilang dalam senarai kerana Python tersesat sepanjang perjalanan. Jika Python adalah seorang pelayan, ini adalah sama dengan membersihkan meja anda sebelum anda menghabiskan makanan anda.


  1. Gelung tak terhingga yang bukan gelung tak terhingga

Cuba tulis gelung tak terhingga klasik dalam Python. Anda tahu, untuk keseronokan. Berikut ialah cara menulisnya dalam bahasa C:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
Salin selepas log masuk
Salin selepas log masuk

Berikut ialah versi Python:

doubled = [x * 2 for x in range(10)]
Salin selepas log masuk
Salin selepas log masuk

Memang berkesan, tetapi rasa pelik. Python tidak cuba meniru gelung tak terhingga klasik. Ia hanya...kebenaran yang tidak terhingga.


Kesimpulan: Python untuk gelung tidak buruk - Hanya kita yang tidak boleh melakukannya

Sebenarnya, Python untuk gelung tidak begitu teruk. Cuma kita sendiri yang manja. Gelung Python adalah sangat intuitif, ringkas dan berkuasa sehingga kita melupakan kesakitan menjejaki indeks secara manual atau menangani segfault.

Jadi, pada kali seterusnya anda mengadu tentang Python untuk gelung, ingat ini: Python bukanlah sesuatu yang mengerikan. Baru penat pegang tangan.

Atas ialah kandungan terperinci Python Menggoda Untuk Gelung – Dan Itulah Sebabnya Kami Sukakannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1673
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Apr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Apr 18, 2025 am 12:22 AM

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python vs C: Meneroka Prestasi dan Kecekapan Python vs C: Meneroka Prestasi dan Kecekapan Apr 18, 2025 am 12:20 AM

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python untuk pengkomputeran saintifik: rupa terperinci Python untuk pengkomputeran saintifik: rupa terperinci Apr 19, 2025 am 12:15 AM

Aplikasi Python dalam pengkomputeran saintifik termasuk analisis data, pembelajaran mesin, simulasi berangka dan visualisasi. 1.Numpy menyediakan susunan pelbagai dimensi yang cekap dan fungsi matematik. 2. Scipy memanjangkan fungsi numpy dan menyediakan pengoptimuman dan alat algebra linear. 3. Pandas digunakan untuk pemprosesan dan analisis data. 4.Matplotlib digunakan untuk menghasilkan pelbagai graf dan hasil visual.

Python untuk Pembangunan Web: Aplikasi Utama Python untuk Pembangunan Web: Aplikasi Utama Apr 18, 2025 am 12:20 AM

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak

See all articles