文章目录
适用于python3.8,对内置模块的解释说明请查询官网,本文主要是示例。
abs(x)
示例
:
>>> x=1+2j
>>> abs(x)
2.23606797749979
示例
:
编写一个测试模块test_abs.py
class test(int):
def __init__(self,number):
self.number=number
def __abs__(self):
return "404 not found"
在交互界面进行验证
>>> from test_abs import *
>>> a=test(10)
>>> a.number
10
>>> abs(a)
'404 not found'
all(iterable)
iterable为元组或列表。Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
如果 iterable 的所有元素为真(或迭代器为空),返回 True 。
>>> all((1,2,3))
True
>>> all((0,1,2))
False
>>> all([1,2,3])
True
>>> all([0,1,2,3])
False
any(iterable)
如果 iterable 的任一元素为真则返回 True。 如果迭代器为空,返回 False。
元组中只包含一个元素时,需要在元素后面添加逗号。
>>> any((1,))
True
>>> any((0,))
False
ascii(object)
>>> CN_str="测试test"
>>> ascii(CN_str)
"'\\u6d4b\\u8bd5test'"
>>> repr(CN_str)
"'测试test'"
bin(x)
>>> bin(0xF)
'0b1111'
>>> bin(0xa)
'0b1010'
#如果不需要前缀“0b”,还可以使用format()
>>> format(0xff,'b')
'11111111'
class bool([x])
返回一个布尔值,True 或者 False。 x 使用标准的 真值测试过程 来转换。如果 x 是假的或者被省略,返回 False;其他情况返回 True。
下面基本完整地列出了会被视为假值的内置对象:
- 被定义为假值的常量: None 和 False。
- 任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
- 空的序列和多项集: ‘’, (), [], {}, set(), range(0)
>>> import decimal
>>> D = decimal.Decimal
>>> D()
Decimal('0')
>>> bool(D())
False
>>> from fractions import Fraction
>>> bool(Fraction(0,2))
False
>>> bool(Fraction(1,2))
True
breakpoint(*args, **kws)
写一个模块cat.py,包含cat类:
class cat():
def __init__(self,name):
self.name=name
def show(self):
if self.name == "Jerry":
breakpoint()
else:
print(self.name+" is a cat.")
在交互界面导入模块并执行,如果对象名称为Jerry,则进入调试模式
>>> from cat import *
>>> cat_one=cat("Tom")
>>> cat_one.show()
Tom is a cat.
>>> cat_two=cat("Jerry")
>>> cat_two.show()
--Return--
> /root/python/cat.py(6)show()->None
-> breakpoint()
(Pdb)
class bytearray([source[, encoding[, errors]]])
方法返回一个新字节数组。这个数组里的元素是可变的。
可选形参 source 可以用不同的方式来初始化数组:
- 如果是一个 string,您必须提供 encoding 参数(errors 参数仍是可选的);bytearray() 会使用 str.encode() 方法来将 string 转变成 bytes。
- 如果是一个 integer,会初始化大小为该数字的数组,并使用 null 字节填充。
- 如果是一个符合 buffer 接口的对象,该对象的只读 buffer 会用来初始化字节数组。
- 如果是一个 iterable 可迭代对象,它的元素的范围必须是 0 <= x < 256 的整数,它会被用作数组的初始内容。
示例见下面bytes。
class bytes([source[, encoding[, errors]]])
返回一个新的“bytes”对象, 是一个不可变序列。bytes 是 bytearray 的不可变版本 - 它有其中不改变序列的方法和相同的索引、切片操作。
示例
:
>>> a=[1,2,3]
>>> bytearray(a)
bytearray(b'\x01\x02\x03')
>>> b=bytearray(a)
>>> c=bytes(a)
>>> b
bytearray(b'\x01\x02\x03')
>>> c
b'\x01\x02\x03'
>>> b.reverse()
>>> b
bytearray(b'\x03\x02\x01')
>>> c
b'\x01\x02\x03'
>>> c.reverse()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'bytes' object has no attribute 'reverse'
示例
:
>>> a="test"
>>> b=bytearray(a,"utf-8")
>>> c=bytes(a,"utf-8")
>>> b
bytearray(b'test')
>>> c
b'test'
>>> b[0]=117
>>> b
bytearray(b'uest')
>>> c
b'test'
>>> c[0]=117
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'bytes' object does not support item assignment
callable(object)
使用上面的cat.py模块,在交互模式进行验证
>>> from cat import *
>>> callable(cat)
True
>>> cat_one=cat("Tom")
>>> callable(cat_one)
False
cat类可以调用,所以返回True;cat_one对象不能调用,所以返回False。如果实例所属的类有 __ call __() ,则它就是可调用的。在cat.py模块中添加 __ call __()函数,整个模块如下:
class cat():
def __init__(self,name):
self.name=name
def show(self):
if self.name == "Jerry":
breakpoint()
else:
print(self.name+" is a cat.")
def __call__(self):
pass
再次调用对象
>>> from cat import *
>>> cat_one=cat("Tom")
>>> callable(cat_one)
True
可以继续阅读下一篇python内置函数简单示例(二)
参考文档
https://docs.python.org/zh-cn/3/library/functions.html
https://www.runoob.com/python