10.12Python笔记-函数默认参数

【int() 函数】 第二个参数是转换进制base,如果不传,默认是十进制 (base=10),如果传了,就用传入的参数

int('123') # ==> 123
int('123', 8) # ==> 83

函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面,否则将会出现错误。

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

【可变参数*args】 Python会把可变参数定义为一个tuple,可以通过位置下标取出对应的元素

【可变关键字参数】 函数会把可变参数当作tuple去处理,一个拥有必需参数,默认参数,可变参数,可变关键字参数的函数,定义顺序是这样

def info(**kwargs):
    print('name: {}, gender: {}, age: {}'.format(kwargs.get('name'), kwargs.get('gender'), kwargs.get('age')))

info(name = 'Alice', gender = 'girl', age = 16)

可变参数是一个个的字符,调用时参数时 

kwargs.get('names')

可变参数是一个个list,调用参数时

kwargs['names']

传参时:变量名 = 值

1.请定义一个 greet() 函数,它包含一个默认参数,如果没有传入参数,打印 Hello, world.,如果传入参数,打印Hello, 传入的参数内容.

# Enter a code
def greet(n = 'Hello, world'):
    if n != 'Hello, world':
        print('Hello')
    else:
        print('Hello, world.')
greet()
greet(1)

2.要计算任意个数的平均值,当可变参数长度为0的时候,也能正确返回结果。结果为什么是2.0

# Enter a code
def average(*args):
    if len(args) == 0:
        return 0
    else:
        sum = 0
        for item in args:
            sum += item
        avg = sum / len(args)
        return avg
print(average())
print(round(average(1,2,2,3,4),2))

3.编写一个函数,它接受关键字参数names,gender,age三个list,分别包含同学的名字、性别和年龄,请分别把每个同学的名字、性别和年龄打印出来。

# Enter a code
def func(**kwargs):
    num  = 0
    for ch in kwargs['names']:
        print(ch,kwargs['gender'][num],kwargs['age'][num])
        num = num + 1
        
func(names = ['Alice', 'Bob', 'Candy'], gender = ['girl', 'boy', 'girl'], age = [12, 13, 14])

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值