python内置函数【A-C】
来源:互联网 发布:mysql如何查看表 编辑:程序博客网 时间:2024/05/29 01:53
内置函数
abs(x )
返回一个数字的绝对值。参数可能是整数或浮点数。如果参数是一个复数,则返回其大小。
In [33]: abs(-1)Out[33]: 1
all(iterable)
如果的所有元素迭代是真实的(或者如果可迭代为空)返回True。相当于:
def all(iterable): for element in iterable: if not element: return False return True
In [30]: all([1,2,3])Out[30]: TrueIn [31]: all([1,2,False])Out[31]: FalseIn [32]: all([])Out[32]: True
ascii(object)
这个函数跟repr()函数一样,返回一个可打印的对象字符串方式表示。当遇到非ASCII码时,就会输出\x,\u或\U等字符来表示。与Python 2版本里的repr()是等效的函数。
In [34]: print(ascii(10), ascii(9000000), ascii('b\31'), ascii('0x\1000'))10 9000000 'b\x19' '0x@0'In [35]: type(ascii(10))Out[35]: str
bin(x )
将整数转换为以“0b”为前缀的二进制字符串。结果是一个有效的Python表达式。
In [36]: bin(3)Out[36]: '0b11'In [37]: type(bin(3))Out[37]: strIn [38]: bin(-10)Out[38]: '-0b1010'In [39]: type(bin(-10))Out[39]: str
bool([ x ] )
返回一个布尔值,即一个True或False。 如果x为假或者省略,则返回False; 否则返回True。
bool类是int类的子类。
In [40]: bool()Out[40]: FalseIn [41]: bool([])Out[41]: FalseIn [42]: bool([1,2])Out[42]: TrueIn [43]: bool(1)Out[43]: TrueIn [44]: bool(0)Out[44]: False
bytearray([source [, encoding [, errors]]])
A bytearray与普通的python字符串非常相似(str在python2.x中,bytes在python3中),但有一个重要的区别,而字符串是不可变的,bytearrays是可变的,有点像list单个字符串。
这是有用的,因为一些应用程序使用不可变字符串执行较差的字节序列。如果在数据库引擎或图像库中,在大块内存中进行大量小改动,则字符串性能会很差;
因为你必须复制整个(可能是大的)字符串。 bytearray它的优点是可以在不复制记忆的情况下做出这种改变。但是这个特例实际上更多的是例外,而不是规则。大多数用途涉及比较字符串或字符串格式。对于后者,无论如何通常都有一个副本,所以可变类型不会提供任何优势。对于前者,由于不可变的字符串不能更改,因此可以计算一个hash字符串,并将其作为比较每个字节顺序的快捷方式,这几乎总是一个很大的胜利;
所以它是不可变的类型(str或bytes),这是默认的; 并且bytearray是例外,当你需要它的特殊功能。
中文说明:
bytearray([source [, encoding [, errors]]])返回一个byte数组。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。
参数source:
如果source为整数,则返回一个长度为source的初始化数组;
如果source为字符串,则按照指定的encoding将字符串转换为字节序列;
如果source为可迭代类型,则元素必须为[0 ,255]中的整数;
如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray.。
版本:在python2.6后新引入,在python3中同样可以使用!
In [45]: bytearray()Out[45]: bytearray(b'')In [46]: a = bytearray(3)In [47]: aOut[47]: bytearray(b'\x00\x00\x00')In [48]: a[0]Out[48]: 0In [49]: a[1]Out[49]: 0In [50]: a[2]Out[50]: 0In [51]: b = bytearray("abc")---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-51-f477c68d28a2> in <module>()----> 1 b = bytearray("abc")TypeError: string argument without an encodingIn [52]: b = bytearray("abc", encoding='utf-8')In [53]: bOut[53]: bytearray(b'abc')In [54]: b[0]Out[54]: 97In [55]: b[1]Out[55]: 98In [56]: b[2]Out[56]: 99In [57]: c = bytearray([1,2,3])In [58]: c[0]Out[58]: 1In [59]: c[1]Out[59]: 2In [60]: c[2]Out[60]: 3In [61]: d = bytearray(buffer("abc"))---------------------------------------------------------------------------NameError Traceback (most recent call last)<ipython-input-61-40665c074d88> in <module>()----> 1 d = bytearray(buffer("abc"))NameError: name 'buffer' is not defined
bytes([source[, encoding[, errors]]])
返回一个“bytes”对象, 是一个范围在0 <= x < 256的一个不变的整数序列。bytes 是一个不可变版本的 bytearray – 它具有相同的非变异方法和相同的索引和切片行为。
bytes和bytearray
Python 3 特有的,Python2是不区分bytes和str。
bytes是不可变的。
Python 2 中:
type(b'xxxx')<type 'str'>>>> type('xxxx')<type 'str'>
Python 3 中:
In [1]: type(b'xxxx')Out[1]: bytesIn [3]: type('xxxx')Out[3]: str
bytes 和 str 的区别在于,bytes是byte的序列,而str是unicode的序列。
str可使用encode的方法转化为bytes。
bytes使用decode的方法转化为str。
(默认的encode和decode的编码方式为utf-8)。
In [4]: s = '于龙君'In [5]: b = s.encode()In [6]: bOut[6]: b'\xe4\xba\x8e\xe9\xbe\x99\xe5\x90\x9b'In [7]: b.decode()Out[7]: '于龙君'In [8]: for x in s: ...: print(x) ...: 于龙君In [9]: for x in b: ...: print(x) ...: 228186142233190153229144155
bytearray和bytes不一样的地方在于,bytearray是可变的。
In [10]: s = '于龙君'In [11]: ba = bytearray(s.encode())In [12]: baOut[12]: bytearray(b'\xe4\xba\x8e\xe9\xbe\x99\xe5\x90\x9b')In [13]: ba.decode()Out[13]: '于龙君'In [14]: ba[:3] = bytearray('王'.encode())In [15]: baOut[16]: bytearray(b'\xe7\x8e\x8b\xe9\xbe\x99\xe5\x90\x9b')In [17]: ba.decode()Out[17]: '王龙君'
callable(object)
中文说明:检查对象object是否可调用。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
注意:类是可调用的,而类的实例实现了__call__(
)方法才可调用。
版本:该函数在python2.x版本中都可用。但是在python3.0版本中被移除,而在python3.2以后版本中被重新添加。
In [15]: callable(0)Out[15]: FalseIn [16]: callable("my_string")Out[16]: FalseIn [17]: def add(a,b): ...: return a+b ...:In [18]: callable(add)Out[18]: TrueIn [19]: class A: ...: def method(self): ...: return 0 ...:In [20]: callable(A)Out[20]: TrueIn [21]: a = A()In [23]: callable(a)Out[23]: FalseIn [24]: class B(): ...: def __call__(self): ...: return 0 ...:In [25]: callable(B)Out[25]: TrueIn [27]: b = B()In [28]: callable(b)Out[28]: True
cmp(x,y )(python3去除)
中文说明:比较两个对象x和y,如果x < y ,返回负数;x == y, 返回0;x > y,返回正数。
版本:该函数只有在python2中可用,而且在python2所有版本中都可用。但是在python3中该函数已经被删减掉,这点要特别注意。
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> cmp(1,2)-1>>> exit()Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> cmp(1,2)Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'cmp' is not defined>>>
compile(source, filename, mode[, flags[, dont_inherit]])
中文说明:将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
参数source:字符串或者AST(Abstract Syntax Trees)对象。
参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
参数model:指定编译代码的种类。可以指定为 ‘exec’,’eval’,’single’。
参数flag和dont_inherit:这两个参数暂不介绍,可选参数。
版本:在python2.3、2.6、2.7、3.2中均有不同,使用时要引起注意,兼容python3
>>> code = "for i in range(0, 10): print(i)">>> code = compile(code, '', 'exec')>>> exec(code)0123456789>>> str = "3 * 4 + 5">>> a = compile(str,'','eval')>>> eval(a)17>>>
complex([real[, imag]])
中文说明:
创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
参数real: int, long, float或字符串;
参数imag: int, long, float。
>>> complex(1, 2)(1 + 2j)#数字>>> complex(1)(1 + 0j)#当做字符串处理>>> complex("1")(1 + 0j)#注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错>>> complex("1+2j")(1 + 2j)
替换cmp的新函数
>>> import operator>>> a ,b = 0,1>>> operator.lt(a,b)True>>> operator.le(a,b)True>>> operator.eq(a,b)False>>> operator.ne(a,b)True>>> operator.ge(a,b)False>>> operator.gt(a,b)False>>>operator.__lt__(a, b) operator.__le__(a, b) operator.__eq__(a, b) operator.__ne__(a, b) operator.__ge__(a, b) operator.__gt__(a, b) lt(a, b) 相当于 a < ble(a,b) 相当于 a <= beq(a,b) 相当于 a == bne(a,b) 相当于 a != bgt(a,b) 相当于 a > bge(a, b)相当于 a>= b
- python内置函数【A-C】
- Python标准库:内置函数ord(c)
- python函数: 内置函数
- Python标准库:内置函数divmod(a, b)
- python内置函数【chr(i ),ord(c )】
- python 内置函数
- python内置函数
- Python常用内置函数
- Python常用内置函数
- python内置函数
- python 内置函数
- Python中 内置函数
- python 内置函数
- Python内置函数清单
- python的内置函数
- python模块内置函数
- 【python】内置函数
- python内置函数
- easyui中打开新的面板跨域加载页面(没什么卵用这个)
- 使用LayUI操作数据表格
- Makefile中:=与=区别
- SpringBoot集成MyBatis的分页插件PageHelper
- 前端需要了解的 SSO 与 CAS 知识
- python内置函数【A-C】
- 统计学学习笔记——(4)差异性
- 图像分割—基于图的图像分割(Graph-Based Image Segmentation)
- Vagrant和virtualbox安装问题总结
- Android简单实现实时监听网络状态
- 感知器数据分类算法
- ServletContextListener使用详解
- C语言学习1:Windows搭建C语言开发环境,Code::Blocks安装,配置gcc编译器
- Oracle 使用 ass.awk 工具查看 system state dump 说明