小编dek*_*rub的帖子

将光标移动到vim中的行尾(删除最后一个单词)

我通常输入命令db在Vim中向后移除一个单词.在没有空格的行的末尾执行此操作会留下该单词的最后一个字符,因为光标开始从第二个最后一个字符中删除.

我可以按b其次de代替,但我觉得这混乱的,有时连续做很多时候它,导致unneccesary错误.我希望有一种方法可以到达终点并向后移除最后一个单词.

有没有办法做到这一点?

vim editor

3
推荐指数
1
解决办法
160
查看次数

调用类的构造函数作为其他类构造函数中的默认参数

问题

我试图在另一个类的构造函数的参数的默认赋值中调用一个类的构造函数,但是我遇到了构造函数未正确调用的问题。这里发生了什么?

代码说明

Bad类是不工作的情况和Good类是一个丑陋的解决办法来解决这个问题。Base.i每次Base.__init__调用构造函数时,该值都会增加,并且可以看出,它没有为o2对象正确增加,但似乎为每个o1,o3和正确增加o4

代码

class Base:
    i = 0
    def __init__(self):
        Base.i += 1
        self.i = Base.i

class Bad:
    def __init__(self, base = Base()):
        self.base = base

class Good:
    def __init__(self, base = None):
        if base is None:
            self.base = Base()
        else:
            self.base = base

if __name__ == "__main__":
    o1 = Bad()
    o2 = Bad()

    print("Bad:")
    print(f"o1.i: {o1.base.i}")
    print(f"o2.i: {o2.base.i}")

    o3 = Good() …
Run Code Online (Sandbox Code Playgroud)

python constructor initialization default-constructor default-arguments

0
推荐指数
1
解决办法
37
查看次数