Python面向?qū)ο笾腴T類和對(duì)象
什么是面向?qū)ο缶幊蹋?/h2>
我們是不是聽(tīng)過(guò)面向過(guò)程,拿來(lái)放在一起對(duì)比就比較好理解了。
簡(jiǎn)單來(lái)理解,面向過(guò)程就是一切用函數(shù)解決一切文件,簡(jiǎn)單粗暴!
面向?qū)ο笫敲嫦蜻^(guò)程編程之后才出現(xiàn)了,沒(méi)有面向?qū)ο缶幊毯芏喑绦蜻€不是照樣開(kāi)發(fā)。
面向?qū)ο?,也使用函?shù),但是多了一個(gè)網(wǎng),這個(gè)網(wǎng)把一個(gè)或者多個(gè)函數(shù),和數(shù)據(jù)關(guān)聯(lián)在一起,然后稱為一類事物,也就是程序中的‘類'(class)
定義類,從具體代碼來(lái)感受吧!
面向?qū)ο缶幊?,首先提出的第一個(gè)概念就是‘class',類:
#這就是一個(gè)class的定義代碼:
class hello_class():
pass
然后通過(guò)class_name() 這樣調(diào)用來(lái)生產(chǎn)對(duì)象。
代碼稍微升級(jí)一下,我們看看:
class hello_class():
pass
#輸出類信息
print(hello_class)
print(type(hello_class))
#創(chuàng)建類的實(shí)例對(duì)象
print(hello_class())
print(type(hello_class()))
稍微補(bǔ)充一下:
print函數(shù)輸出類對(duì)象的結(jié)果:通常是<'class全名‘ object at id序列號(hào)>
下面是運(yùn)行結(jié)果:

這里我們加入新知識(shí)點(diǎn):類實(shí)例對(duì)象 , 通常直接說(shuō),實(shí)例。
實(shí)例是class產(chǎn)生的對(duì)象,所有某個(gè)hello_class對(duì)象的類型(通過(guò)type函數(shù)獲?。┒急囟ㄊ莌ello_class。
多個(gè)類和對(duì)象的觀察
看完一個(gè)類,我們?cè)倏纯磧蓚€(gè)類的對(duì)比,結(jié)果也是一致的。
下面是兩個(gè)類的定義和生成對(duì)象的代碼展示:
#!/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)建類對(duì)象實(shí)例的時(shí)候這個(gè)函數(shù)會(huì)被調(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)建對(duì)象
s2 = student()
print(s2)
p2 = programmer()
print(p2)
# 創(chuàng)建對(duì)象
s3 = student()
print(s3)
p3 = programmer()
print(p3)
稍微解釋一下:
- s1 和 p1 這兩個(gè)變量打印輸出結(jié)果是‘class'類型的。
- s11 和 p11 這兩個(gè)變量打印輸出結(jié)果是‘class'類型的,但是s1跟s11,p1跟p11 是不變的。
- s2 和 p2 這兩個(gè)變量打印輸出結(jié)果是'object'類型的。
- s3 和 p3 這兩個(gè)變量打印輸出結(jié)果是'object'類型的。
下面是運(yùn)行結(jié)果:

初始化函數(shù)被調(diào)用了打印了對(duì)象信息。
到這里,大家應(yīng)該都能知道class和object區(qū)別了吧
類: 描述了函數(shù)和屬性的固定關(guān)系
(類實(shí)例)對(duì)象: 基于這種固定關(guān)系的一個(gè)活生生的個(gè)體,它的id是變化的。
補(bǔ)充一下類的屬性(數(shù)據(jù)部分)
學(xué)委定義了一個(gè)student類,并創(chuàng)建了兩個(gè)學(xué)生對(duì)象。
直接復(fù)制運(yùn)行下面的代碼:
#!/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)行幾次看看)。
然后每個(gè)學(xué)生都有一個(gè)name屬性(攜帶姓名數(shù)據(jù)),和三個(gè)函數(shù)屬性(分別用來(lái)獲取姓名,改名,學(xué)習(xí))。
然后我們調(diào)用了每個(gè)學(xué)生的study函數(shù),輸出了各自的學(xué)習(xí)狀態(tài)。

總結(jié)
Python語(yǔ)言的簡(jiǎn)約設(shè)計(jì),使得面向?qū)ο缶幊谭浅:?jiǎn)單,輕松就定義和和獲取對(duì)象了。
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
三大Python翻譯神器再也不用擔(dān)心學(xué)不好英語(yǔ)
本文介紹了用python做一款屬于自己的翻譯詞典軟件,從此告別網(wǎng)頁(yè)搜索,文中有非常詳細(xì)的代碼示例,小伙伴們快快行動(dòng)吧,需要的朋友可以參考下2021-09-09
Python 多進(jìn)程原理及實(shí)現(xiàn)
這篇文章主要介紹了Python 多進(jìn)程原理及實(shí)現(xiàn),幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12
Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法
Excel文件是傳統(tǒng)的數(shù)據(jù)格式,但面對(duì)海量數(shù)據(jù)時(shí),用編程的方法來(lái)處理數(shù)據(jù)更有優(yōu)勢(shì),下面這篇文章主要給大家介紹了關(guān)于Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法,需要的朋友可以參考下2022-02-02
python調(diào)用c++返回帶成員指針的類指針實(shí)例
今天小編就為大家分享一篇python調(diào)用c++返回帶成員指針的類指針實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Python的Flask框架中集成CKeditor富文本編輯器的教程
在用Flask搭建網(wǎng)站時(shí)的后臺(tái)文章編輯器可以使用CKeditor,CKeditor所支持的文本樣式較多且開(kāi)源,這里我們就來(lái)看一下Python的Flask框架中集成CKeditor富文本編輯器的教程2016-06-06
windows上安裝python3教程以及環(huán)境變量配置詳解
這篇文章主要介紹了windows上安裝python3教程以及環(huán)境變量配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
python?HTTP協(xié)議相關(guān)庫(kù)requests urllib基礎(chǔ)學(xué)習(xí)
這篇文章主要介紹了python?HTTP協(xié)議相關(guān)庫(kù)requests urllib基礎(chǔ)學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

