### 3. 不太重要的内建函数
有几个内建的函数在现代Python编程中已经没有必要再学习、知道和使用了。这里保留它们是为了保持为老版本Python编写的程序的向后兼容。
Python程序员、培训人员、学生以及书籍编写人员应该自由跳过这些函数而不用担心遗漏重要的内容。
apply(*function*, *args*[, *keywords*])
The *function* argument must be a callable object (a user-defined or built-in function or method, or a class object) and the *args* argument must be a sequence.The *function* is called with *args* as the argument list;the number of arguments is the length of the tuple.If the optional *keywords* argument is present, it must be a dictionary whose keys are strings.It specifies keyword arguments to be added to the end of the argument list.Calling [apply()](# "apply") is different from just calling function(args), since in that case there is always exactly one argument.The use of [apply()](# "apply") is equivalent to function(*args,**keywords).
自2.3版后废弃:使用function(*args,**keywords)来代替apply(function,args,keywords)(参见[*Unpacking Argument Lists*](#))。
buffer(*object*[, *offset*[, *size*]])
*object*参数必须是一个支持缓冲区调用接口的对象(例如字符串、数组和缓冲区)。将创建一个新的引用*object*参数的缓冲区对象。缓冲区对象将是一个从*object*的起点开始的切片(或者从指定的*offset*)。切片将扩展到*object*对象的末尾(或者通过*size*参数指定的长度)。
coerce(*x*, *y*)
Return a tuple consisting of the two numeric arguments converted to a common type, using the same rules as used by arithmetic operations.If coercion is not possible, raise [TypeError](# "exceptions.TypeError").
intern(*string*)
Enter *string* in the table of “interned” strings and return the interned string – which is *string* itself or a copy.Interning strings is useful to gain a little performance on dictionary lookup – if the keys in a dictionary are interned, and the lookup key is interned, the key comparisons (after hashing) can be done by a pointer compare instead of a string compare.Normally, the names used in Python programs are automatically interned, and the dictionaries used to hold module, class or instance attributes have interned keys.
2.3版中的变化:Interned strings are not immortal (like they used to be in Python 2.2 and before);you must keep a reference to the return value of [intern()](# "intern") around to benefit from it.
脚注
| [[1]](#) | 它极少被使用,所以不应该成为语句。 |
|-----|-----|
| [[2]](#) | 当前在没有setvbuf()的系统上指明缓冲大小是没有效果的。该接口指明缓冲大小不是通过调用setvbuf()函数来实现的,因为在执行任意的I/O操作后再调用该函数可能会导致内存转储,同时也没有一个可靠的方法来判断这种情况。 |
|-----|-----|
| [3] | In the current implementation, local variable bindings cannot normally be affected this way, but variables retrieved from other scopes (such as modules) can be.This may change. |
|-----|-----|
- Python 2 教程
- 1. 吊吊你的胃口
- 2. Python 解释器
- 3. Python简介
- 4. 控制流
- 5. 数据结构
- 6. 模块
- 7. 输入和输出
- 8. 错误和异常
- 9. 类
- 10. 标准库概览
- 11. 标准库概览 — 第II部分
- 12.现在怎么办?
- 13. 交互式输入的编辑和历史记录
- 14. 浮点数运算:问题和局限
- Python 2 标准库
- 1. 引言
- 2. 内建函数
- 3. 不太重要的内建函数
- 4. 内建的常量
- 5. 内建的类型
- 6. 内建的异常
- 7. String Services
- 8. Data Types
- 9. Numeric and Mathematical Modules
- 10. File and Directory Access
- 11. Data Persistence
- 13. File Formats
- 14. Cryptographic Services
- 15. Generic Operating System Services
- 16. Optional Operating System Services
- 17. Interprocess Communication and Networking
- 18. Internet Data Handling
- 20. Internet Protocols and Support
- 26. Debugging and Profiling
- 28. Python Runtime Services
- Python 2 语言参考
- 1. 简介
- 2. 词法分析
- 3. 数据模型
- 4. 执行模型
- 5. 表达式
- 6. 简单语句
- 7. 复合语句
- 8. 顶层的组件
- 9. 完整的语法规范
- Python 3 教程
- 1. 引言
- 2. Python 解释器
- 3. Python简介
- 4. 控制流
- 5. 数据结构
- 6. 模块
- 7. 输入和输出
- 8. 错误和异常
- 9. 类
- 10. 标准库概览
- 11. 标准库概览 — 第II部分
- 12.现在怎么办?
- 13. 交互式输入的编辑和历史记录
- 14. 浮点数运算:问题和局限