Python:如何将对象传递给另一个类的参数?

时间:2014-10-17 22:10:09

标签: python class

我是Python新手。我试图创建一个使用其他对象函数的类,但我不知道该怎么做。任何帮助表示赞赏。谢谢!!

所以这是我想要做的一个粗略的例子

class Dog:
	def bark(self):
		print("Hello")

class DogHouse:
	def __init__(self, dog):
		self.owner = dog

	def bark2(self):
		???

所以我希望能够在DogHouse中召唤狗的吠声,但我不确定如何正确地做到这一点。

1 个答案:

答案 0 :(得分:2)

您所谈论的是object oriented programming。我建议你在大学或online上学一门关于这个主题的课程。然而,我花了很多时间来做一个快速的例子来做我认为你想要它做的事情:

class A(object):
    def __init__(self):
        print("hello world")

    def new_print(self, some_word):
        print(some_word.swapcase())

    @staticmethod
    def newer_print(some_word):
        print(some_word.lower())


class B(object):
    def __init__(self):
        print("world")

        #create the object of Class A and then call the method
        temp = A()
        temp.new_print("This is a test")

        #call the static method of Class A
        A.newer_print("Just one more test")




if __name__ == "__main__":
    #create the object for Class B
    test = B()

请注意,Class A有两种方法(__init__除外)。第一个(new_print)要求在调用方法之前实例化该类的对象。第二个(newer_print)可以静态运行。

简单地调用另一个类方法:

  1. 创建类的对象并调用它的方法或
  2. 调用类的静态方法
  3. 如果你看看B的实例化方法,你会看到这两种情况都被证明了。