作业1 :
作业2:
作业3:
一个列表a=(2,1,3)
a.sort(默认升序)reverse:翻转即倒序
在Python中,属性和方法的访问权限只有两种,也就是公开的和私有的,如果希望属性是私有的,在给属性命名时可以用两个下划线作为开头.
注意:
私有变量,变量名前面加"__"
私有变量不可继承,不可在外部调用,但是可以有内部调用。
如果非要使用私有变量,那么可以使用dir(class())去查看它真正的名字.
如果你想体现一个变量/函数特别重要你可以使用"_"
@property装饰器
我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗示属性是受保护的,不建议外界直接访问,那么如果想访问属性可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作。
使用装饰器的时候,需要注意:
1. 装饰器名,函数名需要一致.
2. property需要先声明,再写setter,顺序不能倒过来
3. 如果你希望一点变量只是被访问不能被修改,那么可以使用访问器@property
4. 如果要修改访问器中的变量,可以搭建一个修改器,或者删除访问器.
# 访问器 - getter方法
@property
def age(self):
return self._age
# 修改器 - setter方法
@age.setter
def age(self, age):
self._age = age
练习
课堂作业:
import random
class email(object):
def __init__(self):
pass
def zhuce(self):
print("请输入邮件地址:")
res = input('输入')
print("邮件地址",res,"@163.com")
def password(self):
print("请输入密码:")
self.mima = input('输入')
print("请再次输入密码:")
self.querenmima = input('输入')
if self.mima == self.querenmima:
print("密码设置成功")
else:
print("密码输入错误,请重新设置密码")
self.password()
def yanzhengma(self):
for i in range(1,5):
if i == 4:
exit(0)
yanzhengma_1=random.randrange(1000,9999)
print("请输入验证码:",yanzhengma_1)
yanzhengma_2=int(input("输入"))
if yanzhengma_1==yanzhengma_2:
print("验证通过")
self.duanxin()
break
else:
pass
syx=email()
syx.zhuce()
syx.password()
syx.yanzhengma()