MOOC·嵩天老师团队·北京理工大学:《Python语言程序设计》自学笔记

前言

在本科期间,大多数人奉行“不挂科”主义,上课效率不是很高,基础知识不牢固,导致需要用编程知识的时候只能重新去查找学习,说的就是小编!(小编读本科时,没有开设python这门课)

课程导学

学习python的基本要求:

  • 会使用计算机和Office软件
  • 阅读简单英文内容、3级及以上水平
  • 熟练使用Web浏览器
  • 每周至少1-2个小时,连续9周

第1章 Python基本语法元素

  • 1.1 程序设计基本方法
  • 1.2 Python开发环境配置
  • 1.3 实例1: 温度转换
  • 1.4 Python程序语法元素分析

方法论

  • 程序的基本编写方法:IPO

实践能力

  • 看懂10行左右简单Python代码

1.1程序设计基本方法

  • 1.1.1 计算机与程序设计
  • 1.1.2 编译和解释
  • 1.1.3 程序的基本编写方法
  • 1.1.4 计算机编程

1.1.1 计算机与程序设计

计算机的概念

计算机是根据指令操作数据的设备

  • 功能性
    对数据的操作,表现为数据计算、输入输出处理和结果存储等

摩尔定律Moore’s Law

计算机发展历史上最重要的预测法则,目前面临着失效的风险

  • Intel公司创始人之一戈登·摩尔在1965年提出
  • 单位面积集成电路上可容纳晶体管的数量约每两年翻一番
  • CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律

计算机的发展

计算机发展参照摩尔定律,表现为指数形式

  • 计算机硬件所依赖的集成电路规模参照摩尔定律发展
  • 计算机运行速度因此也接近几何级数快速增长
  • 计算机高效支撑的各类运算功能不断丰富发展
  • 当今世界,唯一长达50年有效且按照指数发展的技术领域
  • 计算机深刻改变人类 会,甚至可能改变人类本身
  • 可预见的未来30年,摩尔定律还将持续有效

程序设计

程序设计是计算机可编程性的体现

  • 程序设计,亦称编程,深度应用计算机的主要手段
  • 程序设计已经成为当今 会需求量最大的职业技能之一
  • 很多岗位都将被计算机程序接管,程序设计将是生存技能

程序设计语言

程序设计语言是一种用于交互(交流)的人造语言

  • 程序设计语言,亦称编程语言,程序设计的具体实现方式
  • 编程语言相比自然语言更简单、更严谨、更精确
  • 编程语言主要用于人类和计算机之间的交互

编程语言种类很多,但生命力强劲的却不多

  • 编程语言有超过600种,绝大部分都不再被使用
  • C语言诞生于1972年,它是第一个被广泛使用的编程语言
  • Python语言诞生于1990年,它是最流行最好用的编程语言

1.1.2 编译和解释

计算机执行源程序两种方式:编译和解释

  • 源代码:采用某种编程语言编写的计算机程序,人类可读
    例如:result = 2 + 3
  • 目标代码:计算机可直接执行,人类不可读 (专家除外)
    例如:11010010 00111011

编译

将源代码一次性转换成目标代码的过程。

编译和解释的对比

  • 编译:一次性翻译,之后不再需要源代码(类似英文翻译),就是程序写好,run一下
  • 解释:每次程序运行时随翻译随执行(类似实时的同声传译),就是在命令解释器shell中,敲一句,运行一句

静态语言和脚本语言

根据执行方式不同,编程语言分为两类

  • 静态语言:使用编译执行的编程语言(C/C++,java)
  • 脚本语言:使用解释执行的编程语言(Python,JavaScript,PHP)

执行方式不同,优势各有不同

  • 静态语言:编译器一次性生成目标代码,优化更充分;程序运行速度更快
  • 脚本语言:执行程序时需要源代码,维护更灵活;源代码在维护灵活、跨多个操作系统平台

1.1.3 程序的基本编写方法

IPO

程序的基本编写方法

  • I:Input 输入,程序的输入
  • P:Process 处理,程序的主要逻辑
  • O:Output 输出,程序的输出

理解IPO

输入

  • 程序的输入
    文件输入、 络输入、控制台输入、交互界面输入、内部参数输入等
  • 输入是一个程序的开始

输出

  • 程序的输出
    控制台输出、图形输出、文件输出、 络输出、操作系统内部变量输出等
  • 输出是程序展示运算结果的方式

处理

  • 处理是程序对输入数据进行计算产生输出结果的过程
  • 处理方法统称为算法,它是程序最重要的部分
  • 算法是一个程序的灵魂

问题的计算部分

一个待解决问题中,可以用程序辅助完成的部分

  • 计算机只能解决计算问题,即问题的计算部分
  • 一个问题可能有多种角度理解,产生不同的计算部分
  • 问题的计算部分一般都有输入、处理和输出过程

编程解决问题的步骤(6步)

  • 分析问题:分析问题的计算部分,想清楚
  • 划分边界:划分问题的功能边界,规划IPO
  • 设计算法:设计问题的求解算法,关注算法
  • 编写程序:编写问题的计算程序,编程序
  • 调试测试:调试程序使正确运行,运行调试
  • 升级维护:适应问题的升级维护,更新完善

求解计算问题的精简步骤(3步)

  • 确定IPO:明确计算部分及功能边界
  • 编写程序:将计算求解的设计变成现实
  • 调试程序:确保程序按照正确逻辑能够正确运行

1.1.4 计算机编程

Q:为什么要学习计算机编程br> A:因为“编程是件很有趣的事儿”!

能够训练思维

  • 编程体现一种抽象交互、自动化执行的思维方式
  • 计算思维:区分逻辑思维和实证思维的第三种思维模式。
  • 能够促进人类思考,增进观察力和深化对交互关系的理解

编程能够增进认识

  • 编程不单纯是求解计算问题
  • 不仅要思考解决方法,还要思考用户体验、执行效率等
  • 能够帮助程序员加深用户行为以及 会和文化认识

编程能够带来乐趣

  • 编程能够提供展示自身思想和能力的舞台
  • 让世界增加新的颜色、让自己变得更酷、提升心理满足感
  • 在信息空间里思考创新、将创新变为现实

编程能够提高效率

  • 能够更好地利用计算机解决问题
  • 显著提高工作、生活和学习效率
  • 为个人理想实现提供一种借助计算机的高效手段

编程带来就业机会

  • 程序员是信息时代最重要的工作岗位之一
  • 国内外对程序员岗位的缺口都在百万以上规模
  • 计算机已经渗透于各个行业, 就业前景非常广阔

学习编程的误区

Q:编程很难学吗A:掌握方法就很容易!

  • 首先,掌握编程语言的语法,熟悉基本概念和逻辑
  • 其次,结合计算问题思考程序结构,会使用编程套路
  • 最后,参照案例多练习多实践,学会举一反三次

单元小结

程序设计基本方法

  • 计算机的功能性和可编程性
  • 编译和解释、静态语言和脚本语言
  • IPO、理解问题的计算部分
  • 掌握计算机编程的价值

1.2 Python开发环境配置

  • 1.2.1 Python语言概述
  • 1.2.2 Python基本开发环境IDLE
  • 1.2.3 Python程序编写与运行
  • 1.2.4 Python高级开发环境VSCode

1.2.1 Python语言概述

Python语言创立者:Guido van Rossum
2002年,Python 2.x
2008年,Python 3.x(现在都在学这个)

  • Python语言是一个由编程牛人领导设计并开发的编程语言
  • Python语言是一个有开放、开源精神的编程语言
  • Python语言应用于火星探测、搜索引擎、引力波分析等众多领域

1.2.2 Python基本开发环境IDLE

Python官方提供 适用于小规模程序开发

  • Python官方环境:Python解释器 + IDLE开发环境

  • 轻量级:只有几十MB大小,使用灵活

  • 下载地址: www.python.org/downloads
    或者: www.python123.io/downloads(推荐这个 址,下载速度快)
    具体配置方法,去MOOC查看课程,或者点击此处调转B站查看

1.2.3 Python程序编写与运行

Python的两种编程方式

交互式和文件式

  • 交互式:对每个输入语句即时运行结果,适合语法练习
  • 文件式:批量执行一组语句并运行结果,编程的主要方式

实例1: 圆面积的计算

根据半径r计算圆面积

交互式

文件式

输出结果如下:

实例2:同切圆绘制

绘制多个同切圆

交互式

文件式

输出结果如下:

1.2.4 Python高级开发环境VSCode

VSCode:Visual Studio Code

  • 微软出品,与Visual Studio同质量的专业级开发工具
  • 跨平台免费工具:支持Windows/Linux/MacOS
  • 小编没用过这个,一开始用的就是PyCharm 区版本,后来用了notepad++和Gvim

第一步:安装IDLE环境;第二步:安装VSCode

  • 下载地址: https://code.visualstudio.com
  • 工具大小约 50MB

单元小结

Python开发环境配置

  • Python语言的发展历史
  • 选取一种系统平台构建Python开发环境
  • 尝试编写与运行3个Python小程序

1.3 实例1:温度转换

题目本身简单,但学会这种思维,其他常见的”转换”问题解决方法同理。

1.3.1 “温度转换”问题分析

温度转换

温度刻画的两种不同体系

  • 摄氏度:中国等世界大多数国家使用
    以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
  • 华氏度:美国、英国等国家使用
    以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画

需求分析

两种温度体系的转换

  • 摄氏度转换为华氏度
  • 华氏度转换为摄氏度

问题分析

该问题中计算部分的理解和确定

  • 理解1:直接将温度值进行转换
  • 理解2:将温度信息发布的声音或图像形式进行理解和转换
  • 理解3:监控温度信息发布渠道,实时获取并转换温度值

分析问题

  • 采用 理解1:直接将温度值进行转换
    温度数值需要标明温度体系,即摄氏度或华氏度
    转换后也需要给出温度体系

划分边界

  • 输入:带华氏或摄氏标志的温度值
  • 处理:根据温度标志选择适当的温度转换算法
  • 输出:带摄氏或华氏标志的温度值

输入输出格式设计

标识放在温度最后,F表示华氏度,C表示摄氏度
82F表示华氏82度,28C表示摄氏28度

设计算法

根据华氏和摄氏温度定义,利用转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
其中, C表示摄氏温度, F表示华氏温度

1.3.2″温度转换”实例编写

1.3.4 举一反三

Python语法元素理解

  • 温度转换程序共10行代码,但包含很多语法元素
  • 清楚理解这10行代码能够快速入门Python语言
  • 参考框架结构、逐行分析、逐词理解

输入输出的改变

  • 温度数值与温度标识之间关系的设计可以改变
  • 标识改变放在温度数值之前:C82, F28
  • 标识字符改变为多个字符:82Ce、28Fa

计算问题的扩展

  • 温度转换问题是各类转换问题的代表性问题
  • 货币转换、长度转换、重量转换、面积转换… – 问题不同,但程序代码相似

1.4 Python程序语法元素分析

1.4.1 程序的格式框架

代码高亮:编程的色彩辅助体系,不是语法要求

缩进:一行代码开始前的空白区域,表达程序的格式框架,表达代码间包含关系的唯一手段

缩进表达程序的格式框架

  • 严格明确:缩进是语法的一部分,缩进不正确程序运行错误
  • 所属关系:表达代码间包含和层次关系的唯一手段
  • 长度一致:程序内一致即可,一般用4个空格或1个TAB

注释:用于提高代码可读性的辅助文字,不被执行。

1.4.2 命名与保留字

变量

用来保存和表示数据的占位符 ,变量采用标识符(名字)来表示。

命名

用来保存和表示数据的占位符

  • 命名规则: 大小写字母、数字、下划线和中文等字符及组合
    如: TempStr, Python_Great, 这是门Python好课
  • 注意事项: 大小写敏感、首字符不能是数字、不与保留字相同
    Python和python是不同变量,123Python是不合法的

保留字

被编程语言内部定义并保留使用的标识符

  • Python语言有35个保留字(也叫关键字)
    if, elif, else, in
  • 保留字是编程语言的基本单词,大小写敏感
    if 是保留字,If 是变量

使用[ ]获取字符串中一个或多个字符

1.4.4 语句与函数

赋值语句:由赋值符 构成的一行代码

分支语句:由判断条件决定程序运行方向的语句

函数:根据输入参数产生不同输出的功能过程

Python程序的输入输出

输入函数input()

从控制台获得用户输入的函数

补充:”eval()”去掉参数最外侧引 并执行余下语句的函数

评估函数 eval()

去掉参数最外侧引 并执行余下语句的函数

  • eval()函数的基本使用格式:eval(<字符串或字符串变量>)

单元小结

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月11日
下一篇 2020年8月11日

相关推荐