首页  

python3-005 函数     所属分类 python 浏览量 384
内建函数 比如 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 错误和异常