当前位置: 首页 > wzjs >正文

网站做ppt模板下载保定市网站建设

网站做ppt模板下载,保定市网站建设,网络工程有限公司,wordpress 插件如何使用一、类的装饰器 回顾一下,函数的装饰器是 :接收一个函数,返回一个修改后的函数。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这…
一、类的装饰器

回顾一下,函数的装饰器是 :接收一个函数,返回一个修改后的函数。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。

def logger(func):def wrapper(*args, **kwargs):        # 定义一个包装函数,用于记录函数调用信息print(f"执行函数:{func.__name__}")  # 打印函数名print(f"参数为:{args}, {kwargs}")  # 打印函数参数result = func(*args, **kwargs)     # 调用原始函数并获取结果print(f"返回值为:{result}")         # 打印函数返回值return result                      # 返回函数结果return wrapper                        # 返回包装函数@logger  # 应用装饰器到函数上
def multiply(x, y):  # 定义一个乘法函数return x * y  # 返回两个参数的乘积
multiply(3, 4)  # 调用函数并打印结果,装饰器会记录函数调用信息
multiply(3, y=5)@logger
def add(a, b):  # 定义一个加法函数return a + b  # 返回两个参数的和
add(5, 6)  # 调用函数并打印结果,装饰器会记录函数调用信息

类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。例如

  1. 添加新的方法或属性(如示例中的 log 方法)。
  2. 修改原有方法(如替换 init 方法,添加日志)。
  3. 甚至可以返回一个全新的类(继承或组合原类)。

通过类装饰器,可以在不修改类内部代码的情况下,为多个类统一添加功能(如日志、统计)

类装饰器与函数装饰器的区别如下:

# 定义类装饰器:为类添加日志功能
def class_logger(cls):# 保存原始的 __init__ 方法original_init = cls.__init__def new_init(self, *args, **kwargs):# 新增实例化日志print(f"[LOG] 实例化对象: {cls.__name__}")original_init(self, *args, **kwargs)  # 调用原始构造方法# 将类的 __init__ 方法替换为新方法cls.__init__ = new_init# 为类添加一个日志方法(示例)def log_message(self, message):print(f"[LOG] {message}")cls.log = log_message  # 将方法绑定到类,这是一种将外部函数添加为类的属性的方法return cls# 定义简单打印类,应用装饰器
# 同样是语法糖的写法
@class_logger
class SimplePrinter:def __init__(self, name):self.name = name  # 构造方法:初始化名称def print_text(self, text):"""简单打印方法"""print(f"{self.name}: {text}")# 使用示例
printer = SimplePrinter("Alice")  # 实例化时触发装饰器的日志
printer.print_text("Hello, World!")  # 调用普通方法
printer.log("这是装饰器添加的日志方法")  # 调用装饰器新增的方法
#输出结果
# [LOG] 实例化对象: SimplePrinter
# Alice: Hello, World!
# [LOG] 这是装饰器添加的日志方法
二、函数与类相关概念的总结

函数

  • 基本概念:函数就像是一个 “功能小盒子” ,把实现特定功能的代码块封装起来。比如想计算两个数相加,就可以把加法运算相关代码放到一个函数里。在程序运行中,给它合适的 “原料”(数据),它就能按设定好的方式加工处理,得到结果。像日常生活里,洗衣机是个 “函数”,放进去脏衣服(输入),它按程序运作,洗完给出干净衣服(输出) 。
  • 用法
    • 定义:以 Python 语言为例,用def关键字定义函数,后面跟着函数名和圆括号(括号里可写参数,也可不写 ),再加上冒号,然后缩进写函数体(实现功能的代码 )。比如def add_numbers(a, b): return a + b ,定义了一个求两数之和的函数,ab是参数。
    • 调用:定义好后,要用函数名加括号的形式调用。如result = add_numbers(3, 5) ,把 3 和 5 作为实参传给函数,函数执行后将结果返回给result 。
    • 参数:形参是定义函数时括号里的参数,像add_numbers里的ab ,只是占位符;实参是调用函数时实际传入的值,如上面例子里的 3 和 5 。参数还有默认参数等类型,比如def greet(name = "朋友"): print(f"你好, {name}") ,name有默认值,调用时可不传参,greet()就会打印 “你好,朋友” 。
    • 返回值:用return关键字指定返回的数据,函数执行到return就结束并把值返回到调用处。有的函数没有返回值(像只打印内容的函数 ),默认返回None 。

  • 基本概念:类是对一类事物的抽象描述。比如 “汽车” 类,汽车有颜色、品牌等特征(对应类里的属性 ),也有启动、刹车等行为(对应类里的方法,即函数 )。它不是具体的某一辆车,而是概括了这一类事物共有的特征和行为。可以把类想象成制作蛋糕的模具,用这个模具做出的一个个蛋糕就是类的实例(对象 ) 。
  • 用法
    • 定义:以 Python 为例,用class关键字定义类,后面跟类名和冒号,然后缩进写类体。类体里可以定义属性(变量 )和方法(函数 ) 。比如class Car: def __init__(self, color, brand): self.color = color self.brand = brand def start(self): print(f"{self.brand}汽车启动了") ,__init__是构造函数,用于初始化对象属性,start是一个方法 。
    • 实例化:创建类的对象,比如my_car = Car("红色", "宝马") ,就创建了一个Car类的实例my_car ,并传入颜色和品牌两个属性值 。
    • 访问属性和方法:用对象名加.的方式访问,如print(my_car.color)可获取汽车颜色,my_car.start()可调用启动方法 。类还有继承等特性,子类能继承父类的属性和方法,还可添加自己特有的。

文章转载自:

http://pCxqQa96.dtzxf.cn
http://oPWxAcwH.dtzxf.cn
http://VL6lYr7z.dtzxf.cn
http://A1Lx7fCM.dtzxf.cn
http://EBDGYP27.dtzxf.cn
http://3I7mIO9z.dtzxf.cn
http://K0bp15ru.dtzxf.cn
http://OobDD0r0.dtzxf.cn
http://4nL5zvq7.dtzxf.cn
http://TWd0LjAU.dtzxf.cn
http://vzfKefJc.dtzxf.cn
http://McVgqmeU.dtzxf.cn
http://W0H4D19y.dtzxf.cn
http://eLbgrTGJ.dtzxf.cn
http://fMeVpMYU.dtzxf.cn
http://rZu6lbsC.dtzxf.cn
http://p7LwqxqR.dtzxf.cn
http://zF6UKYTE.dtzxf.cn
http://dAAwljw3.dtzxf.cn
http://iBDOZtIR.dtzxf.cn
http://F7q9Zm5P.dtzxf.cn
http://ZSJldwqt.dtzxf.cn
http://x3Ya1C36.dtzxf.cn
http://aWy4zDxT.dtzxf.cn
http://U24VaQDX.dtzxf.cn
http://qUD5tw3u.dtzxf.cn
http://0LCPgqYK.dtzxf.cn
http://VqAIYCBh.dtzxf.cn
http://t1zpQW49.dtzxf.cn
http://lMjNMUPy.dtzxf.cn
http://www.dtcms.com/wzjs/613854.html

相关文章:

  • 使用element做的网站南宁住建局官方网
  • 像淘宝类别网站怎么做线上广告宣传方式有哪些
  • wordpress中文站网站程序 seo
  • 用文件传输协议登录网站免费网页设计制作网站
  • 北京盛赛车网站开发网站二级菜单模板
  • 建设礼品网站的策划书中国建筑app
  • 台州网站建设咨询薇微信公众平台小程序怎么制作
  • 免费舆情信息网站营销型网站用什么模版合适
  • htp免费域名注册网站装潢设计是什么
  • 怎么在网站上投放广告广州设计网页
  • 网站描述代码怎么写如何建立网站?
  • 做音乐网站需要什么大规模网站开发语言
  • 公司网站建设工作室网站建设算入会计分录
  • 做网站怎么租个空间网站设计与制作平台
  • 数字营销网站主页优化公司销售网站怎么做
  • php网站留言板漏洞免费logo生成器官网
  • 微商手机网站设计公司IT男网站建设
  • 游民星空是谁做的网站网站icp备案查询
  • 网站建设发言建设一个货架网站
  • 装修公司谁做网站网站怎么做才可以做评价
  • 深圳专业网站建设免费维护送域名空间房地产开发公司网站源代码 墨绿色风格
  • 网站建设价表模板全国建筑业四库一平台
  • 有什么做数据的网站玖云建站系统
  • 建设网站都要什么做网站媒体
  • 域名注册了如何做网站网站源码中国有限公司
  • 常州知名网站建设公司网站风格规划
  • 石河子网站建设wordpress登录页美化
  • 收费wordpress手机网站seo
  • 十大营销网站设计网站设计
  • 网站建设管理规定wordpress首页显示当前时间