函数基础
函数的定义
def 函数名():
语句
函数的参数
参数的分类:
必选参数,默认参数,可选参数,关键字参数
def sum(a,b): %形式参数
print(a+b)
sum(20,10)
30
#可变参数
#是一个元组类型
def computer(*args):
print(args)
computer(1,2,3)
#关键字可变参数
#在函数体内,参数关键字是一个字典,key是一个字符串
def keyfun(**kwargs):
print(kwargs)
dict={'name':'sdfs','age':35}
keyfun(**dict)
keyfun(name='sdfs',age=30)
#复合类型
def complexFunc(*args,**kwargs):
print(args)
print(kwargs)
complexFunc(1,2,3,name='liu',age=12)
(1, 2, 3)
{'name': 'sdfs', 'age': 35}
{'name': 'sdfs', 'age': 30}
(1, 2, 3)
{'name': 'liu', 'age': 12}
函数的返回值
使用return
函数的嵌套
def func1():
print(1)
def func2():
func1()
print(2)
func2()
1
2
函数参数引用传值
在python中 万物皆对象,在函数调用的时候,实参传递就是对象的引用
li=[]
def func(parms):
li.append([1,2])
print('x的地址{}'.format(id(li)))
print('a的地址{}'.format(id(li)))
func(li)
print(li)
a的地址22046952
x的地址22046952
[[1, 2]]
lambda关键字创建匿名函数
所谓匿名是指这个函数没用名字不用def关键字定义创建标准函数
lambda 参数1,参数2,参数3:语句
test=lambda x,y:x+y
print(test(1,3))
输出
4
这样的三元表达式可以放到lambda中
b if a else c
geater=(lambda x, y:x if x>y else y)
print(geater(5,3))
5
geater=(lambda x, y:x if x>y else y)(5,3)
print(greater)
5
python 的内置函数
类型转换函数
序列操作
集合
set(集合)是一种数据类型,是一个无序且不重复的元素集合。