Xia*_*iao 0 python arrays plot
如何在python中定义全局数组我想将tm和prs定义为全局数组,并在两个函数中使用它们,如何定义它们?
import numpy as np
import matplotlib.pyplot as plt
tm = []
prs = []
def drw_prs_tm(msg):
tm = np.append(tm,t)
prs = np.append(prs,s)
def print_end(msg):
plt.plot(tm,prs,'k-')
Run Code Online (Sandbox Code Playgroud)
您需要global <var_name>在方法中引用它们
def drw_prs_tm(msg):
global tm
global prs
tm = np.append(tm,t)
prs = np.append(prs,s)
def print_end(msg):
global tm
global prs
plt.plot(tm,prs,'k-')
Run Code Online (Sandbox Code Playgroud)
全局语句是一个声明,适用于整个当前代码块。这意味着列出的标识符将被解释为全局变量。尽管自由变量可能在未声明为全局的情况下引用全局变量,但如果没有全局变量,则不可能分配给全局变量。
在Python中,仅在函数内部引用的变量是隐式全局的。如果在函数体内的任何位置为变量分配了新值,则假定该变量是局部变量。如果在函数内部为变量分配了新值,则该变量是隐式局部变量,您需要将其显式声明为“ global”。