TypeError: __init__() got an unexpected keyword argument 'height'
时间: 2024-08-14 07:10:11 浏览: 98
TypeError: `__init__()` 出错通常发生在尝试创建一个类实例时,传入了一个该类初始化方法`__init__`中未预期的关键字参数 'height'。Python 中的 `__init__` 方法是用来设置对象属性的构造函数,当传递了它不期望接受的参数时,就会抛出这个错误。
比如,如果你有一个只接受 'name' 和 'age' 参数的 Person 类:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
```
当你试图创建一个 Person 实例并提供额外的 'height' 参数:
```python
person = Person('Alice', 30, height=170) # 错误
```
你会得到上述的 TypeError。解决这个问题的方法是检查你的代码,确认你是否正确地按照类定义的方式传递参数,如果需要添加新的属性,应该在类的方法里处理,而不是在 `__init__` 中。
相关问题
TypeError: __init__() got an unexpected keyword argument 'size'
This error occurs when you try to pass an unexpected keyword argument to a function or method.
For example, if you have a class called `Square` that has an `__init__` method that takes in a `width` and `height` argument, but you try to pass a `size` argument instead:
```
class Square:
def __init__(self, width, height):
self.width = width
self.height = height
square = Square(size=10)
```
You will get the `TypeError: __init__() got an unexpected keyword argument 'size'` error because `__init__` does not expect a `size` argument.
To fix this error, you should either remove the unexpected keyword argument or modify the function or method to accept it. In the above example, you could modify the `__init__` method to accept a `size` argument:
```
class Square:
def __init__(self, size):
self.width = size
self.height = size
square = Square(size=10)
```
TypeError: __init__() got an unexpected keyword argument 'img_scale'
TypeError: `__init__()` 出错通常表示你在创建某个类的对象时,传递了一个该类初始化函数`__init__`没有预期的关键字参数'img_scale'。`__init__`是Python类的构造函数,用于设置对象的初始状态。这个错误意味着你可能试图给某个类的实例化过程提供了一个它不需要的图像缩放(img_scale)选项。
例如,在一个图像处理库中,如果`ImageProcessor`类的构造函数期望的参数只有像`width`, `height`这样的,而你传递了`img_scale=0.5`,就会引发这个错误。正确的做法应该是确认传入参数是否与类的定义匹配,或者移除多余的参数,或者如果`img_scale`是一个合法的选项,确保类文档中有明确说明它是如何接受和使用的。
阅读全文