小编Ric*_*ard的帖子

如何避免使用全局变量?

经过20年的中断后重新开始编程.一直认为在python中使用全局变量是设计糟糕的标志,但无法找到更好的方法.

下面是一个小程序,利用全局变量'暂停'来确定音乐播放器的状态.该变量由几个函数使用.

没有利用全局变量有更好的方法吗?

# Global variable to access from multiple functions
paused = False


def play_music():

    global paused

    if not paused:

        try:
            mixer.music.load(filename)
            mixer.music.play()
            statusBar['text'] = 'Playing Music - ' + os.path.basename(filename)
        except:
            tkinter.messagebox.showerror('File not found',
                                         'Melody could not find the file.')
    else:
        mixer.music.unpause()
        paused = False
        statusBar['text'] = 'Playing Music - ' + os.path.basename(filename)


def stop_music():
    mixer.music.stop()
    statusBar['text'] = 'Music stopped'


def pause_music():

    global paused

    if not paused:
        mixer.music.pause()
        paused = True
        statusBar['text'] = 'Music paused'

    else:
        play_music()
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
101
查看次数

标签 统计

python ×1