Victor0321 发表于 2022-4-10 17:58:15

函数,与BIF函数

如果对一个BIF函数进行了重新定义。。。比如说:
def print(a,b):
        return(a + b)

那之后如果要取消掉整个函数,恢复print()最初的功能需要怎么办啊。

傻眼貓咪 发表于 2022-4-10 18:30:24

本帖最后由 傻眼貓咪 于 2022-4-10 18:31 编辑

def print(a, b):
    return a + b

del print

print("Hello World!")
建议不要这样写,学习编程第一课应该都会说明不要用内建关键字或保留字命名(这是很重要)

Victor0321 发表于 2022-4-10 18:45:32

傻眼貓咪 发表于 2022-4-10 18:30
建议不要这样写,学习编程第一课应该都会说明不要用内建关键字或保留字命名(这是很重要)

啊哈哈哈哈函数的删除是只有del 还有其他方法么。。

傻眼貓咪 发表于 2022-4-10 18:54:52

Victor0321 发表于 2022-4-10 18:45
啊哈哈哈哈函数的删除是只有del 还有其他方法么。。

具体看你想要什么?如题,del 最适合。

andy大宝 发表于 2022-4-11 13:43:15

如果非得不用del()的话,你也可以用一个非常损的方法:
>>> def print(a):
        return a

>>> 虽然这一招 以 毒 攻 毒 的方法基本还原了print()的功能,但还是建议直接删除函数,否则及有可能导致代码混乱{:10_256:}

andy大宝 发表于 2022-4-11 13:47:36

其实呢,我个人认为,大多数BIF都是用函数或者class()类编写成的
打开print帮助,你可以发现:
>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

>>>
页: [1]
查看完整版本: 函数,与BIF函数