python内置函数你了解多少?

python内置函数

https://www.runoob.com/python/python-built-in-functions.html

abs():绝对值函数

描述:返回函数的绝对值

使用:ads(x)

x 是数字,返回的是x的绝对值

divmod():返回除数余数函数

描述:把除数和余数结合起来,返回一个包含商和余数的元祖(a//b, a%b)

语法:divmod(a, b)

a,b都是数字,返回的是(a//b, a%b)

python2.3版本之前不允许处理复数

input():接收输入值函数

描述:用于接收输入的数据

python不同版本input函数的区别

Python3.x 中 去掉了raw_input()函数。input() 函数接受一个标准输入数据,返回为 string 类型。

python2.x 中 raw_input() 将所有输入作为字符串看待,返回字符串类型。 input() 在输入数字时,它返回所输入的数字的类型( int, float );输入字符串时要求加"",返回字符串类型。

语法:x = input([prompt])

prompt是提示信息,可填可不填

open():打开文件函数

描述:用于打开一个文件,创建一个file对象

语法:open(name[, mode[, buffering]])

name:包含文件名的字符串值

mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®

r 只读;rb 二进制读;r+/w+读写; rb+/wb+二进制读写;w 只写;wb 二进制写

a 追加;ab 二进制追加;a+/ab+ 文件存在则追加,文件不存在则读写

buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

文件对象方法

  • file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。
  • file.readline():返回一行。
  • file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。
  • for line in f: print line :通过迭代器访问。
  • f.write(“hello\n”):如果要写入字符串以外的数据,先将他转换为字符串。
  • f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。
  • f.seek(偏移量,[起始位置]):用来移动文件指针。
  • 偏移量: 单位为比特,可正可负
  • 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
  • f.close() 关闭文件

staticmethod() :返回函数静态方法

描述:返回函数的静态方法

语法:staticmethod(function)

参数是一个函数,可不填

all() :判断参数是否都是True

描述:用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。(元素除了是 0、空列表、空元祖、None、False 外都算 True。)

语法:all(iterable)

iterable – 元组或列表,返回布尔值

enumerate(): 将可迭代对象组合成索引序列

描述:用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。

语法:enumerate(sequence, [start=0])

sequence – 一个序列、迭代器或其他支持迭代对象。

start – 下标起始位置。

返回 enumerate(枚举) 对象。

int() :将字符串或数字转化为整型

描述:用于将一个字符串或数字转化为整数类型

语法:int(x, base = 10)

x – 字符串或数字,

base – 进制数,默认十进制。

ord():返回参数的ASCLL码或Unicode 数值

描述:ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

语法:ord©

参数c是字符,返回的是十进制整数

str() :转化为字符串

描述:将对象转化为方便阅读的字符串格式

语法:str(objrct)

object是一个对象,返回值是一个字符串

any():判定参数是否都是False

描述:any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。(元素除了是 0、空、FALSE 外都算 TRUE。)

语法:any(iterable)

iterable – 元组或列表。

和all()区别

all()函数是参数只要有一个为false,就返回false,否则返回true

any()函数是参数只要有一个为turn,就返回true,否则返回false

eval():返回表达式的计算结果

描述:eval() 函数用来执行一个字符串表达式,并返回表达式的值。

语法:eval(expression[, globals[, locals]])

expression – 表达式。

globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

isinstance():判断变量是否是该类型

描述:isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

语法:isinstance(object, classinfo)

object – 实例对象

classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组

返回布尔值

isinstance()和type()函数的区别

type() 不会认为子类是一种父类类型,不考虑继承关系

isinstance() 会认为子类是一种父类类型,考虑继承关系

pow():幂计算

描述:方法返回方法返回x的y次方的值。

语法:

通过导入math模块,

import math

math.pow(x,y)

内置的pow函数

pow(x, y[, z])

区别:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float

sum():求和

描述:对可迭代对象进行求和,返回计算结果

语法:sum(iterable[, start])

iterable – 可迭代对象,如:列表、元组、集合。

start – 指定相加的参数,如果没有设置这个值,默认为0。

basestring():

描述:basestring() 方法是 str 和 unicode 的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))。

语法:basestring() ,没有参数和返回值

execfile():执行文件

描述:execfile() 函数可以用来执行一个文件。(可用于执行一个python文件,返回该文件的执行结果)

语法:execfile(filename[, globals[, locals]])

filename – 文件名。

globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

返回表达式执行结果。

issubclass() :判断参数 class 是否是类型参数 classinfo 的子类

描述:issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类

语法:issubclass(class, classinfo)

class – 类。

classinfo – 类

如果 class 是 classinfo 的子类返回 True,否则返回 False

print():输出函数

描述:print() 方法用于打印输出,最常见的一个函数,print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。

语法:print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout)

objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。

sep – 用来间隔多个对象,默认值是一个空格。

end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。

file – 要写入的文件对象。

super():调用父类的方法

描述:super() 函数是用于调用父类(超类)的一个方法。

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

语法:super(type[, object-or-type])

type – 类。

object-or-type – 类,一般是 self

Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx

bin():返回整数的二进制表示

描述:bin() 返回一个整数 int 或者长整数 long int 的二进制表示

语法:bin(x)

x – int 或者 long int 数字

返回二进制字符串

file():创建file对象

描述:file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数。参数是以字符串的形式传递的。

语法:file(name[, mode[, buffering]])

name – 文件名

mode – 打开模式

buffering – 0 表示不缓冲,如果为 1 表示进行行缓冲,大于 1 为缓冲区大小。

返回文件对象

iter():用来生成迭代器

描述:iter() 函数用来生成迭代器

语法:iter(object[, sentinel])

object – 支持迭代的集合对象。

sentinel – 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。

返回迭代器对象

举例

lst = [1, 2, 3]

for i in iter(lst):

print(i)

property():在新式类中返回属性值。

描述:property() 函数的作用是在新式类中返回属性值。

语法:property([fget[, fset[, fdel[, doc]]]])

fget – 获取属性值的函数

fset – 设置属性值的函数

fdel – 删除属性值函数

doc – 属性描述信息

返回新式类属性

tuple():转化为元祖

描述: tuple() 函数将列表转换为元组

语法:tuple(seq)

seq – 要转换为元组的序列(针对字典,会返回字典的key组成的tuple)

返回元祖

bool():转化为布尔型

描述:bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

bool 是 int 的子类。

语法:bool([x])

x – 要进行转换的参数

返回 Ture 或 False

filter():过滤函数

描述:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中

语法:filter(function, iterable)

function – 判断函数。

iterable – 可迭代对象

Pyhton2.7 返回列表,Python3.x 返回迭代器对象

len():返回长度

描述:len() 方法返回对象(字符、列表、元组等)长度或项目个数。

语法:len( s )

range():生成整数列表

描述:range() 函数可创建一个整数列表,一般用在 for 循环中

语法:range(start, stop[, step])

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

即左包含右不包含

tpye():返回对象类型

描述:type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。

语法:type(object)

返回对象的类型

语法:type(name, bases, dict)

name – 类的名称。

bases – 基类的元组。

dict – 字典,类内定义的命名空间变量。

返回新的类型对象

bytearray() :返回一个新字节数组

描述:bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

语法:bytearray([source[, encoding[, errors]]])

如果 source 为整数,则返回一个长度为 source 的初始化数组;

如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

如果没有输入任何参数,默认就是初始化数组为0个元素。

float():转化为浮点数

描述:用于将整数和字符串转换成浮点数

语法:float([x])

list():转化为列表

描述:list() 方法用于将元组转换为列表。

语法:list( tup )

raw_input() :获取控制台的输入

描述:raw_input() 用来获取控制台的输入

将所有输入作为字符串看待,返回字符串类型

Python3.x 中 去掉了raw_input()函数

input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

语法:raw_input([prompt])

prompt: 可选,字符串,可作为一个提示语

unichr():返回unicode字符

描述:unichr() 函数 和 chr()函数功能基本一样, 只不过是返回 unicode 的字符

语法:unichr(i)

i – 可以是10进制也可以是16进制的形式的数字。

返回 unicode 的字符

callable() :检查对象是否可调用

描述:callable() 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。

对于函数、方法、lambda 函式、 类以及实现了 __call__方法的类实例, 它都返回 True。

语法:callable(object)

object – 对象

返回布尔值

format(): 格式化函数

描述:Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

也可以设置参数,也可以传入参数

locals() :返回当前位置的全部局部变量

描述:locals() 函数会以字典类型返回当前位置的全部局部变量

对于函数, 方法, lambda 函式, 类, 以及实现了 __call__方法的类实例, 它都返回 True。

语法:locals()

没有参数

返回字典类型的局部变量

reduce() :对参数元素进行累积

描述:reduce() 函数会对参数序列中元素进行累积,函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果

语法:reduce(function, iterable[, initializer])

function – 函数,有两个参数

iterable – 可迭代对象

initializer – 可选,初始参数

返回函数计算结果

chr():返回参数对应的字符

描述:chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符

语法: chr(i)

i – 可以是10进制也可以是16进制的形式的数字

返回值是当前整数对应的 ASCII 字符

frozenset() 返回冻结的集合

描述:frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素

语法:frozenset([iterable])

iterable – 可迭代的对象,比如列表、字典、元组等等

返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合

long() :转换为长整型

描述:long() 函数将数字或字符串转换为一个长整型

语法:long(x, base=10)

x – 字符串或数字

base – 可选,进制数,默认十进制

reload():重新载入之前载入的模块

描述:reload() 用于重新载入之前载入的模块

语法:reload(module)

module – 模块对象

返回模块对象

vars() :对象的属性和属性值的字典对象

描述:vars() 函数返回对象object的属性和属性值的字典对象

语法:vars([object])

object – 对象

返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 类似 locals()

classmethod 修饰符

描述:classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等

语法:@classmethod

没有参数

返回函数的类方法

getattr() :返回对象属性值

描述:getattr() 函数用于返回一个对象属性值

语法:getattr(object, name[, default])

object – 对象。

name – 字符串,对象属性。

default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError

返回对象属性值

map():对指定序列做映射

描述:map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法:map(function, iterable, …)

function – 函数

iterable – 一个或多个序列

Python 2.x 返回列表,Python 3.x 返回迭代器

repe():转化为字符串

描述:将对象转化为供解释器读取的形式

语法:repr(object)

object – 对象

返回一个对象的 string 格式

xrange():生成器

描述:xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器。

即range()返回的一次生成全部,xrange()是用一个生成一个,会比较省内存

语法:xrange(stop)  xrange(start, stop[, step])

start: 计数从 start 开始。默认是从 0 开始。例如 xrange(5) 等价于 xrange(0, 5)

stop: 计数到 stop 结束,但不包括 stop。例如:xrange(0, 5) 是 [0, 1, 2, 3, 4] 没有 5

step:步长,默认为1。例如:xrange(0, 5) 等价于 xrange(0, 5, 1)

cmp():比较对象大小

描述:cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

语法:cmp( x, y )

x,y都是数值表达式

返回-1,0,1

globals():返回当前位置的全部全局变量

描述:globals() 函数会以字典类型返回当前位置的全部全局变量

语法:globals()

和locals()用法一致

max() :返回给定参数的最大值

描述:max() 方法返回给定参数的最大值,参数可以为序列

语法:max( x, y, z, … )

x, y, z, …数值表达式

返回一个最大值

reverse():反转列表

描述:reverse() 函数用于反向列表中元素

语法:list.reverse()

该方法没有返回值,但是会对列表的元素进行反向排序

zip():压缩(将元素对应压缩成列表嵌套元祖)

描述:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

语法:zip([iterable, …])

iterabl – 一个或多个迭代器

返回元组列表

与 zip 相反,*zipped 可理解为解压,返回二维矩阵式

zip(*zipped)

compile() :将字符串编译为字节代码

描述:compile() 函数将一个字符串编译为字节代码。

语法:compile(source, filename, mode[, flags[, dont_inherit]])

source – 字符串或者AST(Abstract Syntax Trees)对象。。

filename – 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

mode – 指定编译代码的种类。可以指定为 exec, eval, single。

flags – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。

flags和dont_inherit是用来控制编译源码时的标志

返回表达式执行结果

hasattr() :判断对象是否包含对应的属性

描述:hasattr() 函数用于判断对象是否包含对应的属性

语法:hasattr(object, name)

object – 对象

name – 字符串,属性名

如果对象有该属性返回 True,否则返回 False

memoryview() :返回给定参数的内存查看对象(Momory view)

描述:memoryview() 函数返回给定参数的内存查看对象(Momory view)

所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问

语法:memoryview(obj)

obj – 对象

返回元组列表

round() :浮点数的四舍五入值

描述:round() 方法返回浮点数x的四舍五入值

语法:round( x [, n] )

x --数值

n – 保留小数点位数,默认0

返回浮点数x的四舍五入值

####__import__():动态加载类和函数

描述:__import__() 函数用于动态加载类和函数 。如果一个模块经常变化就可以使用 __import__() 来动态载入。

语法:__import__(name[, globals[, locals[, fromlist[, level]]]])

name – 模块名

返回元祖列表

complex():创建/转化复数

描述:complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

语法:class complex([real[, imag]])

real – int, long, float或字符串

imag – int, long, float

hash():获取哈希值

描述:hash() 用于获取取一个对象(字符串或者数值等)的哈希值

语法:hash(object)

返回哈希值

min() :返回最小值

描述:min() 方法返回给定参数的最小值,参数可以为序列

语法:min( x, y, z, … )

返回给定参数的最小值

set() :创建一个无序不重复元素集(set:组)

描述:set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

语法:set([iterable])

delattr():删除属性

描述:用于删除属性。delattr(x,‘foobar’)相等于del x.foobar

语法:delattr(object, name)

object – 对象

name – 必须是对象的属性

help() :查看函数或模块用途的详细说明

描述:help() 函数用于查看函数或模块用途的详细说明

语法:help([object])

object – 对象

返回对象帮助信息

next():用于迭代器的返回数值

描述:返回迭代器的下一个项目

语法:next(iterator[, default])

iterator – 可迭代对象

default – 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常

setattr() :设置属性值

描述:setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的

语法:setattr(object, name, value)

object – 对象

name – 字符串,对象属性

value – 属性值

dict() :创建字典

描述:dict() 函数用于创建一个字典

语法:

class dict(**kwarg)

class dict(mapping, **kwarg)

class dict(iterable, **kwarg)

参数

**kwargs – 关键字

mapping – 元素的容器

iterable – 可迭代对象

hex() :将10进制整数转换成16进制

描述:hex() 函数用于将10进制整数转换成16进制,以字符串形式表示

语法:hex(x)

slice() :实现切片对象

描述:slice() 函数实现切片对象,主要用在切片操作函数里的参数传递

语法:

class slice(stop)

class slice(start, stop[, step])

参数

start – 起始位置

stop – 结束位置

step – 间距

返回一个切片对象

dir():

描述:dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息

语法:dir([object])

object – 对象、变量、类型

返回模块的属性列表

id():获取对象内存地址

描述:id() 函数用于获取对象的内存地址

语法:id([object])

object – 对象

返回对象的内存地址

oct() :将整数转换成8进制字符串

描述:oct() 函数将一个整数转换成8进制字符串

语法:oct(x)

sorted() :排序

描述:sorted() 函数对所有可迭代的对象进行排序操作

语法:sorted(iterable[, cmp[, key[, reverse]]])

iterable – 可迭代对象

cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0

key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序

reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)

返回重新排序的列表

sort 与 sorted 区别

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作

list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作

exec 内置语句

描述:exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码

需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了

语法:exec obj

obj – 要执行的表达式

exec 返回值永远为 None

举报
评论 0