五把手 2020-10-27 13:27 采纳率: 0%
浏览 70
已结题

python中调用另一个PY文件使用getattr获取字符串函数报错

#coding:utf-8
from random import randint  
import time,sys

class Map_han():
    def __init__(self):
        pass
    def han_center(self):
        print "随机剧情生成中",
        #for i in range(0,5):
            #sys.stdout.write(".")
            #sys.stdout.flush()
            #time.sleep(1)
        battle=['官渡之战','赤壁之战','夷陵猇亭之战','合肥之战']
        battle1={0:'battle_guandu',1:'battle_chibi',
                2:'battle_yiling',3:'battle_hefei'}
        part=randint(0,len(battle)-1)
        print battle[part]
        self.out=battle1[part]
        j=getattr(self,'out')
        j()
        #return self.out
    def battle_guandu(self):
        print 'a'
    def battle_chibi(self):
        print 'b'
    def battle_yiling(self):
        print 'c'
    def battle_hefei(self):
        print 'd'
a=Map_han()
a.han_center()
  • 写回答

1条回答 默认 最新

  • 秋千Swing0_0 2020-10-27 13:48
    关注

    为啥要定义 def init(): pass ,不是很懂
    而且你的Maphan类里的确没有name参数啊

    评论

报告相同问题?