1、以下類定義中哪些是類屬性,哪些是例項屬性?
class c:
num = 0
def __init__(self):
self.x = 4
self.y = 5
c.count = 6
c.count = 6 為類的屬性,
self.x=4 以及 self.y=5 為例項屬性
2、怎麼定義私有⽅法?
定義私有方法的方式只需要在方法名前加上__即可。
3、嘗試執行以下**,並解釋錯誤原因:
class c:
def myfun():
print('hello!')
c = c()
c.myfun()
關於c最後兩行**沒有縮排,使得python的判斷c=c( )為定義類c的一部分,其次沒有在定義方法時註明self(方法的自身,但不需引數引入),導致錯誤。
改正:
class c:
def myfun(self):
print('hello!')
c = c()
c.myfun()
4.按照以下要求定義乙個遊樂園門票的類,並嘗試計算2個**+1個小孩平日票價。
要求:平日票價100元
週末票價為平日的120%
兒童票半價
class price:
def __init__(self):
self.adult = 100
self.child = 50
self.weekend = 0.2
def all(self, a, b, c):
all_price = (a * self.adult + b * self.child) * (c * self.weekend + 1)
print(int(all_price))
man = price()
man.all(2, 1, 0)
1、上面提到了許多魔法方法,如__new__,init,str,rstr,getitem,__setitem__等等,請總結它們各自的使用方法。
__new__決定是否要使用該init__方法,因為__new
可以呼叫其他類的構造方法或者直接返回別的例項物件來作為本類的例項,如果new沒有返回例項物件,則init不會被呼叫。
__init__當乙個例項被建立的時候呼叫的初始化方法。
__str__在列印物件,用%s格式化以及強制轉換資料型別時觸發。
__rstr__在沒有實現__str__以及使用%r格式化的時候 觸發。
__getitem__定義獲取容器中元素的行為,相當於self[key]。
__setitem__定義設定容器中指定元素的行為,相當於self[key] = value。
2、利用python做乙個簡單的定時器類
要求:定製乙個計時器的類。
start和stop方法代表啟動計時和停止計時。
假設計時器物件t1,print(t1)和直接呼叫t1均顯示結果。
當計時器未啟動或已經停止計時時,呼叫stop方法會給予溫馨的提示。
兩個計時器物件可以進行相加:t1+t2。
只能使用提供的有限資源完成。
import time
class clock(object):
def __init__(self):
print('未開始計時')
self.info = '未開始計時'
self.start_time = none
self.sec = none
def __str__(self):
return self.info
def __add__(self, others):
return '共計時 %f s' % (self.sec + others.sec)
def start(self):
print('開始計時')
self.start_time = time.time()
self.info = '正在計時'
def stop(self):
try:
self.sec = time.time() - self.start_time
except:
print('未開始計時或計時已結束')
else:
print('停止計時')
self.info = '已計時:%f s' % self.sec
t1 = clock() # 未開始計時
t1.stop() # 未開始計時或計時已結束
t1.start() # 開始計時
time.sleep(1)
t1.stop() # 停止計時
print(t1) # 已計時:1.010612 s
t2 = clock() # 未開始計時
t2.start() # 開始計時
time.sleep(2)
t2.stop() # 停止計時
print(t1+t2) # 共計時 3.030239 s
Java基礎之類與物件
什麼是類 類是對一類事物的抽象描述 如何寫乙個類 使用class修飾 類裡都有什麼 屬性 屬性一般都使用 名詞來修飾 行為 行為一般用 動詞來修飾 類中寫的 成員變數 例項變數 寫在 類中 方法外 成員方法 例項方法 寫在 類中 建立乙個物件 animal dog new animal 如何訪問成員...
python之類與物件(5)
python的類還有乙個特點,就是可以繼承多個類。但是我們作為測試人員,在實際中很少用到這個多繼承,這裡不就詳細 一直都不詳細,hhhh 寫了。上 1 usr bin python32 coding utf 8 3 time 2018 12 5 13 434 author yosef5 email ...
python打卡練習之類與物件
物件導向程式設計的核心就是類與物件,python也是一門物件導向的程式語言。今天就來練習一下python中的類與物件。python中可以使用class語句定義乙個類 class shape square 0 def init self print shape inited def getsquare...