什么是内置函数:
就是Python给你提供的,拿来直接用的函数,比如print,input等等。
1、作用域
locals :函数会以字典的类型返回当前位置的全部局部变量。
globals:函数以字典的类型返回全部全局变量。
a = 1b = 2print(locals())print(globals())# 这两个一样,因为是在全局执行的。##########################def func(argv): c = 2 print(locals()) print(globals())func(3)#这两个不一样,locals() { 'argv': 3, 'c': 2}#globals() { '__doc__': None, '__builtins__':, '__cached__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000024409148978>, '__spec__': None, '__file__': 'D:/lnh.python/.../内置函数.py', 'func': , '__name__': '__main__', '__package__': None}
字符串类型代码的执行:
eval,exec,complic
eval:执行字符串类型的代码,并返回最终结果。
eval('2 + 2') # 4n=81eval("n + 4") # 85eval('print(666)') # 666
exec:执行字符串类型的代码
s = '''for i in [1,2,3]: print(i)'''exec(s)
输入输出相关 input,print
input:函数接受一个标准输入数据,返回为 string 类型。
print:打印输出。
print(111,222,333,sep='*') # 111*222*333print(111,end='')print(222) #两行的结果 111222f = open('log','w',encoding='utf-8')print('写入文件',file=f,flush=True)
内存相关hash id
hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
print(hash(12322))print(hash('123'))print(hash('arg'))print(hash('alex'))print(hash(True))print(hash(False))print(hash((1,2,3)))'''12322-2996001552409009098-46375159818881397392311495795356652852102528502973977326415'''
id:用于获取对象的内存地址。
print(id(123)) # 1674055952print(id('abc')) # 2033192957072
文件操作相关:
open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
模块相关__import__
__import__:函数用于动态加载类和函数 。
查看内置属性
dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
>>>dir() # 获得当前模块的属性列表['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']>>> dir([ ]) # 查看列表的方法['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
2、迭代器生成器相关
range:函数可创建一个整数对象,一般用在 for 循环中。
next:内部实际使用了__next__方法,返回迭代器的下一个项目。
# 首先获得Iterator对象:it = iter([1, 2, 3, 4, 5])# 循环:while True: try: # 获得下一个值: x = next(it) print(x) except StopIteration: # 遇到StopIteration就退出循环 break
iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器)
from collections import Iterablefrom collections import Iteratorl = [1,2,3]print(isinstance(l,Iterable)) # Trueprint(isinstance(l,Iterator)) # Falsel1 = iter(l)print(isinstance(l1,Iterable)) # Trueprint(isinstance(l1,Iterator)) # True