def addTest(x:float,y:float)->float:
return x+y
x = “p”
y = “q”
print(addTest(x,y))
#typing沒有強制力
#硬要輸入字串
x = 1.2
y = 2.8
print(addTest(x,y))
dict用{key : value} 建構
Dict[str , value的資料型態]
中間卻是使用, 非:
import typing
cmd:typing.Dict[str,bytes] = {
“ConfigBig” : b’\x00C\x00o\x00n\x00f\x00i\x00g’,
“ControlBig” : b’\x00C\x00o\x00n\x00t\x00r\x00o\x00l’,
“ReControlBig”: b’\x00R\x00e\x00C\x00o\x00n\x00t\x00r\x00o\x00l’,
“StopBig” : b’\x00S\x00t\x00o\x00p’
}
#command使用大端,用ctrl_socket.send()傳送
如果自定義函式輸出
兩個以上的結果
其實是輸出一個tuple
若兩個結果的資料型態不同
可以用以下的方法typing
from typing import Tuple
def gainParam2(Gain_P:list,DO:int=0)-> Tuple[bytes,list]:
#DO:int=0 ,先typing,再預設值
#有預設值的參數需要放最後面
#DO後面不能再有其他
#無預設值的參數
函式若有多個輸出值,
其實是輸出一個tuple:
這樣也可以Typing:
或者:
推薦hahow線上學習python: https://igrape.net/30afN