Python模块化开发——位置参数

注:本博客实例均是使用的Python编译器--pycharm

位置参数

定义

位置参数,有时也称必备参数。指必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数时传入实际参数的数量和位置都必须和定义函数时的形式参数保持一致。

例如:先写一个计算x^2的函数:

def power(x):
    return x * x

对于power(x)函数,参数x就是一个位置参数。当调用power函数时,必须传入有且仅有的一个参数x:

#代码
print(power(5))
#输出
25

现在,如果要计算x^3怎么办?可以再定义一个power3函数,但是如果要计算x^4、x^5……怎么办?不可能定义无限多个函数。可以把power(x)修改为power(x, n),用来计算x^n:

def power(x, n):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

对于这个修改后的power(x, n)函数,可以计算任意n次方:

#代码
print(power(5,3))
#输出
125

修改后的power(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋给参数x和n。

特征

实参和形参数量必须一致

在调用函数,指定的实际参数的数量,必须和形式参数的数量一致(传多传少都不行),否则 Python 解释器会抛出 TypeError 异常,并提示缺少/多余必要的位置参数。例如:

#代码
print(power(5))
#报错
TypeError: power() missing 1 required positional argument: 'n'

#代码
print(power(5,2,3))
#报错
TypeError: power() takes 2 positional arguments but 3 were given

实参和形参位置必须一致

1.当实际参数类型和形式参数类型不一致,在调用函数中,由于参数位置错误会抛出 TypeError 异常。

2.当实际参数类型和形式参数类型一致,那么他们的位置错误,不会使程序抛出异常,但会导致运行结果和预期不符。

#抛出TypeError异常未举例
#代码
print(power(2,5))#本来想输出power(5,2),其结果为25
#输出
32

 

 

你可能感兴趣的:(Python)