Python 模块的设计和编写
来源:互联网 发布:知乎 手机已注册 解除 编辑:程序博客网 时间:2024/05/22 16:49
简述
在 Python 中,模块是由 Python 代码组成的 .py
文件,任何 Python 文件都可以作为一个模块被引用。
编写模块就像编写任何其他 Python 文件一样,模块可以包含类、函数和变量的定义,然后在其他 Python 程序中使用。
- 简述
- 在模块中定义函数
- 在模块中定义变量
- 在模块中定义类
- 文档描述
版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820
在模块中定义函数
首先,创建一个名为 script.py
的文件,在里面定义了一个函数:
# 定义一个函数def hello(): print("Hello, World!")
运行这个脚本,看看会发生什么?
$ python script.py $
由于没有告诉程序要做什么(只有函数定义,并没有调用),所以任何事情都不会发生。
可以在同一目录下创建一个名为 main_program.py
的模块,然后导入模块,通过点(.
)表示法来调用该函数:
import script# 调用函数script.hello()
现在,运行这个新脚本,就会得到相应的输出了:
$ python main_program.pyHello, World!
在模块中定义变量
变量的定义比函数更简单,在 script.py
文件中添加一个变量:
# 定义一个变量var = 'I am a Pythoner.'# 定义一个函数def hello(): print("Hello, World!")
接下来,在 main_program.py
文件中通过 print()
函数调用该变量:
import script# 调用变量print(script.var)# 调用函数script.hello()
当运行该程序时,将得到以下输出:
$ python main_program.pyI am a Pythoner.Hello, World!
在模块中定义类
最后,还可以在 script.py
文件中定义一个类。
来创建一个 Person
类,其中包含 name
和 age
属性,以及一个用于打印属性的 print_msg()
函数:
# 定义一个变量var = 'I am a Pythoner.'# 定义一个函数def hello(): print("Hello, World!")# 定义一个类class Person: def __init__(self, name, age): self.name = name self.age = age def print_msg(self): print("name:", self.name) print('age:', self.age)
现在,在 main_program.py
中使用该类:
import script# 调用变量print(script.var)# 调用函数script.hello()# 调用类programmer = script.Person('Waleon', 18)programmer.print_msg()
一旦使用 script.Person()
调用了 Person
类,便可以访问 main_program.py
类中的函数和属性。
再次运行程序,将得到以下输出:
$ python main_program.pyI am a Pythoner.Hello, World!name: Waleonage: 18
注意: 模块的导入方式有很多种,具体可以参考:Python 模块。
文档描述
在编写模块时,有一点非常重要,为模块添加描述文档描述(例如:文档字符串、版权、作者等):
# encoding: utf-8## Copyright (c) 2017 Waleon All rights reserved.#"""Custom module - Define a variable & function & class"""# 定义一个变量var = 'I am a Pythoner.'# 定义一个函数def hello(): print("Hello, World!")# 定义一个类class Person: def __init__(self, name, age): self.name = name self.age = age def print_msg(self): print("name:", self.name) print('age:', self.age)
这是一个很好的编程习惯,既可以供他人阅读,也便于日后自己参考。
注意:如果使用的是 Python 2.x,模块中包含中文,则需要添加一行声明文件编码的注释(模块第一行)。
- Python 模块的设计和编写
- Python模块的编写和调用
- python脚本的编写和需要的模块
- python import自己编写的模块:import json和simplejson
- CovertUtils:一个用于设计和创建后门的Python模块
- 编写模块python
- python自己编写模块
- Python的C扩展模块的编写(Anaconda+VS2013,python3.5和c++)
- Linux内核模块和驱动的编写
- linux内核模块和驱动程序的编写
- 模块的编写、编译、载入和卸载
- Qt 插件模块的编写和管理
- php扩展模块的安装和编写
- linux内核模块和驱动程序的编写
- Python 模块的导入 和 模块名称
- Python的defaultdict模块和namedtuple模块
- Python的defaultdict模块和namedtuple模块
- python的模块和包
- 数据库主从分离
- addr2line解析墓碑工具
- Vmware10中Centos7挂载Windows主机的共享文件夹
- Kotlin的Spring之旅(三):事务操作(使用jdbcTemplate演示)
- 【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之三
- Python 模块的设计和编写
- java web 过滤器跟拦截器的区别和使用
- MySQL基本操作学习
- Android各版本代号/版本号/API级别
- MVC 匿名类,前台无法绑定的问题
- mysql常用命令/语句学习二
- Java中Math的常用方法
- 面向对象的三大特征之一继承
- 基于MPAndroidChart的自定义LineChart(一)----节点绘制叉号+分段绘制背景