码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-01-20 23:22:17      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:mini   python   des   博客   3.5   setattr   逻辑   内容   use   

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

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。 只能对其中的一个进行赋值

标签:mini   python   des   博客   3.5   setattr   逻辑   内容   use   

原文地址:http://www.cnblogs.com/jinlingzi/p/6329537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!