内置函数的概念:就是python直接提供给你使用的所有函数。
1、作用域相关:
1)globals(): 获取全局变量的字典;
2)locals():获取执行本方法所在命名空间内局部变量的字典;
2、迭代器:
1)next(): 迭代器
2)iter(): 迭代器(可迭代的)
3)range(): 可迭代的,不是迭代器;
3、其他:
1)dir(): 查看一个数据类型拥有的所有方法;
2)callable:只针对函数,后面加括号,可以调用的,就返回True,否则返回False。
print(callable(print))
# 返回True
3)help(): 查看数据类型的方法,注释、返回值等信息。通过这种方法,可以不通过网络可以查询到相关帮助信息;
4)import() : 导入模块
5)open(): 打开一个文件
6)id() : 一个变量的内存地址;
7)hash(): 元组、字符串、数字都是不可变的,都是hashable。列表是unhashable。
对于相同的可hash的数据的hash值在一次程序的执行过程中总是不变的。
hash函数具有单向性。字典的寻址方式。
8)input(): 括号里面是输入时候的提示信息,用户输入的内容,就是返回的内容。
9)print():有sep= 、end=、file=,flush=True这几个参数,可以学习下。
打印进度条的例子:
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)
#小越越 : \r 可以把光标移动到行首但不换行
10)eval(): eval和exec,都可以执行字符串类型的代码,python语句的。有结果的简单计算。
11)exec(): eval有返回值,但是exec没有返回值。简单的控制流程。
eval,一般情况下不要用。只能用在你明确知道你要执行的代码是什么?但是这个不安全。
code = '''
for i in range(10):
print(i * '*')
'''
exec(code)
结果:
12)compile:将字符串类型的代码进行编译,代码对象能够通过exec语句来执行或者eval进行求值。
例:
code1 = '''
for i in range(10):
print(i * '*')
'''
compile1 = compile(code1, '', 'exec')
exec(compile1)
结果同上。