色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡述python空類和實例屬性賦值

jf_78858299 ? 來源:梯閱線條 ? 作者:小梯子 ? 2023-02-21 10:30 ? 次閱讀

1.1 空類

python類主體沒有任何內容,只有pass語句,稱為空類。

1.2 obj.attr屬性賦值

通過obj.attr=value進行類和實例屬性賦值。

NO 場景 描述
1 類添加屬性 (1) 類添加屬性,用于記錄數據。(2) 實例沒屬性,實例取類屬性。
2 實例修改屬性 (1) 實例修改類不可變屬性,相互間不影響。(2) 實例修改類可變屬性,指向同一值,相互影響。
3 實例新增屬性 (1) 實例新增屬性,只屬于本實例。(2) 實例新增屬性,用于記錄數據,一個實例相當于一條記錄。

綜上,

類添加屬性,用于各個實例共享,通常添加實例共有屬性,非個性化屬性。

實例添加屬性,用于記錄不同屬性。

文件

E:\\documents\\F盤\\testclass.py

class Record:pass

if __name__ == '__main__':
   # 添加類屬性(數據屬性)
   Record.name = '梯閱線條'
   Record.age = '18'
   print('Record.姓名:{},年齡:{}'.format(Record.name,Record.age))
   
   # 實例共享類屬性
   r1 = Record()
   r2 = Record()
   print('r1.姓名:{},年齡:{}'.format(r1.name,r1.age))
   print('r2.姓名:{},年齡:{}'.format(r2.name,r2.age))
   
   # 修改實例屬性,只影響實例本身,根據屬性搜索樹優先讀取實例屬性
   r1.name = 'r1.name'
   r1.age = 'r1.age'
   
   r2.name = 'r2.name'
   r2.age = 'r2.age'
   
   print('Record.姓名:{},年齡:{}'.format(Record.name,Record.age))
   print('r1.姓名:{},年齡:{}'.format(r1.name,r1.age))
   print('r2.姓名:{},年齡:{}'.format(r2.name,r2.age))
   
   # 實例新增屬性只屬于當前實例
   r1.sex = '男'
   r2.sex = '女'
   try:
       print('Record.姓名:{},年齡:{},性別:{}'.format(Record.name,Record.age,Record.sex))
   except Exception as e:
       print('Record.姓名:Record.name,年齡:Record.age,性別:Record.sex.=>{}'.format(e))
   print('r1.姓名:{},年齡:{},性別:{}'.format(r1.name,r1.age,r1.sex))
   print('r2.姓名:{},年齡:{},性別:{}'.format(r2.name,r2.age,r2.sex))

示例

# 打開cmd,執行下面示例
E:\\documents\\F盤>python testclass.py
Record.姓名:梯閱線條,年齡:18
r1.姓名:梯閱線條,年齡:18
r2.姓名:梯閱線條,年齡:18
Record.姓名:梯閱線條,年齡:18
r1.姓名:r1.name,年齡:r1.age
r2.姓名:r2.name,年齡:r2.age
Record.姓名:Record.name,年齡:Record.age,性別:Record.sex.=>type object 'Record' has no attribute 'sex'
r1.姓名:r1.name,年齡:r1.age,性別:男
r2.姓名:r2.name,年齡:r2.age,性別:女

1.3 類屬性-dict,class,bases

NO 屬性 描述
1 **dict ** 類和實例的屬性字典。 實例無本身屬性則為空。
2 **class ** 查看實例所屬類。
3 **bases ** 查看指定類名的直接超類元組。 實例對象沒有bases屬性。

文件

E:\\documents\\F盤\\testclass.py

class Record:pass

class MyRecordA(Record):
   pass
   
class MyRecordB(MyRecordA):
   pass
   
class MyRecordC(MyRecordB,MyRecordA):
   pass

if __name__ == '__main__':
   Record.name = '梯閱線條'
   Record.age = '18'

   r1 = Record()
   r2 = Record()
   r1.name = 'r1.name'
   r1.age = 'r1.age'
   r1.sex = 'r1.sex'
   
   # __dict__ 屬性字典
   print('Record.__dict__.keys()={}'.format(list(Record.__dict__.keys())))
   # r1賦值實例,屬性字典非空
   print('r1.__dict__.keys()={}'.format(list(r1.__dict__.keys())))
   # r2 空實例,屬性字典為空
   print('r2.__dict__.keys()={}'.format(list(r2.__dict__.keys())))
   
   # __class__ 查看實例所屬類
   print('Record.__class__={}'.format(Record.__class__))
   print('r1.__class__={}'.format(r1.__class__))
   
   # __bases__ 查看指定類名的直接超類元組
   print('Record.__bases__={}'.format(Record.__bases__))
   print('MyRecordA.__bases__={}'.format(MyRecordA.__bases__))
   # MyRecordB 的 直接超類為 MyRecordA,不包括 Record
   print('MyRecordB.__bases__={}'.format(MyRecordB.__bases__))
   print('MyRecordC.__bases__={}'.format(MyRecordC.__bases__))
   try:
       print('r1.__bases__={}'.format(r1.__bases__))
   except Exception as e:
       # 實例對象沒有 __bases__ 屬性
       print('r1.__bases__={}'.format(e))

示例

# 打開cmd,執行下面示例
E:\\documents\\F盤>python testclass.py
Record.__dict__.keys()=['__module__', '__dict__', '__weakref__', '__doc__', 'name', 'age']
r1.__dict__.keys()=['name', 'age', 'sex']
r2.__dict__.keys()=[]
Record.__class__=<class 'type'>
r1.__class__=<class '__main__.Record'>
Record.__bases__=(<class 'object'>,)
MyRecordA.__bases__=(<class '__main__.Record'>,)
MyRecordB.__bases__=(<class '__main__.MyRecordA'>,)
MyRecordC.__bases__=(<class '__main__.MyRecordB'>, <class '__main__.MyRecordA'>)
r1.__bases__='Record' object has no attribute '__bases__'

1.4 類外定義方法

可以在class外定義方法,然后給類或實例調用。

文件

E**: \\documents\\F盤\\testclass .**py

class Record:pass

# 類外定義方法
def printRecord(self):
   print('self.姓名:{},年齡:{}'.format(self.name,self.age))

if __name__ == '__main__':
   Record.name = '梯閱線條'
   Record.age = '18'

   r1 = Record()
   r2 = Record()
   r1.name = 'r1.name'
   r1.age = 'r1.age'
   
   # 普通函數使用
   printRecord(Record)
   printRecord(r1)
   printRecord(r2)
   
   # 賦值給類進行使用
   Record.printRec = printRecord
   Record.printRec(Record)
   r1.printRec()
   r2.printRec()

示例

# 打開cmd,執行下面示例
E:\\documents\\F盤>python testclass.py
self.姓名:梯閱線條,年齡:18
self.姓名:r1.name,年齡:r1.age
self.姓名:梯閱線條,年齡:18
self.姓名:梯閱線條,年齡:18
self.姓名:r1.name,年齡:r1.age
self.姓名:梯閱線條,年齡:18
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Value
    +關注

    關注

    0

    文章

    11

    瀏覽量

    8709
  • python
    +關注

    關注

    56

    文章

    4813

    瀏覽量

    85319
收藏 人收藏

    評論

    相關推薦

    如何使用Python? 優勢有哪些?

    ,它描述了事務的共性。在搜索類屬性時,python首先找到實例,然后在實例中找到屬性,當找不到時,它將在
    發表于 07-30 18:08

    Python中的方法、實例方法和靜態方法?

    Python實例屬性實例方法Python中類屬性
    發表于 11-05 06:25

    請問Python中的方法、實例方法和靜態方法是什么?

    Python中的方法、實例方法和靜態方法
    發表于 11-09 07:13

    python的理解與使用

    python的理解與使用1. 通俗理解(英文名 class),是具有相同特性(屬性)和行為(方法)的對象(
    發表于 03-07 16:51

    python的多態和的property屬性

    property ,其實是 Python 中一個內置的裝飾器,它可以在新式中把一個函數 改造 成屬性。當你讀取屬性值時,會進入被 property 裝飾的函數。當你對
    發表于 03-09 16:38

    python的理解與使用

    python的理解與使用 1. 通俗理解 (英文名 class),是具有相同特性(屬性)和行為(方法)的對象(
    的頭像 發表于 03-07 16:51 ?1724次閱讀

    python的多態和的property屬性

    python的多態 多態,是指在同一型下的不同形態。 比如下面這段代碼 class People: def speak(self): passclass American(People
    的頭像 發表于 03-09 16:37 ?1334次閱讀

    SystemVerilog中的賦值

    當我們聲明一個時還沒有分配內存,只有在實例化(new())時才會分配內存。這個時候對象句柄指向被分配的內存,下面是對象句柄賦值的示例。
    的頭像 發表于 11-21 10:35 ?1003次閱讀

    簡述python實例及構造函數基礎

    個入參。 方法可以通過實例(比如,I2.w())或(C3.w(I2))進行調用。 通過實例調用時,第一個入參通常為self,python會自動傳入。
    的頭像 發表于 02-21 11:23 ?793次閱讀

    Python屬性和方法是什么

    編程中我們用來創建對象。日常生活中的汽車設計圖就是我們Python中的。日常生活中的小汽車就是Python中的對象。
    的頭像 發表于 02-23 10:17 ?979次閱讀

    Python中的和對象詳解

    Python 是一種面向對象的編程語言,它支持和對象。是一種用戶自定義的數據類型,用于定義對象的屬性和方法。對象是
    的頭像 發表于 04-20 16:53 ?1305次閱讀

    Python中元的作用

    1.什么是 在理解元之前,我們必須先掌握Python中的(class)。 和大多數語言一樣,Python中的
    的頭像 發表于 11-02 11:18 ?644次閱讀
    <b class='flag-5'>Python</b>中元<b class='flag-5'>類</b>的作用

    python循環創建變量并賦值

    循環是Python編程中非常重要的一個概念,它可以讓我們輕松地重復執行某些代碼塊,從而簡化編程過程并提高代碼的效率。在循環中,我們經常需要創建變量并賦值,這是非常常見的操作。接下來,我將詳盡地解釋在
    的頭像 發表于 11-23 14:51 ?1868次閱讀

    proteus屬性賦值工具怎么用

    Proteus是一種電路設計和仿真軟件,在進行電路設計和仿真時,屬性賦值是非常重要的步驟。屬性賦值工具可以幫助用戶快速有效地配置電路元件的屬性
    的頭像 發表于 02-23 17:19 ?5085次閱讀

    mapgis如何給區屬性賦值

    MapGIS是一款功能強大的地理信息系統軟件,它提供了豐富的功能和工具,使用戶能夠對地理數據進行快速、高效的管理和分析。其中一個重要的功能就是給區屬性賦值,即對地圖中的區域進行分類和標記,以便更好
    的頭像 發表于 02-23 17:49 ?2554次閱讀
    主站蜘蛛池模板: 久久婷婷色香五月综合激情 | 娇小老少配xxxxx | 国产色综合久久无码有码 | 亚洲.欧美.中文字幕在线观看 | 亚洲专区区免费 | 性生交片免费无码看人 | 黑人开嫩苞 | 20岁中国男同志china1069 20岁αsrian男同志免费 | 5G在线观看免费年龄确认18 | 日本美女bb| 亚洲国产中文在线视频 | 伦 乱真实故事 | 久久久久激情免费观看 | yellow视频免费观看 | 国产激情一级毛片久久久 | 国产精品大全国产精品 | 天美传媒在线观看免费完整版 | 色欲久久99精品久久久久久AV | 国产剧情福利AV一区二区 | 一个人免费视频在线观看高清版 | 国产成人久久精品AV | 国产精品色无码AV在线观看 | 国产激情文学 | 亚洲 视频 在线 国产 精品 | 国产69TV精品久久久久99 | 免费网站在线观看国产v片 免费完整版观看 | 88福利视频| 含羞草在线 | 97超碰97资源在线观看 | 国产a级黄色毛片 | 国产99九九久久无码熟妇 | 欧美亚洲国产手机在线有码 | 蜜臀色欲AV无人A片一区 | 国产精品久久毛片A片软件爽爽 | 窝窝色资源站 | 日韩美女爱爱 | 国产精品久久人妻无码网站一区L | 天天操狠狠操夜夜操 | 又色又爽又黄gif动态视频 | 两个奶被男人揉了一个晚上 | 骚妇BB双飞插|