選中需要查看的函數(shù)(光標(biāo)移到函數(shù)所在的位置),然后使用eclipse快捷鍵Ctrl+Shift+G,然后就會(huì)在search窗口中看到函數(shù)調(diào)用的樹(shù)狀結(jié)構(gòu)圖。
成都創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),寶塔網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:寶塔等地區(qū)。寶塔做網(wǎng)站價(jià)格咨詢(xún):18980820575
以最簡(jiǎn)單的一個(gè)代碼為例:
class A:
s="hello"
def p(self):
? print(self.s)
if __name__ == '__main__':
a=A()
a.p()
光標(biāo)移到第4行p的位置,然后Ctrl+Shift+G,得到如下所示:
你寫(xiě)的函數(shù)里面只是打印出功能,這個(gè)在語(yǔ)法方面沒(méi)什么問(wèn)題,但是達(dá)不到你的要求,如果想引用一個(gè)函數(shù)的結(jié)果,必須給它加一個(gè)return值,這樣就能獲取返回的結(jié)果
def?test(n):
return?n
a?=?test(2)
print?a
你已經(jīng)實(shí)現(xiàn)了啊。在__init__初始化參數(shù)里,將參數(shù)傳遞進(jìn)去。
另外因?yàn)榫€程工作在主程序同一個(gè)空間里,所以可以用全局變量傳遞。比如定義一個(gè)global v,然后在主程序里設(shè)置好。
再在線程里用global v來(lái)引用。
如果在線程運(yùn)行當(dāng)中,動(dòng)態(tài)的改參數(shù)??梢韵笫沁@里的thread_stop設(shè)置。由主進(jìn)程與從進(jìn)程單對(duì)單的傳遞信號(hào)。
另外還可以通過(guò)隊(duì)列。這個(gè)好處是有一個(gè)鎖,可以全局使用。
此外你還可以引入一個(gè)消息管理器。各個(gè)線程與主進(jìn)程直接通過(guò)消息傳遞變量。
進(jìn)程之間也可以通過(guò)共享內(nèi)存來(lái)實(shí)現(xiàn)RPC通信,就是交換數(shù)據(jù)。
線程處理完的數(shù)據(jù),如果主程序想處理??梢赃@樣。讓線程通過(guò)全局變量,通過(guò)隊(duì)列傳回來(lái)。
不過(guò)主進(jìn)程通常還有一個(gè)任務(wù),就是監(jiān)督線程的完成退處,并管理線程中止信號(hào)。
比如你這個(gè)程序少了一個(gè)
thread.join() 這里的join可以加一個(gè)timeout,當(dāng)超時(shí)時(shí),主進(jìn)程就可以脫身出來(lái),做一些其它的事情,比如處理返回?cái)?shù)值。 如果線程通過(guò)一個(gè)數(shù)組變量將狀態(tài)傳回主進(jìn)程。這樣輪洵子線程狀態(tài)會(huì)比join的效率更高。
你這個(gè)程序里用文件傳遞也不是不可以。這是一個(gè)很好思路。當(dāng)你傳遞變量困難時(shí),可以用文件?;蛘呤菙?shù)據(jù)庫(kù)。
同一個(gè)類(lèi)中一個(gè)函數(shù)里調(diào)用另一個(gè)函數(shù)的方法
class Solution:
def a(self):
self.b() # 注意這種寫(xiě)法:self.類(lèi)名
def b(self):
print('在這里')
a = Solution()
a.a()
將event.py目錄加入到system path中
import?sys
sys.path.append("/Users/songrao/Library/Application?Support/Sublime?Text?3/Packages/User/")
from?event?import?printme
(1)主程序main.py與模塊程序mod1.py在同一目錄下。
--src
|--mod1.py
|--main.py
直接在main.py中導(dǎo)入模塊mod1.py,即 import mod1 或 from mod1 import *
(2)主程序main.py所在目錄是模塊程序mod.py所在目錄的父目錄。
--src
|--mod1.py
|--main.py
---mod2
?|--mod2.py
先需要在mod2文件夾中建立空文件__init__.py
然后在main.py中導(dǎo)入模塊mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
(3)主程序main.py導(dǎo)入上層目錄中的模塊或其他目錄(平級(jí))下的模塊。
--src
|--mod1.py
---mod2
?|--mod2.py
---sub
?|--main.py
先需要在mod2文件夾中建立空文件__init__.py,而src文件夾下不需要建立
然后進(jìn)入主程序main.py所在的路徑,執(zhí)行python main.py
在main.py中導(dǎo)入模塊mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
執(zhí)行前在main.py中加入:
import sys
sys.path.append("..")
import mod1
import mod2.mod2