1989年聖誕節:Guido von Rossum開始寫Python語言的編譯器。html
1991年2月:第一個Python編譯器(同時也是解釋器)誕生,它是用C語言實現的(後面又出現了Java和C#實現的版本Jython和IronPython,以及PyPy、Brython、Pyston等其餘實現),能夠調用C語言的庫函數。在最先的版本中,Python已經提供了對「類」,「函數」,「異常處理」等構造塊的支持,同時提供了「列表」和「字典」等核心數據類型,同時支持以模塊爲基礎的拓展系統。編程
1994年1月:Python 1.0正式發佈。後端
2000年10月16日:Python 2.0發佈,增長了實現完整的垃圾回收,提供了對Unicode的支持。與此同時,Python的整個開發過程更加透明,社區對開發進度的影響逐漸擴大,生態圈開始慢慢造成。網絡
2008年12月3日:Python 3.0發佈,它並不徹底兼容以前的Python代碼,不過由於目前還有很多公司在項目和運維中使用Python 2.x版本,因此Python 3.x的不少新特性後來也被移植到Python 2.6/2.7版本中。框架
目前咱們使用的Python 3.7.x的版本是在2018年發佈的,Python的版本號分爲三段,形如A.B.C。其中A表示大版本號,通常當總體重寫,或出現不向後兼容的改變時,增長A;B表示功能更新,出現新功能時增長B;C表示小的改動(如修復了某個Bug),只要有修改就增長C。若是對Python的歷史感興趣,能夠查看一篇名爲《Python簡史》的博文。運維
Python的優勢不少,簡單的能夠總結爲如下幾點。機器學習
簡單和明確,作一件事只有一種方法。函數式編程
學習曲線低,跟其餘不少語言相比,Python更容易上手。函數
開放源代碼,擁有強大的社區和生態圈。工具
解釋型語言,天生具備平臺可移植性。
支持兩種主流的編程範式(面向對象編程和函數式編程)都提供了支持。
可擴展性和可嵌入性,能夠調用C/C++代碼,也能夠在C/C++中調用Python。
代碼規範程度高,可讀性強,適合有代碼潔癖和強迫症的人羣。
Python的缺點主要集中在如下幾點。
執行效率稍低,所以計算密集型任務能夠由C/C++編寫。
代碼沒法加密,可是如今的公司不少都不是賣軟件而是賣服務,這個問題會被淡化。
在開發時能夠選擇的框架太多(如Web框架就有100多個),有選擇的地方就有錯誤。
目前Python在雲基礎設施、DevOps、網絡爬蟲開發、數據分析挖掘、機器學習等領域都有着普遍的應用,所以也產生了Web後端開發、數據接口開發、自動化運維、自動化測試、科學計算和可視化、數據分析、量化交易、機器人開發、圖像識別和處理等一系列的職位。
能夠用文本編輯工具(推薦使用Sublime、Atom、TextMate、VSCode等高級文本編輯工具)編寫Python源代碼並將其命名爲hello.py保存起來,代碼內容以下所示。
print('hello, world!')
input_1=input('請輸入第一個數字:>>')
input_2=input('請輸入第二個數字:>>')
changetoFloat_1=float(input_1)
changetoFloat_2=float(input_2)
Calc_Add=str(changetoFloat_1+changetoFloat_2)
print('答案是:'+Calc_Add)
計算面積和周長:
import math
r=float(input())
perimeter=2*math.pi*r
area=math.pi*r*r
print('perimeter:%.2f'%perimeter)
print('area:%.2f'%area)
計算閏年:
year=int(input())
if(year % 4==0 and year % 100 != 0 or year % 400 == 0):
print(year,'是閏年')
else:
print(year,'不是閏年')
溫度轉換:
a=float(input('請輸入攝氏溫度:'))
b=float(input('請輸入華氏溫度:'))
c=a*1.8+32
d=5/9*(b-32)
print('攝氏溫度%f轉換爲華氏溫度爲:%f'%(a,c))
print("華氏溫度{}轉換爲攝氏溫度爲:{}".format(b,d))
水仙花數:
Number=input('number:>>')
if len(Number)>3:
print('! Error')
else:
bai=int(Number[0])
shi=int(Number[1])
ge=int(Number[2])
if bai**3+shi**3+ge**3==int(Number):
print('水仙花')
else:
print('不是')
打印空心方塊
for i in range(10):
print('# ',end="")
print()
for k in range(8):
print('# ',' '*8,'#',sep="")
for j in range(10):
print('# ',end="")