函数返回值,参数内容

函数

函数的定义:函数是对功能的封装
函数的返回值:

第一种:无return
def func():
    print("123")
    print("456")
func() # 直接调用
第二种:有return,在代码之间
def func():
    print("123")
    return
    print("456")
func() # 结果是123,因为遇到return直接退出函数
第三种:有return,格式return+空格+值
def func():
    a = 20
    return a
print(func()) # 直接打印返回值 20
第四种:多个返回值
def func():
    a = 20
    b = 10
    c = 10
    return a,b,c
print(func()) #打印出的结果是一个元组(20,10,10)

函数的参数

  1. 形参:函数声明的位置的变量
  2. 实参:在函数调用的时候给的具体的值
形参的位置参数
def func(a,b,c):
    print(a)
    print(b)
    print(c)
func(20,10,10) #这种形参和实参一一对应的形式是位置参数

形参的默认参数
def func(a,b,c=20):#这里的c=20是默认参数
    print(a)
    print(b)
    print(c)
func(20,10,10) 
#当把20,10,10分别赋值给a,b,c时,就会把原来的默认值覆盖,如果c不给值,则c还是等于20

动态参数
第一种:位置参数动态传参
参数名:*参数名
def func(*args):
    print(arg)
func(1,2,3,4) # 形参*args会把传入的实参全盘接收以元组的形式
#结果:(1, 2, 3, 4)
def func(name,age=18,*food):
    print(name)
    print(*food)
    print(age)
func("小吃",21,"雪糕")  
#这里形参有三种,位置参数,默认值参数,和动态参数,位置参数首先对应接收一个实参,,第二个实参传给默认参数,第三个给动态参数.
**注意**,但若是第二个形参和第三个形参换位置,则会产生第三个形参永远不会接收到实参,而一直使用默认值.

第二种:关键词参数动态传参
def func(**args):
    print(args)
func(name="hh", age=18)
#他会把传入的关键字实参转化成字典,打印结果{'name': 'hh', 'age': 18}

**重点**:所以这里会衍生出一个参数的顺序
位置参数 > *args > 默认值参数 > **args
实参的位置参数和形参一样(同上)
实参的关键字参数
def func(a,b,c):
    print(a)
    print(b)
    print(c)
func(a=20,c=10,b=10) #直接对形参进行赋值即可,不用考虑顺序

实参的混合参数
def func(a,b,c):
    print(a)
    print(b)
    print(c)
func(20,c=10,b=10) #位置参数和关键字参数混合使用

**注意:**不管是形参还是实参一定要保证是位置参数是在首位.
        对于形参的顺序:位置参数 > 默认值参数
        对于实参的顺序:位置参数 > 关键字参数

global:在局部访问全局的内容时,可以改变全局变量的值

a = 20
def func()
    global a
    a = 10
func()
print(a)  #此时打印出的a为10

nonlocal:在局部中,nonlocal找除去全局之外的外层的理他最近的那一个层次的变量,改变那个不变量的值

a = 30
def func():
    a = 20
    def inner():
        nonlocal a
        a = 10
        print(a)  #这里打印的a为10
    inner()
    print(a)  #这里打印的a也为10
func()
print(a) 这里打印的a为30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值