01、函数():是一个可以被重复调用的带有一个入口和一个出口的固定的程序段,即代码块。
02、函数编写: def 函数名(参数): ‘函数参数’ 代码块 return | def func(a): print('for is cool ') return a + 1
03、在定义函数的参照括号内定义的参数称之为形参;在调用函数的时候传递的值称之为实参;
04、位置传参是实参传递的顺序按照形参定义的顺序进行传递的传参方式。def func(name,city) | func('for','xuegod')
05、关键字传参是以形参等于实参的形式忽略形参定义的顺序进行传参的传参方式。def func(name,city) | func(name='for',city='xuegod')
07、参数组(面试题):即不定长参数,处理比当初声明时更多的参数,会将传入的参数变成元组(*args)或者字典(**kwargs),声明的时候不用命名
08、元组参数组:def say_hello(*args) | say_hello(1,2,3,4,5)
09、字典参数组:def say_hello(**kwargs) | say_hello(a =1,b = 2,c = 3)
10、不定长参数在 python2 和 python3 的区别:def say_hello(e,f,p = 2,*args,**kwargs) | say_hello(1,2,3,a=1)
11、在 python2 中参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。而 python3 中却可以可变参数写在默认参数前面:必选参数、可变参数、默认参数和关键字参数。
13、参数可选,以逗号分隔的变量表达式形式,也就是位置参数,不能包含循环、return,elif ,可以包含 if.
14、注意:在 python2 中 lambda 不支持 print,但在 python3 中支持 print()
15、map () 是内置函数,c = map(lambda x,y:x+y,a,b),它接受一个函数和一个可迭代对象,并且通过函数依次作用在可迭代对象的每个元素上,得到一个新的对象。
16、变量起作用的范围(作用域):L local 局部作用域,本地作用域;E enclosing 嵌套作用域;G global 全局作用域;B built-in 内建作用域
17、作用域遵循就近原则,由内到外的查找。如果 c 是一个列表,字典返些可变的类型的数据。如果是可变类型的数据,不用声明 global。
18、global声明全局变量,global修饰变量时不能直接赋值,nonlocal非本地变量,nonlocal不能操作全局变量,可以对父级作用域的变量进行修改,并且在当前作用域创建
19、在函数中不使用 global 声明全局变量时不能修改全局变量的,其本质是不能修改全局变量的指向。 所以不使用 global 时无法修改全局变量。
20、对于可变类型的全局变量来说,因其指向的数据可以修改,所以不使用 global 时也可修改全局变量。
21、如果全局变量和局部变量的名字相同,那么使用的是局部变量,即强龙不压地头蛇
22、偏导数:一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数迕行调用
23、import functools def add(a, b): plus3 = functools.partial(add, 3) print(plus3(2))
浙公网安备 33010602011771号