#!/usr/bin/env python
#-*- coding:utf-8 -*-##
##python內建方法
class
a: n = "a"
deff2(self):
print("
from a")
class
b(a):
n = "b"
deff1(self):
print("
from b")
#def f2(self):
#print("f2 from b")
class
c(a):
n = "c"
deff2(self):
print("
from c")
class
d(b,c):
#def __new__(cls, *args, **kwargs):#初始化類中所有構造方法,如果這樣重寫了那麼就只會執行重寫的這個方法,需要再呼叫類中的其它方法就會報錯
#print("--new--")
def__init__
(self):
print("
__init__")
self.n = 4
def__call__(self, *args, **kwargs):
print("
__call__")
'''test doc
'''#
def __del__(self):#在程式執行完後會在記憶體中自動銷燬
#print("deleteing the ....")
pass
#1、繼承類的優先順序
#d = d()
#d.f1()
#d.f2()#按照先去找b,沒有的話再去找c,c沒有的話再去找a。按照廣度優先的原則
#在老版本中經典類按照深度優先,新式類按照廣度優先,但是在3.0後無論經典類還是新式類全都按照廣度優先,因此上圖雖然是經典類但是還是廣度優先
#2、類中的內建方法
#d = d()
#print(d.__doc__) #列印出類中的字串,可以用來註釋
#print(d.__module__)#列印模組所在的檔案的名字
#obj = d() #執行__init__
#obj() #執行__call__
#print(obj.__new__):#初始化類中所有構造方法,如果這樣重寫了那麼就只會執行重寫的這個方法,需要再呼叫類中的其它方法就會報錯
#print(obj.__dict__)#將類的成員變數以字典的形式列印出來,不會列印例項變數
#metaclasses 比new都還要底層的類,如果重寫類就用到,基本不會用到
#3、類的構造 類是由type構造的
#wohaoshuai = type("wohaoshuai",(),)
#print(type(wohaoshuai)) #
#a = wohaoshuai()
#print(a.test) #123
Python裡的方法
1 str 要把一個類的例項變成 str,就需要實現特殊方法 str ,因為 python 定義了 str 和 repr 兩種方法, str...
Python字串的方法
find和rfind如果有結果將返回大於等於0的結果,無結果則返回 1 另外index方法也可以返回子字串的位置,但是如果找不到會丟擲異常...
python 列表的方法
操作 函式使用方法 備註索引 index in example index creative 1 in example 1 creative 京東 ,996 賦值in example 1 commonplace 1 commonplace 京東 ,996 in example 2 國企 855 阿里...