在定义的参数内冒号的目的是什么?

时间:2019-07-02 18:27:44

标签: python python-3.x

我获得了python 3.x代码,但是由于函数定义中的冒号,我的python 2.7解释器无法解释它。

我运行的代码:

def __init__(self, api_key: str, base_url: Tuple[str, None] = None):

我得到的错误:

File "C:\Users\3791108\Downloads\CloudClient.py", line 191
        def __init__(self, api_key: str, base_url: Tuple[str, None] = None):

                                  ^
SyntaxError: unexpected token ':'

1 个答案:

答案 0 :(得分:1)

冒号是类型声明。

Python 3现在具有可选的type support.函数定义是说api_key应该是一个字符串,而base_url应该是一个元组,其中第一个元素是字符串,第二个元素是字符串一个NoneType。

我认为真正的问题是,为什么要尝试在2.7解释器中运行python 3.X代码?这是另一种语言,无法保证兼容性。