面對物件程式設計4

2021-09-23 17:23:07 字數 1855 閱讀 4318

issubclass() and isinstance()

issubclass()用於判斷類物件與類物件之間的關係

isinstance()用於判斷例項物件與類物件之間的關係

issubclass((a,(b,c,d)))判斷後者是否存在a的父類

isinstance()接受兩個實參

第乙個實參是例項物件

第二個實參是類物件或由類物件組成的元組

isinstance(d(),d) true

isinstance(d(),a) true

isinstance(d(),(b,c,d)) true

isinstance(d(),(a,b,c)) true

判斷前者是不是後者的例項物件

tpye() 用於獲得指定物件的型別

例項物件的型別就是他對應的類物件

運算子==判斷某個物件的型別是否是指定型別 只有基本資料型別可以

import types

print(type(do_sth)) == types.functiontype)

print(type(print)) == types.bulitinfunctiontype) 內建函式

對於制定的類物件或例項物件可以呼叫內建函式dir()獲得其所有可以訪問的屬性和方法 包括從父類中繼承的 列表 類物件和例項物件的結果是有區別的 類物件的結果不包括例項物件

issubclass()

class a(object):

pass

class b(object):

pass

class c(object):

pass

class d(a):

pass

print(issubclass(d, a))

print(issubclass(d, b))

print(issubclass(d, (b, a, c)))

print(issubclass(d, (b, c)))

,print(issubclass(bool, int))

print(issubclass(bool, str))

true

false

true

false

true

false

print(isinstance(d(), d))

print(isinstance(d(), a))

true

true

type()檢視物件的型別

dir()檢視所有的方法和屬性

type():

class myclass(object):

pass

mc = myclass()

print(type(mc))

輸出

例項物件的型別就是它對應的類物件

print(type(myclass))

由上可得:type是python的乙個總類,所有的類都屬於在type中。

因此乙個類物件的type是type

print(type(int))

print(type(str))

輸出

def do_sth():

pass

print(type(do_sth))

輸出

自定義函式的型別是function

print(type(dir))

#輸出

內建函式的型別是builtin_function_or_method

面對物件程式設計

重要的是什麼,是概念的理解。類是什麼,物件是什麼,然後封裝是什麼,繼承是什麼,多型是什麼。類是抽象的,高度概括的物件集合體。當然亂寫的類什麼都不是,轄七八糟往乙個類裡塞。這也是不合理的。這是學到目前為止,最為有用的一節課。非常的有用。就是基本概念的講解。概念的理解多少,決定你走多遠。class st...

面對物件思想4

final 最終,修飾符,修飾類 函式和變數。1.被final修飾的類不可以被繼承 為了避免被繼承和被子類覆寫的功能 2.被final修飾的方法,不能被覆寫。3.被final的變數是乙個常量,只能被賦值一次,既可以修飾成員變數也可以修飾區域性變數。常量所有字母都大寫,每個單詞之間用 隔開,可高 的可...

面對物件程式設計2 繼承

oop語言的特徵 繼承 封裝 多型 1,封裝 通過private關鍵字來修飾成員方法或屬性的一種行為。意義 1,類的實現者 2,類的呼叫者,方便,只需要呼叫就好了。2,繼承 直接上 package com.extendseg created with intellij idea.descriptio...