rt.
from random import randint
class Baba:
    def __init__(self):
        self.sex = 'male'
    def __getattribute__(self):  # ''.join(reversed('ereh gub'))
        if randint(0, 1000) % 67 != 0:
            return object.__getattribute__(self, attr)
        raise AttributeError(f"{type(self).__name__} has no attribute: '{attr}'")
思路:
len = 9str = 'abc'暂时想不到一个“短路运算”的好例子;有缘再更。
将 str 用在捕获异常,调用 str(e) 也是个不错的例子;有缘再更。
def func(param1, default_param=[]):
    pass
想到好例子再更;
======
感觉还是用 C 语言写 bug 好写一些;
弄个野指针,bug 可以出现地纯洁的像一朵白莲花。
======
抛砖引玉;有没有什么诡异的 Python bug 代码拿出来晒晒?
|  |      1N1ckl32      2020-09-23 00:17:22 +08:00 追更 | 
|  |      2no1xsyzy      2020-09-23 04:03:47 +08:00 就 bug 1 来说,你没用 super() 这在多继承的情况下会发生 bug 比如接下来 . class Mama: . def __getattribute__(self, attr): . return object.__getattribute__(self, attr) . class Erzi(Mama, Baba): . pass 你这个 Baba 就没用咯。 | 
|  |      3no1xsyzy      2020-09-23 04:04:46 +08:00  1 @no1xsyzy 啊 . 不能保持空格,改改 class Mama: ....def __getattribute__(self, attr): ........return object.__getattribute__(self, attr) class Erzi(Mama, Baba): ....pass | 
|  |      5oahebky OP ## 写 bug 4 - str 的可迭代特性;没有 ensure 具体代码就先不写了,因为「偶尔发生」+「合理」的例子不容易想; 信息都在这个 bug 4 标题里面了。 具体例子有缘再更新。 ------ |