python内置函数

Posted ccqc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python内置函数相关的知识,希望对你有一定的参考价值。

python内置函数

  内置函数  
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()  

 

 

 

 

 

 

 

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))
#按照长度
sorted

4、反射

 pass

5、面对对象

 pass

6、其他

1、输入输出

input

print

技术分享图片
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: 立即把内容输出到流文件,不作缓存
    """
print

 

技术分享图片
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
demo

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
callable

 

8、查看内置属性

dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

技术分享图片
print(dir(list))  #查看列表的内置方法
print(dir(int))  #查看整数的内置方法
dir

 

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内置函数的主要内容,如果未能解决你的问题,请参考以下文章

python有多少内置函数

VBS 环境下如何调用EXCEL内置函数

查找内置 Python 函数的源代码?

python 内置函数

熟练掌握Python的内置函数,加快编程速度

python--内置函数, 匿名函数