python day9 正式學習

2022-07-01 17:45:10 字數 3662 閱讀 9700

目錄異常處理

異常的種類

異常處理

丟擲異常(基本沒用)

斷言(除錯用,現在基本上沒用)

檔案處理

先說一下可變和不可變資料型別,在原值的基礎上修改,id不變值改變了的就是可變資料型別;而值改變了id也變了,即重新申請乙個空間來放新值,這就是不可變資料型別。

普通的拷貝就等於賦值,就是把乙個變數值賦給另乙個變數名

l1=[1,2,3,[4,5,6]]

l2=l1

print(l1)

print(l2)

[1, 2, 3, [4, 5, 6], 7]

[1, 2, 3, [4, 5, 6], 7]

淺拷貝需要匯入乙個copy的模組,這種拷貝是新開了乙個列表的記憶體,但列表裡的元素指向的位址都還是一樣的,如果列表裡還有可變的資料型別的話,這個資料裡的不可變型別修改的話,新列表也會修改。

和淺拷貝一樣也需要匯入乙個copy模組,深拷貝的話是新列表存在乙個單獨的記憶體空間,其中元素指向的變數值位址也不相同,所以無論原列表怎麼變,新列表都不會變。

異常就是程式執行時發生錯誤的訊號,然後丟擲異常

# 語法錯誤示範一

if# 語法錯誤示範二

def test:

pass

# 語法錯誤示範三

class foo

pass

# 語法錯誤示範四

print(haha

# typeerror:int型別不可迭代

for i in 3:

pass

# valueerror

num=input(">>: ") #輸入hello

int(num)

# nameerror

aaa# indexerror

l=['egon','aa']

l[3]

# keyerror

dic=

dic['age']

# attributeerror

class foo:pass

foo.x

# zerodivisionerror:無法完成計算

res1=1/0

res2=1+'str'

age = 10

while true:

age = input('>>: ').strip()

if age.isdigit(): # 只有在age為字串形式的整數時,下列**才不會出錯,該條件是可預知的

age = int(age)

if age == age:

print('you got it')

break

>>: nick

>>: sdkf

>>: 2

>>: 10

you got it

如果錯誤無法預計則用到try..except

#  舉例

try:

f = [

'a',

'a',

'a',

'a',

'a',

'a',

'a',

]g = (line.strip() for line in f)

print(next(g))

print(next(g))

print(next(g))

print(next(g))

print(next(g))

except stopiteration:

f.close()

aaa

aa

用指定方法來處理異常
s1 = 'hello'

try:

int(s1)

except indexerror as e:

print(e)

except keyerror as e:

print(e)

except valueerror as e:

print(e)

invalid literal for int() with base 10: 'hello'
萬能異常方法
s1 = 'hello'

raise typeerror('丟擲異常,型別錯誤')

except exception as e:

print(e)

try:

assert 1 == 2

except exception as e:

print(e)

這裡只稍微扯一下,明後天會具體介紹。

用open來開啟檔案,這個方法裡有3個引數,第乙個是path路徑,第二個是mode操作方式,第三個encoding是編碼方式。

比如:

f=open('compare.py','w',encoding='utf-8')

f.write('s')

f.close()

這就是乙個檔案的寫入操作,注意寫入會覆蓋檔案之前的內容!!!

Python day9函式部分

函式的學習 函式對於一門程式語言來說挺重要的,尤其是c語言,是完全使用函式來編寫的 1.函式的定義 邏輯結構化和過程化的一種程式設計方法 def squre x 求乙個數的平方 return the square of x the function definitions函式的定義時加的注釋寫在這邊...

python day9 批量管理工具

python day9 批量管理工具 目錄檔案 python3 程式 root izwz9i5qxdafjn4npsy1a3z home tree python day9 python day9 bin aa cc init py main.py 主程式入口 conf accounts.cfg in...

python day40 正式學習

目錄執行緒定時器 程序池和執行緒池 import queue q queue.queue q.put 123 q.put 456 q.put 789 print q.get print q.get print q.get q.task done q.task done q.task done q.j...