类与对象-阿里云天池

【类】是一个函数包。

类中可以放置函数和变量,然后类中的函数可以很方便的使用类中的变量。

语法
创建一个名为“ClassName”的类
如定义一个名为’电影’的类,可以写成class Movie():

既然【类】是一个函数包,所以一个类中可以放置一堆函数

类中的函数叫方法,调用格式:类.函数()
类中的变量叫属性,调用格式:类.变量

class Robot():
    bust = 33
    waist = 44
    hip = 55
    IQ = 200
    # 以上为类的属性
    def say_hello():
        print('主人好!')

    def act_cute():
        print('主人,求抱抱!')

    def be_angry():
        print('主人,我生气了!')

    def run():
        print('我快乐地奔跑着。')
    # 以上为类方法
print('把robot的属性打印出来:') # 把robot的属性打印出来:
print(Robot.bust)   # 33
print(Robot.waist)  # 44
print(Robot.hip)    # 55
print(Robot.IQ)     # 200

Robot.say_hello()   # 主人好!
Robot.act_cute()    # 主人,求抱抱!
Robot.be_angry()    # 主人,我生气了!
Robot.run()         # 我快乐地奔跑着
类方法和函数类似,也可以传递外部参数
class Add_100():
    def add_100(num):
        sum = num + 100
        print('计算结果如下:')
        print(sum)
num = 1
Add_100.add_100(1)

'''计算结果如下:
   101'''
和函数不同的是,类方法还可以利用类属性作为参数,即从类的内部给自己传递参数
class Read_poem():
    poem = ['《咏柳》', '碧玉妆成一树高,', '万条垂下绿丝绦,', '不知细叶谁裁出,', '二月春风似剪刀。']
    @classmethod
    def read_poem(cls):
        for i in cls.poem:
            print(i)
Read_poem.read_poem()

'''《咏柳》
碧玉妆成一树高,
万条垂下绿丝绦,
不知细叶谁裁出,
二月春风似剪刀。
'''
类方法可以同时使用内部参数和外部参数,当类方法要使用多个外部参数时,要多预设几个参数位置
class Add_100():
    var = 100
    @classmethod
    def add_100(cls,par1,par2,par3):
        sum = cls.var + par1 + par2 + par3
        print('add_100函数计算结果如下:')
        print(sum)

par1 = int(input('请输入一个整数:'))
par2 = int(input('请输入一个整数:'))
par3 = int(input('请输入一个整数:'))

Add_100.add_100(par1,par2,par3)

'''请输入一个整数:5
   请输入一个整数:6
   请输入一个整数:7
   add_100函数计算结果如下:
   118'''

类是对象的模板,可以复制出多个对象,这个复制过程叫【实例化】

使用 实例名 = 类()的方式就得到了【实例对象】,简称为【实例】

直接使用类的格式

'''class 类A():
       变量1 = 100
       变量2 = 200
       @classmethod
       def 函数1(cls):
           print(cls.变量1)
           print(cls.变量2)
    类A.函数1()'''

实例化后再使用 的格式

"""class 类A():
        变量1 = 'abc'
        
        def 函数1(self):
            print('已经完成了实例化!')
            print('类属性的值是:' + self.变量1)
            
    a = 类A()     # 实例化
    a.函数1()     # 实例化后再使用
    
    b = 类A()     # 可以实例化多个不同的实例
    b.函数1()      # 实例化后再使用"""

当一个类实例化为多个实例后,实例将原封不动的获得类属性,也就是实例属性和类属性完全相等
修改类属性,会导致所有实例属性变化
修改实例属性,不会影响到其它实例,也不会影响到类,每个实例都是独立的个体。

class A:
    var = 100 #类属性

example1 = A() # 实例化
example2 = A() # 实例化

example1.var = 10  # 修改实例属性
A.var = 1

print(example1.var)
print(example2.var)
''' >>> 10 1'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值