物件導向 day08 異常處理 斷言(七)

2022-09-15 10:57:12 字數 4794 閱讀 4700

1、概述

2、知識點回顧

3、斷言

python中斷言,這個我是第一次聽說到的,斷言有什麼用呢?斷言就是做一些程式的檢查工作,就是在執行之前需要做的一些檢查,比如類似於安檢一樣,合格的就能過,不合格的就不能過。也類似於銀行轉賬工作,真正的轉賬之前是不是要檢查使用者各方面,是不是賬號密碼是不是都沒有問題,轉的錢必須沒有問題,所以你在這個操作之前做一下檢查。

先於__init__方法之前執行

例項化之後加括號,去執行__call__方法

用來定義這個類是以怎樣的形式被建立的12

3456

78910

1112

1314

15try:

....

except(valueerror,keyerror),e# in 2.7寫法

except(valueerror,keyerror) as e# in3.x寫法

exceptexception as e :放在異常最後,上面抓不到的異常全走這個

else:#沒有異常發生時,執行

finally,無論如何都執行

raisevalueerror  : 丟擲異常

下面單獨講

協議:tcp/ip    send,recv

udp位址簇(family address):

af.inet       ipv4

af.inet6     ipv6

af.unix      local

協議型別(socket type protocol):

socket.sock_stream   tcp/ip

socket.sock_dgram    資料格式socket,for udp12

3456

78910

1112

server=socket.socket(af.inet,sock.sock_stream)

server.bind((localhost,6969))

server.listen()

conn,addr=server.accept()#每當和客戶端建立乙個連線,就會生成乙個例項,這個例項的值賦給conn,這邊會產生阻塞

whiletrue:

print("new conn",addr)

data=conn.recv(1024)#官方推薦是8192,相當於8k

ifnotdata:break#客戶端一斷開,conn.recv收到的就都是空資料,就會進入死迴圈

print(data)

conn.send(data.upper())12

345client=socket.socket()

clent.connect((serverip,6969))

client.send(data)

client.send(data)#這邊可以傳送多次

data=client.recv(1024)

作用:斷言被用作你接下來的程式執行,如果後面程式依賴於前面的程式,後面的程式有很重要,就是後面的程式執行肯定不能出錯,所以在執行之前要做檢查工作。12

3456

78910

1112

13classc(object):

def__init__(self):

self.name="zhangqigao"

c_obj=c()

assertc_obj.name=="zhangqigao"#斷言

print("沒有錯誤繼續...")

#輸出

沒有錯誤繼續...12

3456

78910

1112

1314

1516

17classc(object):

def__init__(self):

self.name="zhangqigao"

c_obj=c()

assertc_obj.name=="gaogao"#斷言出字串不匹配

print("沒有錯誤繼續...")

#輸出

traceback (most recent call last):

file"e:/pycharmprojects/pytest/day7/斷言.py", line10,in

assertc_obj.name=="gaogao"

assertionerror#報斷言異常錯誤

當然我們用我們之前的知識也是可以解決上面的問題,**如下:12

3456

78910

11classc(object):

def__init__(self):

self.name="zhangqigao"

c_obj=c()

ifc_obj.name=="gaogao":

print("有錯誤....")

else:

print("沒有錯誤繼續...")

但是這個不僅增加了**量,而且感覺還是比較low,這個就相當於你開著五菱之光的車,和開著特斯拉的區別。

day08 物件導向 多型

package com.oop.demo07 public class package com.oop.demo07 public class person package com.oop.demo07 public class student extends person public void ...

Day08 物件導向03

重寫 需要有繼承關係,子類重新父類的方法 是針對方法重寫,不是屬性 方法名必須相同 引數列表必須相同 修飾符 範圍可以擴大 public protected default private 丟擲的異常 範圍可以縮小但不能擴大 classnotfoundexception exception 大 重寫...

黑馬程式設計師 Java物件導向 day08

asp.net android ios開發 net培訓 期待與您交流!1 多型 定義 可以理解為事物存在的多種體現形態。例如 動物中貓,狗。貓這個物件對應的型別是貓型別 貓 x new 貓 同時貓也是動物中的一種,也可以把貓成為動物。動物 y new 貓 動物是毛和夠具體事物中抽取出來的父型別 父型...