91.模块就是程序

 # hello.py print("Hello, world!")
将其保存在文件hello.py中,这个文件的名称(不包括扩展名.py)将成为模块的名称。这个文件存    储在目录`E:\python(Windows)`或~/python(UNIX/macOS)中。
  >>> import sys>>> sys.path.append('E:/python')>>> import hellohello.world!>>> import hello>>>
结论:导入这个模块时,执行了其中的代码。但如果再次导入它,什么事情都不会发生。如果一定              要重新加载模块,可使用模块importlib中的函数reload,它接受一个参数(要重新加载的              模块)并   返回重新加载的模块。
 >>> import importlib>>> hello=importlib.reload(hello)hello.world!

只包含一个函数的简单模块

  # hello2.py def hello(): print("Hello, world!")输出:>>> import hello2>>> hello2.hello()hello,world!
结论:这样写主要是为了重用代码,将代码放在模块中,就可以在多个程序中使用它们;如果没有放在独立的模块中,就需要在每个程序中重新编写,所以这样写实现了重用代码。

一个包含有条件地执行的测试代码的模块

 # hello4.pydef hello():print('hello,world!')def test():hello()
if __name__=='__main__':test()输出:>>> import hello3>>> hello3.hello()hello,world!>>> hello3.test()hello,world!

将模块放置正确的位置:
方法一:

>>> import sys,pprint
>>> pprint.pprint(sys.path)['','C:\\WINDOWS\\system32','E:\\conda_3\\Scripts','E:\\conda_3\\python36.zip','E:\\conda_3\\DLLs','E:\\conda_3\\lib','E:\\conda_3','C:\\Users\\你好\\AppData\\Roaming\\Python\\Python36\\site-packages','E:\\conda_3\\lib\\site-packages','E:\\conda_3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg','E:\\conda_3\\lib\\site-packages\\win32','E:\\conda_3\\lib\\site-packages\\win32\\lib','E:\\conda_3\\lib\\site-packages\\Pythonwin']

如果要打印的数据结构太大,一行容纳不下,可使用模块pprint中的函数pprint(而不是普通print语句);其中打印的结果可能与这里显示的不完全相同;的要点是,每个字符串都表示一个位置,如果要让解释器能够找到模块,可将其放在其中任何一个位置中;虽然放在这里显示的任何一个位置中都可行,但目录site-packages是最佳的选择,因为它就是用来放置模块的。
例如我们已经在: ‘E:\conda_3\lib\site-packages’,放置了一个

another_hello.py了>>> import another_hello>>> another_hello.hello()hello,world!

方法二:告诉解释器到哪里取找
可以直接修改sys.path,但是这种做法并不常见;标准的做法是将模块所在的目录包含在环境变量PYTHONPATH中:export PYTHONPATH=$PYTHONPATH:~/python;环境变量也是岁操作系统而异的。


关于学习Python的一点学习总结(52->模块就是程序)相关推荐

  1. 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)

    关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...

  2. 关于学习Python的一点学习总结(54->集合->堆->双端队列)

    集合,堆,双端队列 再谈集合set:集合是由内置类set实现的 >>> set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 可使用序列(或其他可 ...

  3. 关于学习Python的一点学习总结(58->匹配对象和编组)

    匹配对象和编组 1.模块re中,查找与模式匹配的子串的函数都在找到时返回MatchObject对象.这种对象包 含与模式匹配的子串的信息,还包含模式的哪部分与子串的哪部分匹配的信息.这些子串部分称 为 ...

  4. 关于学习Python的一点学习总结(47->静态方法和类方法)

    86.静态方法和类方法:静态方法和类方法是这样创建的:将它们分别包装在staticmethod和classmethod类的对象中.静态方法的定义中没有参数self,可直接通过类来调用.类方法的定义中包 ...

  5. 关于学习Python的一点学习总结(41->相关的BIF操作)

    81.一些相关的BIF 1.>>> class BIF:def __init__(self,t):self.t=thasattr(object,name):判断name是否在obje ...

  6. 关于学习Python的一点学习总结(38)

    78.文件: 1.文件的类型:包括ASCII,MIME,.txt等格式. 2.文件的格式类型:(1).MPEG视频:mp4;(2).图片格式:.jpg:(3)powerpoint文档:.ppt; (4 ...

  7. 关于学习Python的一点学习总结(35->关联超类)

    76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry = True def eat(self): if se ...

  8. 关于学习Python的一点学习总结(30->递归实例)

    68.递归 先来两个例子: 1.阶乘 def Fact(num):result=numfor i in range(1,num):result*=ireturn result>>> ...

  9. 关于学习Python的一点学习总结(25->pass占位符)

    60.1.什么都不做:pass-可用作为占位符,当你写的某一块程序什么都不做的时候,可以添加这个 pass,不然程序会无法执行. 2.del:Python中的垃圾收集器 先看一段代码: >> ...

最新文章

  1. Eclipse中git检出、更新、提交、合并分支、以及解决冲突
  2. ios面试数据结构与算法
  3. 15.IDA-查看XREF列表
  4. php获取dropzone上传的文件,php - 如何上传文件,使用php中的dropzone将文件详细信息保存到mysql数据库 - SO中文参考 - www.soinside.com...
  5. 修改linux资源限制参数命令,linux passwd命令参数及用法详解--linux修改用户密码命令...
  6. (软件工程复习核心重点)第十章面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统
  7. atoi、stoi、strtoi区别
  8. nagios mysql入库_使用NDOUtils将Nagios监控信息存入Mysql
  9. 小度智能音响拆解 芯片_不拆不快:小度音箱拆解测评
  10. 12015.linux通过代码或命令形式操作内存/dev/mem
  11. Spring 源码解析 -- SpringWeb过滤器Filter解析
  12. Vertica数据库系列:这几天踩过时间函数的坑
  13. Guacamole-HTML5无客户端远程桌面
  14. 【视频云端SDK】关于安卓指令集的兼容,Library xxx.so not found
  15. 《电脑音乐制作实战指南:伴奏、录歌、MTV全攻略》——2.3 提取VCD、DVD视频中的音频...
  16. 黑盒测试——边界值分析
  17. QQ动态表情包如何制作, 制作软件哪个好
  18. 【计算机科学速成课】[40集全/文字版] - 17.集成电路摩尔定律
  19. 视频剪辑的工作前景是什么?
  20. 如何关闭OPPO手机服务器维护,OPPO天气预警怎么关闭

热门文章

  1. 图神经网络方法总结(Graph Neural Network)
  2. MySQL数据库将查询结果插入到其它表中
  3. python unsupported operand type(s) for /: 'str' and 'str' can only concatenate str (not int) to s
  4. 资源|深度学习注意力机制TensorFlow 使用教程
  5. 结合Android去水印APP谈谈分区存储
  6. 华数传媒牵手阿里云计算共建媒体云平台
  7. mongodb关联查询 和spring data mongodb
  8. Ubuntu 64bit 安装 ulipad4.1
  9. RAID和mdadm
  10. Quart 2D 绘制图形简单总结