日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python面向对象的基本概念_面向对象的概念和基本语法,python,学习,笔记,一,基础...

發布時間:2023/12/19 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python面向对象的基本概念_面向对象的概念和基本语法,python,学习,笔记,一,基础... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概念

1.

特點

:注重對象和職責,不同的對象承擔不同的職責。更大的封裝,在一個對象中封裝多個方法。

2.

(1)創建

對象

的,包含屬性和方法。先有類,再有對象。不同對象之間的屬性可能不同。

(2)設計。三要素:類名(滿足大駝峰命名法,名詞提煉法)、屬性、方法。大駝峰命名法:CapWords 每個單詞的首字母大寫、單詞與單詞之間沒有下劃線。

二、面向對象基礎語法

1.dir內置函數

使用內置函數dir傳入標識符,可以查看對象內所有的屬性及方法。dir(demo)

__方法名__格式的方法,是python提供的內置方法/屬性。

2.定義簡單的類

(1)定義類

class 類名: # 大駝峰

def 方法1(self,參數列表) # 方法的第一個參數必須是self

pass

def 方法2(self,參數列表)

pass

(2)創建對象

對象 = 類名()

(3)實例

小貓愛吃魚,小貓要喝水。

class Cat:

def eat(self): #哪一個對象調用的方法,self就是哪一個對象的引用

print("小貓愛吃魚")

def drink(self):

print("小貓要喝水")

tom = Cat() # 使用類名加()創建一個對象,Cat()

tom.eat()

tom.drink()

3.方法中的self參數

(1)給對象添加屬性的簡單方式(不推薦)

在類的外部,定義完對象后,直接通過:對象名.屬性 添加即可

tom.name = "Tom"

單步調試技巧:打斷點------debug------F8 (F7是進入函數內部)

(2)設置對象屬性

哪一個對象調用的方法,self就是哪一個對象的引用

class Cat:

def eat(self):

print("%s 愛吃魚" % self.name)

def drink(self):

print("%s 要喝水" % self.name)

tom = Cat()

tom.name = "Tom"

tom.eat()

tom.drink()

輸出:

Tom 愛吃魚

Tom 要喝水

4.初始化方法

(1)__init__方法是專門用來定義一個類具有哪些屬性的方法

(2)使用類名()創建對象時,為對象分配空間、自動調動__init__方法

(3)在__init__方法內部使用self.屬性名 = 屬性初始值 就可以定義屬性。

class Cat:

def __init__(self):

self.name = "Tom"

def eat(self):

print("%s 愛吃魚" % self.name)

# 使用類名()創建對象的時候,會自動調用初始化方法 __init__

tom = Cat()

tom.eat()

輸出:Tom 愛吃魚

(4)改造初始化方法

存在的問題: 調用的每個對象名字都叫Tom

解決:在類的__init__中設置形參,在調用對象時傳入實參

class Cat:

def __init__(self,new_name):

self.name = new_name

def eat(self):

print("%s 愛吃魚" % self.name)

tom = Cat("Tom")

tom.eat()

lazy_cat = Cat("大懶貓")

lazy_cat.eat()

輸出:

Tom 愛吃魚

大懶貓 愛吃魚

5.內置方法和屬性

(1)__del__方法

使用類名()創建對象時,為對象分配空間、自動調動__init__方法

當一個對象被從內存銷毀前,會自動調用__del__方法

因此,如果希望在對象被銷毀前,在做一些事情,可以考慮__del__方法

class Cat:

def __init__(self,new_name):

self.name = new_name

print("%s 來了" % self.name)

def __del__(self):

print("%s 走了" % self.name)

# tom 是一個全局變量,當所有代碼執行完成后,系統才會銷毀tom

tom = Cat("Tom")

# 但 del 關鍵字可以刪除一個對象

del tom

print("-" * 50)

輸出:

Tom 來了

Tom 走了

--------------------------------------------------

(2)__str__方法

直接print(對象名),默認輸出所屬的類和對象的內存地址。<

main

.Cat object at 0x00000221217E9708>

若在類的初始化中使用__str__,當print(對象名)的時候,就可以打印自定義的內容。

注意:__str__必須返回一個字符串。

class Cat:

def __init__(self,new_name):

self.name = new_name

print("%s 來了" % self.name)

def __del__(self):

print("%s 走了" % self.name)

def __str__(self):

return "我是一小貓[%s]" % self.name # 必須返回一個字符串

tom = Cat("Tom")

print(tom)

輸出:

Tom 來了

我是一小貓[Tom]

Tom 走了

總結

以上是生活随笔為你收集整理的python面向对象的基本概念_面向对象的概念和基本语法,python,学习,笔记,一,基础...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。