1.什么是函数
开发程序时候,需要代码执行多次,为了提高编写效率及代码重用性,所以把具有独立功能的代码块组织为一个小模块,给这个功能一个名称,这就是函数。
函数可以使用系统自带的函数也可以自定义函数
函数调用时候,给定的输入值是从左往右匹配函数参数列表
2.定义函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法:
def 函数名:
函数体
def print_name():
print('hello~heygor')
print_name()
3.调用函数
内置函数可以直接进行使用,调用一个函数需要知道函数名称和函数参数,函数名是只想一个函数对象的引用,完全可以把函数名赋值给变量
语法:
函数名
a=[1,2,3,4,5]
b=len
num=b(a)
print('列表中元素个数为',num)
map 方法生成序列
可以通过 map 的方式利用函数来生成序列:
def sqr(x):
return x ** 2
a = [2,3,4]
print map(sqr, a)
#[4, 9, 16]
其用法为:
map(aFun, aSeq)
将函数 aFun 应用到序列 aSeq 上的每一个元素上,返回一个列表,不管这个序列原来是什么类型。
事实上,根据函数参数的多少,map 可以接受多组序列,将其对应的元素作为参数传入函数:
def add(x, y):
return x + y
a = (2,3,4)
b = [10,5,3]
print map(add,a,b)
#[12, 8, 7]
------------------------
#coding=utf-8 #嵌套 # def test1(): # print('in test1') # def test2(): # test1() # print('in test2') # def test3(): # test2() # print('in test3') # test3() #递归 def func(n): print('进入第%d层梦'%n) if n==3: print('进入潜意识区') else: func(n+1) print('从第%d梦中醒来'%n) func(1) #1.进入1层 打印进入第一层梦,里面执行fun(2) #2.func(2) 打印进入第二层梦,里面执行func(3) #3.func(3) 打印进入第三层梦,进入潜意识,从第3层梦中醒来 #