Python3 内置函数

abs(x)

返回一个数的绝对值。参数可以是一个整数或者一个浮点数。如果参数是一个复数,那么将返回它的模。

>>> abs(-123456)
123456
>>> abs(123456)
123456

all(iterable)

当 iterable 中所有元素都为 True 时(或者 iterable 为空),返回 True 。相当于:

def all(iterable):
for element in iterable:
if not element:
return False
return True

举例:

>>> all([0,1,""])
False
>>> all([None,2,3])
False
>>> all([0,3])
False
>>> all([1,3])
True
>>> all([])
True

假的参数有:False、0、None、""、[]、()、{}等,查看一个元素是否为假可以使用bool进行查看。

any(iterable)

当 iterable 中有元素为 True 时,则返回 True 。如果当 iterable 为空时,返回 False 。相当于:

def any(iterable):
for element in iterable:
if element:
return True
return False

举例:

>>> any([0,1,3])
True
>>> any([{},(),0])
False

ascii(object)

就像函数 repr() , 返回一个输入对象的可打印的字符串,但是在返回字符串中去掉非 ASCII 编码的字符,而这些字符在 repr() 生成的字符串中利用编码加 \x , \u 或 \U 前缀来表示。这个函数所生成的字符串与 Python2 中的 repr() 函数类似。

bin(x)

将一个整数转化为一个二进制字符串。结果是一个可用的 Python 表达式。
举例
返回一个整数的二进制:

>>> bin(100)
'0b1100100'

如果 x 不是 Python 中的 int 类型,那么需要定义 __index__() 方法使之返回一个整数。

 >>> class myType:
... def __index__(self):
... return 35
...
>>> myvar = myType()
>>> bin(myvar)
'0b100011'

bool([x])

将一个值转换为布尔类型,使用标准的真值判断过程。如果 x 为假或者不存在,将返回 False ;否则则返回 True 。 bool 同样是一个类,是 int 的子类, bool 类不能作为其他子类。它仅有的实例是 False 和 True 。

>>> bool([])
False
>>> bool({})
False
>>> bool(0)
False
>>> bool(2)
True

bytearry([source[,encoding[,errors]]])

bytearray([source [, encoding [, errors]]])返回一个byte数组。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。

source参数:

  • 如果source为整数,则返回一个长度为source的初始化数组;
  • 如果source为字符串,则按照指定的encoding将字符串转换为字节序列;
  • 如果source为可迭代类型,则元素必须为[0 ,255]中的整数;
  • 如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray。

bytes([source[,encoding[,errors]]])

返回一个bytes类型。

callable(object)

返回一个对象是否可以被执行:

>>> def func():
... return 123
...
>>> callable(func)
True
>>> func = 123
>>> callable(func)
False

chr(i)

返回一个数字在ASCII编码中对应的字符,取值范围256个。

>>> chr(66)
'B'
>>> chr(5)
'\x05'
>>> chr(55)
'7'
>>> chr(255)
'\xff'
>>> chr(25)
'\x19'
>>> chr(65)
'A'

compile(source,filenname,mode,flags=0,dont_inherit=False,optimize=-1)

把字符串编译成python可执行的代码。

>>> str = "for i in range(0,6): print(i)"
>>> c = compile(str, '', 'exec')
>>> exec(c)
0
1
2
3
4
5

complex([real[,imag]])

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

>>> complex(1, 2)
(1+2j)
# 数字
>>> complex(1)
(1+0j)
# 当做字符串处理
>>> complex("1")
(1+0j)
# 注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
>>> complex("1+2j")
(1+2j)

delattr(object,name)

删除一个对象的属性,相当于del object.name

dict(**kwarg)

创建一个数据类型为字典。

>>> dic = dict({"k1":"123","k2":"456"})
>>> dic
{'k1': '123', 'k2': '456'}

dir([object])

返回一个类中的所有方法。

>>> a = [1,2,3]
>>> dir(a)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

divmod(a,b)

divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数,返回结果类型为tuple。

>>> divmod(10,3)
(3, 1)

enumerate(iterable,start=0)

遍历可迭代的数据类型,并为元素生成下标。

a = [1,2]
for k,v in enumerate(a):
print(k,v)
print("---------")
b = {'a':1,'b':2}
for i,j in enumerate(b):
print(i,j) 0 1
1 2
---------
0 a
1 b

eval(expression,globals=None,locals=None)

把一个字符串当作一个表达式去执行。

>>> string = "1 + 3"
>>> string
'1 + 3'
>>> eval(string)
4

exec(object[,globals[,locals]])

把字符串当作python代码执行。

>>> exec("for n in range(5): print(n)")
0
1
2
3
4

filter(function,iterable)

筛选过滤,循环可迭代的对象,把迭代的对象当作函数的参数,如果符合条件就返回True,否则就返回False。

def func(x):
if x == 11 or x ==22:
return True ret = filter(func,[11,22,33,44])
for i in ret:
print(i) 11
22

float([x])

将整数和字符串转换成浮点数。

>>> float("124")
124.0
>>> float("123.45")
123.45
>>> float("-123.34")
-123.34

format(value[,format_spec])

字符串格式化。

>>> a = "My name is {0}, age is {1}".format('lucky', 18)
>>> print(a)
My name is lucky, age is 18

frozenset([iterable])

frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。

getattr(object,name)

获得对象的name属性,当该属性不存在的时候可以使用一个默认值作为返回值。

globals()

获取当前scripts文件内的所有全局变量。

>>> a = 3
>>> bsd = "54asd"
>>> globals()
{'__doc__': None, 'bsd': '54asd', '__package__': None, 'a': 3, '__spec__': None, '__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', '__loader__': <class '_frozen_importlib.BuiltinImporter'>}

hasattr(object,name)

参数是一个对象和一个字符串,如果字符串是对象的某个属性的名称,则结果为True,否则为False。

hash(object)

返回一个对象的hash值。

>>> a = "asdadasdwqeq234sdfdf"
>>> hash(a)
5390438057823015497

help([object])

查看一个类的所有详细方法。

hex(x)

获取一个数的十六进制。

>>> hex(15)
'0xf'

id(object)

返回一个对象的内存地址。

>>> a = 123
>>> id(a)
1835400816

input([prompt])

交互式输入。

int(x,base=10)

获取一个数的十进制。

>>> int("31")
31

isinstance(object,classinfo)

判断对象是否是这个类创建的。

>>> li = [11,22,33]
>>> isinstance(li,list)
True

issubclass(class,classinfo)

查看一个对象是否为子类。

iter(object[,sentinel])

创建一个可迭代的对象。

>>> obj = iter([11,22,33,44])
>>> obj
<list_iterator object at 0x000002477DB25198>
>>> for n in obj:
... print(n)
...
11
22
33
44

len(s)

查看一个对象的长度。

>>> name = 'lucky'
>>> len(name)
5

list([iterable])

创建一个数据类型为列表。

>>> li = list([11,22,33,44])
>>> li
[11, 22, 33, 44]

locals()

返回当前scripts的局部变量,返回结果为字典格式。

>>> def func():
... name="lucky"
... print(locals())
...
>>> func()
{'name': 'lucky'}

map(function,iterable,...)

把可迭代的对象作为函数的值。

>>> ret = map(lambda x: x + 100, [1, 2, 3, 4, 5])
>>> for n in ret:
... print(n)
...
101
102
103
104
105

max(iterable,*[,key,default]) max(arg1,arg2,*args[,key])

获取一个对象中的最大值。

>>> li = [1, 3, 5, 9 ,3]
>>> max(li)
9

memoryview(object)

返回对象object的内存查看对象。

min(iterable,*[,key,default]) min(arg1,arg2,*args[,key])

获取一个对象中的最小值

>>> >>> li = list([11,22,33,44])
>>> li = [11,22,33,44]
>>> min(li)
11

next(iterable[,default])

每次只拿取可迭代对象的一个元素。

>>> obj = iter([11,22,33,44])
>>> next(obj)
11
>>> next(obj)
22
>>> next(obj)
33
>>> next(obj)
44
>>> next(obj)
# 如果没有可迭代的元素了就会报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

object

返回一个新的无特征对象。

oct(x)

获取一个字符串的八进制。

>>> oct(13)
'0o15'

open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)

文件操作的函数,用来做文件操作的。

ord(c)

把一个字母转换为ASCII对对应表中的数字。

>>> ord("a")
97
>>> ord("t")
116

pow(x,y[,z])

返回一个数的N次方。

>>> pow(2, 10)
1024
>>> pow(2, 20)
1048576

print(*objects,sep=' ',end='\n',file=sys.stdout,flush=False)

打印输出。

property(fget=None,fset=None,doc=None)

函数 property() 的作用就是把类中的方法当作属性来访问。

range(sart,stop[,step])

生成一个可迭代序列。

>>> range(10)
range(0, 10)
>>> for n in range(5):
... print(n)
...
0
1
2
3
4

repr(object)

返回一个包含对象的可打印表示的字符串。

reversed(seq)

对一个对象的元素进行反转。

>>> li = [1, 2, 3, 4]
>>> reversed(li)
<list_reverseiterator object at 0x000002CF0EF6A940>
>>> for n in reversed(li):
... print(n)
...
4
3
2
1

round(number[,ndigits])

四舍五入。

>>> round(3.3)
3
>>> round(3.7)
4

set([iterable])

创建一个数据类型为集合。

>>> varss = set([11,222,333])
>>> type(varss)
<class 'set'>

setattr(object,name,value)

为一个对象的name属性设置一个value值。

slice(start,stop[,step])

元素的切片操作都是调用的这个方法。

sorted(iterable[,key[,reverse]])

为一个对象的元素进行排序。

>>> li = [ 2, 3, 4, 9, 1, 100]
>>> sorted(li)
[1, 2, 3, 4, 9, 100]

staticmethod(function)

返回一个静态的方法。

str([object[,encoding[,errors]]])

字符串。

sum(iterable[,start])

求和。

>>> sum([11,22,33])
66

super([type[,object-or-type]])

super() 常用于继承中调用父类的方法。

tuple([iterable])

创建一个对象,数据类型为元组。

type(object)

查看一个对象的数据类型。

>>> a = 1
>>> type(a)
<class 'int'>
>>> a = "str"
>>> type(a)
<class 'str'>

vars([object])

查看一个对象里面有多少个变量。

zip(*iterable)

联合迭代。

>>> li1 = ["k1","k2","k3"]
>>> li2 = ["a","b","c"]
>>> zip(li1,li2)
<zip object at 0x0000026BF1803288>
>>> dic = zip(li1,li2)
>>> for n in dic:
... print(n)
...
('k1', 'a')
('k2', 'b')
('k3', 'c')

__import__(name,globals=None,locals=None,fromlist=(),level=0)

导入模块,把导入的模块作为一个别名。

参考及扩展:
http://docspy3zh.readthedocs.io/en/latest/library/functions.html
http://openskill.cn/article/432
http://blog.csdn.net/lisonglisonglisong/article/details/38960341
https://juejin.im/post/58952b87b123db16a393ffdc

Python内置函数.md的更多相关文章

  1. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  2. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  3. Python基础篇【第2篇】: Python内置函数(一)

    Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...

  4. [python基础知识]python内置函数map/reduce/filter

    python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...

  5. Python内置函数进制转换的用法

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

  6. Python内置函数(12)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string  ...

  7. Python内置函数(61)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...

  8. 那些年,很多人没看懂的Python内置函数

    Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...

  9. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

随机推荐

  1. Oracle超过连接数(ORA-12520)

    原因是超过了连接数,最有效的处理方法是关闭em服务,停止em服务,改成禁用. show parameter processes;  --查看允许连接情况 select count(*) from v$ ...

  2. MyEclipse关闭当前正在编辑的页面

    如果要关闭当前正在编辑的页面Ctrl + W 例如: 按下Ctrl + W 只会关闭Const.java这个页面 如果要关闭所有打开的页面Ctrl + Shift + W 例如:按下Ctrl + Sh ...

  3. mysql网页客户端工具

    mysql数据库的远程管理,云服务器数据库的管理监控等都可以使用 TreeSoft,  TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB ...

  4. Android网络请求库RetrofitUtils

    RetrofitUtils GitHub地址,帮忙给个Star 项目介绍 Retrofit+Okhttp辅助类的简单封装,vesion 1.0.X 实现了Get,Post-Form.Post-Json ...

  5. Android使用xml文件中的array资源

    Android中有种使用数组的非常简单的用法,在xml文件中获取. 创建数组资源 在value目录下创建arrays.xml文件 然后在arrays.xml文件中使用<string-array& ...

  6. 【Python】Java程序员学习Python(一)— 为什么学习Python

    现在是6月份,毕业快3年了,虽然不能说对Java掌握的程度达到了如火纯青的地步,但是依然感觉到了瓶颈期,Java用的多了,也到了随心所欲的地步了,所以学第二门语言的想法一直在我脑海里闪现,有想法了就要 ...

  7. 【转】数据分析与处理之二(Leveldb 实现原理)

    郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为 ...

  8. 分享:Windows2008重启后提示系统恢复选项的解决办法

    如题:WINdows2008服务器. 重启后提示系统恢复选项的解决办法 使用windows 2008后,不能启动的问题,重启后出现 修复系统选项 采用下面帖子中的部分命令搞定之. 我自己是直接使用:选 ...

  9. 一些简单的SQL Server服务器监控

    1:磁盘活动的一些监控 指标 吞吐量:IOPS,存储子系统每秒能提供多少次I/O 吞吐量,MB/S,I/O子系统每秒能提供多少MB 延时:每个I/O请求占用多少时间 队列长度:队列中有多少IO请求在等 ...

  10. MySQL的前缀索引及Oracle的类似实现

    MySQL有一个很有意思的索引类型,叫做前缀索引,它可以给某个文本字段的前面部分单独做索引,从而降低索引的大小. 其实,Oracle也有类似的实现,对于文本,它可以通过substr的函数索引,实现同样 ...