python自學(十三) 類的繼承

2021-09-26 09:58:12 字數 2310 閱讀 3576

類是可以繼承的,python也不例外

直接將父類作為引數來宣告乙個新類:

class student(object): // 這裡就是指,預設的類的宣告,就是繼承自object

def __init__(self):

pass

子類直接具有了父類的屬性和方法

但是當子類宣告和父類相同的方法時,會覆蓋父類的方法,這種行為被稱為多型。

#!usr/bin/env python3

class people():

def __init__(self, name, ***):

self.name = name

self.*** = ***

def getname(self):

print("%s,這是父類的方法" % self.name)

def get***(self):

print("%s, 這是父類的方法" % self.***)

class student(people):

def get***(self):

print("這是覆蓋的方法")

peo = people("tom", "男")

stu = student("jim", "女")

print(isinstance(peo, people)) // true

print(isinstance(stu, student)) // true

print(isinstance(stu, people)) // true,可以看到stu同樣是people的例項

peo.get***() // 男, 這是父類的方法

stu.get***() // 這是覆蓋的方法 // 覆蓋了繼承自父類的方法

peo.getname() // tom,這是父類的方法

stu.getname() // jim,這是父類的方法

>type(123) 

>

在基本資料型別中,可以直接列印顯示,但是如果想判斷乙個物件是不是函式,那這樣是不滿足的了,這就需要types

它是python中的模組,分別有幾個屬性

a)types.functiontype // 普通函式

b) types.buildfunctiontype // 內建函式

c) types.lambdatype // lambda函式

d) types.generatortype // 迭代器

上一節已經提到了

isinstance (a,b) // 判斷a是否是b的例項

同時這個是具有隔代有效的特性,即 a >> b >> c

c = c()

此時 :

isinstance(c , c) // true

isinstance(c, a) // true

注意 第二個引數可以是list或者tuple

#!usr/bin/env python3

class a():

def test(self):

pass

a = a()

print(dir(a))

列印結果如下:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', 

'__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__',

'__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',

'__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'test']

屬性很多

其中模擬與js,它也有對應的setprototype等:

hasattr

hadattr(a, 『b』) // 判斷a物件是否包含b屬性

setattr

setattr(a, 『b』, 12) //給a物件的b屬性賦值

getattr

getattr(a,『b』)

python學習筆記(十三)類的繼承與匯入

1 繼承 類的繼承幫助我們簡化了類的編寫,這裡我們先來理解一下繼承的概念。乙個類繼承另乙個類時,它將自動獲得另乙個類的所有屬性和方法,被繼承的類是父類,繼承得到的類是子類。我們可以將子類視為父類的特殊化,它在類的定義中對父類的屬性和方法進行了特殊化的補充 實際上也可以什麼都不補充,但這樣做繼承就沒有...

Python學習筆記(十三) 類

本節主要對python中類的概念進行介紹。類完全由物件導向概念所引出。定義乙個類 class people 幫助資訊 number 100 建構函式,初始化方法,當建立乙個類的時候,首先會呼叫它 def init self,name,age self.name name self.age age d...

十三)類的操作

1 物件的建立 有七種a a 3 b 3,c a 3 d a e a,f new a 3 h new a a a 2 指標與引用 一 指標,物件使用指標 用 進行操作 作為函式的引數 作為類的資料或成員。二 引用,傳送大物件要比按值傳送更快,避免了複製過程,拷貝建構函式就是利用這點。3 前向宣告 當...