
文章插图

文章插图
只执行一次初始化工作
- 在每次使用 类名() 创建对象时 , Python 的解释器都会自动调用两个方法: __new__ 分配空间 __init__ 对象初始化
- 在对 __new__ 方法改造之后 , 每次都会得到 第一次被创建对象的引用
- 但是:初始化方法还会被再次调用
- 让 初始化动作 只被 执行一次
- 定义一个类属性 init_flag 标记是否 执行过初始化动作 , 初始值为 False
- 在 __init__ 方法中 , 判断 init_flag , 如果为 False 就执行初始化动作
- 然后将 init_flag 设置为 True
- 这样 , 再次 自动 调用 __init__ 方法时 , 初始化动作就不会被再次执行 了

文章插图
Tips1、Python 能够自动的将一对括号内部的代码连接在一起:
'''**需求***定义 `input_password` 函数 , 提示用户输入密码*如果用户输入长度 < 8 , 抛出异常*如果用户输入长度 >=8 , 返回输入的密码'''def input_password():# 1. 提示用户输入密码pwd = input("请输入密码:")# 2. 判断密码长度 , 如果长度 >= 8 , 返回用户输入的密码if len(pwd) >= 8:return pwd# 3. 密码长度不够 , 需要抛出异常# 1> 创建异常对象 - 使用异常的错误信息字符串作为参数ex = Exception("密码长度不够")# 2> 抛出异常对象raise extry:user_pwd = input_password()print(user_pwd)except Exception as result:print("发现错误:%s" % result)2、一个对象的 属性 可以是 另外一个类创建的对象 。3、在__init__方法中定义类的属性时 , 如果 不知道设置什么初始值 , 可以设置为 None):None 关键字 表示 什么都没有 , 表示一个 空对象 , 没有方法和属性 , 是一个特殊的常量 。可以将 None 赋值给任何一个变量 。在 Python 中针对 None 比较时 , 建议使用is 判断4、eval() 函数十分强大 —— 将字符串 当成 有效的表达式 来求值 并 返回计算结果

文章插图
在开发时千万不要使用 eval 直接转换 input 的结果 , 举个例子:
看完这篇文章 , 你的Python基础就差不多了__import__('os').system('ls')# 等价代码import osos.system("终端命令") 推荐阅读
- 拆解固态硬盘结构
- 茉莉花茶怎么泡,茉莉花茶如何喝
- MITM 如何避免中间人攻击
- 茉莉花茶作用,喝茉莉花茶的好处和功效作用
- 洛神花茶降火吗,洛神花茶的功效及其作用
- 如何看玫瑰花茶好坏,玫瑰花茶到底是什么茶
- 桃花茶的功效与作用,桃花茶的功效和作用
- 花草茶常用有哪些,常用的花草茶有哪些
- 三七花茶的副作用与禁忌,牛蒡茶的副作用
- 百合花如何喝,茉莉花茶如何喝
