一.定义函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
函数能提高应用的模块性,和代码的重复利用率
函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
面向对象:对函数进行分类和封装,让开发“更快更好更强...”
函数式编程最重要的是增强代码的重用性和可读性
1.定义函数规则:
使用def语句,依次写出函数名、括号、括号中的参数和冒号":"
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
在缩进 块中编写函数体
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
2.语法:
def函数名(参数):
...
函数体
...
返回值
返回值:
函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者
参数
无参数
deftest():print("hello")
test()
2.有参数
普通参数
deftest(a):print(a)
test("hello")
默认参数
def fun(a=123):print(a)
fun()
动态参数
#!/usr/bin/env python#-*- coding:utf-8 -*-#* 可以传入列表也可以是元组
def fun(*a):print(a,type(a))
fun(1,2,23,43)
#!/usr/bin/env python#-*- coding:utf-8 -*-#**传入参数形式是字典
def fun(**a):print(a,type(a))
fun(k1=78,k2=90)
3.变量作用域
变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:
全局变量
局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问
#!/usr/bin/env python#-*- coding:utf-8 -*-
GVAR= "GLOBAL_VAR" #这是一个全局变量
deffun(par):
loc_var = "local_var" #局部变量.
print("函数内是局部变量 :", loc_var)returnloc_var#调用fun函数
fun("hello")print("函数外是全局变量 :", GVAR)
函数传参注意事项:
1.默认参数一定要用不可变对象且有默认参数的一定要放到参数的尾部,如果是可变对象,程序运行时会有逻辑错误!
2.要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple或者list;
**kw是关键字参数,kw接收的是一个dict。
3.调用函数时如何传入可变参数和关键字参数的语法:</