zoukankan      html  css  js  c++  java
  • python面对对象

    主要的概念有:

    类:

      属性:就是变量,属性是在__init__的方法里,以参数的形式定义

      方法:函数,行为

      class Student(object);##类

        ##这个属性直接定义在类里,是一个元组,用来规定对象可以存在的属性

        __slots__(‘name’,'age','height') 

        def  __init___(self,name,age,height) ##属性

               self.name=name

          self.age=age

          self.height=height

        def  run(self) ##方法

          print("paobu")

      s1=Student("小明",23,150) ##对象

      s1.run() 

      或者

      class Student:

        pass


    s1=Student("小明",23,150)创建一个类的过程

    1、__new__方法用来申请一段内存空间;

    2、调用__init__方法传入参数,并让self指向申请好的内存空间

    3、s1变量也指向创建好的内存空间


    魔术方法

    特点:1、以__开始,以__结束

       2、不需要自己调用,会在合适的时间自己调用

         3、方法名系统已经定义好了,会在合适的时间进行调用

    举例

    __init__:创建对象时会自动调用

    __del__:对象被销毁的时候自动建立

    当打印一个对象的时候,会默认返回对象类型和内存地址。

    __str__或者__repr__:当打印的时候会自动掉这两个方法,如果二者都选,则__str__优先

    __dirct__:把对象的属性转换成字典

    __doc__:类的说明""" """

    __module__:默认打印的是___main__

    __set_item__:调用[]的时候会自动调用

    对象():s1()是调用__call__方法

    ==:会调用__eq__方法

    args:是一个元组

    **kwargs:是一个字典

    dir把对象的所有属性及方法都列出来

    类属性:模板的属性,定义在类里,但是在函数之外

    对象属性:实例的属性

    私有属性:以两个__线开始self.__money=1000,私有变量的获取方式1、  对象._类名__money  2、在类的定义的函数中,用self.__money

    @staticmethod:当一个类中的函数没有用到self,则可以通过这个定义为静态类,此时()中就不用写入self

    封装:函数是对语句的封装,类是对函数和变量的封装  

    继承:类和类之间可以手动的建立父子关系,父类的属性和方法,子类均可使用,父类又称为基类,子类又称为派生类,python中允许多继承。当同子类和父类的方法差别较大时,子类可以重写方法,子类优先。子类在父类的基础上可以有更多的属性,调用方法为super(person 类名,self).__init(age,name)

    calss Animal(object):

      pass

    class Student(Animal):

      pass    #这样Student就继承了Animal. 

    多态:多态是一种技巧,提高代码的灵活性                                                     


    print("args={},kwargs={}".format(args,kwargs))

    is:获取两个对象的内存地址

    isinstant:用来判断一个对象是否由指定的类或父类例化出来

  • 相关阅读:
    最近有点烦
    好累啊
    几招有效防电脑辐射
    发两张搞笑图片
    几招有效防电脑辐射
    English Study
    人脸识别方法(转载)
    小常识
    23、C++ Primer 4th 笔记,面向对象编程(1)
    18、C++ Primer 4th 笔记,复制控制
  • 原文地址:https://www.cnblogs.com/aslmer/p/13844064.html
Copyright © 2011-2022 走看看