码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象初识

时间:2018-09-05 19:46:09      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:必须   lap   class   view   参数   walk   name   初识   []   

面向对象

技术分享图片
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

关于可变类型的类属性

技术分享图片
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

....待续

面向对象初识

标签:必须   lap   class   view   参数   walk   name   初识   []   

原文地址:https://www.cnblogs.com/jiangchengcheng/p/9593712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!