1.定义
函数python中最重要、最基础的代码组织和代码复用方式;函数声明时使用def,返回时用return
如达到函数尾部时仍没有return,就会自动返回none
方法定义 例子:
def my_function(x, y, z=1.5):
if z > 1:
return z * (x + y)
else:
return z / (x + y)
调用例子:
my_function(5, 6, z=0.7)
my_function(3.14, 7, 3.5)
my_function(10, 20)
2 命名空间、作用域和本地函数
函数内部的任意变量默认分配到本地命名空间。被调用时生成,函数执行完毕后销毁
方法内部变量:
def func():
a = []
for i in range(5):
a.append(i)
外部变量
a = []
def func():
for i in range(5):
a.append(i)
a = None
def bind_a_variable():
global a
a = []
bind_a_variable()
print(a)
在函数外部给变量赋值是可以的,但是必须使用 global关键字声明为全局变量
如果大量使用了全局变量。可能表明需要使用面向对象编程(使用类)
3 返回多个值
函数中可以返回多个值,例如:
def f():
a=5
b=6
c=5
return a,b,c
aa, bb, cc = f()
aa
return_value = f()
def f():
a=5
b=6
c=5
return {'a':a,'b':b,'c':c}
aa, bb, cc = f()
bb
4 函数是对象
常见场景 数据清洗: 将凌乱的数据规整成标准数据,结合标准库中的正则表达式
states = [' Alabama ', 'Georgia!', 'Georgia', 'georgia', 'FlOrIda',
'south carolina##', 'West virginia?']
import re
def clean_strings(strings):
result = []
for value in strings:
value = value.strip() #去空格
value = re.sub('[!#?]', '', value) #正则表达式:特殊符号替代为空
value = value.title() #字符首字母大写
result.append(value)#循环追加结果
return result
优化:函数作为参数传递
后续更新。。。



