Python 板


LINE

class ClassName: DEFAULT_SIZE = 10 def __init__(self): self.size = ClassName.DEFAULT_SIZE 因为有时ClassName会改, 引用时如何不写死呢(self.size=...) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.28.30.42 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1640451599.A.EED.html
1F:推 OnoderaHaru: self.__class__ 12/26 01:03
直接= __class__和self.__class__会有什麽时候不同吗? ※ 编辑: ggirls (110.28.30.42 台湾), 12/26/2021 02:34:26
2F:→ panex0845: size = self.DEFAULT_SIZE 就我的认知 这行是多余的 12/26 03:37
3F:→ panex0845: 因为初始化self後 DEFAULT_SIZE本来就会从属於物件 12/26 03:41
4F:→ panex0845: 没有必要在初始化建立一个size 只会浪费记忆体空间 12/26 03:42
我题目修改成self.size ※ 编辑: ggirls (110.28.30.42 台湾), 12/26/2021 07:53:41
5F:推 s0914714: 楼上是说class attribute 赋值给instance有点多余 12/26 08:34
6F:推 s0914714: self.DEFAULT_SIZE 就是10 12/26 08:36
7F:推 lycantrope: 真要复制也可以直接写self.DEFAULT_SIZE 12/26 09:15
self.size未来会被改动,所以还是有意义。 现在比较想了解 self.size = __class__.DEFAULT_SIZE 未来会不会有料想不到的负作用? 而且在 staticmethod 中,似乎也只能用 __class__? ※ 编辑: ggirls (110.28.30.42 台湾), 12/26/2021 09:32:19
8F:推 lycantrope: ... init内写成 self.size = self.DEFAULT_SIZE就好 12/26 09:32
9F:推 lycantrope: staticmethod就不该从class内取值啊 12/26 09:34
10F:→ lycantrope: 你还有classmethod可以用吧 12/26 09:36
11F:推 poototo: self可以直接get类别变数 12/26 10:14
※ 编辑: ggirls (110.28.30.42 台湾), 12/26/2021 11:11:44
12F:推 OnoderaHaru: 稍微查了一些资料, 有错还请帮忙更正, 个人理解如下 12/26 13:15
13F:→ OnoderaHaru: https://i.imgur.com/tM4sFFY.png 12/26 13:15
14F:推 OnoderaHaru: 查到结果很多都建议使用 type(self) 避免以下副作用 12/26 13:33
15F:→ OnoderaHaru: https://i.imgur.com/8htBSwZ.png 12/26 13:34
16F:推 s0914714: __class__和self.__class__ 没有对它们赋值时两者相等 12/26 17:38
17F:→ s0914714: 如果你只是取值那就放心用吧 12/26 17:39
18F:→ stucode: __class__ 和 self.__class__ 是不一样的。 12/26 19:58
19F:→ stucode: __class__ 参考的是定义方法的类别。 12/26 19:58
20F:→ stucode: self.__class__ 则是物件实际的类别。 12/26 19:58
21F:→ stucode: 如果你的方法(包含 __init__)是在基础类别两者就有差。 12/26 19:59
22F:推 poototo: def __init__(self, size=DEFAULT_SIZE): 12/26 23:47
23F:→ poototo: init的参数可以把类别变数设为预设值 12/26 23:48
24F:推 lycantrope: 可能不想__init__内args有size吧w 12/27 13:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP