Python之路【第一篇】:Python簡介和入門

python簡介:

1、什麼是pythonphp

Python(英國發音:/ pa θ n/ 美國發音:/ pa θɑ n/),是一種面向對象、直譯式的計算機程序語言。前端

每一門語言都有本身的哲學:python

pythonde 設計哲學是:「優雅」、「明確」、「簡單」linux

2、python由來程序員

 1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承。之因此選中Python做爲程序的名字,是由於他是BBC電視劇——蒙提·派森的飛行馬戲團(Monty Python‘s Flying Circus)的愛好者。web

3、Python能作什麼django

Web程序編程

Python常常被用於Web開發。好比,經過mod_wsgi模塊,Apache能夠運行用Python編寫的Web程序。使用Python語言編寫的Gunicorn做爲Web服務器,也可以運行Python語言編寫的Web程序。Python定義了WSGI(Web Server Gateway Interface)標準應用接口來協調Http服務器與基於Python的Web程序之間的溝通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可讓程序員輕鬆地開發和管理複雜的Web程序。vim

Python對於各類網絡協議的支持很完善,所以常常被用於編寫服務器軟件、網絡蠕蟲。第三方庫Twisted支持異步在線編寫程序和多數標準的網絡協議(包含客戶端和服務器),而且提供了多種工具,被普遍用於編寫高性能的服務器軟件。另有gevent這個流行的第三方庫,一樣可以支持高性能高併發的網絡開發。windows

GUI開發

Python自己包含的Tkinter庫可以支持簡單的GUI(Graphical User Interface)開發。可是愈來愈多的Python程序員選擇wxPython或者PyQt等GUI包來開發跨平臺的桌面軟件。使用它們開發的桌面軟件運行速度快,與用戶的桌面環境相契合。經過PyInstaller還能將程序發佈爲獨立的安裝程序包。

操做系統

在不少操做系統裏,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。

其餘

NumPy、SciPy、Matplotlib可讓Python程序員編寫科學計算程序。有些公司會使用Scons代替make構建C++程序。

不少遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、服務器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。不少遊戲,如EVE Online使用Python來處理遊戲中繁多的邏輯。

YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。OLPC的做業系統Sugar項目的大多數軟件都是使用Python編寫

 

因此他的應用範圍大概分爲:

數據分析

系統編程

組件集成

網絡服務

圖像處理

數值計算和科學計算

 

4、設計哲學與定位

Python的設計哲學是「優雅」、「明確」、「簡單」。Python開發者的哲學是「用一種方法,最好是隻有一種方法來作一件事」。在設計Python語言時,若是面臨多種選擇,Python開發者通常會拒絕花俏的語法,而選擇明確沒有或者不多有歧義的語法。這些準則被稱爲「 Python格言」。在Python解釋器內運行import this能夠得到完整的列表

 

1.優美勝於醜陋(Python 以編寫優美的代碼爲目標)

2.明瞭勝於晦澀(優美的代碼應當是明瞭的,命名規範,風格類似)

3.簡潔勝於複雜(優美的代碼應當是簡潔的,不要有複雜的內部實現)

4.複雜勝於凌亂(若是複雜不可避免,那代碼間也不能有難懂的關係,要保持接口簡潔,多加註釋!)

5.扁平勝於嵌套(優美的代碼應當是扁平的,不能有太多的嵌套)

6.間隔勝於緊湊(優美的代碼有適當的間隔,不要奢望一行代碼解決問題,一行代碼不能超過80個字符,你能夠換行或起一個新的邏輯來寫)

7.可讀性很重要(優美的代碼是可讀的)

8.即使假借特例的實用性之名,也不可違背這些規則(這些規則至高無上),覺對不容許特列必須按照這個規則

9.不要包容全部錯誤,除非你肯定須要這樣作(精準地捕獲異常,不寫 except:pass 風格的代碼)

10.當存在多種可能,不要嘗試去猜想!

11.而是儘可能找一種,最好是惟一一種明顯的解決方案(若是不肯定,就用窮舉法)

12.雖然這並不容易,由於你不是 Python 之父(這裏的 Dutch 是指 Guido )

13.作也許好過不作,但不假思索就動手還不如不作(動手以前要細思量)

14.若是你沒法向人描述你的方案,那確定不是一個好方案;反之亦然(方案測評標準)

15.命名空間是一種絕妙的理念,咱們應當多加利用(倡導與號召

 

PS:

簡單的拿php和python作對比:

python是綜合性的語言,他不光能夠作web開發。他倆的對比應該僅限於web開發方向。不見其phpweb開發別python好,php是先入爲主,python的web框架在2000纔有的比較晚了

django起來的比較晚,他們的web開發都是很不錯了。你用php作的python均可以作。python給你的是一個完整的解決,前端和後端均可以用python。

簡單的拿C和python作對比:

python慢,慢的嚴重!!!!相同的程序比C慢幾百倍很正常

編程風格:

1、語法要求

縮進統一

統一級別的代碼縮進必須一致!(而且建議全部級別的代碼的縮進是相同的,開發規範裏建議4個空格)建議不要用Tab由於若是想把代碼在windows上運行,linux和windows的Tab的定義不一樣!!!!

好的編輯器能提升開發代碼的效率!

全部的python,第一行必定要頂到行頭!同一級別的新的都要頂到行頭。

2、變量

標識符的第一個字符必須是字母表中字母(大寫或小寫)或者一個下劃線('_');

標識符名稱的其餘部分能夠由字母(大寫或小寫)、下劃線('_')或者數字(0-9)組成;

有效 標識符名稱例如:my、_my_name、name_z12和a1w2_c3;

無效 標識符名稱例如:2things、this is dog和my-name;

標識符名稱是對大小寫敏感的。例如,myname和mYname不是同一個標識符。注意前者中的小寫y和後者中的大寫Y;

常量:數值不變的量

變量:數值會變更的量

在python中沒有常量的,全部的數值均可以改變,可是他依然有個常量的概念,可是是人爲的你不去改變他,定義一個常量應該用大寫的形式;

例如:

AGE = 10 這個就是常量,它是大寫的!是約定俗成的,可是它是能夠改的!!

name = 'Ray Zhu' 這個就是變量

######須要特別注意的是,定義變量的時候不能定義python自帶的內置方法####

例如:

type

如下關鍵詞不能聲明爲變量名:

 

['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', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
View Code

 

變量的起名的方式就是標識符名稱,經過標識符去調用內存中的數據。

 

Python環境:

1、安裝python

windows:

1、下載安裝包
    https://www.python.org/downloads/
2、安裝
    默認安裝路徑:C:\python35
3、配置環境變量
    【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
    如:原來的值;C:\python35,切記前面有分號
View Code

Linux:

Linux的yum依賴自帶的Python,爲防止錯誤,此處更新其實就是再安裝一個高版本Python!

查看默認Python版本
python -V
  
1、安裝gcc,用於編譯Python源碼
    yum install gcc
二、下載源碼包,https://www.python.org/ftp/python/
3、解壓並進入源碼文件
4、編譯安裝
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python3.5 -V
6、修改默認Python版本
    mv /usr/bin/python /usr/bin/python2.6
    ln -s /usr/local/bin/python3.5 /usr/bin/python
7、防止yum執行異常,修改yum使用的Python版本
    vi /usr/bin/yum
    將頭部 #!/usr/bin/python 修改成 #!/usr/bin/python2.6
View Code

Python入門

1、第一句python

vim hello_world.py 建立一個文件:

 

#!/usr/bin/env python3
#_*_ conding:utf-8 _*_

print ('Hello World')
View Code

 

執行:

python hello.py便可
或者增長執行權限:
chmod +x hello.py
./hello.py

注意:

 

#!/usr/bin/env python
備註:
腳本用env啓動的緣由:是由於腳本解釋器再linux中可能被安裝與不一樣的目錄中,env能夠在系統的PATH目錄中查找。同時,env還規定一些系統環境變量。env就是envirnment 環境變量的縮寫
# _*_ coding:utf-8 _*_    指定編碼類型爲utf-8,在Python3中默認編碼爲utf8,加不加這個都無所謂

 

2、編碼

python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)

ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其餘西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256,因此,ASCII碼最多隻能表示 256 個符號

顯然ASCII碼沒法將世界上的各類文字和符號所有表示,因此,就須要新出一種能夠表明全部字符和符號的編碼,即:Unicode

Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每一個字符設定了統一而且惟一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的的是最少2個字節,可能更多

UTF-8,是對Unicode編碼的壓縮和優化,他再也不使用最少使用2個字節,而是將全部的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...

因此,python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),因此若是不指定編碼類型,若是有中文就會報錯。

3、Python的工做過程

一、python 把代碼讀到內存; 二、詞法語法分析; 三、放到編譯器 =======》》生成字節碼; 四、執行字節碼 =======》》生成機器碼;  五、CPU執行

4、執行腳本傳入參數

Python有大量模塊,從而使得開發Python程序很是簡潔。類庫有包括三種:

Python內部提供的模塊

業內開源的模塊

程序員本身開發的模塊

Python內部提供了一個sys的模塊,其中sys.argv 用來捕獲執行 執行python腳本時傳入的參數

#!/usr/bin/env python
# _*_ coding:utf-8 _*_

import sys

print (sys.argv)

5、pyc文件

執行Python代碼時,若是導入了其餘的.py文件, 那麼,在執行過程當中會自動生成一個其同名的.pyc文件,該文件就是Python解釋器編譯以後產生的字節碼文件;

一樣的道理:代碼在通過編譯能夠產生字節碼;字節碼經過反編譯也能夠獲得代碼。(任何字節碼經過反編譯均可以代碼)

6、變量

變量:只能由字母、數字、下劃線組成

特別注意的是,定義變量時變量不能以數字開頭

python關鍵字不能用於變量

python的內置函數或類

最好不要和python的內置的東西重複;

字符串的值是不能被修改的,他在內存裏是連續的,若是想改的話必須在後面預留因此不支持修改!

字符串特性,一旦修改,從新建立

例:

 

name1 = "zhurui"
name2 = name1

這裏把修改成name1 = "boy",猜測下name2會不會變呢??

 

其實name2是不變的,結合上面的規則:字符串特性,一旦修改,從新建立

name1 = "boy"  name1的值變了,他會從新開闢一塊內存空間!

注意:

name1 = "zhurui"
name2 = "zhurui"

這裏雖然他們的內存地址是相同的,可是它們的原理是各自在內存中開闢了一塊內存空間,python給他進行了優化而已。有個池的概念(把你最經常使用的值作一個指向)!

集合又不相同:

name1 = ['ray',  'karen',  'eric']

若是把name2 = name1

print (name2)
['ray',  'karen',  'eric']
name1 這個集合增長一個,如今name2變不變呢?會變得集合和字符串不一樣它的各個元素不是連續的,因此name2 = name1指向後,name1增長一個元素不會開闢一塊新的空間,name2就會跟着改變;

 

7、條件語句(流程控制)

if...else   和 if...elif...elif...........else

場景一:用戶登陸驗證

 

 1 #!/usr/bin/env python
 2 # _*_ coding: utf-8 _*_
 3 
 4 import getpass
 5 name = input("請輸入用戶名:")
 6 pwd = getpass.getpass("請輸入密碼:")
 7 
 8 if name == "zhurui" and  pwd == "123":
 9     print("歡迎,zhurui")
10 else:
11     print("用戶名和密碼錯誤")
View Code

 

場景二:根據用戶輸入內容輸出其權限:

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
'''
zhurui--------->普通用戶
ray------------>管理用戶
eric----------->超級用戶
'''
name = input("請輸入用戶名:")

if name == "zhurui":
    print("普通用戶")
elif name == "ray":
    print("管理用戶")
elif name == "eric":
    print("超級用戶")
else:
    print("沒有此用戶")
View Code

場景三:猜數字遊戲:

有3次機會,若是3次中沒有猜中給予提示,3次都沒有猜中,鼓勵!

#!/usr/bin/env python
# _*_ coding: utf-8 _*_

import random
rand_num = random.randrange(10)
for i in range(3):
    guess_num = int(input("請猜想數字:"))
    if guess_num == rand_num:
        print("恭喜你,你猜對了")
        break
    elif guess_num > rand_num:
        print("您猜想的數字偏大,請嘗試小點的數字")
    else:
        print("您猜想的數字偏小,請嘗試大點的數字")
else:
        print("不要灰心,此次只是運氣很差,請下次嘗試")
print("這個真正的數字是:% ") % rand_num

插播一條重要消息:

外層變量,能夠被內層代碼使用

內層變量,不該被外層代碼使用

while 循環

原理:當條件爲真的時候運行,當條件爲假的時候中止!

實質就是沒有規定次數,不設置條件永遠循環下去。

 

#!/usr/bin/env python
# _*_ coding: utf-8 _*_

import time
count = 0
while True:
    count += 1
    print("loop"),count
    time.sleep(3)
#這個循環3秒鐘自+1,後無限循環只要這個條件爲"真",就無限循環下去

 

綜上對比下  上面這個例子:

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
import time

count = 0
while count < 5:
    count += 1
    print("zhurui"),count
    time.sleep(3)
## 這個循環每3秒循環一次,當條件count < 5的時候爲真(count自增加小於5,循環輸出打印zhurui),當count 不小於5的時候爲假(False)則退出循環中止。
#!/usr/bin/env python
# _*_ coding: utf-8 _*_

import random
rand_num = random.randrange(10)
try_count = 0
while try_count <3:
    guess_num = int(input("請輸入猜想數字:"))
    if guess_num > 10:
        print("輸入的數字超出了範圍")
        continue
    if guess_num == rand_num:
        print("恭喜你,被你猜對了!!!")
        break
    elif guess_num < rand_num:
        print("您猜想的數字小了,請嘗試大點的數字")
    else:
        print("你猜的數字有點大了,請嘗試小點的數字")
    try_count +=1
else:
    print("不要灰心,此次只是運氣很差,請下次嘗試")
print("這個是真正的數字:" %d) % rand_num

##當執行guess_num > 10 若是你輸入的是大於10的數字那麼將會執行continue,就會跳出當前循環,沒有執行try_count +=1 因此沒有計數!!

注意:

continue:退出當前循環,開始下一次循環;

break:退出全部的循環;

 有個需求,我想返回個人上層怎麼作,用標識位! 以下面的例子:

1 #!/usr/bin/env python
2 # _*_ coding: utf-8 _*_
3 
4 while True:
5     print("這TMD是第一層!")
6     while True:
7         print("這TMD是第二層!")
8         while True:
9             print("這TMD是第三層!")

這就是個死循環,當執行到第三個循環的時候就無限循環,這裏有人會想,用break行不行,咱們試試就知道了:

 1 #!/usr/bin/env python
 2 # _*_ coding: utf-8 _*_
 3 
 4 while True:
 5     print("這TMD是第一層!")
 6     break
 7     while True:
 8         print("這TMD是第二層!")
 9         break
10         while True:
11             print("這TMD是第三層!")
12             break

執行代碼輸出結果:

1 C:\Python35\python3.exe C:/Users/ZR/PycharmProjects/python全棧開發/day1/while_print.py
2 這TMD是第一層!
3 
4 Process finished with exit code 0

就僅僅執行了第一個循環跳出,然而並非咱們想要的結果,那就用到"標識位"了,工做中也有不少地方用到它:

 1 #!/usr/bin/env python
 2 # _*_ coding: utf-8 _*_
 3 
 4 count = 0
 5 while True:
 6     print("這TMD是第一層!")
 7     jump_1_flag = False
 8     while True:
 9         print("這TMD是第二層!")
10         jump_2_flag = False
11         while True:
12             count +=1
13             print("這TMD是第三層!")
14             if count > 3:
15                 jump_2_flag = True
16                 break
17         if jump_2_flag:
18             print("第三層跳到我這裏來了,我也要跳到第一層")
19             jump_1_flag = True
20             break
21     if jump_1_flag:
22         print("第二層和第三層跳到我這裏來了,我也要跳")
23         break

執行結果以下:

C:\Python35\python3.exe C:/Users/ZR/PycharmProjects/python全棧開發/day1/while_jump.py
這TMD是第一層!
這TMD是第二層!
這TMD是第三層!
這TMD是第三層!
這TMD是第三層!
這TMD是第三層!
第三層跳到我這裏來了,我也要跳到第一層
第二層和第三層跳到我這裏來了,我也要跳

Process finished with exit code 0

最後再來一個簡單的登陸例子:

 1 #!/usr/bin/env python
 2 # _*_ coding: utf-8 _*_
 3 '''
 4 用戶登陸(三次機會重試)
 5 '''
 6 count = 0
 7 while count < 3:
 8     user = input("請輸入用戶名:")
 9     pwd = input("請輸入密碼:")
10     if user == "zhurui" and pwd == "123":
11         print("歡迎登陸!")
12         print('...........')
13         break
14     else:
15         print("用戶名或者密碼錯誤")
16     count +=1

輸出結果:

C:\Python35\python3.exe C:/Users/ZR/PycharmProjects/python全棧開發/day1/logging.py
請輸入用戶名:fdfdsf
請輸入密碼:ggsd
用戶名或者密碼錯誤
請輸入用戶名:gdsgegw
請輸入密碼:geeeer
用戶名或者密碼錯誤
請輸入用戶名:gsgswe
請輸入密碼:rewrw
用戶名或者密碼錯誤

Process finished with exit code 0

輸入正確:

C:\Python35\python3.exe C:/Users/ZR/PycharmProjects/python全棧開發/day1/logging.py
請輸入用戶名:zhurui
請輸入密碼:123
歡迎登陸!
...........

Process finished with exit code 0

 

8、Python運算符

python算數運算符

操做符 描述符 例子
+ 加法 - 對操做符的兩側增長值 a + b =10
- 減法 - 左側操做數減去右側操做數 a - b = 20
* 乘法 - 運算符兩側的值相乘 a * b  = 190
/ 除 - 由右側操做數除以左側操做數 b / a = 4
% 模 - 由右側操做數和餘返回除以左側操做數 b % a = 0
** 指數 - 執行對操做指數(冪)的計算 2**3 = 8
// 地板除 - 操做數的除法,其中結果是講小數點後的位數捨棄,只取整數部分 9//2 = 4而 9.0//2.0 = 4.0

 

 

 

 

 

 

 

 

 

 

例子:

 1 >>> a = 20
 2 >>> b = 10
 3 >>> c =  a + b
 4 >>> print(c)
 5 30
 6 >>> c = a -b
 7 >>> print(c)
 8 10
 9 >>> c = a * b
10 >>> print(c)
11 200
12 >>> c = a / b
13 >>> print(c)
14 2.0
15 >>> c = a % b
16 >>> print(c)
17 0
18 >>> c = a**b
19 >>> print(c)
20 10240000000000
21 >>> c = a//b
22 >>> print(c)
23 2

python賦值運算符

 

運算符 描述符 例子
= 簡單的賦值運算符,賦值從右側操做數左側操做數 c = a + b 將指定的值a + b 到c
+= 加法AND賦值操做符 ,它增長了右操做數左操做數和結果賦給左操做數 a +=b 至關於a = a + b
-= 減AND賦值操做符,它減去右邊的操做數從左邊操做數,並將結果賦給左操做數 a -=b 至關於 a = a - b
*= 乘法AND賦值操做符,它乘以右邊的操做數與左操做數,並將結果賦給左操做數 a *=b 至關於 a = a * b
/= 除法AND賦值操做符,它把左操做數與正確的操做數,並將結果賦給左操做數 a /=b 至關於 a = a / b
%= 模量AND賦值操做符,它須要使用兩個操做數的模量和分配結果左操做數  a %= b 至關於 a = a % b
//= 地板除 ,並分配一個值,執行地板除對操做和賦值給左操做數 a //=b 至關於a = a // b

 

 

 

 

 

 

 

 

 

 

 

 

例子:

>>> a = 10
>>> b = 20
>>> c = 0
>>> c = a + b
>>> c +=a
>>> print(c)
40
         等價於
c +=a <=========> c = c + a

python比較運算符

運算符 描述符 例子
== 檢查,兩個操做數的值是否相等,若是是則條件變爲真。 (a == b) 不爲true
!= 檢查兩個操做數的值是否相等,若是值不相等,則條件變爲真。 (a != b) 爲true
<> 檢查兩個操做數的值是否相等,若是值不相等,則條件變爲真。 (a <>b)爲true,這個相似於 != 運算符
> 檢查左操做數的值是否大於右操做數的值,若是是,則條件成立。 (a > b) 不爲true
< 檢查左操做數的值是否小於右操做數的值,若是是,則條件成立。 (a  < b)爲true
>= 檢查左操做數的值是否大於或等於右操做數的值,若是是,則條件成立。 (a >= b)不爲true
<= 檢查左操做數的值是否小於或等於右操做數的值,若是是,則條件成立。 (a <= b)爲true

 

 

 

 

 

 

 

 

 

 

 

例子:

>>> a = 34
>>> b = 45
>>> a == b
False
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> a >= b
False
>>> a <= b
True
>>>

python邏輯運算符

運算符 描述 示例
and 所謂邏輯與運算符,若是兩個操做數都是真的,那麼則條件成立。 (a and b)爲true
or 所謂邏輯OR運算符,若是有兩個操做數都是非零而後再條件變爲真。 (a or b)爲true
not 所謂邏輯非運算符。用於反轉操做數的邏輯狀態,若是一個條件爲真,則邏輯非運算符將返回false。 not(a and b) 爲 false

 

 

 

 

 

例子:

and運算,都爲真時爲真

>>> 20 > 10 and 29 > 18
True
>>> 20 > 10 and 29 > 34
False

or運算,有一個爲真的時候便可爲真

>>> 20 > 10 and 29 > 18
True
>>> 20 > 10 and 29 > 34
False
>>> 20 > 10 or 29 > 34
True

not運算,假爲真真爲假

>>> not 9.9 <= 9
True
>>> not 9.9 >= 9
False
>>>

python成員運算符

 

1 a = "" in "朱元璋"

 

例子:

>>> if a == "" in "朱元璋":
...  print("包含")
... else:
...  print("不包含")
...
包含

簡單概括總結下:

1、運算符
      結果是值
            算數運算
                a = 10 * 10
            賦值運算
                a = a + 1 等價於 a +=1
       結果是布爾值
            比較運算
                a = 1 > 5
            邏輯運算
                a = 1 > 6 or 1 == 1
            成員運算
                a = "" in "鄭秀文"
相關文章
相關標籤/搜索