Python基础4:Python核心模块

本章描述了一些基本的标准库模块。 任何大型 Python 程序都有可能直接或间
接地使用到这类模块的大部分。

一、核心模块介绍

1.1.内建函数和异常
下面的这两个模块比其他模块加在一起还要重要: 定义内建函数(例如 len, int, range ...)的 _ builtin _ 模块, 以及定义所有内建异常的 exceptions模块。
Python 在启动时导入这两个模块, 使任何程序都能够使用它们。

1.2. 操作系统接口模块
这类的模块包括: 提供文件和进程处理功能的 os 模块; 提供平台独立的文件名处理 (分拆目录名, 文件名, 后缀等)的 os.path 模块; 以及时间日期处理相关的 time/datetime 模块。
网络和线程模块同样也可以归为这一个类型。

1.3. 类型支持模块
string 模块实现了常用的字符串处理。math 模块提供了数学计算操作和常量(pi, e 都属于这类常量), cmath 模块为复数提供了和 math 一样的功能。

1.4. 正则表达式
re 模块为 Python 提供了正则表达式支持。正则表达式是用于匹配字符串或特
定子字符串的有特定语法的字符串模式。

1.5. 语言支持模块
sys 模块可以让你访问解释器相关参数,比如模块搜索路径,解释器版本号等。
operator 模块提供了和内建操作符作用相同的函数。 copy 模块允许你复制对
象, gc 模块提供了对垃圾收集的相关控制功能。


二、 __builtin__ 模块

这个模块包含 Python 中使用的内建函数。 一般不用手动导入这个模块; Python 会帮你做好一切。

2.1. dir函数
dir 返回由给定模块, 类, 实例, 或其他类型的所有成员组成的列表。
可以用来打印某个实例具备的函数。

dir([])  
output:  ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove','reverse', 'sort']

2.2. vars函数
vars 函数与此相似, 它返回的是包含每个成员当前值的字典。如果你使用不带参数的 vars , 它将返回当前局部名称空间的可见元素(同 locals() 函数 )。

>>> book = "library"
>>> pages = 250
>>> scripts = 350
>>> print(vars()['book'])
library
>>> print ("the %(book)s book contains more than %(scripts)s scripts" % vars())
the library book contains more than 350 scripts

2.3. type函数
type 函数允许你检查一个变量的类型。

>>> book = "library"
>>> pages = 250
>>> scripts = 350.0
>>> print(type(book))
<class 'str'>
>>> print(type(pages))
<class 'int'>
>>> print(type(scripts))
<class 'float'>

2.4. isinstance函数
可以使用 isinstance 函数,它会检查一个对象是不是给定类(或其子类)的实例。
isinstance() 与 type() 区别:

type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

a = 2
>>> print(isinstance (a,int)) 
True
>>> print(isinstance (a,str)) 
False
>>> print(isinstance (a,(str,int,list)))    # 是元组中的一个返回 True
True

2.5. issubclass函数
issubclass 函数与此相似, 它用于检查一个类对象是否与给定类相同, 或者是
给定类的子类。
注意, isinstance 可以接受任何对象作为参数, 而 issubclass 函数在接受非
类对象参数时会引发 TypeError 异常。

class A:
    pass
class B(A):
    pass
print(issubclass(B,A))    

output: True

2.6. eval函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。

>>> x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> print( eval("__import__ ('os').getcwd()") )
F:\projects\test
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容