Python初學的幾個迷惑點

2022-05-24 22:21:09 字數 2164 閱讀 8043

1.bytes和str函式

這個得感謝這個博主的分享

以及每次使用requests請求後得到的網頁內容text都有乙個屬性encoding

2.python的try語句

try a:

b;except  c:  #如果發生錯誤看是否為錯誤型別c

d;except  e:  #如果在try後的語句裡發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程式的最上層(這樣將結束程式,並列印預設的出錯資訊)

f;else  g; #如果程式未出錯則執行g

h;try a:

b;finally  c:  #不管有無發生錯誤都會執行c語句

d;**部落格

3. with...as結構

這個語法是用來代替傳統的try...finally語法的

file = open("

/tmp/foo.txt

")

try:

data =file.read()

finally

: file.close()

使用with...as...的方式替換,修改後的**是:

with open("

/tmp/foo.txt

") as file:

data = file.read()

下面解析他的具體結構:

class

sample:

#魔法方法相當於他的屬性

def__enter__

(self):

print

"in __enter__()

"return

"foo

"def

__exit__

(self, type, value, trace):

print

"in __exit__()

"def

get_sample():

return

sample()

with get_sample() as sample:

print

"sample:

", sample

結果為

in __enter__

()

sample: foo

in __exit__()

1. __enter__()方法被執行

2. __enter__()方法返回的值 - 這個例子中是"foo",賦值給變數'sample'

3. 執行**塊,列印變數"sample"的值為 "foo"

4. __exit__()方法被呼叫with真正強大之處是它可以處理異常。可能你已經注意到sample類的__exit__方法有三個引數- val, type 和 trace。這些引數在異常處理中相當有用。

在一開始的例子中也就相當於:

1.開啟檔案

2.返回了文字的內容

3.執行讀取操作

**部落格

4. if not....else與if....else語句

if條件為真時執行前面的語句,為假時執行0

exp1= a  if  1==1  else  0

if not後為假時,執行前面的語句,否則執行0

exp3 = a  if  not  2==1  else  0

**部落格:

6.理解if_name_=="_main_"的意思

在python中經常會看到程式末尾會出現這個,那麼如何來理解呢?首先這段**出現是由於包含這段**的.py檔案被其他.py檔案引用了,由於python是乙個指令碼型別的語言,它執行**是逐行解釋性的執行,然而像c,c++等他們都有乙個函式入口main函式。因此如果你引用另外乙個.py檔案的時候,他會把那個檔案給執行一遍,怎麼辦呢?就可以用到這句話了,只有自己可以執行自己的所喲,其他.py只能執行自己的一部分。

舉個例子,就比如小明說我有一瓶酒,要拿來喝,再拿來做調料,做裝飾這三件事,然後你引用了小明的酒做裝飾,結果你引用過來的時候,你把喝酒,做調料都給做了,這怎們辦,小明很生氣啊,於是在自己的酒瓶上寫上if_name_=="_main_"於是這個酒便只能小明自己喝,做調料,做裝飾,而你引用他的酒的時候,就只會做裝飾了,不會繼續喝酒做調料了。

參考部落格:

初學者的迷惑

隨著軟體質量的要求越來越高,軟體測試也相對變的重要了,迫於就業的壓力,我選擇了軟體測試這一行,作為了自己第二技能,其實更想將它變成自己的第一求職選擇。初學測試我就遇到了難題,不知道是自己的理解有問題還是教學體系不好,對於測試用例的編寫,原先理解的是你想怎麼寫就怎麼寫 當然是根據所要測試的軟體來 可是...

Scala初學的幾個疑惑

以scala的bigint為例,呼叫 val v bigint 12321 實際呼叫 是 另外乙個例子寫的很好就直接拿來用了 packagecom.robin.study created by robinmac on 15 7 22.classdefvalv3 bigint 123121 def d...

python中package使用的幾個點子

1 乙個python的package資料夾中 init py 檔案是在引用該包時,首先執行的乙個檔案。正常情況下,我們沒有對它進行編輯時,預設為空。2 utils.py 檔案中儲存一些常見的公用的函式 方法。專案不同,裡面內容也不一定相同。在呼叫時,可直接用 from utils import 函式...