2024-10-03 11:23:08 发布
网友
我想创建python类时间的继承者(descadent)。我使用来自下一个脚本的解算,但是我得到消息无法创建“内置函数或方法”实例。请问哪里有问题?你知道吗
from time import time as time import _classA class UserTime(time): def __init__(self): pass
time.time是函数而不是类。不能从函数继承。在模块中,timestruct_time被定义为一个类。你知道吗
time.time
struct_time
from time import struct_time as time class MyTime(time) : def __init__(self, time_as_sequence) : time.__init__(self, time_as_sequence) # Do what you like
实际上你想做的是非法的:) 不管怎么说,您正在尝试对类时间的方法进行子类化,但您不能这样做。 下面是一个小解释:
>>> import time >>> type(time.time) <class 'builtin_function_or_method'> >>> type(time) <class 'module'>
从上面你可以看到时间。时间是类的内置函数或方法(在本例中是类“time”),即使您将类型强制转换为“time”本身,也会导致类型为“module”的类,您不能同时将其子类化。 但是,你可以做一些我不建议的事情,因为它是无用的(在我看来):
import time class A(type(time)): pass
它将神奇地成为一个类型“type”的类,这就是你想要的和你问题的答案。你知道吗
>>> type(A) <class 'type'>
但你必须以某种方式来处理它,所以我的问题是,你到底想达到什么目的?你真的需要在幕后对一些可以用不同方式(很容易)完成的事情施展魔法吗?你知道吗
基于the Python docs for time.time,您在那里导入的time是一个函数,而不是一个类,这就是为什么您会收到错误消息的原因。你知道吗
time
datetime.time可能是你需要的。你知道吗
time.time
是函数而不是类。不能从函数继承。在模块中,timestruct_time
被定义为一个类。你知道吗实际上你想做的是非法的:) 不管怎么说,您正在尝试对类时间的方法进行子类化,但您不能这样做。 下面是一个小解释:
从上面你可以看到时间。时间是类的内置函数或方法(在本例中是类“time”),即使您将类型强制转换为“time”本身,也会导致类型为“module”的类,您不能同时将其子类化。 但是,你可以做一些我不建议的事情,因为它是无用的(在我看来):
它将神奇地成为一个类型“type”的类,这就是你想要的和你问题的答案。你知道吗
但你必须以某种方式来处理它,所以我的问题是,你到底想达到什么目的?你真的需要在幕后对一些可以用不同方式(很容易)完成的事情施展魔法吗?你知道吗
基于the Python docs for time.time,您在那里导入的
time
是一个函数,而不是一个类,这就是为什么您会收到错误消息的原因。你知道吗datetime.time可能是你需要的。你知道吗
相关问题 更多 >
编程相关推荐