选中需要查看的函数(光标移到函数所在的位置),然后使用eclipse快捷键Ctrl+Shift+G,然后就会在search窗口中看到函数调用的树状结构图。
成都创新互联公司是一家专注于成都网站建设、网站制作与策划设计,宝塔网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:宝塔等地区。宝塔做网站价格咨询:18980820575
以最简单的一个代码为例:
class A:
s="hello"
def p(self):
print(self.s)
if __name__ == '__main__':
a=A()
a.p()
光标移到第4行p的位置,然后Ctrl+Shift+G,得到如下所示:
你写的函数里面只是打印出功能,这个在语法方面没什么问题,但是达不到你的要求,如果想引用一个函数的结果,必须给它加一个return值,这样就能获取返回的结果
def test(n):
return n
a = test(2)
print a
你已经实现了啊。在__init__初始化参数里,将参数传递进去。
另外因为线程工作在主程序同一个空间里,所以可以用全局变量传递。比如定义一个global v,然后在主程序里设置好。
再在线程里用global v来引用。
如果在线程运行当中,动态的改参数。可以象是这里的thread_stop设置。由主进程与从进程单对单的传递信号。
另外还可以通过队列。这个好处是有一个锁,可以全局使用。
此外你还可以引入一个消息管理器。各个线程与主进程直接通过消息传递变量。
进程之间也可以通过共享内存来实现RPC通信,就是交换数据。
线程处理完的数据,如果主程序想处理。可以这样。让线程通过全局变量,通过队列传回来。
不过主进程通常还有一个任务,就是监督线程的完成退处,并管理线程中止信号。
比如你这个程序少了一个
thread.join() 这里的join可以加一个timeout,当超时时,主进程就可以脱身出来,做一些其它的事情,比如处理返回数值。 如果线程通过一个数组变量将状态传回主进程。这样轮洵子线程状态会比join的效率更高。
你这个程序里用文件传递也不是不可以。这是一个很好思路。当你传递变量困难时,可以用文件。或者是数据库。
同一个类中一个函数里调用另一个函数的方法
class Solution:
def a(self):
self.b() # 注意这种写法:self.类名
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中导入模块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中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
(3)主程序main.py导入上层目录中的模块或其他目录(平级)下的模块。
--src
|--mod1.py
---mod2
|--mod2.py
---sub
|--main.py
先需要在mod2文件夹中建立空文件__init__.py,而src文件夹下不需要建立
然后进入主程序main.py所在的路径,执行python main.py
在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
执行前在main.py中加入:
import sys
sys.path.append("..")
import mod1
import mod2.mod2