class底層原理分析

2022-08-13 16:42:14 字數 1423 閱讀 1499

class 類名 會把類構造出來

實際上是:元類例項化產生類 這個物件

類例項化產生物件,一定是: 類名()

person 類是由type例項化產生,傳一堆引數

type() 呼叫類的__init__方法

type()

type(object_or_name,bases,dict)

object_or_name 類的名字,是個字串

bases:是它的所有的父類,基類

dict :命名空間,是乙個字典

通過type來直接產生類,不用class關鍵字了

l={}

exec('''

school ='oldboy'

def __init__(self,name):

self.name = name

def score(self):

print('分數是100')

''',{},l)

def __init__(self,name):

self.name = name

person = type('person',(object,),1)

#print(person.__dict__)

print(person.__bases__)

#p = person('nick')

print(p.name)

print(p.__dict__)

#class 底層就是呼叫type來例項化產生類(物件)

class person:

school='oldboy'

def __init__(self,name):

self.name = name

def score(self):

print('分數是100')

a = person

p = person('nick')

#exec() eval()的區別

l = {}

exec('''

school='oldboy'

def __init__(self,name):

self.name =name

def score(self):

print('分數是100')

''',{},l)

print(l)

g=l={}

exec('''

global x

x = 100

z = 200

m = 300

''',g,l)

print(g)

print(l)

x = 1

y = 2

def test():

global x

x = 100

z = 200

m = 300

Mysql索引底層原理分析

mysql索引底層原理分析,mysql索引的本質 mysql索引的底層原理 mysql索引的實戰經驗 面試問 資料庫中最常見的慢查詢優化方式是什麼?同學a 加索引。問 為什麼加索引能優化慢查詢?同學a 不知道同學b 因為索引其實就是一種優化查詢的資料結構,比如mysql中的索引是用b 樹實現的,而b...

Objective C 分類底層原理分析

ios分類使用的場景就是把功能模組化,把一組類似的功能擴充套件出乙個分類,便於 的維護以及功能的分塊 分類在ios底層的資料結構如下 struct category t name 被分類的類名稱 cls isa指標 instance methods 物件方法列表 class methods 類方法列...

mysql 索引底層原理分析

一 區分幾個概念 1 頁 1 頁號 記錄當前是第幾頁。2 頁目錄 記錄行資料,標記行開始的最小主鍵索引資料。3 行資料 標識每一行的資料。1 111a 標識第一行資料,1 表示主鍵索引。行與行資料使用鍊錶有序相連。2 b 樹 多個頁相互連線在一起,為了方便查詢會再向上生成乙個新的類似頁的東西,記錄頁...