Python基础教程(第3版)中文版 第19章 趣味编程 (笔记)

简介: Python基础教程(第3版)中文版 第19章 趣味编程 (笔记)

                               第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。


相关文章
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
251 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
283 104
|
2月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
242 103
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
179 82
|
23天前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
142 3
|
23天前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
309 3
|
30天前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
106 1
|
1月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
227 3
|
2月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
642 19
|
23天前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
187 0

推荐镜像

更多