设为首页 收藏本站
查看: 739|回复: 0

[经验分享] python标准库学习系列1-BIFS

[复制链接]

尚未签到

发表于 2017-5-3 07:18:32 | 显示全部楼层 |阅读模式
abs(x)
返回数值的绝对值,参数x为整形或者浮点型

all(iterable)
判断迭代器对象中的元素是否全为真,若是则返回真,等价代码如下:

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

any(iterable)
判断迭代器对象中的元素是否有任意一个元素为真,若是则返回真。

basestring()

  • str 和 unicode的超类,不能被实例化。但是可以用于判断一个对象是否是字符串型的,isinstance(obj, basestring)=isinstance(obj, (str, unicode))

bin(x)

  • 将整形的数值转换为字符串类型的2进制格式,若x不是一个整形,则必须拥有返回int(long)类型的__index__()方法

bool(x)

  • 将对象转换成bool类型的值

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

  • 将source对象转换成一个字节数组,如果1.source是字符串类型的,则encoding参数必须给定,返回source.encode()。2.如果source是一个整数,则数组大小值将被设置为source,每个数组元素都是个空字节(0)。3.如果是个可迭代对象,则每个元素都必须是[0,256)之间的整数,该迭代对象的内容即位数组内容。

callable(object)

  • 判断对象是否为可调用对象

chr(i)

  • 将i转换成对应的ascii字符,0<=i<=255

cmp(x,y)

  • 比较函数

delattr(object, name)

  • 删除objct中名为name的属性,等同于del object.name

dir([object])

  • 不带参数返回当前的local scope,否则返回参数的属性列表

divmod(a, b)

  • 返回a,b商和余数的元组,相当于(a // b, a % b).

enumerate(sequence, start=0)
返回列表元素和其位置的元组的enumerate对象,可用于循环迭代

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

filter(function, iterable)

  • 函数式编程的支持函数,过滤出使得function返回True的iterable中的元素,如果iterable是字符串类型或者元组类型(tuple),则返回字符串或者tuple。如果function参数为None,则元素本身为真的被返回。filter(function, iterable)等价于[item for item in iterable if function(item)] ,如果function为None则,等价于[item for item in iterable if item]

getattr(object, name[, default])

  • 返回object名字为name的属性值,如果不存在该属性,若有default参数则返回default,否则抛出异常

      globals()

      • 返回当前模块的全局符号表,它返回的是定义时的模块,而不是引入模块的全局符号表。

      hasattr(object, name)

      • 判断object是否拥有名为name的属性。

      hash(object)

      • 返回对象的hash值,注意,相等的对象应该返回相同的哈希值

      hex(x)

      • 将x转成16进制表示的字符串,若要得到float型的十六进制表示,使用 float.hex()

      id(object)

      • 返回对象全局唯一的id值,唯一标识一个object

      isinstance(object, classinfo)

      • 判断一个对象是否是classinfo的实例。支持类型继承体系。从2.2之后,classinfo,可以是包含多个类型的元组对象

      issubclass(class, classinfo)

      • 判断class是否是classinfo的子类。继承体系。从2.2之后,classinfo,可以是包含多个类型的元组对象

      iter(o[, sentinel])

      • 返回一个迭代对象,它的行为依据是否存在sentinel而不同,1如果不存在sentinel参数,则o必须是个集合型对象,即它必须支持__iter__()方法,或者接收一个从0开始的整形参数的__getitem__(),2如果存在sentinel参数,则o必须是一个可调用对象,返回的迭代对象,每次调用其next()方法,都会调用O(),直到o()==sentinel,则抛出StopIteration

      len(s)

      • 返回集合或者顺序元素的长度

      locals()

      • 返回当前的本地符号表

      map(function, iterable, ...)

      • 支持函数式编程的函数,对每个iterable的元素应用funtion,然后返回应用后的结果列表,若有多个iterable的参数,则function将接收多个参数。该函数总是返回list

      max(iterable[, key])

      • 返回迭代器元素中最大的元素,可以接收一个对比函数(key)

      min(iterable[, key])

      • 返回迭代器元素中最小的元素,可以接收一个对比函数(key)

      open(name[, mode[, buffering]])

      • 以特定的mode打开文件

      pow(x, y[, z])

      • 指数函数,相当于x ** y,如果存在z,则相当于x ** y % z

      range(stop),range(start, stop[, step])

      • 范围函数,range(5) = [0,1, 2, 3, 4],range(1, 5, 2)=[1, 3]

      reduce(function, iterable[, initializer])
      函数式编程的支持函数.等价代码如下:

      def reduce(function, iterable, initializer=None):
      it = iter(iterable)
      if initializer is None:
      try:
      initializer = next(it)
      except StopIteration:
      raise TypeError('reduce() of empty sequence with no initial value')
      accum_value = initializer
      for x in it:
      accum_value = function(accum_value, x)
      return accum_value

      repr(object)

      • 返回对象的字符串表示,object可以通过重定义的__repr__()方法控制结果

      reversed(seq)

      • 返回一个反转的序列

      round(number[, ndigits])

      • 以四舍五入的形式截取小数位,注意round(2.766, 2) = 2.77,  round(2.765, 2) = 2.76

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

      • 列表排序函数,返回一个排序后的新列表

      sum(iterable[, start])

      • 求和函数

      zip([iterable, ...])
      支持函数式编程的函数,实例如下:

      >>> x = [1, 2, 3]
      >>> y = [4, 5, 6]
      >>> zipped = zip(x, y)
      >>> zipped
      [(1, 4), (2, 5), (3, 6)]
      >>> x2, y2 = zip(*zipped)
      >>> x == list(x2) and y == list(y2)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-372264-1-1.html 上篇帖子: python flask应用 Principal 授权认证 下篇帖子: python脚本(自定义sort排序)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表