读 Python Programming:
An Introduction to Computer Science
笔记
该书作者是
John M. Zelle
书籍版本: 1.0rc2

2 Wirting Simple Programs

2.1 The Software Development Process

此小结,作者简介清晰的介绍了一个完整的程序的开发流程图。
(学到核心之一,无论多难多复杂的东西可以先将问题简化,然后再攻克最难的地方。)

Formulate Requirements
前期的摸索,更加侧重于真实问题本身。
尽可能理解和掌握问题的起源、发展、演化,
通过逻辑的思维方式确定在编程之前可以准确描述
求解思路。

Determine Specifications:
相比第一层在思维领域战斗,这一层更关注些具体细节。
如整体程序需要哪些输入,以及最终结果呈现:输出。
如输入到输出之间的依赖关系,是否可以利用已有函数定义或者
给出独一无二的逻辑思维路线(前后关系)。

Create a Design:
一、二两层清晰之后,在此基础上尝试建立整体的架构。
同时尽可能满足特定的需要,如二层的输出内容。

Implement the Design:
将1、二、三的东西结合选择的语言翻译成相应的符合
该语言规则的源代码,比如Python 语言。

Test/Debug the Program:
容错!程序已经写完,可能第一次就直接运行。
但是,细节上忽律可能造成最终结果的明显错误。
有错咋改,
无措咋勉。

Maintain the Program。
满足客户的需求,代码增减,功能的优化。。。

2.2 Example Program: Temperature Converter

该小结是对上一小节的内容进行举例。
1,真实物理世界存在不同单位转换,其中之一是热力学领域
中温度单位。常见单位如摄氏度和华氏温度,事实上你可以定义任何单位,但是背后的道理只有一个是描述系统的冷热的一个客观物理量。因此,这个一就是二者的转换基础。转换成数学语言就是:
F = True System Thermal Properties = 9 * C / 5 + 32
So, F = 9 * C / 5 + 32

2,IPO(input, Process, Output)
C --> F
F --> C

3, Creat a Design
架构:
提示 C – > F
还是
F --> C 呢?

相应数据读入()
选定相应函数
输出

提示:请输入反馈GOOD or BAD
记录
以便以后修改
4,source code
。。。。
5, run
。。。
6,maintain
。。。

2.3 Elements of Programs

进一步学习Python的一些基础东东。
1. Names
想起老子的道德经中第一句话:
道可道,非常道;名可名,非常名。
虽然大家都读同一本书但是理解的程度不同。
老子这句话很有提示性质。

个人觉得作者水平很高,第一点先说names就已经把握了一半以上的核心。
从普通到抽象的东西都需要一个东东来说明,这就是names。
如:
Modules: covert
Function: main
values: celsius / fahrenheit

而Python语言可利用letter或者_来命名。
大小写有区别。
尽可能描述其功能或者道。

Python语言已经定义的names:

and, assert break class continue def del elif else except
exec finally for from global if import in is lambda not
or pass print raise return try while yield

2 Expressions
有了上小节的名还是不够的,那只是静态的东西,所以还需要阳光。
names + symbols ---->>> 构成多种多样/复杂的动态意思。将names链接起来,一有了,2,3还远吗???

x 一个名 32 一个名 = 一个符号
x = 32 一个动作; x == 32 又一个动作;
(x = 32)==32 又是一个动作。。。

print 一个名 x 一个名
print (x) 则是一个动作。

Python所提供的一些操作(动作常例)如
加 减 乘 除 并以此为基础的一些复杂功能
乘乘 求余 求整 。。。

Python语言也是基于其它已有的知识建立起来,比如常规数学的
运算规则也应该在Python中实现。
方式可以改变,但是背后道理一定相同。

2.4 Output Statements

SS = Syntax(form) + Semantics(meaning)
有点像心法和技巧。

print()
print(‘’)
print("")
print(,)

2.5 Assignment Statements

  1. simple assignment
    <变量> = <表达式>
    names = expressions
    很神奇,这可以推广到宇宙的尽头。不管是简单还是复杂,
    容易还是困难,高还是低。。。都需要用名来描述道。可能
    很难捕捉,也许需要时间认可,但是需要用名来道,道来彰显名。
    =的左右虽然各在天边,但是又在近边。
  2. assinging input
    语言必须要和相应的用户交互,所有必须有输入,当然还有输出。
    屏幕

读书笔记:“Python Programming: An Introduction to Computer Science”相关推荐

  1. 计算机科学概论英文版第五版答案,计算机科学导论习题答案(Introduction to computer science exercises answer).doc...

    计算机科学导论习题答案(Introduction to computer science exercises answer) 计算机科学导论习题答案(Introduction to computer ...

  2. 读书笔记(python)--图及其算法

    限于笔者技术水平,文章可能存在错漏,请各位不吝赐教,笔者会尽快改正 文章目录 前言 一.图的术语与实现 二.宽度优先(BFS)与深度优先(DFS) 1.一个简单的图 2.BFS代码 3.DFS代码 4 ...

  3. 6.00 Introduction to Computer Science and Programming lec5: Objects in Python

    Lec5 主要介绍了Python中的集合类:数组.列表和词典. 首先用下面的例子介绍数组: Test = (1, 2, 3, 4, 5) print Test[0] print Test[1] x = ...

  4. 读书笔记——Python第一个程序Hello world

    2019独角兽企业重金招聘Python工程师标准>>> 开始学习python,随手写那么点笔记 ------------------------------------------- ...

  5. Python 百天读书笔记 | Python语言进阶 16-20day

    Python语言进阶 重要知识点 生成式(推导式)的用法 prices = {'AAPL': 191.88,'GOOG': 1186.96,'IBM': 149.24,'ORCL': 48.44,'A ...

  6. 读书笔记, Python - python-tricks-buffet-awesome-features

    To be a Pythonista 1. assert syntax: assert expression1 [",", expression2] 大致相当于 if __debu ...

  7. 读书笔记————Python编程快速上手

    学习笔记 文章目录 基础 整型.浮点型和字符串数据类型 字符串连接和复制 变量命名规则 `print()`函数 `input()`函数 `len()`函数 `str() float() int()`函 ...

  8. python读书报告_读书笔记 Python编程入门

    P39 组织列表 在你创建的列表中,元素的排列顺序常常是无法预测的,但你经常需要以特定的顺序呈现信息.有时候,你希望保留列表元素最初的排列顺序,而有时候又需要调整排列顺序.Python提供了很多组织列 ...

  9. python语言及其应用-[读书笔记] Python语言及其应用

    记录下秋招期间看的一本Python工具书<Python语言与其应用>,查漏补缺,部分内容整理如下: 易混淆概念 1.1 删除 - del,remove()和pop() 1.2 复制 - 浅 ...

  10. 读书笔记--Python基础教程 001

    name = raw_input('please enter your name: ') or '<unknown>' 换句话说,如果raw_input语句的返回值为真(不是空字符串),那 ...

最新文章

  1. kafka与zookeeper关系
  2. 入门一班 20181024 io监控free ps 网络状态 抓包
  3. android handler作用,3.2.4 Handler的作用
  4. java message_Java Message System简介
  5. An Add-in Bookmark for visual studio 2005
  6. Scala学习02——Scala类和对象
  7. 计算机无法启动printspooler,Win7系统下print spooler服务无法启动的解决方法
  8. 音视频开发之基于某三方音效的Android native层四声道音频输出
  9. 开发者论坛一周精粹(第四十八期) ICP经营许可证办理流程
  10. JavaScript 实现BASE58加密 中文英文数字都可以加密
  11. 给你一个水杯你怎么测
  12. Windows上安装Nessus
  13. 【点云相关】CvxNet:Learnable Convex Decomposition
  14. 费曼技巧:一张白纸提高学习效率
  15. 在51.com一岁生日庆祝会上的致辞
  16. 在Linux上搭建私有云
  17. mysql服务怎么启动和关闭?
  18. Java 判断一个点是否在一个三角形内
  19. 南科大于仕琪团队招聘研究助理教授,博士后
  20. centos8设置静态IP

热门文章

  1. 图形驱动程序和显卡驱动什么区别_更新电脑显卡驱动有什么作用 更新电脑显卡驱动操作介绍【详解】...
  2. C++(qt)游戏实战项目:坦克大战(五)
  3. 一加5应用未安装怎么解决_如何解决一加手机x安装不了软件下载的问题?
  4. apple tv 开发_如何在Apple TV上管理您的订阅
  5. 使用两个路由器级连实现共用一个宽带
  6. 北邮校长方滨兴将离职 临别奉送学生“六好”锦囊
  7. 《APUE.3E》用gdb调试ftw函数(图4-22)
  8. EditText过滤特殊符号
  9. 路由器自动获取ip失败
  10. 2020年7月 leetcode每日一题 C语言版本