self 和 _init_ 方法

目录

self

1>事例

2>小结

_init_方法

1>使用方式

2>_init_的调用方法

3>小结one

4> 调用_init_方法时传递参数

5>小结two

 

self

1>事例

#定义一个类
class a:
    #方法
    def __init__(self,name):
        self.name=name
    def printname(self):
        print("名字为:%s"%self.name)
#定义一个函数
def myprint(a):
    a.printname()
one=a('迪迦')
myprint(one)
two=a('赛文')
myprint(two)

###运行
名字为:迪迦
名字为:赛文

2>小结

  • 所谓的self,可以理解为自己
  • 可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
  • 某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

_init_方法

1>使用方式

def 类名:
    #初始化函数,用来完成一些默认的设定
    def __init__():
        pass

2>_init_的调用方法

#定义一个汽车类
class car:
    def __init__(self):
        self.wheelnum=4
        self.color='黑色'
    def move(self):
        print('迪迦开着车,准备和丽娜去往夏威夷')
#创建对象
who=car()
print('车的颜色为:%s'%who.color)
print('车的轮胎为:%d'%who.wheelnum)
##运行
车的颜色为:黑色
车的轮胎为:4

3>小结one

当创建Car对象后,在没有调用__init__()方法的前提下,who就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了。

4> 调用_init_方法时传递参数

#定义汽车类
class car:
    def __init__(self,newwheelnum,newcolor):
        self.wheelnum=newwheelnum
        self.color=newcolor
    def move(self):
        print('丽娜开着车,带着大古去夏威夷')
#创建对象
who=car(4,'red')
print('车的颜色为:%s'%who.color)
print('车轮子数量为:%d'%who.wheelnum)

##运行
车的颜色为:red
车轮子数量为:4

5>小结two

  • __init__()方法,在创建一个对象时默认被调用,不需要手动调用
  • __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
  • __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖胖不胖、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值