zoukankan      html  css  js  c++  java
  • day18 面向对象

    ---恢复内容开始---

    1.1类的相关知识

    声明

    def functionName(args):
        "函数文档字符串"
        """函数体"""
    class  类名:
        """类的文档字符串"""
        """类体"""
    #我们创建一个类
    class Date:
        pass
    #声明函数vs声明类

    属性

    class Person:   #定义一个人类
        role = 'person'  #人的角色属性都是人
        def walk(self):  #人都可以走路,也就是有一个走路方法
            print("person is walking...")
    
    
    print(Person.role)  #查看人的role属性
    print(Person.walk)  #引用人的走路方法,注意,这里不是在调用

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

    实例化的过程就是类--->对象的过程

    原本我们只有一个Person类,在这个过程中,产生了一个egg对象,有自己具体的名字,攻击力和生命值

    语法:对象名=类名(参数)

        self

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

    一:我们定义的类的属性到底存到哪里了?有两种方式查看
    dir(类名):查出的是一个名字列表
    类名.__dict__:查出的是一个字典,key为属性名,value为属性值
    
    二:特殊的类属性
    类名.__name__# 类的名字(字符串)
    类名.__doc__# 类的文档字符串
    类名.__base__# 类的第一个父类(在讲继承时会讲)
    类名.__bases__# 类所有父类构成的元组(在讲继承时会讲)
    类名.__dict__# 类的字典属性
    类名.__module__# 类定义所在的模块
    类名.__class__# 实例对应的类(仅新式类中)
    

      

    1.2 对象的相关知识

    class 类名:
        def __init__(self,参数1,参数2):
            self.对象的属性1 = 参数1
            self.对象的属性2 = 参数2
    
        def 方法名(self):pass
    
        def 方法名2(self):pass
    
    对象名 = 类名(1,2)  #对象就是实例,代表一个具体的东西
                      #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法
                      #括号里传参数,参数不需要传self,其他与init中的形参一一对应
                      #结果返回一个对象
    对象名.对象的属性1   #查看对象的属性,直接用 对象名.属性名 即可
    对象名.方法名()     #调用类中的方法,直接用 对象名.方法名() 即可

    1.3类名空间与对象的名称空间

    创建一个雷就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称之为类的属性

    而类有两种属性:静态属性和动态属性

        静态属性就是直接在类中定义的变量

        动态属性就是定义在类中的方法

    其中类的数据属性是共享给所有的对象的

    而类的动态属性是绑定到所有的对象的

  • 相关阅读:
    搞笑的口误 [调剂一下生活 :D]
    Win 2003远程管理的实现
    asp.net 实现购物车(DataSet)详细代码[转]
    SQL Server:定时作业的设置方法
    URL Rewrite
    Asp.net 2.0 C#实现压缩/解压功能 [转=向作者‘肖相’无私共享精神致敬]
    网站的赢利模式 从只看排名流量中解脱出来[转]
    一些.net的工具[转]
    Expression孟岩
    sql作业,执行表间数据导入的实验
  • 原文地址:https://www.cnblogs.com/daien522556/p/9235143.html
Copyright © 2011-2022 走看看