Python02

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('密码错误')

 

转载于:https://www.cnblogs.com/zoucunna/p/11315954.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值