Python語言程式設計 美 梁勇 第7章習題解答

2022-10-16 20:33:20 字數 2194 閱讀 9979

第7章物件和類

7.1描述物件和它的類定義之間的關係。

答:類定義物件的特徵和行為。乙個python類使用變數儲存資料域,定義方法來完成動作。

類就是乙份契約(有時也稱之為模板或藍本),它定義物件的資料域和方法。物件是類的乙個例項,你可以建立乙個類的多個物件。建立類的乙個例項的過程被稱為例項化,術語物件和例項經常是可互換的,物件就是例項。

7.2如何定義乙個類?

答:python使用下面的語法定義乙個類:

class classname:

initializer

methods

類名通常是在關鍵詞class之後,其後緊隨乙個冒號(:),初始化程式總是被命名為__init__。

7.3如何建立乙個物件?

答:一旦定義了乙個類,你就可以使用構造方法由類來建立物件,其語法規則為:類名(引數)。

構造方法完成兩個任務,(1)在記憶體中為類建立乙個物件;(2)呼叫__init__初始化物件。

7.4初始化方法的名字是什麼?

答:__init__(self)

7.5習慣上,初始化方法的第乙個引數被命名為self,self的作用是什麼?

答:self是指向物件本身的引數。

7.6構建乙個物件的語法是什麼?python在建立乙個物件時做了些什麼?

答:構建物件的語法:類名(引數)。構造方法完成兩個任務,(1)在記憶體中為類建立乙個物件;(2)呼叫__init__初始化物件。

7.7乙個初始化程式和乙個方法的區別是什麼?

答:初始化是乙個特殊的方法,它是在建立和初始化這個新物件時被呼叫的。

7.8物件成員訪問運算子是幹什麼的?

答:是圓點運算子(.)。

7.9執行下面的程式會出現什麼問題?如何修正它?

class a:

def __init__(self, i):

= idef main():

a = a()

print

答:需要傳遞乙個實參來呼叫初始化函式。

7.10下面的程式有什麼錯誤?

答:a、沒有初始化程式b、應該是 = 3

7.11給出下面程式的輸出結果:

答:count = 100times = 0

7.12給出下面程式的輸出結果:

答:count = 0n = 1

7.13執行下面的程式時會出現什麼問題?如何修改它?

答:i為私有域,不能在類外被檢視。

7.14下面的**正確嗎?如果正確,它的輸出是什麼?

答:正確,輸出welcome

7.15下面的**正確嗎?如果不正確,修改這個錯誤。

答:不正確,on是私有域,不能被類外函式訪問。

class a:

def __init__(self, on):

self.__on = not on

def ison(self):

return self.__on

def main():

a = a(false)

print(

7.16資料隱藏的優點是什麼?在python中如何實現它?

答:隱藏資料域是使用資料域私有來保護資料,讓類更易於維護。

在python語言中,私有資料域是以兩個下劃線開始來定義的,也可以使用兩個下劃線開始來定義私有方法。私有資料域和方法可以在類內部被訪問,但他們不能再類外被訪問。

7.17如何定義乙個私有方法?

答:以兩個下劃線開頭定義方法

7.18描述面向過程和物件導向范型的不同之處。

答:面向過程范型程式設計的重點在設計函式上。而物件導向范型將資料和方法合併到物件中,使用物件導向范型的軟體設計的重點是在物件和物件上的操作。

本章總結

1.類是一種物件的模板、藍圖、合約和資料型別。它定義了物件的屬性,並提供用於初始化物件的初始化程式和操作這些屬性的方法。

2.初始化程式總是以__init__命名。每個方法的第乙個引數包括類中的初始化程式,它指向呼叫這個方法的物件。按照慣例,這個引數以self命名。

3.物件時是類的乙個例項。你使用構造方法來建立乙個物件,使用圓點運算子(.)通過引用變數來訪問物件的成員。

4.例項變數或方法屬於類的乙個例項。它的使用和每個獨立的例項相關聯。

5.類中的資料域應該被隱藏以避免被更改並使類易於維護。

6.你可以提供get方法或set方法使客戶端可以檢視或更改資料。通俗地講,get方法被稱為獲取器(或訪問器)。而set方法被稱為設定器(或修改器)。

第7章分支結構習題解答程式設計部分

題7.28 編一程式,對於給定的乙個百分制成績,輸出用像a,b,c,d,e表示的等級成績。設 90分以上為a,80 89分為b,70 79分為c,60 69分為d,60分以下為e。要求用switch語句程式設計 include stdio.h main if score 100 temp 9 els...

c語言第9章書後習題 程式設計題

第9章陣列 三 程式設計題 9.27 輸入一行數字字元,請用陣列元素作為計數器來統計每個數字字元的個數。用下標為0的元素統計字元 0 的個數,用下標為1的元素統計字元 1 的個數 include void main i char c while c getchar n for i 0 i 9 i p...

管理統計學第7章習題解答

習題7.1 1 隨機地從一批釘子中抽取10枚,測得長度 單位 cm 如下 2.11,2.14,2.10,2.13,2.15,2.13,2.12,2.14,2.12,2.13 試求這批釘子長度總體均值 及方差 2的矩估計值,並求樣本方差s2 解 2.127 0.014182 0.000201 2 設總...