• Python 学习day19


    pyhon day19 博客整理

    面向过程和面向对象

    什么是面向对象

    ​ 面向对象指的是一门编程思想

    面向过程编程

    ​ 面向过程核心是'过程'二字,过程指的是做事情的步骤,即先做什么再去做什么

    ​ 该编程思想写程序,类似于工厂车间的流水线

    ​ 优点:

    ​ 逻辑清晰,将复杂的问题流程化,进而简单化

    ​ 缺点:

    ​ 可扩展性差

    面向对象编程

    ​ 面向对象编程核心是'对象'二字,对象指的是特征与技能的结合体

    ​ 基于该编程思想编写程序,就类似于创造,去创建各个类和对象

    ​ 优点:

    ​ 可扩展性高

    ​ 缺点:

    ​ 编写程序的复杂度要远远高于面向过程编程思想

    ​ 对象是特征和技能的结合体,类是一系列对象相同的特征与技能的集合体

    ​ 如何定义类:

    ​ 首先定义类,后调用类去创造对象

    定义类的语法:

    ​ def 函数名():

    ​ class 类名():

    ​ 对象相同的特征'

    ​ 对象相同的技能

    ​ class : 用来定义类,class 后面跟的是类名

    ​ 类名: 类的名字,用来调用创造的对象

    attention : 类名必须要遵循驼峰命名法

    定义类发生的事情

    1. 类在定义时,会产生一个空的名称空间

    2. 会把类内部所有名字,扔进类的名称空间中

      attention : 类在定义阶段就已经产生好了名称空间,执行python文件时会执行类内部的代码

    #学生类
    class OldboyStudent:
        #特征
        school = 'oldboy'
        #技能
        def learn(self)
        	print('learn python...')
        def choose_course(self):
            print('choose_course...')
            
    #OldboyStudent ---> 会指向类的名称空间
    print(OldboyStudent.__dic__)  #查看类的名称空间内所有名字
    print(OldboyStudent.__dic__.get('school'))   #oldboy
    
    #改
    OldboyStudent.school = 'oldgirl'
    #增
    OldboyStudent.address = 'shanghai'
    #删
    del OldboyStudent.address
    

    对象

    创建对象

    语法

    ​ 类名 + ()调用类产生对象 ---> 类的实例化

    名称空间的产生:

    1. 类的名称空间在类定义阶段就已经产生
    2. 对象的名称空间,在调用类时产生
    
    class OldboyStudent:
        #特征
        school = 'oldboy'
        #技能
        def learn(self):
            print('learn pyhton...')
        def choose_course(self):
            print('choose_course...')
    stu1 = OldboyStudent()  #学生对象
    print(stu1.school)
    stu1.learn()
    stu1.choose_course()
    

    实例化

    ​ 类名加括号就是实例化,会自动触发__int__函数的运行,可以用它来给每个实例定制自己的特征

    ​ self : 在实例化时自动将对象/实例本身传给__init__的第一个参数

    #学生类
    class OldboyStudent:
        #若__init__中有self以外的参数,调用类时必须在括号内传入参数
        def __init__(self,name,age,sex):
            self.name = name 
            self.age = age
            self.sex = sex
        #特征
        school = 'oldboy'
        #技能
        def learn(self):
            print('learn python...')
            
        def choose_course(self):
            print('choose_course...')
            
    stu1 = OldboyStudent('jack',18,'male')
    '''
    ****调用类发生的事情
    	1. 首先会产生一个空的对象,就是产生'对象的名称空间'
    	2. 会自动触发__init__
    	2.会把对象本身以及括号内的参数一并传给__init__函数
    	
    ****总结:调用类会产生一个对象,调用类的过程叫做类的实例化,产生对象称之为类的一个实例
    '''
    
    #查看类的名称空间
    print(OldboyStudent.__dict__)
    #查看对象的名称空间
    print(stu1.__dict__)
    

    对象与类的查找顺序

    1. 对象.属性,若对象本身有,则优先查找对象自己的
    2. 若对象本身没有,则去类里找,若类没有,则报错

    对象绑定方法

    类内部的函数主要是给对象用的:

    ​ 1.由类来调用类内部的函数,该函数只是一个普通的函数

    ​ 普通函数需要接收几个参数就得传入几个参数

    1. 由对象来调用称之为对象的绑定方法

      不同的对象调用该绑定方法,则会将不同的对象传入该绑定方法中

      -------对象的绑定方法,是由对象来调用的

      ​ 特殊之处就是把对象当做第一个参数传入该方法中

    stu1 = OldboyStudent('rose',19,'female')
    
    stu1.choose_course('python')
    
  • 相关阅读:
    js键盘事件以及键盘事件拦截
    GO-&获取地址与*解引用
    Go-map
    第22课
    第21课
    第20课
    基于spring+quartz的分布式定时任务框架
    DeepLearning (三) 预处理:主成分分析与白化
    白化whitening
    如何使用RestTemplate访问restful服务
  • 原文地址:https://www.cnblogs.com/samoo/p/11644483.html
Copyright © 2020-2023  润新知