認識Pythonpython
Python應用場景程序員
Python基礎語法web
Python 是一種計算機程序設計語言。是一種動態的、面向對象的腳本語言,最初被設計用於編寫自動化腳本(shell),隨着版本的不斷更新和語言新功能的添加,愈來愈多被用於獨立的、大型項目的開發。redis
Python 的創始人爲荷蘭人吉多·範羅蘇姆(Guido van Rossum)。1989 年聖誕節期間,在阿姆斯特丹,Guido 爲了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,做爲ABC 語言的一種繼承。之因此選中 Python(大蟒蛇的意思)做爲該編程語言的名字,是取自英國 20 世紀 70 年代首播的電視喜劇《蒙提.派森乾的飛行馬戲團》(Monty Python's Flying Circus)。shell
ABC 是由 Guido 參加設計的一種教學語言。就 Guido 本人看來,ABC 這種語言很是優美和強大,是專門爲非專業程序員設計的。可是 ABC 語言並無成功,究其緣由,Guido 認爲是其非開放形成的。Guido 決心在 Python 中避免這一錯誤。同時,他還想實如今 ABC 中閃現過但不曾實現的東西。編程
就這樣,Python 在 Guido 手中誕生了。能夠說,Python 是從 ABC 發展起來。Python 已經成爲最受歡迎的程序設計語言之一。自從 2004 年之後,python 的使用率呈線性增加。Python2 於 2000 年 10 月 16 日發佈,穩定版本是 Python2.7 。Python3 於 2008年 12 月 3 日發佈,不徹底兼容Python2。2011年1月,它被 TIOBE 編程語言排行榜評爲 2010 年度語言。數組
因爲 Python 語言的簡潔性、易讀性以及可擴展性,在國外用 Python 作科學計算的研究機構日益增多,一些知名大學已經採用 Python 來教授程序設計課程。例如卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論就使用 Python 語言講授。衆多開源的科學計算軟件包都提供了 Python 的調用接口,例如著名的計算機視覺庫 OpenCV 、三維可視化庫 VTK 、醫學圖像處理 庫 ITK 。而 Python 專用的科學計算擴展庫就更多了,例如:以下3個十分經典的科學計算擴展庫:NumPy、SciPy 和 matplotlib,它們分別爲 Python提供了快速數組處理、數值運算以及繪圖功能。所以 Python 語言及其衆多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製做圖表,甚至開發科學計算應用程序。服務器
1. Web應用開發網絡
Python常常被用於Web開發。好比,經過mod_wsgi模塊,Apache能夠運行用Python編寫的Web程序。Python定義了WSGI標準應用接口來協調Http服務器與基於Python的Web程序之間的通訊。一些Web框架,如Django,TurboGears,web2py,Zope等,可讓程序員輕鬆地開發和管理複雜的Web程序。框架
2. 操做系統管理、服務器運維的自動化腳本
在不少操做系統裏,Python是標準的系統組件。 大多數Linux發行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,能夠在終端下直接運行Python。有一些Linux發行版的安裝器使用Python語言編寫,好比Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用操做系統功能的庫。經過pywin32這個第三方軟件 包,Python可以訪問Windows的COM服務及其它Windows API。使用IronPython,Python程序可以直接調用.Net Framework。通常說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。
3. 網絡爬蟲
Python有大量的HTTP請求處理庫和HTML解析庫,而且有成熟高效的爬蟲框架Scrapy和分佈式解決方案scrapy-redis,在爬蟲的應用方面很是普遍。
4. 科學計算
NumPy、SciPy、Pandas、Matplotlib可讓Python程序員編寫科學計算程序。
5. 桌面軟件
PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程序的利器。
6. 服務器軟件(網絡軟件)
Python對於各類網絡協議的支持很完善,所以常常被用於編寫服務器軟件、網絡爬蟲。第三方庫Twisted支持異步網絡編程和多數標準的網絡協議(包含客戶端和服務器),而且提供了多種工具,被普遍用於編寫高性能的服務器軟件。
7. 遊戲
不少遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、服務器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。
8. 構思實現,產品早期原型和迭代
Google、NASA、Facebook都在內部大量地使用Python。
1. 語法基礎:註釋
在程序中對某些代碼進行標註說明,這就是註釋的做用,可以大大加強程序的可讀性。python 經常使用單行註釋是 # ,經常使用多行註釋是三對單引號 ''' '''
2. 語法基礎:數據類型
3. 語法基礎:關鍵字和標識符
關鍵字
python 一些具備特殊功能的標識符,這就是所謂的關鍵字。關鍵字,是 python 已經使用的了,因此不容許開發者本身定義和關鍵字相同的名字的標識符
那麼 python 中關鍵字都有哪些呢?
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
那麼我們如何去查詢 python 中有哪些關鍵字呢?
# 在python中若想查詢python中有哪些關鍵字能夠先導入keyword模塊
import keyword #導入關鍵字模塊
print(keyword.kwlist) #查詢全部關鍵字
實際操做
舒適提示:我們在起變量名或者文件名時不能使用這些關鍵字名字喲,不然會報錯.拋出異常~請你們注意喲。
標識符
祖國的花朵(開發人員)在程序中自定義的一些符號和名稱。標示符是我們本身定義的,如變量名、函數名、類名等。
標識符規則
定義這些標識符也有必定的規則:標識符由字母下劃線和數字組成,可是不能以數字開頭,可使用下劃線或字母開頭,注意在 python 中,標識符是嚴格區分大小寫的喲。 變量 Andy 不等於 變量 andy 這是兩個變量。
標識符命名規則
命名規則,能夠簡單的理解爲,我們在起名字的時候是須要遵照相關規則的.主要是爲了讓別人一看就明白是什麼意思,作什麼用的.能夠提升代碼可讀性。好比:名字 就定義爲 name , 定義學生用 student。
駝峯命名法
同時呢,在須要多個單詞進行組合時,我們使用駝峯命名法:
小駝峯式命名法: 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
大駝峯式命名法: 每個單字的首字母都採用大寫字母,例如:FirstName、LastName。不過在程序員中還有一種命名法比較流行,就是用下劃線「_」來鏈接全部的單詞,好比send_buf
名字和對象之間關係
咱們能夠用 = 等號,創建立定義的變量名字和對象之間的引用關係,也能夠用使用 del 來解除這種引用關係。
# 舉個例子
name = '天下第一帥' # 我將 天下第一帥 這個字符串賦值給了 name 這個變量名,能夠理解爲,下次我經過 name 名字能夠聯繫到 天下第一帥 這我的.
實際操做
# del 解除引用關係
age = 17 # 永遠17歲
del age # del 是 delete 的縮寫,此行代碼表示刪除 age 和 17 之間的引用關係
print(age) # 由於已經刪除引用關係,因此訪問不到 17 這個數據,則拋出異常
實際操做
名字空間
當咱們在定義了一些變量名,函數名,類名以後,會有一個空間來收納這些名字和它們所對應的數據類型和數據內容。
# 舉個栗子
height = '190CM' # 小編的理想身高.可是現實很殘酷.
def func1():
pass
class Fun():
pass
實際操做
使用 %whos 查看名字空間,咱們也可使用 %reset 來清空這個空間,清空以後,咱們就須要從新執行一次定義的過程,才能從新存儲在名字空間內。
實際操做
4. 語法基礎:輸出
普通的輸出
python中的輸出
用 print() 在括號中加上字符串,就能夠向屏幕上輸出指定的文字。好比輸出 '李鐵柱',用代碼實現以下:
name = '李鐵柱'
print(name)
運行結果
print()也能夠打印整數,或者計算結果
# 舉個例子
print(300)
print(100 + 200)
實際操做
所以,咱們能夠把計算100 + 200 的結果打印得更漂亮一點:
print('100 + 200 = ', 100 + 200)
實際操做
注意,對於100 + 200,Python 解釋器自動計算出結果 300,可是,'100 + 200 =' 是字符串而非數學公式,Python 把它視爲字符串,直接進行打印輸出。
5. 語法基礎:格式化輸出
格式化操做的目的,好比說有下列代碼:
print('你們好,我叫 李鐵柱,我今年 24 歲')
print('你們好,我叫 候德柱,我今年 25 歲')
print('你們好,我叫 候不柱,我今年 26 歲')
你們仔細觀察一下,可以看到,我在 print 輸出自我介紹的時候,用了不少的相同字體,就只有一些不一樣的字段,那麼我們可否簡化一下程序呢?
age = 24
print("我今年%d歲" % age)
age += 25
print("我今年%d歲" % age)
age += 26
print("我今年%d歲" % age)
實際操做
在程序中,看到了 % 這樣的操做符,這就是 Python 中格式化輸出。
age = 18
name = "小嶽嶽"
print("個人姓名是%s, 年齡是%d" % (name, age))
運行結果
在這裏我們一次使用了兩個格式化符號,分別是:%s 和 %d。
%s:表示格式化輸出字符串
%d:表示格式化輸出十進制整數
除了這兩個格式化輸出字符還有不少,往下看。
經常使用的格式化符號
6. 語法基礎:輸入
如今,你已經能夠用 print() 輸出你想要的結果了。可是,若是要讓用戶從電腦輸入一些字符怎麼辦?Python 提供了一個 input(),可讓用戶輸入字符串,並存放到一個變量裏。好比輸入用戶的名字:
name = input() # input()
當你輸入name = input()並按下回車後,Python交互式命令行就在等待你的輸入了。這時,你能夠輸入任意字符,而後按回車後完成輸入。
輸入完成後,不會有任何提示,Python 交互式命令行又回到就緒狀態了。那咱們剛纔輸入的內容到哪去了?答案是存放到 name 變量裏了。能夠直接輸入 name 查看變量內容:
7. 語法基礎:運算符
標準操做符
python 同大多數語言同樣,也有本身的操做符,分別用來應對不一樣的工做內容。今天要講的是 Python 中最經常使用的幾種標準操做符:算術運算符、賦值運算符、比較運算符、邏輯運算符。
算數運算符
注意:混合運算時,優先級順序爲: ** 高於 * / % // 高於 + - ,爲了不歧義,建議使用 () 來處理運算符優先級。而且,不一樣類型的數字在進行混合運算時,整數將會轉換成浮點數進行運算。
實際操做
a = 10
b = 20
print(a+b)
print(a-b)
print(a*b)
print(a/b)
賦值運算符
實際操做
a = 10 # 單個賦值
b = 20
c,d,e = 30,40,50 # 多個賦值 c = 30 , d = 40 , e = 50
print(a,b,c,d,e)
複合賦值運算符
實際操做
c = 40
a = 20
# print(c += a) # 直接 print() 是沒法輸出結果的喲
c += a
print(c)
c -= a
print(c)
c *= a
print(c)
c /= a
print(c)
c %= a
print(c)
(8)語法基礎:經常使用的數據類型轉換
數據類型轉換
有時候,咱們須要對數據內置的類型進行轉換,數據類型的轉換,你只須要將數據類型做爲函數名便可。
如下幾個內置的函數能夠執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。
類型轉換
# 給小夥伴們舉幾個例子
# int(): 將數據轉換爲 int 類型
str1 = "10"
num1 = int(str1)
print(int)
# int() 處理浮點數,只留下整數部分,捨棄小數部分(並非四捨五入操做)
num2 = int(3.74)
print(num2)
# float() 將數據轉化爲浮點數
str2 = "3.14"
f1 = float(str2)
print(type(f1))
# str() : 轉換爲 字符串類型
num1 = 10
f1 = 3.14
print(type(str(num1)))
# eval(): 將字符串形式的數據,轉換爲本來的類型
str1 = "3.14"
print(type(eval(str1)))
操做結果