博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内置函数
阅读量:5279 次
发布时间:2019-06-14

本文共 2887 字,大约阅读时间需要 9 分钟。

什么是内置函数:

  就是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

 

转载于:https://www.cnblogs.com/daisl/p/8994266.html

你可能感兴趣的文章
Javascript 面向对象编程(一):封装
查看>>
[转载]为什么有些语言可以被反编译?而有的不能?
查看>>
尝试利用刚学的计算机网络知识对域名绑定和解析做出解释
查看>>
MySQL中删除重复数据只保留一条
查看>>
解决“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件问题
查看>>
mysql数据库存储路径更改 数据文件位置
查看>>
微信寻人
查看>>
android开发系列之socket编程
查看>>
python正则表达式
查看>>
java反射详解 二
查看>>
多功能弹窗控件layer
查看>>
datetimepicker[jquery-ui]时间控件的三种初始化方法
查看>>
Boa服务器编译移植
查看>>
数据封装
查看>>
程序员 vs HR(皮这么一下很开心)
查看>>
Sublime Text安装包
查看>>
程序3-2 创建一个具有空洞的文件
查看>>
over在sql中的使用
查看>>
悲观锁和乐观锁
查看>>
linux常用命令
查看>>