偶尔冒泡的萤火虫

导航

一、python 背景知识

一、摩尔定律

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

1)计算机硬件所依赖的集成电路规模参照摩尔定律发展

2)计算机运行速度因此也接近几何级数快速增长

3)计算机所能高效支撑的各类运算功能不断丰富发展

摩尔定律(Moore’s Law):

1)历史:计算机发展历史上最重要的预测法则,由 Intel 公司创始人之一的戈登 · 摩尔在 1965 年提出。

2)内容: 单位面积集成电路上可容纳晶体管的数量约每两年翻一倍。

CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律

二、编译和解释

编程语言的执行方式:

1)源代码:某种编程语言,如 c

2)目标代码:机器语言,10101010

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

编译器:执行编译过程的程序叫做编译器。

解释:将源代码逐条转换成目标代码同时逐条运行的过程。

解释器:执行解释过程的程序叫做解释器。

静态语言和脚本语言(根据执行方式):

1)静态语言: 使用编译执行的,如 C/C++,Java

运行速度快

2)脚本语言: 使用解释执行的,如 Python,JavaScript,PHP

执行程序需要源代码,维护更灵活

所以python如果某一行出错的话,程序会能运行这行之前的代码。这和c语言很不一样。

三、程序的基本编写方法

IPO(Input Process Output)方法:

1)输入: 输入时程序的开始

2)处理: 处理时程序对输入数据进行计算产生输出结果的过程

处理方法统称为算法,算法时一个程序的灵魂

3)输出: 输出时程序展示运算结果的方式

问题的计算部分:

1)计算机只能解决计算问题,即问题的计算部分

2)一个问题可能有多种角度理解,产生不同的计算部分

3)问题的计算部分一般都有输入、处理和输出过程

编程解决问题的步骤:

1)分析问题:分析问题的计算部分,想清楚

2)划分边界:划分问题的功能边界,规划 IPO

3)设计算法:设计问题的求解算法,关注算法

4)编写程序:编写问题的计算程序,编程序

5)调试测试:调试程序使正确运行,运行调试

6)升级维护:适应问题的升级维护,更新完善

四、Python 语言概述

1.python 语言历史

Python 语言诞生于 1990

Guido van Rossum(吉多 · 范罗苏姆)设计 Python

“超级语言” 的诞生

机器语言:二进制代码,与 CPU 型号有关

汇编语言:将二进制直接对应助记符,汇编器,与 CPU 型号有关

高级语言:接近自然语言,编译器,与 CPU 型号无关

超级语言:粘性整合已有程序,具有庞大计算生态

2.Python 程序编写与运行

两种编程方式:

1)交互式:对每个输入语句即时运行结果,适合语法练习

2)文件式:批量执行一组语句并运行结果,编程的主要方式

3. 计算机技术的演进时代

1946-1981 年,计算机结构时代(35 年),计算能力问题:第一台计算机诞生。第一台 IBM PC 机诞生

1981-2008 年,网络和视窗时代(27 年),交互问题:安卓操作系统诞生,PC 时代向移动时代转换。

2008-2016 年,复杂信息系统时代(8 年),数据问题:计算机打败人类围棋选手

2017-,人工智能时代,人类的问题

4. 程语言的多样初心

C(计算机结构时代):

学习内容:指针,内存,数据类型

语言本质:理解计算机系统结构

解决问题:性能

Java(网络和视窗时代):

学习内容:对象,跨平台,运行时

语言本质:理解主客体关系

解决问题:跨平台

C++:

学习内容:对象,多态,继承

语言本质:理解主客体关系

解决问题:大规模程序

VB(网络和视窗时代):

学习内容:对象,按钮,文本框

语言本质:理解交互逻辑

解决问题:桌面应用

Python(复杂信息系统时代):

学习内容:编程逻辑,第三方库

语言本质:理解问题求解

解决问题:各类问题

五、Python 语言的特点

特点:

(1)通用语言

(2)脚本语言

(3)开源语言

(4)跨平台语言

(5)多模型语言

优势:

(1)强制可读性

(2)较少的底层语法元素

(3)多种编程方式

支持 命令式编程 (How to do)函数式编程 (What to do) ,完全支持 面向对象程序设计

(4)支持中文字符

(5)C 代码量的 10%

(6)13 万第三方库

六、应用

网络爬虫:

自带的 urllib 库,第三方的 requests 库和 Scrappy 框架

数据分析:

Web 开发:

  • Python 非常适合开发 Web 应用程序,有能支持多种互联网协议的各种库;
  • Python 还有非常强大的框架(如 Django、Pyramid)和微框架(如 Flask 和 Bottle),可以帮助你快速有效地进行 Web 开发。你可以编写 CGI 脚本,还可以使用 Plone 和 Django CMS 等高级内容管理系统

科学和数学应用:

  • SciPy:用于数学、科学和工程的软件包集合;
  • Pandas:一个数据分析和建模库;
  • IPython:一个功能强大的 shell,可以轻松编辑和记录工作会话。它还支持可视化和并行计算。
  • NumPy:可帮助我们处理复杂的数值计算。

人工智能:

  • Python 在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面也都是主流的编程语言,并且得到广泛的支持和应用。
  • 最流行的神经网络框架如 Facebook 的 PyTorch 和 Google 的 TensorFlow 都采用了 Python 语言。

自动化运维:

  • Python 是运维工程师首选的编程语言
  • Python 标准库包含了多个调用操作系统功能的库。
  • 一般说来,Python 编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的 shell 脚本。

游戏开发:

  • Python 也有用于开发游戏的框架 PyGame 和 PyKyra。
  • Python 还有各种 3D 渲染库,可用来开发 3D 游戏

posted on 2021-01-02 17:23  偶尔冒泡的萤火虫  阅读(206)  评论(0编辑  收藏  举报