python基础课程_学习笔记26:编程的乐趣
编程的乐趣
编程柔术
当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验。在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识。我们不应该忽视沿途汲取的教训,相反,它们用于其他设计软件(或重建)在。
灵活性的实现包含很多方面。以下是当中两个:
原型设计:python最优秀的功能之中的一个就是能够高速地编敲代码。
编写原型程序是更充分地了解问题的一种非常好的方法。
配置:灵活性有非常多种存在形式。配置的目的就是让程序某部分的改变更简单,对于你和用户来说都是这样。
第三点是自己主动化測试。假设希望轻松改变程序的话,那么自己主动化測试绝对是不可缺少的。使用原地測试,就能保证你的程序在进行改动后还能工作。
原型设计
在将一些思想融入到程序的结构中后,建议实现一个简单的版本号,这个版本号的功能可能很有限。
还能在不论什么程序设计语言中使用原型设计,但python的强大之处就在于编写一个模型仅仅须要非常少的投入。而不用大动干戈。
配置
第二种更加简单的在程序中引入抽象的方法:从代码中提取符号化常量。
提取常量
为了标识变量是作为符号化常量对待的。能够用特殊的命名规则——名字之用大写字母。而且用下划线分隔每一个单词。
配置文件
为自己使用方便提取常量是一码事,还要考虑有些常量是要公开给用户的。
这里不是将这些配置变量放在模块的开头,而是将它们放在单独的文件里。实现这个功能的最简单方法就是为配置创建单独的模块。
使用配置文件具有两面性:一方面,配置功能非常实用,但对整个项目使用集中、共享的变量库会让项目的模块性下降、总体性上升。一定要确保没有破坏抽象(比方封装)规则。
第二种方法是使用标准库模块ConfigParser,它的作用是对配置文件使用适当的标准格式。它接受标准的python赋值语法:
greeting = ‘hello,world!’
第二种在非常多程序中使用的配置格式例如以下:
greeting: hello,world!
须要使用[files]或者[colors]这种数据头将配置文件划分为几个区段。
名称能够任意设定。但须要将它们用方括号括起来。
日志记录
日志记录在大幅度更改程序内核时候非常实用,它能够帮助找到问题和错误所在。
日志记录基本上就是收集与程序执行有关的数据,这样能够在随后进行检查(或累计数据)。
print语句算是一种简单的日志记录形式。
仅仅要在程序开头放上以下这条语句:
log=open(‘log.txt’,’w’)
随后就能够将不论什么感兴趣的程序状态信息像以下这样放在文件里:
print >> log, (‘Downloading file from URL %s’ % url)
text=urllib.urlopen(url).read()
print >> log, ‘File successfully downloaded’
能够使用标准库中的logging模块,logging是个高级模块。值得学习。
假设还想学
推荐阅读:
《程序猿修炼之道》
《重构》
《设计模式》
《測试驱动开发》
《UNIX编程艺术》
《算法导论》
《计算机程序设计艺术》卷1-卷3
《Concepts, Techniques, and Models of Computer Programming》
就算不读完每本书的每一个,也容易Fanfankan。这种洞察力可以在开发过程中培养。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
python基础课程_学习笔记26:编程的乐趣的更多相关文章
- python基础课程_学习笔记15:标准库:有些收藏夹——fileinput
标准库:有些收藏夹 fileinput 重要功能 性能 叙述性说明 input([files[,inplace[,backup]]) 便于遍历多个输入流中的行 filename() 返回当前文件的名称 ...
- python基础课程_学习笔记13:标准库:有些收藏夹——sys
标准库:有些收藏夹 sys sys这个模块可以让你访问和python解释器联系紧密的变量和函数. sys模块中一些重要的函数和变量 函数/变量 描写叙述 argv 命令行參数,包含脚本名称 exit( ...
- python基础课程_学习笔记21:文件和材料
文件和材料 打开文件 open功能是用来打开文件,语法例如,下面的: open([name[,mode[,buffering]]) open函数使用一个文件名称作为唯一的强制參数,然后返回一个文件对象 ...
- python基础课程_学习笔记20:标准库:有些收藏夹——os
标准库:有些收藏夹 os os模块为您提供访问多个操作系统服务特征. os和它的子模块os.path还包含一些用于检查.构造.删除文件夹和文件的函数,以及一些处理路径的函数. os模块中一些重要函数和 ...
- python基础教程_学习笔记14:标准库:一些最爱——re
标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...
- python基础教程_学习笔记12:充电时刻——模块
充电时刻--模块 python的标准安装包含一组模块,称为标准库. 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 不论什 ...
- python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/signjing/article/details/36201499 标准库:一些最爱 集合.堆和双端队 ...
- python基础课程_2学习笔记3:图形用户界面
图形用户界面 丰富的平台 写作Python GUI程序前,须要决定使用哪个GUI平台. 简单来说,平台是图形组件的一个特定集合.能够通过叫做GUI工具包的给定Python模块进行訪问. 工具包 描写叙 ...
- python基础教程_学习笔记1:序列-1
序列 数据结构:通过某种方式组织在一起的数据元素的集合,这些数据元素能够是数字或者字符,甚至能够是其它数据结构. python中,最主要的数据结构是序列. 序列中的每一个元素被分配一个序号--即元素的 ...
随机推荐
- Cocos2d-x精华教程汇总(第三期) cocos2d-x最新离线API文档下载(最新版3.6更新。。。)
其实使用doxygen在Cocos2d-x引擎的doc目录下可以生成离线文档,但是可能每个人为了生成一个离线文档去安装甚至编译doxygen毕竟麻烦,而且现有的doxygen无法生成多语言版本的离线文 ...
- hdu1255(线段树——矩形面积交)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题意:求N个矩形中,求被覆盖至少俩次的面积和 分析:覆盖两次即col[rt]>=2就好.一 ...
- SetCookies, cookie规范注册表和cookie存储将会优先于设置在HTTP客户端级别中默认的那些
遇到下面问题解决方法: Hey? 404 抱歉,你输入的网址可能不正确,或者该网页不存在. 7 秒后返回首页 使用独立的本地执行上下文来实现对每个用户(或每个线程)状态的管理. 定义在本地内容中的co ...
- CentOS 如何使用第三方软件库-EPEL与RPMForge、RPMFusion软件库
在CentOS下运行yum install flash-plugin或yum install mplayer的时候,提示库里没有找到这个软件?为什么会这样?因为CentOS是RHEL编译过来的,去掉了 ...
- 主要的核心思想是取cookie然后发查询请求,不需要浏览器做代理(转)
需求是催生项目和推进项目的不竭动力. 背景: 最近,因为媳妇要做个B超检查,想着去大医院查查应该更放心,所以就把目标瞄准在A医院.早已耳闻A院一号难求万人空巷,所以把所有能接触到的机会都看了一遍,线下 ...
- ThinkPHP的全部配置选项
return array( /* Dispatch设置 */ 'DISPATCH_ON' => true, // 是否启用Dispatcher // URL模式: 0 普通模式 1 PATHIN ...
- CMD经常使用的命令
Win7Excuting订单 win+R.运行该快捷方式.下面3一个人必须知道: ping 它是用来检查网络是否通畅或者网络连接速度的命令. 作为一个生活在网络上的管理员或者黑客来说,ping命令是第 ...
- TextView 使用自定义的字体和亮点
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/40478815 如今非常多应用中喜欢使用自己定义字体,今天我就来实如今TextView中使用自 ...
- 怎么样excel其产生的条形码(10分钟的时间excel)从而出现了条形码
现在快递行业.京东购物,这样一来,使用条码管理,因此,如何在你的excel其中还生产商品条码管理它?其实很easy,4步骤学会!10分钟搞定. 1.从网址如下.下载字体, 2.双击安装字体. 3,在e ...
- PHP 类属性 类静态变量的访问
php的类属性其实有两种,一种是类常量,一种是类静态变量.两种容易引起混淆. 如同静态类方法和类实例方法一样,静态类属性和实例属性不能重定义(同名),但静态属性可以和类常量同名. <?php c ...