溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python面向?qū)ο笾蓄惡蛯ο蟮氖纠治?/h1>
發(fā)布時間:2021-12-16 17:25:25 來源:億速云 閱讀:137 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python面向?qū)ο笾蓄惡蛯ο蟮氖纠治?,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

    什么是面向?qū)ο缶幊蹋?/h3>

    我們是不是聽過面向過程,拿來放在一起對比就比較好理解了。

    簡單來理解,面向過程就是一切用函數(shù)解決一切文件,簡單粗暴!

    面向?qū)ο笫敲嫦蜻^程編程之后才出現(xiàn)了,沒有面向?qū)ο缶幊毯芏喑绦蜻€不是照樣開發(fā)。

    面向?qū)ο?,也使用函?shù),但是多了一個網(wǎng),這個網(wǎng)把一個或者多個函數(shù),和數(shù)據(jù)關(guān)聯(lián)在一起,然后稱為一類事物,也就是程序中的‘類'(class)

    定義類,從具體代碼來感受吧!

    面向?qū)ο缶幊?,首先提出的第一個概念就是‘class',類:

    #這就是一個class的定義代碼:
    class hello_class():
        pass

    然后通過class_name() 這樣調(diào)用來生產(chǎn)對象。

    代碼稍微升級一下,我們看看:

    class hello_class():
        pass
    #輸出類信息
    print(hello_class)
    print(type(hello_class))
    #創(chuàng)建類的實(shí)例對象
    print(hello_class())
    print(type(hello_class()))

    稍微補(bǔ)充一下:

    print函數(shù)輸出類對象的結(jié)果:通常是<'class全名‘ object at id序列號>

    下面是運(yùn)行結(jié)果:

    Python面向?qū)ο笾蓄惡蛯ο蟮氖纠治?></p><p>這里我們加入新知識點(diǎn):類實(shí)例對象 , 通常直接說,實(shí)例。</p><blockquote><p>實(shí)例是class產(chǎn)生的對象,所有某個hello_class對象的類型(通過type函數(shù)獲?。┒急囟ㄊ莌ello_class。</p></blockquote><h3>多個類和對象的觀察</h3><p>看完一個類,我們再看看兩個類的對比,結(jié)果也是一致的。</p><p>下面是兩個類的定義和生成對象的代碼展示:</p><pre class=#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/15 11:58 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學(xué)委 # @XueWeiTag: CodingDemo # @File : __init__.py.py # @Project : hello class student(object):     “”“學(xué)委補(bǔ)充一下:__init___ 函數(shù)為類的初始化函數(shù),在創(chuàng)建類對象實(shí)例的時候這個函數(shù)會被調(diào)用?!薄啊?     def __init__(self):         print("hello, I am student") class programmer(object):     def __init__(self):         print("hello, I am programmer") class student(object):     def __init__(self):         print("hello, I am student") class programmer(object):     def __init__(self):         print("hello, I am programmer") s1 = student print(s1) p1 = programmer print(p1) s11 = student print(s11) p11 = programmer print(p11) print("*" * 16) # 創(chuàng)建對象 s2 = student() print(s2) p2 = programmer() print(p2) # 創(chuàng)建對象 s3 = student() print(s3) p3 = programmer() print(p3)

    稍微解釋一下:

    • s1 和 p1 這兩個變量打印輸出結(jié)果是‘class'類型的。

    • s11 和 p11 這兩個變量打印輸出結(jié)果是‘class'類型的,但是s1跟s11,p1跟p11 是不變的。

    • s2 和 p2 這兩個變量打印輸出結(jié)果是'object'類型的。

    • s3 和 p3 這兩個變量打印輸出結(jié)果是'object'類型的。

    下面是運(yùn)行結(jié)果:

    Python面向?qū)ο笾蓄惡蛯ο蟮氖纠治?></p><p>初始化函數(shù)被調(diào)用了打印了對象信息。</p><p>到這里,大家應(yīng)該都能知道class和object區(qū)別了吧</p><p>類: 描述了函數(shù)和屬性的固定關(guān)系<br/></p><p>(類實(shí)例)對象: 基于這種固定關(guān)系的一個活生生的個體,它的id是變化的。</p><h3>補(bǔ)充一下類的屬性(數(shù)據(jù)部分)</h3><p>學(xué)委定義了一個student類,并創(chuàng)建了兩個學(xué)生對象。</p><p><strong>直接復(fù)制運(yùn)行下面的代碼:</strong></p><pre class=#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/15 11:58 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學(xué)委 # @XueWeiTag: CodingDemo # @File : __init__.py.py # @Project : hello class student(object):     def __init__(self, name):         self.name = name     def get_name(self):         return self.name     def set_name(self, name):         self.name = name     def study(self):         print(f"{self.name} : 好好學(xué)習(xí),天天向上!") s1= student("小白") print(s1) print(s1.get_name()) print(s1.study()) s2 = student("學(xué)委的學(xué)生粉絲:哈哈哈") print(s2) print(s2.get_name()) print(s2.study())

    我們看到他們的id總是不同的(運(yùn)行幾次看看)。

    然后每個學(xué)生都有一個name屬性(攜帶姓名數(shù)據(jù)),和三個函數(shù)屬性(分別用來獲取姓名,改名,學(xué)習(xí))。

    然后我們調(diào)用了每個學(xué)生的study函數(shù),輸出了各自的學(xué)習(xí)狀態(tài)。

    Python面向?qū)ο笾蓄惡蛯ο蟮氖纠治?></p><p class=感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python面向?qū)ο笾蓄惡蛯ο蟮氖纠治觥边@篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI