import__( name[, globals[, locals[, fromlist[, level]]]])
被 import 语句调用的函数。 它的存在主要是为了你可以用另外一个有兼容接口的函数 来改变 import 语句的语义. 为什么和怎么做的例子, 标准库模块 ihooks 和 rexec. 也可以查看 imp, 它定义了有用的操作 ,
你可以创建你自己的 __import__()函数.

例 如, 语句"import spam" 结果对应下面的调用: __import__('spam', globals(), locals(), [], -1);
语句 "from spam.ham import eggs"
结果对应调用 "__import__('spam.ham', globals(), locals(), ['eggs'], -1)".

注意即
使 locals()和['eggs']作为参数传递, __import__() 函数不会设置局部变量 eggs; import 语句后面的代码完
成这项功能的. (实事上, 标准的执行根本没有使用局部参数 , 仅仅使用 globals 决定 import 语句声明
package 的上下文.)

当 name 变量是 package.module 的形 式, 正常讲, 将返回顶层包 (第一个点左边的部分), 而不是名为name 的模块. 然而, 当指定一个非空的 formlist 参数, 将返回名为 name 的模块. 这样做是为了兼容为不
同种类的 import 语句产生的字节码; 当使用 "import spam.ham.eggs", 顶层包 spam 必须在导入的空间中,但是当使用"from spam.ham import eggs", 必须使用 spam.ham 子包来查找 eggs 变量. 作为这种行为的
工作区间, 使用 getattr()提取需要的组件. 例如, 你可以定义下面:
def my_import(name):
mod = __import__(name)
components = name.split('.')
for comp in components[1:]:
mod = getattr(mod, comp)
return mod

level 指定了是否使用相对或绝对导入. 默认是 -1 将使用将尝试使用相对或绝对导入. 0 仅使用绝对导入.正数意味着相对查找模块文件夹的 level 层父文件夹中调用__import__。

abs( x)
返回一个数的绝对值。参数也许是一个普通或长整型,或者一个浮点数。如果参数是一个复数,返回它的积。

all( iterable)
如果迭代的所有元素都是真就返回真。
def all(iterable):
for element in iterable:
if not element:
return False
return True

any( iterable)
如果迭代中有一个元素为真就返回真。
def any(iterable):
for element in iterable:
if element:
return True
return False

basestring( )
这个抽象类型是 str 和 unicode 的父类。它不能被调用或初始化,但是它可以使用来测试一个对象是否是str 或 unicode 的实例。isinstance(obj, basestring)等价于 isinstance(obj, (str, unicode))

bool( [x])
将一个值转换为 Boolean,使用标准的真测试程序。如果 x 是假或忽略了,将返回 False;否则将返回True.bool 也是一个 class,它是 int 的一个子类,bool 类不能进一步子类化。它仅有 False 和 True 两个实
例。

callable( object)
如果 object 参数可以调用就返回 True,否则返回 False。如果返回 True,它仍然可能调用失败,但是如果返回 False,就永远不可能调用成功。注类是可调用的(调用一个类返回一个实例);类的实例如果有一个_
_call__()方法就是可调用的。

chr( i)
返回一个一个 ascii 码是整数 i 的字符的字符串。例如,chr(97)返回 string 'a'.这和 ord()刚好相反。这参数在[0..255]之间,全部包含。如果超出这个范围,就抛出 ValueError classmethod( function)
返回函数的一个类方法。一个类方法

Return a class method for function. 一个类方法接收类作为它的第一个潜在参数,就像一个实例方法接收一个实例。声明一个类方法,如下:
class C:
@classmethod
def f(cls, arg1, arg2, ...): ...
@classmethod 形式是一个函数 decorator。在函数参考手册的第七章有关函数定义的描述寻找更多的细节.

它即可以在一个类(例如 C.f)上调用,也可以在一个实例上调用。这个实例将忽略它的类。如果一个继承类调用一个类方法,这继承类对象将作为第一个潜在的参数传递。
类方法不同于 C++或 Java 的静态方法。如果你想这样做,使用 staticmethod()。

cmp( x, y)
根据比较两介对象 x 和 y 的结果,返回一个整数。如果 x<y,返回值是负的,如果 x==y,返回 0,如果 x > y,返回一个正数.

compile( string, filename, kind[, flags[, dont_inherit]])
编 译 string 为一个代码对象。代码对象能够通过 exec 语句执行或者通过调用 eval()计算。这 filename 参数指定代码从哪个文件读取。如果不 从文件中读取,就须传递一些可识别的值(通常使用'<string>')。kind 参数指定哪种代码被编译;如果是包含一系列语句组成的子符 串可以‘exec’,如果是由
一个表达式组成,就'eval',如果由一个交互语句组成就‘singlw’(在后面的例子,表达式语句计算的结果不是 None 将打印出来)。
当编译一个多行语句时,应用两个警告:必须以'\n'作为行结束符,同时输入必须至少以一个'\n'作为结束。
如果是以'\r\n'作为行结束,使用 string 的 repalce()方法将其改为‘\n’.
可先的参数 flags 和 dont_inherit 控制影响 string 编译的 future 语句。

complex( [real[, imag]])
创 建一个复数 real + imag*j 或者将一个 string 或者 number 转化为一个复数. 如果第一个参数是一个字符串,它将作为复数解释,函数将被调用,而忽略第二个参数。第二个参数不可能是一个字符串。每一个参
数都可能是一个数字类型包括复 数.如果 imag 省略了, 它默认为 0,函数将当作一个数字转换函数像 int(),

long() and float().如果参数都省略了,将返回 0j.
delattr( object, name)与 setattr()相对的,参数是一个对象和一个 string.string 必须是对象的一个属性。函数删除 object 这个名为 string 的属性。例如,delattr(x, 'foobar')等价于 del x.foobar

dict( [arg])
以 一个可选的位置参数或一组关键词参数初始化一个字典。如果没有给出参数,返回一个空的字典。如果位置参数 arg 是一个映射对象,返回一个字典映射与映射对 象相同的 keys 对应同样的值。那么位置参
数应是一个序列,支持迭代的容器,或者是一个迭代对象。参数的每一个元素也必须是其中的一种,同时每一个包含两 个对象。第一个作为新字典的 key,同时第二个作为这个 key 的值。如果给定的 key 不只
出现一次,这新字典将包含最后一个值。
如果给出的是关键词参数,关键词和与其相关的值都将作为字典的项添加到字典中。如果一个 ke 既作为位置参数和作为一个关键词参数,关键词关联的值将保留在字典中。例如,下面所有返回都等价于
{"one": 2, "two": 3}:
dict({'one': 2, 'two': 3})
dict({'one': 2, 'two': 3}.items())
dict({'one': 2, 'two': 3}.iteritems())
dict(zip(('one', 'two'), (2, 3)))
dict([['two', 3], ['one', 2]])
dict(one=2, two=3)
dict([(['one', 'two'][i-2], i) for i in (2, 3)])

dir( [object])
如果没有参数,返回当前 local 符号表中名字的列表。如果有一个参数将尝试返回这个参数对象的有效属性。从对象的__dict__(如果定义了)属性,类 或 type 对象收集信息。这个列表不一定是完整的。如果
对象是一个模块对象,list 包含模块属性的列表。如果对象是一个 type 或 class 对象,列表 将包含属性的名字,同时递归其基地的属性。否则,列表将包含对象属性的名字,类属性的名字,递归若基类的属性
名字。结果列表按字母顺序排序。例如:

>>> import struct
>>> dir()
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct)
['__doc__', '__name__', 'calcsize', 'error', 'pack', 'unpack']
注:因为 dir()主要在交互提示下方便使用,它尝试提供一给有意思的名字而不是尝试提供严格的或与定义
一样的名字,在 relrase 中它的细节行为也许会改变。

divmod( a, b)
用 两个数字(不是复数)作为参数,返回 long 除法得到的商和余数组成的一对数字。使用混合的操作类型,混合的类型,将应用应用二进制算术操作。对于一般和 长整数,结果与(a // b, a % b)相同。对于浮
点数结果和(q, a % b)相同,q 通常是 math.floor(a / b),但如果是比 1 小,就为 1.在任何情况下 q * b + a% b 与 a 很接近,如果 a % b 是非 0 的,它与 b 有相同的符号,同时 0 <= abs(a % b) < abs(b).

enumerate( iterable)
返回 enumerate 对象. iterable 必须是一个序列, 一个迭代, 或者其它对象它支持迭代.enumerate()返回的iterator 的 next()方法 返回一个元组包含一定的数目(从 0 开始)和从迭代中获取的对应的值。
enumerate() 对于获取一个索引系列很有用: (0, seq[0]), (1, seq[1]), (2, seq[2])

eval( expression[, globals[, locals]])
该参数是一个字符串和可选的 globals 和 locals。如果提供 globals,globals 必须是一个字典。如果提供locals,locals 可以是任何映射对象。2.4 版本修改:以前 locals 被要求是一个字典。
expression 参数是作为一个 Python 表 达式被分析和评价(技术上来说,一个条件列表)使用 globals 以及 locals 字典作为 global 和 local 名字空间。如果提供了 globals 字典但没有'__builtins__',当前 globals
在表达式被分析前被复制到 globals 中。这意味着表达式可以完全访问标准 __builtin__模块和受限的环境。
如果 locals 字典省略则默认为 globals 字典。如果两个字典都被省略,表达式在调用 eval 的环境中执 行。
返回值是计算表达式的结果。语法错误报告为 exceptions。 例如:

>>> x = 1
>>> print eval('x+1')
2
此函数也可以用来执行任意代码的对象(如 compile()创建的)。在这种情况下,传入一个代码对象,而不是一个字符串。该代码对象必须已编译传给'eval'作为这种参数。

提示:EXEC 语句支持是动态执行语句。execfile()函数支持从一个文件中执行语句。globals()和locals()函数分别返回当前的 global 和 local 字典,这对使用 eval()或 execfile()很有帮助。
execfile( filename[, globals[, locals]])这个功能类似于 EXEC 语句,但分析一个文件,而不是一个字符串。这是不同之处在于它的 import 语句不使用模块管理 - 它无条件读取文件,并不会创建一个新的 module。
该参数是一个文件名和两个可选字典。该文件被作为 Python 语 句序列(类似于一个模块)使用 globals
和 locals 作为 global and local 命名空间来分析和计算。如果提供 locals,locals 可以是任何映射对象。以前 locals 被要求是一个字典。如果 locals 字典省略则默认为全局字典。如果两个字典都
被省略,表达式 execfile()被调用的环境中执行。返回值为 None。

警告:默认的 locals 为下面的 locals():不要尝试修改默认的本地词典。如果你需要看到在函数 execfile()返回后 locals 代码的的影响,传递一个明确的 locals 字典。 execfile()不能用于依赖修改函数的locals。

file( filename[, mode[, bufsize]])
文件类型的构造函数
文件对象'。构造函数的参数与下面的内建的 open()函数是一样的。
当打开一个文件,它是最好使用的 open(),而不是直接调用此构造函数。文件更适合检验类型(例如,isinstance(f, file))。

filter( function, iterable)
function 返回 true 时从 iterable 的元素中构造一个列表。迭代可以是一个序列,一个支持迭代的容器,或一个迭代器,如果 Iterable 的是一个字符串或 一个元组,其结果也有这种类型的,否则它始终是一个列
表。如果 function 是 None,假定它是恒等函数,即,迭代是 false 其所有元素都被删除。

请注意,filter(function,iterable),如果函数不为 None 等价于[item for item in iterable if function(item)],如果函数为 None 等价于[item for item in iterable if item]。

float( [x])
将字符串或数字转换或一个浮点数。如果参数是一个字符串,它必须包含一个可能带符号的十进制或浮点数,可能嵌入空格。否则,参数可以是一个普通或长整数或浮点数,返回一个与之相同值的浮点数(在 Python 的浮点精度内)。如果没有给出参数,返回 0.0。
注意:当传递一个字符串,可能会返回 NaN 和 Infinity,这取决于底层 C 库。

frozenset( [iterable])
返 回一个 frozenset 对象,其元素来自于 Iterable。 Frozensets 组没有更新的方法,但可以哈希和其他组成员或作为字典键使用。一个 frozenset 的元素必须是不可改变。内部 sets 也应是 frozenset 对象。如果
迭代没有指定,返回一个新的空集,frozenset ([])。

getattr( object, name[, default])
返 回 object 名为 name 属性的值。名称必须是一个字符串。如果该字符串是对象的其中属性名字,结果是该属性的值。例如,getattr(x, 'foobar')相当于 x.foobar。如果指定的属性不存在,则返回默认提供的,
否则抛出 AttributeError。

globals( )
返回代表当前 global 符号表字典的字典。这始终是当前模块字典(在一个函数或方法内,是在它被定义的模块,而不是被调用的模块)。

hasattr( object, name)
该参数是一个对象和一个字符串。如果字符串是对象的其中一个属性,结果为 True,如果没有返回False。 (这是通过调用的 getattr(对象名称),看是否引发异常与否。)

hash( object)
返回对象(如果有的话)的哈希值。哈希值是整数。它们被用来在词典查找时,作为一个快速比较字典keys 键。具有相同的哈希值,数值相等(即使它们属于不同的类型,因为是 1 和 1.0 的情况)。

help( [object])
调 用内置的帮助系统。 (此功能是为交互使用。)如果没有给出参数,交互式帮助系统启动解释控制台。如果参数是一个字符串,然后是字符串被作为一个 module,function,class,method,keyword 或文档
主题名称和帮助页面名字进行查找后在控制台上打印出来。如果参数是任何 其他类型的对象,将产生该对象的一个帮助页面。

hex( x)
Convert an integer number (of any size) to a hexadecimal string. The result is a valid Python expression. Changed in version 2.4: Formerly only returned an unsigned literal.
转换一个(任意大小)整数为十六进制字符串。其结果是一个有效的 Python 表达式。在 2.4 版本变更:
原只产生一个无符号的文字。
id( object)返回对象的``identity''。这是一个整数(或长整型),这是保证是唯一的,与对象的生命周期一样长。两个非重叠的生命周期的对象可能有相同的 ID()值。 (实现注意:这是对象的地址。)

input( [prompt])
警告:此函数是不安全的,因为用户错误的输入!它期待一个有效的 Python 表达式作为输入,如果输入语法上是无效的,将抛出 SyntaxError。如果地计算过程中有一个的错误,将抛出其他 exceptions。 (另
一方面,有时这是你为特殊使用需要写一个快速脚本。)如果 readline 模块被加载,input()将使用它来提供详细行编辑和历史特性。
考虑使用 raw_input()函数作为从用户进行一般输入。

python内置函数 2的更多相关文章

  1. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  2. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  3. Python基础篇【第2篇】: Python内置函数(一)

    Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...

  4. [python基础知识]python内置函数map/reduce/filter

    python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...

  5. Python内置函数进制转换的用法

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

  6. Python内置函数(12)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string  ...

  7. Python内置函数(61)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...

  8. 那些年,很多人没看懂的Python内置函数

    Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...

  9. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

  10. 【转】实习小记-python 内置函数__eq__函数引发的探索

    [转]实习小记-python 内置函数__eq__函数引发的探索 乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, othe ...

随机推荐

  1. linux中ONBOOT=yes的含义

    在/etc/sysconfig/network-scripts/ifcfg-eth0(确认ONBOOT=yes),其中eth0是设备名 ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡 ...

  2. 编写Java程序最容易犯的21种错误

    1.duplicated code 代码重复几乎是最常见的异味了.他也是refactoring的主要目标之一.代码重复往往来自于copy-and-paste的编程风格.与他相对应oaoo是一个好系统的 ...

  3. The tag 'DataGridTextColumn' does not exist in XML namespace ....

    错误 10 The tag 'DataGridTextColumn' does not exist in XML namespace 'http://schemas.microsoft.com/win ...

  4. 从零开始学Linux[三]:shell脚本学习

    测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试

  5. ubuntu 下安装 wxpython2.8

    echo "deb http://archive.ubuntu.com/ubuntu wily main universe" | sudo tee /etc/apt/sources ...

  6. rosetta common sh: mpiCC command not found解决方法

    在执行多线程编译rosetta时执行: python scons.py bin mode=release extras=mpi -j8 编译安装rosetta 会出现错误sh: mpiCC comma ...

  7. @Autowired获取被@Service注解的bean为null的问题

    先说结论:Spring容器还没有加载完Bean,你就去调用了! 一般的注解没加,bean的名字写错都好检查,但是逻辑错误就需要看清自己的思维过程了. 实例:在使用ActiveMq的过程中,第一步对Ac ...

  8. sdutoj 2609 A-Number and B-Number

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2609 A-Number and B-Numbe ...

  9. Coursera台大机器学习基础课程学习笔记2 -- 机器学习的分类

    总体思路: 各种类型的机器学习分类 按照输出空间类型分Y 按照数据标记类型分yn 按照不同目标函数类型分f 按照不同的输入空间类型分X 按照输出空间类型Y,可以分为二元分类,多元分类,回归分析以及结构 ...

  10. AJAX-----10iframe模拟ajax文件上传效果原理2

    在实际开发中其实我们可以给用户一些提示,比如上传成功或者上传失败,废话不多说,走码: <!DOCTYPE html> <html lang="en"> &l ...