最近参加了一个比赛,然后看到队友编程的代码,我觉得真的是觉得注释和命名规范的重要性了,因为几乎每个字符都要咨询他,用老师的话来说,这就是命名不规范的后续反应.所以此时的我意识到写一篇关于注释程序的重要性了,因此特地的写一篇文章规范自己,也帮助新手入门. (这篇文章已经是我自己更新的第三遍了,第一次叫浅谈注释的重要性,那时候我刚入门不久:学着学着我会发现变量名也很重要,第二次是规范变量名:这次我又改了,我觉得不止是这些东西,从长远的来说,编程以后就是自己的工作,或者说工具,所以遵循一套编码规则很重…
前言 我们这些初学者,目前要做的就是遵守代码规范,这是最基本的,而且每个团队的规范可能还不一样,以后工作了,尽可能和团队保持一致,目前初学者就按照官方的要求即可 新人进入一个企业,不会接触到核心的架构级别的代码,这些东西大多数有大佬写好了.所以新人要做的就是维护别人的代码,因此代码的可阅读性,良好的可维护性是最重要的,关键的影响性能的代码,不需要我们写,慢慢的写得多了,积累的多了,看几个优秀的代码就会了了,所以,初学者前期关注代码规范,不写bug,就ok. 学习软件开发目录的规范,为了让自己理解…
Re模块:(正则表达式) 正则表达式就是字符串的匹配规则 正则表达式在多数编程语言里都有相应的支持,Python里面对应的模块时re 常用的表达式规则:(都需要记住) “ . ”   #  默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 “ ^ ”  #  匹配字符开头,若指定flags MULTILINE,这种也可以匹配上("^a","\nabc\neee",flags=re.MULTILINE)(即:如果flags指定了…
模块 模块的基本概念 模块: # 一系列功能的结合体 模块的三种来源 """ 模块的三种来源 1.python解释器内置的模块(os.sys....) 2.第三方的别人写好的模块文件(requests...) 3.自己定义开发的功能模块(你写在py文件里的内容,可以被当成模块导入) """ 模块的四种表现形式 """ 模块的四种表现形式 1.用python语言编写的py文件(也就意味着py文件也可以称之为模块:一个p…
函数递归: 函数递归指的是重复 “直接调用或间接调用” 函数本身, 这是一种函数嵌套调用的表现形式. 直接调用: 指的是在函数内置,直接调用函数本身. 间接调用: 两个函数之间相互调用间接造成递归. 了解: 面试可能会问: python中有 PS: 但是在每一台操作系统中都会根据硬盘来设置默认递归深度. 获取递归深度: 了解 sys.getrecursionlimit() 设置递归深度: 了解 sys.setrecursionlimit(深度值) 注意: 单纯的递归调用时没有任何意义的. def…
软件开发目录规范 开发一个软件,一个工程项目,一般应该具备以下的几个基本的文件夹和模块,当然,这并不是一成不变的,根据项目的不同会有一定的差异,不过作为一个入门级的新手,建议暂时按照以下的规范编写: 一级目录:项目名,一般大写 bin(放可执行文件) 例如Start.py(整个软件的启动文件) conf(配置文件,全局变量,参数) Setting.py core(核心逻辑) Src,py lib(自定义模块) 自定义的库 log(日志) 交易转账日志等 db(数据文件,例如账户信息等) Read…
6.4 软件开发目录规范 软件(例如:ATM)目录应该包含: 文件名 存放 备注 bin start.py,用于起动程序   core src.py,程序核心功能代码   conf settings.py, 程序配置信息   db db.txt 数据库信息   lib common.py ,存放常用功能   log access.log ,存放记录   start.py : import sys,os #应该把项目的根目录添加到环境变量中BASE_DIR=os.path.dirname(os.p…
目录 py 包和模块,软件开发目录规范 什么是包? 什么是模块? 软件开发目录规范 py 包和模块,软件开发目录规范 什么是包? 包指的是内部包__init__.py的文件夹 包的作用: 存放模块,包可以更好的管理模块 什么是模块? 一些列功能的结合体 相当于模块包着一堆函数与代码 模块本质上是一个.py文件 模块的三种来源: python内置的模块:(python解释器) ​ 比如:sys\time\os\turle 第三方模块:(别人写的) ​ 比如:requests 自定义模块:(自己写的…
目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件内导该文件内的包 3.2 在当前文件内导该文件外的包 六.软件开发的目录规范 一.导入模块的两种方式 方式一 import + 模块 导入 优点:该模块内的名字不会和当前名称空间的名字冲突 缺点:在使用这个模块下的功能或者名字的时候需要加前缀显得麻烦 方式二 from + 模块 import 名字(…
软件开发的目录规范 建立文件夹 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要.软件的目录规范并无硬性标准,只要清晰可读即可 以ATM购物车项目为例: 首先需要建立一个项目文件夹,例如项目名称ATM,这个ATM的大文件夹下需要有几个子文件夹: bin文件夹:用于存放指令文件,可执行指令,例如:start.py conf文件夹:配置性的文件,存放一些变量,运行软件时需要从中读取一些变量值,例如:settings.py db文件夹:放数据库相关的操作代码…
目录基本内容 log  #日志目录 conf  #配置目录 core/luffycity  #程序核心代码目录  #luffycity 是项目名,建议用小写 libs/modules  #内置模块 docs  #文件 README  #软件使用说明 setup.py  #安装文件 bin/  #程序启动脚本,程序入口脚本 luffy_server.py  #通过这个文件去调用其他文件夹里的东西 目录组织方式 假设你的项目名为foo, 我比较建议的最方便快捷目录结构这样就足够了: Foo/ |--…
目录规范: ATM  #工程文件夹 ------| bin  #用来存放可执行文件的 |----  start.py conf  #用来存放配置信息的 |----  settings.py lib  #用来存放自定义的模块 |----  common.py core  #用来存放核心的逻辑 |----  src.py log  #用来存放日志文件的 db  #用来存放数据库相关的文件 ------| readme.txt #存放自述软件信息…
模块的使用01 模块的循环导入问题 解决方案一: 把循环导入的语句放到名字定义的后面 解决方案二: 将循环导入语句放到函数内(先定义确定名称空间)02 区分python文件的两种用途 #当文件被执行时__name__=='__main__' #当文件被导入时__name__=='模块名' # if __name__ == '__main__':    (输入main时可直接出现左边语句)   #     f1()03 模块的搜索路径 # 模块搜索路径的优先级  # 1. 内存中已经加载过的  #…
目录 一.包的使用 1.什么是包 2.包的具体使用 1.常规导入 2.直接导入包名 二.编程思想转变 1.面条阶段 2.函数阶段 3.模块阶段 三.软件目录开发规范 1.bin 2.conf 3.core 4.interface 5.db 6.log 7.lib 8.readme 9.requirements 四.常用内置模块 1.collections模块 1.具名元组 2.双端队列 3.默认值字典 4.计数 2.time时间模块 1.时间戳 2.结构化时间 3.格式化时间 4.睡眠 5.da…
本章重点: 理解在开发人标准软件时,如何布局项目目录结构,以及注意开发规范的重要性. 一.为什么要有好的目录结构 二.目录组织的方式 三.关于README的内容 四.关于requirements.txt和setup.py ================================================================================== 一.为什么要有好的目录结构 好的设计项目目录结构,就和编码风格一样,是每个程序员都有的风格,但是在流水化标准化作…
最近参加了一个比赛,然后看到队友编程的代码,我觉得真的是难以下咽,几乎每个字符都要咨询他,用老师的话来说,这就是山炮编程员,所以此时的我意识到写一篇关于注释程序的重要性了,因此特地的写一篇文章帮助大家入门. 注释不止是为了自己以后看的更清楚,还是为了以后的开发人员所准备的,其实一段时间后,当需要对程序做一些修改或者是改正某个bug的时候,可能未来的我们自己都会忘记相关的细节,所以此时注释显得尤为重要. 每条注释以井号(#)开始,一直到该行末尾结束,一直到该行末尾结束.我们可以在注释中放任何东西,…
软件开发目录规范 bin--启动文件 conf--配置文件 core--核心代码 db--数据文件 lib--常用功能代码 log--日志文件 readme--软件介绍…
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去找内容,因为容易理解也方便,),而是正则用好用精通的很难(看过正则表的应该都知道,里面符号对应的方法规则有很多,很灵活),对于接触编程不久的朋友们来说很可能在编程的过程上浪费很多时间,今天我把经常会用到正则简单介绍下,如果不是很特殊基本都覆盖使用. 1.正则的简单介绍 首先你得导入正则方法 impo…
示例浅谈PHP与手机APP开发,即API接口开发 API(Application Programming Interface,应用程序接口)架构,已经成为目前互联网产品开发中常见的软件架构模式,并且诞生很多专门API服务的公司,如:聚合数据.百度APIStore 作为最流行的服务端语言PHP(PHP: Hypertext Preprocessor),在开发API方面,是很简单且极具优势的这篇文章写给不太了解PHP开发API接口的开发者 一.先简单回答两个问题 1.PHP 可以开发客户端吗?答:正…
软件开发目录设计 对于提高项目可读性.可维护性的要求就很高了.”项目目录结构”其实也是属于”可读性和可维护性”的范畴,我们设计一个层次清晰的目录结构,就是为了达到以下两点: 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下.这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组…
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了. 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种方…
1. 列表生成式 实现对列表中每个数值都加一 第一种,使用for循环,取列表中的值,值加一后,添加到一空列表中,并将新列表赋值给原列表 >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> b = [] >>> for i in a: ... b.append(i + 1) ... >>> a = b >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 第二种,…
python复习 变量与常量 基本数据类型 内置方法 字符编码.文件操作 函数 函数参数.闭包函数.装饰器 面向对象 封装.继承.多态 """ 什么是对象 数据与功能的结合体 什么是类 多个对象公共的数据与功能的结合体 什么是父类 多个类公共的数据与功能的结合体 对象必须要由类产生!!! """ # 重写类的方法.添加新功能重用 import json from datetime import datetime, date dic = {'t1'…
谈移动应用的跨平台开发不能不提HTML5,PhoneGap和Sencha等平台一直致力于使用HTML5技术来开发跨平台的移动应用,现在看来这个方向基本算是失败的,基于HTML5的移动应用在用户体验上与原生应用仍然存在着明显的差距. 与上述HTML5平台不同,Xamarin和React Native通过各自的方式来实现跨平台.Xamarin基于Mono框架将C#代码编译为原生平台代码,React Native则是在UI主线程之外运行一个JavaScript线程,两者呈现给用户的都是原生体验. 笔者…
转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发.(别去纠结 GTK.WinBinder) 2.为什么选择 PHP 作为开发服务端的首选? 答:跨平台(可以运行在UNIX.LINUX.WINDOWS.Mac OS下).低消耗(PHP消耗相当少的系统资源).运行效…
本文内容转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人一.先简单回答两个问题:1.PHP 可以开发客户端?答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发.(别去纠结 GTK.WinBinder)2.为什么选择 PHP 作为开发服务端的首选?答:跨平台(可以运行在UNIX.LINUX.WINDOWS.Mac OS下).低消耗(PHP消耗相当少的系统资源).运行效率…
了解PHP与API开发 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发.(别去纠结 GTK.WinBinder) 2.为什么选择 PHP 作为开发服务端的首选? 答:跨平台(可以运行在UNIX.LINUX.WINDOWS.Mac OS下).低消耗(PHP消耗相当少的系统资源).运行效率高(相对而言).MySQL的完美搭档,本身是免费开源的,...... 二.如何使用 PHP 开发 API…
来源:http://www.thinkphp.cn/topic/5023.html 一.先简单回答两个问题: 1.PHP 可以开发客户端?答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发.(别去纠结 GTK.WinBinder) 2.为什么选择 PHP 作为开发服务端的首选?答:跨平台(可以运行在UNIX.LINUX.WINDOWS.Mac OS下).低消耗(PHP消耗相当少的系统资源).运行效率高(相对而言).MySQL的完美搭档,本身是免费…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第24篇文章,我们一起来聊聊多线程场景当中不可或缺的另外一个部分--锁. 如果你学过操作系统,那么对于锁应该不陌生.锁的含义是线程锁,可以用来指定某一个逻辑或者是资源同一时刻只能有一个线程访问.这个很好理解,就好像是有一个房间被一把锁锁住了,只有拿到钥匙的人才能进入.每一个人从房间门口拿到钥匙进入房间,出房间的时候会把钥匙再放回到门口.这样下一个到门口的人就可以拿到钥匙了.这里的房间就是某一个资源或者是一段逻辑,…
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导客户提出合理需求,贴近现实的需求,能够实现的需求 2.项目架构设计 明确项目核心技术点: 项目需要使用的编程语言 项目使用的框架 项目所使用的数据库 参与人员: 架构师 3.项目分组开发 任务分组开发: 明确每个组,每个人具体该写项目的哪些功能 参与人员: 架构师.开发经理.程序员 4.项目提交测试…