python-16-零基础学python 用类实现登录次数的记录

学习内容:《python编程:从入门到实践》第二版

知识点:

类,特殊函数,编写方法,创建实例,用方法修改类的值

练习内容:

练习9-5:尝试登录次数

在为完成练习9-3而编写的User类中,添加一个名为login_attempts的属性。编写一个名为increment_login_attempts()的方法,将属性login_attempts的值加1。再编写一个名为reset_login_attempts()的方法,将属性login_attempts的值重置为0。

根据User类创建一个实例,再调用方法increment_login_attempts()多次。打印属性login_attempts的值,确认它被正确地递增。然后,调用方法reset_login_attempts(),并再次打印属性login_attempts的值,确认它被重置为0。

我的代码&运行结果:

python 复制代码
class User:
    def __init__ (self,first_name,last_name,age,job,login_attempts):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.job = job
        self.login_attempts = login_attempts
 
    def describe_user(self):
        print(f"{self.first_name}{self.last_name}\t{self.age}岁\t{self.job}\n登录尝试:{self.login_attempts}次")
 
    def greet_user(self):
        print(f"hello,{self.first_name}{self.last_name},welcome!")

    def increment_login_attempts(self):
        self.login_attempts += 1
        
    def reset_login_attempts(self):
        self.login_attempts = 0
        
 
user1 = User('张','三','18','学生',0)
user1.describe_user()
user1.greet_user()

user1.increment_login_attempts()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.increment_login_attempts()
user1.describe_user()

print("系统重置")
user1.reset_login_attempts()
user1.describe_user()

注意点:

新增的属性要做好与类的关联:self.login_attempts = login_attempts

可以再加一个方法,单独打印尝试登录次数

总结&问题:

这一部分可以用在登录账号,输入密码,密码次数

智能家居每天密码锁开了几次

等等~

累计次数、重置等都可以用。

基础的东西也很实用

相关推荐
峥嵘life2 分钟前
Android getprop 属性限制详解:User 版本属性获取问题分析
android·开发语言·python·学习
石工记5 分钟前
CTO如何落地AI?从0到1的实战路径
人工智能·python·django·flask·numpy·pandas·pyqt
wuxinyan12321 分钟前
工业级大模型学习之路031:Streamlit 高级功能多会话管理和知识库管理
python·学习·智能体
llilay22 分钟前
企业级FastAPI后端模板搭建(三)整合日志Log
数据库·python·fastapi
小江的记录本28 分钟前
【Spring AI】Spring AI中RAG误触发与系统提示词泄露问题解决方案(完整版+代码方案)
java·人工智能·spring boot·后端·python·spring·面试
勇往直前plus35 分钟前
Python 属性访问与操作全解析:内置函数、魔法方法与描述符深度指南
java·网络·python
Arenaschi42 分钟前
关于GPT的版特点
java·网络·人工智能·windows·python·gpt
weixin_468466851 小时前
Data-Engineering-Zoomcamp 新手实战指南
python·自动化·pandas·编程·数据处理
sleven fung1 小时前
Milvus 向量数据库
开发语言·数据库·python·langchain·milvus