有關python類的練習題
定義乙個n維向量類:
(1)建立乙個初始化向量的成員函式
(2)過載格式化輸出函式
(3)將向量的模裝飾成屬性函式
(4)過載向量加法運算
(5)過載向量減法運算
(6)求兩向量的點積
(7)給出測試主程式
具體**如下
class
vector
:# 建立成員函式
def__init__
(self, v)
: self.v = v
# 過載格式化輸出函式
def__format__
(self, format_spec)
:return
"vector="
.format
(x=self.v)
# 將向量的模裝飾成屬性函式
@property
defnormcal
(self)
: temp =
0for i in self.v:
temp += i * i
print
("%s"
% temp**
0.5)
# 過載向量加法運算
def__add__
(self, other):if
len(self.v)
!=len
(other.v)
:return
"cant calculate"
result =
for i in
range
(len
(self.v)):
+other.v[i]
)return result
# 過載向量減法運算
def__sub__
(self, other):if
len(self.v)
!=len
(other.v)
:return
"cant calculate"
result =
for i in
range
(len
(self.v)):
-other.v[i]
)return result
# 求兩向量點積
defdot_product
(self, other):if
len(self.v)
!=len
(other.v)
:return
"cant calculate"
result =
for i in
range
(len
(self.v)):
*other.v[i]
)return result
"""以下是測試主程式
"""# 初始化兩個n維向量
class1 = vector([1
,3])
class2 = vector([2
,4])
# 格式化輸出函式呼叫
print
("{}"
.format
(class1)
)# 屬性函式呼叫
class1.normcal
# 兩向量加法
print
(class1+class2)
# 兩向量減法
print
(class1-class2)
# 兩向量點積
print
(class1.dot_product(class2)
)
python類的內建函式
str 函式如果乙個類中定義了 str 方法,那麼在列印 物件 時,預設輸出該方法的返回值。class foo def str self return wupeiqi obj foo print obj 輸出 wupeiqi iter 函式用於迭代器,之所以列表 字典 元組可以進行for迴圈,是因為...
python類中的內建函式
init init 方法在類的乙個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的初始化。注意,這個名稱的開始和結尾都是雙下劃線。例子 usr bin python filename class init.py class person def init self,name self...
內建函式 練習
print all 1,5,3 print any a ascii 1,2,開外掛程式開外掛程式 print type a a print bin 2555 print bool 0 a bytes abcde encoding utf 8 print a.capitalize a b bytear...