pickKnow
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\']
\'\'\'默认参数是一个变量,函数定义的同时,已经被计算出来,若是有变化,它会指向新的地址
 \'\'\'

 

分类:

技术点:

相关文章: