python class的使用

 

1、类的定义:类(Class)用来描述具有相同的属性和方法的对象的集合;

      它定义了该集合中每个对象所共有的属性和方法;

      对象是类的实例。

 

2、创建类

模式:        class 类名():

        def __init__(self,名称1,名称2):   #调用__init__方法,名称即所需要的属性

          self.名称1 = 名称1      #将属性重新赋值,保证后续调用方便

          self.名称2 = 名称2

        def *_类名(self):                                 #定义方法

          print('属性输出')

        def *_类名(self):                          #定义方法

          print(‘输出属性’)


创建一个名为Restaurant 的类,其方法__init__() 设置两个属性:restaurant_name 和cuisine_type 。创建一个名
为describe_restaurant() 的方法和一个名为open_restaurant() 的方法,其中前者打印前述两项信息,而后者打印一条消息,指出餐馆正在营业。
根据这个类创建一个名为restaurant 的实例,分别打印其两个属性,再调用前述两个方法。

class restaurant():
    def __init__(self,name,type):
        self.name = name
        self.type = type
    def discribe_restaurant(self):
        print('该店铺名字是%s,店铺状态是%s'%(self.name,self.type))
    def open_restaurant(self):
        print('该店现在%s'%self.type)

3、调用方法

#赋值操作:自定义名 = 类名(属性1,属性2)
#
self.name = 类名(name,type) #注意不需要self #self.name.定义的类名() my_restaurant = restaurant('xiaobaicoffe','正在营业') my_restaurant.discribe_restaurant() my_restaurant.open_restaurant()

4、修改属性 

可直接修改

例:

# 创建一个名为User 的类,其中包含属性first_name 和last_name ,还有用户简介通常会存储的其他几个属性。在类User 中定义一个名
# 为describe_user() 的方法,它打印用户信息摘要;再定义一个名为greet_user() 的方法,它向用户发出个性化的问候。
# 创建多个表示不同用户的实例,并对每个实例都调用上述两个方法。
class user():
    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

    def describe_user(self):
        print('my name is %s%s' % (self.first_name, self.last_name))

    def greet_user(self):
        print('hello %s' % self.first_name)


_user = user('Keven''li')                                    
_user.describe_user()
_user.greet_user()

#方法一:直接修改first_name
_user.first_name='zhu'
_user.last_name = 'tom'

#方法二:通过update方法进行修改
def update_first_name(self,first_name):    #重新定义一个update 并赋予另一个需要修改的参数
    self.first_name = first_name
_user.update_first_name('liu')     #修改直接调用并赋值

5、继承:

class class_name1():            #父类

  def __init__(self,name,type):
  self.name=name

  self.type = type

  ...

class class_name2(class_name1):  #将父类名加到参数里

  def __init__(self,name,type)  #初始化父类属性

    super().__init__(name,type)               
原文地址:https://www.cnblogs.com/zsf-note/p/11019316.html