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

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

总结&问题:

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

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

等等~

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

基础的东西也很实用

相关推荐
兵慌码乱25 分钟前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot2 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海7 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱9 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽14 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码14 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python