鱼C论坛

 找回密码
 立即注册
查看: 2346|回复: 7

__init__(self)的使用疑问

[复制链接]
发表于 2020-12-23 15:47:45 | 显示全部楼层 |阅读模式

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

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

x
import random as r
class Big():
    def __init__(self):
        self.ww = r.randint(0,10)    # "ww"可以随意替换吗?按照init的使用方法,不是要加上一个ww参数吗?这里self.ww为什么不用再init定义ww?
        print("我的位置是:",self.ww)
        


import random as r
class Big():
    def __init__(self,ww):
        self.ww = r.randint(0,10) #
        print("我的位置是:",self.ww)
        

以上2种写法有什么区别?在init方法当中,self.ww是标准吗?还是说可以任意替换?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-23 16:11:30 | 显示全部楼层
两种写法,其实ww都是可以任意替换的。第二种写法中,第二种方法,赋值的ww和self.ww值不是一个数值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-24 11:25:50 | 显示全部楼层
chipeyown 发表于 2020-12-23 16:11
两种写法,其实ww都是可以任意替换的。第二种写法中,第二种方法,赋值的ww和self.ww值不是一个数值。

self.xx是规定必须这样写,还是说可以只用一个字母或者一串字母代替   比如 改成  r.randint(0,10),这样写会对程序造成其他什么影响吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-24 20:11:41 | 显示全部楼层
__init__(self,)相当于类的初始化,当你的初始化里面有参数时你在生成实例化对象的时候必须要带参数,如果你不加(默认不加),你实例化出来的对象不需要加参数。两种方法都是可以支持的,只是实例化对象一个带参数一个不带参数的区别。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-28 09:40:24 | 显示全部楼层
xwzg123 发表于 2020-12-24 20:11
__init__(self,)相当于类的初始化,当你的初始化里面有参数时你在生成实例化对象的时候必须要带参数,如果 ...

class Big():
    def __init__(self):
        self.ww = r.randint(0,10)   
        print("我的位置是:",self.ww)

比如这个函数当中,还没有实例化,那么self.ww是什么意思呢?相当于已经实例化了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-3 20:42:05 | 显示全部楼层
ggn871107 发表于 2020-12-28 09:40
class Big():
    def __init__(self):
        self.ww = r.randint(0,10)   

可以把self.ww当做一个变量,但是你没有实例化时内存会分配一个16进制数(人为看不懂的数字)给他,只有你实例化了,才会产生随机数,实例化出来后才会直接打印出结果,self.ww仅仅作为变量而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-5 18:26:35 | 显示全部楼层

import random as r
class Big():
    def __init__(self):
        self.ww = r.randint(0,10)

class Big():
    def __init__(self,ww):
        self.ww=ww

这样对比一下明白了没
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 20:44:34 | 显示全部楼层
第二种里 括号里的 ww 和 self.ww 都不是一个东西,有什么好比较的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 22:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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