本文目錄一覽:
如何在python里用常量?
你所謂的無非就是宏定義
宏定義python是可以實現的,但是毫無必要,向python這樣的若類型語言,普通的變量替換不就能變相解決一般的宏替換了,為什麼還要用到宏定義
python常量基本類型有哪些
4、Python有五個標準的數據類型:
Numbers(數字)
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)
4.1 Numbers 四種不同的數值類型:
int(有符號整型) ,long(長整型[也可以代表八進制和十六進制]),Python使用”L”來顯示長整型 ,float(浮點型),complex(複數)複數的實部a和虛部b都是浮點型;
4.2 String 字符串列表有取值順序:
從左到右索引默認0開始的,最大範圍是字符串長度少1。例如:print str[0] # 輸出字符串中的第一個字符;
4.3 List 大多數集合類的數據結構實現,支持字符,數字,字符串甚至可以包含列表(所謂嵌套)
加號(+)是列表連接運算符,星號(*)是重複操作。例如:print list * 2 # 輸出列表兩次 print list + ‘test’# 打印組合的列表 ;
4.4 tuple 元組類似於List,元組是不允許更新的。而列表是允許更新的。
例如:
tuple = ( ‘abcd’, 786 , 2.23, ‘john’, 70.2 )
list = [ ‘abcd’, 786 , 2.23, ‘john’, 70.2 ]
tuple[2] = 1000 # 元組中是非法應用
list[2] = 1000 # 列表中是合法應用
4.4 dictionary 是除列表以外Python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。
字典(dictionary)是除列表以外Python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。
例如:
dict = {‘name’: ‘Jack’,’NO.’:6734, ‘grade’: ‘h1’}
print tinydict.keys() # 輸出所有鍵
print tinydict.values() # 輸出所有值
python中常量類型有哪些
常量定義:不可以被改變的量python中無固定語法,約定俗成的是將變量名全部大寫。
例如:
PI=3.141592653BIRTH_OF_SYLAR=1990
Python並未提供如C/C++/Java一樣的const修飾符。
換言之,#python中沒有常量。
python提供了新的方法實現常量:即通過自定義類實現常量。
需要滿足兩個條件:
命名全部為大寫值,被賦值便不可再修改。
例如:
HOST=’127.0.0.1′
在python中怎麼定義常量
通常是在py 函數上面,import下面
大寫字母作為常量名。
比如:
import xxx
WORKER_NUMBER = 100
def hehe():
……
如何定義和使用Python中常量
一、訪問字典的元素使用dobj.get(key, somethingelse),如果對應key值元素不存在,你將會得到somethingelse值,例如“not found”不要使用dobj[key],因為如果key對應元素不存在,則會產生KeyError異常,這樣必須使用try…except來封裝二、名字空間中的屬性可以通過字典__dict__來訪問__setattr__負責處理屬性賦值,其內進行賦值時要使用self.__dict__[attr] = value以防止遞歸三、sys.modules是一個字典,它包含了從Python開始運行起,被導入的所有模塊。鍵字就是模塊名,鍵值就是模塊對象。請注意除了你的程序導入的模塊外還有其它模塊。Python在啟動時預先裝入了一些模塊,如果你在一個Python IDE環境下,sys.modules包含了你在IDE中運行的所有程序所導入的所有模塊定義class _const(object):class ConstError(TypeError): passdef __setattr__(self, name, value):if self.__dict__.has_key(name):raise self.ConstError, “Cant rebind const(%s)” % nameself.__dict__[name] = valuedef __delattr__(self, name):if name in self.__dict__:raise self.ConstError, “Cant unbind const(%s)” % nameraise NameError, nameimport syssys.modules[__name__] = _const()使用import constconst.value = somevalueconst.value = newvalue # 產生異常const.ConstError技巧1、使用__setattr__來控制重新綁定2、sys.modules[name]得到的是模塊對象,通過模塊對象可以訪問其模塊屬性;而Python不會進行嚴格的類型檢測,所以直接將一個 _const類對象加入sys.modules字典,而__name__的值為對應模塊const的名字const,通過 sys.modules[__name__] = _const()用類對象替換模塊對象,將對應的名字空間加以限制,當使用import const時,會發生sys.modules[const] = _const();而訪問const.attrvalue時會發生sys.modules[const].attrvalue,即 _const().attrvalue
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/276090.html