Discuss / Python / 为什么我学模块功能的时候脑海里第一反应就是验证游戏账号信息……

为什么我学模块功能的时候脑海里第一反应就是验证游戏账号信息……

Topic source

例如验证是否为GM和普通玩家账号: 我先写一个user.py def _isGM_(): print('尊敬的GM大人,欢迎您进入游戏!已为您打开所有GM权限') levels = ['权限1','权限2','权限3',...]

def _isUser_(): print('亲爱的玩家,欢迎您进入游戏!') levels = '普通权限'

def check(): if __name__ == '__main__': _isGM_() else: _isUser_()

check()

用了private来命名函数名,不希望别人调用。如果是本机运行就会提示你是游戏GM

随便写一个test.py,可以想象成游戏账号,每一个游戏账号进游戏的时候都会自动验证你是不是GM,然后再选择给你玩家权限还是GM权限: test.py: import user ... ...

厉害了

挺有趣的

独家忆雪

#4 Created at ... [Delete] [Delete and Lock User]

厉害 联想的蛮贴切的

def check(): if name == 'main': isGM() else: isUser()

check()

check()函数没必要定义,可以简略一下如下

if name == 'main': isGM() else: isUser()

@莉莉娅的小暖炉 private 定义函数不是应该用 开头,然后没有结尾吗?难道是我弄错了?

if __name__ == '__main__':
    _isGM_()
else:
    _isUser_()

当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量name置为main,而如果在其他地方导入该hello模块时,if判断将失败

这里指出 只有在 命令行 运行时会执行 if 正确判断 执行 isGM() 如果在 非命令行执行 则执行 isUser() 那是不是可以认为 命令行执行时是GM玩家 而其他是 普通玩家 但是怎么控制 命令行或非命令行 执行大神求解


  • 1

Reply