Python-1.背景
砂糖桑
Aug 12, 2022
Last edited: 2022-8-14
type
Post
status
Published
date
Aug 12, 2022
slug
python-1
summary
Python诞生于1990年,是一个开源、自由、通用、解释型、扩展性强、动态数据类型、具有自动内存管理机制的高级面向对象语言。它的应用领域很广,可用于Web后端(现在似乎可以替代JS用于前端了)、爬虫、数据分析与大数据、机器学习等领域。
tags
Python课堂笔记合集
category
Python
icon
password
Property
Aug 14, 2022 11:17 AM
Python的整体特点如下
- Python是一种语法简洁、跨平台、可拓展、开源、自由、通用的脚本语言。
- Python是一种面向对象、解释型、动态数据类型的高级程序设计语言。
发展历史
- Python诞生于1990年,由荷兰的吉多·范罗苏姆设计并领导开发
- python的创建背景是Guido的研究小组需要一种高级脚本语言来为他们的分布式操作系统执行管理任务。
- Guido借鉴了高级教学语言ABC的语法和系统编程语言Modula-3的错误处理机制。Gudio认为ABC语言非常优美和强大,而它没有成功的原因是不开放,受众少。
- Python之所以被命名为Python,是因为Guido本人是电视剧”Monty Python’s Fly Circus“的爱好者。


- 1991年初公开发行了Python的第一个Python版本。由于Python采用开源的方式发行,所以社区生态发展很快。
- 2000年10月发布了Python 2.0,增加了许多新的语言特性。
- 2008年12月发布了Python 3.0,但3.0版本不完全兼容之前的2.0版本,所以之后的发展逐渐形成了2.x和3.x两个派系。还是以3.x为主要方向。
Python的特点
- Python语言与平台无关。Python代码可以在任何安装了Python解释器的计算机环境中执行,所以无需修改任何代码就可以实现跨平台运行。
- 开源、自由、通用、类库丰富。Python的解释器和函数库都是开源的,这也是Python迅速获得大量支持的原因。Python解释器本身就提供了几百个内置的类库和函数库,可以满足大多数场景的需求。此外还有很多的第三方库,覆盖了各个领域,应用面很广。
- 粘性扩展。Python具有极强的扩展性,可以通过接口和函数库等方式将C、C++、Java等语言的代码“粘起来”。这也为提高Python程序的执行效率提供了思路。
- 支持中文。支持中文是指支持中文字符的编码。Python 3.0解释器采用UTF-8编码表达字符信息,所以它可以表达各种语言(如中文)的文字,使得其文本处理更加灵活。(与C语言的printf函数对比)
一些特性的解释
- 动态类型:静态类型语言的变量需要在编译时确定数据的类型并分配相应的内存单元;而动态类型语言的变量类型会随着其值的改变而改变。这是因为Python采用的是基于值的内存管理方式,对每一个出现的值都分配一个内存空间,这时变量名就相当于值的“引用”(但可以动态改变)。当变量的值改变时,改变的不是内存单元的内容,而是变量名的指向关系。
- 自动内存管理:当没有任何变量指向这个值时,Python就会自动将这个值从内存中删除。这样的数据称为垃圾数据,这个过程称为垃圾回收。我们也可以使用
del手动地删除变量指向的空间。
- 解释型语言:Python代码不需要被编译为二进制即可直接运行。它的原理是解释器将源代码转化为字节码,然后由Python虚拟机一条一条地执行字节码指令,从而完成程序的运行。这个特性一方面使得Python程序的运行和调试更加简单;另一方面,程序的执行性能会受到影响。

应用与学习方向
- web后端,如Django、Flask。(目前Django做了一个项目算入门了,以后还得继续深入学习。实训好像是要用Flask开发一个项目)
- Python爬虫,大的目标是合作完成一个开源的爬虫客户端。不过感觉前提是要学会Web,但是实训项目又要用到爬虫,所以近期还需要快速入门。
- Python数据分析与可视化。还是数学建模吧,之前参加过,到现在还是念念不忘。
- Python大数据。实训重点要学的就是这个,包括Hadoop、Spark等。感觉234点是一条龙服务,先获取数据,再数据分析,数据多了就大数据😅。
- 机器学习。Python课程的结课作业就是和Machine Learning相关的一个算法——Kmeans聚类算法。既然开始了不妨学下去。
- Catalog
- About
0%