python光速入门笔记2

目录

1.  pip工具的使用

 2. 自定义模块(本质是py文件)

    2.1 使用方法1 import 模块名

     2.2 使用方法2  from 

 3. 面向对象---类

       3.1 类的介绍

        3.2 类的定义

    3.3  self关键字 

   3.4 构造函数和析构函数(也叫魔术方法) 

       3.4.1 构造函数

       3.4.2 析构函数 

      3.5  类属性和对象属性

       3.5.1 类属性的访问

       3.5.2  对象属性的访问

      3.6  修改类属性值 

     3.7.1 子类继承父类

      3.7.2 带构造函数的继承 

  3.7.3  多继承

3.8   类方法和静态方法

 3.8.1 @classmethod 类方法

 3.8.2 @staticmethod 静态方法

 3.9 私有属性和私有方法

 3.9.1 私有属性及其访问

3.9.2 类的私有方法及其访问 

 3.10 多态


 

1.  pip工具的使用

     pip是专门用来安装和卸载python相关扩展的工具,除此外在pycharm编译器上也可以安装。

python光速入门笔记2_第1张图片

 python光速入门笔记2_第2张图片

 2. 自定义模块(本质是py文件)

    2.1 使用方法1 import 模块名

python光速入门笔记2_第3张图片

     2.2 使用方法2  from 

 全部模块中的方法全部导入,不管你用哪个都可以python光速入门笔记2_第4张图片

 具体到引用模块中的哪一个方法python光速入门笔记2_第5张图片

 3. 面向对象---类

       3.1 类的介绍

           类的实例化就叫对象,与c++中类似。

python光速入门笔记2_第6张图片

        3.2 类的定义

           python:   class 类名():

                                   类体

           c++             class 类名{

                           }  

       python类的实例化与c++略有区别,但通过对象访问类的成员,python和c++一样python光速入门笔记2_第7张图片

    3.3  self关键字 

         self 表示的是当前对象,哪个对象调用类的函数,self就表示哪个对象

python光速入门笔记2_第8张图片

   3.4 构造函数和析构函数(也叫魔术方法) 

          python光速入门笔记2_第9张图片

  

       3.4.1 构造函数

         作用和c++的构造函数作用差不多,都是对类的成员初始化,但python中,类的对象要初始化的成员写在构造函数__init__(self, 成员1,成员2) 的参数列表中,构造函数名以“两个下划线开始”

python光速入门笔记2_第10张图片

       3.4.2 析构函数 

            当类的对象被销毁时触发,函数名规定为__del__(self)

  python光速入门笔记2_第11张图片

      3.5  类属性和对象属性

        类属性定义在类体中,对象属性在构造函数的参数列表中

 python光速入门笔记2_第12张图片

       3.5.1 类属性的访问

        通过类名和对象名字都可以访问到类的属性 

python光速入门笔记2_第13张图片

       3.5.2  对象属性的访问

          对象的属性只能通过对象名字去访问,不能通过类名去访问 

python光速入门笔记2_第14张图片

      3.6  修改类属性值 

        类的属性:    通过类修改类的属性时,对所有的对象都生效,通过对象修改类的属性时,只是动态地给当前对象添加一个新属性,并不能修改类属性,其它对象访问类属性时,还是原来的值。

 python光速入门笔记2_第15张图片

      对象的属性: 通过对象和类都可以修改对象的属性,但它们在内存中不是同一个

python光速入门笔记2_第16张图片

python光速入门笔记2_第17张图片

3.7 面向对象的继承

python光速入门笔记2_第18张图片

     3.7.1 子类继承父类

python光速入门笔记2_第19张图片

      3.7.2 带构造函数的继承 

              

             python光速入门笔记2_第20张图片

#父类
class person():
    def __init__(self,name,age) :
        self.name = name
        self.age  = age
    def say():
        print("说话的方法")

class boy(person):
     #方法 1.子类构造函数中调用父类的构造函数,去初始化那些从继承父类的属性
     def __init__(self,name,age,high): #子类构造函数参数列表中先写父类的属性,再写子类自己的属性   
     #   person.__init__(self,name,age) #初始化从父类继承来的属性 

    #方法 2.隐式继承父类构造函数
        super().__init__(name,age) #super不带参数 super(person,self)
        self.high = high   
evan = boy("张三",28,168)
print(evan.name,evan.age,evan.high)

运行结果:

张三 28 168

  3.7.3  多继承

     多继承与单继承原理一样,只需要把单继承的步骤多做一遍就行

    class  子类名(父类1,父类2):

              1.子类构造函数 依次调用父类的构造函数初始化从父类那里继承来的成员

              2.接着初始化子类自己的成员

       如果一个类没有继承,则默认父类是object,这个可写,也可省略不写。   

3.8   类方法和静态方法

python光速入门笔记2_第21张图片 python光速入门笔记2_第22张图片

 3.8.1 @classmethod 类方法

           用 @classmethod 装饰器修饰的成员函数叫做类方法,,有一个默认参数cls,cls代表的是当前类,可以通过类名和对象名调用

python光速入门笔记2_第23张图片

 python光速入门笔记2_第24张图片

 3.8.2 @staticmethod 静态方法

          使用@staticmethod 修饰的成员函数叫静态方法,也可以通过类名和对象名调用。

python光速入门笔记2_第25张图片

 3.9 私有属性和私有方法

      定义时都是以两个下划线开头  __

python光速入门笔记2_第26张图片

 3.9.1 私有属性及其访问

        只能在类的内部访问,比如类的成员方法中,不能在外部访问。

python光速入门笔记2_第27张图片

 python光速入门笔记2_第28张图片

在类的内部方法中, 私有属性需要满足某些条件才能被访问python光速入门笔记2_第29张图片

3.9.2 类的私有方法及其访问 

         也只能在类的内部的public方法中才能访问,并且要满足一定的条件才能访问

 python光速入门笔记2_第30张图片 

 python光速入门笔记2_第31张图片

 3.10 多态

      最简单的多态,子类对父类函数的重写

      严格意义上的多态体现,把一个类当作参数,传给另一个类的成员函数,当这个成员寒湖是运行时,不同的类参数,就会得到不同的结果,让具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容(功能)的函数,多态就是一个函数接口,可以实现多种功能。

 

 这里的animal就是一个类,传入不同的类feed就能实现不同的功能。 

python光速入门笔记2_第32张图片

你可能感兴趣的:(python光速入门,python,开发语言)