首页 > 编程语言 > 详细

python学习笔记(27) 面向对象

时间:2018-11-04 16:48:52      阅读:119      评论:0      收藏:0      [点我收藏+]

class Person:

  country = ‘China‘  #类属性 静态属性 可被类和对象调用 可用Person.country = xx修改 对于不可变类型,对象只能改自己的,不能改类的;可变数据类型都能[‘English‘]与‘English‘

  def __init__(self,*args):  #初始化方法,self对象必须传

    self.name = args[0]

    self.hp = args[1]     

  def walk(self,n):  #一般必须传self参数且写在第一个,后面可以传其他参数

    print(‘%s走走走,走了%s步‘%(self.name,n))

 

print(Person.country)  #查看类中的静态属性,不需要实例化

alex = Person(‘渣渣辉‘,100)  #alex对象 实例化

print(alex.__dict__)  #查看所有属性

alex.walk(5)  #等于Person.walk(alex,5)

Person.__dict__[‘country‘]

alex.__dict__[‘name‘]  #可以直接调用

alex.__dict__[‘name‘] = ‘二哥‘  #可以用字典形式更改,但是类的字典只能看不能改

 

 

#过程:

  #类名() 创造出一个对象,创建一个self对象(self是一个可以存储很多属性的大字典)

  #调用init方法,类命括号里的参数会被这里接收

  #执行init方法

  #返回self

 

#对象能做的事情

  #查看属性

  #调用方法

#类能做的事情

  #实例化

  #调用方法  #需要自己传self参数

  #调用类中的属性,即静态属性

  #__dict__ 对于类中的名字只能看,不能操作

 

#################################################

 

class Dog:

  def __init__(self,name1,hp1,att1,kind1):

    self.name = name1

    self.hp = hp1

    self .att= att1

    self.kind = kind1

  def bite(self,person):

    person.hp -= self.att

 

class Person:

  def __init__(self,name,hp,att,kind):

    self.name = name

    self.hp = hp

    self .att= att

    self.kind = kind

  def attack(self,dog):

    dog.hp -= self.att

jin = Dog(‘金老板‘,1000,200,‘未知‘)

alex = Person(‘Alex‘,999,199,‘未知‘)

jin.bite(alex)

python学习笔记(27) 面向对象

原文:https://www.cnblogs.com/farion/p/9904404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!