Python基础之函数的参数、返回值变量、匿名函数

1. 函数的参数

# 重点:位置参数和关键字参数、参数默认值
# 一般:参数类型说明和带*的不定长
# 了解:**的不定长
1.1 位置参数和关键字参数 - 根据函数调用的时候实参的传递方式分类
"""
1)位置参数   - 让实参和形参在位置上一一对应
2)关键字参数 -   调用的时候在实参前加'形参名='的结构
3)位置参数和关键字参数可以一起用:位置参数必须在关键字参数的前面
"""


def func1(a, b, c):
    print(f'a:{a}, b:{b}, c:{c}')


# 位置参数
func1(100, 200,300)   # a:100, b:200, c:300
func1(200, 100, 300)   # a:200, b:100, c:300

# 关键参数
func1(a=10, b=20, c=30)      # a:10, b:20, c:30
func1(b=2, c=3, a=1)      # a:1, b:2, c:3

func1(111, c=322, b=233)        # a:111, b:233, c:322
# func1(a=100, b=200, 300)      # SyntaxError: positional argument follows keyword argument
# func1(100, a=200, c=300)      # 传参必须保证每个参数都有值
1.2 参数默认值 - 形参
"""
定义函数的时候可以直接给形参赋值,这样的参数就是有默认值的参数,
在调用有默认值参数的函数时候,有默认值的参数可以不用传参。

注意:如果有的参数有默认值,有的参数没有默认值,那么没有默认值的参数必须在有默认值参数的前面
"""


def func2(a=1, b=2, c=3):
    a = 10
    print(f'a:{a}, b:{b}, c:{c}')


func2(10, 20, 30)  # a:10, b:20, c:30
func2(10, 20)  #  a:10, b:20, c:3
func2(10)  #  a:10, b:2, c:3
func2()  # a:10, b:2, c:3


def func3(a, b, c=3):
    print(f'a:{a}, b:{b}, c:{c}')


func3(100, 200)  # a:100, b:200, c:3
func3(100, 200, 300)  # a:100, b:200, c:300


def func4(a=10, b=20, c=30):
    print(f'a:{a}, b:{b}, c:{c}')

func4(c=300)  # a:10, b:20, c:300

# def func3(a=1, b, c):             
#     print(f'a:{a}, b:{b}, c:{c}')  # # SyntaxError: non-default argument follows default argument
1.3 参数类型说明
"""
方法一:在没有默认值的形参后加:':类型名'
方法二:形参默认值的类型就是对应的参数类型
"""

def func6(string: str):
     string = 'hello'
        
   
def func4(a: list, b: int, c=''):
    print(f'a:{a}, b:{b}, c:{c}')
1.4 不定长参数
""
1)*的不定长参数  - 在形参前加*,那么形参就是一个不定长参数,可以同时接受多个实参
不定长参数本质就是元组,多应的多个实参是元组的元素
注意:
    a. 不定长参数对应的形参调用的时候必须用位置参数赋值
    
2)**的不定长参数 -   在形参前加**,那么形参就是一个不定长参数,可以同时接受多个实参
不定长参数本质就是字典
注意:
    b.  必须关键字参数传参
"""


# 案例:定义一个函数求多个数的和: sum1
# sum1(10, 20)、sum1(20, 78, 8), sum1(10, 9, 8, 7, 4)
def sum1(*nums):
    s = 0
    for x in nums:
        s += x
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值