PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題]class內的參考觀念
作者:
LouisFFs
(願翱翔)
2018-07-21 13:25:44
嗨囉 大家好 最近小弟在自學python
有些小觀念 有點不太清楚 想請教大家
在此版第一次發文 若有違反版關 請告知 小弟自d
code:
class Account: #(1)
pass
def account(name,number,balance):
acct=Account() #(2)
acct.name=name #(3)
acct.number=number
acct.balance=balance
return acct
想請教的是在#(1)時class定義了Account物件 然後其內容pass 不撰寫
並且我們在#(2)這邊實際建立了一個object 並將acct此參考指向建立的object
上述大概沒什麼問題
但為什麼我們做像#(3)這類型的事情
明明Account內這個物件沒有定義的個任何的變數(參考) 並pass掉
我們卻可以讓acct.name ?!
小弟有摸過一點c++跟c#
已知python所有變數皆是參考
但自學python到這邊覺得有點卡卡
怕走火入魔 請大大指點 謝謝!
作者: guaptpan (Gua)
2018-07-21 14:09:00
記得python是可以在實例中額外加上屬性的,沒記錯的話XD所以等於是新增了name屬性到acct中
https://i.imgur.com/w9S83pi.jpg
作者: windclara (null)
2018-07-21 17:34:00
可以直接加 記得是不太建議這麼做!
作者:
james732
(好人超)
2018-07-21 20:03:00
從其他語言過來真的會覺得很不習慣,我也是這樣
作者:
Yshuan
(倚絃)
2018-07-21 23:49:00
可以研究 __get__這個方法
作者:
adrianshum
(Alien)
2018-07-23 10:45:00
我自己用的理解方法是,(先不要管slot 相關的東西),一個object 可以看成一個dict, a.foo=bar 可以看成a_internal_dict[“foo”] = bar
作者:
mychiux413
(小邱)
2018-07-24 22:19:00
可以這麼做沒錯, 但建議都定義在__init__()較好讀即使未來執行某method才會獲得self.value, 也建議在__init__()時視情況先給空值self.value=None 之類的寫在class也行, 總之讓讀code第一眼就看到輪廓比較好
繼續閱讀
[問題] 匹配字串中幾種可能(找副檔名)
ponwar87123
[問題] Tensorflow 類神經網路 書籍入門推薦
ping870224
[問題] Python 2.7 + Django透過Gmail API發信
dppman
Re: [問題] 完全程式新手學Python
FoxTz
[問題] Linux下Python配置與PyQT
st1009
[問題] 關於類別方法classmethod
m06800825
[問題] PIL輸出圖如何設定DPI?
mate99
Re: [問題] 自學的順序 以及一些奇怪的問題
renshin
[問題] 自學的順序 以及一些奇怪的問題
askkkkk
[問題] Pi3 數位類比程式撰寫
briandc
Links
booklink
Contact Us: admin [ a t ] ucptt.com