为 class 函数中的参数设置条件

Setting conditions for a parameter in a class function

我正在尝试设置一个条件,在初始化新的 class 实例时只允许使用大于 0 的整数值。其他任何东西都会 return 出错。

class Circle:
    def __init__(self, radius):
        if type(radius) == 'int' and radius > 0:
            self.radius = radius 
        else:
            print("Incorrect value for radius")

circle1 = Circle(2) #output: Incorrect value for radius
circle2 = Circle(-3) #output: Incorrect value for radius
circle3 = Circle('a') #output: Incorrect value for radius

Circle 1 应该是正确的但是失败了,是不是我做错了什么允许在创建新圆时将整数值和大于 0 的整数值用于半径 class ?

type(arg) returns 类型而不是字符串类型。

您应该使用 type(radius) == int

而不是 type(radius) == 'int'