Python类使用大法

类里就两个玩意,一个方法一个变量

  • 方法
  1. 类方法:@classmethod 类方法绑定类函数,用cls调用类函数。使用公共类函数搞事,就用类方法。外部调用类方法必须使用类名调用。
  2. 静态方法:@staticmethod 不与类和实例绑定的方法。类函数、实例函数一律不用,在类里自成一派,就用静态方法。
  3. 实例方法:def str(self)绑定实例变量,用self调用实例变量。 处理核心业务逻辑使用实例方法。
  4. 私有方法:_ _加双下划线 。外部不能调用的方法,在类里使用就好。
  • 变量
  1. 类变量:类里共享变量。在类外边调用类变量必须使用类名调用。
  2. 实例变量:def _ _init_ _(self) , 给实例方法使用的变量,实例方法处理核心业务逻辑,实例变量最好是私有变量,外部不可以访问。但python这个语言你知道,根本就没有真正意义的封装属性,外部想访问一样可以。
  3. 私有变量:_ _加双下划线 外部不能调用的变量,在类里使用就会。私有变量用于实例变量
  • 构造方法:def_ _init_ _(self, [str]):实例变量带参数。转为类方法传参使用。

总结:外部可以调用的只有类方法和类函数,必须通过类名直接调用。类方法和实例方法都可以带参数接收外部调用传参。

class Info:

    # 类变量,全类共享
    location = '翠花洗浴,南湖路162号,黑炭胡同18号,地下9单元'

    # 不带参数的构造方法
    def __init__(self):
        # 实例变量,外部可以访问但没有意义。所以实例变量最好都是私有变量
        self.money = 5
        # 私有变量
        self.__name = '工号168'

    """带参数的构造方法,接收类传参"""
    # def __init_(self, ask):
    #     self.ask = ask

    # 实例方法
    def how_much(self, money):
        if money > 5:
            print('太贵了')
        else:
            print('告诉我工号', self.__name)

    # 类方法
    @classmethod
    def address(cls, cipher):
        if cipher == '天王盖地虎':
            print('南湖小区8号楼1-1-1')
        else:
            print(cls.location)

    # 静态方法
    @staticmethod
    def play():
        print('自嗨')


"""开始使用这个类"""
# 调用类变量获取地址,不需要加密的信息
print(Info.location)
# 调用类方法查询地址,暗号正确返回正确地址,否则返回类变量地址
Info.address('天王盖地虎')
# 调用实例方法,先实例化类对象.询价属于核心业务,所以使用实例方法处理
play = Info()
play.how_much(6)
# 实例变量没有设置私有,被黑客直接获取底价
print(play.money)
# 调用静态方法, 不参与类里的业务逻辑
Info.play()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值