python学习之参数传递

python

参数传递分为定义(形参)和调用(实参)两种情况。

1. 定义(形参)

  • 默认参数

python">def func(x, y=None):

# 任何时候必须 优先定义 位置参数

# 默认参数和可变参数*args 顺序无要求

# 任何时候必须 最后定义 可变参数**kwargs

  • 可变参数之tuple

def func(a, x=None, *y):

# x为默认参数;

# y为元组,可以为空,可以有1到多个元素,函数将依次读取y的元素,然后再函数里组成一个元组。

func(1) # 1, None, ()

func(1,()) # 1, (), ()

func(1,2,3,8) # 1, 2, (3,8)

  • 可变参数之dict

def func(x, y=0, **z):

# x为位置参数

# y为字典,可以为空,可以有1到多个字典元素,函数依次读取每个键值对,并传入在函数里组成一个字典。

func(1) # 1, 0, {}

func(1, y=2, w=3) # 1, 0, {'y': 2, 'w': 3}

2. 调用(实参)

def func(a,b,c):

tuple = (1, 2, 3)

func(*tuple) # 1,2,3

# *tuple 将tuple拆分为三个元素,一次传递给函数的位置参数a,b,c

def func(a,b,c):

dict = {'a': 1, 'b': 2, 'c': 3}

func(**dict) # 1,2,3

# **dict将dict每个值按照键值对的关系传递给函数的对应参数

# 因此key必须和位置参数(默认参数可省略)一一对应,不多不少才能成功

以上是 python学习之参数传递 的全部内容, 来源链接: utcz.com/z/388607.html

回到顶部