Python模块化
在Python中,一个.py文件就称之为一个模块(Module)。
模块化的好处:
1、大大提高了代码的可维护性。
2、编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。
3、使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,但尽量不要与内置函数名字冲突。
4、为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。
下面是一个模块(文件)的格式:
#!/usr/bin/env python 可以让这个py文件直接在Unix/Linux/Mac上运行
# -*- coding: utf-8 -*- 使用标准UTF-8编码; ' a test module ' #表示模块的文档注释 __author__ = 'Michael Liao' #作者名 import sys #导入其他模块
import cStringIO as StringIO #导入其他模块,并使用as命名别名 def test():
return True '''
当我们在命令行运行模块文件时,Python解释器把一个特殊变量__name__置为__main__,
而如果在其他地方导入该hello模块时,if判断将失败,
因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,
最常见的就是运行测试。
'''
if __name__=='__main__':
test()
作用域:注意下面的下划线都是双下划线
public:正常的函数和变量名,如:abc、name等
特殊变量:类似__xxx__
这样的变量可以被直接引用,但是有特殊用途,如:__author__
,__name__,__init__
private:类似__xxx
和__xxx
这样的函数或变量,如:__abc
Python模块化的更多相关文章
- (一)Python模块化编程简介
1 引言 众所周知,模块化编程具备很多优点,尤其在复杂项目上体现更为明显.Python模块化编程有助于开发者统筹兼顾和分工协作,并提升代码灵活性和可维护性,是编程开发者不可或缺的一项重要工具. 2 P ...
- Python模块化编程与装饰器
Python的模块化编程 我们首先以一个例子来介绍模块化编程的应用场景,有这样一个名为requirements.py的python3文件,其中两个函数的作用是分别以不同的顺序来打印一个字符串: # r ...
- Python模块化编程
目录 模块化 自定义模块 模块的内置属性 导入模块 安装第三方模块 查看模块的属性和方法 模块化 在Python中,一个.py文件就称之为一个模块(Module),为了避免模块名冲突,Python又引 ...
- python模块化学习(一)
import time #获取cpu的时间: #获取本地时间: #获取标准时间格式: #获取时间戳: #print(time.clock()) #这个在3即将被舍弃 print(time.proces ...
- python 模块化管理,导入自己的模块(包)
很多东西似懂非懂,或者当时看懂了,但是感觉不是很重要,经常不用,时间久了,也就变得似懂非懂了.今天被某度电话面试问道一个问题,就是模块倒入,其实我之前也是很仔细的研究过的,不过由于平时做的东西太简单, ...
- Python 模块化 模块搜索顺序、重复导入、模块加载列表(五)
模块搜索顺序.重复导入.模块加载列表 0x00 模块搜索顺序: 举例: #test.py import sys for p in sys.path: print(p) 运行结果: C:\python ...
- Python 模块化 from .. import 语句资源搜索顺序 (三)
接着上一篇文章最后的import子句资源搜索顺序,我们来写几个例子了解下. 例一. #test1.py x = 123 #test.py import test1 print(dir()) print ...
- Python 模块化 from .. import 语句介绍 (二)
from语句 例一. from pathlib import Path,PosixPath print(dir()) print(Path) print(PosixPath) 运行结果: ['Path ...
- Python 模块化 import 语句介绍(一)
用法: import 模块1[,模块2,模块3...] os 顶级模块os.path 非顶级模块as 相当于重命名 import 的本质: 解释器负责模块单独加载,单独初始化,生成一个模块对象,当前作 ...
随机推荐
- 使用selenium前学习HTML(3)——元素
<!-- HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 注释:开始标签常被称为开放标签(opening tag),结束标签常称为闭合标签(clos ...
- 20145329《Java程序设计》第八周学习总结
教材学习内容总结 日志 1.java.util.logging包提供了日志功能相关类与接口. 2.使用日志的起点是Logger类,Longer类的构造函数标示为protected,不同包的类药取得Lo ...
- linux下nano中复制粘贴剪切的快捷键是什么
答: 1.复制:alt+6 2.剪切:ctrl+k 3.粘贴:ctrl+u 4.自由剪切: ctrl+6指定起始剪切位置,按上下左右键来选中内容,然后按下ctrl+k即可自由剪切 5.撤销: alt+ ...
- SpringCloud Feign报错:Method has too many Body parameters
1.feign多参数问题 1.1GET方式 错误写法 @RequestMapping(value="/test", method=RequestMethod.GET) Model ...
- 解题报告:poj 3070 - 矩阵快速幂简单应用
2017-09-13 19:22:01 writer:pprp 题意很简单,就是通过矩阵快速幂进行运算,得到斐波那契数列靠后的位数 . 这是原理,实现部分就是矩阵的快速幂,也就是二分来做 矩阵快速幂可 ...
- JAVA初学者(一)
2015-12-15 21:26:17 刚学的java 做个总结: 1.构造函数没有返回值. 2.A对象调用Q的方法,Q方法里的变量就是A的变量 Fraction add(Fraction f) 在 ...
- Base64压缩UUID长度替换Hibernate原有UUID生成器
本文来自http://my.oschina.net/noahxiao/blog/132277,个人储藏使用 1.背景 在采用Hibernate做对象映射时,我一直都采用UUID来做主键.由于Hiber ...
- 使用@media screen解决移动web开发的多分辨率问题
当今移动设备的发展已经越来越迅速,移动web开发的需求也越来越多多.许多大平台.大门户都纷纷推出了自己的移动web版网站. 随着移动设备飞速的发展,移动产品的屏幕规格越来越多.从几年前的320×240 ...
- DML,DML,DCL,DQL
可以先看看这篇微博:http://blog.csdn.net/jiben2qingshan/article/details/7832344 http://blog.163.com/chenwenlin ...
- Les13 性能管理
目标 使用Oracle Enterprise Manager监视性能 使用自动内存管理(AMM) 使用内存指导调整内存缓冲区的大小 查看与性能相关的动态视图 排除无效和不可用对象产生的故障 性能监视 ...