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

歡迎訪問 生活随笔!

生活随笔

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

python

python笔记小白入门_Python 笔记:全网最详细最小白的Class类和实例详解

發布時間:2025/3/12 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python笔记小白入门_Python 笔记:全网最详细最小白的Class类和实例详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面向對象最重要的概念就是類(class)和實例(instance),類是抽象,而實例(Instance)則是一個個具體的對象

面向對象三大特點:封裝、繼承和多態

class Animal(object):

def __init__(self, name):

self.name = name # 初始化類變量

def Dog(self): # 創建類中的方法

print(self.name)

復制代碼

一、基本概念

1.1 概念

類(Class):

用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。

類變量:

類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。

數據成員:

類變量或者實例變量, 用于處理類及其實例對象的相關的數據。

方法重寫:

如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。

局部變量:

定義在方法中的變量,只作用于當前實例的類。

實例變量:

在類的聲明中,屬性是用變量來表示的。這種變量就稱為實例變量,是在類聲明的內部但是在類的其他成員方法之外聲明的。

繼承:

即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。

實例化:

創建一個類的實例,類的具體對象。

方法:

類中定義的函數。

對象:

通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

1.2 代碼實例

# -*- coding: utf-8 -*-

"""

1、全局變量:在模塊內、在所有函數外面、在class外面,這就是全局變量。

2、局部變量:在函數內、在class的方法內(未加self修飾的) ,這就是局部變量

3、靜態變量:在class內的,但不在class的方法內的,這就是靜態變量

4、實例變量:在class的方法內的,用self修飾的變量,這就是實例變量

"""

Global_Variable = "我是全局變量"

class ExampleClass(object):

Class_static_variable = "我是類靜態變量" # 靜態變量

def __init__(self, Instance_Variable): # 構造函數,sel代表對象,有Instance_Variable屬性

self.Instance_Variable = Instance_Variable # 實例變量

def study_example(self):

Local_variable = "我是一個局部變量" # 局部變量

print(Local_variable) # 輸出局部變量

print(self.Instance_Variable) # 輸出實例變量

class ChlidExample(ExampleClass):

def __init__(self, Instance_Variable, Chlid_Variable):

ExampleClass.__init__(self, Instance_Variable) # 初始化父類實例變量

self.Chlid_Variable = Chlid_Variable

def test(self):

print("學習 python的面向對象,了解變量是必須的,我是孩子變量 {},我是繼承變量:{}".format(self.Chlid_Variable, self.Instance_Variable))

Instance_Variable = "我是用來測試實例變量的"

Chlid_Variable = "我是用來測試局部變量的 "

study = ChlidExample(Instance_Variable, Chlid_Variable) # 調用子類對象

study.study_example() # 子類調用父類方法

study_child = ChlidExample(Instance_Variable, Chlid_Variable) # 調用子類對象

study_child.test() # 子類調用子類方法

復制代碼

二、面向對象三大特性解析

2.1 封裝

封裝,顧名思義就是將內容封裝到某個地方,以后再去調用被封裝在某處的內容。

所以,在使用面向對象的封裝特性時,需要:

將內容封裝到某處

從某處調用被封裝的內容

class Animal(object):

def __init__(self, name): # 初始化方法

self.name = name # 初始化類變量

def Dog(self): # 創建類中的方法

print(self.name)

def Cat(self): # 創建類中的方法

print(self.name)

info = Animal('dahuang') # 封裝到對象 info

print(info.name) # 直接調用

info.Dog() # self 間接調用

復制代碼

2.2 繼承

繼承,面向對象中的繼承和現實生活中的繼承相同,即:子可以繼承父的內容。

對于面向對象的繼承來說,其實就是將多個類共有的方法提取到父類中,子類僅需繼承父類而不必一一實現每個方法。

class Animal(object):

def __init__(self, name): # 初始化方法

self.name = name # 初始化類變量

def eat(self): # 創建類中的方法

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

def drink(self): # 創建類中的方法

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

class Dog(Animal): # 繼承Animal的 Dog

def __init__(self, name):

self.name = name #

def cry(self):

print("汪汪叫")

class Cat(Animal): # 繼承Animal的 Cat

def __init__(self, name):

self.name = name #

def cry(self):

print("喵喵叫")

child = Dog('鄰居家的貓') # 封裝到子類對象 info

child.drink() # 子類調用父類的方法

復制代碼

2.3 多態

多態,字面理解為多種形態,沒錯,就是一個方法能表現出不同的形態。

同一操作(方法)作用于不同的對象,可以有不同的解釋,產生不同的結果,而無須明確知道這個子類實際上是什么。將其上升到父類與子類的層面時,就是父類的引用指向了子類的對象。

前面所講的封裝和繼承都是為多態服務的

然而, Python屬于鴨子類型,大意是:當看到一只鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那么這只鳥就可以被稱為鴨子。

python中的鴨子類型允許我們使用任何提供所需方法的對象,而不需要迫使它成為一個子類。

多態三大前提:

要有繼承;

重寫;

父類引用指向子類對象。

class Animal(object):

def __init__(self, name): # 初始化方法

self.name = name # 初始化類變量

class Dog(Animal): # 繼承Animal的 Dog

def __init__(self, name):

self.name = name #

def cry(self):

print("%s汪汪叫" % self.name)

class Cat(Animal): # 繼承Animal的 Cat

def __init__(self, name):

self.name = name

def cry(self):

print("%s喵喵叫" % self.name)

def DuoTai(child):

print(child.cry())

child1 = Dog('鄰居家的狗') # 封裝到子類對象 info

DuoTai(child1) # 多態展示Cry方法,重寫

child2 = Cat('鄰居家的貓') # 封裝到子類對象 info

DuoTai(child2) # 多態展示Cry方法, 重寫

復制代碼

三、進階

3.1 基礎重載方法

3.2 下劃線說明

foo:

定義的是特殊方法,一般是系統定義名字 ,類似 init() 之類的。

_foo:

以單下劃線開頭的表示的是 protected 類型的變量,即保護類型只能允許其本身與子類進行訪問,不能用于 from module import *

_ _ foo:

雙下劃線的表示的是私有類型(private)的變量, 只能是允許這個類本身進行訪問了。

總結

以上是生活随笔為你收集整理的python笔记小白入门_Python 笔记:全网最详细最小白的Class类和实例详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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