如何将参数传递给 python 中的 class

How can I pass parameters to the class in python

我试过在class里面创建一个class,如何传递参数? 这是我的代码,有人可以帮我更正这段代码吗:

class student:

    def __init__(self, name, rollno, brand, ram, cpu):
        self.name = name
        self.rollno = rollno
        self.lap = self.laptop(self, brand, ram)

    def show(self):
        print(self.name, self.rollno)

    class laptop:
        def __init__(self, brand, ram, cpu):
            self.brand = brand
            self.ram = ram
            self.cpu = cpu

        def show(self):
            print(self.brand,self.ram,self.cpu)

        def __str__(self):
            return self.brand, self.ram, self.cpu

    def __str__(self):
        return self.name, self.rollno

    s1=student("Raj",3,"hp","i5",16)
    s2=student("Ram", 2, "dell", "i3", 8)
    
    s1.show()

必须通过外部class的构造函数传递内部class的参数:

class student:

    def __init__(self, name, rollno, brand, ram, cpu):
        self.name = name
        self.rollno = rollno
        self.lap = self.laptop(brand, ram, cpu)

    def show(self):
        print(self.name, self.rollno)
        self.lap.show()

    class laptop:
        def __init__(self, brand, ram, cpu):
            self.brand = brand
            self.ram = ram
            self.cpu = cpu

        def show(self):
            print(self.brand, self.brand, self.cpu)

结果:

>>> s1=student("Raj",3,"hp","i5",16)
>>> s1.show()
Raj 3
hp hp 16
>>> s2=student("Ram", 2, "dell", "i3", 8)
>>> s2.show()
Ram 2
dell dell 8