在學習python的是後遇到點小問題,記錄下來以後忘了再來看看。
一. python2 和python3在繼承父類的時候是不同的。super() 是乙個特殊的函式,幫助python將父類和子類關聯起來。在python3中,直接使用如下**:
class father():第一種def __init__(self,make,kkk,aaa)
~~snip~~
class son(father):
super().__init__(make,kkk,aaa)
class father():第二種def __init__(self,make,kkk,aaa)
~~snip~~
class son(father):
super(son,self).__init__(make,kkk,aaa)
class father():二. 在執行過程中還遇到了乙個問題。def __init__(self,make,kkk,aaa)
~~snip~~
class son(father):
father.__init__(self,make,kkk,aaa) # 注意此處引數含self
遇到如下的報錯,上網查詢發現是呼叫物件函式的時候沒有加 () .
>如下:
#encoding=utf-8
classcar(object):
def__init__(self,make,model,year):
"""初始化描述汽車的屬性"""
self.make =make
self.model =model
self.year =year
self.odometer_reading =0
defget_descriptive_name(self):
"""返回整潔的描述性資訊"""
long_name =str(self.year) +' '+self.make +' '+self.model
returnlong_name.title()
defread_odometer(self):
"""列印一條指出汽車里程的訊息"""
print("this car has "+str(self.odometer_reading) +" miles o it.")
defupdate_odometer(self,mileage):
"""將里程表讀數設定成指定的值"""
self.odometer_reading =mileage
classelectriccar(car): #繼承car的類
def__init__(self,make,model,year):
"""初始化父類的屬性"""
super(electriccar,self).__init__(make,model,year)
my_tesla =electriccar('tesla','model s','2016')
print(my_tesla.get_descriptive_name)
加了括號後就執行正常了。
在最後一行:print(my_tesla.get_descriptive_name)改為
print(my_tesla.get_descriptive_name()) 就解決問題了。
python問題記錄
今天才python群裡看到乙個問題 python2.7 l x for x in hello print lprint x python3.4 l x for x in hello print l print x 兩者都可以列印出 l h e l l o 但是只有python2.7可以列印出變數x的...
python爬蟲問題記錄
環境搭建 基本庫框架 打碼平台 pycharm官方使用文件 python命名規範 python中文文件 啟動參考 cd d e mongodb bin mongob dbpath e mongodb data db 驗證是否啟動成功 啟動參考 cd d e redis redis server re...
ios 學習 問題 記錄
一 重新加入storyboard 黑屏並且提示以下錯誤 解決方案 1 在general編輯標籤中,deployment info 部分,main inte ce 彈出的標籤中選擇對應的storyboard 2 新增檢視控制器 在storyboard 的identity inspector 中選擇你需...