Python进阶

1.面向对象 class self

https://zhuanlan.zhihu.com/p/356325860

function和method的区别:
普通函数丨 在类中定义的函数

与普通的函数相比,在类中定义的函数只有两点不同:
(1)第一个参数永远是 self ,并且调用时不用传递该参数。
(2)类中函数相互调用要加 self 。

class Person(object):
    def __init__(self,x,y):
        self.x = x
        self.y = y
    def add(self):
        sum = self.x + self.y
        return sum
    def square(self):
        squr = pow(self.x,2)+pow(self.y,2)
        return squr
    def add_square(self):
        c = self.add()+self.square()  ####看这里####
        return c

除此之外,类的方法和普通函数没甚区别,当然也可以使用 默认参数、可变参数和关键字参数。

其实 self 这家伙简单的说就是把 class 中 定义的 变量和函数 变成 实例变量和实例函数,作为类 class 的成员,使得成员间能互相调用,而不需要从外部调用 数据(即变量)和 方法(即 函数),以实现数据的封装。

解释二:
类就像一个表格或问卷。它定义了所需的信息。填写表格后,您的特定副本就是该类的一个实例;它包含与您相关的实际信息。
您可以填写多个副本以创建许多不同的实例,但如果没有表单作为指导,您将会彻底迷失,不知道需要哪些信息。因此,在创建对象的单个实例之前,我们必须首先通过定义类来指定所需的内容。

super

2.装饰器 Decorators

Python进阶——如何实现一个装饰器?

使用装饰器的好处:
可以把我们的业务逻辑和控制逻辑分离开,业务开发人员可以更好地关注业务逻辑,装饰器可以方便地实现对控制逻辑的统一定义,这种方式也遵循了设计模式中的单一职责。

“装饰器我个人认为是Python中最最最难的知识点”

装饰器是闭包的一种应用。

装饰器是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。使用时,在需要的函数前加上@demo即可。

装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数,即装饰器是一个函数,它以函数作为参数,返回另一个函数。

常用场景:
授权(Authorization)(Flask和Django web)
日志(Logging)

如:记录日志、记录执行耗时、本地缓存、路由映射等功能。

函数装饰器
类装饰器,对象装饰器

装饰器妙用

 @myDecorator
 def aFunction():
     # 。。。

等价于

 def aFunction():
     # 。。。
     
 aFunction = myDecorator(aFunction)

if name == ‘main’:

with

语句使代码更清晰、更具可读性, 它简化了文件流等公共资源的管理。

https://www.runoob.com/python3/python-with.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值