python3内置函数_python3--内置函数
python3--内置函数
内置函数:
截止到python 3.6.2 版本,现在python一共提供了68个内置函数;即python提供给你直接可以拿来使用的所有函数。
(红色字体为重点掌握内置函数)
上面便是内置函数列表,按首字母排序,难免看起来混乱无序,不便于记忆;
下面把这些函数分成了6大类。
由于学习进度原因,此处只写标红的四大块(56个方法)~
作用域相关:
基于字典的形式获取全局变量和局部变量
globals()——获取全局变量的字典(以字典类型返回当前位置的全部全局变量。)
a='runoob'
print(globals()) #globals 函数返回一个全局变量的字典,包括所有导入的变量。
{'__builtins__': , '__name__': '__main__', '__doc__': None, 'a': 'runoob', '__package__': None}
globals()
locals()——获取执行本方法所在命名空间内的局部变量的字典(以字典类型返回当前位置的全部局部变量;对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。)
>>>def runoob(arg): #两个局部变量:arg、z
... z = 1...print(locals())
...>>> runoob(4)
{'z': 1, 'arg': 4} #返回一个名字/值对的字典
locals()
其他:
字符串代码类型的执行:
eval( ) 函数用来执行一个字符串表达式,并返回表达式的值。
>>>x = 7
>>> eval( '3 * x')21
>>> eval('pow(2,2)')4
>>> eval('2 + 2')4
>>> eval("n + 4")85
eval()
exec() 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。(exec 返回值永远为 None)
>>>exec('print("Hello World")')
Hello World#单行语句字符串
>>> exec("print ('runoob.com')")
runoob.com#多行语句字符串
>>> exec ("""for i in range(5):
... print ("iter time: %d" % i)
...""")
iter time: 0
iter time:1iter time:2iter time:3iter time:4
exec()
x = 10expr= """z = 30
sum = x + y + z
print(sum)"""
deffunc():
y= 20
exec(expr)exec(expr, {'x': 1, 'y': 2})exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
func()
输出结果:60
33
34
exec()
code = '''import os
print(os.path.abspath('.'))'''code= '''print(123)
a = 20
print(a)'''a= 10
exec(code,{'print':print},)print(a)
指定global参数
compile 将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。
参数说明:
1. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。
2. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。
3. 参数model:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表达式,model应指定为‘eval’;当source中包含了交互式命令语句,model应指定为'single'。
>>> #流程语句使用exec
>>> code1 = 'for i in range(0,10): print (i)'
>>> compile1 = compile(code1,'','exec')>>> exec(compile1)1
3
5
7
9
>>> #简单求值表达式用eval
>>> code2 = '1 + 2 + 3 + 4'
>>> compile2 = compile(code2,'','eval')>>>eval(compile2)>>> #交互语句用single
>>> code3 = 'name = input("please input your name:")'
>>> compile3 = compile(code3,'','single')>>> name #执行前name变量不存在
Traceback (most recent call last):
File"", line 1, in name
NameError: name'name' is notdefined>>> exec(compile3) #执行时显示交互命令,提示输入
please input your name:'pythoner'
>>> name #执行后name变量有值
"'pythoner'"
输入输出相关:
input()输入
s = input("请输入内容 :") #输入的内容赋值给s变量
print(s) #输入什么打印什么。数据类型是str
print()输出
def print(self, *args, sep=' ', end='\n', file=None): #known special case of print
"""print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件
sep: 打印多个值之间的分隔符,默认为空格
end: 每一次打印的结尾,默认为换行符
flush: 立即把内容输出到流文件,不作缓存"""
print()源码剖析
importtimefor 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 可以把光标移动到行首但不换行
打印进度条
数据类型相关:
type(x) 返回变量x的数据类型
内存相关:
id(x) x是参数,返回一个变量的内存地址
hash(x) x是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。
t = (1,2,3)
l= [1,2,3]print(hash(t)) #可hash
print(hash(l)) #会报错
'''结果:
TypeError: unhashable type: 'list''''
hash 实例
hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。
每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。
文件操作相关:
open() 打开一个文件,返回一个文件操作符(文件句柄)
可以用encoding指定编码.
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
操作文件模式
模块操作相关:
__import__ 导入一个模块
import time
os = __import__('os')print(os.path.abspath('.'))
帮助方法:
在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出
或者直接执行help(o),o是参数,查看和变量o有关的操作。
调用相关:
callable(n),n是参数,看这个变量是不是可调用。
如果n是一个函数名,就会返回True
def func():pass
print(callable(func)) #参数是函数名,可调用,返回True
print(callable(123)) #参数是数字,不可调用,返回False
callable 实例
查看参数所属类型的所有内置方法:
dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量
print(dir(list)) #查看列表的内置方法
print(dir(int)) #查看整数的内置方法
和数字相关:
数字:
数据类型相关:bool,int,float,complex
进制转换相关:bin,oct,hex
数学运算相关:abs,divmod,min,max,sum,round,pow
和数据结构相关:
序列:
列表和元组相关的:list和tuple
字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr
ret = bytearray('alex',encoding='utf-8')print(id(ret))print(ret[0])
ret[0]= 65
print(ret)print(id(ret))
bytearray
ret = memoryview(bytes('你好',encoding='utf-8'))print(len(ret))print(bytes(ret[:3]).decode('utf-8'))print(bytes(ret[3:]).decode('utf-8'))
输出结果:6你
好
Process finished with exit code 0
memoryview
序列:
reversed
l = (1,2,23,213,5612,342,43)print(l)print(list(reversed(l)))
执行结果:
(1, 2, 23, 213, 5612, 342, 43)
[43, 342, 5612, 213, 23, 2, 1]
slice
l = (1,2,23,213,5612,342,43)
sli= slice(1,5,2)print(l[sli])
执行结果:
(2, 213)
Process finished with exit code 0
数据集合——字典和集合:dict,set,frozenset
数据集合:len,sorted,enumerate,all,any,zip,filter,map
务必重点掌握:
其他:input,print,type,hash,open,import,dir
str类型代码执行:eval,exec
数字:bool,int,float,abs,divmod,min,max,sum,round,pow
序列——列表和元组相关的:list和tuple
序列——字符串相关的:str,bytes,repr
序列:reversed,slice
数据集合——字典和集合:dict,set,frozenset
数据集合:len,sorted,enumerate,zip,filter,map
官方参考文档:
python3内置函数_python3--内置函数相关推荐
- python的excel函数_Python3 内置函数及excel操作
exec是通过命令行执行,类似于print exec和eval的区别: 1.eval有返回值,exce没有返回值 2.eval不可以执行复杂代码 会报错,但是exec可以执行复杂代码 python一些 ...
- 自定义函数_python3基础07函数(自定义)
"pythonic生物人"的第43篇分享. 详细介绍python中:自定义函数的构建:参数传递:模块中调用函数. 目录 0.楔子 1.自定义函数格式 2.编写函数说明文档 3.函数 ...
- python3.0内建函数大全_python3内置函数大全
内置函数 (1)abs(), 绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有元素都为真,那么返回True ...
- python3 enumerate函数_python3 内置函数enumerate
一.简介: 该函数在字面上是枚举.列举的意思,用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列, 同时列出数据和数据下标,一般用在 for 循环当中,可同时得到数据对象的值及对应的 ...
- python10进制转2进制不用内置函数_Python3内置函数chr和ord实现进制转换
python的内置函数中,有一对函数:chr 和 ord,有着相反的功能. 1. chr(x):用一个数值作参数,返回一个对应的unicode字符,该参数的有效范围是从0到1114111(16进制时为 ...
- python中exp函数_Python3中exp()函数用法分析
python中虚数函数exp怎么表示 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型 虚数函数exp用math是不行的要用cmat ...
- Python3.9的69个内置函数(内建函数)介绍,并附简单明了的示例代码
Python 解释器内置(内建)了很多函数,这篇博文对它们进行逐一介绍,博主觉得有必要给出示例代码的会给出示例代码. 声明:博主(昊虹图像算法)写这篇博文时,用的Python的版本号为3.9.10. ...
- Python3.9全部73个内置函数说明
以下是Python3.9全部73个内置函数的说明: 内置函数 说明 示例 1 abs(x) 求x的绝对值 abs(-3.4) == 3.4 2 all(x) 判断序列x中的每个元素是否都是True,如 ...
- [雪峰磁针石博客]python3标准库-中文版2:内置函数
2019独角兽企业重金招聘Python工程师标准>>> 内置功能 abs() dict() help() min() setattr() all() dir() hex() next ...
- python sort函数返回值_lambda函数与箭头函数在集合内置函数应用中的对照学习
Python语言中有一个定义轻量级规则的lambda函数,其语法格式为: Lambda 参数列表:返回值表达式 简单的例子如:定义func=lambda x,y:x+y,则调用func(10,20)的 ...
最新文章
- [C#]ASP.NET MVC 3 在线学习资料
- 面试题:mysql 数据类型
- 机器学习与统计学的争论,有意义吗?
- 《HTML5与CSS3实例教程》
- 【OpenGL】五、Visual Studio 2019 配置 GitHub ( 提交代码 )
- java web一: xml
- oracle sysman 不存在_Oracle无法对所有 EM 相关帐户解锁
- python自动创建目录_python自动目录环境
- ffplay.c学习-7-以音频同步为基准
- python easygui进度条_Python _easygui详细版
- 【渝粤教育】国家开放大学2018年秋季 1317T社会工作行政(本) 参考试题
- map 循环_被问到Spring循环依赖怎么解决?秀给面试官看!内附图解
- Microsoft Windows Phone 7 Toolkit Silverlight SDK XNA Game Studio 4.0 开发工具套件正式版下载...
- 【BZOJ2809】【codevs1763】派遣,主席树记录前缀和
- vue scss @font-face 路径问题
- codeforces 796A-D
- Hive中Join的 MR 底层原理
- c语言实现统计过程控制,SPC统计过程控制的课程
- 世界所有国家国际域名英文缩写总结(转)
- [WARNING]: Could not match supplied host pattern, ignoring: servers