在函数 S() 中时,如何从函数 V() 访问函数 S() 中的变量“l”?
如果该变量不在函数中,则 V() 函数正常工作。假设现成的函数 V() 将用于逐字符输出文本,模拟从键盘打字。
import os
from time import sleep
import random
def V(): # Посимвольный вывод
global l
q = len(l)
i = 0
tim = random.choice([0.1, 0.3, 0.2])
while i < q:
i += 1
os.system('cls')
ql = l[0:i]
print(ql); sleep(tim)
input()
os.system('cls')
def S():
l = 'Салам пополам'
V()
S()
回溯(最近一次调用最后一次):文件“C:\Users\Emynezh\PycharmProjects\pythonProject5\test.py”,第 23 行,在 S() 文件“C:\Users\Emynezh\PycharmProjects\pythonProject5\test.py”中,第 21 行,在 S V() 文件“C:\Users\Emynezh\PycharmProjects\pythonProject5\test.py”中,第 7 行,在 V q = len(l) ^ NameError: name 'l' 未定义。您指的是: 'ql'?
谢谢你
如果需要在函数S内部声明一个变量l,可以将其作为该函数的一个属性,那么它在函数V内部就可用了。但是从程序逻辑的角度来看,这样做是错误的。
当一个函数调用另一个函数时,使用参数而不是全局变量是有意义的: