《从问题到程序:用Python学编程和计算》——导读

简介:


<a href=https://yqfile.alicdn.com/588bc2da9421b8333b114ce90ae9979240cb7933.png" >


image
" >

前 言
  计算机诞生至今不过六七十年,但它已经改变了世界,改变了每个人的生活。人们每天都在与计算机交流(如智能手机),各领域专业人员的大量日常工作都需要使用计算机,从事与计算机相关工作的人们已经发展为社会上最大的专业技术社团。计算机的研究和应用、互联网和其他相关领域,还在不断呼唤大量熟悉计算机的专业开发人才。计算机科学技术的开发和应用能力已被广泛认为是国家竞争力的重要组成部分。因此,学习计算机科学技术知识,不仅是社会发展的需要,而且已成为个人的重要职业竞争力。然而,要深入理解计算和计算机,使其成为得心应手的工具,就必须学习编程。
  近年来,Python语言的良好特征已经得到学界和业界的广泛认可,被世界上许多知名大学选作计算机科学教育的第一门语言,也被很多企业和实际项目作为开发语言。这些发展情况,使越来越多的人有了学习Python的兴趣和需要。
  本书源自作者讲授基于Python的编程课程的经验,又经过认真整理,目标是提供一条清晰易行的学习路径。本书的结构和内容力图反映编程的本质,可以作为高校计算机基础课程教材,也适合希望学习Python语言和编程技术的读者阅读和参考。本书书名反映了作者对编程的基本认识:编程是从要解决的问题开始,最终得到解决问题的程序的过程。要学好编程,就要努力去理解这个过程,还必须反复实践。
目 录

前言
[第1章 程序设计和Python
1.1 计算机和程序
1.1.1 “是什么”和“怎样做”的知识
1.1.2 计算和程序
1.1.3 编程语言](https://yq.aliyun.com/articles/108817)
[1.2 Python语言简介
1.2.1 Python语言的发展和应用
1.2.2 Python系统和IDLE编程环境 ](https://yq.aliyun.com/articles/108822)
[1.3 程序开发
1.3.1 程序开发过程
1.3.2 程序错误
1.3.3 从问题到程序 ](https://yq.aliyun.com/articles/108826)
1.4 练习
[第2章 计算和编程初步
2.1 数值表达式和算术
2.1.1 整数计算
2.1.2 浮点数和复数 ](https://yq.aliyun.com/articles/108837)
[2.2 数据对象、计算和类型
2.2.1 对象和类型
2.2.2 混合类型计算和类型转换
2.2.3 数值类型和计算的简单总结 ](https://yq.aliyun.com/articles/108848)
[2.3 内置函数和数学函数包
2.3.1 函数及其使用
2.3.2 处理数值的内置函数
2.3.3 数学函数包 ](https://yq.aliyun.com/articles/108856)
[2.4 字符串
2.4.1 字符串和字符串类型
2.4.2 字符串操作 ](https://yq.aliyun.com/articles/108862)
[2.5 标识符、变量和赋值
2.5.1 变量、名字和值
2.5.2 简单顺序计算 ](https://yq.aliyun.com/articles/108865)
[2.6 简单脚本程序
2.6.1 脚本的编辑和执行
2.6.2 程序和输入 ](https://yq.aliyun.com/articles/108871)
[2.7 判断和条件控制
2.7.1 条件判断和逻辑表达式
2.7.2 if语句(条件语句)
2.7.3 编程实例 ](https://yq.aliyun.com/articles/108877)
[2.8 重复计算和循环
2.8.1 重复计算
2.8.2 for语句和重复计算
2.8.3 while语句和迭代
2.8.4 循环控制 ](https://yq.aliyun.com/articles/108883)
[2.9 计算的抽象和函数
2.9.1 计算的控制和抽象
2.9.2 计算的抽象:函数
2.9.3 函数定义和使用实例 ](https://yq.aliyun.com/articles/108887)
[2.10 若干Python机制及其他
2.10.1 已讨论的Python机制
2.10.2 若干Python机制
2.10.3 Python解释器 ](https://yq.aliyun.com/articles/108895)
[2.11 补充材料
2.11.1 语言细节
2.11.2 编程技术 ](https://yq.aliyun.com/articles/108907)
2.12 练习
[第3章 基本编程技术
3.1 循环程序设计
3.1.1 循环的需求和问题
3.1.2 常见循环形式
3.1.3 输入循环 ](https://yq.aliyun.com/articles/108976)
[3.2 递归
3.2.1 递归定义的函数
3.2.2 乘幂的计算
3.2.3 循环和递归
3.2.4 斐波那契数列的计算
3.2.5 最大公约数
3.2.6 不容易用循环求解的递归问题
3.2.7 更复杂的递归情况 ](https://yq.aliyun.com/articles/108993)
[3.3 程序终止性
3.3.1 调和级数的部分和
3.3.2 程序终止性不可判定 ](https://yq.aliyun.com/articles/108999)
[3.4 定义函数
3.4.1 为什么定义函数
3.4.2 学习定义函数
3.4.3 函数:两种观点及其联系
3.4.4 通用和专用的方法 ](https://yq.aliyun.com/articles/109021)
3.5 练习
第4章 函数和程序结构
4.1 作用域、环境和状态
4.1.1 作用域与函数定义
4.1.2 环境和状态
4.1.3 程序执行中的环境变化
4.1.4 模块和环境
4.2 函数定义和函数调用
4.2.1 函数定义的结构
4.2.2 函数调用中的问题
4.2.3 带默认值形参和关键字实参
4.3 编程框架和高阶函数
4.3.1 编程框架和函数的函数参数
4.3.2 匿名函数和lambda表达式
4.3.3 随机数和模拟
4.3.4 高阶函数
4.4 程序的测试和调试
4.4.1 测试
4.4.2 排除程序里的错误
4.4.3 使用IDLE的调试功能
4.4.4 程序测试问题
4.5 补充材料
4.5.1 语言细节
4.5.2 编程技术和规则
练习
第5章 数据的组织和操作
5.1 组合数据对象
5.2 表
5.2.1 简介
5.2.2 表的构造和操作
5.2.3 编程实例
5.3 元组
5.3.1 基础
5.3.2 有理数程序包
5.3.3 打包和拆分
5.4 序列、不变对象和可变对象
5.4.1 序列和序列操作
5.4.2 描述式
5.4.3 对象、变动和变量关联
5.4.4 一些程序实例
5.4.5 表处理
5.5 字符串及其格式化生成
5.5.1 字符串操作
5.5.2 字符串的格式化
5.5.3 一个简单的交互式计算器
5.6 字典
5.6.1 概念和操作
5.6.2 字典与函数参数
5.6.3 字典的应用实例
5.7 集合
5.7.1 概念和操作
5.7.2 集合操作
5.8 程序实例
5.8.1 多项式计算
5.8.2 另一个筛法实例
5.9 若干语言和技术问题
5.9.1 逻辑类型和逻辑判断
5.9.2 函数参数的总结
5.10 补充材料
5.10.1 语言细节
5.10.2 编程技术
练习
第6章 高级编程技术
6.1 文件:使用外存数据
6.1.1 文件和输入/输出
6.1.2 Python的文件功能
6.1.3 文件处理程序实例
6.2 生成器函数和闭包
6.2.1 生成器函数
6.2.2 闭包和装饰器
6.2.3 编程实例
6.3 异常和异常处理
6.3.1 运行中的错误
6.3.2 异常和异常处理
6.3.3 异常处理的结构和技术
6.3.4 try结构和raise语句详述
6.3.5 预定义异常
6.3.6 用异常作为控制机制
6.4 数据处理和持久性
6.4.1 文本生成
6.4.2 数据记录和信息管理
6.4.3 数据持久性
6.4.4 with语句
6.5 Python程序的几个问题
6.5.1 Python程序及其运行
6.5.2 程序格式
6.5.3 怎样阅读Python手册
6.6 补充材料
6.6.1 语言细节
6.6.2 编程技术
练习
第7章 数据抽象和面向对象编程
7.1 数据抽象、类和自定义类型
7.1.1 类型和数据组合
7.1.2 对象、类和类型
7.2 Python的类和对象
7.2.1 对象和操作
7.2.2 类定义
7.2.3 几点说明
7.2.4 编程实例
7.3 继承
7.3.1 继承、基类和派生类
7.3.2 编程实例
7.3.3 多继承
7.3.4 异常和类
7.4 实例:学校人事管理
7.4.1 概念分层和基础人员类
7.4.2 具体人员类的设计和实现
7.4.3 讨论
7.5 特殊方法名和特殊功能的类
7.5.1 容器类和迭代器
*7.5.2 上下文管理器和with语句
7.5.3 几个特殊方法名
7.6 补充材料
*7.6.1 Python类、对象和方法
7.6.2 面向对象的技术和方法
7.6.3 总结
练习
第8章 其他编程问题
8.1 图形用户界面
8.1.1 人机界面的问题
8.1.2 标准库包tkinter和图形用户界面
*8.1.3 tkinter的ttk包
8.1.4 GUI的简单应用和问题
8.1.5 应用程序的GUI设计和实现
8.1.6 总结和讨论
8.2 并发程序设计
8.2.1 并发程序
8.2.2 Python并发库threading包
8.2.3 定义自己的线程类
8.2.4 并发程序的一些问题
8.2.5 线程间通信和queue包
8.2.6 一个GUI并发程序实例
8.2.7 总结和讨论

相关文章
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
1月前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
74 28
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80
|
2月前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
87 6
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
|
2月前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
65 10

推荐镜像

更多