zoukankan      html  css  js  c++  java
  • python学习笔记9-类和对象

    # -*- coding: utf-8 -*-
    # author:wyatt
    # @time:2021/9/18 20:03
    
    """
    什么是类
    - 类是具备共同特征和共同行为的事物的统称
    类的表示
    - 驼峰式命名
    - 字母数字下划线,不能数字开头,同函数
    """
    
    
    class Car:
        pass
    
    # 1.得到一个类
    
    
    print(Car)
    
    
    """
    什么是对象
    - 对象是一类事物中的一个成员(个体),object的中文是东西,对象又被称为实例
    """
    # 2.得到一个对象,实例,东西,物品
    my_car = Car()
    print(my_car)
    """
    类和对象的关系
    - 类 就相当于建造房子时的施工图纸,是一个模板,是负责创建房子(对象)的。
    """
    your_car = Car()
    print(your_car)  # 打印出来会发现内存地址不同,意味着创建了两对象
    # 两个不同的对象,不相等
    print(Car() == Car())  # 打印结果false,因为是两个对象
    
    """
    什么是类属性
    类属性:在一个类当中的所有成员都一样的特征。
    实例属性:类当中某个成员局部的特征。个体特征
    
    python 中标识类属性和实例属性
    类属性:Car1.elements
    实例属性:Car1().elements
    
    通过类修改了某个类属性后,再获取该类的属性,对象的属性会一起变
    通过对象修改某个属性之后,my_car.elements, 整个类的elements不会变,只有my_car.elements 会变
    """
    
    # 在类定义作用域当中定义一个变量,称为类属性
    
    
    class Car1:
        # 类属性、类变量
        wheel = True
        drived = True
        elements = ['塑料', '', '塑胶']
    
        # 类的里面获取类的变量
        print(f'wheel:{wheel}')
    
    
    # 类外面获取类变量
    print(Car1.elements)
    # 修改类属性
    Car1.wheel = False
    print(Car1.wheel)
    
    # 对象可以获取类变量
    my_car = Car1()
    print(my_car.elements)
    
    # 修改对象的属性
    my_car.elements = ['锂电池']  # 这里仅修改了对象的属性,不会对类的属性修改
    print(my_car.elements)
    print(Car1.elements)
    
    """
    __init__
    初始化一个对象,可以加参数,但是返回值必须为None
    self
    表示在对象的生产过程中,代表即将出生的对象的一个标记
    在类定义里面使用的,类外面不可使用
    """
    
    
    class Car2:
        elements = ['']
    
        def __init__(self, color, logo):
            # 本质还是个函数
            # 必须有self
            # 实例属性,对象.属性名称 = 'value'
            self.color = color  # 定义实例属性
            self.logo = '宝马'
            print('一个Car2的对象正在产生')
            print('先执行第一步:放底盘')
            print('再执行第二步:装车架')
            print(f'换成{color}色')
            print(f'贴上{logo}')
            print(id(self))
            # return None  __init__只能返回None,python规定的,返回不用写
    
    
    print(Car2)
    
    # 对象产生的过程,类整个模板,制造一个对象出来的过程,实例化
    # 具体的过程,在Car(),调用类当中的__init__这个函数,初始化函数
    # 可以自己指定产生对象的过程
    yuze_car = Car2(color='', logo='保时捷')
    print(yuze_car)
    # 获取实例属性:
    # - 类的里面:self.color
    # - 类的外面:yuze_car.color
    # yuze_car 和self 是相等的关系,打印出来的内存地址是一样的
    print(id(yuze_car))
  • 相关阅读:
    102. 教程:重装谷歌浏览器的教程
    IGBT知识普及
    [刷机资源] 荣耀8 E5 B391 V2 ROM集合 Xposed DPI调整等 N多自定义功能 Kangvip@HRT( 2017-9-28)
    ITPUB附件下载免输验证码 (实际下载地址的规则)
    花生壳内网穿透不再支持国外IP!
    golang 如何开发windows窗口界面
    golang 热重启
    强化go get命令
    go mod get go-git timeout
    golang单一职责原则接口设计例子
  • 原文地址:https://www.cnblogs.com/wsfsd/p/15313900.html
Copyright © 2011-2022 走看看