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. 什么是USDN稳定币?USDN的应用价值是什么?

    9月22日,美国货币监理署(OCC)发布了一项稳定币指南,主要内容围绕的是稳定币的监管及相关规定.一时间,稳定币得到了市场上广泛的关注.那么,什么是稳定币呢?什么又是USDN稳定币呢? 1.什么是稳定 ...

  2. 【函数分享】每日PHP函数分享(2021-2-19)

    array_diff_uassoc - 用用户提供的回调函数做索引检查来计算数组的差集 说明 array_diff_uassoc ( array $array1 , array $array2 , a ...

  3. Jupyter Notebook 暗色自定义主题

    这款主题是在jupyter-dark-theme的基础上修改了字体大小和行高,以及显示工具栏.感谢原作者! 安装 下载custom.css文件并移动至~/.jupyter/custom/文件夹下,如果 ...

  4. 无情面试官之包含min函数的栈

    0 我是一个无情的面试官. 面人无数,挂人无数. 若想过我的面试,标准只有一个,那就是公司很缺人. 招新人,填旧坑. 1 今天是我的第1001次当面试官,要求却不是千里挑一,而是一击必中. 因为我招聘 ...

  5. 20201228 买卖股票的最佳时机 IV(困难)

    给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 k 笔交易. 注意:你不能同时参 ...

  6. 微信小程序:条件渲染wx:if和hidden

    一.条件渲染:wx:if,wx:elif,wx:else 花括号中的true或false可以改成变量从而来动态显示. 二.hidden 只显示hidden2 当标签不是频繁切换显示(控制是否渲染到页面 ...

  7. oracle创建和删除序列

    创建序列语法: CREATE SEQUENCE 序列名 [START WITH n] [INCREMENT BY n] [{MINVALUE n}] [{MAXVALUE n|NOMAXVALUE}] ...

  8. 微信的两种access_token总结,不能混淆

    大家需要弄清楚微信的网页授权token和公众号api调用授权token. 1.网页授权access_token 1.有效期:7200ms 2.微信网页授权是通过OAuth2.0机制实现的,在用户授权给 ...

  9. 【秒懂音视频开发】02_Windows开发环境搭建

    音视频开发库的选择 每个主流平台基本都有自己的音视频开发库(API),用以处理音视频数据,比如: iOS:AVFoundation.AudioUnit等 Android:MediaPlayer.Med ...

  10. Web微信协议

    [文档]Web微信协议 1.登录 1.1 获取uuid(get) 请求 https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&red ...