python【面向对象(初始化方法,练习)】
1.面向对象
#面向对象两个核心概念:
#1.类:是一群具有相同特征或形为的事物的一个统称,类是抽象的,不能直接使用
#2.对象:由类创造出来的具体存在
#在开发中,应该先有类,再有对象
#类和对象的关系
#类是模板,对象是根据这个模板创建出来的
#类只需要有一个,对象可以有多个(一张图纸可以造多个飞机)
#类:属性(信息)和方法(你能完成的事)
#1.类名
#2.属性
#3.方法
#1.类名 :这类事物的名字,满足大驼峰命名法
#2.属性:这个类创建出的对象有什么特征
#3.方法:这个类创建出的对象有什么行为
需求:
小明今年18岁,身高1.75,每天早上要跑步,然后去吃东西
小美今年17岁,身高1.65,小美不跑步,但是喜欢吃东西
Person
name
age
height
run()
eat()
2.一只黄颜色的狗叫大黄
看见生人汪汪叫
看见家人摇尾巴
Dog
name
color
shout()
shake()
#self:哪一个对象调用的方法,self就是哪一个对象的引用
#可以使用 .属性名 利用赋值语句就可以在类的外部
#给对象增加属性(不推荐),将对象的属性封装在类中
2.初始化方法
3.__str__方法
4.练习
用面性对象实现栈的操作
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())