博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模块,软件开发的目录规范
阅读量:5291 次
发布时间:2019-06-14

本文共 2217 字,大约阅读时间需要 7 分钟。

补充1.生成器表达式

g=(i for i in range(10) if i>5)

print(g) #generator 生成器
print(next(g))
print(next(g))
print(next(g))
print(next(g))

with open('a.txt',mode='rt',encoding='utf-8') as f:

  g=(len(line) for line in f )
  res=sum(g)
  print(res)
可以改写成
  res=sum(len(line) for line in f)
  print(res)

一.模块

1.模块介绍 注意:名称空间的嵌套关系是在定义阶段就固定死的,与调用位置无关

1.什么是模块

  模块就是一系列功能烦的集合体
  模块分为四个通用的类别:
  1.使用python编写py文件
  2.已被便以为共享库或DLL的C或C++扩展
  3.把一系列模块组织到一起的文件夹(注:文件夹下有一个__int__.py文件,该文件夹称之为包)
  4.使用c编写并连接到python解释器的内置模块
模块有三种来源:
  1.内置模块
  2.第三方模块
  3.自定义模块
2.为何要用模块
  1.使用内置的或者第三方模块的好处是:拿来主义,极大提升了开发的效率
  2.使用自定义模块的好处是:将程序各部分组件共用的功能提取取出放到一个模块里,其他的组件通过导入的方式使用该模块,该模块即自定义模块,好处是可以减少代码冗余.
3.如何用模块

2.import导入模块

import spam

首次导入模块会发生三件事
  1.会产生一个模块的名称空间
  2.会执行spam.py文件的内容,将产生的名字丢到模块的名称空间里
  3.在当前执行文件中拿到一个名字spam,该名字指向模块的名称空间
使用:
  模块名.前缀
补充:
  import spam as sm(针对模块名过长)
  import 总结:
  优点:指名道姓地问某一个名称空间要名字,不会与当前执行文件名称空间中的名字冲突
  缺点:引用模块的名字必须加前缀(模块名),使用不够简洁

3.from...import导入模块

from spam import money,read1,read2.change

首次导入会发生三件事
  1.会产生一个模块的名称空间
  2.会执行spam.py文件的内容,将产生的名字丢到模块的名称空间里
  3.在当前执行文件夹中拿到名字read1,该名字指向模块的名称空间中的read1
from...import总结:
优点:引用模块中的名字不用加前缀(模块名),使用更为简洁
缺点:容易与当前执行文件名称空间中的名字冲突

可以用如下方法,但是不提倡:

from spam import *

4.模块的搜索路径

查找模块路径的优先级

1.内存
import spam
print(spam.money)
import time
time.sleep(10)
import spam
print(spam.money)
2.内置模块
import time
print(time)
print(time.time())
3.sys.path(环境变量,是以执行文件为准的,被导入的文件参照的全是执行文件的sys.path)
import sys
print(sys.path) #第一个路径执行文件所在的文件夹 #第二个路径根文件夹

  ①  import sys

  sys.path.append(r'E:\python-li\课堂\day15\aaa')
  import spam
  print(spam.money)
  ②  from aaa import spam
  print(spam.money)

补充2.如何区分python文件的两种用途

当文件被当作执行文件执行时__name__的值为__main__

当文件被当作模块导入时__name__的值为模块名

5.软件开发的目录规范

项目名:一个大文件夹,不要有中文 pacharm识别不了子文件夹目录,应该写在顶级

子文件夹:bin 里面放执行文件 start.py
      # 1. 应该把项目的根目录加到环境变量里
      # 2. 应该把项目根目录所在绝对路径拿到,然后加到环境变量里
      import sys
      import os
      BSAE_DIR=os.path.dirname(os.path.dirname(__file__))
      sys.path.append(BSAE_DIR)
    注意:bin可以不要,我们可以直接把start.py直接建到项目的根文件夹
  conf 里面放配置文件 setting.py 设置 允许使用者配制
  lib 里面放自定义模块 common.py 放一些常用的功能 跟业务无关
  core 里面放核心逻辑 跟业务有关 src.py核心代码
  db 里面放数据相关的文件 账号密码等
  log 里面放日志 transcation.log
  readme 介绍这个软件

 

转载于:https://www.cnblogs.com/lizeqian1994/p/10067332.html

你可能感兴趣的文章
路由器原理及作用以及交换机
查看>>
主流PC浏览器调研
查看>>
Linux权限管理 - 基本权限
查看>>
C语言初学 简单计算器计算加减乘除程序
查看>>
smali语法小结
查看>>
[python]-类的继承
查看>>
pkg-config 设置
查看>>
选择之后,不能再选择。分配之后,不能再分配
查看>>
修复Kaos的中文显示
查看>>
自学it18大数据笔记-第三阶段Spark-day03——会持续更新……
查看>>
HBase总结
查看>>
xcode 快捷键
查看>>
STM32 CubeMX 中如何查看系统时钟
查看>>
C# 操作excel
查看>>
IT不同子领域的必读书单
查看>>
6.22
查看>>
(Nginx+Apache)实现反向代理与负载均衡
查看>>
内省、JavaBean
查看>>
【笨嘴拙舌WINDOWS】实践检验之屏幕取色
查看>>
CRM(四川网脉系统)项目总结
查看>>