鱼C论坛

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

自学到“类”有点迷糊了 init self 这些的用途书上写的看不懂?

[复制链接]
发表于 2020-7-16 11:28:00 | 显示全部楼层 |阅读模式

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

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

x
class Car():
    def _init_(self,make,model,year):
        self.make=make
        self.model=model
        self.year=year
def zuhe_name(self):
    long_name=str(self.year)+' '+self.make+' '+ self.model
    return long_name.title()
new_car=Car("aodi","A4",16)
print(new_car.zuhe_name())

这段代码完全是按照书上一字不落的打出来了的,但是运行就是弹错。

开始学类明显感觉智商不够用了。
init self这是什么意思,在这段代码中起到的作用是什么。
        self.make=make
        self.model=model
        self.year=year
这三行中self是什么用途。
zuhe_name(self)
这行函数self的意思是什么呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-16 11:38:10 | 显示全部楼层

__init__ 是双下划线,你只打了一个下划线

zuhe_name 方法你要设置在 Car 类里面,才能通过Car的实力对象调用这个 zuhe_name 方法,所以你这里少了个缩进
class Car():
    def __init__(self,make,model,year):
        self.make=make
        self.model=model
        self.year=year
    def zuhe_name(self):
        long_name=str(self.year)+' '+self.make+' '+ self.model
        return long_name.title()
    
new_car=Car("aodi","A4",16)
print(new_car.zuhe_name())


init self这是什么意思,在这段代码中起到的作用是什么?


__init__ 魔法方法是在实例化对象后自动会调用的,主要用于定义参数和初始化数值

这里的 self 是指实例化对象,比如说你这里的 new_car=Car("aodi","A4",16) 就是成功实例化对象并赋值给了 new_car 了,此时 self 就是指 new_car 这个实例对象

而 方法内带 self 的参数叫实例属性,在其他方法中可以共用


self.make=make
self.model=model
self.year=year
这三行中self是什么用途?


就是初始化数值,将传入的参数赋值为实例属性,才能供类内的其他方法调用,否则传入的参数是局部变量,无法给其他方法使用的


这行函数self的意思是什么呢?


self 刚刚上面已经说明了,参考上面的内容

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

使用道具 举报

 楼主| 发表于 2020-7-16 13:55:30 | 显示全部楼层
Twilight6 发表于 2020-7-16 11:38
__init__ 是双下划线,你只打了一个下划线

zuhe_name 方法你要设置在 Car 类里面,才能通过Car的实力 ...

很感谢你发了这么多,还是没能看懂,我自己研究研究吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-16 22:01:01 | 显示全部楼层
小甲鱼的嫖客 发表于 2020-7-16 13:55
很感谢你发了这么多,还是没能看懂,我自己研究研究吧。

那就设置下【最佳答案】吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-21 12:57:09 | 显示全部楼层
白嫖党
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 20:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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