单斜线不做浮动分割

use*_*679 0 python python-3.x

我正在做Python的初学者教程,这是我在论坛上阅读的内容,并在我自己的编辑器中进行了尝试.代码如下

#!/usr/local/bin/python3

def main():
    num = 42 / 9
    print(type(num), num)

if __name__ == "__main__" : main()
Run Code Online (Sandbox Code Playgroud)

但是,上面的程序而不是给我一个默认输出4.666666666666667是给我一个刚刚的整数输出4.我已经读过Python 3中默认的单斜杠使用会给我浮点输出,但是我不确定这里有什么问题(为什么我得到一个int输出?).

另一个python3唯一的功能,如字符串格式化'sample {}'.format(n)工作正常,所以我不确定这是否与我的Python3安装有关.我在Mac上,所以我也是mac的默认2.7 python版本.

Hen*_*ter 6

唯一可行的方法是,如果您使用的是Python 2,而不是Python 3.您引用的格式化功能也在Python 2.7中实现,因此您很可能正在使用它.

可以肯定的是,有一种非常简单的方法可以找到:

import sys
print(sys.version_info)
Run Code Online (Sandbox Code Playgroud)

如果您遇到Python 2,可以将它放在脚本的顶部以实现真正的除法:

from __future__ import division
Run Code Online (Sandbox Code Playgroud)