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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,200评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,526评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,321评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,601评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,446评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,345评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,753评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,405评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,712评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,743评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,529评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,369评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,770评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,026评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,301评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,732评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,927评论 2 336