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

网站错误提示页设计网站建设策划书

网站错误提示页设计,网站建设策划书,湛江企业网站建设,动态网站开发周期目录 装饰器 函数作为参数 简单的装饰器 代参的装饰器 1. *args 2.**kwargs 💡 小贴士:使用 functools.wraps Python内置装饰器 1.property 2.staticmethod 3.classmethod 📌 类方法的特点: 装饰器 装饰器&#xff08…

目录

装饰器

函数作为参数

简单的装饰器

代参的装饰器

1. *args

2.**kwargs

💡 小贴士:使用 functools.wraps

Python内置装饰器

1.@property

2.@staticmethod

3.@classmethod

📌 类方法的特点:


装饰器

装饰器(Decorator) 是一种用于 修改或增强函数行为 的语法糖。它本质上是一个 接受函数作为参数并返回一个新函数的可调用对象(通常是函数或类)

特性

说明

装饰器本质

一个函数或类,接收函数并返回包装后的函数

语法

使用 @decorator

简化调用

参数支持

可以处理任意数量和类型的参数(使用 *args

**kwargs

多层装饰器

执行顺序是从内到外(最靠近函数的先执行)

保留函数元信息

推荐使用 functools.wraps

高级应用

类装饰器、带参数的装饰器、装饰器工厂等

函数作为参数

简单的装饰器

注:

箭头所指处是等价的

代参的装饰器

1. *args

  • 收集所有位置参数(positional arguments)。
  • 以元组形式保存。

2.**kwargs

  • 收集所有关键字参数(keyword arguments)。
  • 以字典形式保存。

同时使用两者来确保装饰器可以处理任意类型的参数

💡 小贴士:使用 functools.wraps

在写装饰器时,建议使用 from functools import wraps 来保留原函数的元信息(如文档字符串、名字等):

from functools import wrapsdef my_decorator(func):@wraps(func)def wrapper(*args, **kwargs):return func(*args, **kwargs)return wrapper

当你编写装饰器时,默认情况下会丢失被装饰函数的一些元信息(如函数名、文档字符串、注解等)。为了保留这些信息,可以使用 functools 模块中的 @wraps 装饰器。

没有使用 @wrapsadd 函数的元信息被覆盖了。

Python内置装饰器

1.@property

我们在此建立的内容将会被视作属性

内置装饰器,它允许你将一个方法“伪装”成属性访问,从而实现对属性的更精细控制(例如:封装、验证、延迟计算等),同时保持代码简洁易读。

在面向对象编程中,直接暴露实例变量可能会导致数据被随意修改,缺乏安全性。而通过方法来获取和设置属性又不够直观。@property 提供了一个优雅的中间方案:

  • 可以像访问属性一样调用方法(无需括号)
  • 可以在赋值时进行校验
  • 可以隐藏内部实现细节

访问时无需括号也不能被修改

2.@staticmethod

静态方法是一种属于类、但不依赖于类实例(也不需要 selfcls 参数)的方法。你可以通过类或实例来调用它,但它不会自动接收类或实例的引用。

静态方法的特点:

  • 不需要 selfcls 参数。
  • 可以直接访问类变量(但通常建议使用类名访问)。
  • 不能修改类或实例的状态(因为没有对 selfcls 的引用)。
  • 常用于工具函数、逻辑上与类相关但不需要实例化的方法。

这个方法可以被放在程序的任何位置,都不会影响这个类

我们在调用这个方法时不需要创造任何类

3.@classmethod

它将一个方法绑定到类而不是实例。与普通方法不同的是,类方法会自动接收类本身作为第一个参数(通常命名为 cls),而不是实例(self)。

📌 类方法的特点:

特点

说明

自动传入第一个参数

是,是类本身(约定为 cls

可否访问类属性

✅ 是

可否修改类属性

✅ 是

可否访问实例属性

❌ 否,因为没有 self

调用方式

可通过类或实例调用

类方法会影响整个类本身

http://www.dtcms.com/wzjs/348017.html

相关文章:

  • 两学一做网站是多少营销型网站制作建设
  • 网站毕设怎么做电商运营工资大概多少
  • 聊城汽车网站建设成都seo专家
  • 备案没有商城可以做商城网站吗学it需要什么学历基础
  • 深圳地铁公司官网谷歌seo 优化
  • 沈阳犀牛云做网站怎么样推广注册app赚钱平台
  • 合肥制作网站单位有哪些长沙网站制作
  • 怎样提高网站打开速度慢河南网站推广
  • 深圳市做网站知名公司有哪些站内关键词自然排名优化
  • 做自己卖东西的网站杭州seo建站
  • 上海高端网站开发站霸网络优化大师官网入口
  • 建设考试网站国外免费推广网站有哪些
  • 佛山专业的网站建设互联网营销师是干什么的
  • 手机中国官网seo薪酬如何
  • c 做网站网站网页制作培训教程
  • 东莞seo网站优化方式百度网址ip
  • 百度做网站多少钱seo排名课程咨询电话
  • 南宁网红打卡地排行榜自己搜20条优化措施
  • 建个人网站需要钱嘛百度推广网址
  • 宝安石岩网站建设江门关键词优化公司
  • 电商网站开发会遇到哪些问题最新搜索引擎排名
  • 公众号购买厦门seo排名收费
  • 太原网站备案现场核验怎么做线上推广
  • 做公司网站源代码怎么写网络推广是什么工作
  • 二手书网站开发的必要性线上招生引流推广方法
  • 莱芜高端网站建设报价百度指数怎么查询
  • 开网店哪些平台不收费搜索引擎优化排名品牌
  • 做农业种子的网站成人厨师短期培训班
  • 长沙专门做网站公司中国广告网
  • 渭南网站建设网站建设seo整站优化方案案例