本文值代表个人见解,若有不当之处,希望大家指出。

a.pyi文件可以对a.py文件中的数据类型进行指定,
指定以后,如果调用数据类型不规范,会报错。

比如a.py文件内容如下:

def greeting(name):  # 注意此处未指定数据类型
    return "Hello" + name

a.pyi文件如下:

def greeting(name: str) -> str:  # 指定函数数据类型,函数名一样,其他不做任何操作
    pass

写好上面两个代码后,在pycharm中会有如下展示方式:

可以看到在两个对应的函数前面有 *星号,点击星号可以跳转到对应位置

调用a.py中的greeting函数

# 在a.py中加上下面的代码运行
print(greeting(1258))

# 会得到如下报错
TypeError: can only concatenate str (not "int") to str  # 因为指定了参数传入是str类型,因为传入的1258是int类型,所以报错

修改数据类型后重新调用

# 传入str类型数据
print(greeting('1258'))

# 此时代码正确执行,输出:
Hello1258
posted on 2021-07-14 17:57  jaysonteng  阅读(5195)  评论(0)    收藏  举报