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

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的类,用类创建一个精通算术并能展示肖像的人 - 大器编程

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章