Python クラス、プライベート プロパティ、およびメソッド

あるクラスの別のクラスの変数とメソッドを呼び出す方法は?
次のコード

class Gun:
    def __init__(self, model):
        self.model = model
        self.bullet_count = 0

    def add_bullet(self, count):
        self.bullet_count += count

    def shoot(self):
        if self.bullet_count <= 0:
            print("[%s]无子弹了" % self.model)
            return
        else:
            self.bullet_count -= 1
            print("[%s]突突突...[%d]" % (self.model, self.bullet_count))


class Solder:
    def __init__(self, name):
        self.name = name
        self.gun = Ak47.model  # 这个地方可以用外部方法调用另一个类中的变量

    def fire(self):
        if self.gun is None:
            print("[%s]还没有枪" % self.name)
            return
        print("奥利给,冲啊")
        Ak47.add_bullet(50)  # 这个用法好
        # Gun.add_bullet(50)
        Ak47.shoot()


Ak47 = Gun("AK47")
xusanduo = Solder("许三多")
# xusanduo.gun = Ak47
xusanduo.fire()
print(xusanduo.gun)


あるクラスが別のクラスの変数を object. variable で呼び出し、別のクラスを呼び出す関数が self. クラス名. メソッド名

メソッドや変数の前にプライベートなメソッドや属性を追加する
が、あまりプライベートでないメソッドや属性もあり、知識は比較的プライベートなものであり、_クラス名__メソッド名/変数名で外部からアクセス可能であり、

class Women:
    def __init__(self, name):
        self.name = name
        self.__age = 18

    def __secret(self):
        print("%s 年龄是 %d" % (self.name, self.__age))


xiaofang = Women("小芳")
xiaofang._Women__secret()
print(xiaofang._Women__age)

ここに画像の説明を挿入
ただし、pycharm はサポートしていません

おすすめ

転載: blog.csdn.net/qq_45156021/article/details/124393425