python 函数相关定义

函数分为定义和调用2个状态。

函数定义的时候,参数称为形参,调用的时候,参数称为实参。形参没有具体的值,但是实参有值。

函数定义时,指定了默认值的参数是默认参数。默认参数的位置必须放在最后位置。

函数定义时,不确定参数的个数,可以使用非固定参数:列表(*args) 和 字典(**kwargs)定义。这样,函数调用时,位置参数放在列表里,指定了key=value这种形式的参数会被放在字典里。

函数调用时,以位置顺序确定对应关系的参数称为位置参数;指定了参数名的参数称为关键参数。关键参数必须放在位置参数后面。

在python中,‘变量就近查找’是对实参而言。

这与c语言不同。对c语言来说,不分函数定义和调用,变量总是就近查找。

代码1:

def test():
    print(str_temp)
    str_temp = 'e'
str_temp = "the king of sea."
test()

Python下,代码1会报错:UnboundLocalError: local variable 'luffy' referenced before assignment

代码2:

def test():
   print(str_temp)
str_temp = "the king of sea."
test()

Python下,代码2不会报错,打印"the king of sea."  但在c语言里会报错,因为变量str_temp在定义前使用。

猜你喜欢

转载自blog.csdn.net/shizao/article/details/81779584