规范使用:

  1. 类和对象
  2. 模块导入,模块内部参数是:if __name__ == "__main__":
  3. 导入包(需要使用的公共代码模块):创建python包,里面放共同模块
  4. 异常捕获优化:自定义异常
class MyError(Exception):  # 异常捕获的类
    def __init__(self, length, min_len):  # length为用户输入的密码长度,min_len为规定的最小长度
        self.length = length
        self.min_len = min_len

    # 设置抛出异常的描述信息
    def __str__(self):
        return "你输入的长度是%s,不能少于%s" % (self.length, self.min_len)


def main():
    try:
        con = input("请输入密码:")  # 获取用户输入的密码
        l = len(con)  # 获取用户输入的密码长度
        if l < 6:
            raise MyError(l, 6)  # 长度低于设定的6位数则引发异常
    except Exception as ss:  # 有错误则提示
        print(ss)
    else:
        print("您的密码输入完毕")  # 没有错误则执行


main()
  1. 定时任务:xxx

  2. 容器/迭代对象/生成器/装饰器:

  • 迭代器(iterator):是一种可以遍历集合(如列表或字典)的一种对象

iter() or iter()
next() or next()

  • 生成器:就是一个特殊的迭代器,是一个可迭代对象

next()
yield()
ps:函数里面用yield()进行惰性计算,外面用for循环输出

def count_up_to(max):
    count = 0
    while count < max:
        yield count
        count += 1

# 使用生成器
counter = count_up_to(5)
for num in counter:
    print(num)
  • 装饰器:装饰器的作用就是为已经存在的对象添加额外的功能
    对于有参数的,*args 和 **kwargs 允许你在函数中接收任意数量的位置参数和关键字参数
# 普通的位置参数、可变数量的位置参数(元祖);关键字参数(字典)
def make_greeting(greeting, *args, **kwargs):
    name = ' '.join(args)
    title = kwargs.get('title', '')
    if title:
        title = f", {title}"
    print(f"{greeting}, {name}{title}!")

# 调用示例
make_greeting("Hello", "John", "Doe", title="Mr.")
  • 内置装饰器:staticmethod,classmethod,property
    @property 用于将类的方法转换为只读属性
    @staticmethod 用于定义静态方法
    @classmethod 用于定义类方法,该方法接收类作为第一个参数(通常命名为 cls),而不是实例。这使得方法可以修改类级别的属性
posted on 2024-08-06 10:31  HelloJacker  阅读(3)  评论(0编辑  收藏  举报