python 中的内置高级函数

1.map(function,iterable)

map是把迭代对象依次进行函数运算,并返回。

例子:

python 中的内置高级函数

map返回的十分map对象,需要list()函数转化。

2.exec()函数

执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。

Execute the given source in the context of globals and locals.  在全局变量和局部变量上下文中执行给定的源。

The source may be a string representing one or more Python statements or a code object as returned by compile(). 
The globals must be a dictionary and locals can be any mapping, defaulting to the current globals and locals.
全局变量必须是一个字典类型,局部变量可以是任何映射
If only globals is given, locals defaults to it.
如果仅仅给订全局变量,局部变量也默认是它。
# 执行单行语句
exec('print("Hello World")')
# 执行多行语句
exec("""
for i in range(10):
print(i,end=",")
""") 运行结果
Hello World
0,1,2,3,4,5,6,7,8,9,

 

x = 10  # global
expr = """
z = 30
sum = x + y + z
print(sum)
print("x= ",x)
print("y= ",y)
print("z= ",z)
"""
def func():
y = 20 #局部变量
exec(expr)
exec(expr, {'x': 1, 'y': 2})
exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4}) # python寻找变量值的顺寻,LEGB
# L->Local 局部变量
# E->Enclosing function locals 函数内空间变量
# G->global 全局变量
# B-> bulltlins
# 局部变量———闭包空间———全局变量———内建模块
func()

 结果是:

60
x= 10 ,y= 20,z= 30
33
x= 1 ,y= 2, z= 30
34
x= 1 ,y= 3 ,z= 30

python 中寻找变量顺序:

LEGB

L-Local

E->enclose function local

G->global

B->bultins

局部变量->函数体内变量-》全局变量-》内置函数

3.zip()函数

zip() is a built-in Python function that gives us an iterator of tuples.

for i in zip([1,2,3],['a','b','c']):
print(i) 结果:
(1,'a')
(2,'b')
(3,'c')

python 中的内置高级函数

 python 中的内置高级函数

zip将可迭代对象作为参数,将对象中对应的元素打包组成一个个元组,然后返回这些元组组成的列表。

而zip(*c)则是将原来的组成的元组还原成原来的对象。

4.repr()函数

repr() 函数将对象转化为供解释器读取的形式。返回一个对象的 string 格式。

python 中的内置高级函数

python 中的内置高级函数

看以看出来当输入的是”123“,则str()函数输出的是123,而repr输出的是”123“.

str()不保留原来的类型,而repr则保留数据类型。

上一篇:如何获取某个网站的favicon.ico


下一篇:Robots.txt - 禁止爬虫(转)