一点沙 发表于 2023-3-11 19:50:30

将函数名设为内置函数名后的问题


我本来写这个代码的目的是为了实验用自己的函数覆盖内置函数后内置函数还能不能调用,但这结果。。。完全不懂啊,跪求解答!!!

isdkz 发表于 2023-3-11 19:53:25

这结果有什么不懂的,type(type) 这两个type 都是你定义的那个函数了呀

wp231957 发表于 2023-3-11 19:54:38

所以呢,最好不要把内置函数当普通变量使用

一点沙 发表于 2023-3-11 19:54:40

isdkz 发表于 2023-3-11 19:53
这结果有什么不懂的,type(type) 这两个type 都是你定义的那个函数了呀

谢谢

tommyyu 发表于 2023-3-11 19:54:44

覆盖完了之后你运行了 type 函数,传进去的就是 type 函数这个对象。运行的和传入的这两个 type 函数是被覆盖过的,所以就执行了上面的定义,打印了 (type 函数对象) 想说话,而打印出的 <function type ..... > 是 type 函数的 __str__ 魔法方法的返回值,也就是 str(type) 的值。
页: [1]
查看完整版本: 将函数名设为内置函数名后的问题