zoukankan      html  css  js  c++  java
  • python---类

    1、类animal = Animal(''),animal叫对象,类里的变量叫属性,类里定义的叫方法,类外面用def定义的叫函数。只是类里定义的方法第一个参数是self

      每个对象的属性,以及类的属性(Animal.voice)是单独存储的

    class Animal(object):
        voice = ''
        def __init__(self,voice):  #__init__为python内置函数
            Animal.voice = voice  #直接对类的属性进行修改
    
        def cat(self):
            pass
    
    print(Animal.voice)
    animal = Animal('') #Animal为一个类型,animal为用类型创建出来的对象
    print(Animal.voice)
    animal2 = Animal('')
    print(animal.voice)
    print(animal2.voice)
    print(Animal.voice)
    控制台输出:
          咩
          汪
          喵
          喵
          喵

    2、由1所知Animal.voice = voice为直接对类的属性进行修改,那么如何只对对象的属性进行修改,而不影响其它创建的对象呢

    class Animal(object):
        voice = ''
        def __init__(self,voice):  
            self.voice = voice  #self.voice代表实例化后的对象
    
        def cat(self):
            pass
    
    print(Animal.voice)
    animal = Animal('')
    print(Animal.voice)
    animal2 = Animal('')
    print(animal.voice)  #self.voice这种的,当发现self(对象)里面没有这种能力的时候,才会到Animal这个类型里去找;如果Animal这个类里没有,会到Animal的基类内找
    print(animal2.voice)
    print(Animal.voice)
    
    控制台输出:
          咩
          咩
          汪
          喵
          咩

    3、

    4、

  • 相关阅读:
    使用Windows 批处理删除CVS文件
    五种提高 SQL 性能的方法
    读取服务器数据填充Select下拉列表[原创]
    有XMLHTTP实现无刷新功能[原创]
    一些关于流量和带宽的知识
    [转帖] 25个超级经典故事!!!
    用XMLTextReader类加速.NET中XML存取
    ASP.NET中的多重表单[转]
    XML中的二进制文件的编码与解码[原创]
    Asp.net控件命名规范
  • 原文地址:https://www.cnblogs.com/hzgq/p/11791022.html
Copyright © 2011-2022 走看看