• 类定义和对象创建


    类和对象介绍

    类即类别、种类,是面向对象设计最重要的概念,
    
    对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体
    
    在现实世界中:先有对象,再有类,对象是具体的存在,而类仅仅只是一个概念,并不真实存在
    
    #在程序中,务必保证:先定义类,后使用类产生对象
    
    PS:
     1. 在程序中特征用变量标识,技能用函数标识
     2. 因而类中最常见的无非是:变量和函数的定义

    定义类

    class 类的名称:
      # 类中的内容 描述属性和技能 
      #描述属性用变量
      #描述行为用函数
    
    #类名称 书写规范 首先是见名知意 名称是大驼峰命名法 
    #驼峰就是单词首字母大写 , 大驼峰是第一个字母大写,小驼峰是第一个字母小写
    
    #注意:
      1.类中可以有任意python代码,这些代码在类定义阶段便会执行
      2.因而会产生新的名称空间,用来存放类的变量名与函数名,可以通过类名.__dict__查看
      3.对于经典类来说我们可以通过该字典操作类名称空间的名字(新式类有限制),但python为我们提供专门的.语法
      4.点是访问属性的语法,类中定义的名字,都是类的属性,  .:专门用来访问属性,本质操作的就是__dict__

    属性

    类有两种属性:数据属性和函数属性
    
    1. 类的数据属性是所有对象共享的
    
    2. 类的函数属性是绑定给对象用的
    
     
    
    属性也可以写在对象中 
    
    对象中的属性,是每个对象独特的
    
    如果类中和对象中存在同样的属性,先访问对象 如果没有在访问类 

    属性的增删改查

    增加属性 
    对象变量名称.属性名称 = 属性值
    
    删除属性
    del 对象的变量名称.属性名称 
    
    修改 
    对象.属性 = 新的值 
    
    查看属性  访问的是对象的所有属性 
    print(对象.__dict__)
    
    访问对象的类信息
    print(对象.__class__)

    创建对象

    class 类名称:
      pass
    
    #创建对象 
     对象名称 = 类名称()
    
    创建对象  -->调用类的名称空间
    
    创建对象也称之为实例化类,定义好类后,就可以根据类创建出类的实例化对象
    
    一个类可以建多个对象,每个对象的内存都是独立的
    
    对象的精髓就是将数据和处理数据的函数整合到一起 ,这样一来拿到一个对象就同时拿到了需要处理的数据以及处理数据的函数 

    __init__方法

    __init__叫做初始化方法,本质上就是一个函数 
    
    特点1: 当实例化 对象时,会自动执行init方法
    特点2:会自动将对象作为第一个参数传入,参数名称位self ,self可以是别的名字,但不建议改
    
    功能:用户给对象赋初始值  
    
    # 强调:
    #   1、该方法内可以有任意的python代码
    #   2、一定不能有返回值

    python中类内置的特殊属性

    类名.__name__# 类的名字(字符串)
    
    类名.__doc__# 类的文档字符串(注释)
    
    类名.__base__# 类的第一个父类
    
    类名.__bases__# 类所有父类构成的元组
    
    类名.__dict__# 类的字典属性
    
    类名.__module__#类定义所在的模块
    
    类名.__class__# 实例对应的类(仅新式类中)
  • 相关阅读:
    python生成6位纯数字
    win10下配置nginx
    Unexpected end of JSON input while parsing near '…"
    el-select中显示图标/图片设置
    github上拉去代码执行 npm install报错code:128
    win10下配置多个mysql数据库
    centos7标准版命令界面和图形界面相互切换
    华为RH2288V3服务器部署指南
    datatables屏蔽警告弹窗
    迁移数据时 timestamp类型字段报错: 1067
  • 原文地址:https://www.cnblogs.com/george-007/p/11240685.html
Copyright © 2020-2023  润新知