Python学习day08(函数)

函数:

函数的写法:

无返回值

def add(): #定义函数
    a = 10
    b = 20
    print(a+b)
add() #调用函数

   有返回值     

def add():
    a =10
    b =20
    return a+b #函数返回值
sum =add()

带有形参的函数

def add(a,b) #a,b 分别是形参
    print(a+b)
add(10,20) #10,20分别是对应的a,b实际参数

作用域:

a = 100 #a是一个全局变量
def test1():
    print(a) #test1函数可以调用全局变量a
def test2():
    global a #要在test2函数中修改全局变量a ,必须使用global 声明
    a = 200
    print(a) #打印在test2函数修改全局变量a的值
def test3():
    a = 300 #a为局部变量,而不是全局变量a
    print(a) 
if __name__ == '__main__':
    test1() # 100
    test2() # 200
    test3() #300
    print(a) #200

固定位置参数与关键字参数

def student_info1(name='张三',gender='男',age=15,grade='高一'): #可变位置参数
    print(f'姓名{name},性别{gender},年龄{age},班级{grade}')

def student_info(name='张三', gender='男', age=15, grade='高一'):
    print(f'姓名{name},性别{gender},年龄{age},班级{grade}')
def student_info2(name, gender, age, grade='高一'): #固定位置参数和默认参数,默认参数必须放在最后
    print(f'姓名{name},性别{gender},年龄{age},班级{grade}')
def student_info3(name, gender, age=16, grade='高一'):
    print(f'姓名{name},性别{gender},年龄{age},班级{grade}')
if __name__ == '__main__':
    student_info1()#姓名张三,性别男,年龄15,班级高一
    student_info('张三','男',14,'初二') #姓名张三,性别男,年龄14,班级初二
    student_info('张三', 14,'男', '初二') #姓名张三,性别14,年龄男,班级初二
    student_info2('张三', 14, '男')#姓名张三,性别14,年龄男,班级高一
    student_info2('张三2', 14, '男')#姓名张三2,性别14,年龄男,班级高一
    student_info2('张三3', 16, '男','初三')#姓名张三3,性别16,年龄男,班级初三
    student_info3('李四', 14, '男')  # 姓名李四,性别14,年龄男,班级高一
    student_info3('李四2', 14, '男')  #姓名李四2,性别14,年龄男,班级高一
    student_info3('李四3', 16, '男', '初三')#姓名李四3,性别16,年龄男,班级初三

*args代表任何多个无名参数,返回的是元组;

def add1(n,*args):
    print(args)
if __name__ == '__main__':
    add1(3,5,7,9) #(5, 7, 9) args是一个元组数据

**kwargs表示关键字参数,所有传入的key=value,返回字典;

def p_info(name,gender,**kwargs):
    print(kwargs)#{'age': 18, 'height': 169, 'weight': 120}
if __name__ == '__main__':
    p_info('张三','男', age=18,height=169,weight=120)

匿名函数:通常用于那些简单的、一次性的函数,这样可以避免定义一个完整的函数

匿名函数语法

add = lambda a, b: a + b
result =add(2,3)
print(result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值