python入門第十課:面向對象的類和實例簡介

2020-12-10 傫傫若遺

本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes

從這節開始介紹Python面向對象的編程方法,面向對象的方法有很多好處,讓代碼更容易共享,降低代碼耦合度,提高編程的效率等等。

面向對象主要的概念是類和實例,類就像模具,類只有一個,實例就像用模具做出的各種產品,實例可以有很多個,下面我們就用程序模擬一隻小狗。

一、類

我們可以按如下方式定義一個小狗的類,類的名稱約定用大寫字母開頭:

class Dog():'''模擬一隻狗'''def __init__(self,name,age): '''在生成狗的時候設置相關屬性''' self.name = name self.age =age print('報告主人!我的名字叫'+self.name+'我今年'+age+'歲了!')def sit(self): '''模擬小狗坐下的動作''' print(self.name + '已經坐下了!')

上面這些代碼初看有點複雜,其實很簡單,第一行是一個類的定義,縮進裡面有兩個方法(在面向對象中,我們將函數稱為方法)__init__()和site()方法,方法的名稱約定用小寫字母開頭,和類區分開來。下面進行一些說明:

1、方法__init__()

這個方法和普通的函數沒有區別,唯一不同就是當類創建一個實例的時候,會自動執行這個方法。

每個類必須有一個__init__()方法,名稱不能改變,注意init的前後各有兩個下劃線。

這個方法中的self參數是默認要有的,self代表的是實例自己,當類創建實例時會將實例傳遞給self參數。

2、屬性

我們在__init__()方法中定義兩個變量self.name和self.age,以self開頭的變量,可以被實例中的所有方法使用,這兩個變量就被稱為類的屬性。

二、實例

1、創建實例

我們需要產生一個小狗的實例,可以用下面這種方式:

Dog('小白','3')

這樣就產生了一個實例,為了方便使用實例,我們將它賦值給一個變量:

mydog = Dog('小白','3')

請看執行結果:

我們在主程序中並沒有列印什麼信息,但是輸出的結果卻有信息列印出來,這是因為類在實例化的過程中會自動調用__init__()方法,而這個方法中剛好有一條print語句,因此會有信息列印出來。

2、訪問屬性

我們也可以通過mydog這個實例列印其中的屬性,請看下面的執行結果:

3、調用方法

也可以調用mydog實例中的方法:

4、創建多個實例

可以創建多個小狗的實例,請看執行結果:

#Python入門教程#

長按文末點讚送三連,支持本文作者多寫點~

相關焦點

  • Python入門基礎之面向對象二:類和實例、方法
    前面一篇文章我介紹了python面向對象的基本知識,連結在最下面。初步解釋了面向對象和面向對象的優點,今天就開始正式用代碼來展現面向對象。1、利用class創建類Python中,創建類的語句是如下所示先解釋一下,class後面跟的是類名,括號裡面是基類(也成為父類)python3中默認繼承object。
  • 從0開始學python第8.1節-類和對象
    什麼是面向對象之前我們學習了函數,通過函數將一些特定的邏輯封裝起來。這種將代碼組織起來的方式也叫過程式編程。我們今天學習的面向對象編程則將程序做了更高維度的封裝,用人類更容易理解的方式編程。類&實例中國道德經有一句話:道生一,一生二,二生三,三生萬物,講的是世間的萬物都是從特定的模板裡生出來的。
  • Python入門第十課:類(1)
    經常會聽到面向對象的編程這個詞語,面向對象的編程的最大特徵就是提出了類和對象的概念,將遇到的各種對象抽象為類,類通常包含了這類對象共同的屬性和方法,我們通過實例化類來訪問類中的屬性和方法。舉個簡單的例子,可以把類理解為一個工廠,比如汽車加工廠,它可以生產各種各樣的汽車,但是你並不知道它是如何生產的,你只要拿到一輛該工廠生產的汽車,這輛汽車就相當於是該工廠(類)的一輛汽車(實例),這輛汽車經過該工廠的設計以後就具有一些屬性和特徵,比如可以跑起來,比如顏色是紅色的,我們只要按照說明書上的操作就可以使用這輛車了,至於為什麼踩油門就能跑你不需要知道,只需要知道踩油門它會跑就可以了
  • 十六本python入門學習書籍推薦,python入門新手必看
    書中描述了Python程序的基本構件:類型、操作符、語句、函數、模塊、類以及異常,此外還介紹了更多高級主題,包括複雜的實例,最後講述了如何使用Python定製庫來創建大型程序。6、深入淺出python《深入淺出Python》是2011年東南大學出版社出版的圖書,作者是巴裡。
  • 雲計算開發學習筆記:Python3 面向對象技術簡介
    來源:TechWeb.com.cnPython從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。本章節我們將詳細介紹Python的面向對象編程。面向對象技術簡介① 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。② 方法:類中定義的函數。
  • python面向對象,小白從零開始,python基礎入門,你會了嗎?
    Python,是一種面向對象的解釋型電腦程式設計語言,以簡單、易學、速度快等優點,是大部分想進入IT行業的從業人的選擇。IEEE發布2017年程式語言排行榜:Python超過JAVA程式語言排名第一。所以Python非常熱門的程式語言!
  • python入門——面向對象編程基礎到進階之枚舉類Enum
    ## 文章目錄 面向對象編程 @property 使用枚舉類 # 面向對象編程 ## @property 為了避免實例對象屬性的值被隨意修改
  • 如何理解python中的類和對象?
    什麼是類和對象類和對象,在我們的生活中其實是很容易找例子的。類是一種把對象分組歸類的方法。比如動物,植物就可以看作是類,而大象,獅子就可以看作一個動物類中的對象;花,草可以看作是植物類中的對象。為什麼大象和獅子就劃分為動物類,花和草就劃分為植物類呢?
  • Python學習:類和實例
    本文作者: 玄魂工作室--熱熱的螞蟻---類,在學習面向對象我們可以把類當成一種規範
  • python動態添加類對象成員:變量、函數
    一般類對象新增變量或方法的過程在面向對象(OOP)的編程方法中,如果需要給實例化的類對象新增方法或者屬性,一般都是在class類的定義中新增內容,然後才能用類對象來調用新增的方法或變量。如在C++中:pythonyu'yan那麼下面就以下圖中的代碼為例,為大家演示如何給python中的類對象動態的添加變量/屬性和方法:
  • 從零入門量化交易系列-python的面向對象
    1、面向對象基礎概念類(Class): 用來描述具有相同屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。
  • 全面深入理解 Python 類與對象
    -中.html類屬性和實例屬性查找順序屬性:在內部定義的方法或者變量使用代碼:class magic: a = 'langzi' def __init__(self,x): self.x = x def run(self): return
  • 深入理解Python 類型和對象
    Figure 1.1. 空白狀態 你可能在想為啥有兩天灰色的豎線. 後面慢慢來揭曉. 豎線是來區別不同的區域的. 這個空白圖中, 我們來逐漸加上各種對象,畫上他們之間的關係,慢慢畫滿. 這個有助於幫助我們暫且擱置先入為主的各種有關面向對象的類和對象的觀念,以對象的方式(我們這裡的對象)來理解一切。
  • Python零基礎入門教程,面向對象有哪三大特性?
    大綱(面向對象的三大特性)封裝性繼承性多態性封裝性封裝隱藏了對象的屬性和方法內部實現細節,僅對外提供公共訪問方式,類的內部可以訪問,外部不可以訪問。外部訪問私有變量或者私有方法報錯繼承性現實生活中狗與動物之間的關係,狗具有動物的全部特徵和行為,在面向對象中動物被稱為「父類」,狗被稱為「子類
  • 可能是最全的Python面向對象入門教程了
    .html面向對象編程和函數式編程(面向過程編程)都是程序設計的方法,不過稍有區別。根據需要,決定是否寫一個main函數作為程序入口面向對象編程中,將函數和變量進一步封裝成類,類才是程序的基本元素,它將數據和操作緊密地連結在一起,並保護數據不會被外界的函數意外地改變。類和和類的實例(也稱對象)是面向對象的核心概念,是和面向過程編程、函數式編程的根本區別。
  • 10個Python爬蟲入門實例
    爬蟲,準備了幾個簡單的入門實例,分享給大家。涉及主要知識點:web是如何交互的requests庫的get、post函數的應用response對象的相關函數,屬性python文件的打開,保存代碼中給出了注釋,並且可以直接運行哦如何安裝requests庫(安裝好python的朋友可以直接參考,沒有的,
  • python面向對象中的self,cls,staticmethod,classmethod
    這裡會說到:類方法,靜態方法,類屬性,實例方法等相關。一開始我並沒有get到這種做法有什麼特別妙的地方,看了眾多大佬的解讀,總結出:•減少實例化對象的開銷,如果方法沒有用到實例化的任何屬性和方法,推薦使用靜態類方法@staticmethod•屬於類的方法放到類裡面,利於組織代碼,容易閱讀。
  • 【4】類的繼承和多態-簡易的Python面向對象教程
    前言 面向對象是所有高級語言(Python,Java,C++等)的基石,是重中之重。 這個文章系列的目的是通過簡單易懂的例子,深入淺出,讓Python學習者牢固的掌握Python面向對象的概念和方法。
  • Python入門基礎之socket多線程編程,TCP伺服器和客戶端通信
    在上一篇文章中,我介紹了一下python3 socket編程的基礎,包括TCP、UDP客戶端和伺服器的建立過程(連結在最下方)。不過那個只是單線程的,伺服器一次只能和一個客戶端會話,多個客戶端的話只能等待。我們平時的應用中,伺服器肯定是要並發的,所以,今天將介紹socket編程的多線程編程。
  • opencv-python獲取圖像:面向對象與面向過程
    下面是分別用面向過程與面向對象的編程方法實現讀取本地圖像和打開攝像頭兩段代碼:# -*- coding: utf-8 -*-"""面向過程的編程方法,用函數把解決問題的步驟一步一步實現。運行環境:win10系統 python==3.6 opencv-contrib-python== 4.1.0第一行「# -*- coding: utf-8 -*-」 告訴Python解釋器,按照UTF-8編碼讀取原始碼"""import