1. 程序的组成

  程序 (program):(1)由一系列定义计算机如何执行计算的指令组成。(本质)

(2)程序(算法)由对象、表达式和语句组成。(元素)

 1.1程序的指令类型

  • 输入 (input): 从键盘、文件、网络或者其他设备获取数据。
  • 输出 (output): 在屏幕上显示数据,将数据保存至文件,通过网络传送数据,等等。
  • 数学 (math): 执行基本的数学运算,如加法和乘法。
  • 有条件执行 (conditional execution): 检查符合某个条件后,执行相应的代码。
  • 重复 (repetition): 检查符合某个条件后,执行相应的代码。

 1.2对象、表达式、语句

  • 对象 (object): 变量可以引用的东西。数字、数据结构、函数、类等
  • 表达式 (expression): 变量、运算符和值的组合,代表一个单一的结果。
  • 语句 (statement): 代表一个命令或行为的一段代码。赋值、输入、输出、打印、选择/条件(if、else)、迭代/遍历/循环(for、while)

 1.3 数据结构

    • 数据结构 (data structure): 一个由关联值组成的数据集合,通常组织成列表(序列)、元组、字典(映射)等。

2. 程序的结构

  顺序结构、条件结构、循环结构。

 2.1 顺序结构

  简单的指令,依次执行程序语句,每条语句只执行一次。无条件判断和循环重复语句。如赋值、打印等语句。

import math
r=float(input('输入圆的半径:'))
print('圆的面积是:{s: .4f}'.format(s=math.pi*pow(r,2)))

 2.2 判断/选择(条件)结构

  检测条件,并相应地改变程序行为。

score = float(input('输入分数(0至100之间):)
if score>80:
print('成绩优秀')
elif 70<score<80:
print('成绩良好')
elif 70<score<80:
print('成绩及格')
else:
print('不及格')

 2.3 判断/选择(判断)结构

  重复执行的代码结构。

#1加到100
sum = 0
for x in range(1, 101):
sum = sum + x
print(sum) #1加到100
count = 0
result=0
while count<101:
result=result+count
count+=1
print(result) # 100以内偶数和
x=100
lis = []
result = 0
while x:
x=x-1
if x%2 != 0:
continue
lis.append(x)
for i in lis:
result +=i #'+','='之间不能有空格
print(result)

3. 算法与程序

  算法 (algorithm):算法是逐步解决一类问题或完成一项任务的方法。又或者算法是解决一类问题的通用过程(步骤)。  

 3.1 算法与程序的区别

  • 程序是算法编码的结果,同一算法通过不同的编程语言产生不同的程序。

4. 编程

  编程 (programming):设计程序、编写程序的过程。

5. 过程

  过程 (procedure):涉及时间始末、次序先后,称之为过程。主体发布动作、主体执行步骤,皆是过程。

6. 结构

  结构(Structure): 涉及形状、位置(前后左右)、布局称之为结构。

7. 解释器与编译器

  解释器 (interpreter): 读取另一个程序并执行该程序的程序。

  编译器(Compiler):将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。

8. 函数

  在编程的语境下,函数 (function) 是指一个有命名的、执行某个计算的语句序列 (sequence of statements) 。

 8.1  函数与方法

  • 方法 (method): 与对象相关联的函数,并使用点标记法 (dot notation) 调用。

9.类

  类 (class): 一种程序员自定义的类型。

10.模块

  模块 (module): 包含了一组相关函数及其他定义的的文件。

11.变量

  变量 (variable):变量是指向某个值的名称(符号)。

12. 条件

  条件 (condition): 决定哪个分支会被执行的布尔表达式。

 12.1 条件语句

  • 条件语句 (conditional statement): 一段根据某个条件决定程序执行流程的语句。

13. 迭代(重复)

  迭代 (iteration): 利用递归或者循环的方式来重复执行代一组语句的过程。

14. 遍历(重复)(搜索)

  遍历 (traversal): 对一个序列的所有元素进行迭代,对每一元素执行类似操作。搜索意思与遍历相近。

 14. 1 搜索

  搜索 (search): 一种遍历模式,当找到搜索目标时就停止。

15. 循环(重复)

  循环 (loop): 程序中能够重复执行的那部分代码。

16. 递归(重复)

  递归 (recursion): 调用正在执行的函数本身的过程。

17.序列

  序列 (sequence):一个有序的值的集合,每个值通过一个整数索引标识。

18.元素

  元素 (item): 序列中的一个值

19.索引  

  索引 (index): 用来选择序列中元素 (如字符串中的字符) 的一个整数值。在 Python 中,索引从 0 开始。

20. 封装

  封装 (encapsulation): 将一个语句序列转换成函数定义的过程。

21. 泛化

  泛化 (generalization): 使用某种可以算是比较通用的东西 (像变量和形参),替代某些没必要那么具体的东西 (像一个数字) 的过程。(形参)

22. 接口

  接口 (interface): 对如何使用一个函数的描述,包括函数名、参数说明和返回值。

23. 重构

  重构 (refactoring): 修改一个正常运行的函数,改善函数接口及其他方面代码质量的过程。

24. 文档字符串

  文档字符串 (docstring): 出现在函数定义顶部的一个字符串,用于记录函数的接口。

25. 计算机科学

  计算机科学(Computer Science)研究问题是否可计算,算法是否存在(解决问题的学科)。以抽象为工具来表现过程与数据。

 25.1  解决问题的基本思路

    • 将事物分类,将大问题分解为小单元(树)。

26. 抽象

  抽象( abstraction): 呈现界面( interface),隐藏事物不必要的细节。

27.引用

  引用(reference): 变量和对象之间的关联称为引用。引用是一个值,指向某些数据。

参考:

   《Python基础教程》

   《用Python解决数据结构和算法》

   《计算机科学导论》

   《程序员的数学》

   《像科学家一样思考Python》

编程相关术语(Python)的更多相关文章

  1. Python网络编程相关的库与爬虫基础

    PythonWeb编程 ①相关的库:urlib.urlib2.requests python中自带urlib和urlib2,他们主要使用函数如下: urllib: urlib.urlopen() ur ...

  2. 风变编程笔记(二)-Python爬虫精进

    第0关  认识爬虫 1. 浏览器的工作原理首先,我们在浏览器输入网址(也可以叫URL),然后浏览器向服务器传达了我们想访问某个网页的需求,这个过程就叫做[请求]紧接着,服务器把你想要的网站数据发送给浏 ...

  3. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  4. Spring框架学习05——AOP相关术语详解

    1.Spring AOP 的基本概述 AOP(Aspect Oriented Programing)面向切面编程,AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.事务管理.安全检查 ...

  5. 软件测试相关术语(测试策略 && 测试方案 ....)

    软件测试有几种不同的定义方法: a.软件测试是为了发现程序中的错误而执行程序的过程. b.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并运用这些测试用例运行程序,以 ...

  6. Python黑帽编程2.1 Python编程哲学

    Python黑帽编程2.1  Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...

  7. NUI相关术语

    分享一下微软资深企业架构师.应用开发专家余涛先生书中所谈到的相关术语,以便查阅,部分术语根据个人理解加入了细化内容: 1.波束形成算法(BeamformingAlgorithm) 基于现行阵列的阵列信 ...

  8. 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入

     1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date ...

  9. Linux环境编程相关的文章

    Linux环境编程相关的文章 好几年没有接触Linux环境下编程了,好多东西都有点生疏了.趁着现在有空打算把相关的一些技能重拾一下,顺手写一些相关的文章加深印象. 因为不是写书,也受到许多外部因素限制 ...

随机推荐

  1. NGK流动性挖矿 实现资金飞轮效应增长

    2020年被称为DeFi元年,DeFi无疑是目前整个加密货币市场中最亮眼的地方.得益于流动性挖矿的火热,DeFi 市场规模也得以飞速发展.可以说,流动性挖矿是DeFi爆发的最主要催化剂,同时它也在吸引 ...

  2. c/c++ 之静态库

    静态库 编译成目标文件(未链接) g++ -c a.cc b.cc c.cc d.cc #生成 a.o b.o c.o d.o 将目标文件打包为静态库 ar rs libxxx.a a.o b.o c ...

  3. 03_MySQL重置root密码

    重设root密码

  4. 深入理解Linux TCP backlog

    本文转载自深入理解Linux TCP backlog 当应用程序调用listen系统调用让一个socket进入LISTEN状态时,需要指定一个参数:backlog.这个参数经常被描述为,新连接队列的长 ...

  5. 微信小程序:优化接口代码-提取公共接口路径

    方法一.将公共部分提取出来定义为baseURL变量 简化url,把里面公共部分提取出来.如https://api-hmugo-web.itheima.net/api/public/v1/categor ...

  6. Docker私有仓库的搭建与使用

    目录 Docker搭建私有仓库 一.搭建registry私有仓库 1.拉取私有仓库registry镜像 2.启动私有仓库容器 3.修改deamon.json 4.重启docker 5.启动regist ...

  7. 后端程序员之路 48、memcached

    memcached - a distributed memory object caching systemhttp://memcached.org/ Memcached 教程 | 菜鸟教程http: ...

  8. [源码解析] 消息队列 Kombu 之 基本架构

    [源码解析] 消息队列 Kombu 之 基本架构 目录 [源码解析] 消息队列 Kombu 之 基本架构 0x00 摘要 0x01 AMQP 1.1 基本概念 1.2 工作过程 0x02 Poll系列 ...

  9. CentOS Install NMP

    目录 Installation steps of the Nginx install run 默认安装路径 指定安装目录 Installation steps of the MySQL 下载源码包 解 ...

  10. macOS命令行切换Python版本

    目录 brew安装anaconda3 anaconda3环境变量设置 安装双版本 命令后切换python环境 pip ide vscode set 参考 brew安装anaconda3 brew ca ...