面向对象初识

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

....待续

以上是关于面向对象初识的主要内容,如果未能解决你的问题,请参考以下文章

Python -- 面向对象:初识

面向对象初识

初识面向对象

VSCode自定义代码片段——JS中的面向对象编程

面向对象初识

VSCode自定义代码片段9——JS中的面向对象编程