python内置函数

print(locals())
#返回当前作用域的名字
print(globals())
#返回全局作用域的名字

print(eval('2+2'))
# 执行字符串代码并返回一个结果
def func():
    print(111)
print(exec('func()'))
# 执行字符串代码

code = 'for i in range(10): print(i)'
c1 = compile(code,'', mode ='exec')
exec(c1)
# 将字符串类型的代码编译,代码对象能够通过exec执行,或者通过eval来求值
print(hash('df'))
# 获取到对象的哈希值

def func():
    print(1)
print(callable(func))
# 判断一个对象是否是可调用的


lst1 = [1,2,3]
lst2 = [4,5,6]
lst3 = [7,8,9]

for i in zip(lst1,lst2,lst3):
    print(i)
# result:
# (1, 4, 7)
# (2, 5, 8)
# (3, 6, 9)
# 将可迭代对象作为参数,将对象中的元素一一对应打包成为元组



# lambad匿名函数
f = lambda n: n*n
print(f(2))


# sorted排序函数

lst = ['111','2222','31113','44','66','55']
def func(s):
    return len(s)

print(sorted(lst,key=func,reverse=True))
# result:['31113', '2222', '111', '44', '66', '55']
# 可以配合lambda使用
print(sorted(lst,key=lambda s: len(s),reverse=True))
# 结果是相同的


# filter筛选函数
lst1 = [1,2,3,4,5,6]
print(filter(lambda n: n % 2 == 0,lst1).__next__())
# 返回一个生成器


# map映射函数
print(list(map(lambda x:x * x,lst1)))
# 对迭代对象中的每一个元素进行映射,分别执行function返回生成器

 

posted on 2019-10-26 17:25  素心~  阅读(107)  评论(0编辑  收藏  举报

导航