python44讲第一题
为啥会报错呀,难道没有lacaltime()方法了吗 关于Python中localtime()报错问题的解答遇到报错是因为存在拼写错误!正确的方法是 localtime() 而不是 lacaltime()(注意字母o的位置)。
错误原因分析:
[*]Python标准库的 time 模块只有 localtime() 方法
[*]常见错误拼写:lacaltime/localetime/localtim 等变体都会报错
正确用法示例:
import time
current_time = time.localtime()# 正确写法
print(current_time)
常见报错提示:
AttributeError: module 'time' has no attribute 'lacaltime'
请检查:
[*]是否遗漏了字母 o(正确拼写是 local→o→cal)
[*]是否忘记导入time模块
[*]是否在调用时加了多余的参数(该方法不需要参数)
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 MyTimer 代码发上来 本帖最后由 jackz007 于 2025-4-23 18:45 编辑
楼主的代码存在标识符污染:
import time as t
. . . . . .
self . begin = t . localtime()
. . . . . .
self . stop = t . localtime()
. . . . . .
t = MyTimer() # 标识符 t 在这里被赋值后,已经不再代表 time 模块,而是 MyTimer() 类的一个实例对象。所以,t . localtime() 当然会出问题了!
t . start()
【参考代码】:
import time as t
class MyTimer :
def _calc(self) :
self . prompt = '总共运行了'
self . lasted = []
for i in range(6) :
self . lasted . append(self . end - self . begin)
print(self . prompt + str(self . lasted))
# 开始计时
def start(self) :
self . begin = t . localtime()
print('开始计时 ...')
# 停止计时
def stop(self) :
self . end = t . localtime()
print('计时停止!')
self . _calc()
r = MyTimer() # 必须避免使用标识符 t 来定义新对象
r . start()
t . sleep(5)
r . stop() player-none 发表于 2025-4-23 17:43
MyTimer 代码发上来
import time as t
class MyTimer:
#开始计时
def start(self):
self.begin = t.localtime()
print("开始计时...")
#结束计时
def stop(self):
self.end = t.localtime()
print("计时结束")
self._calc()
#内部方法,计算运行时间
def _calc(self):
self.last = []
self.prompt = '总共运行'
for i in range(6):
self.last.append(self.end-self.begin)
self.prompt += str(self.last)
print(self.prompt)
jackz007 发表于 2025-4-23 18:34
楼主的代码存在标识符污染:
我还是运行不了 追逐我的明天 发表于 2025-4-23 19:44
我还是运行不了
你真的测试了我给的参考代码???
【运行实况】:
D:\\>python mytimer.py
开始计时 ...
计时停止!
总共运行了
D:\\> jackz007 发表于 2025-4-23 21:53
你真的测试了我给的参考代码???
【运行实况】:
抱歉抱谦,是我弄错了,可以运行
页:
[1]