diff --git a/01.基础语法/01.python基础.md b/01.基础语法/01.python基础.md index ce412f7..d41cfa8 100644 --- a/01.基础语法/01.python基础.md +++ b/01.基础语法/01.python基础.md @@ -1,5 +1,111 @@ # Python基础 +Life is short, I need python(人生苦短,我用python!) + +## Python起源 + +Python的作者是著名的"**龟叔**"Guido van Rossum(吉多.范罗苏姆),1989年,龟叔为了打发无聊的圣诞节,决心开发一个新的**解释程序**,作为ABC语言的一种继承。于是便开始编写Python语言。 + +![image-20240902103540169](01.python基础/image-20240902103540169.png) + +**ABC**是由吉多参加设计的一种教学语言,就吉多本人看来,ABC这种语言非常优美和强大,是**专门为非专业程序员设计的**。但是ABC语言并没有成功。**Guido**本人看来,**ABC**失败的原因是高级语言为时过早,并且平台迁移能力弱,难以添加新功能,仅仅专注于编程初学者,没有把有经验的编程人员纳入其中,在**Python**中解决了这些问题,让拓展模块的编写非常容易,并且可以在多平台进行运行.... + +Python的意思是蟒蛇,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python’s Flying Circus),Guido非常喜欢这个剧,所以选择Python作为新语言的名字。 + +**1991年**,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。 + +## 解释型和编译型语言 + +解释型语言是指在运行时由解释器逐行读取和执行源代码的语言。在这种语言中,代码不需要被提前编译成机器代码,而是直接由解释器逐行解析并执行。这使得开发过程更加灵活,程序员可以快速测试和修改代码。Python、JavaScript 和 Ruby 等都是常见的解释型语言。尽管解释型语言在开发时提供了便利,但由于逐行解释执行,通常在性能上不如编译型语言。 + +编译型语言则是指在执行之前,源代码需要通过编译器转换成机器代码或中间代码。这个过程通常会产生一个独立的可执行文件,运行时不再需要源代码或编译器。这种做法通常能提高程序的执行效率,因为编译后的代码可以直接在机器上运行。C、C++ 和 Go 等语言都是编译型语言。虽然编译型语言在执行速度上表现出色,但编译过程通常较长,调试和修改代码时也不如解释型语言方便 + +## 编程语言排行 + +- [TIOBE Index](https://www.tiobe.com/tiobe-index/) +- [PYPL Index](https://pypl.github.io/PYPL.html) + +## Python应用领域 + +**人工智能** + +Python 是人工智能和机器学习领域的首选语言,主要得益于其简洁的语法和丰富的科学计算库。以下是几种典型的 Python 库: + +- **NumPy**:支持大量的维度数组与矩阵运算,此外也针对数组运算提供了大量的数学函数库。 +- **SciPy**:基于 NumPy 的科学计算库,提供了许多算法和函数,适用于数值积分与优化、线性代数、统计等科学计算任务。 +- **Matplotlib**:强大的绘图库,可以生成各种图形,包括线图、散点图、柱状图等,常用于数据可视化。 +- **TensorFlow**:由 Google 开发的开源深度学习框架,广泛用于构建和训练神经网络。 + +**云计算** + +Python 是云计算领域最火的语言之一,广泛用于构建和管理云基础设施。Python 的简洁性和可读性使得它成为开发云服务、自动化任务、数据处理脚本的理想选择。 + +**WEB开发** + +Python 拥有众多优秀的 Web 框架,适合快速开发高效、安全的 Web 应用程序。许多大型网站和服务都是用 Python 开发的,例如 YouTube、Dropbox、豆瓣等。以下是几种典型的 Web 框架: + +- **Django**:一个高层次的 Python Web 框架,鼓励快速开发和简洁、实用的设计,是全栈框架的代表。 +- **Flask**:一个轻量级的 Web 框架,强调简单性和灵活性,适合构建小型项目或微服务。 + +**系统运维** + +Python 是系统运维人员的必备语言。它可以用于编写脚本来自动化任务、管理服务器、处理文件和文本、与操作系统进行交互等。Python 的跨平台性使得它在不同的操作系统上都能有效发挥作用。 + +**金融** + +Python 在金融领域特别是量化交易和金融分析方面得到广泛应用。Python 的灵活性和丰富的金融数据分析库,使得它在金融工程领域的使用日益增多,重要性逐年提高。 + +**图形界面开发 (GUI)** + +Python 也可以用于开发桌面应用程序,以下是几种常用的图形界面开发库: + +- **PyQt**:基于 Qt 框架的 Python 绑定,适合开发复杂的桌面应用程序。 +- **WxPython**:基于 wxWidgets 的 Python GUI 库,提供了跨平台的原生控件。 +- **TkInter**:Python 的标准 GUI 库,适合初学者和轻量级应用的快速开发。 + +## Python实际应用 + +**谷歌**:Google App Engine、code.google.com、Google Earth、谷歌爬虫、Google 广告等项目都在大量使用 Python 开发。 + +**CIA**:美国中情局网站就是用 Python 开发的。 + +**NASA**:美国航天局(NASA)大量使用 Python 进行数据分析和运算。 + +**YouTube**:世界上最大的视频网站 YouTube 就是用 Python 开发的。 + +**Dropbox**:美国最大的在线云存储网站,全部用 Python 实现,每天网站处理 10 亿个文件的上传和下载。 + +**Instagram**:美国最大的图片分享社交网站,每天超过 3000 万张照片被分享,全部用 Python 开发的。 + +**Facebook**:大量的基础库均通过 Python 实现的。 + +**Redhat**:世界上最流行的 Linux 发行版本中的 yum 包管理工具就是用 Python 开发的。 + +**豆瓣**:公司几乎所有的业务均是通过 Python 开发的。 + +**知乎**:国内最大的问答社区,通过 Python 开发(国外 Quora)。 + +除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司都在使用 Python 完成各种各样的任务 + +## Python设计哲学 + +![image-20240902110217569](01.python基础/image-20240902110217569.png) + +Python 的设计哲学与其他编程语言相比,有几个显著的不同之处: + +1. 可读性优先: + - Python 强调代码的可读性,力求清晰明了。这与如 C++ 或 Java 等语言相比,后者往往更关注性能或复杂的语法结构。 +2. 简洁性: + - Python 鼓励用较少的代码实现功能,通常会有简化的语法,而像 Java 这样的语言则要求更多的样板代码。 +3. 动态类型: + - Python 是动态类型语言,变量类型在运行时决定,这与静态类型语言(如 C# 和 Java)形成鲜明对比,后者在编译时必须声明变量类型。 +4. 多范式支持: + - Python 支持多种编程范式(如面向对象、函数式编程),而一些语言则更倾向于某一特定范式,如 Java 主要是面向对象的。 +5. 强大的标准库: + - Python 附带了一个丰富的标准库,提供了大量现成的模块和功能,而其他语言可能需要依赖外部库或框架。 +6. 社区和文化: + - Python 拥有一个积极的社区,强调开放和共享,鼓励用户贡献代码和文档,而其他语言的社区文化可能更加保守或封闭。 + ## 安装python 略 diff --git a/01.基础语法/01.python基础/image-20240902103540169.png b/01.基础语法/01.python基础/image-20240902103540169.png new file mode 100644 index 0000000..650d408 Binary files /dev/null and b/01.基础语法/01.python基础/image-20240902103540169.png differ diff --git a/01.基础语法/01.python基础/image-20240902110217569.png b/01.基础语法/01.python基础/image-20240902110217569.png new file mode 100644 index 0000000..b8bbb24 Binary files /dev/null and b/01.基础语法/01.python基础/image-20240902110217569.png differ