2 回答
TA贡献1772条经验 获得超8个赞
通过这样做进行实验:
my_value = 575.0
print = (my_value)
print(print)
请注意,您收到以下错误:
Traceback (most recent call last):
File "C:/Users/jchca/PycharmProjects/Josepe_project/Josepe/Practice10.py", line 4, in <module>
print(print)
TypeError: 'float' object is not callable
本质上,她重写了 print 函数,因此print现在充当浮点值(这是在 Python 3.x 中)
TA贡献1797条经验 获得超6个赞
它不会引发错误,因为在 Python 3 中,print它是一个常规函数。并且函数对象绑定到名称,print引用特定函数对象的名称(“变量”)也是如此。
由于函数与变量没有什么不同,您可以随意重新分配它们:
def add(a, b):
return a + b
add = "ha-ha, I'm a string"
=符号后面的括号是您在数学中使用的括号类型:
print = (1 + 2) # print == 3
名称后面的括号表示函数调用。
但现在print坏了,你永远无法打印任何东西!不是真的 - 有一个副本__builtins__.print:
print = __builtins__.print
但是,您可以很容易地搞砸:
__builtins__.print = 5
然而,在 Python 2 中,print是一个语句,而不是一个常规函数,所以这会失败:
Python 2.7.16 (default, Dec 3 2019, 07:02:07)
>>> print = 5
File "<stdin>", line 1
print = 5
^
SyntaxError: invalid syntax
添加回答
举报