一、类型提示
在python中,我们定义一个有参函数,调用该函数时需要传入参数,如下所示:
# 定义一个简单的函数 def get_full_name(first_name, last_name): full_name = first_name.title() + " " + last_name.title() return full_name print(get_full_name("john", "doe")) # 正常运行,结果:John Doe print(get_full_name(1,2)) # 报错 """ 上面的函数中有两个参数,但是没有说明参数的数据类型, 所以如果我们传入的类型不是str类型就会报错 """
如上所示,如果没有去看函数的内部代码,函数的调用者并不知道需要传什么数据类型的参数给函数,所以我们就需要给调用者一些提示,告诉调用者该函数的参数应该使用什么数据类型的参数,这就是类型提示,如下:
# 注意函数参数后面的 ':str', 就表示该参数需要的是str类型的数据 def get_full_name(first_name: str, last_name: str): full_name = first_name.title() + " " + last_name.title() return full_name print(get_full_name("john", "doe"))
如上面的代码所示,我们将把下面这段代码中的函数参数从:
first_name, last_name
改成:
first_name: str, last_name: str
这样调用者就知道该传什么数据类型的参数。这和声明默认值是不同的,例如:
# 给函数参数添加默认值 first_name="john", last_name="doe"
这两者不一样。
我们用的是冒号(:
),不是等号(=
)。
而且添加类型提示一般不会改变原来的运行结果。
二、'->'的用法
使用上面的例子,如下:
def get_full_name(first_name: str, last_name: str): full_name = first_name.title() + " " + last_name.title() return full_name
可以看到,如果不看内部代码,我们并不知道这个函数返回值的数据类型,所以我们做如下改动:
# 注意函数形参后面有个: -> str def get_full_name(first_name, last_name) -> str: full_name = first_name.title() + " " + last_name.title() return full_name
我们可以看到,在上面的函数中,我们在形参后面添加了 '-> str' ,这个指的是函数的返回值为数据类型,告诉函数调用者这个函数的返回值为 str 类型的数据。
标签:full,last,函数,python,用法,str,first,name From: https://www.cnblogs.com/yesirya/p/17059713.html