標籤:pytho 不能 控制代碼 error eth 底線 欄位 多態 rac
類的靜態方法及屬性
多態:多態即為介面的重用(父類調用子類)
#!/usr/bin/env python
# encoding: utf-8
class Animal:
def __init__(self,name):
self.name = name
def talk(self):
raise NotImplementedError("Subclass must implement abstract method")
class Cat(Animal):
def talk(self):
return ‘meow‘
class Dog(Animal):
def talk(self):
return ‘Woof!Woof!‘
def animal_talk(obj):
print(obj.talk())
c = Cat("SanJiangMei")
d = Dog("SanJiangYuan")
animal_talk(c)
animal_talk(d)
或者:
#animals = [Cat(‘Missy‘),
# Dog(‘Lassie‘)]
#for animal in animals:
# print(animal.name + ‘:‘ + animal.talk())
類的成員:欄位(普通欄位、靜態欄位)、方法(普通方法、類方法、靜態方法)、屬性
欄位也就是變數的意思,普通欄位即執行個體變數。靜態欄位即類變數
類的方法:
1、@classmethod :類方法,不能訪問執行個體變數
2、@staticmethod :靜態方法,不能訪問類變數及執行個體變數
3、@property :把方法變成屬性
把變數變成私人屬性方法: 加入__即可 ,如果非要訪問的話,那麼在變數前邊加上底線及類名:_Animal__
多繼承
Socket
socket通常也稱作“通訊端”,用於描述IP地址和連接埠,是一個通訊鏈的控制代碼,應用程式通過“通訊端”向網路發出
請求或者應答網路請求。
socket起源於Unix,而unix/Linux基本哲學之一就是“一切皆檔案”,對於檔案用【開啟】【讀寫】【關閉】模式
來操作。socket就是該模式的一個實現,socket即是一種特殊的檔案,一些socket函數就是對其進行的操作(讀/寫IO
、開啟、關閉)
Python--day7