我是小康小白,一個平平無奇的Java小白。熱愛有趣的文字,生活和遠方。
個人部落格:https://blog.csdn.net/weixin_45791445
有問題歡迎QQ聯絡:1059320343 (記得備註CSDN)
python是一門物件導向,解釋型的程式語言。
python使用縮排作為邏輯層次。
python的缺點:
執行效率低
原因
python歷史
python不適用的開發領域
python3.8的標準環境
python程式—>python環境(編輯環境,執行環境)–>作業系統
下載python
在安裝時勾選Add python即可將python新增到環境中
整數:
整數和我們生活中定義的整數是一個概念,例如:1,2,3,10,100,1000,-1000 等等,都是整數,Python可以處理任意大小的整數。
二進位制數只使用數位0、1表示,在Python中,二進位制整數使用字首0b表示,比如:0b0110,0b1100。十六進位制數除了0~9十個數位以外,還使用a、b、c、d、e、f,在Python中,十六進位制使用字首0x,比如:0x12ef,0xde2431af。
浮點數:
浮點數對應我們生活的是小數,例如:0.1,0.5, 12.34, 3.1415926等,都是浮點數。
為什麼小數在計算機領域被稱為浮點數呢?這是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的(浮動的),比如,1.23x109和12.3x108是相等的,因此稱為浮點數。
浮點數可以用數學寫法,如1.23,3.14,-9.01。但是對於很大或很小的浮點數,就必須用科學計數法表示,在Python中,把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,同學可以自行舉出更多的例子。
這裡有必要提醒一點就是,整數和浮點數在計算機內部儲存的方式是不同的,整數運算永遠是精確的,而浮點數運算則可能會有四捨五入的誤差,如何檢驗,可以在Python終端中輸入以下內容0.1 + 0.2,看看可以得到你期望的結果0.3嗎?真實結果可能讓你失望了。
字串:
字串對應生活中的就是非數位型別的內容,比如一個句子,一段話,在Python中就是字串,在Python中,字串是以’‘或""括起來的任意文字,比如’abc’,「xyz"等等。請注意,’'或」"本身只是一種表示方式,不是字串的一部分,因此,字串’abc’只有a,b,c這3個字元。
布林值:
布林值對應於生活中的就是對和錯,在計算機的世界裡,大部分判斷都是非錯則對的,布林值和布林代數的表示完全一致,一個布林值只有True、False兩種值,要麼是True,要麼是False,在Python中,可以直接用True、False表示布林值(請注意大小寫,不需要使用字串符號括起來),也可以通過布林運算計算出來。
布林值可以用and、or和not運算(注意and,or,not都是Python語言本身的關鍵字)。
and運算是與運算,只有所有都為 True,and運算結果才是 True。
or運算是或運算,只要其中有一個為 True,or 運算結果就是 True。
not運算是非運算,它是一個單目運運算元,把 True 變成 False,False 變成 True。
空值:
空值是Python裡一個特殊的值,用None表示。
注意,None和0是不一樣的,None不能理解為0,因為0是有意義的,比如我有0個蘋果表示我沒有蘋果,0表達的是數值0的意思,而不能表示為我有None個蘋果,None是一個特殊的空值。
列表,字典,自定義資料型別
變數的概念
只是在計算機程式中,變數不僅可以是數位,還可以是任意資料型別(字串、布林值、空值、字典等)。
python中變數的規範
變數名由大小寫英文字母、數位和下劃線_組成
變數不能用數位開頭
變數儘量不要和Python關鍵字重合(比如前面學習過的:and、or、not,否則可能導致Python原有關鍵字發揮不出作用)
如何定義變數
定義變數的方式很簡單,通過變數名 = 資料,即可定義一個變數。
舉個例子:
a = 1
在這個例子裡面,a就是變數,它的值是一個整數1。
hello = ‘Hello’
在這個例子裡面,hello就是變數,它的值是一個字串’Hello’。
在Python裡面,一個變數可以先後儲存多種不同型別的資料。
a = 1 # 這個時候a儲存的是整數型別
print(a)
a = ‘ABC’ # 這個時候a儲存的是字串型別
print(a)
這是Python這類語言特有的特性,我們稱之為動態語言,與之對應的是靜態語言,Python、 Javascript等等都是動態語言,Java、C、C++等等屬於靜態語言。
Python把0、空字串和None看成False,其他數值和非空字串都看成True。
在Python中,整數和浮點數雖然屬於不同的數值型別,但是在運算上是可以一起運算的
四則運算
整數、浮點數可以直接進行四則運算。
# 加法
num1 = 10
num2 = 0.5
result = num1 + num2
print(result) # ==> 10.5
# 減法
result = num1 - num2
print(result) # ==> 9.5
# 乘法
result = num1 * num2
print(result) # ==> 5.0
# 除法
result = num1 / num2
print(result) # ==>20.0
從上面可以發現一個規律,整數和浮點數運算後 ,得到的結果不管小數點後是否有值,結果都變成浮點數了,這是合理的,浮點數可以表達整數的結果,但是整數不能表達浮點數的結果。
注意:在Python2使用除法可能和Python3得到不一樣的結果
# python2
num1 = 10
num2 = 3
result = num1 / num2
print(result) # ==> 3
# python3
num1 = 10
num2 = 3
result = num1 / num2
print(result) # ==> 3.3333333333333335
可以看到在python2,得到的是一個整數的結果,這是因為除數和被除數都是整數時,得到的結果也預設儲存為整數了,這是非常不科學的,因此在python3,改進了這一點。
取模運算
Python數位支援取模運算,使用百分號%表示取模。
print(3 % 2) # ==> 1
print(33 % 10) # ==> 3
print(99 % 30) # ==> 9
恰當使用取模運算,可以判斷一個數是否為偶數,當一個數對2取模結果為0時,則這個數為偶數,否則為奇數。
print(3 % 2) # ==> 1 因此3為奇數
print(33 % 2) # ==> 1 因此33為奇數
print(100 % 2) # ==> 0 因此100為偶數
地板除
Python除了普通除法以外,還有一個特殊的除法被稱為地板除,對於地板除,得到的結果會忽略純小數的部分,得到整數的部分,地板除使用//進行。
10//4 # ==> 2
10//2.5 # ==> 4.0
10//3 # ==> 3
小數點位數
使用Python計算小數的時候,經常需要保留小數點後若干位,可以使用round()函數來處理,這裡先了解round的呼叫方式,使用兩個引數,第一個是需要保留小數點位數的數值,第二個是保留的位數。
num = 10 / 3
print(num) # ==> 3.3333333333333335
# 使用round保留兩位小數
round(num, 2) # ==> 3.33
與運算
變數一 and 變數二
變數一和變數二都為True時,計算結果才為True
且從上圖中可以看出python中限制大小寫,True中python中代表真,但true則就變成了一個變數。
或運算
變數一 or 變數二
變數一和變數二有一為真則為真。
非運算
not變數
把True變為False,或者把False變為True。
True and 0計算結果是0
繼續計算0 or 99計算結果是 99
因此,結果是99。
需要注意的是,not計算的優先順序是高於and和or的
短路計算
在計算a and b時,如果 a 是 False,則根據與運演演算法則,整個結果必定為 False,因此返回 a;
如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
在計算a or b時,如果 a 是 True,則根據或運演演算法則,整個計算結果必定為 True,因此返回 a;
如果 a 是 False,則整個計算結果必定取決於 b,因此返回 b。
所以Python直譯器在做布林運算時,只要能提前確定計算結果,它就不會往後算了,直接返回結果。
python的字串
在python中被’ '(這是單引號,後文同)和" "(這是雙引號,後文同)括起來的是字串。
特殊情況:
當字串中含有’ '時:
可以使用" "將字串括起來。
當字串中含有" "時:
可以使用’ '將字串括起來。
當字串中同時含有 ’ ’ 和 " "時:
這個時候,就需要對字串中的某些特殊字元進行「跳脫」,Python字串用\進行跳脫。
要表示字串Bob said 「I’m OK」
由於’和"會引起歧義,因此,我們在它前面插入一個\表示這是一個普通字元,不代表字串的起 始,因此,這個字串又可以表示為
‘Bob said 「I’m OK」.’
注意:跳脫字元 \不計入字串的內容中。
常用的跳脫字元還有:
\n表示換行
\t 表示一個製表符
\表示 \ 字元本身
python中raw字串和多行字串:
在一個字串前加字首 r 代表此字串為原字串,對於含有很多需要跳脫的字元的字串就不需要跳脫了。
但是r’…'表示法不能表示多行字串,也不能表示包含’和 "的字串。
python中的多行字串:
‘’’ Line1
Line2
Line3’’’
與’ Line1\nLine2\nLine3’效果相同
可與字首 r 搭配使用
後文見文章分類中python。