追逐我的明天 发表于 2025-4-23 17:31:49

python44讲第一题

为啥会报错呀,难道没有lacaltime()方法了吗

FishC 发表于 2025-4-23 17:32:26

关于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 小助理,如未能正确解答您的问题,请继续追问。

player-none 发表于 2025-4-23 17:43:17

MyTimer 代码发上来

jackz007 发表于 2025-4-23 18:34:24

本帖最后由 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()

追逐我的明天 发表于 2025-4-23 19:42:31

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)

追逐我的明天 发表于 2025-4-23 19:44:23

jackz007 发表于 2025-4-23 18:34
楼主的代码存在标识符污染:




我还是运行不了

jackz007 发表于 2025-4-23 21:53:04

追逐我的明天 发表于 2025-4-23 19:44
我还是运行不了

          你真的测试了我给的参考代码???
         【运行实况】:
D:\\>python mytimer.py
开始计时 ...
计时停止!
总共运行了

D:\\>

追逐我的明天 发表于 2025-4-24 16:37:00

jackz007 发表于 2025-4-23 21:53
你真的测试了我给的参考代码???
         【运行实况】:

抱歉抱谦,是我弄错了,可以运行
页: [1]
查看完整版本: python44讲第一题