python入门——python模块

[复制链接]
`ivY) 发表于 2017-12-31 01:19:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
python大数据课堂已经开始了。想转行大数据,数据挖掘,机器学习,人工智能的小伙伴可以关注啦。上一篇带大家了解了python函数。今天我们来继续了解python中的模块。调试环境以python3.6环境为例。需要代码和demo的朋友可以搜索“栾鹏全栈”到我的CSDN博客。
% [, X  E) \& K1 g3 c" B! x! I: R) l, J# U0 E( }1 Y$ }6 s4 t# ~) t% Q
第七部分. Python模块
1 V% p7 t% z3 f* p. G
7、Python模块
/ j; i9 ?) t6 e1 D1 M9 s; M4 ~8 T* r: T+ D( n6 g! ?# g. o
Python 模块(Module),是一个Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。$ J+ p/ W% M' [+ u8 s
模块让你能够有逻辑地组织你的Python 代码段。
/ P, v9 s2 O7 I: R' Z9 y把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
0 h! X# A2 n7 B7.1、导入模块的三种方法的区别) M" H) a0 w; W3 Y- q
1)import导入
8 f" p5 u3 ~- _7 A& f) h: y5 S; J
$ |$ h7 b8 \) K9 o& ~2)From … import导入8 Z; }& x; u$ ]9 y& F
下面的语句可以将模块中的某一部分导入,它只会将里这个部分单个引入到执行这个声明的模块的全局符号表。这个部分可以是某个函数块,也可以是函数块的子函数块。1 h" B- B& `1 d$ p* Q

1 q: E9 n4 q7 Q/ N3)From … import * 导入
- y5 \* G: n( x) W! j" K前两种语句都是导入模块的部分,只是部分导入的位置不同,而使用From …import*则是导入模块的全部项目,尽量少用,太耗内存。
* v7 o5 a) e* M- ?7.2、命名空间和作用域
/ I5 f& |3 O; Y; D4 l. J# F. \变量是拥有匹配对象的名字(标识符)。
; Z' F" B+ K+ y3 J6 p- L' w命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。每个函数都会有自己的命名空间,当变量出现在函数内部时,Python默认其为局部变量,若存在一个与局部变量重名的全局变量,则由局部变量覆盖全局变量。2 j+ V# p. A7 S# ]9 H0 Z
Python的命名空间分局部命名空间和全局命名空间。
8 e3 {5 [( p& s) C( G" I7.3、找出模块中所有的模块名、函数名、变量名(dir()函数)7 ?3 Y2 ~# L- P5 E" k& y* m$ A, `
1 S7 j1 c- B4 c8 w( j/ ^
以上实例输出结果:$ o$ c  y7 S3 T9 E9 }5 D- }; }8 \: j. h
+ D+ J8 c+ d  x- e8 _5 m4 @
7.4、查看全局变量和局部变量命名空间, \  x7 ]3 L* R0 _
根据调用地方的不同,globals()和 locals()函数可被用来返回全局和局部命名空间里的名字。7 G2 |% ^0 f% n9 ]2 x, z
如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。
3 k1 j* ]6 P8 v# |; y! b, M+ A$ Z如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。
: x  z0 `+ V2 j% v两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。
. K- [5 n3 e8 k+ G2 M/ z7.5、 reload() 函数
/ T0 U" {$ K5 H# u5 Z) q: q8 X当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次。0 `- i- I/ ~4 U% U; P9 m( i2 ]8 O
因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数。该函数会重新导入之前导入过的模块。语法如下:在这里,module_name要直接放模块的名字,而不是一个字符串形式。
9 A) h4 n2 s9 B" c. C# X( h6 E- O% S) _0 u4 M9 x
下节预告:python中I/O函数3 Z# g2 X# W7 ~  _4 c: B4 t' ~

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

扫一扫关注我们

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