python基础4—面向对象

Posted zeroones

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础4—面向对象相关的知识,希望对你有一定的参考价值。

感觉和java相比一个是大公司,一个是小公司, 大公司规范有文档,小公司简约效率高

 

面向对象  
# 成员属性名称前 加上 __ 意为private
# get / set :  get_name()   set_name(name) 
class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        
    def detail(self):
        print(self.name)
        print(self.age)
      
class PrimaryStudent(Student):  # inherent
    def lol(self):
        print(can not win then run faster than others)

class CollegeStudent(Student):
    def __init__(self, name, age, gf):  # overrite构造函数
        self.name = name
        self.age = age
        self.gf = gf

    def gf_detail(self):
        print(self.gf)

obj1 = PrimaryStudent(小学生, 7)
obj1.lol()
obj1.detail()

obj2 = CollegeStudent(王思聪, 29, 张雨欣)
obj2.detail()
obj2.gf_detail()

print(dir(obj1))                            # class info as list
print(hasattr(obj1, name))        # True
setattr(obj1, name, jack)  
print(getattr(obj1, name))          # jack
print(getattr(obj1, name, 404))  # jack
fn = getattr(obj1, detail)             #7
fn()

#  实例属性和类属性
class Student(object):
    name = Student
    def __init__(self, name):
        self.name = name   # 类属性
s = Student(Bob)
s.score = 90               # 实例属性

print(s.name) 
s.name = Jack          # 给实例属性绑定name属性, 实例属性优先级比类属性高 
print(s.name)              # Jack
print(Student.name)   # Student
del s.name                 # 删除实例name属性
print(s.name)             # Student

 

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

Python之面向对象:面向对象基础

Python面向过程和面向对象基础

Python之路第六篇python基础 之面向对象

Python面向对象学习之八,装饰器

python基础4—面向对象

4.python面向对象编程基础