python中有關類和物件的基本用法

2021-08-15 21:07:55 字數 1638 閱讀 5687

類:是指具有相同屬性,和行為方法(函式)的物件,的抽象的集合。

物件:是指類的具體例項化

#在python中如何宣告乙個類

# 格式:class 類名(父類):

class people(object):

pass

pass: 沒有實際意義,只是為了保證語法的完整性,    object: 基類,頂級父類(所有類的父類)

class people(object):

#如果需要在建立物件的時候,給物件屬性賦值,就可以在初始化函式中傳遞引數,給屬性賦值,如果不需要初始化物件屬性值,就不用寫

def __init__(self,name):#(類的初始化函式),在建立物件的時候自動呼叫

# 在這個函式中需要將建立物件時就應該擁有的一些屬性賦值

# 格式:物件.屬性名 = 屬性值

self.name = name

# 使用people類建立乙個物件

# 格式:物件名 = 類名()

p1 = people('小明')
# 當建立乙個物件時,會在記憶體中開闢一塊空間,來存放這個物件,這個物件是有乙個位址的

# 每次建立的物件都是乙個單獨個體,他們的記憶體位址都是不一樣的

# 獲取物件的屬性值

# 格式:物件.屬性名

name = p1.name
#使用這種格式獲取屬性值,當屬性不存在時會報錯

name = p1.sss

attributeerror: 'people' object has no attribute 'ssss'

# getattr(obj, name, default) 

obj:要獲取屬性值的物件

name:要獲取的屬性名    default:若要d當獲取的屬性不存在,會給變數乙個的預設值

name = getattr(p1, name, '小明')
#

修改物件的屬性值

# 1.物件名.屬性名 = 屬性值    屬性名存在時,修改此屬性值,當該屬性名不存在時,就是為該物件新增該屬性

p1.name = '張三'
# 2.setattr(obj, name, value)

obj:要修改屬性值的物件

name:要修改的屬性名    value:要修改的屬性值

setattr(p1, 'name', "李四")

print(p1.name)

>>>李四

#

刪除物件的屬性

# 物件的屬性被刪除之後,就不能再使用了

# 1.del 物件名.屬性名

del p1.***
# 2.delattr(obj, name)    obj:要刪除的物件    name:要刪除的物件屬性

delattr(p1, '***')

# 若刪除的屬性不存在,會丟擲 

attributeerror: sss 要刪除的屬性不存在的異常

python中有關賦值的問題

眾所周知,python的賦值和一般的高階語言的賦值有很大的不同,它是引用賦值。看下面的 1 a 5 b 8 a b 結果如下圖1 圖1開始的時候a指向的是5,b指向的是8,當a b的時候,b把自己指向的位址 也就是8的記憶體位址 賦給了a,那麼最後的結果就是a和b同時指向了8。我們可以用python...

python中有關矩陣的操作

from numpy import 匯入numpy的庫函式 import numpy as np a array 1,2,3,11,12,13,21,22,23 4,5,6,14,15,16,24,25,26 7,8,9,17,18,19,27,28,29 print a print a 1 3 讀...

Python中有關時間的模組

time 模組 datetime 模組 對date time datetime 三種時間模式進行單獨管理 datetime.date 處理日期 年 月 日 datatime.time 處理時間 時分秒,毫秒 datetime.datetime 處理日期 和 時間 datetime.timedelta...