相关疑难解决方法(0)

class ClassName与类ClassName(对象)

有什么区别:

class ClassName(object):
    pass
Run Code Online (Sandbox Code Playgroud)

class ClassName:
    pass
Run Code Online (Sandbox Code Playgroud)

当我调用那些类的模块的帮助功能时,你可以阅读____builtin____.objectCLASS标题下的第一个案例.对于第二种情况,它只显示类名.这些类和/或其可能的方法之间是否存在功能差异?

(我知道它class Classname(ParentClassName)有功能用途)

python class object

20
推荐指数
2
解决办法
1万
查看次数

什么是对象()有用?

怎么可能呢

class EmptyClass:
    def __init__(self):
        pass

e = EmptyClass()
e.a = 123
Run Code Online (Sandbox Code Playgroud)

工作和:

o = object()
o.a = 123
Run Code Online (Sandbox Code Playgroud)

没有(AttributeError: 'object' object has no attribute 'a')而

print isinstance(e, object)
>>> True
Run Code Online (Sandbox Code Playgroud)

什么是object()好的,当你不能像这样使用它?

python class object

14
推荐指数
1
解决办法
8014
查看次数

对象声明在python类中意味着什么,我应该使用它吗?

示例#1:

class Person(object):
    pass
Run Code Online (Sandbox Code Playgroud)

例子#2:

class Person:
    pass
Run Code Online (Sandbox Code Playgroud)

对象声明有什么作用?你应该用吗?我有两个程序都有这两个程序,并不知道它正在制造的差异.如果有人能解释这个概念请.

python oop inheritance

8
推荐指数
1
解决办法
2175
查看次数

对象在动态类型创建期间被子类化,但在python2中的经典类定义期间不被子类化

我们知道这会创建一个类:

class X:
    a = 1
Run Code Online (Sandbox Code Playgroud)

并且,在Python 3中,由于使用了新的样式类,因此会X自动从继承object,但是在Python 2中,它不会:

>>> X.__bases__ # Python 2
()
>>> X.__bases__ # Python 3
(<class 'object'>,)
Run Code Online (Sandbox Code Playgroud)

我们也知道,我们可以使用类工厂动态创建这样的一个类:

X = type("X",(object,), {"a":1})
      name^   ^bases     ^ "class" body
Run Code Online (Sandbox Code Playgroud)

然而,如果我们忽略了object基地的元组就像我们用做class语法,我们继承object的python3和,出乎意料的是,在python2还有:

X = type("X", ( ), {"a":1})
               ^ empty bases tuple
Run Code Online (Sandbox Code Playgroud)
>>> X.__bases__ # Python 2
(<type 'object'>,)
>>> X.__bases__ # Python 3
(<class 'object'>,)
Run Code Online (Sandbox Code Playgroud)

我期望X.__bases__在python 2中是空的。
而且它不是这样的文档化功能,我几乎无法在Internet上找到有关此功能的信息。

实际上,python的官方文档 …

python class python-2.7 python-3.x

8
推荐指数
1
解决办法
119
查看次数

为什么继承对象类型

在我过去的一个问题中,一个回答者告诉我,当你想要创建的类是从头开始时,从对象继承是更好的,这不需要从其他类继承.

例如,像我一直做的那样:

class my_class:
     "a class inherits from nothing"
     def __init__(self):
         pass
Run Code Online (Sandbox Code Playgroud)

对于他或她的建议:

class suggested_class(object):
     "a class inherits from object type"
     def __init__(self):
         pass
Run Code Online (Sandbox Code Playgroud)

我对这两种方法的好处或缺点感到困惑.

问题1:

那么你的想法是什么,从对象类型继承还是什么都没有?

python inheritance object python-2.7

7
推荐指数
1
解决办法
2147
查看次数

Python - 如何传递给类对象的函数参数类型(打字)

我想这是python 3.7(不确定)附带的,不仅可以将变量名传递给函数,还可以传递变量的类型。我想知道的是是否有可能传递特定类的类型。

你可以通过同样的方式:

def foo_func(i: int) -> None:
    pass
Run Code Online (Sandbox Code Playgroud)

如果我有一堂课,让我们说:

class foo_class(object):
    pass
Run Code Online (Sandbox Code Playgroud)

我怎样才能将 转换foo_func为接收foo_class而不是int类型?

此外,如果 foo_class 是另一个类的继承,我可以从父类中强加一个更通用的类型吗?例如,如果我有,

class A(foo_class):
     pass

class B(foo_class):
     pass
Run Code Online (Sandbox Code Playgroud)

我怎么能通过AB基于它的父母?

我的意思是这样的:

def foo_func(obj: foo_class_type) -> None:
    pass

foo_func(A())
foo_func(B())
Run Code Online (Sandbox Code Playgroud)

types arguments class function python-3.7

6
推荐指数
1
解决办法
4328
查看次数

为什么从对象继承会在Python中产生影响?

当类从没有继承时,我有一个实例类型的对象.

>>> class A(): pass;
>>> a = A()
>>> type(a)
<type 'instance'>
>>> type(a) is A
False
>>> type(A)
<type 'classobj'>
Run Code Online (Sandbox Code Playgroud)

但是,当我从对象继承相同的类时,创建的对象是A的类型.

>>> class A(object): pass;
>>> a = A()
>>> type(a)
<class '__main__.A'>
>>> type(a) is A
True
>>> type(A)
<type 'type'>
Run Code Online (Sandbox Code Playgroud)

这背后的逻辑是什么?这是否意味着每个类都应该从对象继承

python inheritance object

5
推荐指数
1
解决办法
470
查看次数

空类构造函数(样式)

什么是定义不需要任何构造函数参数的类的“Pythonic”方法?

class MyClass:

    # class body

Run Code Online (Sandbox Code Playgroud)

或者我们需要一个显式的构造函数吗?IE

class MyClass:
    def __init__:
        pass

    # class body
Run Code Online (Sandbox Code Playgroud)

python oop class pep8

5
推荐指数
1
解决办法
4417
查看次数

python类定义

有一段时间我看到一些类被定义为对象类的子类,如

class my_class(object):
    pass
Run Code Online (Sandbox Code Playgroud)

如果与简单定义不同,如何呢?

class my_class():
    pass
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
1
解决办法
1641
查看次数

类classname:AND class classname()之间的区别:AND class classname(object):

我正在学习python并向OOP介绍自己.但是,我正在努力理解如何最好地构建类,特别是,以下类定义之间的差异以及何时应该使用每个类:

class my_class:
  content...

class my_class():
  content...

class my_class(object):
  content...
Run Code Online (Sandbox Code Playgroud)

我一直在阅读非常有用的python在线帮助,虽然没有找到这个问题的具体答案.所以任何想法或推荐的参考将不胜感激,谢谢.

python oop class

4
推荐指数
1
解决办法
285
查看次数