内置函数

Python3 内置函数中文版:

http://www.runoob.com/python3/python3-built-in-functions.html

英文版

https://docs.python.org/3/library/functions.html?highlight=built#ascii 

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()  

abs() 函数返回数字的绝对值。

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否不为 0、''、False 或者 iterable 为空,如果是返回 True,否则返回 False。

any() 函数用于判断给定的可迭代参数 iterable 是否全部为空对象,如果都为空、0、false,则返回 False,如果不都为空、0、false,则返回 True。

 

ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 x, u 或 U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。

ascii()说白了,就是把一个数据类型,变成字符串,变成可打印的形式。

bin() 返回一个整数 int 或者长整数 long int 的二进制表示。十进制转二进制

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

bool 是 int 的子类。

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

我们知道byte类型或者字符串是不允许修改的,如下图:

而bytearray()是允许修改的,可变的

 

bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。

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

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

就是说后面可以加小括号()的,就是可调用的,比如说函数,类就可以调用,列表不可以。

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

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

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

classmethod是一个类方法,以后说

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

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

delattr 函数用于删除属性。等到讲面向对象的时候说。

delattr(x, 'foobar') 相等于 del x.foobar。

dict() 函数用于创建一个字典。

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

python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

在 python 2.3 版本之前不允许处理复数。

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

eval() 函数用来执行一个字符串表达式,并返回表达式的值。也可以把一个字符串变成字典

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

eval()只能执行简单的数学运算,但是exec可以执行复杂的,包括for,if等等判断的。

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

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

对于filter(),我们先来回忆下匿名函数:

注意这个时候的filter()是一个迭代器:

 map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

filter()是过滤数据,map是生成列表,reduce()在py3已经不是内置函数了,在py2里变成标准函数了,首先要导入import functools,下面函数的作用是从0加到9的值

注意这里的reduce()不是迭代器了,而是一个数据类型,直接print就可以了。

x是结果,y是依次循环的数字0.1.2.3.....,返回的是x的值.

float() 函数用于将整数和字符串转换成浮点数。

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

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

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

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

设置一个集合:

我们a点一下,发现很多可以修改集合的方法:

如果我们把集合frozenset一下,类似元祖,就不能修改了!你在a点一下,发现所有修改删除的方法都消失了。

getattr() 函数用于返回一个对象属性值。这里面向对象的时候再讲

globals() 函数会以字典类型返回当前位置的全部全局变量。返回的当前程序的全局变量,也就是字典,key+key.valus

hasattr() 函数用于判断对象是否包含对应的属性。这里面向对象的时候再讲

hash() 用于获取取一个对象(字符串或者数值等)的哈希值。即散列

哈希的作用简单来说,就是把数据类型转换成一串英文代码,这个英文代码在计算机里就可以排序,有了排序,计算机进行查找数据的时候,就可以快速定位,定位的方法就是直接把哈希的数值列表对半,根据对半的这个数值跟需要查找的字符串的哈希数值进行比对,

大于就到后面去继续对半,小于就到前面去继续对半。这样效率会非常高!

hash的值是唯一的,不管你计算多少次,hash的值都是固定的,永远不会变化。

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

hex() 函数用于将10进制整数转换成16进制整数。

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

python input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

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

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

注意:python3 里 input() 默认接收到的是 str 类型。

 int() 函数用于将一个字符串会数字转换为整型。

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

isinstance() 与 type() 区别:

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

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

如果要判断两个类型是否相同推荐使用 isinstance()。

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

iter() 函数用来生成迭代器。

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

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

注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

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

下图globals()不显示local_var这个局部变量,它只显示全局变量。

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

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

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

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

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

next() 返回迭代器的下一个项目。

object() python里,一切都是对象

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

python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

pow() 方法返回 xy(x的y次方) 的值。

print() 方法用于打印输出,最常见的一个函数。

property() 函数的作用是在新式类中返回属性值。以后说

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

函数语法

range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • end: 计数到 end 结束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

repr() 函数将对象转化为供解释器读取的形式。

reversed 函数返回一个反转的迭代器。跟字符串里的reversed一样,就是把顺序转过来

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

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

setattr 函数对应函数 getatt(),用于设置属性值,该属性必须存在。后面再说

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

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

sort 与 sorted 区别:

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

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

根据字典的key进行排序:

如果想对字典的value进行排序:

python staticmethod 返回函数的静态方法。

该方法不强制要求传递参数,如下声明一个静态方法:

class C(object):
    @staticmethod
    def f(arg1, arg2, ...):
        ...

以上实例声明了静态方法 f,类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()。

str() 函数将对象转化为适于人阅读的形式。

sum() 方法对系列进行求和计算。

super() 函数用于调用下一个父类(超类)并返回该父类实例的方法。

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

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

tuple 函数将列表转换为元组。。

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

isinstance() 与 type() 区别:

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

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

如果要判断两个类型是否相同推荐使用 isinstance()。

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

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

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

 注意zip返回的是迭代器:

如果a的数值个数更多,那么会按最短的计算组合:

__import__() 函数用于动态加载类和函数 。

如果一个模块经常变化就可以使用 __import__() 来动态载入。

导入模块可以有两种方法:__import__(字符串)

原文地址:https://www.cnblogs.com/itfat/p/7454885.html