【发布时间】:2021-06-05 23:29:37
【问题描述】:
我对类/类方法以及它们的工作方式不太熟悉,而且我知道我的代码很糟糕!我想涉足 UI 的世界,所以我想用我用 Python 编写的一个简单函数来看看我是否可以用它创建一个应用程序。 (编辑:如果今天不是星期一,脚本会产生一个“:(”,如果今天是星期一,则产生一个“:)”。)(双重编辑:这是我的第一篇文章,我为我的无知道歉:编码和堆栈溢出格式。)我们有:
#!/usr/bin/env python
from kivy.app import App
from kivy.uix.label import Label
import datetime
from datetime import date
import calendar
today = date.today().strftime('%Y-%d-%m')
def findDay(self, today):
day = datetime.datetime.strptime(today, '%Y-%d-%m').weekday()
y = (calendar.day_name[day])
if y == 'Monday':
x = ':)'
return x
else:
x = ':('
return x
print(x)
class MyApp(App):
def build(self):
today = date.today().strftime('%Y-%d-%m')
z = findDay(today)
return Label(z)
if __name__ == "__main__":
MyApp().run()
出现错误:
Traceback (most recent call last):
File "main.py", line 30, in <module>
MyApp().run()
File "/Users/myusernamehere/opt/anaconda3/lib/python3.7/site-packages/kivy/app.py", line 829, in run
root = self.build()
File "main.py", line 26, in build
z = findDay(today)
TypeError: findDay() missing 1 required positional argument: 'today'
我知道这个错误是由一个类的对象的不正确实例化引起的......但根据我对“今天”的定义,我不确定这在我给定的上下文中意味着什么! (除非它与“自我”有关?)
【问题讨论】:
标签: python class object kivy instantiation