## --: 作者:不知百度知 2022年3月
[TOC]
### 一、簡介
Python的創始人為荷蘭人[吉多·范羅蘇姆](https://baike.baidu.com/item/%E5%90%89%E5%A4%9A%C2%B7%E8%8C%83%E7%BD%97%E8%8B%8F%E5%A7%86/328361),(人稱龜叔,Guido van Rossum)。1989年圣誕節期間,在[阿姆斯特丹](https://baike.baidu.com/item/%E9%98%BF%E5%A7%86%E6%96%AF%E7%89%B9%E4%B8%B9/2259975),Guido為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序,作為[ABC語言](https://baike.baidu.com/item/ABC%E8%AF%AD%E8%A8%80/334996)的一種繼承。他花了10天時間就寫好了第一代Python,并在1990年元旦正式上線。官網:[www.python.org](www.python.org)。

Python 單詞是“大蟒蛇”的意思。但是龜叔不是喜歡蟒蛇才起這個名字,而是正在追劇:英國電視喜劇片《蒙提·派森的飛行馬戲團》(Monty Python's Flying Circus)。

### 二、使用 [www.python.org](www.python.org) 提供的 interactive shell 入門
?
### 三、Python的特點
**1\. 可讀性強**
可讀性遠比聽上去重要的多得多。一個程序會被反復的修改,可讀性強意味著讓你可以在更短時間內學習和記憶,直接提高生產率。
**2\. 簡潔,簡潔,簡潔**
研究證明,程序員每天可編寫的有效代碼數是有限的。完成同樣功能只用一半的代碼,其實就是提高了一倍的生產率。Python是由C語言開發,但是不再有C語言中指針等復雜數據類型,Python的簡潔性讓開發難度和代碼幅度大幅降低,開發任務大大簡化。程序員再也不需要關注復雜的語法,而是關注任務本身。
* `C`語言輸出Hello world示例
~~~
#include <stdio.h>
?
int main(void) {
printf("Hello world.");
return 0;
}
~~~
* `JAVA`輸出Hello world示例
~~~
class HelloWorld
{
public static void main (String[] args)
{
System.out.println("Hello world.");
}
}
~~~
* `Python`輸出Hello world示例
~~~
print("Hello world.")
~~~
**3\. 面向對象**
**4\. 免費和開源**
**5\. 可移植性和跨平臺** Python 會被編譯成與操作系統相關的二進制代碼,然后再解釋執行。這種方式和java 類似,大大提高了執行速度,也實現了跨平臺。
**6\. 豐富的庫(豐富的標準庫, 多種多樣的擴展庫)**
**7\. 可擴展性** 可嵌入到 C 和 C++語言, 膠水式語言。
?
?
### 四、應用范圍
1. 科學計算
2. 人工智能
3. WEB 服務端和大型網站后端。
YouTube、gmail 等應用基于 python 開發。
4. GUI 開發(圖形用戶界面開發
5. 游戲開發
6. 移動設備
7. 嵌入式設備
8. 系統運維
9. 大數據
10. 云計算
### 五、什么時候不應該用Python
Python 是解釋執行,性能較低。 因此,一些影響性能的功能可以使用 C/C++/JAVA/GO(GO 是一種新語言,寫起來像 Python,性能像 C)去開發。不過,不用擔心,Python 解釋器會越來越快。
### 六、版本和兼容問題解決方案
#### 1\. 目前主要兩個版本
* Python2: 2000 年 10 月發布。最新版本是 2.7,已經停止更新,不會再有 2.8 以后了。2020 年1月1日停止更新支持。
* Python3: 2008 年發布。Python3 有了較大的提升,不兼容 Python2。
#### 2\. 兼容問題解決
Python3 的很多新特性也被移植到了 Python2.7,作為過渡。如果程序可以在 2.7 運行,可以通過一個名為 2to3(Python 自帶的一個腳本)的轉換工具無縫遷移到 Python3。建議大家學習從 Python3 開始,畢竟這才是未來。
### 七、編程語言排行
排行網址:[https://www.tiobe.com/tiobe-index/](https://www.tiobe.com/tiobe-index/)
2022年3月Python躍居編程語言排行版第一

* 歷史排行曲線圖
?
?
* 長期排行情況

- 一、Python基礎
- 1. 序言
- 1.1 Python簡介
- 1.2 安裝和使用IDE
- 1.3 語言特性和基礎概念
- 2. 基本數據類型
- 2.2 字符串型
- 2.2.2 ASCII簡介
- 2.2.4 字符串常用函數
- 3. 條件分支
- 3.3 閑聊條件判斷和運算符優先級
- 10.正則表達式
- 【降龍十八章】Python小技巧
- 18.1 學習網址
- 18.2 PIP切換源
- 18.3 使用whl來安裝
- 【工具優化】IDE優化技巧
- Anaconda
- Jupyter Notebook 的 Markdown 添加大綱
- Jupyter Notebook中圖片縮放和居左
- Anaconda設置環境變量
- Pycharm
- PyCharm新建文檔配置
- 設置字體和字號
- 設置主題和字體配色
- 保存和導入配置
- 設置對選擇內容自動添加引號
- 推薦安裝的插件
- Markdown
- 表格格式
- 二、Python進階
- copy和deepcopy
- 《零基礎入門學習 Python 》【小甲魚版】
- 001.和Python的第一次接觸+習題復習
- 002.用Python設計的第一個游戲 +習題復習
- Pygame詳解
- Pygame詳解:前言
- Pygame詳解(一):Color類
- Pygame詳解(二):display 模塊
- Pygame詳解(三):draw 模塊
- Pygame詳解(四):event 模塊
- Pygame詳解(五):font 模塊
- Pygame詳解(六):image 模塊
- Pygame詳解(七):key 模塊
- Pygame詳解(八):locals 模塊
- Pygame詳解(九):mixer 模塊
- Pygame詳解(十):mouse 模塊
- Pygame詳解(十一):Rect 對象
- Pygame詳解(十二):Surface 對象
- Pygame詳解(十三):time 模塊
- Pygame詳解(十四):music 模塊
- Pygame詳解(十五):pygame 模塊
- Pygame詳解(十六):cursors 模塊
- Pygame詳解(十七):joystick 模塊
- Pygame詳解(十八):mask 模塊
- Pygame詳解(二十一):BufferProxy 對象
- Pygame詳解(二十三):gfxdraw 模塊
- Pygame詳解(二十五):Overlay 對象
- Pygame詳解(二十八):sndarray 模塊
- Pygame詳解(三十一):camera 模塊
- Pygame詳解(三十二):cdrom 模塊
- Pygame詳解(三十六):version 模塊
- pygame rect相關知識
- Tkinter詳解
- Tkinter 組件詳解(一):Label
- Tkinter 組件詳解(二):Button