gpt4 book ai didi

python - 为什么我没有针对错误输入的类属性的警告?

转载 作者:行者123 更新时间:2023-12-05 03:24:28 24 4
gpt4 key购买 nike

我有以下类(class):

class MyClass:
my_attribute1: str
my_attribute2: int

def __init__(self):
self.my_attribute1 = "value"
self.my_attribute2 = "10" # got warning Expected type 'int', got 'str'... so it works as expected
self.my_non_hinted_attribute = 100 # no warnings at all.

非类型提示属性可能是一个简单的拼写错误,所以我似乎没有针对我的拼写错误的警告......使用默认设置的 PyCharm。

问题

如果我在 self.attribute_name 中输入错误,我如何才能收到警告?

最佳答案

这是一个等效的数据类实现:

import attrs
@attrs.define(kw_only=True)
class MyClass:
my_attribute1: str
my_attribute2: int
right_attribute: float

c = MyClass(
my_attribute1="50",
my_attribute2=700,
wrong_name=55.55
)

当使用 mypy 检查时:

$ mypy example.py
example.py:8: error: Unexpected keyword argument "wrong_name" for "MyClass"

有时,编写合适的构造函数的最佳方法是让其他人(此处为attrs)为您完成。

关于python - 为什么我没有针对错误输入的类属性的警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72301705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com