0003-20180422-自動化第三章-python基礎學習筆記

来源:https://www.cnblogs.com/mypython2018/archive/2018/09/16/9658093.html
-Advertisement-
Play Games

0003-20180422-自動化第三章-python基礎學習筆記 ...


3章

內容回顧:
1. 電腦組成
2. 程式編譯器
3. 變數
4. 條件
5. 迴圈
6. py2與py3區別
- 預設編碼,
- 除法,
- input ,raw_input
7. 位,位元組關係
8. 運算符:
- and or
- in not
- py2 除法特殊代碼
- += -=
9. 編碼
漢字在utf-8里位3個位元組,24位;漢字在GBK里是兩個位元組,16位
ascii --> unicode(4個位元組,32位表示) ->(優化) utf-8/utf-16/utf-32
10. 字元串格式化
tpl = "asdfa&s,asdf%d" %("二哥", 666,)
問題:
tpl = "我是%s",年齡%d,學習進度100%%" %('張勤學',99)


今日內容:
- 數據類型
- 整數(int類) v = 1 ----擅長計算
- v = 1
- v.bit_length()
- 布爾值(bool類) v = True -----擅長真或假
- 0 "" 為False,其他為True
- v = 2 or 1 ----V的值是2
- 字元串(str類) 引號引起來 "1" v = "1"
- 類提供的功能:
- 變大、小寫
- 去除空白
- 替換
- 分割(分割後是列表類型)
- 首字母大寫
PS:字元串本身不變化
- 公共功能:
- 長度
- 索引(只能取值)
- for迴圈
"張勤學,二個,成績,XXX,信息,"
[“鄭勤學,“二個”]
- 列表(list類) v = ["XX",“OO”, "666"] #---存取多個值比較方便
- 類提供功能:
- 追加
- 插入
PS:列表本身發生變化
- 公共功能:
- 長度
- 索引(取值,修改,刪除) 特殊的:v[0:2] = ["asdf",]
- for迴圈
v[2]
v[1] = "孫騎兵"
- 元組(tuple類) v = ("XX",“OO”, "666") #PS:----元素不可以被修改
- 類提供功能:
- 無
- 公共功能:
- 長度
- for迴圈
- 索引(只能取值)
- 字典(dict類)-----無序的 v = {"name":"張勤學","age":18}
- 類提供的功能:
- get
- 公共功能:
- 長度
- 索引(取值,刪除,修改)
- for迴圈
- for a in v.keys()
- for a in v.values()
- for a,b in v.items()

v = "鄭勤學,18" #-----字元串表示姓名年齡
v = ["鄭勤學",18] #-----列表表示姓名年齡
v = {
"name":"張勤學",
"age":18
} #-----字典表示姓名年齡
v['name'] #指名字
v['age'] #指年齡

===> 相同類的值(指定類的對象)具有相同的功能,功能保存在類中(只有一份)


今日作業:
內容整理

 

 

=============================================腳本=======================================

字元串類中的功能腳本:

  1 ###############################str類中為當前對象提供的功能#########################
  2 #str
  3 # v1 = "alEx"
  4 
  5 #1. 變大寫
  6 # value = v1.upper()
  7 # print(v1,value)
  8 
  9 
 10 #2,.變小寫
 11 # value = v1.lower()
 12 # print(v1.value)
 13 
 14 
 15 #3. 首字母變大寫
 16 # value = v1.capitalize()
 17 # print(v1,value)
 18 
 19 #4. 去除收尾空格
 20 # v1 = " asdfasdf "
 21 # print(v1)
 22 
 23 
 24 # v1 = " asdfasdf "
 25 # value = v1.strip()
 26 # print(v1,value)
 27 
 28 """
 29 name = input("請輸入用戶名:")
 30 if name == 'alex':
 31     print('登錄成功')
 32 """
 33 
 34 """
 35 name = input("請輸入用戶名:")
 36 value = name.strip()
 37 if value == 'alex':
 38     print('登錄成功')
 39 """
 40 
 41 """
 42 #去除左邊空格 -----去除指定空格-----左邊或右邊
 43 
 44 name = input("請輸入用戶名:")
 45 value = name.lstrip()
 46 if value == 'alex':
 47     print('登錄成功')
 48 
 49 """
 50 
 51 """
 52 去除右邊空格
 53 name = input("請輸入用戶名:")
 54 value = name.rstrip()
 55 if value == 'alex':
 56     print('登錄成功')
 57 """
 58 
 59 
 60 #7. 替換
 61 """
 62 v1 = "ASCII第一次以規範標準的型態發表是在1967年標準,最後一次更新則標準是在1986年,至今為標準止共定義了128個字元,其中33個字元無法顯示"
 63 
 64 # value = v1.replace("標準", "**")
 65 # print(value)
 66 
 67 
 68 #只替換第1個標準,後面的不替換
 69 value = v1.replace("標準", "**",1)
 70 data = value.replace('第一次','#')
 71 print(data)
 72 """
 73 
 74 #8. 分割:
 75 """
 76 v1 = "ASCII第一次以規範標準的型態發"
 77 value = v1.split('第一次') #分割之後是列表類型
 78 print(value)
 79 """
 80 """
 81 v1 = "ASCII第一次以規範標準的型態發以規範標準的型態以規範標準的型態"
 82 value = v1.split('標準') #分割之後是列表類型
 83 print(value)
 84 """
 85 
 86 """
 87 v1 = "ASCII第一次以規範標準的型態發以規範標準的型態以規範標準的型態"
 88 value = v1.split('標準',2) #分割之後是列表類型
 89 print(value)
 90 """
 91 
 92 #9. 判斷當前字元串中是否全部都為數字
 93 """
 94 v = "abc123fsdf"
 95 for item in v:
 96     print(item)     #item = "a",    item = "b"
 97 """
 98 
 99 """
100 v = "123"
101 val = v.isdecimal()
102 print(val)
103 """
104 
105 """
106 v = "a123"
107 val = v.isdecimal()
108 print(val)
109 """
110 
111 #統計字元串中有多少個數字?-------"abc01234fsdf"
112 """
113 count = 0
114 v = "abc01234fsdf"
115 for item in v:
116     if item.isdecimal():
117         print(item)
118         count += 1
119 print(count)
120 """
121 
122 #重點重點重點:原值不變
123 
124 ###################公共功能###############
125 
126 # 1.計算當前字元串長度
127 
128 """
129 v = "徐芳名sdf"
130 value = len(v)
131 print(value)
132 
133 """
134 
135 """
136 name = input(">>>")
137 value = len(name)
138 print(value)
139 """
140 
141 #取首字元或第幾個字元
142 #2. 根據“索引” “下標”
143 #   - 單個值:v[0]
144 #   - 多個值:v[起始位置:結束位置]
145 #   - 多個值: v[起始位置:結束位置:步長]
146 #   PS: -1 表示最後
147 
148 # 取第一個字元-----取單個字元
149 # v = "ASCII第一次以規範標準的型態發"
150 # value = v [0]
151 # print(value)
152 
153 #取倒數第3個字元
154 # v = "ASCII第一次以規範標準的型態發"
155 # value = v [-3]
156 # print(value)
157 
158 
159 #動態計算取最後一個字元
160 # v = "ASCII第一次以規範標準的型態發"
161 # le = len(v) - 1
162 #-1表示最後一個字元
163 # value = v [le]
164 # print(value)
165 
166 #取一部分字元,取從0到第幾個之前的字元------連續字元
167 # v = "ASCII第一次以規範標準的型態發"
168 # value = v [0:5] # 0 1 2 3 4
169 # print(value)
170 
171 #取某兩個之間的字元
172 # v = "ASCII第一次以規範標準的型態發"
173 # value = v [4:5]
174 # print(value)
175 
176 #取從第幾個開始到結尾的字元
177 # v = "ASCII第一次以規範標準的型態發"
178 # value = v [4:]
179 # print(value)
180 
181 # #取從第幾個開始到最後一個之間的字元
182 # v = "ASCII第一次以規範標準的型態發"
183 # value = v [4:-1]
184 # print(value)
185 
186 
187 #取從第幾個開始到第幾個之間的字元,中括弧中第3個數字表示步長,表示每隔幾取一個
188 # v = "ASCII第一次以規範標準的型態發"
189 # value = v [1:15:3]
190 # print(value)
191 
192 
193 #題 : v = "ASCII第一次以規範標準的型態發" 連續將每個字元大印出來
194 """
195 v = "ASCII第一次以規範標準的型態發"
196 length = len(v)
197 index = 0
198 while True:
199     data = v[index]
200     print(data)
201     index += 1
202     if index == length:
203         break
204         print(data)
205 """
206 
207 """
208 v = "ASCII第一次以規範標準的型態發"
209 length = len(v)
210 index = 0
211 while index < length:
212     data = v[index]
213     print(data)
214     index += 1
215 """
216 
217 #3. 迴圈
218 # 將對象中每個元素,分別迴圈顯示出來
219 """
220 v = "ASCII第一次以規範標準的型態發"
221 for item in v:
222     print(item)
223 """

 

上節回顧字元串格式化腳本:

 1 # tpl = "我是%s,年齡%d,學習進度100%" %('張勤學',99)
 2 # print(tpl)
 3 
 4 
 5 #占位符只有格式化時才有意義
 6 # tpl = "我是%s,年齡%d,學習進度100%"
 7 # print(tpl)
 8 
 9 
10 # tpl = "我是%s,年齡%d,學習進度100" %('張勤學',99)
11 # print(tpl)
12 
13 
14 #如果想要%,需要寫兩個%
15 tpl = "我是%s,年齡%d,學習進度100%%" %('張勤學',99)
16 print(tpl)

 

int整數類腳本:

 1 #int
 2 # v1 = 1
 3 # v2 = 23
 4 
 5 
 6 
 7 #前戲
 8 # 十進位 0 1 2...9
 9 #八進位 0 1 2 ..7 10
10 #二進位 0 1 10 11 100
11 
12 # v = 11  在電腦里是怎麼存的?
13 # ascii 00110001 00110001
14 
15 # v1 = 11
16 # data = v1.bit_length()
17 # print(data)
18 #本質上的內部存儲:00110001 00110001
19 # 11 ->
20 
21 #二進位   八進位  十進位 十六進位
22 #   0      0        0       0
23 #   1       1       1       1
24 #   10      2       2       2
25 #   11      3       3       3
26 #   100     4       4       4
27 #   101     6       6       6
28 #   111     7       7       7
29 #   1000    10      7       8
30 #   1001    11      9       9
31 #   1010    12      10      A
32 #   1011    13      11      B
33 #   1100    14      12      C
34 #   1101    15      13      D
35 #   1110    16      14      E
36 #   1111    17      15      F
37 #   10000   20      16      10
38 
39 ########################################1個需要註意
40 v1 = 16
41 #當前十進位用二進位表示時,最少使用的位數
42 data = v1.bit_length()
43 print(data)
44 
45 #str
46 v1 = "alex"
47 
48 # new_v1 = v1.upper()
49 # print(v1)
50 # print(new_v1)
51 
52 
53 # new_v1 = v1.capitalize()
54 # print(v1)
55 # print(new_v1)

 

布爾類腳本:

1 v1 = True   # 1
2 v2 = False  # 0

 

整數、布爾值、字元串之間轉換腳本:

 1 #int 8 9
 2 #bool True False
 3 #str "sdf" "7"  ----只有字元串可以迴圈取值
 4 
 5 
 6 #加法計算器
 7 # v1 = input("請輸入第一個值:")
 8 # v2 = input("請輸入第二個值:")
 9 # v3 = int(v1) + int(v2) # 通過int將字元串轉換為整數
10 # print(v3)
11 
12 #字元串--> 整數
13 
14 # v = True
15 # val = int(v)
16 # print(val)
17 
18 
19 # v = False
20 # val = int(v)
21 # print(val)
22 
23 #布爾值-->整數  int(值)
24 #整數,布爾值----> 字元串 str(值)
25 # 整數,字元串 ----布爾 bool(值)
26 #   - 0 False ,其他都為True
27 #   - 字元串和空格都為True,只有不填時才為False
28 
29 # v = 8
30 # val = str(v)
31 # print(val,type(val))
32 
33 
34 # v = True
35 # val = str(v)
36 # print(val,type(val))
37 
38 
39 # v = -1
40 # val = bool(v)
41 # print(val,type(val))
42 
43 
44 # v = 0
45 # val = bool(v)
46 # print(val,type(val))
47 
48 
49 # v = "abdcd"
50 # val = bool(v)
51 # print(val,type(val))
52 
53 
54 # v = " "
55 # val = bool(v)
56 # print(val,type(val))
57 
58 
59 # v = ""
60 # val = bool(v)
61 # print(val,type(val))
62 
63 # 面試題:
64 # a = 1 == 1 or 2 > 3
65 # print(a)
66 #True
67 
68 # a = True or 2 > 3
69 # print(a)
70 #True
71 
72 # a = False or 2 > 3
73 # print(a)
74 #False
75 
76 # a = 0 or 2 > 3
77 # print(a)
78 #False
79 
80 
81 # a = 9 or 2 > 3
82 # print(a)
83 #9
84 
85 
86 # a = "asdf" or 2 > 3
87 # print(a)
88 # asdf
89 
90 #總結:
91     # - 互相轉換原則    類(值)
92     # -布爾值:只有0 ""為False
93     # -a = 9 or 2 > 3
94 
95 # a = 0 or 6
96 # print(a)
97 # 6

 

列表類功能相關腳本:

  1 ####################list類中為當前對象提供的功能#####################
  2 
  3 """
  4 v = [11,22,33,44,"蔣毅"]
  5 
  6 #1. 在列表尾部追加一個值-----修改了本身的值
  7 v.append('李俊義')
  8 print(v)
  9 """
 10 
 11 """
 12 v = []
 13 while True:
 14     name = input("請輸入用戶名:")
 15     if name == 'q':
 16         break
 17     v.append(name)
 18     print(v)
 19 """
 20 
 21 """
 22 v = []
 23 while True:
 24     name = input("請輸入用戶名:")
 25     if name == 'q' or name == "Q":
 26         break
 27     v.append(name)
 28     print(v)
 29 """
 30 
 31 """
 32 v = []
 33 while True:
 34     name = input("請輸入用戶名:")
 35     if name.lower() == 'q':
 36         break
 37     v.append(name)
 38     print(v)
 39 
 40 """
 41 
 42 """
 43 #2.在列表中間指定位置插入數據----insert
 44 v = [11,22,33,44,"蔣毅"]
 45 v.insert(4,"孫騎兵")
 46 print(v)
 47 """
 48 #3. 反轉
 49 """
 50 v = [11,22,33,44]
 51 #print(v)
 52 v.reverse()
 53 print(v)
 54 """
 55 
 56 
 57 
 58 
 59 #####################公共功能######################
 60 #1.通過索引取值----和字元串相同
 61     # - v[0]
 62     # - v[0:4]
 63     # - v[0:4:2]
 64 #2.計算長度
 65 #2.5 替換或修改
 66 # 替換:
 67 """
 68 v = ["張勤學","成大井","成績","劉龍華"]
 69 v[3] = "吳國勝"
 70 print(v)
 71 """
 72 
 73 """
 74 #刪除:
 75 v = ["張勤學","成大井","成績","劉龍華"]
 76 del v[3]
 77 print(v)
 78 """
 79 
 80 """
 81 v = ["張勤學","成大井","成績","劉龍華","ALEX"]
 82 del v[3]
 83 del v[2]
 84 print(v)
 85 """
 86 """
 87 v = ["張勤學","成大井","成績","劉龍華","ALEX"]
 88 del v[2:4]
 89 print(v)
 90 """
 91 
 92 """
 93 v = ["張勤學","成大井","成績","劉龍華","ALEX"]
 94 v[2:4] = "吳國勝"
 95 print(v)
 96 """
 97 """
 98 v = ["張勤學","成大井","成績","劉龍華","ALEX"]
 99 v[2:4] = ["吳國勝"]
100 print(v)
101 """
102 """
103 v = ["張勤學","成大井","成績","劉龍華","ALEX"]
104 v[2:4] = ["吳國勝","狗勝","牛勝"]
105 print(v)
106 """
107 
108 #3.for迴圈
109 
110 """
111 v = [11,22,33,44,"蔣毅"]
112 print(v[3])
113 
114 
115 v = [11,22,33,44,"蔣毅"]
116 val1 = v [3]
117 val2 = v [4]
118 
119 val1.bit_length()
120 val2.split("蔣")
121 """
122 
123 """
124 v = [11,22,33,44,"蔣毅"]
125 val = v[0:5:2]
126 print(val)
127 
128 """
129 
130 """
131 v = [11,22,33,44,"蔣毅"]
132 val = len(v)
133 print(val)
134 """
135 """
136 v = [11,22,33,44,"蔣毅"]
137 for i in v:
138     print(i)
139 """
140 
141 #練習:
142 """
143 v = ["123","孫騎兵",666]
144 # val = len(v)
145 # print(val)
146 val = v[1][1]
147 print(val)
148 print(v[1])
149 """
150 """
151 #將孫奇兵和666替換為王猛
152 v = ["123","孫騎兵",666]
153 v[1:3] = ["王猛",]
154 print(v)
155 """
156 """
157 #尾部添加王皓林
158 v = ["123","孫騎兵",666]
159 v.append('王皓林')
160 print(v)
161 """
162 
163 #補充:
164 #1.列表中元素可以是:數字,字元串,布爾值,另外一個列表
165 """
166 li = [11,22,[6,5,7],33,True,"蔣毅",55]
167 v = len(li)
168 print(v)
169 val = li[2]
170 print(val)
171 """
172 """
173 li = [11,22,[6,"88991"],33,True,"蔣毅",55]
174 val = li[2][1][-2]
175 print(val)
176 """
177 
178 """
179 #將33換成66
180 li = [11,22,[6,"88991"],33,True,"蔣毅",55]
181 li[3] = 66
182 print(li)
183 """
184 #將7換成77
185 """
186 li = [11,22,[6,"88991",7],33,True,"蔣毅",55]
187 li[2][2] = 77
188 print(li)
189 
190 """
191 #將88991換成666
192 """
193 li = [11,22,[6,"88991",7],33,True,"蔣毅",55]
194 li[2][1] = 666
195 print(li)
196 """
197 
198 #字元串中數據替換
199 """
200 v = "蔣毅"
201 v = v.replace('蔣','江')
202 print(v)
203 """
204 
205 #將"蔣毅"中的蔣替換為江
206 """
207 li = [11,22,[6,"88991",7],33,True,"蔣毅",55]
208 val = li[5].replace('蔣','江')
209 li[5] = val
210 print(li)
211 """
212 #簡寫
213 """
214 li = [11,22,[6,"88991",7],33,True,"蔣毅",55]
215 li[5] = li[5].replace('蔣','江')
216 print(li)
217 """

 

元組類相關腳本:

 1 #tuple
 2 
 3 #v = (11,'ffff',22,33,44,)
 4 
 5 ###########tuple 類中為當前對象提供的功能###########
 6 #
 7 
 8 ##########公共功能############
 9 #1. 長度
10 
11 
12 """
13 v = (11,'ffff',22,33,44,)
14 val = len(v)
15 print(val)
16 """
17 #索引取值
18 """
19 v = (11,'ffff',22,33,44,)
20 print(v[0])
21 print(v[1])
22 	   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 通用的(泛型)演算法 generic algorithm 總覽 特性: 1,標準庫的順序容器定義了很少的操作,比如添加,刪除等。 2,問題:其實還有很多操作,比如排序,查找特定的元素,替換或刪除一個特定值等,但是標準庫並未給每個容器都定義成員函數來實現這些操作。 3,解決辦法:因為演算法是相同的邏輯,只 ...
  • 做運維的朋友應該知道,公司IDC機房經常有上架、下架、報修和報廢的伺服器。如果伺服器數量很多的時候很容易造成監控遺漏。 大的互聯網公司把監控系統和CMDB(資產管理系統|配置管理資料庫系統)集成在一起,當上架一臺新機器的時候CMDB裡面會記錄相關的信息,Zabbix根據CMDB裡面信息自動Link相 ...
  • 引言 在前幾篇文章中瞭解了ReentrantLock、Semaphore與CountDownLatch後,J.U.C包中基於AQS實現的併發工具類還剩一個比較重要的:讀寫鎖ReentrantReadWriteLock。讀寫鎖在Java面試過程中是一個經常性考的題目,他涉及到的知識點比較多,導致很多人 ...
  • Java學前要點 01 學習 ,有人推薦去培訓,有人說沒用,其實有錢的,不知道如何學,或者逼不得已去的就可以,也有人自己為了不花這些錢,而選擇自學,我覺得也行。 現在大部分人學東西要學的好,都是自學能力強的,我說的是大部分的情況,當然學習都是要花錢的,這一點我有深刻的理解,因為如果沒人教,自己學,就 ...
  • 一、算術運算符 加法:+,減法:-,乘法*,除法/,整除(地板除)//,取餘%,乘方**。 二、邏輯運算符 且:and,或:or,非:not 優先順序:not>and>or 短路原則: 對於and,如果前面的條件為假,那麼這個and前後兩條件組成的表達式的運算結果就一定為假,第二個條件就不會被計算。 ...
  • 00004-20180324-20180517-fahrenheit_converter--華氏溫度到攝氏溫度轉換計算器 ...
  • 0007-20180403-python-自動化基礎學習000--while-if 迴圈實操 ...
  • 0005-20180422-自動化第六章-python基礎學習筆記 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...