1. 程式人生 > 其它 >Python部分內建函式

Python部分內建函式

Python部分內建函式

class bytearray([source[, encoding[, errors]]])

返回一個新的 bytes 陣列。 bytearray 類是一個可變序列,包含範圍為 0 <= x < 256 的整數。它有可變序列大部分常見的方法
可選形參 source 可以用不同的方式來初始化陣列:
	1. 如果是一個 string,您必須提供 encoding;bytearray() 會使用 str.encode() 方法來將 string 轉變成 bytes。
	2.如果是一個 integer,會初始化大小為該數字的陣列,並使用 null 位元組填充。
	3.如果是一個 iterable 可迭代物件,它的元素的範圍必須是 0 <= x < 256 的整數,它會被用作陣列的初始內容。
	
#     返回一個新的 bytes 陣列。 bytearray 類是一個可變序列,包含範圍為 0 <= x < 256 的整數。
str_byay = bytearray("This is a bytearray",encoding="utf-8")
print(list(str_byay))  # # [84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 98, 121, 116, 101, 97, 114, 114, 97, 121]
bt_byay = bytearray(list(str_byay))
print(bt_byay.capitalize())  # bytearray(b'This is a bytearray')

delattr(object, name)
刪除屬性

獲取物件屬性
dir([object])

列舉
enumerate("iterable", start=0)

seasons = ['Spring', 'Summer', 'Fall', 'Winter']

list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

list(enumerate(seasons, start=1))

eval(expression[, globals[, locals]])
實參是一個字串,以及可選的 globals 和 locals。globals 實參必須是一個字典。

a = 20
b = 30
ev = "{'a':a, 'b':b}"
ret_ev = eval(ev,{"a":a,"b":b})
print(ret_ev)  # {'a': 20, 'b': 30}
print(type(ret_ev))  # <class 'dict'>

map(function, iterable, ...)
返回一個將 function 應用於 iterable 中每一項並輸出其結果的迭代器。
如果傳入了額外的 iterable 引數,function 必須接受相同個數的實參並被應用於從所有可迭代物件中並行獲取的項。
當有多個可迭代物件時,最短的可迭代物件耗盡則整個迭代就將結束。

ret_map = map(lambda x,y,z:x+y+z,list(range(5)),list(range(6)),list(range(6)))
* ret_map是一個迭代器
print(list(ret_map)) # [4, 5, 7, 9]

使用 locale.getpreferredencoding(False) 來獲取本地編碼
print(locale.getpreferredencoding(False)) # cp936

class property(fget=None, fset=None, fdel=None, doc=None)
fget 是獲取屬性值的函式。
fset 是用於設定屬性值的函式。
fdel 是用於刪除屬性值的函式。
並且 doc 為屬性物件建立文件字串。

class TestProperty:
	def __init__(self):
		self._x = "Hello property"
	@property  # 使用裝飾器來修飾
	def x(self):
		return self._x
	@x.setter
	def x(self, value):
		self._x = value
	@x.deleter
	def x(self):
		del self._x
	# 直接使用property函式
	# x = property(getx, setx, delx, "test property")
testPro = TestProperty()
testPro.x = 6
print(testPro.x) # 6
testPro.x = 10
print(testPro._x) # 10

setattr(object, name, value)
此函式與 getattr() 兩相對應。 其引數為一個物件、一個字串和一個任意值。
字串指定一個現有屬性或者新增屬性。 函式會將值賦給該屬性,只要物件允許這種操作

setattr(testPro,"_y","Hello _y")
print(testPro._y) # Hello _y

dict
print(testPro._ _ dict _ ) # 返回物件的可寫屬性
print(vars(testPro)) # 其實就是呼叫的object.
_ dict _ _