Python開發營運之路day8

來源:互聯網
上載者:User

標籤:結構   add   ted   property   定義類   __init__   import   write   代碼   


抽象類別:
    py2:匯入abc函數,_metaclass__ = abc.ABCMeta;在強制調用類下:@abc.abstractmethod
    py3:再強制調用類下添加raise  NotImplementedError

靜態方法
    @staticmethod 避免執行個體化開闢大量記憶體空間 既不能訪問公有屬性,也不能訪問執行個體屬性

類方法
    @classmethod 類方法,只能訪問類的公有屬性,不能訪問執行個體屬性

屬性方法
    @property   作用是把一個方法變為一個靜態屬性
    @property +     修改屬性方法@talk.setter  刪除@talk.delter

類的特殊方法
print(Foo.__doc__)  查看類的描述資訊
__import__(‘time.account‘,fromlist=True)  動態匯入, 以字串模式匯入模組
__call__():執行個體+()會觸發call method
__dict__ 列印執行個體中所有屬性值
__getitem__ 以字典的形式操作執行個體
__new__ 先於__init__執行,可以在new中自訂類的執行個體化過程
__str__ 返回執行個體的字串形式
__metaclass__ 元類

動態建立類
type()  可以動態建立一個類

===============================================
異常處理
一、基本異常處理結構
    try:
        代碼塊
    except Exception as e:
        代碼塊
二、複雜異常處理結構

    try:
        代碼塊
    except:
        代碼塊
    else:
        代碼塊
    finally:
        代碼塊

    錯誤:try>except>finally
    正確:try>else>finally

三、異常對象
     try:
        代碼塊
     except Exception as obj:
        python內部將錯誤資訊封裝到obj中
        代碼塊

四、異常種類
    exception 能捕獲所有異常資訊(萬能)
    try:
        代碼塊
    except Exception as obj:
        代碼塊
    execpt ValueError as obj:
        代碼塊
    execpt I/O as obj:
        代碼塊
    execpt IndexError as obj:
        代碼塊
    execpt (IndexError,IndexError) as obj:
        print(obj)

    IndentationError,Syn... 無法抓到


五、主動觸發異常

    主動觸發異常:raise Exception(‘郵件發送失敗‘)

六、斷言

    assert 條件   #條件為true斷言不執行,為false拋出異常

七、自訂異常

    class HaiTaoError(Exception):

========================================================

反射
getattr(‘容器‘,‘名稱‘)   以字串的形式去某個對象中,擷取指定的屬性
hasattr(‘容器‘,‘名稱‘)   以字串的形式判斷某個對象中,是否含有指定的屬性
setattr(‘容器‘,‘名稱‘,‘值‘)  以字串的形式去某個對象中,設定或添加指定屬性
delattr(‘容器‘,‘名稱‘)   以字串的形式去某個對象中,刪除指定屬性

=========================================================
socket

socket.SOCK_STREAM  #for tcp
socket.SOCK_DGRAM   #for udp
socket.SOCK_RAM #原始通訊端
socket.SOCK_RDM #一種可靠的UDP形式
socket.SOCK_SEQACKET #廢棄

=========================
server端
server = socket.socket(AF_INET,SOCK_STREAM)

server.bind((‘0.0.0.0‘,8000))

server.listen(5)

conn,client_addr = server.accept()  #conn,用戶端過來的串連產生的對象

conn.send(‘‘)

conn.recv(‘‘)

server.close()

client端
client = socket.socket(AF_INET,SOCK_STREAM)
client.connect()
====================================
for  line in f:
    conn.send(line)
    f.write(d)

Python開發營運之路day8

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.