定义一个类
类的格式:
class 类名(父类):
类的内容
#类名后面有括号的类,称为新式类
#括号里面的内容是父类的名称;程序中,所有类的父类都是object
class Animals(object): pass print Animals
执行结果:
类的数据属性
# coding:utf-8 class Animals(object): #类的数据属性 name = 'Tom' age = 8 #访问类的数据属性 print Animals.name print Animals.age
执行结果:
类的方法
# coding:utf-8 class Animals(object): name = "Tom" age = 8 weight = 10 #类的方法=函数 #在类中定义的函数叫做方法 #类的方法中,python解释器要求第一个形参必须是self;与java中的this类似 # self实质上是类实例化后的对象本身 def eat(self): print "eating......" #类的实例化产生的就是对象; 把抽象的类创造出实际存在的事物 #p1就是实例化产生的对象 p1 = Animals() #调用类的属性 print p1.name # 调用类的方法 p1.eat()
执行结果:
扫描二维码关注公众号,回复:
6774864 查看本文章
面对对象的三大特征:封装、继承、多态
封装:
封装实际上是把数据封装到某个地方,以后再去调用被封装在某处的内容或者数据:
封装数据
调用封装数据
通过对象直接调用
通过self间接调用
# coding:utf-8 class Animals(object): # 构造方法 # 当类实例化时会自动调用__init__构造方法; # name, age, weight是必选参数,当实例化时必须要传参,否则报错; def __init__(self, name, age, weight): self.name = name self.age = age self.weight = weight # eat方法 def eat(self): print "%s eating......" %(self.name) self.weight += 2 # drink方法 def drink(self): print "%s is drinking....." %(self.name) self.weight += 1 # 对象可以实例化多个; Tom = Animals("Tom", 8, 10) Jack = Animals("Jack", 5, 3) # self实质上就是类的实例化对象 print '名字:%s 年龄:%d 体重:%d' %(Tom.name,Tom.age,Tom.weight) Tom.eat() print '目前体重:%d' %(Tom.weight) Tom.drink() print '目前体重:%d' %(Tom.weight)
执行结果:
练习1:
创建一个类(People),拥有的方法为砍柴、娶媳妇、回家。实例化对象,执行相应的方法
# coding:utf-8 class People(object): def __init__(self,name): self.name = name #砍柴 def cut(self): return "%s砍柴" %(self.name) #娶媳妇 def marry(self): return "%s娶媳妇" %(self.name) #回家 def home(self): return "%s回家" %(self.name) p1 = People('p1') p2 = People('p2') p3 = People('p3') print p1.cut() print p2.marry() print p3.home()
执行结果:
练习2:栈的数据结构
栈的方法:
入栈(push),出栈(pop),栈顶元素(top),栈的长度(lenght),判断栈是否为空(isempty),显示栈元素(view)
操作结果:
栈类的实例化
入栈2次
出栈1次
显示最终栈元素