Python函数基础知识

1、def是可执行的代码。python的函数是由一个新的语句编写的,即def。不像C这样的编译语言,def是一个可执行的语句,——函数并不存在,直到python运行了def后才存在,事实上,在if语句,while循环甚至在其他def语句中嵌套是合法的。在典型的操作中,def语句在模板文件中编写,并自然而然的在模板第一次被倒入时候才生成。

2、def创建了一个对象并将其副职给这个变量名,就像所有的副职一样,函数名变成了某一个函数的引用。函数名起始并没有什么神奇。

3、lambda创建一个对象但将其作为结果返回,也可以用lamdba表达式创建函数,这个功能允许我们把函数定义内关联到语法上的一条def语句不能工作的地方

4、return将一个结果对象发送给调用者。当函数被调用时,其调用者停止运行直道这个函数完成了他的工作,之后函数才将控制权返还给调用者。函数通过return语句将结果发送给调用者。

5、yield向调用者发回一个结果对象,但是记住他离开的地方。像生存器这样的函数也可以通过yield语句来返回值,并挂起他们的状态以便稍后能够恢复。

6、global声明一个模块级的变量并赋值。在默认情况下,所有在一个函数中被复制的对象,是这个函数的本地变量,并且仅在这个函数运行的过程中存在,为了分配一个可以在整个模块中都可以使用的变量名,函数需要在global语句中将它列出来,并且是通过赋值语句将变量名绑定至作用域。
7、nonlocal声明了将要赋值的一个封闭的函数变量。
8、def语句
	def name(arg1,arg2,arg3,...,argN):
		statement
9、python函数如果没有返回值,默认返回的是None。
10、函数定义好后,可以将函数赋值给不同的对象,同时,可以通过新的变量名进行调用。函数也是对象,所以可以给函数附加属性
	def f(a):print(a)
	t = f
	f(3)
	t(3)
	t.attr  = 0
	print(f.attr)  #输出0
11、本地变量
	def interset(seq1,seq2):
		res = []
		for x in seq1:
			if x in seq2:
				res.append(x)
		return res
	说明:
	只要第一个参数seq1支持迭代就行,不然不支持for循环。

  

原文地址:https://www.cnblogs.com/hbcb533/p/3673991.html