Python入門教程之變量與數據類型
一、 Python變量與數據類型
- Python是一種動態解釋型的編程語言
- 要想使用python,可以使用python自帶的IDLE編輯器,也可以下載PyCharm
1.變量概述
變量是存儲在內存中的值,而這就意味著在創建變量時會在內存中開辟一個空間。基於變量的數據類型,解釋器會分配指定內存,並決定什麼數據可以被存儲在內存中,因此,變量可以指定不同的數據類型
變量名是由字母、數字、下劃線組成的,第一個字符必須是字母或者下劃線_
使用變量可以提高代碼的可讀性,便於修改
Python中的變量賦值不需要類似聲明,每個變量都在內存中創建,包括變量的的標識、名稱、數據等信息,每個變量在使用前都必須賦值,變量賦值以後這個變量才會被創建
在Python中“=”用來給變量賦值,變量名=變量值
2.創建變量
#創建合法的變量名稱 >>> a =1 >>>print(a) #print()是打印,即shell中的echo 1 >>> _a =2 >>> print(_a) 2 >>> a1 = 3 >>> print(a1) 3 #可以同時指定多個變量名進行賦值 >>> a,b,c = 1,2,3 >>> print(a) 1 >>> print(b,c) 2 3
3.Python3常用的數據類型
類型 | 作用 |
---|---|
數字(Numbers) | 數字類型數據用於存儲數值,他們是不可改變的數據類型,這意味著改變數字類型會分配一個新的對象,當你指定一個值時,Numbers類型的對象就會被創建 |
字符串(String) | 字符串或串是由數字、字母、下劃線組成的一串字符,在給變量賦值時加雙引號就是字符串類型 |
列表(List) | Python中使用最頻繁的數據類型,列表可以完成大多數集合類的數據結構,支持字符、數字、字符串,也可以嵌套,在列表中包含列表,使用[ ]創建列表 |
元組(Tuple) | 元組是另一個數據類型,類似於列表,但是不能二次賦值,相當於隻讀列表,使用()創建元組 |
字典(Dictionary) | 字典是除瞭列表以外,Python中最靈活的內置數據結構類型,使用{ }創建字典 |
列表是有序的對象集合,而字典是無序的對象集合。兩者的區別在於,字典中的元素是通過鍵來存取的,也就是鍵值對的方式Key-Value,而不是通過偏移存取。列表隻是簡單的存放多個變量值,字典相當於是”在字典中又創建瞭變量“
3.1.數字(Numbers)
3.1.1.數字的數據類型也分成瞭很多種類型:
整型(int): 也就是整數
浮點型(float): 帶小數點的數字
佈爾型(bool): 用於邏輯運算,隻有true和false,即真和假
復數(complex): 復數由實部(real)和虛部(imag)構成,在 Python 中,復數的虛部以j或者J作為後綴,,如1+2j、1.1+2.2J
3.1.2.Python運算符:
算法 | 運算符 |
---|---|
加法 | + |
減法 | – |
乘法 | * |
除法 | / |
求模,取餘 | % |
求冪,即求次方,2**2即2的2次方 | ** |
先乘除後加減,有小括號就先算小括號,註意:Python是不支持自增運算符++和自減運算符–的
3.1.3.整型、浮點型、佈爾型
>>> x = 123 #整型 >>> print(x) 123 >>> y = 1.12 #浮點型 >>> print(y) 1.12 >>> a = True #佈爾型true >>> print(a) True >>>if(a): #使用if語句反段,符合if語句的條件,就輸出下面的語句,因為a為佈爾型true,所以始終為真,也就是始終符合條件 ... print("為真") ... 為真 >>> b = False #佈爾型false >>> if(b): #如果b符合條件,則輸出為真,否則輸出為假,因為b是佈爾型false,所以始終為假,也就是始終為假 ... print("為真") ... else: ... print("為假") ... 為假
3.1.4.變量標識符
變量標識符就像是變量的“身份證”,具有唯一性
>>> print(id(x)) #查看x變量的標識符 2774440106160 >>> print(id(y)) #查看y變量的標識符 2774486777776
3.1.5.Python運算符
>>> x,y = 2,4 #賦值變量x和y的值分別是2和4 >>> print(x+y,y-x,x*y) #加、減、乘算法 6 2 8 >>> print(4/2,2**4) #除、求冪算法 2.0 16 >>> print(8%5) #取餘算法,8除5餘3 3
3.2.字符串(String)
- python中單引號和雙引號使用完全相同。
- 使用三引號(’’’ 或 “”")可以指定一個多行字符串。
- 轉義符 \
- 反斜杠可以用來轉義,使用r可以讓反斜杠不發生轉義。。 如 r"this is a line with \n" 則\n會顯示,並不是換行。
- 按字面意義級聯字符串,如"this " "is " "string"會被自動轉換為this is string。
- 字符串可以用 + 運算符連接在一起,用 * 運算符重復。
- Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
- Python中的字符串不能改變。
- Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。
3.2.1.單引號、雙引號、三引號
>>> name = '亞索' #單引號 >>> print(name) 亞索 >>> age = "34歲" #雙引號 >>> print(age) 34歲 >>> aihao = """ #三引號 耍劍 喝酒 """ >>> print(aihao)
3.2.2.轉義符
>>> aaa = "aa'gao'" >>> print(aaa) aa'gao' >>> bbb = ' aaa"ccc"' >>> print(bbb) aaa"ccc" >>> ccc = 'abc\'ccc' #轉義'為普通字符 >>> print(ccc) abc'ccc
3.2.3.常用轉義符
轉義符 | 作用 |
---|---|
\ | 在行尾時使用,為續航符,也就是換行符 |
\\ | 這個含義是指把\轉義成普通字符 |
\’ | 把’轉義成普通字符 |
\" | 把“轉義成普通字符 |
\n | 換行符,把光標移動到下一行繼續 |
\v | 縱向制表符,將光標向下移動一個制表符單位 |
\t | 水平制表符,將光標向右移動一個制表符單位 |
\r | 代表一個回車 |
3.2.4.字符串的其他用法
#+號可以當作字符串的連接字符,而*號可以是重復操作 >>> print("aaa" + "bbb") aaabbb >>> print(3*"aaa") aaaaaaaaa #新建一個新的.py文件,寫入: a = ' ' print("歡迎來到,英雄聯盟") print(a*2+"歡迎來到,英雄聯盟") print(a*4+"歡迎來到,英雄聯盟") 歡迎來到,英雄聯盟 歡迎來到,英雄聯盟 歡迎來到,英雄聯盟 #a為一個空,利用*號可以使空重復操作變成多個,然後就可以實現上面的效果
3.3.列表(list)
3.3.1.列表的定義
#列表其實就是一個變量有多個變量值,但是這個變量值叫做元素,所以也叫做,一個列表中有多個元素,使用[]來表示列表 >>> a = ["1","2","3"] >>> print(a) ['1', '2', '3']
3.3.2列表的取值
#列表有兩種取值順序: 1.從左到右索引默認從0開始,最大范圍是字符串長度-1,這個0和shell的位置變量有點像 2.從右到左的索引默認從-1開始,最大范圍是字符串開頭 >>> a = ["1","2","3"] >>> print(a) ['1', '2', '3'] >>> print(a[0]) 1 >>> print(a[1]) 2 >>> print(a[2]) 3 >>> print(a[-1]) 3 >>> print(a[-2]) 2 >>> print(a[-3]) 1 >>> print(a[0:2]) #從0開始到2位置結束 ['1', '2'] >>> print(a[0:3]) ['1', '2', '3'] >>> print(a[0:1]) ['1'] >>> a[0]=4 #修改a列表中0位置為4 >>> print(a) [4, '2', '3'] >>> a.append(5) #在a列表末尾添加5 >>> print(a) [4, '2', '3', 5] >>> a.insert(1,6) #在a列表的1位置後添加6 >>> print(a) [4, 6, '2', '3', 5]
3.3.3.刪除列表元素
>>> print(a) [4, 6, '2', '3', 5] >>> del a[0] #刪除a列表中的0位置的元素 >>> print(a) [6, '2', '3', 5]
3.3.4.查找列表元素
>>> print(a) [6, '2', '3', 5] >>> 6 in a #查看a列表中是否有6,有就返回True沒有就返回False True >>> 8 in a False
3.3.5.合並列表
>>> a = ["nihao","shijie"] >>> b = ["hello","world"] >>> c = a + b #利用+號,來合並列表,變量也可以這樣使用 >>> print(c) ['nihao', 'shijie', 'hello', 'world'] >>> d = b + a >>> print(d) ['hello', 'world', 'nihao', 'shijie'] >>> print(a*3) #利用*號,來重復列表 ['nihao', 'shijie', 'nihao', 'shijie', 'nihao', 'shijie']
3.3.6.列表常見問題
>>> print(a) [1, 2, 3] >>> print(a[6]) #不能直接查看超過列表元素總數的值 Traceback (most recent call last): File "<input>", line 1, in <module> IndexError: list index out of range >>> print(a[1:6]) #但是可以指定范圍查看 [2, 3] >>> print(a[0:-1]) #指定范圍時,可以同時使用正數和負數進行索引 [1, 2]
3.3.7.嵌套列表
#列表中也可以是列表,是可以無限嵌套的 >>> a = [[1,2,3],"aaa",[4,5,6]] >>> print(a) [[1, 2, 3], 'aaa', [4, 5, 6]] >>> print(a[0]) #查看a列表中的第0個位置的元素 [1, 2, 3] >>> print(a[0][0]) #查看a列表中第0個位置元素的第0個位置的元素 1
3.3.8.字符串轉列表
str1 = "12345" list1 = list(str1) print list1 str2 = "123 sjhid dhi" list2 = str2.split() #or list2 = str2.split(" ") #以“空”為分割來切割字符串生成列表 print list2 str3 = "www.google.com" list3 = str3.split(".") #以“.”為結果分割 print list3
結果如下:
['1', '2', '3', '4', '5']
['123', 'sjhid', 'dhi']
['www', 'google', 'com']
3.3.9.反轉列表元素
a=[1,2,3,4] b=a[-1::-1] #第一個-1表示從4開始,::表示移動到列表末尾,也就是移動到1,第二個-1表示逆向 print(b) #輸出結果 [4, 3, 2, 1]
3.4.元組(Tuple)
元組類似於一個隻讀列表,寫入元素後,元組中的元素是不可變的,操作速度比列表要快,安全性更強,使用()來創建元組
雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表。
構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則:
tup1 = () # 空元組 tup2 = (20,) # 一個元素,需要在元素後添加逗號
3.4.1元組的創建和刪除
>>> a = (1,2,3) >>> print(a) (1, 2, 3) >>> a[0] = 4 #元組的元素不能修改,會報錯 Traceback (most recent call last): File "<input>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> del a #在刪除元組時,隻能全部刪除,不能指定刪除某個元素 >>> print(a) Traceback (most recent call last): File "<input>", line 1, in <module> NameError: name 'a' is not defined
3.4.2.元組和列表的互相轉換
>>> a = [1,2,3] >>> b = (1,2,3) >>> c = list(b) #轉換時,需要重新定義變量 >>> print(c) [1, 2, 3] >>> print(type(c)) #查看c變量的類型,發現是列表 <class 'list'> >>> d = tuple(a) #把a列表變成元組,並且重新定義變量成d >>> print(d) (1, 2, 3) >>> print(type(d)) <class 'tuple'>
3.5.集合(Set)
集合是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員
基本功能是進行成員關系測試和刪除重復元素
可以使用大括號{ }或者是set( )函數創建集合,要註意的是,創建一個空集合必須使用set( ),因為{ }使用來創建一個空字典的
創建格式:
a = {value1,value2,...} set(value)
3.5.1.集合的創建
a = {'aaa','bbb','ccc','ddd'} print(a) print(type(a)) 輸出結果: {'aaa', 'ddd', 'bbb', 'ccc'} <class 'set'>
b=set("aaaa5cccddd") print(b) print(type(b)) 輸出結果: {'a', 'd', 'c', '5'} <class 'set'>
3.5.2.成員測試
a = {'aaa','bbb','ccc','ddd'} if 'aaa' in a: print("aaa在a集合中") else: print("aaa不在a集合中") 輸出結果: aaa在a集合中
3.5.3.集合運算
a = set('abracadabra') b = set('alacazam') print(a) print(b) print(a - b) #a和b的差集 print(a | b) #a和b的並集 print(a & b) #a和b的交集 print(a ^ b) #a和b中不同時存在的元素 輸出結果: {'b', 'r', 'd', 'c', 'a'} {'l', 'z', 'm', 'c', 'a'} {'r', 'd', 'b'} {'l', 'z', 'b', 'r', 'd', 'm', 'c', 'a'} {'a', 'c'} {'l', 'r', 'z', 'b', 'd', 'm'}
3.6.字典(Dictionary)
字典中的值,是通過鍵值對來存儲的,key-value的方式,使用{}來創建字典,字典的索引由鍵和它對應的值組成
列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典是一種映射類型,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合。
鍵(key)必須使用不可變類型。
在同一個字典中,鍵(key)必須是唯一的。創建字典使用{ }
3.6.1.字典的創建
#字典中的鍵具有唯一性,但是值可以相同,鍵名區分大小寫,當有多個相同的鍵名和值時,隻有最後一個鍵值會生效 >>> a = {"id":1,"name":"zhangsan"} >>> print(a) {'id': 1, 'name': 'zhangsan'} >>> print(type(a)) <class 'dict'> >>> print(a["id"]) #索引a字典中,id鍵的值 1 >>> print(a["name"]) zhangsan >>> a = {"id":1,"id":2,"id":3} >>> print(a) #字典中有多個相同的鍵時,隻有最後一個鍵值會生效 {'id': 3} >>> del a #刪除a字典
3.6.2.字典中鍵的添加、修改、刪除操作
#添加: a={"aaa":1,"bbb":2} a["ccc"] = 3 #添加不存在的鍵值即可 print(a) 輸出結果: {'aaa': 1, 'bbb': 2, 'ccc': 3} —————————————————————————————— #修改: a={"aaa":1,"bbb":2} a["aaa"] = 3 #修改指定鍵的值 print(a) 輸出結果: {'aaa': 3, 'bbb': 2} —————————————————————————————— #刪除: a={"aaa":1,"bbb":2} del a["aaa"] #刪除指定的鍵值 print(a) 輸出結果: {'bbb': 2}
3.7.Python數據類型轉換
有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你隻需要將數據類型作為函數名即可。
以下幾個內置的函數可以執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。
函數 | 描述\作用 |
---|---|
int(x [,base]) | 將x轉換為一個整數 |
float(x) | 將x轉換到一個浮點數 |
complex(real [,imag]) | 創建一個復數 |
str(x) | 將對象 x 轉換為字符串 |
repr(x) | 將對象 x 轉換為表達式字符串 |
eval(str) | 用來計算在字符串中的有效Python表達式,並返回一個對象 |
tuple(s) | 將序列 s 轉換為一個元組 |
list(s) | 將序列 s 轉換為一個列表 |
set(s) | 轉換為可變集合 |
dict(d) | 創建一個字典。d 必須是一個 (key, value)元組序列。 |
frozenset(s) | 轉換為不可變集合 |
chr(x) | 將一個整數轉換為一個字符 |
ord(x) | 將一個字符轉換為它的整數值 |
hex(x) | 將一個整數轉換為一個十六進制字符串 |
oct(x) | 將一個整數轉換為一個八進制字符串 |
4.Python3基礎語法
4.1.編碼
默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼:
# -*- coding: cp-1252 -*-
上述定義允許在源文件中使用 Windows-1252 字符集中的字符編碼,對應適合語言為保加利亞語、白羅斯語、馬其頓語、俄語、塞爾維亞語。
4.2.標識符
- 第一個字符必須是字母表中字母或下劃線 _ 。
- 標識符的其他的部分由字母、數字和下劃線組成。
- 標識符對大小寫敏感。
在 Python 3 中,可以用中文作為變量名,非 ASCII 標識符也是允許的瞭。
4.3.Python保留字
保留字即關鍵字,我們不能把它們用作任何標識符名稱。Python 的標準庫提供瞭一個 keyword 模塊,可以輸出當前版本的所有關鍵字:
>>> import keyword >>> keyword.kwlist ['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']
4.3.註釋
Python中單行註釋以 # 開頭,實例如下:
#!/usr/bin/python3 # 第一個註釋 print ("Hello, Python!") # 第二個註釋
執行以上代碼,輸出結果為:
Hello, Python!
多行註釋可以用多個 # 號,還有 ‘’’ 和 “”":
#!/usr/bin/python3 # 第一個註釋 # 第二個註釋 ''' 第三註釋 第四註釋 ''' """ 第五註釋 第六註釋 """ print ("Hello, Python!")
執行以上代碼,輸出結果為:
Hello, Python!
4.4.行與縮進
python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {} 。
縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數。實例如下:
if True: print ("True") else: print ("False")
以下代碼最後一行語句縮進數的空格數不一致,會導致運行錯誤:
if True: print ("Answer") print ("True") else: print ("Answer") print ("False") # 縮進不一致,會導致運行錯誤
以上程序由於縮進不一致,執行後會出現類似以下錯誤:
File "test.py", line 6 print ("False") # 縮進不一致,會導致運行錯誤 ^ IndentationError: unindent does not match any outer indentation level
4.5.多行語句
Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠 ** 來實現多行語句,例如:
total = item_one + \ item_two + \ item_three
在 [], {}, 或 () 中的多行語句,不需要使用反斜杠 ****,例如:
total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five']
4.6.空行
函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。
空行與代碼縮進不同,空行並不是Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的代碼,便於日後代碼的維護或重構。
**記住:**空行也是程序代碼的一部分。
4.7.等待用戶輸入
執行下面的程序在按回車鍵後就會等待用戶輸入:
\#!/usr/bin/python3 input("\n\n按下 enter 鍵後退出。") #利用input交互式賦予變量值
以上代碼中 ,"\n\n"在結果輸出前會輸出兩個新的空行。一旦用戶按下 enter 鍵時,程序將退出。
4.8.同一行顯示多條語句
Python 可以在同一行中使用多條語句,語句之間使用分號 ; 分割,以下是一個簡單的實例:
\#!/usr/bin/python3 import sys; x = 'runoob'; sys.stdout.write(x + '\n')
使用腳本執行以上代碼,輸出結果為:
runoob
使用交互式命令行執行,輸出結果為:
>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n')
runoob
7
此處的 7 表示字符數。
4.9.多個語句構成代碼組
縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行代碼構成代碼組。
我們將首行及後面的代碼組稱為一個子句(clause)。
如下實例:
if expression : suite elif expression : suite else : suite
4.10.print輸出
print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上 end="":
\#!/usr/bin/python3 x="a" y="b" # 換行輸出 print( x ) print( y ) print('---------') # 不換行輸出 print( x, end=" " ) print( y, end=" " ) print()
以上實例執行結果為:
a
b
———
a b
4.11.import和from…import
在 python 用 import 或者 from…import 來導入相應的模塊。
將整個模塊(somemodule)導入,格式為: import somemodule
從某個模塊中導入某個函數,格式為: from somemodule import somefunction
從某個模塊中導入多個函數,格式為: from somemodule import firstfunc, secondfunc, thirdfunc
將某個模塊中的全部函數導入,格式為: from somemodule import *
#導入sys模塊 import sys print('================Python import mode==========================') print ('命令行參數為:') for i in sys.argv: print (i) print ('\n python 路徑為',sys.path) #導入sys模塊的argv,path成員 from sys import argv,path # 導入特定的成員 print('================python from import===================================') print('path:',path) # 因為已經導入path成員,所以此處引用時不需要加sys.path
4.12.命令行參數
很多程序可以執行一些操作來查看一些基本信息,Python可以使用-h參數查看各參數幫助信息:
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
我們在使用腳本形式執行 Python 時,可以接收命令行輸入的參數
二、腳本 -選車牌小程序
import random import string #導入變量 car_num = string.digits+string.ascii_uppercase #定義一個變量,這個變量的值是隨機的數字和大寫字母組成的字符串 print("請選擇你的車牌號") #提示語 a = 3 #預定義變量用作於while循環 while a > 0: #當a變量的值大於0時進行循環,a變量定義為3 num_list = [] #定義一個空列表 for i in range(20): #定義for循環,循環20次 choice = random.choice(string.ascii_uppercase) #定義變量,這個變量的值是隨機的一位大寫字母 car = f"京{choice}-{''.join(random.sample(car_num,5))}" #定義變量,這個變量就是車牌號,利用join把上面變量的五位字符串整合到一起 car = str(car) #上面的變量定義為字符串類型 num_list.append(car) #把新建變量加入上面定義的空列表,加入到末尾 print(f"這是第{i}次的車牌號:{car}") #提示語 aaa = input("請選擇你的車牌:") #利用交互式函數input對aaa變量進行賦值 if aaa in num_list: #對aaa變量進行判斷輸入的變量值是否在上面的列表中 print(f"恭喜你選中車牌,車牌號是:{aaa}") #有的話輸出提示語並且退出循環 break else: a -= 1 #沒有的話利用while循環a的值進行提示 print(f"對不起,你沒有選中車牌,你還有{a}次機會") if a == 0: print("對不起,你已經無法選擇車牌瞭") else: print("請重新選擇")
-99乘法表
for a in range(1,9): for b in range(1,9): if b <= a: c = a * b print(f"{a} * {b} = {c}\t", end="") print("")
– 年會抽獎小程序
import random import string list_1 = [] for i in range(1,300): name_1 = string.ascii_uppercase name_2 = random.sample(name_1,2) name_3 = str(i) + ''.join(name_2) list_1.append(name_3) print(list_1) print(random.choice(list_1)) a = 1 b = 1 c = 1 while a < 4: while b < 7: while c < 31: san = random.choice(list_1) print(f"抽三等獎,獎品是byt,第{c}位抽獎的是{san},恭喜獲得三等獎") list_1.remove(san) c = c + 1 er = random.choice(list_1) print(f"抽二等獎,獎品是iphone,第{b}位抽獎的是{er},恭喜獲得二等獎") list_1.remove(er) b = b + 1 yi = random.choice(list_1) print(f"抽一等獎,獎品是泰國五日遊,第{a}位抽獎的是{yi},恭喜獲得一等獎") list_1.remove(yi) a = a + 1 print(list_1)
到此這篇關於Python入門——變量與數據類型的文章就介紹到這瞭,更多相關Python變量與數據類型內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!