python學習筆記2(物件)

2021-07-15 16:45:39 字數 1825 閱讀 1981

物件的屬性不能繼承。

方法可以呼叫沒有的引數或方法,但執行時會報錯。

@property@***.setter標記的方法可以當作屬性來用。

class animal(object):

def __init__(self):

self.age="yi"

def run(self):

print(self.name,"is running")

class peple(object):

def run(self):

print("peple is running")

def run2(xx):

xx.run()

class dog(animal):

__name=""

__slots__ = ('age') # 用tuple定義允許繫結的屬性名稱

def __init__(self):

self.a , self.b = 0 , 1

def __str__(self):

return 'dog (name: %s)' % self.name # __name一樣

def __iter__(self):

return self

def __next__(self):

self.a ,self.b = self.b , self.a+self.b

if self.a>100:

raise stopiteration()

return self.a

def __getitem__(self,n):

d = dog()

for x in range(n):

next(d)

return d.a

@property

def name(self):

return self.__name

@name.setter

def set_name(self,value):

if len(value)>3:

raise valueerror("長度不能大於三")

self.__name = value

@property

def english_name(self):

return self.__name+"zhi"

peple = peple()

dog = dog()

run2(peple)

run2(dog)#證明多型性,只要有run方法即可

print("origin name:",dog.name)

dog.set_name="liu"

print("after set name:",dog.name)

dog.run()

print(dog)

print("english name:",dog.english_name)

for n in dog:

print(n)

print("getitem*****5n=",dog[5])

dog.set_name="我是五大錘"

print("after set name:",dog.name)

建立類

def fn(self, name='world'): # 先定義函式

print('hello, %s.' % name)

hello = type('hello', (object,), dict(hello=fn)) # 建立hello class

h = hello()

h.hello()

Javascript學習筆記 2(物件 函式)

1 原始變數 number string boolean null undefined。變數記憶體存的就是值,按值傳遞的 2 引用變數 物件變數,變數記憶體存的是指標,所以是按指標傳遞 鑑別原始型別 typeof 但typeof null object 鑑別引用型別 obj instaceof co...

Redis筆記2 物件

redis中總共有五種型別的物件,分別是 字串物件 雙端鍊錶 字典 壓縮列表 整數集合。上述的五種型別的物件均具有相同的結構 typedef struct redisobject 物件的型別總共為五種,如下 可以通過 type 命令驗證 redis物件的型別 編碼決定了redis物件儲存過程中所採用...

AS3 0基礎學習筆記 2 物件

as3.0 的口訣 一切皆是物件 感覺堅持唯物論,哈哈 as3.0 拋棄了as2.0 建立物件的繁瑣,建立物件都使用 new來實現,實現起來既輕鬆又簡單。按照筆記 1 的我們建立的 我們開始解決筆記 1 所提出的小部分問題吧 如何去擴充套件程式?讓我們舞台上畫一條線吧。這樣夠簡單吧,思維也能夠容易接...