为了账号安全,请及时绑定邮箱和手机立即绑定

python标准库学习之Built-in Functions

标签:
Python

本文准备用临时时间,在自学的同时,翻译一部分内建标准库函数用法,同时尝试给出相应的示例代码。(本文不会一次性完成,根据自己的时间,“随时”更新)标准库版本以python 2.7.6为主。

python共包含80个内建函数,现在依次展开:

abs(x):绝对值函数,返回一个数的绝对值,该数可以为素数、长整数、浮点数。如果参数x是一个复数,该函数将会返回一个复数的模。

>>abs(-1.0), abs(-1)
(1.0, 1)

all(可迭代的对象):返回True,如果所有可迭代对象中的元素为真,或者该可迭代对象为空。该函数等同于如下函数:

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

*此处提到了iterable,可迭代对象,Ok,因为还有一个很类似的名词:iterator object,同时还容易让人想到另一个名词generator。生成器(generator)和迭代器(iterator)先按下不表,今天只是整理iterable,可迭代对象。
搜索stackoverflow,有这么一篇文章:In Python, how do I determine if an object is iterable? 在从最高票答案中,他给出了三种方法判断一个object,是否是iterable的,其中方法二,提到一个很Pythonic的方法,假设有一个可迭代的(行为/方法),然后,如果它不能工作在一个给定的对象之上,非常优雅的失败(raise try..except)(Ps:信达雅真不好做到)。(那么它就不是可迭代的),其中提到了duck-typing,有兴趣的同学,可以翻开原文看看。
总结:list、dict、str等都是iterable object。

In [17]: all(""), all('ss'), all([1, 2, '',]), all([1, 2]), all([]), all((1, 2, '')), all((1, 2))
Out[17]: (True, True, False, True, True, False, True)

any(iterable):返回True,如果可迭代对象的任意元素为真。如果iterable为空,则返回False,等价于下列函数:

def any(iterable):
    for element in iterable:
       if element:
           return True
    return False
In [6]: any(''), any('ss'), any([]), any({}), any(set()), any([1, 2, '']), any([222, 111, {}])
Out[6]: (False, True, False, False, False, True, True)

basestring() :这个类型是str和unicode的超类,它不能被called或者实例化,但是它能用来测试一个object(对象)是否是str或者unicode的实例。

isinstance(obj, basestring) 等于 isinstance(obj, (str, unicode))。

bin(x):该函数主要用于将一个整数转变为一个二进制字符串(binary string)。如果x不是python整数对象,则不得不定义一个index()方法,同时该方法返回一个整数

In [15]: bin(11223332233)
Out[15]: '0b1010011100111101100111010110001001'

bool([x]):转换一个值为布尔值,用于标准真值测试过程。如果x为false(空字符串等)或者丢失,返回False;否则返回True.bool是int的子类,Class bool cannot subclassed further,(不能被更多的子类继承),它(Class bool)唯一的实例只有True和False。*注参数x带[],表示该参数可有可无。

如果没有如何参数传入,函数返回False.

In [18]: bool(), bool([]), bool({}), bool(0), bool(True), bool(False), bool(111)
Out[18]: (False, False, False, False, True, False, True)

bytearray([source[, encoding[, errors]]]):返回一个新的字节数组。bytearray类型是一个可变的整数序列(整数值范围为:0 <= x <256)。大多数可变序列常见方法,均适合它。详见可变序列类型,同样的,多数str类型可用的方法,也适用于它,详见字符串方法。

可选项source参数,可以被用于在以下不同的方式初始化array:

  • 列表项
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消