Python簡介前端
1.1989年聖誕節:Guidao von Rossum開始寫Python語言的編譯器python
2.1991年2月:第一個Python編譯器(同時也是解釋器)誕生,他是使用C語言實現的(後續又出現了Java和C# 實現的版本Jython和IronPython,以及PyPy、Brython、Pyston等其餘實現)。能夠調用C語言地庫函數。在最先的版本里,Python已經提供了對「類」,「函數」,「異常處理」等構造塊的支持,同時提供了「列表」和「字典」等核心數據類型,同時支持以模塊爲基礎地拓展系統。web
3.1994年1月:Python1.0正式發佈。編程
4.2000年10月16日:Python2.0發佈,增長了實現完整的垃圾回收,提供好了對Unicode地支持。與此同時,Python的整個開發過程更加透明,社區對開發進度的影響逐漸擴大,生態圈開始慢慢造成。後端
5.2008年12月3日:Python3.0發佈,它並不徹底兼容以前的Python代碼,不過由於目前還有很多公司在項目和運維中使用Python2.x版本,因此Python3.x的不少新特性後來也被移植到Python2.6/2.7版本中。瀏覽器
1.簡單明確網絡
2.學習曲線低,跟其它語言相比更容易上手框架
3.開放源代碼,擁有強大的社區和生態圈運維
4.解釋型語言,天生具備可移植性機器學習
5.支持兩種主流的編程範式(面向對象編程和函數式編程)
6.可擴展性和可嵌入式,能夠調用C/C++代碼,也能夠在C/C++中調用Python
7.代碼的規範度高,可讀性強,適合有代碼潔癖和強迫症的人羣
缺點包括:
1.執行效率低,所以計算密集型任務能夠由C/C++編寫
2.代碼沒法加密
3.在開發時能夠選擇的框架太多(web框架有100多個),有選擇地地方的錯誤
目前的Python應用於雲基礎設施、DevOps、網絡爬蟲開發、數據分析挖掘、機器學習等領域都有着普遍的應用,所以也產生了Web後端開發、數據接口開發、自動化運維、自動化測試、科學計算和可視化、數據分析、量化交易、機器人開發、圖像識別和處理等一系列的職位。
1.在官網上下載Python3.7,根據自身須要,按步驟安裝便可。
安裝後能夠從終端運行Python程序,python --version查看Python的版本,以下圖:
也能夠先輸入python進入交互式界面1,在執行一下代碼檢查python的版本。
IDLE是安裝python環境時自帶的集成開發工具,以下圖所示:
IPython是一種基於Python的交互式解釋器。相較於原生的Python Shell,IPython提供了更爲強大的編輯和交互功能。能夠經過Python的包管理工具pip安裝IPython和Jupyter,具體的操做以下所示。
pip install ipython jupyter
或者
python -m pip install ipython jupyter
安裝成功後,能夠經過下面的ipython命令啓動IPython。固然咱們也能夠經過Jupyter運行名爲notebook的項目在瀏覽器窗口中進行交互式操做。
jupyter notebook
首先能夠經過官方網站下載安裝程序安裝Sublime 3或Sublime 2。
安裝包管理工具。經過快捷鍵Ctrl+`或者在View菜單中選擇Show Console打開控制檯,輸入下面的代碼。
import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
Sublime 2
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
安裝插件。經過Preference菜單的Package Control或快捷鍵Ctrl+Shift+P打開命令面板,在面板中輸入Install Package就能夠找到安裝插件的工具,而後再查找須要的插件。咱們推薦你們安裝如下幾個插件:
SublimeCodeIntel - 代碼自動補全工具插件。
Emmet - 前端開發代碼模板插件。
Git - 版本控制工具插件。
Python PEP8 Autoformat - PEP8規範自動格式化插件。
ConvertToUTF8 - 將本地編碼轉換爲UTF-8。
在本次學習中使用的是Anacond,裏面包括jupyter。
1.編寫打印出「hello world」
print('hello world')
整型:Python中能夠處理任意大小的整數(Python 2.x中有int和long兩種類型的整數,但這種區分對Python來講意義不大,所以在Python 3.x中整數只有int這一種了),並且支持二進制(如0b100
,換算成十進制是4)、八進制(如0o100
,換算成十進制是64)、十進制(100
)和十六進制(0x100
,換算成十進制是256)的表示法。
浮點型:浮點數也就是小數,之因此稱爲浮點數,是由於按照科學記數法表示時,一個浮點數的小數點位置是可變的,浮點數除了數學寫法(如123.456
)以外還支持科學計數法(如1.23456e2
)。
字符串型:字符串是以單引號或雙引號括起來的任意文本,好比'hello'
和"hello"
,字符串還有原始字符串表示法、字節字符串表示法、Unicode字符串表示法,並且能夠書寫成多行的形式(用三個單引號或三個雙引號開頭,三個單引號或三個雙引號結尾)。
布爾型:布爾值只有True
、False
兩種值,要麼是True
,要麼是False
,在Python中,能夠直接用True
、False
表示布爾值(請注意大小寫),也能夠經過布爾運算計算出來(例如3 < 5
會產生布爾值True
,而2 == 1
會產生布爾值False
)。
複數型:形如3+5j
,跟數學上的複數表示同樣,惟一不一樣的是虛部的i
換成了j
。
對於每一個變量咱們須要給它取一個名字,就如同咱們每一個人都有屬於本身的響亮的名字同樣。在Python中,變量命名須要遵循如下這些必須遵照硬性規則和強烈建議遵照的非硬性規則。
硬性規則:
大小寫敏感(大寫的a
和小寫的A
是兩個不一樣的變量)。
不要跟關鍵字(有特殊含義的單詞,後面會講到)和系統保留字(如函數、模塊等的名字)衝突。
PEP 8要求:
用小寫字母拼寫,多個單詞用下劃線鏈接。
受保護的實例屬性用單個下劃線開頭(後面會講到)。
私有的實例屬性用兩個下劃線開頭(後面會講到)。
float():將一個字符串轉換成浮點數。
str():將指定的對象轉換成字符串形式,能夠指定編碼。
chr():將整數轉換成該編碼對應的字符串(一個字符)。
ord():將字符串(一個字符)轉換成對應的編碼(整數)。
下面經過一些例子來講明變量的使用。
1.使用變量保存數據並進行算術運算,以下圖所示:
2.使用input()函數進行輸入,由於input()輸入的是字符串,若要進行運算,則須要類型轉換,以下圖所示
3.可使用type()來查看變量的類型,以下圖所示:
4.格式化輸出%d,{},以下圖所示:
5.使用str(),以下圖所示:
6.使用chr(),ord()加密郵箱地址,以下圖所示:
7.編寫計算器
Python中是支持多種運算符的,以下圖所示,根據優先級從高到底的順序列出全部的運算符。
注:[],[:]是一個前閉後開的一個區間;is是判斷的內存地址;除0之外的數都表示True;in是判斷某一個字符串是否在這個字符串中,以下圖所示:
1.將華氏攝氏度轉換成攝氏溫度 F = 1.8C + 32
F = input('請輸入華氏溫度:')
C = (float(F)-32)*1.0/1.8
print('{:.2f} 攝氏度 = {} 華氏度'.format(C,F))
運行結果:
2.輸入圓的半徑計算圓的面積和周長
import math
r = float(input('請輸入圓的半徑:'))
area = r ** 2 * math.pi
per = 2 * r * math.pi
print('半徑爲%f,面積爲%f,周長爲%f'% (r,area,per))
運行結果:
3.判斷輸入的年份是否爲閏年
year = int(input('請輸入年份:'))
if (year % 4 == 0 )and (year % 100 != 0 )or(year % 400 == 0):
print('閏年')
else:
print('平年')
運行結果:
4.判斷是否爲水仙花數
第一種:
num = input("請輸入一個三位數:")
if len(num) > 3:
print('輸入有誤')
else:
num_1=int(num)
a = int(num_1 % 100)
b = a % 10 # 百位數
c = int(a / 10) # 十位數
d = int(num_1 / 100) # 個位數
if (d ** 3)+(c ** 3)+(b ** 3) == num_1:
print('水仙花數')
else:
print('不是水仙花數')
運行結果:
第二種:
num = input("請輸入一個三位數:")
if len(num) > 3:
print('輸入有誤')
else:
b = int(num[0]) # 百位數
c = int(num[1]) # 十位數
d = int(num[2]) # 個位數
if (d ** 3)+(c ** 3)+(b ** 3) == int(num):
print('水仙花數')
else:
print('不是水仙花數')
運行結果:
5.實現一個正方形
for i in range(10):
print('* ',end='')
print()
for k in range(8):
print('* ',' '*14,'*',sep=" ")
for j in range(10):
print('* ',end='')
運行結果:
-