内置函数
内置函数
一.作用域相关
a.局部作用域中的变量 -- locals()
b.全局作用域中的变量 -- globals()
c.在全局执行这两方法,结果相同
示例:
print(locals()) print(globals()) def func(): x = 1 y = 2 func()
d.在局部执行,locals表示函数内的名字,globals始终不变
示例:
def func(): print(locals()) print(globals()) x = 1 y = 2 func()
二.迭代器、生成器相关
a.next() 返回迭代器的下一个项目(相当于_next_())
示例:
iterator = iter({1,2,3,4})
print(next(iterator))
print(next(iterator))
print(next(iterator))
b.iter() 函数用来生成迭代器(相当于_iter_())
示例:
lst = [1, 2, 3] for i in iter(lst): print(i)
c.range() 函数可创建一个整数列表,一般用在for循环中
示例:
x = 'runoob' for i in range(len(x)) : print(x[i])
注意:在python中要尽量少的去调用双下方法
三.字符串类型代码的执行
a.eval:函数用来执行一个字符串表达式,并返回表达式的值
示例:
code2 = '1 + 2 + 3 + 4' compile2 = compile(code2,'','eval') print(eval(compile2))
b.exec:执行存储在字符串或文件中的python语句,没有返回值
示例:
code1 = 'for i in range(0,10): print (i)' compile1 = compile(code1,'','exec') exec(compile1)
c.compile:函数用来将字符串编译为字节代码
示例:
name = 'egon' code3 = 'name = input("please input your name:")' compile3 = compile(code3,'','single') exec(compile3) print(name)
注意:1.直接拿来执行的方式一定不要随便用
2.如果非用不可,你也要做最起码的检测(检测import os 'import' in code)
四.输入输出
a.input:获取用户输入的内容
示例:
s = input("请输入内容 : ") #输入的内容赋值给s变量 print(s) #输入什么打印什么。数据类型是str
b.print:输出内容
示例:(打印进度条)
import time for i in range(0,101,2): time.sleep(0.1) char_num = i//2 #打印多少个'*' per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num) print(per_str,end='', flush=True)
五.内存相关
a.id(o) o是参数,返回一个变量的内存地址
b.hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。
示例:
t = (1,2,3) l = [1,2,3] print(hash(t)) #可hash print(hash(l)) #会报错
注意:1.hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。
2.每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。
六.数据结构相关内置函数
a.filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
示例:(过滤出1~100中平方根是整数的数)
import math def is_sqr(x): return math.sqrt(x) % 1 == 0 newlist = filter(is_sqr, range(1, 101)) print(newlist)
b.map会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
示例:
lst = [1,2,3,4,5,6,7] def func(item): return item*item print(list(map(func,lst)))
c.enumerate函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
示例:
se = {'computer':10000,'umbrella':200}
for num,goods in enumerate(se,1):
print(num,goods,se[goods])

浙公网安备 33010602011771号