zoukankan      html  css  js  c++  java
  • [小甲鱼]入门学习python笔记 【类与对象】

    //定义一个类
    
    class 类名:       //类名规定大写字母开头
    ...属性....       //默认为公有
    
    def 函数名(self,...其他参数....):
        ....
    
    //
    //类的实例化——创建一个对象
    
    对象名 = 类名()
    
    //
    //self的作用
    /*与c++不同,在类中为类的属性赋值的时候,都需要加上self, 因为python不需要预先定义有哪些属性,变量名出现在左边就是定义,所以要加上self以指向这个函数所在的对象。*/

    例子:

    //python的构造方法   ----在实例化对象时自动调用
    //__init__()
    //实例化对象时传入的参数自动传入__init__()方法中

    例子:

    //在python中定义私有变量
    
    class 类名:
        __name = "小甲鱼"  //私有
        name = "小甲鱼"  //公有
    //python 中的继承
    //一个子类可以继承它的父类的任何的属性和方法
    //在子类中定义的与父类同名的方法或属性,会自动覆盖父类对应的方法或属性
    
    class 类名(被继承的类):
    
    
    
    //若在子类中重新定义了__init__()方法,在重写__init__()方法的时候先要调用基类的__init__方法。
    
    1. 调用未绑定的父类的方法
    class 子类名(父类名):
            父类名.__init__(self,...其他参数)  //调用父类__init__()函数
            ....其他操作....
         【这里的self是__init__()函数作用的子类对象而不是父类对象,】
    
    2.使用super函数
    //super函数可以自动地找到基类并传入self参数
    class 子类名(父类名):
        def__init__(self):
            super().__init__()   //调用super函数自动找到该子类对应的基类,并调用该基类的构造函数//
            ....其他操作....
    //类、类对象和实例对象
    //实例对象一旦赋值便脱离了类对象

    例子:

  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/Latticeeee/p/8643657.html
Copyright © 2011-2022 走看看