目录结构: bin:存放程序入口,程序启动文件. conf:存放配置文件,配置文件主要是一些全局变量,路径信息等. core:程序核心文件,不涉及到业务逻辑. app:存放和系统业务相关的逻辑. db:存放系统运行所需的数据文件. lib:存放公共组件. log:存放日志文件. README:软件说明文档. README: 1.软件名称,软件的基本功能,应用范围. 2.软件运行环境,安装方法,启动方式等. 3.软件简要的使用说明(常用操作). 4.代码目录结构说明,详细介绍各模块的功能及组织关系…
背景 Python语言规范 Lint 导入 包 异常 全局变量 嵌套/局部/内部类或函数 列表推导(List Comprehensions) 默认迭代器和操作符 生成器 Lambda 函数 条件表达式 默认参数值 属性(properties) True/False 的求值 过时的语言特性 词法作用域(Lexical Scoping) 函数与方法装饰器 线程 威力过大的特性 Python风格规范 分号 行长度 括号 缩进 空行 空格 Shebang 注释 类 字符串 文件和 sockets TOD…
开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目,系统等,少则几万行代码,多则十几万,几十万行代码,你全都放在一个py文件中行么?当然你可以说,只要能实现功能即可.咱们举个例子,如果你的衣物只有三四件,那么你随便堆在橱柜里,没问题,咋都能找到,也不显得特别乱,但是如果你的衣物,有三四十件的时候,你在都堆在橱柜里,可想而知,你找你穿过三天的袜子,最终从你的大衣…
1.函数的不固定参数: #参数不是必填的.没有限制参数的个数.返回参数组的元组 def syz(*args): #参数组,不限制参数个数 #‘args’参数的名字可以随便命名 print(args) #username = args[0] #返回的参数放在元组中,通过下标来取值 #pwd = args[1] syz() syz('niuhan','sdfsdf',122) >>> () >>> ('niuhan', 'sdfsdf', 122) #元组 2.关键字参数…
一.random模块(随机模块) 1.random 常用模块介绍 import random print(random.random()) #返回[0,1)之间的随机浮点数 print(random.randint(2, 4)) #返回一个[2,4]内的随机整数 print(random.choice([1, [20, 23], 66, 4])) #返回可迭代对象中的任意一个元素 print(random.sample([1, [20, 23], 66, 4], 2)) #返回可迭代对象中的任意…
==random 模块== "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." - John von Neumann, 1951 ``random`` 模块包含许多随机数生成器. 基本随机数生成器(基于 Wichmann 和 Hill , 1982 的数学运算理论) 可以通过很多方法访问, 如 [Example 2-29 #eg-…
转自:https://www.jianshu.com/p/d414e90dc953 Python风格规范 本项目包含了部分Google风格规范和PEP8规范,仅用作内部培训学习 Python风格规范 本项目包含了部分Google风格规范和PEP8规范,仅用作内部培训学习 命名规范 Python之父推荐的规范 Type Public Internal Modules lower_with_under _lower_with_under Packages lower_with_under   Cla…
参考链接 Python风格规范 分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号. Yes: foo_bar(self, width, height, color='black', design=None, x='foo', emphasis=Non…
# _author: lily # _date: 2019/1/13 import time import datetime print(help(time)) # print(time.time()) # 1547376144.4092453 时间戳 # time.sleep(3) # print(time.clock()) # print(time.gmtime()) # 结构化时间 time.struct_time(tm_year=2019, tm_mon=1, tm_mday=13, t…
time模块 import time print(help(time)) time.time() #return current time in seconds since the Epoch as a float 时间戳:以秒的形式返回当前时间,从1970年算起 time.clock()  #return CPU time since process start as a float 只计算CPU执行的时间 time.sleep() # delay for a number of second…
转载自http://www.cnblogs.com/wangcp-2014/p/4838952.html 目录 代码布局 1.1 缩进 1.2 表达式和语句中的空格 1.3 行的最大长度 1.4 空行 1.5 编码 语句 2.1 标准头部... 2.2 导入(import)... 2.3 赋值... 2.4 分支和循环... 注释 3.1 注释块... 3.2 行内注释... 3.3 文档字符串... 3.4 版本注记... 3.5 模块注释... 3.6 函数和方法注释... 3.7 类注释.…
logging模块 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug.info.warning.error.critical 5个级别,下面我们看一下怎么用 模块初识: #logging初识 import logging logging.warning("user [James] attempted wrong pas…
1.random():返回一个[0,1)的随机浮点数(双精度浮点数) 2.uniform(a,b): 返回[a,b]之间的一个随机浮点数(双精度浮点数) [注意]a和b接受的数据大小随意 例如:3.random.uniform(10,20) random.uniform(20,10) 4.randrange(start,end,step):返回[start,end)之间的一个随机整数 5.randint(a,b):返回[a,b]之间的一个随机整数 6.choice(seq):传递的是一个序列对象…
摘要:导入模块.导入包.编程规范 以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学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: i)引入模块:import   moduleName ii)引入模块下的函数:from moduleName import function1,function2,…… iii)引入模块下的所有函数:from moduleName import * 使用模块里的函数的方法: moduleName.…
=============================================================================注意: 在linux下安装新的版本的python是,千万不要删掉系统自带的python,因为系统自带的一些命令行工具是以python开发的,如yum 模块,yum 启动时指向/usr/lib/python,当前的python环境有yum运行的相关的依赖包,所以一定不要删掉, 也不能覆盖,特别是/usr/lib/python, 如果需要可以将/u…
#!/usr/bin/env python __author__ = "lrtao2010" #python3.7 random模块 import random #随机模块 # res0 = random.random() #从0~1中间随机产生一个小数点后16位的浮点数 # res1 = random.uniform(1,3) #从1~3中间随机产生一个小数点后16位的浮点数 # res2 = random.randint(1,3) #[1,3] # res3 = random.ra…
  在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本文将介绍如何利用PyCharm来连接Docker镜像,从而搭建Python开发环境.   首先,我们需要准备一下工具: PyCharm专业版 Docker 我们用一个示例项目来演示在PyCharm中如何利用Docker镜像搭建Python开发环境.项目的截图如下: 注意到,在该项目中还没有设置P…
享一段代码,开发了3个接口:            1.上传文件            2.查看所有文件            3.下载文件 使用python开发,需要安装flask模块,使用pip install flask安装即可,代码量特别少,就能实现,加上注释总共35行代码,特别的简单,代码如下:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3…
Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某某项目进行一个标准化的开发,进行规范化. #bin : 启动项目程序的主入口 #conf : 项目的配置文件 #core : 主要逻辑(业务逻辑) #db : 存放数据() #lib : 辅助文件(存放公共的一些方法) #README : 项目文档说明 ​ 二丶time模块(时间模块) 时间的三种方…
Python文件的两种用途 1 . 当脚本直接使用,直接当脚本运行调用即可 def func(): print("from func1") func() 2 . 当做模块被导入使用,但是又想测试当前脚本是否能正常运行就是用if name == 'main': def func(): print("from func1") if __name__ == '__main__': func() 绝对导入和相对导入 我们在创建包时,是给别人导入引用的,而在包的内部也会有彼此…
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块中的都会在这个空间中 import from import as 起别名 * 和 __all__ 作业讲解:os.listdir() 返回一个列表,里面的每一个元素都是相对路径值就是文件,或者文件夹 使用递归的方式实现 import os def get_size(dir): sum_size =…
一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输出: 36 但是线上的程序,是不允许随便print的,这个时候,就需要用到logging模块 import logging logging.basicConfig(level=logging.DEBUG,filename = 'userinfo.log') b = 1 c = 2 d = 3 a =…
一,包的调用 #!/usr/bin/env python #_*_coding:utf-8_*_ #调用 glance[1..4]\api\policy.py 路径 # policy.py 内容 # def one(): # print('this first!') # 1.glance1里面什么都没有写,只有plicy这个模块写了个方法,导入了具体的模块 # from glance1.api import policy 导入绝体模块 # policy.one() #模块的方法 # 绝对路径的调…
模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他在内存中开辟了以模块名命名的内存空间 2.你模块文件的所有内容都加载到了内存. 3.通过模块名.的方式去引用模块中的对象 为模块起别名: 1,将模块名较长的改为较短的,便于操作 import time as tm tm.time() 2.拓展代码 from .... import ....   方式…
1.软件开发规范 首先: 当代码都存放在一个py文件中时会导致 1.不便于管理,修改,增加 2.可读性差 3.加载速度慢 划分文件1.启动文件(启动接口)--starts文件放bin文件里2.公共文件(大家需要的功能)---放lib文件夹里3.配置文件(静态文件)变量--放conf文件夹里4.主逻辑(核心)---函数,类等等,src.py--放core文件夹里5.用户相关数据--账号密码等文件 register--放db文件夹里6.日志----记录主要信息,记录开发人员的行为---logg.lo…
一,异常处理 # 异常处理代码 try: f = open('file', 'w') except ValueError: print('请输入一个数字') except Exception as e: #万能异常 print(e,'异常啦') else: print('else 被执行') finally: f.close() print('finally') # 异常处理代码解释 try: pass except ValueError: pass except Exception as e:…
一,time模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该首先导入这个模块 常用方法1.(线程)推迟指定的时间运行.单位为秒. time.sleep(1) #括号内为整数 2.获取当前时间戳 缺点,看不懂 print(time.time()) 3.表示时间的三种方式   在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按…
随机数据在平时写python脚本时会经常被用到,比如随机生成0和1来控制逻辑.或者从列表中随机选择一个元素(其实抽奖程序也类似,就是从公司所有人中随机选择中奖用户)等等.这篇文章,就帮大家整理在python中random模块使用频率比较高的方法. 常用方法 为了方便大家理解和记忆,将方法进行了归类: 整数用函数 random.randrange(stop) 随机返回[0, stop-1]之间的整数 random.randrange(start, stop, step) 随机返回[start, s…
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 第三方模块 内置模块 自定义模块 1.定义模块 情景一: 情景二: 情景三: 2.导入模块 Python之所以应用越来越广泛,…