系列文章目录
文章目录
- 面向对象的self变量
- 面向对象的init方法
- 面向对象的str方法
1,我们可以先定义一个类
class Pig:
def eat(self):
print('猪猪吃东西')
def drink(self):
print('猪猪喝东西')
pig=Pig()
pig.eat()
pig.drink()
输出结果:猪猪吃东西
猪猪喝东西
关于面向对象的self变量:self在python中的函数都会传入进去,那个对象调用方法或者属性,self就是那个对象的内存地址,在接下来的例子中我们可以看一下
class Pig:
def eat(self):
print('猪猪吃东西',id(self))
def drink(self):
print('猪猪喝东西',id(self))
pig=Pig()
pig.eat()
pig.drink()
print('---------------')
xiaopig=Pig()
xiaopig.eat()
xiaopig.drink()
输出结果
猪猪吃东西 57559312
猪猪喝东西 57559312
---------------
猪猪吃东西 57559248
猪猪喝东西 57559248
面向对象中的init方法
init()方法在创建对象的时候就执行了改内置方法
init()方法可以做什么?初始化变量
class Pig:
def __init__(self):
self.name='小猪'
self.age=23
pig=Pig()
print(pig.name)
print(pig.age)
输出结果:
小猪
23
面向对象之str方法
- 在
Python
中,使用print
输出 对象变量,默认情况下,会输出这个变量 引用的对象 是 由哪一个类创建的对象,以及 在内存中的地址(十六进制表示) - 如果在开发中,希望使用
print
输出 对象变量 时,能够打印 自定义的内容,就可以利用__str__
这个内置方法了
注意:
__str__
方法必须返回一个字符串
class Pig:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
print('%s来了'%self.name)
def __str__(self):
return ('{}今年{},他是{}'.format(self.name,self.age,self.sex))
pig=Pig('小猪',20,'男')
print(pig)
输出结果:
小猪来了
小猪今年20,他是男