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