Python 笔记6 函数(参数,返回值)

函数的返回值2:

# return除了能够将数据返回之外
# 还有一个隐藏功能,结束函数

# 返回多个值

def create_nums(num):
    if num==100:
        return num + 1
    else:
        return num + 2

result1=create_nums(100)
result2=create_nums(200)

print(result1)  #输出101
print(result2)  #输出202

函数的返回值3:

def calc_2_num(a,b):
    sum01=a+b
    sub01=a-b
    multi01=a*b
    divide01=a/b

    #return [sum01,sub01,multi01,divide01]   #[120, 80, 2000, 5.0]
    #return {'sum01':sum01, 'sub01':sub01,'multi01':multi01,'divide01':divide01}  #输出字典
    #return (sum01,sub01,multi01,divide01)           #输出元组
    return sum01,sub01,multi01,divide01  #默认输出是元组 (120, 80, 2000, 5.0)

result=calc_2_num(100,20)

print(result)  #(120, 80, 2000, 5.0)

Python拆包:

m = 1,2,3
print(m)  #(1,2,3)

#拆包
#注意: 需要拆的数据的个数要与变量的个数相同,否则程序会异常
a,b,c = 1,2,3
print(a)  #1
print(b)  #2
print(c)  #3

#除元组外,还可以对列表,字典等拆包
a,b,c = [1,2,3]
print(a)  #1
print(b)  #2
print(c)  #3

a,b = {'name':'张三','age':18}  #只能对key拆包
print(a)  # name
print(b)  # age

函数拆包应用:

# 函数返回多个值,需要其中某个数据时,可以拆包
def calc_2_num(a,b):
    sum01=a+b
    sub01=a-b
    multi01=a*b
    divide01=a/b

    return sum01, sub01, multi01, divide01  # 默认输出是元组 (120, 80, 2000, 5.0)

#返回值是元组,所以可以直接拆包
a,b,c,d = calc_2_num(100,20)
print(a)  #120
print(b)  #80
print(c)  #2000
print(d)  #5.0

函数的参数2:位置参数

# 位置参数: 可以通过指定参数名字的方式进行传值
# 语法: def print_info(name,age):

def print_info(name,age):
    #打印任何传入的字符串
    print('我的名字叫:%s'%name)
    print('我的年龄是:%d'%age)

#调用print_info函数
print_info('张三',18)  #参数按照从左向右的位置依次传入,叫位置参数
print_info('李四',20)

函数的参数3:缺省参数

# 缺省参数 : 在形参中默认有值的参数
# 注意: 缺省参数一定要位于位置参数后面

def print_info(name,age=18):
    #打印任何传入的字符串
    print('我的名字是:%s'%name)
    print('我的年龄是:%d'%age)

#调用print_info函数
print_info('张三') #如果不传age ,age默认18
print_info('张三',30) #如果传age,显示传入的值

函数的参数4:不定长参数

# 不定长参数: 有时可能需要一个函数能处理比当初声明时更多的参数。这些参数就叫不定长参数
# 加了星号*的变量args会存放所有未命名的变量参数,args为元组

def sum_nums(a,b,c=0,*args):
    result=a+b+c
    print(a)
    print(b)
    print(c)
    print(args)
    print(result)


sum_nums(11,22,33,44,55,66)       #11
                                  #22
                                  #33
                                  #(44, 55, 66)  不定长参数
                                  #66


#当缺省参数在*args后面时,并不会赋给缺省参数新的数据
def sum_nums_3(a,*args,b=22,c=33):
    result=a+b+c
    print(a)
    print(b)
    print(c)
    print(args)

sum_nums_3(100,200,300,400,500,600,700)  #100
                                         #22
                                         #33
                                         #(200, 300, 400, 500, 600, 700)  不定长参数

函数的参数5: 关键字参数

# 关键字参数 : 存放key=value形式的参数 (存放字典 放在参数最后面)
# 变量**kwarg会存放key=value的参数,kwargs为字典
# 变量**kwarg必须放在所有参数的最右侧

# keywords: 关键字
def sum_nums(a,b=11,c=22,*args,**kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)

sum_nums(100,200,300,400,500,name='张三',age=18)  #100
                                                 #200
                                                 #300
                                                 #(400, 500)    *args 不定长参数
                                                 #{'name': '张三', 'age': 18}   **kwargs 关键字参数

交换两个变量的值:

# 第一种方法
a = 4
b = 5

c = a
a = b
b = c
print(a)  #5
print(b)  #4

# 第二种方法 借用列表
a=4
b=5
a=[a,b]
b = a[0]
a = a[1]
print(a)  #5
print(b)  #4

# 第三种方法 Python特有 拆包
a=4
b=5
a,b = b,a
print(a)  #5
print(b)  #4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值