10、函数的参数与有无返回值的函数

目录

一:参数:

1、提前了解一下参数,定义一个函数需要def +函数名+(参数):

2、参数有两种:一种是括号里的“形参”,另一种是调用函数时括号里填的实参。细节后续会讲。

3、首先:参数要求用户必须以正确的顺序传入函数(括号中)。

二、关键字参数:

①用户调用函数时,可以在括号中直接设置参数的名称和默认值,这种类型的参数属于关键字参数。

②在设置函数的关键字参数时,可以不依照它们的位置排列顺序,以为python解释器会自己匹配参数名及其对应的参数。

③用户还可以将 调用函数中的参数(也就是实参),进行赋值(参数)和关键字(赋值)参数的混合使用,但必须将赋值(参数)放在关键字(赋值)参数的前面。听不懂直接看下面例子:

④调用函数时,如果没有设置实参的值,就会使用定义函数时设定的默认形参值。如下:

⑤可变参数:

1、元组参数

2、字典参数:

二、有返回值和无返回值的函数

1、有返回值的函数。

2、返回值也可以是个表达式:

3、函数的返回值可以是多个,而多个的返回值以元组对象的类型返回。

4、如果函数没有返回值,则返回None:


一:参数:

1、提前了解一下参数,定义一个函数需要def +函数名+(参数):

2、参数有两种:一种是括号里的“形参”,另一种是调用函数时括号里填的实参。细节后续会讲。

3、首先:参数要求用户必须以正确的顺序传入函数(括号中)。

调用函数时的参数必须和定义函数时的参数数量一样,且位置要对应。

def gg(x, y):
    return x - y


dg = gg(200, 50)
print(dg)  # 结果为:150

# 如果上例中调用gg()函数时,括号中的参数数量不对会报错。

# 如:gg()  *  gg(100,200,300)

二、关键字参数:

①用户调用函数时,可以在括号中直接设置参数的名称和默认值,这种类型的参数属于关键字参数。

②在设置函数的关键字参数时,可以不依照它们的位置排列顺序,以为python解释器会自己匹配参数名及其对应的参数。

def gg(x, y):
    return x - y


gg(200, 100)       # 按参数顺序传入参数。 结果为:100
gg(x=200, y=100)   # 按参数顺序传入参数,并指定参数名。 结果为:100
gg(y=100, x=200)   # 不按参数顺序传入参数,并指定参数名。 结果为:100

③用户还可以将 调用函数中的参数(也就是实参),进行赋值(参数)和关键字(赋值)参数的混合使用,但必须将赋值(参数)放在关键字(赋值)参数的前面。听不懂直接看下面例子:

def ss(name, price):
    "输出商品价格信息"
    print('名称:', name)  # 名称:电视机
    print('价格:', price)  # 价格:2880
    return


ss('电视机', price=2880)  # 调用函数,且括号中的是实参,实参就是要传入定义函数时声明的形参中。
# 这里将'电视机'成为 “赋值(参数)”,后面的为 “关键字(赋值)参数”

④调用函数时,如果没有设置实参的值,就会使用定义函数时设定的默认形参值。如下:

def aa(name, price=6000):  # 一定要有默认参数值,才能在下面使用默认参数值
    "输出商品价格信息"
    print('名称:', name)
    print('价格:', price)  # 结果为:
    return


aa(name='冰箱', price=2880)  # 此参数值的结果为:名称: 冰箱  \\ 价格: 2880
aa(name='空调')  # 此参数值的结果为:名称: 空调  \\  价格: 6000
# ***注意上面这条:没有传递price参数值,使用默认的参数值:前提是你TMD在参数那里设置了默认参数值!***

使用默认参数,参数的位置就不那么重要了,所以不用管。

如果每个形参都定了默认参数值,那么调用该函数时,可以不设置实参,使用默认形参。(感觉跟上条有点重复了……)如:

def ss(x=200, y=100):
    return x - y


print(ss())  # 没有传递参数,使用默认参数值。结果为:100

——————————————————划重点———————————————————

这部分要着重了解:

⑤可变参数:

1、元组参数

如果用户在声明参数时,不能确定需要 用到几个参数,就可以使用可变参数。

在形参名前加个星( * )号,即可以将多的实参传入形参中变为元组参数。

def fruits(aq, *args):
    print(aq)
    for ab in args:
        print('可变参数为:', ab)
    return


print('不带可变参数')
fruits('西瓜')
print("带两个可变参数")
fruits('‘西瓜', '苹果', 15.5)

fruits('西瓜', '苹果', 15.5, '香蕉', 3.5, '橙子', 10.5)
print('带6个可变参数')

2、字典参数:

使用方式:①在形参名前加两个星( * )号。

②调用函数时在实参中,将键和值用等号连接,每个键用逗号隔开。

def fruits(**args):
    for name in args.keys():  # 使用循环查看键
        print('名称:', name)  # 结果为:名称: 葡萄 \\ 名称: 梨 \\ 名称: 西瓜
    for price in args.values():  # 使用循环查看键值
        print('价格:', price)  # 结果为:价格: 15.0 \\ 价格: 12 \\ 价格: 20


fruits(葡萄=15.0, 梨=12, 西瓜='20')  # 给字典参数赋值时,键不能加引号,键值可以

————————————————分割线——————————————————

二、有返回值和无返回值的函数

1、有返回值的函数。

返回值使用 return 语句。

def sum(count, price):
    """输出商品总价格"""
    total = count * price  # 表达式
    print('商品总价格:', total)  # 结果为:商品总价格: 69.0
    return total  # 将结果返回给totla然后print()输出其结果。


sum(15, 4.6)  # 调用函数

2、返回值也可以是个表达式:

def addnumbers(x, y):
    return x * 10 + y * 20  # 返回一个表达式的结果,返还给谁?谁调用就给谁啊。


ab = addnumbers(1, 2)  # 必须要给函数名赋值给变量,若是直接输出则会返回一串看不懂的东西
print(ab)  # 结果为:50

3、函数的返回值可以是多个,而多个的返回值以元组对象的类型返回。

def returnxy(x, y):
    return x, y  # 返回了两个值


a, b = returnxy(10, 20)
print(a, b)  # 结果为:10 20
print(type(a))  # 返回的是元组元素的类型,结果为:<class 'int'>

4、如果函数没有返回值,则返回None:

def myfunction():
    return


ret = myfunction()
print(ret)  # 结果为:None

# 注意:如果没有return 语句,函数执行完毕后也会返回结果,只是结果为None。
# 有时候,return None一句也可以简写为return。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值