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。


相关文章
|
17天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
16天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
4天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
98 80
|
3天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
17 2
|
8天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
39 8
|
8天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
28 7
|
8天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
28 4
|
8天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
25 5
|
16天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
41 10
|
16天前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
下一篇
DataWorks