def fun(name,age=18,):
print('{}的年龄是{}岁'.format(name,age))
a =fun('dana')
b =fun('dana',23) # 默认参数传参
>dana的年龄是18岁
dana的年龄是23岁
1.2 动态参数
动态参数-收集参数-不定长参数:*args arguments
# 位置参数调用多个不定长数据时,需要先组装出一个list或tuple
def calc(numbers):
sum = 0
for n in numbers:
sum = sum + n * n
print(sum)
return ''
l = [1,2,3,4]
t = (1,2,3,4,5)
a =calc(l)
b =calc(t)
# 可变参数,调用函数的方式不用先组装list或tuple,函数调用时自动组装为一个tuple
# 当调用list或tuple是需要加上*,先转换为动态参数
# 调用时可以使用for循环遍历
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
print(sum)
return ''
c =calc(1,2,3,4)
d =calc(1,2,3,4,5)
e = calc(*l)
f = calc(*t)
def fun(*args,**kwargs):
print(args)
print(kwargs)
return ''
a = fun('篮球','足球','读书',身高='175cm',体重='65Kg')
print(a)
>('篮球', '足球', '读书')
{'身高': '175cm', '体重': '65Kg'}
# 转换为动态参数、关键字参数
t = ('篮球','足球','读书')
d = {'身高':'175cm','体重':'65Kg'}
e = fun(*t,**d)
print(e)
>('篮球', '足球', '读书')
{'身高': '175cm', '体重': '65Kg'}
1.4 参数顺序
参数定义的顺序:必选参数、默认参数、可变参数和关键字参数
# 形参、实参:name---形参,18---实参
def fun(name,age=18,*args,**kwargs):
print('{}的年龄是{}岁'.format(name,age))
for i in args:
print('{}的爱好有{}'.format(name,i))
for key in kwargs:
print('{}的值是{}'.format(key,kwargs[key]))
return ''
a = fun('dana',23,'篮球','足球','读书',身高='175cm',体重='65Kg')
print(a)
>dana的年龄是23岁
dana的爱好有篮球
dana的爱好有足球
dana的爱好有读书
身高的值是175cm
体重的值是65Kg
b = fun('lili')
print(b)
>lili的年龄是18岁
# 使用局部变量
a = 0 # 全局变量
def add():
a = 5 # 局部变量
return a
r = add()
print(r)
>5
# 使用全局变量
a = 0 # 全局变量
def add():
global a # 申明
a +=10
return a
r = add()
print(r)