最新公告
  • 欢迎您光临站盟网(原知事网),一个优质的网站源码基地、精品网站模板和插件。欢迎加入永久SVIP
  • Animal修改python3中的类的方法

    正文概述 知事网   2020-11-16 11:11   425

    Python教程之前提到的dog只是Animal的一个分支,这么说大家就明白Animal的范围有多大了。当然在对Animal函数内容讲述之前,我们有必要整个回顾一下类是什么,这样才能更好加深Animal函数在其中的运用。整体回顾过后,我们会细化Animal的使用方法,小伙伴们学的时候注意区分和运用。

    python中的一个类中有属性和方法,而二者都分为很多种类型,如下所示

    属性分为普通属性和类属性

    方法分为普通方法、类方法、静态方法。

    具体定义方法和使用见下面的代码和注释,各个属性和方法的使用习惯等见最后的 print_animal 函数打印出的结果

    下面是类的定义

    class Animal:
        
        # 这里是属性定义
        actually = "animal" # 类属性
        
        def __init__(self, name, age): # 定义实例时,放在括号里的才要指定
            self.name = name # 普通属性,要在__init__方法中定义
            self.age = age
        
        # 下面是方法的定义
        def sleep(self): # 普通方法
            print(self.name, "is sleeping")
            
        def eat(self, food): # 普通方法,另带参数
            print(self.name, "is eating", food)
        
        @classmethod
        def sentence(cls, adv): # 类方法,使用装饰器变成类方法
            print("I am", adv, "an", cls.actually)
        
        @staticmethod
        def other(person, do): # 静态方法
            print(person, "is", do+"ing")
        
        @staticmethod
        def print_animal():
            print("这是之后定义子类的父类,主要讲解最基本的属性、方法以及属性的修改")
            print("类属性actually:属于整个类,每个实例都有的属性,内容相同,创建实例时不需要指定,类和实例都可以调用")
            print("普通属性name age:属于各个实例,用于存储实例数据")
            
            print("普通方法sleep eat:由对象调用,至少一个参数self")
            print("类方法sentence:由类、实例调用,至少一个参数cls,可以引用类属性")
            print("静态方法other:类中的普通函数,可由类、实例调用")
            
            print("修改类属性:用类调用修改,所有实例都更改;用实例调用修改不影响类和其他实例")
            print("修改普通属性:直接赋值即可")

    创建实例

    # 创建实例调用Animal类
    adams = Animal(name="Adams",age=2) # 创建实例
    adams.actually # 调用类属性
    # 'animal'
    Animal.actually # 类调用类属性
    # 'animal'
    adams.name # 调用普通属性
    # 'Adams'
     
    adams.sleep() # 调用普通方法
    # Adams is sleeping
    adams.eat("meat") # 有参数的普通方法
    # Adams is eating meat
     
    adams.sentence("really") # 实例调用类方法
    # I am really an animal
    Animal.sentence("actually") # 类调用类方法
    # I am actually an animal
     
    adams.other("Tim", "play") # 实例调用静态方法
    # Tim is playing
    Animal.other("Mary", "watch") # 类调用静态方法
    # Mary is watching
     
    Animal.actually = "Animal" # 修改类属性
    adams.actually
    # 'Animal'
    adams.actually = "animal"
    Animal.actually
    # 'Animal'
    adams.age = 3 # 普通属性这样就改过来了
     
    Animal.print_animal()

    这样看完本篇文章,Animal的用法还是很多的哈。有的小伙伴可能已经看得晕头转向,这是正常的情况,小编第一次学习的时候也有点不是全部理解,慢慢来就好啦。

    转载自:python学习网 https://www.py.cn/


    站盟网 » Animal修改python3中的类的方法

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    请选择支付方式
    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元