模块基本是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。

#!/usr/bin/python
#Filename:using_sys.py import sys print 'The command line arguments are:'
for i in sys.argv:
print i print '\n\nThePYTHONPATH is',sys.path,'\n'

利用import语句输入sys模块。sys模块包含了与Python解释器和它的环境有关的函数

sys.argv变量是一个字符串的列表。特别sys.argv包含了命令行参数的列表。

记住:脚本的名称总是sys.argv列表的第一个参数。

字节编译的.pyc文件

创建字节编译的文件,这些文件以.pyc作为扩展名。

from...import语句

使用from sys import argv语句,可以避免每次使用sys.  来输入argv变量到你的程序中。

如果你想输入所有sys模块使用的名字,那么你可以使用from sys import*语句。

模块的__name__

每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。

用例:

#!/usr/bin/python
#Filename:using_name.py if __name__=='__main__':
print'This program is being run by itself'
else:
print'I am being imported from another module'

运行结果:

This program is being run by itself

>>> import using_sys
I am being imported from another module

每个python模块都有它的__name__,如果它是‘__main__’,这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

使用python模块

记住:这个模块应该被放在我们输入它的程序的同一个目录中,或者在sys.path所列目录之一。

例如:

一个模块为:

#!/usr/bin/python
#Filename:mymodule.py

def sayhi():
print 'Hi,this is mymodule speaking.'

version='0.1'

把它和python程序放在同一个目录下

#!/usr/bin/python
#Filename:mymodule_demo.py import mymodule
mymodule.sayhi()
print 'Version',mymodule.version

输出结果为

Hi,this is mymodule speaking.
Version 0.1
>>>

使用from...import

#!/usr/bin/python
#Filename:mymodule_demo2.py from mymodule import sayhi,version
#Alternative:
#from mymodule import *
sayhi()
print 'Version',version

输出结果与上例一样

dir()函数

内建的dir()函数类列出模块定义的标识符。标识符有函数、类和变量

当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

>>> import sys
>>> dir(sys)
>>> dir()
>>> a =
>>> dir()
>>> del a
>>> dir()

使用del语句删掉当前模块中的变量/属性,这个变化在dir的输出中反应出来

关于del的注释:用来删除一个变量/名称。在这个例子中,del a,你将无法再使用变量啊---它好像从来没有存在过一样。

简明python教程四-----模块的更多相关文章

  1. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  2. (原+转)简明 Python 教程:总结

     简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...

  3. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  4. 【转】简明 Python 教程

    原文网址:http://woodpecker.org.cn/abyteofpython_cn/chinese/ 简明 Python 教程Swaroop, C. H. 著沈洁元  译www.byteof ...

  5. 学习笔记《简明python教程》

    学习笔记<简明python教程> 体会:言简意赅,很适合新手入门 2018年3月14日21:45:59 1.global 语句 在不使用 global 语句的情况下,不可能为一个定义于函数 ...

  6. 《简明Python教程》学习笔记

    <简明Python教程>是网上比较好的一个Python入门级教程,尽管版本比较老旧,但是其中的基本讲解还是很有实力的. Ch2–安装Python:下载安装完成后,在系统的环境变量里,在Pa ...

  7. 简明Python教程自学笔记——命令行通讯录

    [前言]学习Python已经有一段时间了,相关的书籍资料也下载了不少,但是没有一本完整的看完,也没有编出一个完整的程序.今天下午比较清闲就把<简明Python教程>看了一遍,然后根据书里面 ...

  8. python读书笔记-《简明python教程》上

    1月15日 <简明python教程>上 基本结构: 基础概念+控制流+函数+模块+数据结构+面向对象+I/O+异常+标准库+其他   1.概念 1-0    退出python linux: ...

  9. 简明Python教程 ~ 随书笔记

    本文是阅读<简明Python教程>所做的随书笔记,主要是记录一些自己不熟悉的用法,或者所看到的比较有意思的内容,本书英文版A Byte of Python, 中文译版 简明Python教程 ...

随机推荐

  1. DelphiXE8怎么使用调试模式(小米手机2)

    需求:在开发Android程序时,大家一直是使用ShowMessage.其实XE是支持下断点的. 操作:小米手机2: 1.小米手机2用USB线,连到电脑上. 2.小米手机2-设置-关于手机-" ...

  2. 跟着百度学PHP[17]-PHP扩展CURL的POST传输数据

    如果是GET的话就不必那么多设置.但是基本需要用到POST就需要用到以下的几个设置选项. <?php $username = "admin"; $password = &qu ...

  3. Mysql root密码忘记的解决办法

    Windows 版本: 1.打开安装目录下的my.ini 找到 [mysqld] 在下面加入 skip-grant-tables 2. 重启mysql服务 3.打开命令行 依次输入 USE mysql ...

  4. 基于nginx的token认证

    Nginx 的 token 认证是基于集成了 nginx+lua 的 openresty 来实现的. 环境: centos 7 部署方式: 增量部署(不影响原 nginx 版本) 版本: openre ...

  5. Jafka Broker代码阅读之总览

    从本文开始,笔者将尝试从源码角度解读Jafka(Kafka)的特性,探究其背后的实现原理与技术.前面讲解Jafka Broker的文章中有提到下面这段启动服务端的代码,我们就从这里开始. Proper ...

  6. poj 3653(最短路)

    题目链接:http://poj.org/problem?id=3653 思路:题目意思很简单,就是二维平面上的图,要求起点到终点的最短路.建图略坑,需要坐标映射,化二维为一维.然后就是Dijkstra ...

  7. Linux shell(. /path/filename)

    在 /etc/profile 文件中,有一段脚本: if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi 这里的 “点号 + 空格 + 文件” ...

  8. java编译、编码、语言设置

    下面这两行加入,环境变量:特别是gradle在编译文件中含有中文时会遇到一些问题: JAVA_TOOL_OPTIONS -Dfile.encoding=UTF-8 -Duser.language=en ...

  9. 把xml格式的字符串写入到一个xml文件中

    package demo; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impo ...

  10. JStorm开发经验+运维经验总结

    1.开发经验总结  ——12 Sep 2014 · 8 revisions 在jstorm中, spout中nextTuple和ack/fail运行在不同的线程中, 从而鼓励用户在nextTuple里 ...