python基础课程_学习笔记26:编程的乐趣

时间:2022-09-01 13:56:51

编程的乐趣

编程柔术

当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验。在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识。我们不应该忽视沿途汲取的教训,相反,它们用于其他设计软件(或重建)在。

灵活性的实现包含很多方面。以下是当中两个:

原型设计: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:编程的乐趣的更多相关文章

  1. python基础课程_学习笔记15:标准库:有些收藏夹——fileinput

    标准库:有些收藏夹 fileinput 重要功能 性能 叙述性说明 input([files[,inplace[,backup]]) 便于遍历多个输入流中的行 filename() 返回当前文件的名称 ...

  2. python基础课程_学习笔记13:标准库:有些收藏夹——sys

    标准库:有些收藏夹 sys sys这个模块可以让你访问和python解释器联系紧密的变量和函数. sys模块中一些重要的函数和变量 函数/变量 描写叙述 argv 命令行參数,包含脚本名称 exit( ...

  3. python基础课程_学习笔记21:文件和材料

    文件和材料 打开文件 open功能是用来打开文件,语法例如,下面的: open([name[,mode[,buffering]]) open函数使用一个文件名称作为唯一的强制參数,然后返回一个文件对象 ...

  4. python基础课程_学习笔记20:标准库:有些收藏夹——os

    标准库:有些收藏夹 os os模块为您提供访问多个操作系统服务特征. os和它的子模块os.path还包含一些用于检查.构造.删除文件夹和文件的函数,以及一些处理路径的函数. os模块中一些重要函数和 ...

  5. python基础教程_学习笔记14:标准库:一些最爱——re

    标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...

  6. python基础教程&lowbar;学习笔记12:充电时刻——模块

    充电时刻--模块 python的标准安装包含一组模块,称为标准库. 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 不论什 ...

  7. python基础教程&lowbar;学习笔记19:标准库:一些最爱——集合、堆和双端队列

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/signjing/article/details/36201499 标准库:一些最爱 集合.堆和双端队 ...

  8. python基础课程&lowbar;2学习笔记3:图形用户界面

    图形用户界面 丰富的平台 写作Python GUI程序前,须要决定使用哪个GUI平台. 简单来说,平台是图形组件的一个特定集合.能够通过叫做GUI工具包的给定Python模块进行訪问. 工具包 描写叙 ...

  9. python基础教程&lowbar;学习笔记1:序列-1

    序列 数据结构:通过某种方式组织在一起的数据元素的集合,这些数据元素能够是数字或者字符,甚至能够是其它数据结构. python中,最主要的数据结构是序列. 序列中的每一个元素被分配一个序号--即元素的 ...

随机推荐

  1. Atitit&period; 项目文档目录大纲 总集合 &&num;160&semi;v2

    Atitit. 项目文档目录大纲 总集合  v2 -----Atitti.原有项目源码的架构,框架,配置与环境说明 v3 q511 -----Atitit.开发环境 与 工具 以及技术框架 以及 注意 ...

  2. 获取radio和select的值,获取select的值

    获取radio的值 var val=$('input:radio[name="_objId"]:checked').val(); jQuery中获得选中select值 第一种方法$ ...

  3. 给远程桌面发送&ldquo&semi;Ctrl&plus;Alt&plus;Delete&rdquo&semi;组合键

    首先: 在运行里,输入osk, 打开软键盘 然后,这时先按下本地键盘的Ctrl和Alt键,再点远程"软键盘"的"Del"键,成功发送"Ctrl+Alt ...

  4. SVNKIT的SVNCommitClient的doMkDir的操作

    package com.repositoryclient.svnoptions; import java.io.File; import org.tmatesoft.svn.core.SVNCommi ...

  5. centos tomcat 安装

    安装说明 安装环境:CentOS-6.3 安装方式:源码安装  软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/downloa ...

  6. Oracle 升级的必要性

    一.Oracle 历史 Oracle database 作为Oracle 公司的商业产品,凭借其稳定性和运行高效占据了全球三成以上的市场.并且主要是金融.*等领域. Oracle 数据库拥有近40年 ...

  7. 牛客练习赛38 D 题 出题人的手环 (离散化&plus;树状数组求逆序对&plus;前缀和)

    链接:https://ac.nowcoder.com/acm/contest/358/D来源:牛客网 出题人的手环 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他 ...

  8. 最大子数组问题&sol;Maximum Subarray

    问题描述: Find the contiguous subarray within an array (containing at least one number) which has the la ...

  9. css中的f弹性盒子模型的应用案例

    案例1: <!doctype html> <html> <head> <meta charset="utf-8"> <meta ...

  10. Bootstrap文件上传组件:bootstrap fileinput

    为了上传预览pdf与图片特用此插件. 源码以及API地址: bootstrap-fileinput源码:https://github.com/kartik-v/bootstrap-fileinput ...