Nemo
Nemo
Python_Debug
Python_Debug

1. 类没有实例化造成’TypeError: XX() missing 1 required positional argument: ‘XXX”

错误代码:

class Solution_1:
    def maxInWindows(self, num, size):
        if not num or not size:
            return []
        res = []
        for i in range(len(num) - size + 1):
            res.append(max(num[i:i + size]))
        return res


if __name__ == '__main__':
    print(Solution_1.maxInWindows([2, 3, 4, 2, 6, 2, 5, 1], 3)) #'Solution_1'没有带括号,没有被实例化

正确代码:

class Solution_1:
    def maxInWindows(self, num, size):
        if not num or not size:
            return []
        res = []
        for i in range(len(num) - size + 1):
            res.append(max(num[i:i + size]))
        return res


if __name__ == '__main__':
    print(Solution_1().maxInWindows([2, 3, 4, 2, 6, 2, 5, 1], 3)) # TODO 1.建立物件時,只需使用類名,且類名後面要帶括號!

問題Missing 1 required positional argument引出的關於python例項化的經驗教訓

2. Python中类后面带不带括号的差别

新旧类区别不在于带不带括号。而在于是否继承object吧。

类名称后面有无括号的区别

3. Python递归报错:RuntimeError: maximum recursion depth exceeded in comparison

原因:

Python中默认的最大递归深度是989,当尝试递归第990时便出现递归深度超限的错误:

RuntimeError: maximum recursion depth exceeded in comparison

解决方法:

可以手动设置递归调用深度:

>>> import sys
>>> sys.setrecursionlimit(10000000)
Nemo版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://kanghaov.com/414.html
https://secure.gravatar.com/avatar/9fd8359b8faa6f7789f9623ba6041e4a?s=256&d=identicon&r=g

kanghaov

文章作者

推荐文章

发表评论

textsms
account_circle
email

Nemo

Python_Debug
1. 类没有实例化造成'TypeError: XX() missing 1 required positional argument: 'XXX'' 错误代码: class Solution_1: def maxInWindows(self, num, size): if not num or…
扫描二维码继续阅读
2019-09-26