4 .1变量的作用域
在python中,作用域可以分为:
- 内置作用域:Python预先定义的。
- 全局作用域:所编写的整个程序。
- 局部作用域:某个函数内部范围。
例:
def myfun():
a=0
a+=3
print('函数内a:',a)
a='external'
print('全局作用域a:',a)
myfun()
print('全局作用域a:',a)
上述实例中两个变量a处于布偶听作用域中,所有互不影响。
还有一种方法使用函数中引用全局变量并进行操作,如果要再函数中使用函数外的变量,可以在变量名前使用global关键字
例:
def myfun():
global a
a=0
a+=3
print('函数a:',a)
a='external'
print('全局作用域a:',a)
myfun()
print('全局作用域a:',a)
在局部作用域内可以引用全局作用域内的变量,但不可用修改它。
4.2 使用匿名函数(lambda)
lambda 可以用来创建匿名函数,也可以将匿名函数赋给一个变量供调用,它是python中一类比较特殊的声明函数的方式,lambda来源于LISP语言,其语法形式如下:
lambda params:expr
例子
# 普通python函数
def func(a,b,c):
return a+b+c
print func(1,2,3)
# 返回值为6
# lambda匿名函数
f = lambda a,b,c:a+b+c
print f(1,2,3)
# 返回结果为6
4.3 Python 常用内建函数
常用内建函数如下:
- help(obj) 显示对象的帮助信息
- bin(aint) 十进制数转换为二进制数的字符串形式
- hex(aint) 十进制数转换为十六进制数的字符串形式
- oct(aint) 十进制数转换为八进制数的字符串形式
- callable(obj) 测试对象是否可调用(函数)
- chr(aint) ascii码转为字符
- ord(char) 将字符转为ascii码
- filter(seq) 对序列中的数据用函数过滤
- map(sep) 对序列中的数据逐个变换
- isinstance(obj,typestr) 测试对象是否尾某类型