zoukankan      html  css  js  c++  java
  • @staticmethod怎么用?

    早上起来写个小demo, 类中写了个方法, pycharm给这个方法加上了莫名其妙的波浪线, 对于一个有代码洁癖的人来说, 完全不能忍, 来看看为什么.

    问题重现

    pycharm的提示

    上面说了, 这是一个类中的方法,

    然后看到了pycharm的友情提示, 这才发现 

    这个提示的意思就是说, 这个add方法可能是一个static的. 然后我就明白了, 因为这个方法中没有用到对象的资源

    @staticmethod的使用

    上面得到的结论就是在方法中没有引用对象的资源, 所以pycharm建议我把这个方法改为静态方法, 也就是加上@staticmethod装饰器

    那么@staticmethod起到了一个什么样的作用呢?

    一般在写一个方法的时候, 默认会接受一个self的形参, 但是在调用这个方法的使用可能并没有传递任何一个参数, 

    这个self就是你使用对象调用方法的那个对象本身, 

    要是将这个方法改为一个静态的方法, 就不会有self

    总结

    当某个方法不需要用到对象中的任何资源,将这个方法改为一个静态方法, 加一个@staticmethod

    加上之后, 这个方法就和普通的函数没有什么区别了, 只不过写在了一个类中, 可以使用这个类的对象调用,

    也可以使用类直接调用, 简而言之, 写在类中的函数, 我是这么认为的..

  • 相关阅读:
    邮箱整理
    C++ Primer Plus 6 笔记(1)
    MySQL的远程链接
    MySQL的安装和使用
    nginx的反向代理和负载均衡
    linux--配置开发环境 --Nginx篇
    linux--配置开发环境 --Apache篇
    Linux -- 运维
    Linux
    使用宝塔面板部署tp5网站
  • 原文地址:https://www.cnblogs.com/594504110python/p/10062336.html
Copyright © 2011-2022 走看看