软件命名规范:分文件存储 当代码存放在一个py文件中时会存在一下缺点: 不便于管理 可读性差 加载速度慢 是Django的雏形 程序员预定俗称的一些东西 启动文件:也叫启动接口,通常文件夹名字使用bin,存放启动程序,通常使用starts命名py文件 公共文件:是大家都可以使用的文件,功能,通常使用lib命名文件夹,py文件使用common命名py文件 配置文件:也叫静态文件,存储的都是变量,数据库的一些连接方式,获取到的是都是redis,文件夹命名为conf,py文件命名为settings 主…
原文地址:python 变量命名规范作者:loveflying python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是自己总结了一些,可供参考. 模块名: 小写字母,单词之间用_分割 ad_stats.py 包名: 和模块名一样 类名: 单词首字母大写 AdStats ConfigUtil 全局变量名(类变量,在java中相当于static变量): 大写字母,单词之间用_分割 NUMBER COLOR_WRITE 普通变量: 小写字母,单词之间用_分割 this_is_a…
根据本人的学习,按照理解整理和补充了python模块的相关知识,希望对于一些需要了解的python爱好者有帮助! 一.软件开发规范--分文件 当代码存在一个py文件中时: 1.不便于管理 (修改,增加) 2.可读性差 3.加载速度慢 Django--雏形(约定俗称) 1.启动文件 启动接口 2.公共文件 大家需要的功能 3.配置文件(静态文件) 变量 4.主逻辑 核心 5.用户相关数据 账号和密码等文件 6.日志 记录主要信息,记录开发人员的行为 高内聚 二.sys sys python解释器做…
  软件目录结构规范 软件开发规范 一.为什么要设计好目录结构? 1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下.这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好. 二.目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目…
python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参考. 模块名: 模块应该使用尽可能短的.全小写命名,可以在模块命名时使用下划线以增强可读性.同样包的命名也应该是这样的,虽然其并不鼓励下划线. 主要是考虑模块名是与文件夹相对应的,因此需要考虑文件系统的一些命名规则的,比如Unix系统对大小写敏感,而过长的文件名会影响其在Windows\Mac\Dos等系统中的正常使用. 通常是小写字母,单词之间用_分割 ad_stats.py 包名: 和模块名一样 类…
python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参考. 模块名: 模块应该使用尽可能短的.全小写命名,可以在模块命名时使用下划线以增强可读性.同样包的命名也应该是这样的,虽然其并不鼓励下划线. 主要是考虑模块名是与文件夹相对应的,因此需要考虑文件系统的一些命名规则的,比如Unix系统对大小写敏感,而过长的文件名会影响其在Windows\Mac\Dos等系统中的正常使用. 通常是小写字母,单词之间用_分割ad_stats.py 包名: 和模块名一样 类名…
模块名: 小写字母,单词之间用_分割 ad_stats.py 包名: 和模块名一样 类名: 单词首字母大写 AdStats ConfigUtil 全局变量名(类变量,在java中相当于static变量): 大写字母,单词之间用_分割 NUMBER COLOR_WRITE 普通变量: 小写字母,单词之间用_分割 this_is_a_var 实例变量: 以_开头,其他和普通变量一样 _price    _instance_var 私有实例变量(外部访问会报错): 以__开头(2个下划线),其他和普通…
Python解释器的安装 1 下载 ​ 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/windows/ 下载64位版本(根本本人电脑选择适合的位数) 2安装 (切记:一定要勾选Add Python 3.6 to PATH,会自动安装环境变量,使第六步的测试安装更加方便) 3修改安装路径 (勾选Install for all users,然后根据本人安装习惯选择安装路径,此安装路径最好…
小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行都是代码块 int:-5~无穷大 str: 定义字符串的时候可以是任意的 字符串(字母,数字)进行乘法时总长度不得超过20 特殊字符(中文,符号)进行乘法时乘以0或者1 bool: True False is是判断两边的内存地址是否相同 ==判断两个值是否相等 代码块.小数据池同在的情况下先执行代码…
Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: ​ print (int("111010100",2)) # 2进制 - 10进制 0 * 2**0 + 1 * 2 ** 1 + 1 * 2**2 + 1* 2**3 + 1 * 2 ** 4 + 1 * 2 ** 5 0 + 2 + 4 + 8 + 16 + 32 = 62 print(int("…
python是一门解释型编程语言 变量名命名的规则: 变量名由字母,数字,下划线组成 变量名不能以数字开头 变量名要具有可描述性 变量名要区分大小写 变量名禁止使用python关键字 变量名不能使用中文和拼音 变量名推荐写法: 驼峰体 下划线(推荐使用下划线) 常量 变量名全部大写叫做常量,一直不做更改的量 常用于配置文件中 注释 单行注释 -# 多行注释 - """""" '''''' 基础数据类型初始 字符串( str ):用于存储一些数据,…
序列化(背) json :将数据类型转换成字符串(序列化),将字符串装换成原数据类型(反序列),支持dict,list,tuple等,序列后都变成了列表 dumps,loads ------ 用于网络传输 json.dumps:将数据类型转换成字符串 json.loads:将字符串转换成原数据类型 dump,load ------ 用于文件传输 json.dump:一个load对应一个dump 中文转换时,必须加ensure_ascii = False 转换后的数据类型排序:sort_keys…
名称空间: 内置空间:python解释器自带的一块空间 全局空间:py文件中顶格写的就是全局空间 局部空间:函数体中就是局部空间 加载顺序: 内置空间 全局空间 局部空间 # def func(): # a = 1 # print(a) # func() 取值顺序: 局部空间 全局空间 内置空间 a = 10 def func() print(a) func() 作用域: 全局作用域:全局+内置 局部作用域:局部 函数的嵌套 ​ 不管在什么位置,只要是函数名()就是在调用一个函数. # 混合嵌套…
time模块:import time time.time():时间戳,是一个浮点数,按秒来计算 time.sleep():睡眠,程序暂停多少秒执行 python中时间日期格式化符号: 必背 %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) 简单记忆,了解就好 %a 本地简化星期名称…
自定义模块 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数) 作用: 将代码文家化管理,提高可读性,避免重复代码 拿来就用(避免重复造轮子),python中类库比较多,提升开发效率 import导入时会做三件事: # import test # 只能将整个工具箱拿来 # a = test.t1 # b = test.t2 # # a() # b() 将.py文件中的所有代码读取到当前文件 在当前文件开辟空间 等待被调用 import导入同一个模块名时,只执行一次 i…
1.什么是生成器 核心:生成器的本质就是一个迭代器 迭代器是python自带的的 生成器是程序员自己写的一种迭代器 编写方式: 基于函数编写 推导式编写 def func (): print("这是一个函数") return"函数" func() def func(): print("这是一个生成器") yield"生成器" #func() 生成一个生成器 print(func().__next__) #启动生成器 输出结果:…
函数名的第一类对象(概述): 使用方式: 函数名可以当做值赋值给变量 def func(): print(1) print (func) #查看函数的内存地址 a = func print (a) # 函数名可以当做容器中的元素 dic = {"1":login,"2":register,"3":index} msg = """ 1 登录 2 注册 3 主页 """ choose = i…
开放封闭原则:在不修改源代码及调用方式,对功能进行额外添加就是开放封闭原则 开放:对代码的扩展进行开发 封闭:修改源代码 装饰(额外功能) 器:工具(函数) 普通版: # print(time.time()) #时间戳,小数 import time def func(): time.sleep(1) print("这是小刚写的功能") def func(): time.sleep(1) print("这是小红写的功能") def index(): time.slee…
""" name = input(">>>")通过代码来验证name变量是什么数据类型? """ name = input(">>>") print(type(name),"name") """if条件语句的基本结构?""" 1.if -- 如果. 官方推荐四个空格,Tab 空格和tab不能混…
1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表文件句柄 文件路径: 绝对路径:从根文件夹下查找 相对路径: 相对于某个文件进行查找 f = open("D:\Python_s25\day08\小姐姐电话号",mode="r",encoding="utf-8")# print(f.read())…
Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: ​print (int("111010100",2)) python 2进制 - 10进制 0 * 20 + 1 * 2 1 + 1 * 22 + 1* 23 + 1 * 2 ** 4 + 1 * 2 ** 5 0 + 2 + 4 + 8 + 16 + 32 = 62 print(int("11111…
ascii码: 支持英文,数字,符号 1字节 不支持中文 gbk(国标) 支持英文,数字,符号 1字节 支持中文 2字节 unicode(万国码): 支持英文,数字,符号 4字节 支持欧洲 4字节 支持亚洲 4字节 utf-8: 支持英文,数字,符号 --1字节 支持欧洲 --- 2字节 支持亚洲 ---- 3字节…
字典: 定义:dict dict = {"key":"value"} -- 键值对 作用:存储大量数据,数据和数据起到关联作用 所有的操作都是通过键来完成 键:必须是不可变的数据类型(可哈希),且唯一不可变 值:任意的数据类型 字典是可变的数据类型,无序的 字典的增: 暴力添加:dict["key"] = "value" 添加一个键值对,可以是列表 有责添加,无则不添加 dict.setdefault("key&qu…
1.列表 数据类型之一,存储数据,大量的,存储不同类型的数据 列表是一种有序的容器 支持索引 列表是一种可变数据类型 原地修改 列表中只要用逗号隔开的就是一个元素,字符串中只要是占一个位置的就是一个元素 1.1 列表的增加: lst.append() 追加(在最末尾的地方进行添加) lst. insert() 插入 lst.extend() 迭代添加 1.2 列表的删除 lst.clear() 清空 lst.pop() 删除 lst.remove() 移除 del lst[4] # 通过索引删除…
while 循环 ​ while 条件: ​ 循环体 终止循环的两种办法: 改变条件 break break和continue的用法: break 用法:打破当前循环,(终止当前循环),所处位置在循环体中,用在循环体之后 continue用法:形成一个闭环,循环执行continue之前的循环体,continue会伪装成最后一行代码,不执行他之后的代码 while else: ​ while 条件: ​ 循环体 ​ else: ​ 结果 # 当while循环体中出现了break就不会再执行else…
函数初识 定义:def--关键字 ​ 将某个功能封装到一个空间中就是一个函数 功能: ​ 减少重复代码 函数的调用 ​ 函数名+():调用函数和接收返回值 函数的返回值 return 值 == 返回值 可以返回任意的数据类型 return 返回多个内容是元祖的形式 return 下方不执行,并且会终止当前函数 return 不写或者写了return 后面不写值都会返回None 函数的返回值返回给函数的调用者 函数的返回值可以有多个结果 函数的参数 分类: 位置参数:一一对应 默认参数:参数定义是…
导入:import random 随机小数:random.random():大于0小于1之间的小数 指定数字之间的小数,不包含指定的最大值:random.uniform() 随机整数:random.randint(1,5):大于等于1且小于等于5之间的整数 指定奇数或偶数,使用步长:random.randrange(1,19,步长) 随机选择一个并返回,会出现重复元素,以列表形式返回:random.choice((1,2,3,),k=3),出现3个元素 任意选择三个元素出现,不会重复:rando…
递归:不断地调用自身,用函数实现 死递归(死循环): def func(): print(1) func() func() 知识点:官方说明最大深度1000,但实际执行998或997以下,看电脑性能 满足两个条件才是递归 不断调用自身 有明确的终止条件 举例:以计算年龄为例 def age(n): if n == 1: return 18 else: return age(n-1)+2 print(age(3)) #3代表执行三次 拆解: ![image-20190627140416004](C…
装饰器的进阶 有参装饰器: # def warpper(func): # def inner(*args,**kwargs): # user = input("user:") # pwd = input("pwd:") # if user == 'alex' and pwd == "dsb": # func(*args,**kwargs) # return inner # # @warpper # def foo(): # print("…
闭包 定义:在嵌套函数内,使用(非本层变量)非全局变量就是闭包 闭包必须是内层函数对外层函数的变量(非全局变量)的引用 函数执行完毕后,函数体内的空间自行销毁 def func(): a=1 def foo(): print(a) print(foo.__closure__) #判断是不是闭包,返回None就不是闭包 func() 作用: 保护数据的安全性 装饰器…