为什么python 2和python 3中的代码输出是不同的?
class A:
def m(self):
print("m of A called")
class B(A):
pass
class C(A):
def m(self):
print("m of C called")
class D(B,C):
pass
x = D()
x.m()
实际产出:
$ python diamond1.py //python 2 used for the code
m of A call
我编写了一个Python脚本,刚刚发现Python3.4并不限制抽象类被实例化,而Python2.7.8则这样做。
下面是我在名为Shape.py的文件中的抽象类。
from abc import ABCMeta, abstractmethod
class Shape:
__metaclass__ = ABCMeta # Making the class abstract
def __init__(self):
pass:
@abstractmethod
def getArea(self):
print("You
编辑:下面是当前的问题:
Traceback (most recent call last): File "figure.py", line 32, in <module> import Python2
File "C:\scripts\python2.py", line 12, in <module> shp = shape.Python1(self.size, self.length, self.breadth,self.height)
NameError: name 'self' is not defined
我目前正在尝试让python bittorrent追踪器在jython中运行,我遇到了这个问题:追踪器使用的是我为我的平台编译并添加到python路径中的PyCrypto库。然而,当我尝试运行代码时,我得到了以下错误:
Exception in thread "MainThread" Traceback (most recent call last):
File "./python_dep/BitTorrent-5.2.2/bittorrent-tracker.py", line 21, in <module>
from BitTorre
我读过
我试着从这个例子中复制上元类,发现这并不是在所有情况下都有效的:
def upper(cls_name, cls_parents, cls_attr):
""" Make all class attributes uppper case """
attrs = ((name, value) for name, value in cls_attr.items()
我在C++中定义了一个使用Boost向Python公开的C++类。我的脚本应该从这个类派生出来,每当定义了一个新的子类时,我想要进行一些初始化。
如何设置公开的Event类的元类,以便每当Python脚本从该类派生出来时,元类就可以完成所需的初始化?
我想避免在脚本中显式地使用元类.
class KeyboardEvent(Event): # This is what I want
pass
class KeyboardEvent(Event, metaclass=EventMeta): # This is not a good solution
pass
编辑:解决方案
如何在静态方法中获取类的名称,我有继承并想要派生类的名称
在下面的示例中,my_name()方法中的XXX应该有什么替代方法
class snake()
@staticmethod
def my_name():
print XXX.__name___
class python (snake)
pass
class cobra (snake)
pass
python.my_name()
# I want output to be python
cobra.my_name()
# I want output to be cobra
我使用PHP已经有一段时间了,并且刚刚开始使用Python。Python中有一个特性是我在学习时遇到的。
IN Python
class A:
#some class Properties
class B:
a = A() # assiging an expression to the class Property is possible with python.
PHP中的
class A{
}
class B{
$a = new A(); // PHP does not allow me to do this.
// I need to do this i