Python进阶之一

Posted GaryBlog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python进阶之一相关的知识,希望对你有一定的参考价值。

  希望前面两篇Pyhon的基础知识对于刚接触Python的新手有点用,接下来我会写面向对象方面的知识

  首先说一下继承吧。什么是继承呢,简单点说就是儿子继承老子的家产,比方说我们创建了一个people类这个类里面有name,有age等。

然后我们在创建一个student类这个类里面有stuID,有class等。我们让student继承people,那么我们在调用student的时候也可以调用people

里面的属性了。

  代码如下:

class People:
    def __init__(self,name,age):
        self.__dict__["name"]=name
        self.__dict__["age"]=age

    def __setattr__(self, key, value):
        self.__dict__[key]=value
    def __getattr__(self, item):
        return self.__dict__[item]
    def show(self):
        print("我的名字是",self.name)

#Student类继承People
class Student(People):
    a=0 #这个就是静态属性
    def __init__(self,name,age,id,stuClass):
        super().__init__(name,age)
        self.__dict__["id"] = id  #实例属性
        self.__dict__["stuClass"] = stuClass
    def __setattr__(self, key, value):
        self.__dict__[key]=value
    def __getattr__(self, item):
        return self.__dict__[item]
    def show(self):
        super().show()
        print("我的年龄是", self.__dict__["age"])

s=Student("hans",21,"12121",2) #类的实例化
print(s.name)   #输出hans
s.show()  #先执行父类在执行子类  子类重写父类的方法

1.继承

  上面的代码比如Student就继承了People,所以Student可以调用People里面的属性和方法,上面代码上都有标注,就不在累述了。

2.实例化

  在上面代码中s=Student()这个就是类的实例化了,括号里面写的是具体要传的参数

3.访问修饰符(没哟直接的访问修饰符)

  public   公开的 : 任何方法都可以调用

  private   私有的  : 只有自己可以访问   __xxx(在属性的前面加两个下划线)

  proctected  保护 : 只有自己和子类可访问  _xxx(在属性前面加一个下划线)

4.静态成员

  例如上面代码中a就是静态属性

  静态方法s=Student() Student.show(s) 静态方法用类名直接调用,需要传入一个实例

5.类里面属性的get和set

  在上年代码中在Python里面直接重写getattr和setattr

好了这篇就到这里了,如有错误请留言,谢谢:)


 

  

以上是关于Python进阶之一的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

python-面向对象进阶

30天Python入门到进阶——第6天:循环和函数

Python 初学者进阶的九大技能

Atom编辑器入门到精通 Atom使用进阶

01月11日 四周四次Python基础进阶