Python基础教程(第3版)中文版 第19章 趣味编程 (笔记)
  TEZNKK3IfmPf 2023年11月15日 34 0

                                         第19章 趣味编程

1. 为何要有趣

感到有趣时,实现高效就容易得多。

2. 编程柔术

在编程过程中遇到麻烦时,要灵活变通。

3.原型设计:

原型指的是尝试性实现,即一个模型。它实现了程序的主要功能。
对程序的结构(如需要哪些类和函数)有一定想法后,先实现一个功能简单的版本,有了可运行的程序后,可再添加新功能。

4.配置:

1.提取常量
常量值内置的字面量值,如数、字符串和列表。
常量可直接存储在全局变量,不必重复输入。
要指出变量为常量,变量名使用大写字母,用下划线分隔单词。
2.配置文件
将配置变量放在独立的文件中,方便进行更改设置。
方法1.为配置创建一个模块。
方法2.使用标准库模块configparser,可在配置文件中使用标准格式。如:
greeting = 'Hello, world!'
或者
greeting: Hello, world!

必须使用[files]、 [colors]等标题将配置文件分成几部分。
标题名称可自定义,然后用[]括起。

例:
创建一个配置文件,名为area.ini
内容如下:
[numbers]

pi: 3.14159265335897931

[messages]

greeting: Welcome to the area calculation program!
question: Please enter the radius:
result_message: The area is

在程序中使用:
#使用配置文件中的常量,进行圆面积计算
from configparser import ConfigParser

CONFIGFILE = "area.ini"

config = ConfigParser()

config.read(CONFIGFILE)

print(config['messages'].get('greeting'))

radius = float(input(config['messages'].get('question')+ '' ))

print(config['messages'].get('result_message'), end=' ')

print(config['numbers'].getfloat('pi') * radius **2)

5.日志

日志就是收集与程序运行相关的数据的一个东西。
print语句是一种简单的日志形式。要使用它,只需在程序开头包含:
log = open('logfile.txt', 'w')
然后就可以将程序信息写入这个文件:
print('Downloading file from URL', url, file=log)
text = urllib.urlopen(url).read()
print('File successfully downloaded', file = log)

更好的做法是使用标准库中的模块logging
例:

import logging

logging.basicConfig(level=logging.INFO, filename='mylog.log')

logging.info('Starting program')

logging.info('Trying to divide 1 by 0')

print(1/0)

logging.info('The division succeed')

logging.info('ending program')

将在包含程序的文件夹找到一个'mylog.log'的文件
打开后看到程序运行的信息
INFO:root:Starting program
INFO:root:Trying to divide 1 by 0

6.如果你已不胜其烦

7.如果你想深入学习
 Andrew Hunt和David Thomas的著作《程序员修炼之道》。
 Martin Fowler等的著作《重构》①。
 四人组Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides的著作《设计模式》。
 Kent Beck的著作《测试驱动开发》。
 Eric S. Raymond的著作《UNIX编程艺术》②。
 Thomas H. Cormen等的著作《算法导论》。
 高德纳的著作《计算机程序设计艺术》(卷1~卷3)③。
 Peter Van Roy和Seif Haridi的著作Concepts, Techniques, and Models of Computer Programming。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   34   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   25   0   0 python
  TEZNKK3IfmPf   2024年05月31日   25   0   0 python
TEZNKK3IfmPf