目录
1. 简述
这段时间在写爬虫和做数据分析,才发现有一些常用的函数已经不太记得了,因此接着这个机会,重新复习一下 Python
,做做笔记,也回味一下那段美好的时光~
2. 什么是 Python?
Python
是一种解释型、面向对象的编程语言,是一个开源语言,拥有大量的库,可以高效地开发各种应用程序。它简单、高级、面向对象、免费开源,有可扩展性、可移植性、丰富的库和可嵌入性。
注意 Python
和 C
语言不一样,C
语言是编译型语言,而 Python
是解释型语言。那么编译型语言和解释型语言有什么区别呢?
- 编译型语言:
它要求用户先把整个程序代码写好,随后进行编译,把源代码编译成机器语言的文件,如exe
格式的可执行文件。因为只需编译一次,以后运行时不需要编译,直接运行可执行文件即可,所以编译型语言执行效率高。 - 解释型语言:
它不要求用户一次性把整个程序代码写好,用户可以写一行,执行一行。解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低。
用通俗易懂的例子来讲吧:
比如现在在吃小龙虾,我们的最终目的都是吃完虾肉,
- 如果你是先去除全部的虾壳再吃虾,那么这就是编译;
- 如果你是剥好一只虾就吃一只虾,剥好一只虾就吃一只虾,那么这就是解释。
那么什么又是面向对象呢?
3. 面向对象简述
3.1 面向过程
- 需要求解的问题域被视为待处理的一个大过程,经分析处理后,并根据问题的复杂程度,整个系统最终被分解为一个个易于处理的子过程。
- 面向过程方法将过程(或函数)作为系统的主要构件,数据和对数据的操作(函数)分离。
该方法对需求变化的适应能力差,并且处理大型、复杂问题时,系统维护困难。
像大家熟悉的 C
语言就是面向过程的编程语言。
3.2 面向对象
- 直接以问题域中的事物(对象)为中心来思考问题,把对象作为系统的基本构成单位,又通过将对象之间的相互作用、相互联系映射到计算机系统来模拟现实客观世界。
- 面向对象把数据和对数据的处理看成一个整体——对象,其概念和处理方法比较符合人类认识问题、分析问题和解决问题的一般规律。
比如我们今天介绍的 Python
就像面向对象的编程语言。
3.3 面向对象的主要优点
- 自然高效:可更客观更自然地描述现实世界。
- 易于重用:相关机制可方便继承已有或已经完成的工作,而不必一切从头开始。
- 便于维护:开发出的系统健壮,适应性和扩展性强。
3.4 面向对象的基本概念
-
对象:
- 人们进行研究的任何事物统称为对象。
- 对象可以是有形的实体,也可以是活动或事件等。
-
属性和方法:
- 属性是描写对象静态特性的数据元素。
- 方法是用于描写对象动态特性(行为特性)的一组操作。
-
封装:
通过对象把数据以及对数据的操作结合在一起。 -
类:
类是对一组具有相同特性的对象的抽象描述。 -
实例化:
实例化是指在类定义的基础上构造对象的过程。 -
继承:
一个新类(子类)从已有的类(父类)那里获得已有特性和功能。 -
多态:
不同的对象可以以不同的方式响应相同的消息。
3.5 面向对象程序设计
面向对象程序设计(Object Oriented Programming
,OOP
):
- 主要针对大型软件设计而提出,使得软件设计更加灵活,能够很好地支持代码复用和设计复用,代码具有更好的可读性和可扩展性,大幅度降低了软件开发的难度。
- 将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体(对象),不同对象之间通过消息机制来通信或者同步。
- 对相同类型的对象进行分类、抽象后,得出共同的特征而形成了类,面向对象程序设计的关键就是如何合理地定义这些类并且组织多个类之间的关系。
- 例如,绘图程序中的定义矩形类,一次执行时可以创建很多矩形对象。
4. Python语言的版本和解释器
-
版本:
2
个主要版本:Python 2
和Python 3
;Python 3
和Python 2
不兼容。Python 2
最迟将于2020
年全面放弃维护和更新,建议学习和使用Python 3
,本次分享的代码皆使用Python 3
。
-
Python
解释器:
实现Python
语言语法的程序是Python
解释器,常用的Python
解释器:- Cpython
- Jython
- IronPython
- PyPy
5. Python 编程工具
Python
的编程工具:
- IDLE(Python内置的集成开发环境)
- Anaconda3(内含Jupyter Notebook和Spyder,做数据分析时常用)
- PyCharm(本人使用的主要编程工具)
- Visual Studio Code
6. Python 的三种编程方式
-
交互式:
对每个输入语句即时运行结果,适合语法练习。
例如,用Python
解释器提供的命令行方式。 -
文件式:
批量执行一组语句并运行结果,编程的主要方式。
例如,用Python
系统提供的IDLE
。 -
Web方式:
在网页中编写代码块,方便添加文字,显示图形,适合学习和算法研究。
例如,Anaconda
的Jupyter Notebook
。
7. 简单的 Python 程序
-
Hello World:
让我们来试试入门每门编程语言前都会输出的一句话:Hello Worldprint("Hello World!")
输出:
Hello World!
-
简单的算术运算:
print(2023 + 10) print(2023 - 10) print(2023 * 10) print(2023 / 10) print(2023 % 10) print(2023 // 10)
输出:
2033 2013 20230 202.3 3 202
-
计算矩形的面积:
length = 3 # 矩形的长 width = 4 # 矩形的宽 print(f"矩形的面积为:{length * width}")
输出:
矩形的面积为:12
-
画图:
import turtle turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle.circle(80) turtle.circle(160)
输出:
8. 高级一点的 Python 程序
-
扫雷:
-
画图——冰墩墩:
-
爬虫:
-
和平精英枪械库图片
-
可视化大屏:
-
知识系统:
武汉大学建筑知识系统: -
背词软件:
-
发送邮件:
-
人工智能(机器学习、深度学习以及强化学习等):
复现美国OpenAI公司开发的机器学习系统-Hide and Seek(捉迷藏)游戏系统: -
大数据分析:
- IMDB数据集分析:
- IMDB数据集分析:
-
此外还有诸如
web
开发等小程序,这里就不一一列举了。