Python内建函数(B)

2019-03-06 12:52|来源: 网络

  英语水平不咋滴,翻译过程中有错误或不准确的望大家指正: ),示例都是俺在命令提示符敲的, 尽量概括所有的用法。希望与Pythoner们共同打造更好的Python学习氛围!(接下来两天有事不能更新了)
  • basestring()

说明:basestring是str和unicode的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为str或者unicode的实例,isinstance(obj, basestring)等价于isinstance(obj, (str, unicode));

示例:

>>> isinstance("Hello world", str)
True
>>> isinstance("Hello world", basestring)
True
>>> isinstance(u"你好", unicode)
True
>>> isinstance(u"你好", basestring)
True

 

  •  bin(x)

说明:将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法__index__()并且返回值为integer;

参数x:整数或者包含__index__()方法切返回值为integer的类型;

示例:

>>> bin(35)
'0b100011'
>>> class myType:
...   def __index__(self):
...     return 35
...
>>> myvar = myType()
>>> bin(myvar)
'0b100011'

 

  • bool([x])

说明:将x转换为Boolean类型,如果x缺省,返回False,bool也为int的子类;

参数x:任意对象或缺省;

示例:

>>> bool(0)
False
>>> bool("abc")
True
>>> bool("")
False
>>> bool([])
False
>>> bool()
False
>>> issubclass(bool, int) #bool is a subclass of int
True

 

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

说明:bytearray([source [, encoding [, errors]]])返回一个byte数组。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。

参数source: 

如果source为整数,则返回一个长度为source的初始化数组;

如果source为字符串,则按照指定的encoding将字符串转换为字节序列;

如果source为可迭代类型,则元素必须为[0 ,255]中的整数;

如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray.。

示例:

 

>>> a = bytearray(3) 
>>> a
bytearray(b'\x00\x00\x00')
>>> a[0]
0
>>> a[1]
0
>>> a[2]
0
>>> b = bytearray("abc")
>>> b
bytearray(b'abc')
>>> b[0]
97 
>>> b[1]
98
>>> b[2]
99
>>> c = bytearray([1, 2, 3])
>>> c
bytearray(b'\x01\x02\x03')
>>> c[0]
1
>>> c[1]
2
>>> c[2]
3
>>> d = bytearray(buffer("abc"))
>>> d
bytearray(b'abc')
>>> d[0]
97
>>> d[1]
98
>>> d[2]
99

相关问答

更多
  • 【区别】: 标准库函数都需要import xxx才能取得。 内建函数都在__builtins__里面,在global里直接就能用。 【补充】: 1.python中,我们可以通过对内建的比较函数进行自定义,来实现运算符重载。 我们常用的比较运算符有 大于 > 对应的内建比较函数为 __gt__() 大于等于 >= 对应的内建比较函数为 __ge__() 等于 == 对应的内建比较函数为 __eq__() 小于 < 对应的内建比较函数为 __lt__() 小于等于 <= 对应的内建比较函数为 __le__() ...
  • writer = open(‘/tmp.log', 'a', encoding='utf-8') # 以追加模式打开tmp.log文件,编码为utf-8 writer.write('开始处理...') # 写入内容 writer.write('%(tile)s %(author)s %(size)d %(summary)s' % book) writer.write('处理完毕') writer.flush() # 刷新缓存 writer.close() # 关闭文件
  • /usr/lib/python2.7 2.7也可能是3.* 文件夹里面 很多 .Py 的文件 和 .pyc 的文件 前者是源文件,后者已经进行了预编译 这是模块,模块中设计的函数就在里面。 比如 re、socket、string。 内建函数可能也在某个文件中,没仔细找
  • 不认识的函数可以在shell 下运行help(你的函数) 建议找本教程看,偏手册的有python in a nutshell
  • >>> import __builtin__ >>> dir(__builtin__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'Buffer Error', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'Environme ntError', 'Exception', 'False', 'FloatingPointErro ...
  • 字典(dict)下列字典的平均情况基于以下假设: 1. 对象的散列函数足够撸棒(robust),不会发生冲突。 2. 字典的键是从所有可能的键的集合中随机选择的。小窍门:只使用字符串作为字典的键。这么做虽然不会影响算法的时间复杂度,但会对常数项产生显著的影响,这决定了你的一段程序能多快跑完。操作平均情况最坏情况复制[注2]O(n)O(n)取元素O(1)O(n)更改元素[注1]O(1)O(n)删除元素O(1)O(n)遍历[注2]O(n)O(n) 注: [1] = These operations rely o ...
  • 三种⽅法可以查看内建模块的代码,以random模块为例: 1. 使⽤help(random) 2. 利⽤random.__file__查看位置,然后打开后缀名为.py的⽂件。 3. 命令⾏输⼊python -v,然后倒⼊模块时,会⾃动显⽰位置。
  • 不是这样的。 方法的概念,大概等同于函数,内建函数在python中指的是,无需import即可使用的函数。 它们位于一个叫做__builtin__的模块里。
  • dir(...) dir([object]) -> list of strings Return an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it: No argument: the names in the current scope. Module object: the module attributes. ...
  • 这是一个有趣的问题,因为如果键是另一个非索引类型(比如整数),那么就不会产生错误,这是由于一系列细微的事情造成的: 排序(mydict,...)尝试迭代一个字典使用相当于iter(mydict) ,它将调用mydict.__iter__() 迭代字典会产生键 ,实际上iter(mydict)和mydict.iterkeys()是一样的。 您的密钥是字符串,并且由于字符串是可索引的,因此itemgetter(1)将对字符串值起作用,从而获取字符串中的第二个字符。 如果任何字符串的长度为1个字符,那么您的代码将 ...