python标识符的命名规则是什么
在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC")。想要使用这些对象,就要使用它的对象引用。赋值操作符,实际上是使得对象引用对内存中存放数据的对象进行引用。
那什么是标识符?
标识符是对对象引用起的一个名字。
有效的Python标识符规则:
1.长度任意长;
2.标识符不能与关键字同名;
3.在2.x版本的Python中,标识符以ASCII的字母或下划线开始,后面可以接字母、数字、下划线;在3.x的Python中,标识符ASCII字母、下划线以及大多数非英文语言的字母,只要是Unicode编码的字母都可以充当引导字符,后续字符可以是任意引导符,或任意非空格字符,包括Unicode编码中认为是数字的任意字符。(因此可以使用阿拉伯语、中文、日语或俄语字符或Unicode字符集支持的任意其他语言中的字符进行命名)
约定:
1.不要使用Python预定义的标识符名,因此要避免使用NotImplemented与Eliiipsis等名字,这些在未来有可能被Python的新版本使用到;
2.不要使用Python内置函数名或内置数据类型或异常名作为标识符名;
3.关于下划线的约定,名字的开头和结尾都使用下划线的情况应该避免,因为Python中大量采用这种名字定义了各种特殊方法和变量;在有些情况,以一个或两个下划线引导的名称,但是没有使用两个下划线结尾的应该特殊对待。
举例
>>> math=2 >>> math2
上面的语句是合法的,但是它将与math数据类型绑定的对象引用重新与int数据类型对象绑定,那么将不能正常使用math数据类型的属性了。
>>> int=2 >>> int2
和上面的一样,是合法的但是不提倡。
#合法 a123_=2 _a123=2 我=2 #中文 α=2 #希腊字母
#不合法的标识符名 a-b=2 #因为包含了减法操作符,'-'不是一个Unicode字母、数字、下划线,不能将2赋值给操作符 2miles=2 #不能数字开头 I'm=2 #单引号不是一个Unicode字母、数字或下划线
关于下划线还有一点想说的:
单一的下划线可以作为一个标识符,在交互解释器或Python Shell内部,下划线实际上存放了最后一个被评估的表达式的结果。在通常运行的程序中,使用下划线和其他普通标识符一样,需要自己预先定义,非系统占有。
在不关心迭代针对的数据项是,有些程序员喜欢在for...in..中使用_,如:
#没有使用到迭代的数据项 for _ in (0,1,2,3,4,5): print("Hello")
另外要注意一点,一些编写国际化程序的程序员一般会使用_作为其翻译函数的名称。这些程序员一般不使用gettext("translate me"),而是使用_("translate me")。
当变量是私有的时候,用_xxx 来表示变量是很好的习惯。
在类中,“单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;“双下划线” 开始的是类的私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。
Atas ialah kandungan terperinci python标识符的命名规则是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Menggunakan Python di Terminal Linux ...

Fastapi ...
