美文网首页
用python类创建个精通算术能展示肖像的人,深度理解pytho

用python类创建个精通算术能展示肖像的人,深度理解pytho

作者: 码字的程序员 | 来源:发表于2022-06-28 19:31 被阅读0次

    python的类是什么

    我们该如何给python的类来下一个通俗易懂的定义呢?据个人经验和总结,认为python的类是一个容器,封装了那些用来描述现实生活中的事物(对象)及其各种各样的特征属性、行为方式的python代码封装起来。

    python类的基本结构

    class ClassName (ParentClassList):
        pass
    

    用python类创建一个精通算数并展示肖像的人:

    上一节中,我们在打怪的游戏当中创建了一个NPC的类,并默认继承object类,这节当中,我们来设计一个更能展示的类特性的类程序,同样默认继承object类。代码如下:

    from PIL import Image #导入用于打开图片的库
    import time
    class Person():
        
        id_address = '地球' #类变量
    
        def __init__(self, name, ID, portraitpath): #类实例的初始化
            self.name = name #实例变量
            self.ID = ID
            self.portrait = Image.open(portraitpath)
        
        def arithmetic(self, a,b,c): #类实例方法
            print('%s精通加减乘除的算术'%self.name)
            time.sleep(1)
    
            if b == '+':
                print('%s + %s' %(a,c))
                time.sleep(1)
                print('=%s' %(a+c))
            elif b == '-':
                print('%s - %s' %(a,c))
                time.sleep(1)
                print('=%s' %(a-c))
            elif b == '*':
                print('%s x %s' %(a,c))
                time.sleep(1)
                print('=%s' %(a*c))
            elif b == '/':
                print('%s ÷ %s' %(a,c))
                time.sleep(1)
                print('=%s' %(a/c))
        
        @classmethod #类方法,注意参数和类实例方法的参数的区别
        def person_func(cls):
            print('人类居住在%s' %cls.id_address)
        
        @staticmethod #类的静态方法,注意参数
        def plant_atrr():
            print('植物可以光合作用,与人类不同!')
    
    xiaopeng = Person('小彭','123456789','/path/pengyuyan.jpg') #类的实例化,其中的path可以用绝对路径
    xiaohu = Person('小胡','213456789', '/path/huge.jpg')
    print(xiaopeng.name)
    print(xiaohu.name)
    print(xiaopeng.id_address) #分别通过类的实例xiaopeng和xiaohu的来调用类变量id_address
    print(xiaohu.id_address)
    xiaopeng.portrait.show()
    xiaopeng.arithmetic(1,'/',5)
    xiaohu.arithmetic(1,'/',5)
    Person.person_func() #调用
    Person.plant_atrr()
    ————————————————————————————————————————
    代码输出:
    小彭
    小胡
    地球
    地球
    图片(计算机会利用操作系统默认的图片预览工具弹出图片,而不是在终端输出)
    小彭精通加减乘除的算术
    1 ÷ 5
    =0.2
    小胡精通加减乘除的算术
    1 ÷ 5
    =0.2
    人类居住在地球
    植物可以光合作用,与人类不同!
    

    如上代码,其中涉及到了几个十分重要的名词,类变量、实例变量、初始化函数、类实例方法、类方法、静态方法,可以说是类的基本,下面链接中的技术博客,一一地进行了解析:
    python的类,用类创建一个精通算术并能展示肖像的人

    相关文章

      网友评论

          本文标题:用python类创建个精通算术能展示肖像的人,深度理解pytho

          本文链接:https://www.haomeiwen.com/subject/ahlxbrtx.html