python物件導向之系統函式

2021-07-22 16:53:34 字數 2396 閱讀 7139

# -*- coding: utf-8 -*-

'''__doc__ 表示類的描述資訊

__module__ 表示當前操作的物件在那個模組

__class__ 表示當前操作的物件的類是什麼

__del__ 析構方法

__call__ 物件後面加括號,觸發執行。

__dict__ 類或物件中的所有成員

__str__ 輸出該方法的返回值。

__new__() 方法是在類準備將自身例項化時呼叫

類的普通字段屬於物件;類中的靜態欄位和方法等屬於類,

'''class foo():

#靜態字段

country = '中國'

def __init__(self):

self.name = 'eric'

self.__age = 20 #這種樣式的屬於私有屬性,只有在本類中才可以呼叫,外部和子類呼叫均會報錯

def func(self):

print('eat eat eat')

#類方法

@classmethod

def class_func(cls): #必須傳乙個cls引數

print('類方法'.center(40,'+'))

#靜態方法

@staticmethod

def show():

print('show')

def __call__(self, *args, **kwargs):

print('__call__')

def __del__(self):

print('我釋放了')

#返回值

def __str__(self):

return '陳旭飛'

f = foo() #執行init方法

print(foo.__doc__)

print(f.__module__) #表示當前操作的物件在那個模組

print(f.__class__) # 表示當前操作的物件的類是什麼

f() #執行__call__方法

# 獲取類的成員,即:靜態字段、方法、

print (foo.__dict__)

#獲得物件的成員 不包括靜態字段

print(f.__dict__)

print(f) #輸出 物件 會呼叫__str__

print(''.center(80,'-'))

'''__getitem__、__setitem__、__delitem__

用於索引操作,如字典。以上分別表示獲取、設定、刪除資料

python3 之後不存在了

__getslice__、__setslice__、__delslice__

該三個方法用於分片操作,如:列表

'''class city():

def __getitem__(self, item):

print('__getitem__',item)

def __setitem__(self, key, value):

print('__setitem__',key,value)

def __delitem__(self, key):

print('__delitem__',key)

c = city()

c['a'] #自動執行 __getitem__

c['k'] = '123' #自動執行 __setitem__

del c['a'] #自動執行 __delitem__

print(''.center(80,'-'))

class bed(object):

def __init__(self,arg):

self.arg = arg

def __iter__(self): #用於迭代器

return iter(self.arg)

b = bed([11,22,33])

for i in b:

print(i)

class base(object):

def __init__(self):

print('base __init__')

class child(base):

def __init__(self):

print('child __init__')

#__new__() 方法是在類準備將自身例項化時呼叫

def __new__(cls, *args, **kwargs):

print('__new__')

return object.__new__(base,*args, **kwargs)

child = child()

print(type(child)) #

物件導向之選課系統

本週作業 角色 學校 學員 課程 講師 要求 1.建立北京 上海 2 所學校 2.建立linux python go 3個課程 linux py 在北京開,go 在上海開 3.課程包含,週期,通過學校建立課程 4.通過學校建立班級,班級關聯課程 講師 5.建立學員時,關聯班級 5.建立講師角色時要關...

Python物件導向之物件成員

任務 請修改右側 begin end 之間的 使其可以正常執行。該 的目的是求輸入資料的階乘。請在下面的begin end之間按照注釋中給出的提示編寫正確的 begin class factorial def init self,num self.num num defget value self ...

python 物件導向常用函式

issubclass 作用 檢測乙個類是否是另乙個類的子類 格式 issubclass 子類,父類 返回值 布林值 注意事項 只要存在於繼承關係中 就成立 isinstance 作用 檢測乙個物件是否是指定類的例項 格式 isinstance 物件,類 返回值 布林值 hasattr 作用 檢測類 ...