看板 Python 關於我們 聯絡資訊
※ 引述《Luos (Soul)》之銘言: : 各位好~ : 小弟是第一次寫Python : 從java跳到Python總有點怪怪的... : 第一個遇到的問題是Python的constructor要怎麼做? : 通常在java時 會做一個object來傳入一些數值到constructorr裡 : 但是Python好像完全不一樣... : 剛剛爬了爬精華區也找不到有關constructor的文章.. : 小弟第一次發文 如有錯誤請多多包含>"< : 感謝各位的幫忙XD~~ class MyLover(object): def __init__(self, username, age): self.username = username self.age = age lover1 = MyLover('audrey', 20) lover2 = MyLover('madeleine', 23) print lover1.username, lover1.age print lover2.username, lover2.age 希望有幫上忙 :) -- 誠徵PHP網站工程師,熟MVC架構 http://blog.eddie.com.tw/ 全職、兼職可,意者請敲 :) http://www.eddie.com.tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.139.9
Luos:喔喔 了解了~~ 還真是簡單易懂XD 感謝幫忙XD 01/26 03:00
Luos:對不起 能請叫一下要怎麼做Object嗎? 01/26 03:12
不是很確定你指的"做object"的意思 是不是想要說類似在java裡面的"new"這個關鍵字? 以上面的例子來說,lover1 = MyLover('audrey', 20) 就是以MyLover這個類別,做一個lover1的object(我比較習慣叫它instance)出來 有錯再請指正 :)
Luos:我做了A=B(1) 可是他說 name 'B' is not defined 01/26 03:14
※ 編輯: aquarianboy 來自: 122.116.139.9 (01/26 03:31)
Luos:我把lover1 = MyLover('audrey', 20)放再另一個class裡 不過 01/26 03:44
Luos:它說找不到 MyLover 我把兩個class再同一個資料夾裡 01/26 03:45
Luos:NameError: name 'MyLover' is not defined 01/26 04:02
喔,那誤會大了 python不像java一樣強制規定每個class都存成同名檔案 而且一個檔案裡可以放多個class也是ok的 假設我把上面的例子存成aabbcc.py 那進入python的互動介面: >>> from aabbcc import MyLover >>> lover1 = MyLover('audrey', 20) <--這樣應該就找得到了 如果你還不熟悉from ... import ...是做什麼的 建議先別管類別的事了,先從基本的開始練習囉 其實,有別的程式語言背景不是壞事 只是當要跳到新的語言時,盡量只要帶過來"參考"就好 :) BTW, http://docs.python.org/index.html 是個不錯的開始 ※ 編輯: aquarianboy 來自: 122.116.139.9 (01/26 04:15)
Luos:OMG 成功了....太感謝了~~~ 01/26 04:21
Luos:我正在看那個說=.=....請問一下怎麼做function call? 01/26 04:46
Luos:從一個class叫另一個class的method 比如說 lover1.XXX() 01/26 04:47
ericsk:你寫的就是答案呀 XD 01/26 14:40
Luos:結果是function要加個self=.= 謝謝啦XD 01/27 05:05