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中,最主要的数据结构是序列. 序列中的每一个元素被分配一个序号--即元素的 ...
随机推荐
- SE 2014年4月1日
一. 描述OSPF报文都有哪些,其作用? OSPF报文主要有:hello报文.DD报文.LSR报文.LSU报文和LSAck报文. Hello报文主要用来建立和维护邻居关系. DD报文是链路状态数据库的 ...
- 站点接入QQ登录
首先引入授权js文件 <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/op ...
- iOS7 文本转语音 AVSpeechSynthesizer
OS7 的这个功能确实不错.我刚试了下,用官方提供的API ,简单的几句代码就能实现文本转语音! Xcode 5.0 工程建好后首先把AVFoundation.framework 加入到工程 AVSp ...
- 关于QTP
关于QTP,我也才接触,只是上来记录一下安装过程,免得以后忘记,又要查一堆资料. 简单介绍一下QTP: QTP的基本功能包括2个部分:一部分是提供给初级用户使用的关键字视图:另一部分是提供给熟悉VBS ...
- ActiveMQ相关背景(转)
概述 介绍中间件.MOM.JMS.ActiveMQ,及相互的关系. 中间件 由于业务的不同.技术的发展.硬件和软件的选择有所差别,导致了异构组件或应用并存的局面.要使这些异构的组件协同工作,一个有效的 ...
- macbook连接linuxserver后不显示matlab桌面[问题]
macbook 登录远程linuxserver.Macbook今天,系统版本号10.9.4.这是更新,打开matlab当提醒x11不存在.一个接着安装Xquarz2.7.6. matlab它可以在本地 ...
- SQL Server :理解DCM页
原文:SQL Server :理解DCM页 我们已经讨论了各种不同的页,包括数据页.GAM与SGAM页.PFS页,还有IAM页.今天我们来看下差异变更页(Differential Change Map ...
- .NET垃圾回收笔记
名词 垃圾收集目标 ephemeral GC 发生在Gen 0 和Gen 1 的垃圾收集 Full GC 发生Gen 2 及以上的Gen与LOH的垃圾收集 垃圾收集模式 工作站模式 GC直接发生在内存 ...
- 3D MAX脚本教程1
本文转载自http://jiurong995294.blog.163.com/blog/static/195133243201192531546490/ 方便以后须要时候使用 为什么要学习3D MAX ...
- 【shell文字】mysql每日备份shell文字
每天固定时间使用mysqldump 备份mysql数据. #!/bin/bash #每天早上4点, mysql备份数据 orangleliu #chmod 700 backup.sh #crontab ...