Python3基础 一个类中有两个属性A,B。 只能对其中的一个进行赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3基础 一个类中有两个属性A,B。 只能对其中的一个进行赋值相关的知识,希望对你有一定的参考价值。

 镇场诗:
    诚听如来语,顿舍世间名与利。愿做地藏徒,广演是经阎浮提。
    愿尽吾所学,成就一良心博客。愿诸后来人,重现智慧清净体。
——————————————————————————————————————————

code:

#很多有趣的功能,看似简单,但是你要是写起来,可不那么容易呐。
#多思考,心常清静,好好看小甲鱼的视频教程
class MyClass :
    def __init__(self) :
        self.boolBook = True
        self.boolPen = True
        #酱油选手
        self.count=1
        
    #笔和书只能对一个进行赋值。这。。。还有没进行逻辑思考了,脑袋都锈了
    def __setattr__(self,name,value) :
        
        if name == ‘pen‘ and self.boolPen :     #初次对pen属性进行赋值
            self.boolBook=False
            print(‘pen属性已经成功赋值‘)
            return super().__setattr__(name,value)
        
        elif name == ‘book‘ and self.boolBook: #初次对book属性进行赋值 
            self.boolPen=False
            print(‘book属性已经成功赋值‘)
            return super().__setattr__(name,value)
        
        elif name != ‘pen‘ and name != ‘book‘ : #对其他属性进行赋值
            print(name,"成功赋值")
            return super().__setattr__(name,value)
        
        elif name == ‘pen‘ and (not self.boolPen) :  #已经有book了,还想要pen
            print(‘没有成功赋值,因为您已经选择了书‘)
            
        elif name == ‘book‘ and ( not self.boolBook) : #已经有pen了,还想要book
            print(‘没有成功赋值,因为您已经选择了笔‘)

 


result:

============= RESTART: C:\Users\Administrator\Desktop\myCode.py =============
>>> a=MyClass()
boolBook 成功赋值
boolPen 成功赋值
count 成功赋值
>>> a.pen=1
boolBook 成功赋值

 


——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。

以上是关于Python3基础 一个类中有两个属性A,B。 只能对其中的一个进行赋值的主要内容,如果未能解决你的问题,请参考以下文章

Python3.x基础学习-类--多继承多态

实验十一:面向对象基础 3类对象方法实训

java有A,B两个类,A类中有一个变量x,这个变量值在A类中改变了值,如何在B类中取得这

TestNG中group的用法

Java基础——类的继承

java一个类如何获得另一个类中的某个值