Python python 函数参数:必选参数,默认参数

import math
# 函数的必选参数
'''函数的必选参数,指的是函数调用的时候必须传入的参数
   '''
def cal (n):
    return n * n

var = cal(2)
print(var) # 4

'''上面的函数是计算一个数的平方,当要计算n^3, n^4.... 只能传入2个必选参数
  '''
def cal_update(n,m):
    return int(math.pow(n,m))

var = cal_update(2,4)
print(var) # 16

'''但是,如果大多数情况下,都是平方计算,那每次都 cal_updtae(n,2)就会很麻烦,因此引入了默认参数
  '''
# 函数的默认参数
'''默认参数,默认情况下的传入的参数
  '''

def cal_update2(n,m=2):
    return int(math.pow(n,m))

var  = cal_update2(3) # 只需传入一个参数,默认传入2
print(var) # 9

def student(name,sex,city='shanghai',age='20'):
    print ('name:', name)
    print('sex:', sex)
    print('city:', city)
    print('age:', age)

student('chris','male')

# name: chris
# sex: male
# city: shanghai
# age: 20

'''默认参数必须是不变对象,若是可变的对象可能出现问题
   '''
def count(name=[]):
    name.append('chris')
    print(name)
    return name


count(name=['sarah','Tom'])
# ['sarah', 'Tom', 'chris']

count();
# ['chris']

count()
# ['chris', 'chris']  当我重新调用这个函数的时候,默认参数name 并不是[],而是上一次没有清空的['chris']
'''默认参数是一个变量,函数定义的同时,已经被计算出来,若是有变化,它会指向新的地址
 '''
原文地址:https://www.cnblogs.com/pickKnow/p/10935737.html