14.模块的使用,包,及程序开发规范

1.模块的基础认识

为啥使用模块:

  从文件级别组织程序,更加方便管理,且实现了功能的重复利用

  提高开发效率

查看当前已加载模块:

  打印sys.module,里面包含模块名与对象的映射

为模块起别名:

import temp as tp
print(tp.name)

这个的用处一:可以根据用户的输入来选择使用不同模块中的同一功能

inp = input(‘json or pickle>>>‘)
if inp == ‘json‘:
    import json as m
elif inp == ‘pickle‘:
    import pickle as m

m.dumps({‘k‘:‘v‘})
m.loads()

这个用处二:为已经导入的模块起别名,对编写可扩展的代码很有用。假设有两个模块xmlreader.py和csvreader.py,它们都定义了函数read_data(filename):用来从文件中读取一些数据,但采用不同的输入格式。可以编写代码来选择性地挑选读取模块

if file_format == ‘xml‘:
     import xmlreader as reader
elif file_format == ‘csv‘:
     import csvreader as reader
data=reader.read_date(filename)

一行导入多个模块(不建议使用):

import sys,os,re

导入方式:

import---
from---import---
from --- import --- as ---
from --- import 1,2,3

from --- import *

  他表示的是把模块中所有的不是以下划线开头的名字都导入当前位置,不推荐这么使用,因为这样可能会覆盖之前已经定义过的名字,而且可读性很差

  记:如果在模块中的名字前加入了_,这样用*则不会被导入

模块导入规范:

  首先必须遵循PEP8编程规范
  每一行import 应该导入一个模块
  如果不是必要的需求,所有的模块都应该在文件的顶端导入
  关于导入模块的顺序 先导入内置的 再导入扩展 最后导入自定义

2.把模块当做脚本执行(很常见)

用法链接:http://blog.konghy.cn/2017/04/24/python-entry-program/

# 一个写好的Python文件一般分为两种用途
脚本:文件就是整个程序,用来被执行
模块:文家中存放着好多功能,用来被导入使用
# 在python中内置了全局变量__name__
当文件被当作脚本执行时,__name__ = __main__
当文件被当做模块导入时,__name__ = 模块名

# 对于if __name__ == ‘__main__‘:
它是用来控制.py文件在不同的应用场景下执行不同的逻辑

3.关于pyc文件

  模块在被第一次导入的时候被编译存在pyc文件里(它会把模块中的内容以字节的形式储存),之后导入的可以直接运行pyc文件,以此提高运行速度

4.关于包:

1.凡是在导入语句的时候遇到带点的,这都是关于包才有的导入语法

2.包是一种目录级别的(文件夹级),文件夹用来组成py文件。包的本质是一个包含__init__.py文件的目录

3.在py3下,即使包内没有__init__.py文件,import仍不会报错,首次导入时候它会自动创建,而在py2下必须要存在该文件,否则会报错

4.创建包的目的是为了被导入使用,而不是为了运行,它只是模块的一种形式而已

## 可以用import导入内置或第三方模块(已经在sys.path中),但是要避免使用import导入自定义包的子模块(未在sys.path中),应该是用from---import的绝对或者相对导入

5.软件开发规范:

文件(项目名称)        # 在这下面分别创建

文件1:bin            # 整个程序的入口

   **.py

文件2:conf    # 配置文件,里面是一些文件路径,数据库信息等

   **.ini

   **.py

文件3:core         # 核心文件,里面放置核心代码

   **.py

文件4:db      # 存放数据的文件

   **.txt

文件5:lib    # 自己写的库,不用安装,导入使用即可

   **.py

文件6:log     # 日志文件

原文地址:https://www.cnblogs.com/LearningOnline/p/8941775.html

时间: 2024-11-12 22:53:06

14.模块的使用,包,及程序开发规范的相关文章

模块,包,软件开发规范

模块 import from ... import ... 包 import from ... import ... 绝对导入和相对导入 软件开发规范

微信小程序开发规范文档-注意事项

一个页面的数据如果需要被其它页面修改,则把这个页面的数据放入storage里. 目录结构符号 └ ┌ ┘ ┐ ┤ ├ ┴ ┬ ┼ │ ─ JS模块引入请使用import关键字,而非require,WXML引入模板用标签,WXSS使用@import语法,三者统一 所有方法和变量名称都使用小写camel模式,一般是动词+名词形式,尽量不要超过5个单词,如:getList,setBackImage 所有用到的常量的地方都使用全大写,下划线分隔的形式,如:EGG_CHE 使用this转换的地方,统一使用

微信小程序开发规范文档-项目结构

*项目结构 project/ // 根目录 ├─ images/ // 图片/小图标 ├─ pages/ // pages目录 ├─ utils/ // 工具,包文件目录 ├─ app.js // 入口文件 ├─ app.wxss // 公共设置 ├─ app.json // 公共样式表 └─ project.config.json // 项目的编辑器配置 页面目录 1.由历史原因和个人习惯导致目录命名不统一,语义不清晰,不同成员在维护时难以快速识别. 目录命名应遵循以下规范: 尽量简短 采用英

腾讯工程师教你9小时搞定微信小程序开发

下载地址:百度网盘下载 课程介绍本课程从最基础的微信小程序开发工具使用开始讲起,带你走完从写出第一个 HelloWorld 到构建出第一款属于自己的微信小程序的完整学习路线.课程共有八大模块:模块一:微信小程序介绍与开发准备模块二:上手第一个微信小程序模块三:微信小程序开发框架模块四:微信小程序开发之原生组件模块五:微信小程序开发之原生 API模块六:微信小程序开发进阶之核心技能模块七:微信小程序开发项目实战案例模块八:微信小程序开发实战注意事项与进阶指导 课程详细大纲 原文地址:https:/

python之模块、包的导入过程和开发规范

摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = '帅锅' def read(): print('in read',name) def read2(): print('in read2',name) if __name__ == '__main__': print('in mymodule') print('__name__ : ',__name_

第七章 Python 盒子:模块、包和程序

前戏部分 独立的程序 命令行参数 模块和import语句 导入模块 使用别名导入模块 导入模块的一部分 模块搜索路径 包 setdefault() 和 defaultdict()处理缺失的键 使用counter()计数 使用有序字典 OrderedDict按键排序 双端序列:栈和队列 使用 itertools 迭代代码结构 使用 pprint()友好输出

Linux及Arm-Linux程序开发笔记(零基础入门篇)

Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html 目录 一.Arm-Linux程序开发平台简要介绍... 3 1.1程序开发所需系统及开发语言... 3 1.2系统平台搭建方式... 4 二.Linux开发平台搭建... 5 2.1安装虚拟工作站... 5 2.2安装Linux虚拟

程序开发观点杂谈

  1.  思想与概念很重要 最近开始发现计算机科学思想与概念越来越重要了,这不是过时的说教.当你使用 Java JDK时,如果不懂优先级队列的概念,可能就弄不明白PriorityQueue的行为:如果不懂哈希表的机理,也无法写出好的 equals和 hashCode的方法,更不可能用好HashMap:如果不了解阻塞I/0和非阻塞I/0的概念,读 I/0包的API文档时也会云里雾里:如果不弄懂同步.并发的原理和方法,也不可能写出正确的多线程程序.还有,WeakReference,如果不能理解垃圾

Linux及Arm-Linux程序开发

一.Arm-Linux程序开发平台简要介绍 Arm-Linux程序的开发并不像我们以前接触的Windows程序开发那样,关于平台的搭建就繁琐很多,所以在正式进入程序开发之前先对这种开发模式进行简要介绍,让一个即使没有任何Linux开发经验的程序员也能够看懂后面的内容. 1.1程序开发所需系统及开发语言 开发arm-linux程序至少需要三种系统: Windows系统.     主要用来文件传送和一些简单的文本文件编辑.这个系统其实并非必需,只是因为目前PC机上最流行的系统仍然是Windows系统