python模块分析之hashlib加密(二)python
typing模块的做用:加密
注意:typing模块只有在python3.5以上的版本中才能够使用,pycharm目前支持typing检查
from typing import List, Tuple, Dict def add(a:int, string:str, f:float, b:bool) -> Tuple[List, Tuple, Dict, bool]: list1 = list(range(a)) tup = (string, string, string) d = {"a":f} bl = b return list1, tup, d,bl print(add(5,"hhhh", 2.3, False)) # 结果:([0, 1, 2, 3, 4], ('hhhh', 'hhhh', 'hhhh'), {'a': 2.3}, False)
说明:spa
在传入参数时经过“参数名:类型”的形式声明参数的类型;日志
返回结果经过"-> 结果类型"的形式声明结果的类型。code
在调用的时候若是参数的类型不正确pycharm会有提醒,但不会影响程序的运行。
对于如list列表等,还能够规定得更加具体一些,如:“-> List[str]”,规定返回的是列表,而且元素是字符串。
因为python天生支持多态,迭代器中的元素可能多种,以下:
from typing import List def func(a:int, string:str) -> List[int or str]: list1 = [] list1.append(a) list1.append(string) return list1 # 使用or关键字表示多种类型
typing经常使用的类型:
int,long,float: 整型,长整形,浮点型;
bool,str: 布尔型,字符串类型;
List, Tuple, Dict, Set:列表,元组,字典, 集合;
Iterable,Iterator:可迭代类型,迭代器类型;
Generator:生成器类型;