Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未定义的变量,在if之后_Python - Fatal编程技术网

Python 未定义的变量,在if之后

Python 未定义的变量,在if之后,python,Python,在def _; init _;中,我放置了令牌和通道id,在def main中,我在if命令中使用了它们,它们都创建了一个未定义的错误。如何改变这一点?有没有办法在def main中调用它们 导入请求 导入系统 班级聚会: 定义初始化(自身、令牌、通道id、消息): self.token=token self.channel\u id=channel\u id self.message=消息 self.headers={'Authorization':标记} 定义生成消息(自我,m1): 返回m

在def _; init _;中,我放置了令牌和通道id,在def main中,我在if命令中使用了它们,它们都创建了一个未定义的错误。如何改变这一点?有没有办法在def main中调用它们

导入请求
导入系统
班级聚会:
定义初始化(自身、令牌、通道id、消息):
self.token=token
self.channel\u id=channel\u id
self.message=消息
self.headers={'Authorization':标记}
定义生成消息(自我,m1):
返回m1
def执行(自我):
返回请求。post(f'https://discordapp.com/api/v6/channels/{self.channel\u id}/messages',headers=self.headers,json={'content':self.\u generate\u message(self.message)})
def main():
如果len(sys.argv)==99999:
打印(f'Usage:py{sys.argv[0]}“MESSAGE”)
sys.exit()
如果令牌==0:
打印('标记')
令牌=输入()
如果通道_id==0:
打印('channel\u id')
通道id=输入()
消息=0
如果消息==0:
打印('消息')
消息=输入()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
用于在从命令行执行脚本时启动main()函数

现在想象一下从shell启动函数,您没有给函数提供参数,它不能通过itslef定义令牌和通道id

如果你不实例化你的类,它永远不会被读取

你需要像这样的东西

bonk = Bonk(token=1234,channel_id=5678,message='message')
然后你可以使用

if bonk.token == 0:
   your code

请用完整的错误追踪更新你的问题。我不知道你在说什么。也许,如果你能让我们了解你所说的变量,并对你所遇到的问题做出更清晰的描述,也许有人能帮助你。@Crypto傻瓜:OP的问题很清楚。我们的问题是说服OP透露足够的细节,让其他人明白。嗯,
main
中没有定义“令牌”,也没有“通道id”。您是否希望这些名称引用从未创建的
Bonk
实例的属性?也许你应该找一本Python简介,你所有的变量都在函数里面。这是一个良好的开端。不幸的是,函数内的变量在不同的范围内,因此在函数内创建变量,并在函数退出时删除。也许您想将变量作为参数传递给函数。
if bonk.token == 0:
   your code