python内置函数
Posted ccqc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python内置函数相关的知识,希望对你有一定的参考价值。
python内置函数
1、作用域相关
globals() 获取全局变量的字典
locals() 获取当前方法内部的局部变量的字典
2、迭代器生成器
3、基础数据类型相关
1、和数字相关
数据类型相关:bool,int,float,complex(复数)
进制转换相关:bin(2),oct(8),hex(16)
数学运算:abs(绝对值),divmod(返回除数和余数),min,max,sum,round(浮点数精确),pow(幂运算)
2、和数据结构相关
序列——列表和元组相关的:list和tuple 列表值可变,元组的不可变
序列——字符串相关的:str(将对象转化为适于人阅读的形式),format,bytes(b = bytes(‘string‘,encoding=‘编码类型‘) #利用内置bytes方法,将字符串转换为指定编码的bytes),bytearry,memoryview,ord,chr,ascii,repr(将对象转化为供解释器读取的形式。)
序列:reversed(对列表的元素进行反向排序),slice
3、数据集合
字典和集合:dict,set(集合),frozenset(返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。)
数据集合:
len(返回对象(字符、列表、元组等)长度或项目个数),
sorted(对所有可迭代的对象进行排序操作),
enumerate(将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中),
all(判断是否有bool值为FALSE的值),
any(判断是否有bool值为TRUE的值),
zip(将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象),
filter(用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象),
map(根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表)
l1 = [1,3,5,-2,-4,-6] l2 = sorted(l1,key=abs) print(l1) print(l2) #按照绝对值排序 l = [[1,2],[3,4,5,6],(7,),‘123‘] print(sorted(l,key=len)) #按照长度
4、反射
pass
5、面对对象
pass
6、其他
1、输入输出
input
def print(self, *args, sep=‘ ‘, end=‘ ‘, file=None): # known special case of print """ print(value, ..., sep=‘ ‘, end=‘ ‘, file=sys.stdout, flush=False) file: 默认是输出到控制台,如果设置为文件句柄,则写入文件中 sep: 打印多个值之间的分隔符,默认为空格 end: 每一次打印的结尾,默认为换行符 flush: 立即把内容输出到流文件,不作缓存 """
f = open(‘a‘,‘w‘) print(1,2,3,4,sep=‘,‘,file = f,flush=True) f.colse() #将1,2,3,4写入到文件a中
>>> a = 1 >>> b = ‘runoob‘ >>> print(a,b) 1 runoob >>> print("aaa""bbb") aaabbb >>> print("aaa","bbb") aaa bbb >>> >>> print("www","runoob","com",sep=".") # 设置间隔符 www.runoob.com
2、数据类型相关
type 查看当前数据的数据类型
3、内存相关
id 返回一个变量的内存地址
hash 返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错
hash() 函数的对象字符不管有多长,返回的 hash 值都是固定长度的,也用于校验程序在传输过程中是否被第三方(木马)修改,如果程序(字符)在传输过程中被修改hash值即发生变化,如果没有被修改,则 hash 值和原始的 hash 值吻合,只要验证 hash 值是否匹配即可验证程序是否带木马(病毒)。
4、文件操作相关
open() 打开一个文件,返回一个文件操作符(文件句柄)
操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
可以用encoding指定编码.
5、模块相关
一般用import
6、帮助方法
在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出
或者直接执行help(o),o是参数,查看和变量o有关的操作
7、调用相关
callable(o),o是参数,看这个变量是不是可调用。
如果o是一个函数名,就会返回True
1 def func():pass 2 print(callable(func)) #参数是函数名,可调用,返回True 3 print(callable(123)) #参数是数字,不可调用,返回False
8、查看内置属性
dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量
print(dir(list)) #查看列表的内置方法 print(dir(int)) #查看整数的内置方法
9、字符串类型代码执行
eval
执行字符串代码并返回结果
print(eval(‘1+2+3+4‘))
去掉字符串的引号
eval() 函数也可以直接用来提取用户输入的多个值。
a,b=eval(input())
输入3,4 得到a=3,b=4
exec
执行字符串,不返回结果
code = ‘‘‘ print(123) a = 20 print(a) ‘‘‘ a = 10 exec(code) print(a)
compile 将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。
>>> #流程语句使用exec >>> code1 = ‘for i in range(0,10): print (i)‘ >>> compile1 = compile(code1,‘‘,‘exec‘) >>> exec (compile1) 3 7 >>> #简单求值表达式用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 "<pyshell#29>", line 1, in <module> name NameError: name ‘name‘ is not defined >>> exec(compile3) #执行时显示交互命令,提示输入 please input your name:‘pythoner‘ >>> name #执行后name变量有值 "‘pythoner‘"
参考文档:
https://docs.python.org/3/library/functions.html#object
以上是关于python内置函数的主要内容,如果未能解决你的问题,请参考以下文章