python一个单独的数字是一条语句吗,或者说是什么?
在python3.7中当使用shell输入了例如0.3,结果会返回一个0.3.
但是当创立了文本之后输入0.3按下f5编译,似乎什么也没有发生。
谁能告诉我为什么不会返回一个0.3?
因为你没有print呀
在Shell里面会自动返回这段代码的运行结果,而在文件里不会 本帖最后由 hrp 于 2021-1-16 12:47 编辑
shell会自动调__repr__方法 本帖最后由 jackz007 于 2021-1-16 12:26 编辑
在 shell 环境,输入一个变量(或常量),会被认为是在查询其内容,于是 ,shell 会通过 print() 函数,自动输出其内容作为响应,但是,作为脚本语句,单独书写一个变量或常量没有任何意义,如果想知道其内容,你得自己动用 print() 函数,把它打印出来。 单独的一个数字在任何语言里都没有意义
会被编译器当垃圾干掉 本帖最后由 kogawananari 于 2021-1-16 12:44 编辑
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec7 2020, 17:08:21) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> eval('1')
1
>>> exec('1')
>>> exec('a=1')
>>> eval('a=1')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
a=1
^
SyntaxError: invalid syntax
>>> exec('(a:=1)')
>>> eval('(a:=1)')
1
python里有语句和表达式的区别
exec()把字符串当成语句执行 但是不会有返回值
eval()把字符串当成表达式执行 传入赋值等操作会报错
运行python文件是逐行执行exec() 故而什么也不显示
而行首有【>>> 】的交互式里面 是执行的exec(compile(input('>>> '),'','single')) 这个可以把表达式和语句都执行如果非None就返回结果
{:10_253:} 666
页:
[1]