`
aeritheve
  • 浏览: 33846 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
社区版块
存档分类
最新评论

Python学习--模块

阅读更多

模块

 

  • 简介

        你已经学习了如何在你的程序中定义一次函数而重用代码。如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块。模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。
        模块可以从其他程序输入以便利用它的功能。这也是我们使用Python标准库的方法。
        下面的例子告诉我们如何使用标准库模块。

import sys

print 'The command line arguments are:'

for i in sys .argv:
    print i
    
print '\n\nThe PYTHONPATH is' , sys .path, '\n'

        输出

The command line arguments are:
D:\HelloWord\src\moudle\test\sysModuleTest.py


The PYTHONPATH is ['D:\\HelloWord\\src\\moudle\\test', 'D:\\HelloWord\\src', 
'D:\\Java\\Python27\\python27.zip', 'D:\\Java\\Python27\\DLLs', 'D:\\Java\\Python27\\lib', 
'D:\\Java\\Python27\\lib\\plat-win', 'D:\\Java\\Python27\\lib\\lib-tk', 
'D:\\Java\\Python27', 'D:\\Java\\Python27\\lib\\site-packages'] 

        首先,我们利用import语句输入sys模块。
        当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块。如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你使用。
        sys模块中的argv变量通过使用点号指明,sys.argv这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突。另外,它也清晰地表明了这个名称是sys模块的一部分。
        sys.argv变量是一个字符串的列表。
        注意:1)Python从0开始计数,而非从1开始。

                   2)初始化过程仅在我们第一次输入模块的时候进行。

                   3)“sys”是“system”的缩写。

 

  • 字节编译的.pyc文件

        输入一个模块相对来说是一个比较费时的事情,所以Python做了一些技巧,以便使输入模块更加快一些。一种方法是创建字节编译的文件,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。

 

  • from..import语句

如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。

  • 模块的__name__

每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的name属性完成。
使用模块的__name__的方法见下面示例

if __name__ == '__main__' :
    print 'This program is being run by itself'
else :
 print 'I am being imported from another module'

输出

$ python using_name.py
This program is being run by itself
$ python
>>> import using_name
I am being imported from another
module
>>>

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

 

  • 制造你自己的模块

        创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了。下面这个例子将会使它更加清晰。
        创建你自己的模块的方法见下面示例:

        1.首先,我们先创建一个自己的模块,它与我们普通的Python程序相比并没有什么特别之处。

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

        2.然后,看看如何在我们别的Python程序中使用这个模块。

import mymodule

mymodule.sayhi()
print 'Version' , mymodule.version

输出

Hi, this is mymodule speaking.
Version 0.1

 

  • dir()函数

        你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

 

 

分享到:
评论

相关推荐

    Python学习笔记--皮大庆.pdf.zip

    【Python学习笔记--皮大庆.pdf.zip】是一个针对初学者的Python编程教程,源自英文书籍《How to think like a computer scientist》。这本书以易懂的方式介绍了Python语言的基础知识,旨在帮助没有编程背景的人快速...

    python-3.10.8-amd64 python3.10 64位windows安装包

    Python是一种广泛使用的高级编程语言,以其易读性、简洁性和丰富的库支持而闻名。Python 3.10.8是该语言的一个版本,专为...通过持续学习和实践,你可以深入掌握Python的精髓,并利用其丰富的生态系统来解决实际问题。

    python-3.8.2-amd64.rar

    4. **学习资源**:Python有丰富的文档和社区资源,如官方文档、Stack Overflow、GitHub等,可以帮助开发者解决问题和持续学习。 总之,Python 3.8.2是64位环境下进行开发的优秀选择,提供了许多新特性和性能提升,...

    【Python资源】 python-3.12.0-amd64

    该版本带来了众多性能优化、新特性和语言改进,使得Python在数据处理、机器学习、Web开发等领域的应用更加高效和便捷。本次介绍的资源是适用于AMD64架构的Python 3.12.0安装包,方便用户在64位AMD处理器上安装和使用...

    ArcGIS Python Add-In入门源码和教程

    而"addin"文件可能是一个实际的Add-In项目,可以作为学习模板,通过查看其XML结构和Python代码,深入理解Add-In的工作原理。 总结来说,ArcGIS Python Add-In为GIS开发者提供了强大的定制能力,结合Python的灵活性...

    Python-100-Days-master.zip

    《Python-100-Days-master.zip》是一个包含Python学习资源的压缩文件,旨在帮助初学者在100天内逐步掌握Python编程,从新手晋升为精通者。这个压缩包可能包含了从基础知识到高级概念的全面教程,是系统学习Python的...

    python学习-01-data-model.zip

    python学习-01-data-model.zip Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。它是由荷兰人吉多·罗萨姆于1989年发布的,第一个公开发行版发行于1991年。Python注重解决问题的方法,而不是...

    python官方3.7.1-amd64版本exe安装包

    Python是世界上最受欢迎的编程语言之一,尤其在数据科学、机器学习和Web开发领域。Python 3.7.1是Python 3.x系列的一个稳定版本,它带来了许多改进和新特性。这个版本是针对AMD64架构(也称为x86_64或64位Windows...

    python-3.10.4-amd64.exe适用于Windows x86_64系统

    - 性能分析:内置的`timeit`模块和`profile`模块可能有改进,帮助开发者更好地评估和优化代码性能。 2. **AMD64架构** - AMD64,也称为x86_64或x64,是AMD公司为64位计算设计的一种扩展,兼容32位x86指令集。此...

    opencv-python-4.5.5-cp311-cp311-win-amd64.zip

    OpenCV(开源计算机视觉库)是计算机视觉和机器学习领域广泛应用的一个强大工具,它支持多种编程语言,包括Python。在给定的压缩包"opencv-python-4.5.5-cp311-cp311-win-amd64.zip"中,包含的是OpenCV的Python绑定...

    python-3.12.0-docs-pdf-a4.zip

    这个PDF文档对于Python学习者和开发者来说是宝贵的参考资料,无论你是新手还是经验丰富的开发者,都可以从中找到你需要的信息。通过阅读和实践,你可以掌握Python的核心概念和最佳实践,进一步提升你的编程技能。

    python-3.8.6-amd64

    3. 标准库增强:Python 3.8.6的标准库更加丰富,提供了更多实用模块,如`zoneinfo`模块,用于处理时区信息,无需额外安装第三方库。 二、安装与配置 1. 下载安装:在获取到"python-3.8.6-amd64.exe"安装包后,双击...

    python-3.8.6-amd64.exe.zip

    在使用Python 3.8.6时,开发者可以利用丰富的第三方库,这些库涵盖了数据科学、Web开发、机器学习、自动化等多个领域。例如,`numpy`和`pandas`用于数值计算和数据分析,`matplotlib`和`seaborn`用于数据可视化,`...

    python官方3.7.2-amd64版本exe安装包

    为了更好地利用Python,建议学习Python的基础语法,包括变量、数据类型、控制流、函数、类和模块。此外,了解如何使用Python的标准库和第三方库将极大地提高开发效率。Python社区提供了丰富的资源,如官方文档、在线...

    Python-100-Days (附源码).zip

    《Python-100-Days (附源码).zip》是一个全面且深入的Python学习资源,旨在帮助初学者从零基础逐步成长为Python编程的大师。这个压缩包包含了多个阶段的学习内容,按照天数划分,方便学习者按部就班地进行学习。下面...

    python官方3.8.7-amd64版本exe安装包

    Python是世界上最受欢迎的编程语言之一,尤其在数据科学、机器学习和Web开发领域。Python 3.8.7是Python的一个稳定版本,专为AMD64(也称为x64或64位)架构设计。这个版本包含了各种性能优化和新特性,使其成为...

    Python -- re 学习思维导图

    Python -- re 学习思维导图

    python-3.7.8-docs-pdf-letter.zip

    总的来说,"python-3.7.8-docs-pdf-letter.zip"压缩包为Python学习者提供了一份全面、权威的离线教程,无论你是初学者还是有经验的开发者,都可以从中受益匪浅。有了它,你可以随时随地深入学习Python,提升自己的...

    python-3.7.7-docs-pdf-a4.zip

    Python是一种广泛使用的高级编程语言,以其易读性、简洁的语法和强大的功能而闻名。...通过深入学习和实践手册中的内容,你将能更好地掌握Python 3.7.7的精髓,从而在实际项目中发挥出它的强大潜力。

    python-3.6.7-docs-pdf-a4

    Python 3.6.7是Python编程语言的一个稳定版本,其官方中文文档是学习和掌握这一版本的关键资源。这份文档特别适合初学者,因为它提供了全面且详尽的指南,帮助新接触Python的人避免在学习过程中遇到的常见陷阱,从而...

Global site tag (gtag.js) - Google Analytics