- 论坛徽章:
- 2
|
回复 50# 狗蛋
没人认为python静态类型分析/推导不能做,而是没有实用性。
你所谓的max(1,2)寻根究底就能分析出类型,已经将局部/单文件静态分析上升到全局/所有模块分析。
- import mathematics # 为了避免与内建的混淆,故意改个名字
- print max(1,2)
复制代码 但导入模块(我还没用__import__)就已经是一个运行时行为。你还分析个屁啊。
你根本就无法在运行前得知它导入的到底是:a录下的mathematics.py
- def max(a,b) : return b if a < b else a
复制代码 还是b目录下的mathematics.py
- def max(a,b) : return str(b if a < b else a)
复制代码 你只能在若干选项里猜。
如果全局分析里在遇见依赖运行时的行为:
- max(argv[1], argv[2])
- print (int if argv[1]=="int" else str)(argv[2])
复制代码 你根本就是有心无力。
你以为自己忘记名词很有本事? 以为靠你个人的理解发现的是他人都不知晓的新大陆? 我们都被这问题卡住了? 不过是个我们都公认的常识性前提啊。。。
井底蛙少笑死人了。 |
|