🌌 專注Golang,Python語言,云原生,人工智能領域得博主;
💜 過去經歷的意義在于引導你,而非定義你;
📢 歡迎點贊 👍 收藏 ?留言!

前言
- 類的定義
- 創建物件
- 類外部添加和獲取物件屬性
- 類內部通過self操作屬性
類的定義
# 在python中,定義類使用關鍵字 class , 語法如下
"""
# object 是所有的類基類,即最初始的類
# 類名: 遵循大駝峰的命名規范
class 類名(object):
類中的代碼
"""
# 定義方式一, 推薦
class Dog(object):
pass
# 定義方式二
class Dog1(): # 括號中的內容可以不寫
pass
# 定義方式三
class Dog2: # 括號也可以不寫
pass
"""
新式類: 直接或者間接繼承object的類, 在python3中,所有的類默認繼承object類,即python3中所有的類都是新式類
舊式類(經典類): 已經過時,不推薦使用
"""
創建物件
# 定義類
class Dog(object):
# 在類中定義的函式,稱為方法, 函式的所有知識都可以使用
def play(self): # 暫時不管self ,
print('小狗快樂的拆家中......')
# 創建物件 變數 = 類名()
dog = Dog() # 創建一個物件,dog
print(id(dog))
dog1 = Dog() # 創建一個物件 dog1
print(id(dog1))
# 可以使用物件呼叫類中的方法. 物件.方法名()
dog.play()
dog1.play()
類外部添加和獲取物件屬性
class Dog(object):
def play(self):
print('小狗快樂的拆家中.....')
# 創建物件
dog = Dog()
dog.play()
# 給物件添加屬性 物件.屬性名 = 屬性值
dog.name = '大黃' # 給dog物件添加name屬性,屬性值是 大黃
dog.age = 2 # 給dog物件添加age屬性,屬性值是 2
# 獲取物件的屬性值 物件.屬性名
print(dog.name)
print(dog.age)
# 修改屬性值 和添加一樣,存在就是修改,不存在,就是添加
dog.age = 3 # age 屬性已經存在,所以是修改屬性值
print(dog.age)
dog1 = Dog() # 新創建一個物件 dog1
dog1.name = '小白'
print(dog1.name)
類內部通過self操作屬性
class Dog(object):
# self 作為類中方法的第一個形參,在通過物件呼叫方法的時候,不需要手動的傳遞實參值,是python解釋器
# 自動將呼叫該方法的物件傳遞給self, 所以self這個形參代表的是物件
def play(self):
print(f'self: {id(self)}')
print(f'小狗 {self.name} 在快樂的拆家中.....')
# 創建物件
dog = Dog()
dog.name = '大黃'
print(f"dog : {id(dog)}")
dog.play()
print('-' * 30)
dog1 = Dog()
dog1.name = '小白'
print(f"dog1: {id(dog1)}")
dog1.play()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/330323.html
標籤:python
