python class的使用

 

1、類的定義:類(Class)用來描述具有相同的屬性和方法的對象的集合;

      它定義了該集合中每個對象所共有的屬性和方法;

      對象是類的實例。

 

2、創建類

模式:        def 類名():

        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)               

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章