函数传参问题
本帖最后由 abababab 于 2020-4-7 20:26 编辑import sys
def test(bot, update,*args):
print(members,mutetime1,mutetime2)
class Admin():
def __init__(self, token):
print(token)
def run(self,members,mutetime1,mutetime2):
print(members,mutetime1,mutetime2)
test
if __name__ == '__main__':
token = sys.argv
members = sys.argv
mutetime1 = sys.argv
mutetime2 = sys.argv
bot = Admin(token)
bot.run(members,mutetime1,mutetime2)
怎么把members,mutetime1,mutetime2 数据传到test函数里呢?
pythonxxx.py 参数1参数2参数3 。。。。。。 直接用run的参数呗 wp231957 发表于 2020-4-7 20:16
pythonxxx.py 参数1参数2参数3 。。。。。。
TypeError: run() missing 1 required positional argument: 'mutetime2' qiuyouzhi 发表于 2020-4-7 20:16
直接用run的参数呗
架构是要传入test文件函数里的 abababab 发表于 2020-4-7 20:19
架构是要传入test文件函数里的
不知道你这个test 就往那一放 是啥歌意思,,注释掉能运行 #test() 把前面两个参数传完后跟上你要传的其他参数即可 wp231957 发表于 2020-4-7 20:30
不知道你这个test 就往那一放 是啥歌意思,,注释掉能运行 #test()
想test(self,members,mutetime1,mutetime2)
这样传参数进去 abababab 发表于 2020-4-7 20:19
架构是要传入test文件函数里的
这样能运行,但是不知道是否合乎你的想法
import sys
def test(bot, update,*args):
print(bot,update,args)
class Admin():
def __init__(self, token):
print(token)
def run(self,members,mutetime1,mutetime2):
#print(members,mutetime1,mutetime2)
test(members,mutetime1,mutetime2)
if __name__ == '__main__':
token = sys.argv
members = sys.argv
mutetime1 = sys.argv
mutetime2 = sys.argv
bot = Admin(token)
bot.run(members,mutetime1,mutetime2)
BngThea 发表于 2020-4-7 20:31
把前面两个参数传完后跟上你要传的其他参数即可
没明白,啥意思 abababab 发表于 2020-4-7 20:34
没明白,啥意思
你的test函数前面两个参数没有默认值,需要先传,后面的你想传什么都行 wp231957 发表于 2020-4-7 20:34
这样能运行,但是不知道是否合乎你的想法
print(bot,update,args)
bot和update有过值了,是要 2 3 4 都传入args abababab 发表于 2020-4-7 20:47
print(bot,update,args)
bot和update有过值了,是要 2 3 4 都传入args
实在是不知道你想干啥,这个意思??
import sys
def test(*args):
print(args)
class Admin():
def __init__(self, token,up):
self.token=token
self.up=up
def run(self,members,mutetime1,mutetime2):
test()
if __name__ == '__main__':
token = sys.argv
bot = Admin(token,"555")
bot.run(sys.argv,sys.argv,sys.argv)
wp231957 发表于 2020-4-7 20:56
实在是不知道你想干啥,这个意思??
import sys
bot = 'a'
update = 'b'
def test(bot, update,*args):
#print(members,mutetime1,mutetime2)
print("bot=%s" % bot)
print("update=%s" % update)
print(args)
class Admin():
def __init__(self, token):
print(token)
def run(self,members,mutetime1,mutetime2):
print(members,mutetime1,mutetime2)
test
if __name__ == '__main__':
token = sys.argv
members = sys.argv
mutetime1 = sys.argv
mutetime2 = sys.argv
bot = Admin(token)
bot.run(members,mutetime1,mutetime2)
abababab 发表于 2020-4-7 21:01
import sys
#bot = 'a'
#update = 'b'
def test(bot, update,*args):
print("bot=%s" % bot)
print("update=%s" % update)
print(args)
class Admin():
def __init__(self, token,update):
self.bot=token
self.update=update
def run(self,members,mutetime1,mutetime2):
print(members,mutetime1,mutetime2)
test(self.bot,self.update,)
if __name__ == '__main__':
token = sys.argv
members = sys.argv
mutetime1 = sys.argv
mutetime2 = sys.argv
bot = Admin(token,"555")
bot.run(members,mutetime1,mutetime2)
wp231957 发表于 2020-4-7 21:04
python ccshs3.py 1 2 3 4
2 3 4
bot=1
update=555
(['2', '3', '4'],)
谢谢,我再试试 abababab 发表于 2020-4-7 21:18
python ccshs3.py 1 2 3 4
2 3 4
bot=1
我睡下了,剩下的你自己可以搞定
修改15楼第11行代码,把bot再传进去
下面增加一行self.bot=bot
self.token=token
页:
[1]