模块基本是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.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. linux学习笔记22--命令ln

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  2. 有效提升大数据量写入excel的效率

    在开发过程中经常会有需要将数据导出到 excel 的需求,当数据量很大,达到几万甚至几十万.几百万级别的时候,如何加快生成 excel 的速度呢?首先普及一下知识背景:Excel2003 及以下版本一 ...

  3. spring mvc RedirectAttributes

    org.springframework.web.servlet.mvc.support.RedirectAttributes org.springframework.web.servlet.mvc.s ...

  4. textarea去掉边框

    <textarea style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; BORDER-RIGHT: 0px solid; ...

  5. bootstrap 模式对话框

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 第一个net-mvc程序

    结构 视图层 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>&quo ...

  7. String painter (hdu 2476 DP好题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2476 题目大意: 给出两个等长的串S, T, 要将S变成T, 每次可以把S的连续的一段变成相同的字母 ...

  8. 彻底解决 webpack 打包文件体积过大

    http://www.jianshu.com/p/a64735eb0e2b https://segmentfault.com/q/1010000006018592?_ea=985024 http:// ...

  9. Windows防火墙端口规则设置新建方法

    from:https://jingyan.baidu.com/article/2a1383289fd094074a134ff0.html Windows防火墙有什么用呢?它是电脑的一道安全屏障,可以有 ...

  10. Handler用Bundle传值

    package com.handler.cn; import android.app.Activity; import android.os.Bundle; import android.os.Han ...