最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文看懂Python標識符的命名規(guī)則、規(guī)范及避坑指南

 更新時間:2026年05月18日 09:27:08   作者:聆風吟_  
在編寫 Python 代碼時,我們無時無刻不在和標識符打交道,本文就帶你徹底搞懂:什么是 Python 標識符、命名規(guī)則、關鍵字限制,以及行業(yè)通用的命名規(guī)范,需要的朋友可以參考下

前言

在編寫 Python 代碼時,我們無時無刻不在和標識符打交道。變量名、函數(shù)名、類名、模塊名……這些都屬于標識符??梢哉f,標識符就是代碼里的 “名字”,起得規(guī)范、易懂,代碼可讀性會直接提升一個檔次。

本文就帶你徹底搞懂:什么是 Python 標識符、命名規(guī)則、關鍵字限制,以及行業(yè)通用的命名規(guī)范。

一、什么是標識符

標識符(Identifier) 是 Python 中用來標識變量、函數(shù)、類、模塊、對象等的名稱。簡單理解:你給代碼里的各種元素起的名字,都叫標識符。

# 下面這些都是標識符
name = "Python"     # 變量名: name
def get_info():     # 函數(shù)名: get_info()
    pass

class Student:      # 類名: Student
    pass

二、標識符的硬性命名規(guī)則

這些規(guī)則必須遵守,否則程序直接報錯。

  1. 只能由字母、數(shù)字、下劃線 _ 組成
  2. 不能以數(shù)字開頭
  3. 嚴格區(qū)分大小寫Namename 是兩個完全不同的標識符;
  4. 不能使用 Python 關鍵字;
  5. 不能包含空格、運算符(+ - * /)、特殊符號(@ # $ % 等)

三、合法 vs 非法標識符示例

3.1 合法示例

name
age18
my_name
_user
total_count

3.2 非法示例

123name      # 錯誤:數(shù)字開頭
user-name    # 錯誤:含減號
my name      # 錯誤:含空格
if           # 錯誤:關鍵字
class        # 錯誤:關鍵字
a@bc         # 錯誤:含特殊符號

四、Python 關鍵字(不能用作標識符)

Python 有一批內置關鍵字,屬于語法保留字,絕對不能用來做變量名或函數(shù)名

常見關鍵字:

if else for while def class import from return
True False None and or not break continue
pass try except finally lambda del global nonlocal

查看完整關鍵字列表:

import keyword
print(keyword.kwlist)

五、Python 官方推薦命名規(guī)范(PEP 8)

規(guī)則是 “不報錯”,規(guī)范是 “寫得好看、專業(yè)”。遵循 PEP 8 是合格 Python 開發(fā)者的基本素養(yǎng)。

5.1 變量名、函數(shù)名、模塊名

使用 蛇形命名法(snake_case)

  • 全小寫
  • 單詞之間用下劃線分隔
  • Python 模塊(.py 文件)同樣遵循小寫蛇形命名,盡量簡短
user_name
total_score
calculate_average()

5.2 類名

使用 大駝峰命名法(PascalCase / CapWords)

  • 每個單詞首字母大寫
  • 不使用下劃線
class StudentInfo:
class UserManager:

5.3 常量

全大寫,單詞用下劃線分隔

注意:Python 沒有語法層面的真正常量,僅靠命名約定表示不隨意修改

MAX_COUNT = 100
PI = 3.14159

5.4 私有屬性/方法

5.4.1 單下劃線 _ 開頭

  • 單下劃線 _ 開頭,表示內部使用,不建議外部訪問;
  • 屬性、方法都可以用單下劃線開頭做私有標記。

重點:只是程序員君子約定,Python 語法不強制隔離,外部仍可訪問,只是規(guī)范上不建議調用。

class User:
    def __init__(self):
        self._password = "123456"  # 約定私有屬性
    
    def _check_password(self):   # 約定私有方法
        pass

5.4.2 雙下劃線 __ 開頭

雙下劃線 __ 開頭的屬性 / 方法,Python 會做名稱改寫,外部無法直接訪問,實現(xiàn)真正意義上的私有

注意:僅開頭雙下劃線,不要前后都加(前后雙下劃線是魔術方法)

class User:
    def __init__(self):
        self.__password = "123456"  # 強制私有屬性

# 外部無法直接訪問
# u = User()
# print(u.__password)  # 直接報錯

5.5 系統(tǒng)內置魔術方法

雙下劃線開頭 + 雙下劃線結尾 __xxx__,是 Python 內置魔術方法。

注意:不要自己自定義創(chuàng)建這種前后雙下劃線的名字,避免和系統(tǒng)內置方法沖突。

__init__
__str__
__len__

六、避坑指南

6.1 混淆 Python 內置函數(shù)名

雖然內置函數(shù)不是關鍵字(可以覆蓋賦值),但這會導致后續(xù)調用出錯:

# 合法但非常危險
len = 10          # 覆蓋了內置函數(shù) len()
my_list = [1,2,3]
print(len(my_list))  # TypeError: 'int' object is not callable

建議:避免使用 len、str、list、dict、printinput 等內置函數(shù)名。

6.4 使用關鍵字作為變量名

Python 關鍵字是語法保留字,強行用來做變量名 / 函數(shù)名會直接報語法錯誤,代碼無法運行。

# 直接語法報錯,根本無法執(zhí)行
# 報錯信息:SyntaxError: invalid syntax(語法無效)
if = 100
class = "Python"
for = 666

避坑方案

  1. 命名前先確認不是關鍵字
  2. 關鍵字加后綴:ifif_flag,classclass_name
  3. keyword.iskeyword("名字") 提前檢查是否為關鍵字

6.3 單下劃線_的特殊含義

在交互式環(huán)境或某些循環(huán)中,_ 會存儲上一次表達式的結果:

# 交互式環(huán)境示例
>>> 5 + 3
8
>>> _           # 保存上一次結果
8

避坑:不要在代碼中依賴 _ 作為普通變量(除非明確用于 “占位” )。

6.4 Unicode 標識符(Python 3 支持但盡量別用)

Python 3 允許使用 Unicode 字符作為標識符:

# 語法合法
年齡 = 25
函數(shù)名 = lambda x: x * 2
print(函數(shù)名(年齡))  # 50

建議:除非是教學演示,生產代碼堅持使用 ASCII 英文,避免編碼和協(xié)作問題。

全文總結

標識符本質是 Python 中變量、函數(shù)、、模塊等所有代碼元素的 “名字”,核心要點可快速梳理為:

  • 組成要求:僅能由字母、數(shù)字、下劃線 _ 構成,絕對不能以數(shù)字開頭,禁止包含空格、運算符及特殊符號;
  • 核心限制:嚴格區(qū)分大小寫,嚴禁使用 Python 關鍵字;
  • 規(guī)范準則:變量名、函數(shù)名、模塊名用蛇形命名法(全小寫+下劃線分隔),類名用大駝峰命名法(首字母大寫無下劃線),常量用全大寫+下劃線分隔;
  • 避坑重點:慎用內置函數(shù)名,盡量不用中文命名

以上就是一文看懂Python標識符的命名規(guī)則、規(guī)范及避坑指南的詳細內容,更多關于Python標識符全指南的資料請關注腳本之家其它相關文章!

相關文章

  • Python高效解析大型XML文件的方法詳解

    Python高效解析大型XML文件的方法詳解

    XML作為數(shù)據(jù)交換和存儲的主流格式,在數(shù)據(jù)處理領域應用廣泛,本文將深入探討Python中增量解析大型XML文件的各種方法,技術原理和最佳實踐,希望對大家有所幫助
    2025-09-09
  • 在Python Flask App中獲取已發(fā)布的JSON對象的解決方案

    在Python Flask App中獲取已發(fā)布的JSON對象的解決方案

    這篇文章主要介紹了在Python Flask App中獲取已發(fā)布的JSON對象的解決方案,文中通過代碼示例介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • python連接mongodb密碼認證實例

    python連接mongodb密碼認證實例

    今天小編就為大家分享一篇python連接mongodb密碼認證實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python利用 matplotlib 繪制直方圖

    Python利用 matplotlib 繪制直方圖

    這篇文章主要介紹了Python利用 matplotlib 模塊繪制直方圖相關屬性和方法,具有一定的參考價值,需要的朋友可以參考一下
    2021-12-12
  • Python安裝官方whl包和tar.gz包的方法(推薦)

    Python安裝官方whl包和tar.gz包的方法(推薦)

    下面小編就為大家?guī)硪黄狿ython安裝官方whl包和tar.gz包的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python爬蟲框架-scrapy的使用

    Python爬蟲框架-scrapy的使用

    Scrapy是純python實現(xiàn)的一個為了爬取網站數(shù)據(jù)、提取結構性數(shù)據(jù)而編寫的應用框架。這篇文章主要介紹了Python爬蟲框架-scrapy的使用,需要的朋友可以參考下
    2021-04-04
  • Pytorch 抽取vgg各層并進行定制化處理的方法

    Pytorch 抽取vgg各層并進行定制化處理的方法

    今天小編就為大家分享一篇Pytorch 抽取vgg各層并進行定制化處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python數(shù)據(jù)分析之時間序列分析詳情

    python數(shù)據(jù)分析之時間序列分析詳情

    這篇文章主要介紹了python數(shù)據(jù)分析之時間序列分析詳情,時間序列分析是基于隨機過程理論和數(shù)理統(tǒng)計學方法,具體詳細內容介紹,需要的小伙伴可以參考一下
    2022-08-08
  • python自動化測試之破解滑動驗證碼

    python自動化測試之破解滑動驗證碼

    這篇文章介紹了python自動化破解之破解滑動驗證碼的解決方案,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 詳解python中自定義超時異常的幾種方法

    詳解python中自定義超時異常的幾種方法

    這篇文章主要介紹了詳解python中自定義超時異常的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07

最新評論

南靖县| 临汾市| 罗平县| 金溪县| 盐池县| 高唐县| 花莲县| 马边| 金平| 革吉县| 云浮市| 乌海市| 巨鹿县| 石阡县| 探索| 保定市| 齐齐哈尔市| 米泉市| 奈曼旗| 通城县| 阜新| 石家庄市| 涪陵区| 专栏| 江安县| 独山县| 方正县| 广汉市| 元谋县| 积石山| 澜沧| 红安县| 瓦房店市| 桂阳县| 宜川县| 沙田区| 满洲里市| 扬州市| 中西区| 凌云县| 文成县|