python中面向对象的常用内置方法

开始之前首先介绍一下self的用法

self:哪一个对象调用的方法,self就是哪一个对象的引用可以使用 .属性名 利用赋值语句就可以在类的外部给对象增加属性(不推荐),将对象的属性封装在类中

初始化方法

1.init()方法

当使用类名()创建对象时,Python解释器会自动执行以下操作:

1)为对象在内存中分配空间———创建对象

2)调用初始化方法为对象的属性设置初始值——初始化方法(init)

这个初始化方法是对象的内置方法,是专门用来定义一个类具有哪些属性的方法

例子:

class Cat():
    def __init__(self,name):
        print('这是一个初始化方法')
        self.name = name

    def eat(self):
        print('%s爱吃鱼' %self.name)

cat = Cat('tom')
print(cat.name)

hello_kitty = Cat('HK')
print(hello_kitty.name)
hello_kitty.eat()

执行结果

扫描二维码关注公众号,回复: 5263142 查看本文章

2.__str__方法

1)str ( ) 在Python中,如果直接输出创建的对象,会输出这个变量引用的对象是由哪一个,类创建的对象以及在内存中的地址(十六进制)

2)如果希望使用print输出对象变量,能够打印自定义的内容,就可以利用str内置方法

例子:

class Cat():
    def __init__(self,name):
        self.name = name

    def __str__(self):
        return '我是%s' %self.name


tom = Cat('粉条')
print(tom)

结果:

3.练习题

使用面向对象,实现栈的功能

class Stack():
    def __init__(self):
        self.stack = []

    def push(self,value):
        self.stack.append(value)
        return True

    def pop(self):
        #先判断栈是否为空
        if self.stack:
            item = self.stack.pop()
            return item
        else:
            return False

    def top(self):
        if self.stack:
            return self.stack[-1]
        else:
            return False

    def length(self):
        return len(self.stack)

    def view(self):
        return ','.join(self.stack)


s = Stack()
s.push('1')
s.push('2')
item = s.pop()
print(item)
print(s.view())

ok~

猜你喜欢

转载自blog.csdn.net/weixin_40543283/article/details/87549446
今日推荐