python-----函数参数相关
2021-01-26 本文已影响0人
幼姿沫
Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。
#可变类型 *不可哈希* 和不可变类型 *可哈希* 数据类型 int类型数据不可变 list/tuple/dict数据内容是可变的
def selfAdd(a):
a+=a
print('a+=a * ',a)
num=1
print('num * ',num)
selfAdd(num)
print('finally * ',num)
def selfAdd(a):
a+=a
num=[1,2]
print(num)
selfAdd(num)
print(num)
#函数的多个返回值 利用了元组
a=10
def divid(a,b):
dived=a//b
left=a%b
return dived,left
sh,yu=divid(5,2)
print(sh,yu)
#往函数的参数中添加缺省参数 必须在最后
def printInfo(name,age=50):
print({'name':name,'age':age})
#没有赋值则默认为初始赋值
printInfo(name='miki')
#直接覆盖之前的数值进行输出
printInfo(name='haha',age=20)
#不定长参数
# 1.*args 用一个函数处理多个数值 元组格式 tuple
# **kwargs 函数处理多个键值对 即字典格式 dict
def multiNum(*args,**kwargs):
print(args)
print(kwargs)
multiNum(1,2,3,4,5,6,7,m=1,n=2,c=3)