第17課 def 函式之間的相互呼叫引用

2021-10-11 13:22:49 字數 3122 閱讀 6572

比如 a要吃蘋果,但只b有蘋果,並且b生產蘋果,所以a就需要到b那裡來,拿到蘋果後,然後吃。

a,b都是乙個個體,每個個體都有不同的任務和功能。a是負責吃這個功能,而b負責 生產這個功能。但是b不僅僅可以給a吃,還可以給c,c可能不用來吃,用來做擺設。還有d可能用來做水果拼盤,賣給e。

以下**做演示:

import requests

import json

headser =

defb()

: resp = requests.get(

'',headers=headser)

content = resp.text

rest = content.replace(

'fetchjson_comment98(',''

).replace(

');',''

) json_data = json.loads(rest)

comments = json_data[

'comments'

] a(comments)

defa

(aaaaa)

:for item in aaaaa:

color = item[

'productcolor'

]with

open

('data.txt'

,'a+'

,encoding=

'utf-8'

)as f:

f.write(color)

f.close()b(

)# 執行函式的意思

其中** b 函式就是負責爬取資料得到文字。而a函式就負責把b生產出的資料函式儲存到 data.txt 文件中。是兩個不同的功能。當然我也可以寫個c函式,把b函式的爬取的得到文字進行重新編輯替換等等一些功能,之後在進行寫入文件中。

我們在這裡需要注意到在 b函式下有乙個這個**a(comments)這個**就是將 comments 中得到的文字傳入到 a函式中。在a函式中的括號就需要寫入乙個接收引數,這個引數的名字可以隨意取。但是a函式下方的名字需要和你的a函式中括號的一樣。

如果需要傳入多個值,那就在 a函式中寫多個引數,有嚴格的順序關係。

在b函式傳入了 comments , json_data 兩個值給了a,a接收的時候,是按照順序來接受的 ,comments 對應的是 aaaaa ,json_data 對應的是 name ,而在a函式中,得到這些值後,就需要處理。

切記:a函式的中自己命名的引數名,一定要和下方要使用這個引數的名字一樣。

也可以定義乙個c函式,來接受b函式的值。**如下:

defb(

):resp = requests.get(

'',headers=headser)

content = resp.text

rest = content.replace(

'fetchjson_comment98(',''

).replace(

');',''

) json_data = json.loads(rest)

comments = json_data[

'comments'

] a(comments,json_data)

c(comments)

defa

(aaaaa,name)

:for item in aaaaa:

color = item[

'productcolor'

]with

open

('data.txt'

,'a+'

,encoding=

'utf-8'

)as f:

f.write(color)

f.close(

)print

(name)

defc

(titile)

:print

(titile)

注意b函式下也多了乙個 c(comments) ,表示把 comments 傳入給了c。

我們 a 和 c 都是在問 b 傳入函式,所以我們只要執行b函式即可。

defb(

):resp = requests.get(

'',headers=headser)

content = resp.text

rest = content.replace(

'fetchjson_comment98(',''

).replace(

');',''

) json_data = json.loads(rest)

comments = json_data[

'comments'

] a(comments,json_data)

c(comments)

defa

(aaaaa,name)

:for item in aaaaa:

color = item[

'productcolor'

]with

open

('data.txt'

,'a+'

,encoding=

'utf-8'

)as f:

f.write(color)

f.close(

)print

(name)

defc

(titile)

:print

(titile)b()

# 執行函式的意思

當 b 生產出來值後,a和c去接受這個值的時候,我們把這個叫做 a 呼叫引用 b ,c 呼叫引用

C C 之間的相互呼叫

c呼叫c 意思是 c檔案中呼叫.cpp檔案中的 c 呼叫c的意思是.cpp檔案中呼叫.c檔案中的 使用extern c 主要原因 主要用於在c 中呼叫的c函式的宣告,或c 中編譯的函式要在c中呼叫,也即是匯入c形式的函式庫或者提供c型別的庫給c呼叫,因為在c 出現以前,很多 都是c語言寫的,而且很底...

C 學習小記(C C 函式之間相互呼叫)

有時我們會遇到以下問題。我們想在c 檔案中呼叫定義在c檔案中的函式,或者說想在c檔案中呼叫在c 檔案中定義的函式。如果我們只是簡單的呼叫,那麼編譯器是不會允許我們這麼做的,這是由於編譯器對於c和c 函式的處理機制的不同而造成的。c語言定義的函式在經過編譯之後函式名的前面被加上了下劃線。例如 main...

c語言 兩個結構體之間的相互呼叫(17)

指向結構體型別變數的使用 首先讓我們定義結構體 struct stu 再定義指向結構體型別變數的指標變數 struct stu p1,p2 定義指標變數p 1 p 2,分別指向結構體型別變數。引用形式為 指標變數 成員 例7 2 對指向結構體型別變數的正確使用。輸入乙個結構體型別變數的成員,並輸出。...