Python是否支持行内导入库以实现单行代码调用需求?
Python单行调用random库实现方案
两种写法的可行性判断
- 第一种写法调整参数后完全合法可运行
- 第二种写法逻辑不成立,无法实现需求
第一种写法修正说明
你原本写的print(__import__(random).choice(["Red team","Blue team"]))存在参数格式错误:__import__是Python内置的动态导入函数,要求入参为字符串格式的模块名,你未给random加引号会触发NameError,修正后代码如下:
print(__import__('random').choice(["Red team", "Blue team"]))
该写法完全符合Python语法规范,可以直接运行得到预期结果。
第二种写法错误原因
你给出的with open('random') as r: print(r.choice(["Red team","Blue team"]))完全不可行:
open()是文件操作接口,作用是读取本地磁盘文件,没有导入模块的功能- 即使本地存在名为
random的文件,打开后得到的文件对象也不存在choice方法,运行必然报错
补充:更易读的单行实现
如果对可读性有要求,也可以用分号拼接两句合法代码实现,写法更直观:
import random;print(random.choice(["Red team", "Blue team"]))
内容的提问来源于stack exchange,提问作者apinostomberry
相关产品推荐
相关产品推荐

