zoukankan      html  css  js  c++  java
  • python内置函数 3

    int( [x[, radix]])
    转换为字符串或数字为纯整数。如果参数是一个字符串,它必须包含一个可能有符号的十进制数作为一个 Python 整 数,可能嵌入空格。以 radix 参数给出的基数为基础进行转换(这是默认 10),可以是任何在[2,36]范围内的整数,或零。如果基数为零,根据字符串 的内容猜测正确的基数。如果指定的基数 x
    是不是一个字符串,引发 TypeError 异常。否则,参数可以是一个普通或长整数或浮点数。转换浮点数截断为整 数(直到零)。如果参数是整数范围之外的,将返回一个 long object。如果没有给出参数,返回0

    isinstance( object, classinfo)

    返 回 true 如果该 object 参数是 classinfo 的一个实例,或其(直接或间接)子类的实例。也返回 true 如果classinfo 是一种 type 对象(new-style class)和是该类型或其(直接或间接)子类的对象。如果 object
    不是 class 一个的实例或者给定类型的对象,函数返回 false。如果 classinfo 既不是一个类的对象也不是一个 type 的对象,它可能是一个包含类或类型的对象的 tuple,也可能包含其他的递归元组(序列类型不
    接 受)。如果 classinfo 不是一个类,类型或元组类,类型,或者这种元组,将抛出一个 TypeError 异常。

    issubclass( class, classinfo)
    返回 true 如果 class 是 classinfo(直接或间接)的子类。一个类被认为是自己的子类。 classinfo 可能是类对象元组,在这种情况下元组中的每个 classinfo 项将被进行测试。在其他任何情况下,抛出一个
    TypeError 异常。

    iter( o[, sentinel])
    返 回一个迭代器对象。第一个参数有不同的解释,视第二个参数的存在与否而定。如果没有第二个参数,o 必须是一个对象的集合,支持迭代协议 (__iter__()方法),或者它必须支持序列协议(以整数 0 开
    始的参数__getitem__()方法)。如果它不支持这些协议,将抛出 TypeError 异常。如果第二个参数,sentinel,给出,然后 o 必须是可调用的对象。在这种情况下创造的每一个迭代器无参调用 o 它的next()方法,如果返回值等于 sentinel,将抛出 StopIteration,否则将返回其它的值。

    len( s)
    返回一个对象的长度。参数可以是一个序列(字符串,元组或列表)或映射(词典)。

    list( [iterable])
    返 回一个列表的 items 与可迭代的项目相同的顺序且相同的 items。可迭代可以是一个序列,一个容器,支持迭代,或一个迭代器对象。如果可迭代已经是一 个列表,将返回一个副本,类似的于 iterable[:]。例如,list('abc')返回['a', 'b', 'c']和 list( (1, 2, 3) ) 返回[1,2,3]。如果没有给出参数,返回一个新的空列表,[]。

    locals( )
    更新并返回一个代表当前 local 符号表的字典。警告:本词典的内容不应该被修改,更改可能不会影响由interpreter 用作局部变量的值。

    long( [x[, radix]])
    转换字符串或数字为一个长整数。如果参数是一个字符串,它必须包含一个任意大小的可能有符号的数字,并有可能嵌入空格。radix 参数解释和 int()一 样,而且只能当 x 是一个字符串时才需要它。否则,参
    数可以是一个普通或长整数或浮点数,返回与其相同值的长整数。转换浮点数到截断的整数(直到零)。如果 没有给出参数,返回 0L。

    map( function, iterable, ...)
    应用 function 在 iterable 的每一个项上并返回一个列表。如果有其他可迭代的参数,函数必须采取许多参数应用于来自所有 iterables 项。如果一个迭代比另一个 短,将以 None 进行扩展。如果 function 是
    None,将假设为 identity function,如果有多个参数,map()返回一个列表包含所有 iterables 相应的项目的元组组成。可迭代的参数可能是一个序列或任何可迭代的 对象,结果总是一个列表。

    max( iterable[, args...][key])
    一个 Iterable 参数,返回其中一个最大的非空可迭代项,(如一个字符串,元组或列表)。如有多个参数,返回最大的参数。
    可选的 key 参数指定带一个参数的排序函数,用于 list.sort()。key 参数,如果有,必须在以 keyword的形式(例如,"max(a,b,c,key=func)")。

    min( iterable[, args...][key])
    一个 Iterable 参数,返回其中一个最小的非空可迭代项,(如一个字符串,元组或列表)。如有多个参数,返回最小的参数。
    可选的 key 参数指定带一个参数的排序函数,用于 list.sort()。key 参数,如果有,必须在以 keyword的形式(例如,"max(a,b,c,key=func)")。

    object( )
    返回一个新特征的对象。object 是所有 new style class 的基类。它的方法是新样式类的所有实例共有的。

    oct( x)
    转换一(任意大小)整数到一个八进制字符串。其结果是一个有效的 Python 表达式。

    open( filename[, mode[, bufsize]])
    打开一个文件,返回一个在 3.9 节中描述的文件类型的对象,`File Objects'。如果文件无法打开,IOError异常引发。当打开一个文件,最好调用 open(),而不是直接用 file 构造。
    前两个参数与 stdio 的 fopen()函数一样:filename 是要打开的文件名,mode 是一个字符串,表示该文件是如何被打开。

    mode, 最常用的值是'r'读,'w'写(文件如果已存在就截断),和'a'追加(在一些 Unix 系统意味着所有写入追加到文件尾部,无论其现在的 seek 位 置)。如果模式被省略,默认为'r'等。当打开一个二进制文
    件,你应该模式值加上'b',打开二进制模式,从而提高可行性。 (在某些不区分二进制文件和文本文件的系统追加‘b’,,它将作为文档)。下面是 mode 的可能值:可选 bufsize 参数指定文件的所需缓冲区大小:0 表示无缓冲,1 表示行缓冲,任何其他的正数使用其大小(在约)的一个缓冲区。负数 bufsize,使用系统默认,这 tty 设备通常使用行缓冲和其他文件的完全缓
    冲。如果省略,使用系统默认。
    模式'r+', 'w+'和'a+'打开文件进行更新(请注意,'w+'截断该文件)。附加'b'的模式在区分二进制和文本文件的系统上以二进制方式打开文件,系统上没有这个区别,加入了'b'没有效果。

    ord( c)
    给 定一个长度为 1 的字符串,返回一个整数,当参数是一个 Unicode 对象,代表字符的 Unicode 代码,或参数是一个 8 位字符串,代表其字节值,。例 如,ord('a')返回整数 97,ord(u'u2020')返回 8224。这
    是 8 位串 chr()和用于 Unicode 对象的 unichr()的逆函 数。如果给出 Unicode 参数和 Python 是 UCS2Unicode 的,字符的代码点必须在范围[0 .. 65535]内,否则字符串的长度是 2,抛出一个 TypeErro。
    pow( x, y[, z])返回 x 的 Y 次方,如果给出 z,返回 x 的 y 次方,模 Z(比 pow(x, y) % z 更有效)的。这两个参数的形式
    pow(x, y),相当于:x ** yproperty( [fget[, fset[, fdel[, doc]]]])
    返回一个 new-style 类(从 object 派生的类)的属性。
    fget 是一个获取属性值的 function,同样 fset 是设置属性值的 function,fdel 为删除属性的函数。典型的用途是定义一个托管属性 x:
    class C(object):
    def __init__(self): self._x = None
    def getx(self): return self._x
    def setx(self, value): self._x = value
    def delx(self): del self._x
    x = property(getx, setx, delx, "I'm the 'x' property.")

    如果给出,doc 将是该属性的文档字符串。否则,属性将复制 fget 的文档字符串(如果存在)。这使得有可能轻松地使用 property() 作为 decorator 创造只读属性:
    class Parrot(object):
    def __init__(self):
    self._voltage = 100000
    @property
    def voltage(self):
    """Get the current voltage."""
    return self._voltage
    原来的 voltage()方法成为一个`getter'同一名称的只读属性。

    range( [start,] stop[, step])
    这 是一个通用函数来创建包含算术级数的列表,这是经常使用于循环。该参数必须是普通整数。如果step 参数被省略,默认为 1。如果省略 start 参数,默认 为 0。完整形式是返回一个普通整数列表[start,
    start + step, start + 2 * step, ...]。step 不能为零(否则引发 ValueError)。例如

    >>> range(10)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> range(1, 11)
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> range(0, 30, 5)
    [0, 5, 10, 15, 20, 25]
    >>> range(0, 10, 3)
    [0, 3, 6, 9]
    >>> range(0, -10, -1)
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>> range(0)
    []
    >>> range(1, 0)
    []

    raw_input( [prompt])
    如果 prompt 参数存在,它被写入到标准输出,结尾没有换行。然后函数从输入行读取,将其转换为一个字符串(去掉换行),后返回。当为 EOF,抛出 EOFError。例如:
    >>> s = raw_input('--> ')
    --> Monty Python's Flying Circus
    >>> s
    "Monty Python's Flying Circus"
    如果的 ReadLine 模块被加载,然后 raw_input()将使用它来提供详细行编辑和历史特性。reduce( function, iterable[, initializer])使 用带两参数的函数从左到右计算 iterable 的项,reduce 这 iterable 得到一个数字。例如,
    reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 就是计算 ((((1+2)+3)+4)+5)。左参数 x,是累加值和右边的参数,y,是 iterable 中更新的值。如果可选的 initializer 存在,在计 算中摆在可迭代的项的前面,当 iterable 为
    空时,作为默认。如果没有给出 initializer,则只包含一项,返回第一项。

    reload( module)
    重新导入先前导入的模块。该参数必须是一个模块对象,因此它之前必须已成功导入。如果您使用外部编辑器编辑源文件的模块,并想不离开 Python 解释器尝试新版本,这是有用的。返回值是模块对象(与

    module 参数相同的值)。
    当执行 reload(module)时:
    Python 模块代码重新编译和模块级代码重新执行,定义绑定在模块词典中名称的新的对象。该扩展模块初始化函数不会第二调用。
    如同 Python 中的其它所有的对象,只有引用计数下降到零,对象才会被回收。
    在模块命名空间的名称更新为指向任何新的或更改过的对象。
    旧对象的其他引用(如引用外部模块的名字)不会重新绑定到新的对象,必须在每个命名空间更新它们如果有需要。
    还有其他一些警告:

    如 果一个模块在语法上是正确的,但它的初始化失败,因为它首次导入声明并未绑定它的 locally 名字,但在 sys.modules 模块中存储了一个模块对 象(部分初始化)。要重新加载的模块,您必须先 import 一
    遍(这将绑定名称到部分初始化模块对象),然后才能重新加载()它。当重 新加载一个模块,它的字典(含模块的 global 变量)的保留。重新定义的名称将取代旧的定义,所
    以这通常不是一个问题。如果一个模块的新版本没有定义一 个由旧版本定义的名称,旧的定义仍然存在。
    此功能可用于模块的优势,如果它保持 global 表或对象的缓存----使用 try 语句可以测试 table 的存 在和跳过它的初始化 - 如果需要的话:
    try:
    cache
    except NameError:
    cache = {}
    这是合法的,尽管一般对于重新加载内建或动态加载的模块不会太有用,除开 SYS,__main__和
    __builtin__。在许多情况下,然而,扩展模块的并不被设计成初始化一次以上,以任意方式重新加载可能失败。
    如果一个模块使用 from ... import ...从另一个模块导入对象的,调用 reload(),没有从其中导入的对象一个办法是重新执行 from 语句,另一个是使用 import 和限定名(module.name)。
    如果一个模块实例化类的实例,重新加载的模块定义了类不会影响实例中定义方法 - 他们继续使用旧的类的定义。此对于派生类同样是如。

  • 相关阅读:
    20135315宋宸宁信息安全系统设计基础期末总结
    信息安全系统设计基础第十四周学习总结
    树莓派之web服务器搭建
    读书笔记——《图解TCP/IP》(2/4)
    信息安全系统设计基础第十三周学习总结
    读书笔记——《图解TCP/IP》(1/4)
    读书笔记——《暗时间》汇总
    信息安全系统设计基础第十二周学习总结
    20135315 宋宸宁 、20135333 苏正生——实验3
    读书笔记——《暗时间》(2/2)
  • 原文地址:https://www.cnblogs.com/kuihua/p/5679075.html
Copyright © 2011-2022 走看看