面向对象初识
Posted jiangchengcheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象初识相关的知识,希望对你有一定的参考价值。
面向对象
class Person(): #声明一个类 contry = ‘CN‘ #静态属性,类属性 def __init__(self,*args): #初始化方法,调用类时触发方法,调用之前,python帮我们创建了一个空对象self self.name = args[0] #给self的属性赋值 self.age = args[1] def walk(self,n): #方法,必须传self参数,且必须写在第一个,后面还可以有其他参数 print(self.contry) #可以调用静态属性 print(‘%s走啊走,走了%d步‘%(self.name,n)) p = Person(‘jcc‘,18) #定义一个对象p p.walk(9) #对象可以直接调用方法 Person.walk(p,7) #类可以调用方法,必须传入一个对象 print(p.name) #对象可以调用对象属性 print(p.contry) #对象可以调用静态属性 print(Person.contry) #类可以调用静态属性 # print(Person.name) #类不可以调用对象属性 print(Person.__dict__) #查看类的所有属性和方法 print(p.__dict__) #查看对象中的所有属性 p.name = ‘tff‘ #对象属性可以修改 Person.contry = ‘JP‘ #修改静态属性的值 p.contry = ‘cn‘ #并没有影响静态属性,只是为对象又添加了一个contry属性
关于可变类型的类属性
class Person(): ex = [] def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex def do(self,dosomething): print(‘%s,%s,%s,%s‘%(self.name,self.age,self.sex,dosomething)) p1 = Person(‘小张‘,18,‘男‘) p2 = Person(‘小王‘,20,‘男‘) Person.ex = [‘judy‘] p1.ex[0] = ‘elina‘ print(p2.ex) print(Person.ex) p1.ex = ‘elina‘ print(p2.ex) print(Person.ex) # 对象和类是单向连接
....待续
以上是关于面向对象初识的主要内容,如果未能解决你的问题,请参考以下文章