python函数基础以及参数进阶

局部变量升级全局变量
name = '刘亦菲'

def func():
# 将局部变量升级为全局变量
global name
name = '赵丽颖' # name之前的刘亦菲的值覆盖:赵丽颖
print(f'局部变量:{name}') # 2赵丽颖
print(f'全局变量:{name}') # 3赵丽颖

print(name) # 1刘亦菲

func()

print(name) # 4赵丽颖

def func(x, y, z):
print(f'x的值是:{x}')
print(f'y的值是:{y}')
print(f'z的值是:{z}')

通过位置参数传递实参

func(1,2,3)

通过形参关键字传递是实参

func(x=3, y=2, z=5)

可以指定不按照顺序传递实参,但是不能多给也不能少给

func(z=3, y=2, x=5)

位置参数可以结合关键字参数一起使用

func(666, z=888, y=777)

默认参数基本使用

当位置参数和默认参数一起使用,那么默认参数必须在位置参数后面

# def func(x=123, y, z):

def func(x, y, z=666):

print(f'x的值是:{x}')

print(f'y的值是:{y}')

print(f'z的值是:{z}')

# 不传递实参给默认参数,使用默认参数值

func(123, 456)

# 传递实参给默认参数,覆盖默认参数值,使用实参值

func(123, 456, 789)

默认参数的使用场景:控制实参传递数量范围

位置参数决定参数下限,默认参数决定参数的上限

定义一个函数可以接收3-5个实参

def func(a, b, c, d=None, e=None):
print(f'当前函数可以接收3-5个实参:{a, b, c, d, e}')

func(1,2,3)

func(1,2,3,4)

func(1,2,3,4,5)

func(1,2,3,4,5,6)

func(1,2)

定义一个函数可以接收1-3个实参

def func2(a, b=None, c=None):
pass

func2(1)
func2(1, 2)
func2(1, 2, 3)

不确定函数能接收多少个实参,那么就可以使用不定长位置参数
特点
● 可以不接收实参
● 可以接收无数实参

接受所有实参都以元组的数据类型进行存储

使用格式:在函数定义的()中*args

def func(*args):
print(args)
print(f'接收的数据类型储存格式:{type(args)}')

func() # () <class 'tuple'>
func(1)
func(1, 2)
func(1, 2, 3)
func(1, 2, 3, 4)

不定长关键字参数

在定义函数的时候可以使用**kwargs接收不定长关键字参数
● 传递关键字参数可以有,可以无数个
● 传递关键字参数都是以键值对的方式存储,也就是字典格式

def func(**kwargs):
print(f'数据值:{kwargs}')
print(f'数据类型:{type(kwargs)}')

func() # <class 'dict'>

自定义关键字的名字赋值数据

func(a=1, b=2, c=3)
func(x=1, y=2, z=3)

posted @ 2026-11-02 00:18  小宇麒  阅读(1)  评论(0)    收藏  举报