分類彙整: python

python built-in function: @classmethod

@classmethod

運用裝飾器語法將一個方法封裝成類方法

 

類方法(classmethod)與靜態方法(static method)差異

  • 類方法可以存取類屬性,也可實例類別對象,可用在工廠模式內加工物件
  • 靜態方法無法訪問類或對象資料,用在輔助特定功能

 

EX: 類方法與靜態方法

 

EX: 一般方法與類方法存取類屬性

 

python built-in function: callable

callable(object, /)

判斷object是否可呼叫,若可呼叫則回傳True
函數與類別可呼叫,若類別實作__call__函數,其實例也可以呼叫

EX: 比較函數與基本類型是否可呼叫

 

EX: 類別與其實例是否可呼叫

 

python built-in function: chr

chr(i, /)

回傳該字元的Unicode編碼位置為整數i的字串
其中i範圍限制: 0 ~ 1,114,111(0x10FFFF)

PS: ord() 與 chr() 互相轉換

 

python built-in function: bin

bin(x, /)

將一個整數轉變為一個前綴為 “0b” 的二進位製字串

 

python build-in function: ascii

ascii(object, /)

與repr()相似,回傳一個表示物件的字串,但repr()中非ASCII編碼的字元會被跳脫

  • \x: 十六進制
  • \u, \U: unicode碼

 

 

python built-in function: any

any(iterable, /)

如果 iterable 的任一元素為真,回傳 True。如果 iterable 是空的,則回傳 False

 

PS:
all: iterable 內所有元素皆為True則回傳 True,若iterable 為空則回傳True

python built-in function: all

all(iterable, /)

當iterable內所有元素為True時或iterable為空,則回傳True

 

PS:
any: 任一元素為True時回傳True,iterable為空則回傳False

python built-in function: zip

zip(*iterablesstrict=False)

*iterables:
可迭代物件

strict:
當設定為True,若可迭代物件長度不一致時,會產生異常

 

使用zip搭配for loop,可非常簡潔地產生座標給PyQt QGridLayout使用
positions list中的元素為 tuple,zip產生的position也是tuple

拆解:
positions list: [(0, 0), (0, 1), …, (4, 3)]
list(zip(positions, name)): [((0, 0), ‘Cls’), ((0, 1), ‘Black’), …, ((4, 3), ‘+’)]
position: (0, 0), …, (4, 3)
name: Cls, Back, …, +

 

 

 

python built-in function: map

map(functioniterable*iterables)
返回結果是一個列表,不改變原有的list,而是返回一個新的list

function:
回傳的是一個函數名,可以是python內置的,也可以是自定義

iterable:
回傳的是一個可以迭代的對象,例如列表、元組、字符串