zoukankan      html  css  js  c++  java
  • python oop __slots__方法

    动态语言python 可以在程序运行的情况下给class加上功能。具体为

    #引入一个
    from types import MethodType 
    #方法
    #然后
    s.set_age = MethodType(set_age, s, Student)
    #给一个实例绑定方法
    #s是一个实例 然后set_age是外面定义的一个方法,student是s实例所属的类。

    如果要给整个类绑定set_age方法的话 可以使用

    from types import MethodType
    Student.set_score = MethodType(set_score, None, Student)
    #为该类增加set_score方法 给class绑定了方法之后所有的实例都可以使用。
    #其实除掉动态绑定的写法 上面类似于这种效果
    
    class Student(object):
            def set_score():
                pass

    然而 这样我们并不能限制一个类下面会被添加多少属性和方法

    为了达到目的我们使用__slots__

    #就像这样
    class Student(object):
        __slots__ = ('name', 'age')
    
    #那么没有被放在__slots__里面的属性名称 都不再可以被添加。
    #还有需要注意的是 这个 对继承的子类就会失去效果
  • 相关阅读:
    vue ssr
    webpack-dev-server proxy代理
    PHP连数据库生成数据字典
    redis.rpm 安装
    centos 6.5安装NodeJS
    Jenkins + git + maven 安装
    最新版本GIT安装
    身份证校验
    快递100物流公司列表
    redis 安装
  • 原文地址:https://www.cnblogs.com/piperck/p/5007963.html
Copyright © 2011-2022 走看看