Python类的定义

class Animal(object):
    def __init__(self, name, num):
        self.name = name
        self.num = num

    def printNum(self):
        print("%s有%s个" % (self.name, self.num))

dog = Animal("哈士奇", 99)
pig = Animal("佩奇", 199)
dog.printNum() ---------------> 哈士奇有99个
pig.printNum() ----------------> 佩奇有199个
  • 类名通常用大写字母开头
  • 通过定义init方法绑定类属性
  • 类主要用于封装实例属性和方法,类外部可以直接调用printNum方法,不用考虑实例的name,num属性值
  • object是父类,代表继承关系

私有变量

class Animal(object):
    def __init__(self, name, num):
        self.__name = name
        self.__num = num

    def get_name(self):
        return self.__name

    def set_name(self, name):
        self.__name = name

dog = Animal("哈士奇", 99)
dog.set_name("阿拉斯加")
print("%s" % dog.get_name()) -------------> 阿拉斯加
  • 属性名前加双下划线表示私有变量,外部不可以直接访问
  • 通过写get_name和set_name,实现外部对类属性的读写
  • 这样可以检测外部传入值,让程序更加可靠

你可能感兴趣的:(Python类的定义)