zoukankan      html  css  js  c++  java
  • python核心

    元类:

    Python中所有的东西——都是对象。这包括整数、字符串、函数以及类。它们全部都是对象,而且它们都是从一个类创建而来,这个类就是type

    元类就是类的类,类作为一种对象,即可以在运行时动态的创建类:

    1.在函数里创建类

    def choose_class(name):
        if name == 'foo':
            class Foo(object):
                pass
                return Foo     # 返回的是类,不是类的实例
        else:
            class Bar(object):
                pass
                return Bar
    
    >>> MyClass = choose_class('foo')    #此时MyClass 为Foo
    >>> print MyClass              # 函数返回的是类
    <class '__main__'.Foo>
    >>> print MyClass()            # 通过这个类创建类实例,也就是对象 相当于 print( Foo())
    <__main__.Foo object at 0x89c6d4c>
    

    2.使用type创建类

    #type(类名, 由父类名称组成的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))
    Foo = type('Foo', (), {'bar':True})
    
    #相当于如下代码
    >>> class Foo(object):
    …       bar = True
    



    动态语言:


    -动态语言:可以在运行的过程中,修改代码
    -静态语言:编译时已经确定好代码,运行过程中不能修改

    python是动态语言,运行时可以给类和类实例绑定属性和方法

    __slots__变量:限制类实例的属性

    __slots__ = ("name", "age")
    __slots__定义的属性仅对当前类实例起作用,对继承的类是不起作用的


  • 相关阅读:
    asp.net 页面元素分析搜集
    ASP.NET AJAX深入浅出系列UpdatePanel的使用笔记(上)
    用sql语句来管理数据库日志问题
    C# .NET学习网站(转)
    Visual Studio .Net团队开发[转]
    sql 语句大全
    Word中快速操作的10个技巧
    嫁给程序员的好处
    关于手机病毒时代到来的担忧
    自己工作用过的SQL代码(1)
  • 原文地址:https://www.cnblogs.com/shuai-long/p/9593374.html
Copyright © 2011-2022 走看看