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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

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

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

一、常量

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

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

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

在c語(yǔ)言中有專門的常量定義語(yǔ)法,const int age = 19;,一旦定義age為常量,更改age即會(huì)報(bào)錯(cuò) 。

二、內(nèi)置常量

內(nèi)置常量

有少數(shù)的常量存在于內(nèi)置命名空間中。 它們是:

False bool 類型的假值。 給 False 賦值是非法的并會(huì)引發(fā) SyntaxError。True bool 類型的真值。 給 True 賦值是非法的并會(huì)引發(fā) SyntaxError。None NoneType 類型的唯一值。 None 經(jīng)常用于表示缺少值,當(dāng)因?yàn)槟J(rèn)參數(shù)未傳遞給函數(shù)時(shí)。 給 None 賦值是非法的并會(huì)引發(fā) SyntaxError。

NotImplemented

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

注解 當(dāng)二進(jìn)制(或就地)方法返回NotImplemented時(shí),解釋器將嘗試對(duì)另一種類型(或其他一些回滾操作,取決于運(yùn)算符)的反射操作。 如果所有嘗試都返回NotImplemented,則解釋器將引發(fā)適當(dāng)?shù)漠惓!?錯(cuò)誤返回的NotImplemented將導(dǎo)致誤導(dǎo)性錯(cuò)誤消息或返回到Python代碼中的NotImplemented值。

注解 NotImplementedError 和 NotImplemented 不可互換,即使它們有相似的名稱和用途。 有關(guān)何時(shí)使用它的詳細(xì)信息。

Ellipsis

與省略號(hào)文字字面 “…” 相同。 特殊值主要與用戶定義的容器數(shù)據(jù)類型的擴(kuò)展切片語(yǔ)法結(jié)合使用。

__debug__

如果 Python 沒有以 -O 選項(xiàng)啟動(dòng),則此常量為真值。 另請(qǐng)參見 assert 語(yǔ)句。

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

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

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

當(dāng)打印此對(duì)象時(shí),會(huì)打印出一條消息,例如“Use quit() or Ctrl-D (i.e. EOF) to exit”,當(dāng)調(diào)用此對(duì)象時(shí),將使用指定的退出代碼來引發(fā) SystemExit。

copyright credits

打印或調(diào)用的對(duì)象分別打印版權(quán)或作者的文本。

license

當(dāng)打印此對(duì)象時(shí),會(huì)打印出一條消息“Type license() to see the full license text”,當(dāng)調(diào)用此對(duì)象時(shí),將以分頁(yè)形式顯示完整的許可證文本(每次顯示一屏)。

三、用模塊和類實(shí)現(xiàn)真正的常量

const.py

''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和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 : 返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊

Python中所有加載到 內(nèi)存的模塊都放在sys.modules。sys.modules是一個(gè)全局字典,字典sys.modules對(duì)于加載模塊起到了緩沖的作用,當(dāng)import一個(gè)模塊時(shí)首先會(huì)在這個(gè)列表中查找是否已經(jīng)加載了此模塊,如果加載了則只是將模塊的名字加入到正在調(diào)用import的模塊的Local名字空間中。當(dāng)?shù)诙卧賹?dǎo)入該模塊時(shí),python會(huì)直接到字典中查找,從而加快了程序運(yùn)行的速度。件,模塊文件可以是py、pyc、pyd,找到后將模塊載入內(nèi)存,并加入到sys.modules中,并將名稱導(dǎo)入到當(dāng)前的Local名字空間。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。