python入门——python模块

[复制链接]
`ivY) 发表于 2017-12-31 01:19:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
python大数据课堂已经开始了。想转行大数据,数据挖掘,机器学习,人工智能的小伙伴可以关注啦。上一篇带大家了解了python函数。今天我们来继续了解python中的模块。调试环境以python3.6环境为例。需要代码和demo的朋友可以搜索“栾鹏全栈”到我的CSDN博客。; G! C& |7 u- Q6 \. [2 i( ?5 [

+ J5 c) a3 J& y8 e  A' _
第七部分. Python模块" |# F1 O5 e0 |
7、Python模块' U) D( r! Q7 K- w3 J, y- p

" q+ M/ Q5 m+ e1 b* }Python 模块(Module),是一个Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
' Z0 T# T6 u: S. l2 U模块让你能够有逻辑地组织你的Python 代码段。) I6 t5 {( O" w! X& z
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
9 W/ v& M. e, p" C  A! k- k  f7.1、导入模块的三种方法的区别
! p0 e9 [  g8 [) _1)import导入/ W$ ^, @2 f/ c6 ]; y
8 X8 i* N. m% ^7 c" H+ p: _0 _
2)From … import导入5 G: J$ n. B5 {9 p
下面的语句可以将模块中的某一部分导入,它只会将里这个部分单个引入到执行这个声明的模块的全局符号表。这个部分可以是某个函数块,也可以是函数块的子函数块。
: V1 X9 |7 l$ t' o& s
1 }% i; d( E$ z5 v. M, R3)From … import * 导入
. n6 f' O9 |+ r" H前两种语句都是导入模块的部分,只是部分导入的位置不同,而使用From …import*则是导入模块的全部项目,尽量少用,太耗内存。
8 Z8 q$ s1 r' {. R1 h7.2、命名空间和作用域
9 w; x- A, D3 e+ L" g0 h' g3 S变量是拥有匹配对象的名字(标识符)。
0 h2 ]4 U1 h% O& E2 k6 J% B命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。每个函数都会有自己的命名空间,当变量出现在函数内部时,Python默认其为局部变量,若存在一个与局部变量重名的全局变量,则由局部变量覆盖全局变量。) Y. \' U; U( d" P) x
Python的命名空间分局部命名空间和全局命名空间。0 g, `# Y5 s' M5 D0 ?: o8 ~: M& i
7.3、找出模块中所有的模块名、函数名、变量名(dir()函数)* Q! `3 u* ]5 h2 T. u; o% c
/ v* W9 a$ \. O/ G" S7 i
以上实例输出结果:
: Y5 d& ?3 q! @! E9 T
7 J4 T  b; l; i- i( H7.4、查看全局变量和局部变量命名空间
3 W: d* ?& E4 f4 G3 S- D根据调用地方的不同,globals()和 locals()函数可被用来返回全局和局部命名空间里的名字。
( ]% {' r8 m/ w7 e7 W: d- d如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。
, h7 T7 K( E) O9 j* l: U$ l如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。2 K6 S& ~2 h8 ^3 v1 @
两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。$ ]; S. k$ u2 V  ^; K6 ]2 N
7.5、 reload() 函数
: s/ E8 l* L- v: G1 C  a2 Z0 E当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次。
! B) s- c  S4 k7 k) m4 N因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数。该函数会重新导入之前导入过的模块。语法如下:在这里,module_name要直接放模块的名字,而不是一个字符串形式。4 {7 e% ?' }: l6 U
$ M% k/ G( M+ Y2 s
下节预告:python中I/O函数. g, A2 b  j0 z* S5 n# s) Y+ C

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

扫一扫关注我们

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