日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python基础教程:常量 (最全常量解析)

發布時間:2025/3/20 python 8 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基础教程:常量 (最全常量解析) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、常量

變量是變化的量,常量則是不變的量。python中沒有使用語法強制定義常量,也就是說,python中定義常量本質上就是變量。如果非要定義常量,變量名必須全大寫。

AGE_OF_NICK = 19 print(AGE_OF_NICK) 19 AGE_OF_NICK = AGE_OF_NICK + 1 print(AGE_OF_NICK) 20

如果是常量,那就沒必要更改,所以python就只制定了一個規范,而沒指定常量的語法,因此常量也是可以修改的,但不建議。

在c語言中有專門的常量定義語法,const int age = 19;,一旦定義age為常量,更改age即會報錯 。

二、內置常量

內置常量

有少數的常量存在于內置命名空間中。 它們是:

False bool 類型的假值。 給 False 賦值是非法的并會引發 SyntaxError。True bool 類型的真值。 給 True 賦值是非法的并會引發 SyntaxError。None NoneType 類型的唯一值。 None 經常用于表示缺少值,當因為默認參數未傳遞給函數時。 給 None 賦值是非法的并會引發 SyntaxError。

NotImplemented

二進制特殊方法應返回的特殊值(例如,__eq__()、__lt__()、__add __()、__rsub__() 等)表示操作沒有針對其他類型實現;為了相同的目的,可以通過就地二進制特殊方法(例如,__imul __()、__ rightnd__()等)返回。 它的邏輯值為真。

注解 當二進制(或就地)方法返回NotImplemented時,解釋器將嘗試對另一種類型(或其他一些回滾操作,取決于運算符)的反射操作。 如果所有嘗試都返回NotImplemented,則解釋器將引發適當的異常。 錯誤返回的NotImplemented將導致誤導性錯誤消息或返回到Python代碼中的NotImplemented值。

注解 NotImplementedError 和 NotImplemented 不可互換,即使它們有相似的名稱和用途。 有關何時使用它的詳細信息。

Ellipsis

與省略號文字字面 “…” 相同。 特殊值主要與用戶定義的容器數據類型的擴展切片語法結合使用。

__debug__

如果 Python 沒有以 -O 選項啟動,則此常量為真值。 另請參見 assert 語句。

注解 變量名 None,False,True 和 __ debug__無法重新賦值(賦值給它們,即使是屬性名,將引發 SyntaxError ),所以它們可以被認為是“真正的”常數。

由 site 模塊添加的常量
site 模塊(在啟動期間自動導入,除非給出 -S 命令行選項)將幾個常量添加到內置命名空間。 它們對交互式解釋器 shell 很有用,并且不應在程序中使用。

quit(code=None) exit(code=None)

當打印此對象時,會打印出一條消息,例如“Use quit() or Ctrl-D (i.e. EOF) to exit”,當調用此對象時,將使用指定的退出代碼來引發 SystemExit。

copyright credits

打印或調用的對象分別打印版權或作者的文本。

license

當打印此對象時,會打印出一條消息“Type license() to see the full license text”,當調用此對象時,將以分頁形式顯示完整的許可證文本(每次顯示一屏)。

三、用模塊和類實現真正的常量

const.py

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' class _const:class ConstError(TypeError) : passdef __setattr__(self, key, value):# self.__dict__if key in self.__dict__:data="Can't rebind const (%s)" % keyraise self.ConstError(data)self.__dict__[key] = valueimport syssys.modules[__name__] = _const()

test.py

import const const.c=1 print(const.c) # 1 const.c=2 #const.ConstError: Can't rebind const (c)

sys.modules[key] =value : 返回系統導入的模塊字段,key是模塊名,value是模塊

Python中所有加載到 內存的模塊都放在sys.modules。sys.modules是一個全局字典,字典sys.modules對于加載模塊起到了緩沖的作用,當import一個模塊時首先會在這個列表中查找是否已經加載了此模塊,如果加載了則只是將模塊的名字加入到正在調用import的模塊的Local名字空間中。當第二次再導入該模塊時,python會直接到字典中查找,從而加快了程序運行的速度。件,模塊文件可以是py、pyc、pyd,找到后將模塊載入內存,并加入到sys.modules中,并將名稱導入到當前的Local名字空間。

總結

以上是生活随笔為你收集整理的python基础教程:常量 (最全常量解析)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。