python入门——python模块

[复制链接]
`ivY) 发表于 2017-12-31 01:19:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
python大数据课堂已经开始了。想转行大数据,数据挖掘,机器学习,人工智能的小伙伴可以关注啦。上一篇带大家了解了python函数。今天我们来继续了解python中的模块。调试环境以python3.6环境为例。需要代码和demo的朋友可以搜索“栾鹏全栈”到我的CSDN博客。
' [6 y, P4 i9 y) k* f# o% C  k6 r6 U9 ^% L4 A# y( W" g
第七部分. Python模块
) R4 F3 q; V  o  K: s6 t  ]( [
7、Python模块, A* ~2 ~4 ]  A* m* \3 S+ ]

$ O" _+ l2 N% U4 O) IPython 模块(Module),是一个Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
2 R! N, ~' m0 c/ u模块让你能够有逻辑地组织你的Python 代码段。/ g9 l; w( o( B6 `, j
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。$ t1 s# H9 a" l; d2 Y
7.1、导入模块的三种方法的区别
8 T3 P0 S9 {4 y; K* K8 C1)import导入
5 g$ i4 T  |# o" D. S1 ]  o8 g. B  d7 `3 B0 @: n
2)From … import导入
! B4 p4 ], e' @, y- P' y  y下面的语句可以将模块中的某一部分导入,它只会将里这个部分单个引入到执行这个声明的模块的全局符号表。这个部分可以是某个函数块,也可以是函数块的子函数块。% S1 o" O  @) G
; \& Y8 q9 l6 h6 o; n( Z
3)From … import * 导入
+ Y( z" Z! n7 L前两种语句都是导入模块的部分,只是部分导入的位置不同,而使用From …import*则是导入模块的全部项目,尽量少用,太耗内存。
, P9 r: [: R' m& ?1 r' a: |7.2、命名空间和作用域
' c' o( n- X9 }" f- a$ @+ Q% v8 I+ M变量是拥有匹配对象的名字(标识符)。$ `$ N$ w- X& Y& u
命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。每个函数都会有自己的命名空间,当变量出现在函数内部时,Python默认其为局部变量,若存在一个与局部变量重名的全局变量,则由局部变量覆盖全局变量。
* O1 \7 t' m+ D/ lPython的命名空间分局部命名空间和全局命名空间。
5 J) q$ K  H8 r7.3、找出模块中所有的模块名、函数名、变量名(dir()函数)
! W! T. D# h& y! ^0 u3 s* `$ O* }+ _
" ?6 B  _+ i7 d$ F% q9 Z以上实例输出结果:+ j) ?0 Z6 a. V* W2 V& r& q. }
* _/ p9 k* U5 h* d
7.4、查看全局变量和局部变量命名空间
3 h( A# o, C; g3 C3 ]/ W根据调用地方的不同,globals()和 locals()函数可被用来返回全局和局部命名空间里的名字。) R, M: P8 P5 E/ }+ H3 @: u0 q5 j
如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。8 S( ~: y+ ]/ w- C2 U
如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。
. T/ v. y$ r  d0 ~/ S6 p) M两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。+ E* r/ Q6 D% s. e2 V
7.5、 reload() 函数
4 W/ n9 Y1 K! W( G; K9 N) ~当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次。
) v4 ?6 Q( P# D3 n3 z因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数。该函数会重新导入之前导入过的模块。语法如下:在这里,module_name要直接放模块的名字,而不是一个字符串形式。
8 T9 i  t" k3 S+ j: Z; u
" V4 p. W& u) J3 o8 a/ V
下节预告:python中I/O函数
1 e3 C+ Q' _7 A0 d5 v

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图