Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对面向对象编程概念的新认识_Python_Class_Oop_Time - Fatal编程技术网

Python 对面向对象编程概念的新认识

Python 对面向对象编程概念的新认识,python,class,oop,time,Python,Class,Oop,Time,我想知道我是否需要创建这个类来存储从时间模块中获取的信息。这是坏代码吗?我甚至不知道这是不是一个好问题。还是我把事情复杂化了?我基本上只需要日期和时间,因为我将创建一个sign_in/out方法,在用户登录或注销时为其创建时间戳。基本上就像穿孔卡片系统。提前谢谢 杰拉尔德 从严格的计算机科学的角度来看,你永远不需要使用面向对象的编程——如果你使用的语言是图灵完备的,那么你可以用一些简单的指令编写你想要的所有代码。OOP的要点是,它通过对程序的其余部分隐藏实现细节,使较大的程序更易于管理 在您的情

我想知道我是否需要创建这个类来存储从时间模块中获取的信息。这是坏代码吗?我甚至不知道这是不是一个好问题。还是我把事情复杂化了?我基本上只需要日期和时间,因为我将创建一个sign_in/out方法,在用户登录或注销时为其创建时间戳。基本上就像穿孔卡片系统。提前谢谢 杰拉尔德


从严格的计算机科学的角度来看,你永远不需要使用面向对象的编程——如果你使用的语言是图灵完备的,那么你可以用一些简单的指令编写你想要的所有代码。OOP的要点是,它通过对程序的其余部分隐藏实现细节,使较大的程序更易于管理

在您的情况下,您所做的本身并不是错误的,但如果这就是您的程序所做的,那么您就不需要OOP。但是,如果您的程序开始变大,那么使用OOP可能是值得的


学习OOP的难点之一是知道何时进行抽象,以及要进行什么样的抽象。一旦您尝试使用OOP编写一些程序,这应该会变得更加清晰。

这是一个意见问题,但就个人而言,我不会将类用于此类内容……您通常会使用
datetime
。不要重新发明轮子。你把事情复杂化了
time.localtime()
返回具有命名属性的对象。只需打印(time.tm\u min),等等。不需要上课,我在写答案之前正在回答。对于这个虚拟问题来说,这显然太复杂了,但是在某些用例中,您肯定希望一个真实的类来表示您的时间对象。设想一个穿孔卡系统,您可以修改每个穿孔,但原始值应保留在历史记录中,以便还原,并且可以在每个修改的穿孔上生成报告。datetime和从系统时钟获取时间和日期的时间之间是否存在差异?换言之,我通过创建clsss基本上把这件事复杂化了?我猜登录/注销时间可能类似于sign\u in\u out=time.localtime()?IDK我仍然在学习这个hahaThanks非常新的东西,供您输入:)我想我可能把事情复杂化了。我一直在读关于Tkinter的文章,因为我可能会用它来制作登录按钮和文本框小部件,但仍然有很多东西需要学习:P大量的尝试和错误:P
import time
the_time = time.localtime()

class Clock():

    def __init__(self, year, month, day, hour, minute, second ):
        self.year = year
        self.month = month
        self.day = day
        self.hour = hour
        self.minute = minute
        self.second = second

list1 = []
for t in the_time:
    list1.append(t)
print(list1)



clock_list = Clock(list1[0],list1[1],list1[2],list1[3],list1[4],list1[5])

print(clock_list.minute)
print(clock_list.second)