python学习日记(1)

    • 函数参数
      • 位置参数
      • 可变参数
        • 传入list或者tuple
        • 可变参数
      • 关键字参数
        • 限制输入的key

函数参数

位置参数

默认参数

def power(x):
    return x*x

或者

def power(x, n = 2):
    ans = 1
    for i in range(n):
        ans *= x
    return ans

  • 注意 默认参数必须指向不变对象
def add_end(L=[]):
    L.append("END")
    return L

结果会变成
python学习日记(1)_第1张图片
修改方法

def add_end(L=None):
    if L == None:
        L = []
    L.append("END")
    return L


可变参数

讨论如何使得传入的参数的个数可变的。

传入list或者tuple

def calculate(numbers):
    sum = 0
    for number in numbers:
        sum = sum + number * number
    return sum

可变参数

def calculate(*numbers):
    sum = 0
    for number in numbers:
        sum = sum + number * number
    return sum

#可输入list/tuple
calculate(*[2,1,2])
#可一般输入
calculate(2,1,2)

关键字参数

允许传入任意个带名字的参数组成字典。

def person(name, age, **extra):
    print("name: ", name, " age: ", age, " extra: ", extra)
  • 输入形如
person("name", 23, sex = "male")

限制输入的key

代码1

def person(name, age, *, city, job):
    print(name, age, city, job)

person("jack", 23, city = "beijing", job = "programmer")

代码2

def person(name, age, *city, job):
    print(name, age, city, job)

代码3

def person(name, age, *, city = "Beijing", job):
    print(name, age, city, job)

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

参考来自廖雪峰的python教程

你可能感兴趣的:(我的学习日记,python)