面向对象初识

面向对象

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属性
View Code

关于可变类型的类属性python

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)

# 对象和类是单向链接
View Code

....待续ide

相关文章
相关标签/搜索