Ing Python, pengidentifikasi (jeneng variabel, fungsi, kelas, lsp) kudu ditetepake miturut aturan. Jeneng sing ora netepi aturan ora bisa digunakake minangka pengenal lan bakal nyebabake kesalahan.
Informasi ing ngisor iki diwenehake ing kene.
- Karakter sing bisa lan ora bisa digunakake ing pengenal (jeneng)
- Tokoh ASCII
- Watake Unicode
- normalisasi (kayata ing matématika)
- Priksa manawa senar kasebut minangka pengenal sing bener:
isidentifier()
- Tembung sing ora bisa digunakake minangka pengenal (jeneng) (tembung cadhangan)
- Tembung sing ora kena digunakake minangka pengenal (jeneng)
- Konvensi penamaan kanggo PEP8
Katrangan ing ngisor iki diwenehi ing Python 3, lan bisa uga beda ing Python 2.
Karakter sing bisa lan ora bisa digunakake ing pengenal (jeneng)
Nuduhake karakter sing bisa lan ora bisa digunakake minangka pengenal (jeneng).
Kajaba iku, sanajan ana akeh perkara sing kudu ditulis, umume sing kudu sampeyan eling yaiku ing ngisor iki.
- Gunakake huruf gedhe, huruf cilik lan cilik.
- Huruf pertama (pertama) ora bisa nomer.
Tokoh ASCII
Karakter ASCII sing bisa digunakake minangka pengenal (jeneng) yaiku abjad huruf gedhe lan huruf cilik (A ~ Z, a ~ z), angka (0 ~ 9), lan garis ngisor (_). Alfabet kasebut sensitif karo huruf cilik.
AbcDef_123 = 100
print(AbcDef_123)
# 100
Simbol liyane kajaba garis ngisor ora bisa digunakake.
# AbcDef-123 = 100
# SyntaxError: can't assign to operator
Uga, angka ora bisa digunakake ing wiwitan (huruf pertama).
# 1_abc = 100
# SyntaxError: invalid token
Underscores uga bisa digunakake ing wiwitan.
_abc = 100
print(_abc)
# 100
Nanging, elinga yen underscore ing wiwitan bisa uga duwe teges khusus.
Watake Unicode
Wiwit Python 3, karakter Unicode uga bisa digunakake.
変数1 = 100
print(変数1)
# 100
Ora kabeh karakter Unicode bisa digunakake, lan gumantung karo kategori Unicode, sawetara ora bisa digunakake. Contone, simbol kayata tandha wacan lan piktogram ora bisa digunakake.
# 変数。 = 100
# SyntaxError: invalid character in identifier
# ☺ = 100
# SyntaxError: invalid character in identifier
Deleng dokumentasi resmi kode kategori Unicode sing bisa digunakake.
Akeh kasus, ora ana kauntungane nggunakake karakter Tionghoa, lsp, mung amarga karakter Unicode uga bisa digunakake (tanpa kesalahan).
normalisasi (kayata ing matématika)
Karakter Unicode diowahi dadi NFKC sing normal kanggo interpretasi. Contone, abjad jembar kebak diowahi dadi abjad setengah amba (karakter ASCII).
Elinga yen sanajan kode sumber nuduhake tampilan sing beda, iki dianggep obyek sing padha lan bakal ditimpa.
ABC = 100
ABC = -100
print(ABC)
# -100
print(ABC)
# -100
print(ABC is ABC)
# True
Priksa manawa senar minangka pengenal sing bener: isidentifier ()
Apa senar sing bener minangka pengenal bisa dicenthang kanthi cara senar isidentifier ().
Wangsul bener yen bener minangka pengenal, lan salah yen ora valid.
print('AbcDef_123'.isidentifier())
# True
print('AbcDef-123'.isidentifier())
# False
print('変数1'.isidentifier())
# True
print('☺'.isidentifier())
# False
Tembung sing ora bisa digunakake minangka pengenal (jeneng) (tembung cadhangan)
Ana sawetara tembung (tembung sing dilindhungi undhang-undhang) sing ora bisa digunakake minangka pengenal sanajan senar sing bener minangka pengenal (jeneng).
Amarga tembung sing dilindhungi undhang-undhang minangka string sing bener minangka pengenal, isidentifier () ngasilake sing bener, nanging ana kesalahan yen digunakake minangka pengenal.
print('None'.isidentifier())
# True
# None = 100
# SyntaxError: can't assign to keyword
Kanggo entuk dhaptar tembung sing dilindhungi undhang-undhang lan kanggo mriksa manawa senar minangka tembung sing dilindhungi undhang-undhang, gunakake modul tembung kunci perpustakaan standar.
Tembung sing ora kena digunakake minangka pengenal (jeneng)
Jeneng fungsi internal Python, kayata, bisa digunakake minangka pengenal, dadi sampeyan bisa menehi nilai-nilai anyar minangka variabel.
Contone, len () minangka fungsi internal sing ngasilake jumlah elemen ing dhaptar utawa jumlah karakter ing senar.
print(len)
# <built-in function len>
print(len('abc'))
# 3
Yen sampeyan menehi nilai anyar menyang jeneng iki len, fungsi asli bakal ditimpa lan ora bisa digunakake. Elinga yen ora ana kesalahan utawa peringatan sing bakal dicithak nalika menehi nilai anyar.
print(len('abc'))
# 3
len = 100
print(len)
# 100
# print(len('abc'))
# TypeError: 'int' object is not callable
Kesalahan umum liyane yaiku nggunakake dhaptar = [0, 1, 2], sing ora bisa nggunakake dhaptar (). Ati-ati
Konvensi penamaan kanggo PEP8
PEP minangka singkatan saka Proposal Peningkatan Python, sawijining dokumen sing nggambarake fitur-fitur anyar lan aspek-aspek Python liyane.
PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment.
PEP 1 — PEP Purpose and Guidelines | Python.org
PEP8 minangka nomer wolu, lan nerangake “Pandhuan Gaya Kode Python”, yaiku pandhuan gaya kanggo Python.
Konvensi jeneng uga kasebut.
Deleng link ing ndhuwur kanggo rincian liyane, nanging contone, gaya nulis ing ngisor iki.
- Modul
lowercase_underscore
- Bagean cilik + garis ngisor
- Paket
lowercase
- kabeh aksara cilik
- Kelas, Pengecualian
CapitalizedWords
(CamelCase
)- Kapitalisasi huruf kapisan tembung, ora ana garis ngisor
- Fungsi, variabel, lan cara
lowercase_underscore
- Bagean cilik + garis ngisor
- pancet
ALL_CAPS
- Huruf gedhe + garis ngisor
Nanging, yen organisasi sampeyan ora duwe konvensi penamaan dhewe, disaranake ngetutake PEP8.