python画易烊千玺 | 您所在的位置:网站首页 › 易烊千玺彩铅手绘图 › python画易烊千玺 |
class A(object): def __init__(self): #私有:在变量名称前加上'__' #私有 不可继承 不可在外部调用 #但是可以在内部调用 self.__a = 1000 #约定使用“__”来表示私有 self. def B(self): print(self.__a) A_ = A() print(A_.B()) 案例1 import numpy as np class zhuce(object): def __init__(self): pass def youxiang(self): print('使用邮箱注册') yx = input('输入') print(yx) self.yx=yx def password(self): print('请输入密码') pw = input('输入') print(pw) self.pw=pw print('确认密码') qpw = input('输入') print(qpw) self.qpw=qpw def yanzheng(self): if self.pw == self.qpw: print('密码设置成功') else: print('两次输入密码不一致') def yzm(self): import random a=random.randrange(1000,9999) print(a) self.a = a sr = input('输入') self.sr = sr def shuru(self): if self.sr == int(self.a): print('验证码正确') else: print('请重新输入') zc = zhuce() zc.youxiang() zc.password() zc.yanzheng() zc.yzm() zc.shuru() @property装饰器 之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效。我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗示属性是受保护的,不建议外界直接访问,那么如果想访问属性可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作。如果要做到这点,就可以考虑使用@property包装器来包装getter和setter方法,使得对属性的访问既安全又方便。 # 使用装饰器的时候,需要注意: # 1. 装饰器名,函数名需要一致. # 2. property需要先声明,再写setter,顺序不能倒过来 # 3. 如果你希望一点变量只是被访问不能被修改,那么可以使用访问器@property # 4. 如果要修改访问器中的变量,可以搭建一个修改器,或者删除访问器. 案例2 class Number(object): def __init__(self,num1,num2,num3): self.__num1=num1 self.__num2=num2 self.__num3=num3 @property def num1(self): print(self.__num1) @num1.setter def num1(self,num): self.__num1=num def SUM(self): print(self.__num1+self.__num2+self.__num3) number=Number(1,2,3) number.SUM() 案例3 class zone(object): def __init__(self): self.mimi = 'laalalalallala ' @property def mimi(self): return self._mimi @mimi.setter def mimi(self,str_): self._mimi = str_ def look(): qx = zone() print(qx.mimi) def change(password,str_): if password == '001128': qx = zone print(qx.mimi) qx.mimi = 'lalala' print(qx.mimi) else: print('密码错误') |
CopyRight 2018-2019 实验室设备网 版权所有 |