python3-005 函数
所属分类 python
浏览量 497
内建函数 比如 print()
用户自定义函数
def max(a,b):
if a >= b : return a
return b
可变类型 引用传递
不可变类型 值传递
元组 不可变
str = "abc"
print(id(str))
str = "hello"
print(id(str))
id() 返回变量内存地址
list = [1,2,3]
def append(list):
list.append("a")
append(list)
参数
def info(name="cat",age=3):
print("name=%s,age=%s" % (name,age))
info()
info("fish")
info("dog",7)
info(age=8,name='lion')
默认参数
命名参数
不定长参数
加星号 * 的参数 以 元组(tuple) 传入,存放所有未命名的变量参数
加 两个星号 ** 的参数 以 字典 传入
声明函数时,参数中星号 * 可以单独出现 ,单独 * 后的参数必须用关键字传入
def printTupleArgs(arg1,*tupleArgs):
print(arg1)
print(tupleArgs)
def printDictArgs(arg1,**dictArgs):
print(arg1)
print(dictArgs)
printTupleArgs(1)
printTupleArgs(1,2)
printTupleArgs(1,2,"a","b")
printDictArgs(1)
printDictArgs(1,a=1)
printDictArgs(1,a=1,b="abc",c="xyz")
def singleStarArgs(a,b,*,c):
print(a,b,c)
singleStarArgs(1,2,c=3)
单个*号 之后 ,c 使用命名参数形式
匿名函数
lambda 创建匿名函数
lambda函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数
sum = lambda a,b : a+b
sum(1,2)
sum(2,3)
sum = lambda a,b : a+b
a,b = sum(1,2) ,sum(2,3)
print(a,b)
上一篇
下一篇
python3-002 基本数据类型
python3-003 条件和循环
python3-004 迭代器和生成器
python3 str 内置函数调用错误
python3-006 输入输出
python3-007 错误和异常