精华内容
下载资源
问答
  • python中定义class的时候,有object和没有object的...在python2.x中,通过分别继承自object和不继承object定义不同的类,之后通过dir()和type分别查看该类的所有方法和类型: >>> class te...

    python中定义class的时候,有object和没有object的不同?例如:

    class Solution(object):

    class Solution():

     

    这俩的区别在于——————

    在python2.x中,通过分别继承自object和不继承object定义不同的类,之后通过dir()和type分别查看该类的所有方法和类型:

    >>> class test(object):
    ...     pass
    ...
    >>> dir(test)
    ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '_
    _init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__size
    of__', '__str__', '__subclasshook__', '__weakref__']
    >>> type(test)
    <type 'type'>
    >>> class test2():
    ...     pass
    ...
    >>> dir(test2)
    ['__doc__', '__module__']
    >>> type(test2)
    <type 'classobj'>

    在3.x中:两者是一致的,因为在3.x中,默认继承就是object了

     

    参考:https://www.cnblogs.com/keke-xiaoxiami/p/8459386.html

    展开全文
  • python中定义class的时候,有object和没有object的不同?...在python2.x中,通过分别继承自object和不继承object定义不同的类,之后通过dir()和type分别查看该类的所有方法和类型: >>> class t...

    python中定义class的时候,有object和没有object的不同?例如:

    class Solution(object):

    class Solution():

     

    这俩的区别在于——————

    在python2.x中,通过分别继承自object和不继承object定义不同的类,之后通过dir()和type分别查看该类的所有方法和类型:

    >>> class test(object):
    ...     pass
    ...
    >>> dir(test)
    ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '_
    _init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__size
    of__', '__str__', '__subclasshook__', '__weakref__']
    >>> type(test)
    <type 'type'>
    >>> class test2():
    ...     pass
    ...
    >>> dir(test2)
    ['__doc__', '__module__']
    >>> type(test2)
    <type 'classobj'>

    在3.x中:两者是一致的,因为在3.x中,默认继承就是object了

    >>> class test(object):
        pass
    
    >>> class test2():
        pass
    
    >>> type(test)
    
    <class 'type'>
    
    >>> type(test2)
    
    <class 'type'>
    
    >>> dir(test)
    
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
    
    >>> dir(test2)
    
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

     

    转载于:https://www.cnblogs.com/keke-xiaoxiami/p/8459386.html

    展开全文
  • Python - 继承object

    千次阅读 2014-04-10 19:14:25
    继承object类 ... 具体参见: http://stackoverflow.com/questions/4015417/python-class-inherits-object ...Python引入很多新的特性, 需要继承object类才可以使用, 在python 2.x的文档中, 有标注:

    继承object类


    本文地址: http://blog.csdn.net/caroline_wendy


    具体参见: http://stackoverflow.com/questions/4015417/python-class-inherits-object


    Python引入很多新的特性, 需要继承object类才可以使用, 在python 2.x的文档中, 有标注:

    如: Note xxx() only works for new-style classes. 则需要继承object类才可以使用, 否则无效;

    python 3.x中, 则隐式(implicit)继承object类, 即新型式的类(new-style class), 则不需要继承object.




    展开全文
  • 1. Python2中默认不继承objectpython2的class中继承object类就会继承到object的所有属性,不继承的话就只能使用自己的class中定义的变量。 举例: class Person: """ 不带object """ name = "zhangsan" ...

    1. Python2中默认不继承object

    在python2的class中继承object类就会继承到object的所有属性,不继承的话就只能使用自己的class中定义的变量。
    举例:

    class Person:
        """
        不带object
        """
        name = "zhangsan"
    
    
    class Animal(object):
        """
        带有object
        """
        name = "husky"
    
    if __name__ == "__main__":
        x = Person()
        print "Person", dir(x)
    
        y = Animal()
        print "Animal", dir(y)
     
    
    运行结果
    
    Person ['__doc__', '__module__', 'name']
    Animal ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', 
    '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 
    '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name']
    

    Person类很明显能够看出区别,不继承object对象,只拥有了__doc__ , module 和 自己定义的name变量, 也就是说这个类的命名空间只有三个对象可以操作.

    Animal类继承了object对象,拥有了好多可操作对象,这些都是类中的高级特性。

    对于不太了解python类的同学来说,这些高级特性基本上没用处,但是对于那些要着手写框架或者写大型项目的高手来说,这些特性就比较有用了,比如说tornado里面的异常捕获时就有用到__class__来定位类的名称,还有高度灵活传参数的时候用到__dict__来完成.

    2. Python3中的class即使不写object也默认帮你继承了

    Reference:
    https://my.oschina.net/zhengtong0898/blog/636468

    展开全文
  • python2中定义类时继承object和不继承object有什么区别? stackoverflow上也有人提出了这样的问题: https://stackoverflow.com/questions/332255/difference-between-class-foo-and-class-fooobject-in-python...
  • python继承_Python继承

    2020-07-28 12:54:29
    python继承 Python继承 (Inheritance in Python) Inheritance is one of the most important aspects of Object Oriented Programming. While programming, many a times, situations arise where we have to write...
  • 关于PythonObject继承

    2018-01-17 10:15:00
    今天在Coding的使用,使用了python的单例模式,发现了一个很有趣的问题。 class x(object): __se = None a = None def __new__(cls): if cls.__se is None: cls.__se = super(x, cls).__new__(cls)...
  • Python--继承Object对象

    千次阅读 2018-10-27 14:20:01
    关于Python Object继承的相关总结 在Python中所有的类都继基类object,基类object拥有__ setattr__()和__ getattribuate__()两个常用的方法,__ setattr__()用于根据指定的name设置对象中相应属性的value,而__ ...
  • 0x01 定义 今天看到个有趣的文章里面谈到python的经典类和典型...经典类 不继承object,多继承时深度优先搜索 class C1: pass 新式类 直接或间接继承object类,多继承时广度优先搜索 class C2(object):
  • Python 为什么要继承 object 类? 继承 object 类的是新式类,不继承 object 类的是经典类,在 Python 2.7 里面新式类和经典类在多继承方面会有差异: class A: def foo(self): print('called A.foo()') class B...
  • python 继承

    2020-03-29 15:07:07
    继承:单继承,多继承 类:经典类,新式类 ...python2x(既有新式类,又有经典类)所有的类默认都不继承object类,所有的类默认都是经典类,你可以让其继承object 单继承:新式类,经典类查询顺序一样 class A:...
  • python3默认继承object

    2019-11-27 16:36:03
    class Person(): name = "zhengtong" ...class Animal(object): name = "chonghong" if __name__ == "__main__": x = Person() print(f"Person {dir(x)}") print() y = Animal() ...
  • https://www.cnblogs.com/wanghui-garcia/p/11193708.html
  • Python3 默认继承 object

    千次阅读 2019-05-12 09:42:16
    Python 3.x中取消了经典类,默认都是新式类,并且不必显式的继承object,也就是说: class Person(object):pass class Person():pass class Person:pass 三种写法并无区别,推荐第一种,以下是python3 class A...
  • Python 为什么要继承 object 类? 继承 object 类的是新式类,不继承 object 类的是经典类,在 Python 2.7 里面新式类和经典类在多继承方面会有差异: class A: def foo(self): print('called A.foo()') ...
  • dir()可以查看对象内所有属性及方法。 test.py class test1(object): ...可以看出继承object与不继承object少了很多方法,但对于新手来说,一般用不到这些方法,自版本3.x之后就默认自动继...
  • Python继承

    2021-02-04 11:11:27
    如果一个类没有继承任何类,则默认继承object python支持多继承 定义子类时: 必须在其构造函数中调用父类的构造函数 ''' # Animal2继承了object类 class Animal2(object): def __init__(self, name, age): self...
  • PythonPython 为什么要继承 object

    千次阅读 2016-01-06 10:58:48
    1.使用 Python 时, 遇到 class A 和 class A(object) 的写法,在 Py2 中是有概念上和功能上的区别的, 分别称为经典类(旧式类)old-style(classic-style) 与新式类的区别new-style。2.历史原因:.2.2以前的时候type和...
  • 不加的叫做经典类或旧式类,但是现在python3的类都默认是继承object的,所以可写可不写 下面举个例子说明: 首先说明下__class__功能与用法: __class__功能和type()函数一样,都是查看对象所在的类。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,772
精华内容 1,508
关键字:

python继承object

python 订阅