程式設計日記1 關於類的一些疑問

2021-10-07 05:02:53 字數 1894 閱讀 1341

python是自上而下執行的,也就是從上面到下面一步步執行的,今天就來測試一下python的執行順序。

1.首先測試函式的執行順序。

(1)測試1.函式在上面定義,在下面呼叫

def

hello()

:print

("hello world"

)hello(

)#輸出結果:hello world

(2)測試2:函式在下面定義,在上面呼叫

hello(

)def

hello()

:print

("hello world"

)#執行結果:nameerror: name 'hello' is not defined

總結1:函式呼叫只能在定義函式的下面

2.測試類的執行順序

(1)下面的類引用上面的類

class

dog():

age=

14def

__init__

(self,name)

: self.name=name

defdiag

(self)

:print

("我的名字叫%s,我已經%s歲了"

%(self.name,dog.age)

)class

cat():

age=

15def

__init__

(self,name)

: self.name=name

defdiag2

(self)

:print

("我的名字叫%s,我已經%s歲了"

%(self.name,cat.age)

)print

("%s"

%dog(

"tom"

).diag())

cat=cat(

"jik"

)cat.diag2(

)#執行結果

# 我的名字叫jik,我已經15歲了

# 我的名字叫tom,我已經14歲了

# none

(2)上面的類引用下面的類

class

dog():

age=

14def

__init__

(self,name)

: self.name=name

defdiag

(self)

:print

("我的名字叫%s,我已經%s歲了"

%(self.name,dog.age)

)print

("%s"

%cat(

"jik"

).diag2())

class

cat():

age=

15def

__init__

(self,name)

: self.name=name

defdiag2

(self)

:print

("我的名字叫%s,我已經%s歲了"

%(self.name,cat.age)

)dog=dog(

"tom"

)dog.diag(

)#執行結果

# 我的名字叫tom,我已經14歲了

# 我的名字叫jik,我已經15歲了

# none

總結2:類之間可以相互呼叫,不存在上面不可以呼叫下面的類,反之亦然,出現這種結果的原因應該是最下面**的呼叫,符合python自上而下執行的原理,所以我推測函式之間無論順序先後,在寫完各個函式後再進行呼叫也是可以的

關於LINUX驅動的一些疑問

1,像字元裝置混雜裝置,都只註冊乙個裝置就ok了,為了什麼都的驅動除了註冊裝置還要註冊驅動。而驅動結構體裡面一般都有probe函式。2.平台分驅動註冊和裝置註冊這個我是知道的,註冊完了會呼叫驅動結構體裡面的probe函式,好像真正的驅動都是在裝置結構體裡面完成了,話有裝置 節點的生成。3,除了這些,...

關於WiMax認證的一些疑問

使用x supplicant和openssl來實現eap tls的認證方式。在認證完成之前,並沒有獲得ip,那麼eap tls如何實現的呢?沒有ip就可以通訊?x supplicant呼叫openssl來幹什麼?只是呼叫openssl的x.509函式來對radius伺服器的證書進行驗證嗎?李春平說 ...

關於引力波的一些疑問

關於引力波的一些疑問 紅朝儒生 2016 2 14 關鍵字 引力波 引力子 簡介 引力波跟引力子,是什麼關係?如何傳遞的?最近,引力波成為最熱鬧的話題。探測到引力波當然是好事。實際上,探測到引力波之後,人們的疑問是增多了,而不是減少了。比如,吾就更糊塗了。e8李群和弦論都認為,引力是通過自旋為2的光...