【发布时间】:2020-05-09 15:48:04
【问题描述】:
我对 python 很陌生,目前正在尝试一个项目,该项目要求用户从 csv 文件中读取数据,并存储该数据以便可以对其执行其他功能。目前我似乎遇到的唯一问题是我不能使用全局变量。
刚才我的代码结构如下:
import csv
import sys
data_set = []
def loadFile(x):
with open(x, "r") as readfile:
csv_reader = csv.reader(readfile, delimiter= ';')
for row in csv_reader:
data_set.append(row)
print("Loaded weather data from", (x[0:-4]).capitalize())
print()
def avgDay(x):
for line in data_set:
if(len(x) == 5 and (x[3:5] + "-" + x[0:2]) in line[0]):
print("The weather on", x, "was on average", line[2], "centigrade")
有什么方法可以调用 data_set 到其他函数吗? (我还有一些需要处理数据的函数)。
【问题讨论】:
-
有
main的起点吗? -
other_function(data_set)…‽ -
只使用函数参数和返回值。
loadFile可以return列表中的数据,avgDay可以将该数据作为参数。 -
你说的不能使用全局变量是什么意思?当您尝试使用它时会抛出错误吗?此外,您始终可以将函数和数据封装到一个类中……这样您就可以使用
self来获取数据。 -
列表是一个对象。虽然它的引用是按值传递的,但内容可以在函数之间共享。
标签: python list function local