python现状_「Python」什么是self?什么是__init__:看完马上会用

a8639e641589f261d191a2d8016c01c6.png

既然没有self在预设的参数中我们就可以直接使用类(Class)中的方法,

可以看到我们直接使用Cat.run(),并没有先具体化物件~

class Cat:

def __init__():

color = 'Red'

legs = 'Long'

def run():

print('Cat is running')

Cat.run() # Cat is running

坏处是我在同一类中不能使用同一类宣告的变数或方法,什么意思呢?看下一个范例。

(2) 有self 要先具体化物件

这边可以注意到nask = Cat() 先创具体化物件,也就是把我们的猫咪设计图做成猫叫nash。

而后再用我们生成的物件nask去呼叫方法.run(),nask.run()就打印出Cat is running Long,

你会发现一件事如果使用self在同一类(Class)中不同方法(def)间也可以使用前面有加上self.的变数或者方法,

在run(self)里面用了__init__时宣告的变数self.legs。

class Cat:

def __init__(self):

self.color = 'Red'

self.legs = 'Long'

def run(self):

print('Cat is running', self.legs) # 可以在同一類中呼叫有冠上self的變數及方法

nask = Cat() # 先創具體化物件

nask.run() # Cat is running Long

(3) __init__是什么?

就是物件在具体化的时候会把__init__(self)底下的运算逻辑等先执行一遍,

在nask = Cat()具体化物件的时候,__init__里面都被执行一遍了,所以打出Cat say hi。

class Cat:

def __init__(self):

self.color = 'Red'

self.legs = 'Long'

print('Cat say hi')

def run(self):

print('Cat is running', self.legs) # 可以在同一類中呼叫有冠上self的變數及方法

nask = Cat() # 先創具體化物件

nask.run() # Cat is running Long

'''執行

Cat say hi

Cat is running Long

'''

(4) __init__预设参数

在__init__(self, name)的参数因为具体化物件时会执行,所以在具体化物件时间先给,

可以在下面执行看到先具体化物件打印出Cat say hi,而后执行nask.run()打印出Cat is running Long及恩恩。

class Cat:

def __init__(self, name):

self.color = 'Red'

self.legs = 'Long'

self.name = name

print('Cat say hi')

def run(self):

print('Cat is running', self.legs)

print(self.name)

nask = Cat('恩恩') # __init__的參數具體化物件時要先給

nask.run() # Cat is running Long

'''執行

Cat say hi

Cat is running Long

恩恩

'''

三、后记

其实你会发现self就是在class里面沟通的桥梁!

而__init__只是python的惯用法在具体化物件时要先执行的方法。

#python#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值