内建函数

Python 解释器内置了许多可用的函数和类型,如下:

abs(x) :返回一个数的绝对值,参数可以是整数或浮点数,若参数是复数,则返回其大小。

all(iterable) :传入可迭代的对象,假如所有元素都是True,返回True,或者迭代为空,也返回True

例:

 1 >>> def all(iterable):
 2     for ele in iterable:
 3         if not ele:
 4             return False
 5     return True
 6 
 7 >>> list1 = [1,2,3]
 8 >>> all(list1)
 9 True
10 >>> list2 = [1,2,None]
11 >>> all(list2)
12 False

any(iterable) :如果迭代对象的任何元素都为True,返回True,若迭代对象为空,则返回True

例:

 1 >>> def any(i):
 2     for ele in i:
 3         if ele:
 4             return True
 5     return False
 6 
 7 >>> list1 = [1,0,3,4]
 8 >>> any(list1)
 9 True
10 >>> list2 = [1,0,3,None]
11 >>> any(list2)
12 True

ascii(objecet) :返回一个可用打印表示对象的字符串。遇到非ASCII 字符,使用 \x, \u 或者 \U 来转义字符

bin(x) :将一个整数转换为带“0b”前缀的字符串,结果是一个有效的Python表达式

例:

1 >>> bin(2)
2     
3 '0b10'
4 >>> bin(-2)
5     
6 '-0b10'
7 >>> 

如果需要加上前缀“0b”,可以使用下面其中一种方法

1 >>> format(10, '#b'), format(10, 'b')
2     
3 ('0b1010', '1010')
4 >>> f'{10:#b}', f'{10:b}'
5     
6 ('0b1010', '1010')

 class bool([x]) :返回一个布尔值,True 或 False。如果x为false或省略,则返回False; 否则返回True 。bool 类是 int 类的子类,无法再被继承。

breakpoint(*args, **kws) :Python 3.7 中新增的函数。 该方法执行时会中断当前程序,进入你所选择的调试器中(debug 模式)。实际调用的是 sys.breakpoint(),传递了 args 和 kws。

class bytearray([source[, encoding[, errors]]]) :返回一个新的字节数组,bytearray类是一个范围从 0<= x <= 256 的可变整数序列。

可选参数 source 可用来初始化数组,有以下几种方式:

  • source 为字符串时,要指定编码方式,bytearray() 会使用str.encoding() 将字符串转换为字节。否则会报错:TypeError: string argument without an encoding
  • source 为整数时,以整数的大小为个数,1输出1个\x00,2输出2个\x00,以此类推
  • source 为缓冲区接口的对象时,则将使用该对象的只读缓冲区来初始化bytes数组
  • 若 source 是可迭代的,则它必须是0 <= x <256范围内的整数可迭代对象,它们用作数组的初始内容
  • 若不传参,则创建大小为 0 的数组

 class bytes([source[, encoding[, errors]]]) :返回一个新的字节对象(8位,取值0<= x <256),是一个不可变的整数序列。参数的使用方法与 bytearray()一致。

小点:str 与 bytes 的格式区别

  • 字符串是文本序列,有编码格式(utf-8, gbk 等 )
  • bytes 是字节序列,没有编码一说
  • 文本的编码,是指字符如何使用字节来表示
  • 使用 encode(),可以将字符变成 bytes 格式的数据,而 decode() 方法可以将 bytes格式的数据转换为字符

callable(object):如果参数是可调用的,返回 True,否则返回 False。 若返回 True,有可能还会调用失败,若返回 False,对象是永远无法被成功调用的。

另外需注意,类是可以被调用的(调用一个类会返回一个新实例);若一个实例的类中含有__call__() 方法,则该实例可以被调用。

 

chr(i): 将以 Unicode 编码的整数 i 以字符形式返回,例如,chr(97)返回字符串'a',而chr(8364)返回字符串'€'。 这是ord()的反转。

             i 的取值从 0 到 1,114,111,超过这个范围会报 ValueError 错误.

@classmethod :将一个方法转换为类方法。类方法接收一个类作为隐式的第一个参数,声明一个类方法的格式如下:

class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...

@classmethod 形式表示一个函数装饰器

可以通过类或实例调用类方法,例如:例如类 C.f() 或实例 C().f() .除了类之外,该实例被忽略。 如果为派生类调用类方法,则派生类对象将作为隐含的第一个参数传递。

 

posted @ 2019-03-25 00:49  chenzy01  阅读(185)  评论(0编辑  收藏  举报