• 面向对象


    一、面向对象

    1、面向对象和面向过程

    ​ 面向过程:

    ​ 优点:复杂问题流程化,进而简单化

    ​ 缺点:可扩展性差

    ​ 面向对象:

    ​ 优点:可扩展性高

    ​ 缺点:编写复杂

    2、类与对象

    ​ 对象:属性和方法的结合体

    ​ 类:一系列共同的属性和方法

    ​ 现实生活中:先有对象再有类

    ​ 程序中:先有类再有对象

    # 定义类(类名建议用驼峰命名)
    # class关键字 类名:
    
    class Stutend:
        school = 'oldboy'
        
        def study(self):
            print('学习')
    
    # 生成对象:类加括号,生成对象
    stu_1 = Student()
    # 获取属性和方法:通过.获取
    
    print(stu_1.school)
    print(stu_1.study)
    
    # 查看类中的属性和函数
    print(Student.__dict__)
    # 类调用方法,需要传递self参数
    Student.study(123)
    # 对象调用方法,不许要传递self参数
    stu_1.study
    
    # 属性的查找顺序
    # 先从对象自身找----->类中找----->没找到就报错
    
    # 向对象放属性
    # 方式一:
    stu_1 = Student()
    stu_1.name = 'nick'
    # 方式二:通过__init__方法
    class Student:
        school = '123'
        
        def __init__(self, name):
            self.name = name
        
        def study(self):
            print('学习')
            
    # 产生对象
    stu_1 = Student('nick')
    # 当实例化对象的时候,会自动调用__init__方法,完成对象的初始化3、
    

    3、绑定方法

    # 绑定方法:
    # 		定义在类内部的方法:
    # 		如果类来调用:就是一个普通函数,有几个参数就需要传几个参数
    #		对象来调用:他叫对象的绑定方法,第一个参数不需要传,自动传递
    
    class Student:
        school = '123'
        
        def __init__(self, name):
            self.name = name
            
        def study(self):
            print(f'{self.name}学会了Python')
           
    stu_1 = Student('nick')
    stu_1.study()
    

    4、Python中一切皆对象

    Python中,字典,列表,字符串......等都是对象

    类即类型

  • 相关阅读:
    jchdl
    jchdl进展
    Verilog缺少一个复合数据类型,如C语言中的结构体
    jchdl-GSL-实例
    硬件建模-几个观点
    非阻塞赋值(Non-blocking Assignment)是个伪需求
    jchdl
    jchdl
    HDU 2686 (双线程) Matrix
    LA 3602 DNA Consensus String
  • 原文地址:https://www.cnblogs.com/17vv/p/11412545.html
Copyright © 2020-2023  润新知