rt.
写 bug 操练 👇
写 bug 1 -- 概率性抛出异常类无属性异常:
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}'")
写 bug 2 -- build-in function:
思路:
len = 9str = 'abc'
暂时想不到一个“短路运算”的好例子;有缘再更。
将 str 用在捕获异常,调用 str(e) 也是个不错的例子;有缘再更。
写 bug 3 -- 默认参数+全局变量
def func(param1, default_param=[]):
pass
想到好例子再更;
======
感觉还是用 C 语言写 bug 好写一些;
弄个野指针,bug 可以出现地纯洁的像一朵白莲花。
======
抛砖引玉;有没有什么诡异的 Python bug 代码拿出来晒晒?