由于Python是动态语言,不需要为变量提前设定类型,这为开发提供便捷的同时也带来了一些麻烦。
有这样一段代码:
class Robot(object):
def __init__(self):
self.name = 'Cruse'
def walk(self):
print('I am walk.')
我定义了一个类Robot
,这个类有一个属性name
和一个方法walk
。接下来我又定义了一个函数run_a_robot
,这个函数接收一个参数robot_object
,这个参数是Robot
类的一个实例。在函数里面,我希望使用这个实例的属性和方法。但此时,可以看出,PyCharm的自动补全功能失效了。它不知道robot_object
这个变量是什么东西,没有办法帮我补全这个实例的属性和方法名。如下图所示。
个时候,如果你使用的是Python 3,那么你可以使用类型标注来告诉PyCharm,这个robot_object是Robot类的一个实例,从而使PyCharm提供自动补全。如下图所示。
型标注的格式为
变量名: 类型 = 值
举一个例子:
age: int = 24 # 定义一个变量age,它的类型为int,值为24
def test(name: str, age: int=25, other_info: dict=None): # test函数接收两个参数,第一个参数name是str类型,第二个参数age是int型并且默认值为25,并且第三个参数other_info是字典,默认值为None
age = detail_info['age']
关于类型标注的详细说明,请看这篇文章:https://www.kingname.info/2017/06/11/type-hints-in-python3/