Jadual Kandungan
Kata Pengantar
Membuat tupel bernama
Kaedah khusus tuple bernama
结果的实体性赋值
本文小结
Rumah pembangunan bahagian belakang Tutorial Python Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Apr 11, 2023 pm 09:22 PM
python pengaturcaraan modul

Kata Pengantar

Artikel ini terus memperkenalkan modul koleksi Python Kali ini terutamanya memperkenalkan tupel yang dinamakan di dalamnya, iaitu penggunaan nametuple. Tanpa berlengah lagi, mari kita mulakan - ingat untuk suka, ikuti dan ke hadapan~ ^_^

Membuat tupel bernama

Kelas tuple bernamaTuples dalam koleksi Python ialah tupel Setiap kedudukan memberi bermakna dan meningkatkan kebolehbacaan dan keterhuraian kod. Ia boleh digunakan di mana-mana tupel biasa digunakan, dan menambah keupayaan untuk mengakses medan mengikut nama dan bukannya indeks kedudukan. Ia datang daripada koleksi modul terbina dalam Python. Sintaks umum yang digunakan ialah:

import collections
XxNamedTuple = collections.namedtuple(typename, field_names):
Salin selepas log masuk

Jika kaedah import berbeza, seperti: import koleksi sebagai cAlias, daripada koleksi import namedtuple, daripada collections import namedtuple sebagai NamedTuple, dsb., tuple bernama yang kami buat akan Bentuk kelas boleh sepadan dengan:

XxNamedTuple = cAlias.namedtuple(……)
XxNamedTuple = namedtuple(……)
XxNamedTuple = NamedTuple(……)
Salin selepas log masuk

di mana:

Nama taip parameter: Tentukan nama kelas rentetan untuk subkelas tuple baharu yang dikembalikan XxNamedTuple. Subkelas baharu untuk mencipta objek seperti tuple dengan medan berkaitan yang boleh diakses melalui carian harta, pengindeksan kedudukan dan lelaran. Contoh subkelas juga mempunyai docstring yang berguna (bersamaan dengan dokumen bantuan, dengan nama taip dan field_names) dan kaedah __repr__() berguna yang menyenaraikan kandungan tuple dalam format name=value.

Nama medan parameter: biasanya merupakan urutan rentetan, seperti ['x', 'y']. Secara pilihan, field_names boleh menjadi rentetan yang mengandungi nama medan sepadan yang dipisahkan oleh ruang dan/atau koma, seperti ' x y ' atau ' x, y '.

Mana-mana pengecam Python yang sah boleh digunakan sebagai nama medan bernama, tetapi ia tidak boleh bermula dengan garis bawah (_). Pengecam yang sah termasuk huruf, nombor dan garis bawah, tetapi jangan bermula dengan nombor atau garis bawah dan kata kunci seperti kelas, pulangan, global, lulus atau naikkan tidak boleh digunakan.

Untuk memahami cara NamedTuple berfungsi, mari kita anggap kita mempunyai objek Pekerja yang mempunyai sifat id, nama dan umur. Sila lihat senarai contoh kod:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Output menjalankan program adalah serupa dengan yang berikut:

Employee(, name='Solo Cui ', age='18')
按索引方式访问Employee的名子为 : Solo Cui
Employee(, name='Annie Kent', age='26')
按键(字段名)访问Employee的名子为 : Annie Kent
Salin selepas log masuk

Selain itu, terdapat beberapa lagi parameter dalam fungsi yang mencipta nama tuple Ia jarang digunakan, jadi berikut adalah pengenalan ringkas:

Nama semula parameter: Jika nama semula adalah benar, nama medan yang tidak sah akan digantikan secara automatik dengan nama kedudukan. Contohnya, ['abc', 'def', 'ghi', 'abc'] ditukar kepada ['abc', '_1', 'ghi', '_3'], menghapuskan kata kunci def dan nama medan pendua abc .

Parameter lalai: boleh menjadi Tiada atau objek lelaran nilai lalai. Memandangkan medan dengan nilai lalai mesti muncul selepas mana-mana medan tanpa nilai lalai, nilai lalai digunakan pada parameter paling kanan, secara berurutan ke kiri. Sebagai contoh, jika nama medan ialah ['x', 'y', 'z'] dan nilai lalai ialah (1,2), maka x akan menjadi parameter yang diperlukan, y akan lalai kepada 1 dan z akan lalai kepada 2.

Modul parameter: Jika modul ditakrifkan, atribut __module__ bagi tuple yang dinamakan ditetapkan kepada nilai ini.

Instance tuple bernama tidak menggunakan kamus berasingan untuk setiap tika, jadi ia ringan dan tidak memerlukan lebih banyak memori daripada tupel biasa.

Kaedah khusus tuple bernama

Selain kaedah yang diwarisi daripada tupel, tupel bernama menyokong tiga kaedah tambahan dan dua sifat. Untuk mengelakkan konflik dengan nama medan, nama kaedah dan sifat bermula dengan garis bawah. Ia diperkenalkan seperti berikut:

1) _make(iterable):

kaedah kelas untuk menjana kejadian baharu daripada jujukan sedia ada atau objek boleh lelar. Contoh kod adalah seperti berikut:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Hasil output adalah serupa dengan yang berikut:

Employee(, name='Batman', age='28')
Salin selepas log masuk

2) _asdict ():

Mengembalikan nama medan pemetaan kamus baharu kepada nilai yang sepadan. Kod sampel adalah seperti berikut:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Hasil output adalah serupa dengan yang berikut:

{'id': '333', 'name': 'Batman', 'age': '28'}

Salin selepas log masuk

3) _replace (**kwargs ):

Mengembalikan tika baharu tuple yang dinamakan, menggantikan medan yang ditentukan dengan nilai baharu. Contoh kod adalah seperti berikut:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Hasil output adalah seperti berikut:

Employee(, name='Batman', age='34')
Salin selepas log masuk

4) _medan:

dalam aksara Menyenaraikan nama medan sebagai tupel rentetan. Digunakan untuk introspeksi dan mencipta jenis tuple bernama baharu daripada tupel bernama sedia ada. Kod sampel adalah seperti berikut:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

Hasil output ialah:

('id', 'name', 'age')
Salin selepas log masuk

我们可以使用_fields属性从现有的命名元组中创建新的命名元组。示例如下:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

输出结果类似如下:

Pixel(x=5, y=8, red=128, green=255, blue=0)
Salin selepas log masuk

结果的实体性赋值

这里所说的实体,类似Java中的数据实体对象——只有简单的属性字段。而命名元组在为csv或sqlite3模块操作而返回的元组结果分配给对应字段名而装配成简单实体时特别有用,自动进行字段的对应赋值。比如在当前Python程序位置有个employees.csv,其包含内容如下:

张三,26,工程师,开发部,中级
李四,32,项目经理,项目部,高级
Salin selepas log masuk

通过示例,我们来完成Employee实体的命名元组的自动装配,代码示例如下:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

输出结果类似如下:

张三 工程师 26 开发部 中级
李四 项目经理 32 项目部 高级
Salin selepas log masuk

再简单地来个数据库操作和装配实体的示例,代码清单如下:

Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama

我这里只是简单的创建了数据库并创建表,然后插入一条数据,再查询并完成命名元组的实体化装配和结果输出。

运行输出结果如下:

王武 经理
Salin selepas log masuk

本文小结

本文主要介绍了Python自带集合模块中的命名元组(namedtuple)的使用,即可以当做一般的元组使用,由可基于字段名的方式访问元组值,并介绍了命名元组内部扩展的几个方法和和属性的应用示例。最后还介绍了基于命名元组的实体化封装应用。基于代码示例进行介绍,这样便于你动手实践,以便更好地掌握和理解。

Atas ialah kandungan terperinci Pengaturcaraan Python: Penjelasan terperinci tentang perkara utama menggunakan tupel bernama. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan 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)

Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Apr 08, 2025 pm 06:12 PM

Hadidb: Pangkalan data Python yang ringan, tinggi, Hadidb (Hadidb) adalah pangkalan data ringan yang ditulis dalam Python, dengan tahap skalabilitas yang tinggi. Pasang HadIdb menggunakan pemasangan PIP: Pengurusan Pengguna PipInstallHadidB Buat Pengguna: CreateUser () Kaedah untuk membuat pengguna baru. Kaedah pengesahan () mengesahkan identiti pengguna. dariHadidb.OperationImportuserer_Obj = user ("admin", "admin") user_obj.

Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Apr 08, 2025 pm 09:39 PM

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Rancangan Python 2 jam: Pendekatan yang realistik Rancangan Python 2 jam: Pendekatan yang realistik Apr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Apr 08, 2025 pm 06:03 PM

Panduan Pengoptimuman Prestasi Pangkalan Data MySQL Dalam aplikasi yang berintensifkan sumber, pangkalan data MySQL memainkan peranan penting dan bertanggungjawab untuk menguruskan urus niaga besar-besaran. Walau bagaimanapun, apabila skala aplikasi berkembang, kemunculan prestasi pangkalan data sering menjadi kekangan. Artikel ini akan meneroka satu siri strategi pengoptimuman prestasi MySQL yang berkesan untuk memastikan aplikasi anda tetap cekap dan responsif di bawah beban tinggi. Kami akan menggabungkan kes-kes sebenar untuk menerangkan teknologi utama yang mendalam seperti pengindeksan, pengoptimuman pertanyaan, reka bentuk pangkalan data dan caching. 1. Reka bentuk seni bina pangkalan data dan seni bina pangkalan data yang dioptimumkan adalah asas pengoptimuman prestasi MySQL. Berikut adalah beberapa prinsip teras: Memilih jenis data yang betul dan memilih jenis data terkecil yang memenuhi keperluan bukan sahaja dapat menjimatkan ruang penyimpanan, tetapi juga meningkatkan kelajuan pemprosesan data.

Python: meneroka aplikasi utamanya Python: meneroka aplikasi utamanya Apr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Apr 09, 2025 pm 03:09 PM

Sebagai profesional data, anda perlu memproses sejumlah besar data dari pelbagai sumber. Ini boleh menimbulkan cabaran kepada pengurusan data dan analisis. Nasib baik, dua perkhidmatan AWS dapat membantu: AWS Glue dan Amazon Athena.

Bolehkah mysql menyambung ke pelayan SQL Bolehkah mysql menyambung ke pelayan SQL Apr 08, 2025 pm 05:54 PM

Tidak, MySQL tidak dapat menyambung terus ke SQL Server. Tetapi anda boleh menggunakan kaedah berikut untuk melaksanakan interaksi data: Gunakan middleware: data eksport dari MySQL ke format pertengahan, dan kemudian mengimportnya ke SQL Server melalui middleware. Menggunakan Pangkalan Data Pangkalan Data: Alat perniagaan menyediakan antara muka yang lebih mesra dan ciri -ciri canggih, pada dasarnya masih dilaksanakan melalui middleware.

Cara memulakan pelayan dengan redis Cara memulakan pelayan dengan redis Apr 10, 2025 pm 08:12 PM

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

See all articles