鱼C论坛

 找回密码
 立即注册
查看: 1792|回复: 4

[已解决]萌新提问来啦^<..>^

[复制链接]
发表于 2021-2-25 08:49:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class Ball:
    def __init__(self,name):
        self.name=name
        def test():
            print(self.name)

    def dayin(self):
        print('打印'+self.name)
init里面可以定义函数吗?
最佳答案
2021-2-25 08:57:34
可以但是没有必要,而且你没办法访问到这个函数,
即 __init__() 里的 test() 函数只能在内部调用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-2-25 08:52:44 | 显示全部楼层
还有还有
class Person:
        name='小泽玛利亚'
这个为什么不是
class Person:
        def __init__(self,name):
                self.name='小泽玛利亚'
以上这两种有区别吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 08:57:34 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
可以但是没有必要,而且你没办法访问到这个函数,
即 __init__() 里的 test() 函数只能在内部调用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 09:00:41 From FishC Mobile | 显示全部楼层
本帖最后由 _2_ 于 2021-2-25 09:05 编辑
renjian111111 发表于 2021-2-25 08:52
还有还有
class Person:
        name='小泽玛利亚'


本质上没有区别
但还是有一个小细节
第一种方法定义的类,只有实例化之后才能对 name 进行修改
第二种方法定义的类,可以在实例化的时候直接初始化 name
# 第一种
class Person:
        name='小泽玛利亚'
# 如果需要修改需要 2 步
ps1 = Person()
ps1.name = "unknown"
# 第二种
class Person:
        def __init__(self,name):
                self.name='小泽玛利亚'
# 只需一步
ps2 = Person("unknown")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-25 09:02:45 | 显示全部楼层
_2_ 发表于 2021-2-25 09:00
本质上没有区别
但还是有一个小细节
第一种方法定义的类,只有实例化之后才能对 name 进行修改

谢谢老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 11:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表