小甲魚41課課後作業

2021-10-05 02:56:54 字數 2503 閱讀 1317

3.請問以下**存在什麼問題?

>>

>

class

test

:def

__init__

(self, x, y)

:return x + y

init方法只能return none

程式設計題:

0.小李做事常常丟三落四的,寫**也是一樣,常常開啟檔案又忘記關閉。你能不能寫乙個fileobject類,給檔案物件進行包裝,從而確認在刪除物件時檔案能自動關閉?

class

fileobject

:def

__init__

(self)

: name =

input()

self.article =

open

(name,

'w')

content =

input

('請輸入您想新增的內容:'

) self.article.write(content)

def__del__

(self)

: self.article.close(

)a = fileobject(

)

還是沒有利用形參來進行input操作,修改**如下:

class

fileobject

:def

__init__

(self,name,content)

: self.name = name

self.article =

open

(self.name,

'w')

self.content = content

self.article.write(self.content)

def__del__

(self)

: self.article.close(

)a = fileobject(

'c:\\users\\羊羊\\desktop\\1.txt'

,'asdasf'

)

1.按照以下要求,定義乙個類實現攝氏度到華氏度的轉換**換公式:華氏度=攝氏度*1.8+32)

要求:我們希望這個類盡量簡練地實現功能。如下:

>>

>

print

(c2f(32)

)89.6

首先發現乙個問題

class

c2f(

float):

pass

print

(c2f(32)

)輸出為32.0

此時該類是繼承了浮點的功能,所以直接輸出為32.0

class

c2f:

def__init__

(self,name)

:pass

pass

print

(c2f(32)

)__main__.c2f object at 0x00000013794cfcc8

>

此時輸出的是乙個位址,因為形參進入後傳回了乙個位址引數回來

此時列印類物件c2f()則會輸出位址

所以可以看到,除了繼承乙個靜態函式,其他直接列印類物件都會直接列印位址,繼承基類也是一樣

所以,當繼承了乙個靜態函式,那麼輸出的值是固定的,則需要用到new函式在輸出時候開闢空間重新定義在返回乙個值。所以本題可以這樣做:

class

c2f(

float):

def__new__

(cls,name)

:return

super()

.__new__(cls,name*

1.8+

32)

2.定義乙個類繼承於int型別,並實現乙個特殊功能:當傳入的引數是字串的時候,返回該字串中所有字元的ascii碼的和(使用ord()獲取乙個字元的ascii碼值)。

classa(

int)

:def

__new__

(cls,string )

: count =

0for each in string:

count = count +

ord(each)

string = count

return

super()

.__new__(cls,string)

print

(a('abcd'

))

isinstance(a,b)

a,b是否為一種型別

小甲魚第31課課後練習

0.pickle的實質是什麼?c4f nhjfhy,gki 7e,67 1.使用pickle的什麼方法儲存資料?kx l0j d19 9k owuzjiq 3.使用pickle能不能儲存為 txt 型別的檔案?8g 0a ow5ytsf 8r o n n6d4 答 可以,不過開啟後是亂碼,因為是以二...

小甲魚第27課課後練習

0.請問集合的唯一作用是什麼呢?答 集合幾乎所有的作用就是確保裡邊包含的元素的唯一性,就像世界上沒有兩片完全相同的樹葉一樣,集合內不可能存在兩個相同的元素!1.如果你希望建立的集合是不變的,應該怎麼做?答 frozenset 2.請目測以下 會列印什麼內容?num set set 1,2,3,4,5...

Oracle第七課課後作業

乙個公司有很多部門有上級部門 乙個員工有他所在的部門,根據員工編號找到他所在的所有上級部門。編號姓名部門1 張三3012李四 401編號 名稱上級部門 301財務部 1111 集團中心22 財務總監 0顯示出張三的上級部門 財務部,集團中心,財務總監 建立員工表 create table emp i...