- 什麼是Python?
面向對象的計算機程序語言;1989年,作者Guido van Rossum在阿姆斯特丹爲了打發聖誕節無聊的時間發明Python作爲ABC語言的一種繼承。(彪悍的人生不需要解釋)
簡潔性、易懂性、可擴展性。還是剛開始學習Python,它的有點強大之處也就不多逼逼了。畢竟也只是從他人之言中看到的這些有點,並未能完全感受到這些強大。
- 領域
雲計算:雲計算最火的語言,Openstack
Web開發:優秀的Web框架,Django
科學計算/人工智能
系統運維:運維必備技能
金融:量化交易、金融分析
圖形GUI
- Python在編程語言中的分類
解釋性語言:高級語言編寫的程序代碼在運行之前需要被翻譯爲計算機可以理解的機器語言。翻譯這個過程分爲編譯和解釋兩種。編譯在程序運行之間一次將所由的代碼翻譯爲機器語言。解釋是在程序源代碼運行時翻譯一條代碼運行一條代碼然後在翻譯下一條代碼。
動態類型語言:動態語言指在運行期間纔去做數據類型檢查的語言(在用動態類型語言編寫程序時,不需要給變量指定數據類型);靜態語言指在寫程序代碼時需要提前定義好數據類型的語言。
強類型定義語言:強類型定義語言的變量的數據類型如果不進行強制轉換則不能改變;弱類型定義語言的變量的數據類型可以忽略。
- Python程序執行過程
Python是一種解釋性語言,也就是在運行程序前沒有進行compile的過程,在運行程序時纔對程序代碼一條一條進行翻譯。但是在實際上Python在運行之間會進行一次預編譯,預編譯的結果是內存中的PyCodeObject文件,這個文件是一個字節碼文件,Python解釋器實際上是對這個文件內的代碼進行翻譯。當程序運行結束時Python解釋器將PyCodeObject保存到本地pyc文件中。
當需要再次運行程序時,不會在執行預編譯過程,而是從本地找pyc文件加載到內存中運行。 - Python2和Python3的區別
Python2中的print語句
>>>print 'my name','is','bu gaosu ni '
my name is bu gaosu ni
Python3中的print語句
>>>print('my name','is','bu gaosu ni')
my name is bu gaosu ni
2. Python3的默認字符編碼是Unicode,Python2的默認字符編碼是ascll
- Hello World
1 print("Hello,World")
程序代碼時在屏幕上打印“Hello,World”。print函數在屏幕上打印需要打印的內容。
Python2和3對print函數做了一點改動:
Python2中print不需要使用雙括弧直接跟需要打印的內容,多個內容之間用“,”隔開:
print "Hello,World"
Python3中需要在print後用雙括弧將打印內容包括。
- 變量
指向內存地址空間一個實際的值的名字。Python是動態類型語言不需要再聲明變量的時候指定數據類型,直接給變量賦值即可。
- 變量名稱由數字、字母、下劃線組成
- 變量名稱的第一個字符不能是數字
- 一些單詞不能用做變量名稱:['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 註釋
單行註釋:#被註釋內容
多行註釋:'''被註釋內容'''
- 指定解釋器
在linux系統下,如果沒有在腳本中指定要使用的Python解釋器,在運行腳本時需要執行“python [腳本名稱]”命令來運行腳本。想要使用“./hello.py”即可運行腳本,則需要在腳本開頭指定解釋器
#/usr/bin/env/ pychon
- 數據類型
數據類型目前接觸的比較多的有int、long、string、float、布爾值這幾種。在字符串拼接和格式化輸出中%s表示字符串,%d表示整數,%f表示浮點數
- 用戶輸入input函數
input函數接收輸入數據,並返回輸入數據,在Python2中有input和raw_input兩個函數。input和raw_input的在使用上並不相同,raw_input要比input使用起來更加的方便,更加符合人機交互的使用。input默認輸入的內容爲符合Python規則的字符串或者數字、表達式,所以當需要輸入一個字符串,而在程序運行時輸入的字符串沒有帶引號程序默認爲輸入的是一個沒有定義的變量,從而出現錯誤導致程序無法繼續運行。raw_input在這一點上做了改善,默認將輸入內容作爲字符串處理。
還要注意一點:通過input函數賦值的變量的數據類型都是字符串,如果值的內容爲數字且要進行數值運算,則需要強制將字符串轉換爲整型。
1 >>> age=input("how old are you:") 2 how old are you:18 3 >>> type(age)###type函數判斷一個變量或者一個值的數據類型 4 <class 'str'> 5 >>> age=int(input("how old are you:")) 6 how old are you:18 7 >>> type(age) 8 <class 'int'>
在python中不再有raw_input,而是把raw_input直接替換成了input。
>>> input('input your name:') input your name:haha 'haha'
通常我們在輸入密碼時,輸入內容是不想要被看見的,只需要在後臺認證密碼的正確性即可。想要在輸入密碼時不可見可以使用模塊getpass
>>> import getpass >>> getpass.getpass('password:') password: #在這裏輸入的密碼123時不可見的 '123'
- 字符串拼接
有時候需要打印的內容中需要使用到變量,這時候既不能不變量放在同一個引號中,使用多個print語句實現又過於麻煩,那麼就需要用到字符串拼接了。Python中實現字符串拼接的方法有很多種,這裏僅說下“+”號的使用,其他的方法到其他內容在後面進行說明。
>>> name='hehe' >>> msg='''hello,'''+name+''' welcome''' >>> print(msg) hello,hehe welcome
字符串拼接每使用一個“+”就需要在內存中開闢出一塊空間,效率比較低。