我需要了解对象,还是只需学习字典就行?

1 投票
2 回答
874 浏览
提问于 2025-04-16 23:31

好的,我尽量简短一点 =)

我承认我还是个新手。-.- 但我相信我不需要学会所有的东西……而是专注于一些适合我项目的知识,这样可能会节省我的时间……?

我打算制作一个我已经设计好的游戏,但还没开始动手。

我会学习完成这个项目所需的一切。

不过为了节省时间……

我使用的是Python。这个游戏只需要在一个网格上标记位置,并给这些位置赋值:

比如一个绿色的“松树”方块 = *信息 *值 = 树的类型 / 树的硬度 / 树的寿命等等……

我可能错了,认为不需要对象?我应该把所有时间都花在学习字典的用法上吗……

对于一个基于网格的瓷砖游戏,什么样的编码方式最有效,能够模拟每回合的变化?

也就是说,一个蓝色方块会根据一套规则和相邻的方块在每回合结束时扩散。而这些方块都有附加的值……?即使只是告诉我最可行的技术名称……我可以在知道我需要学习什么后再去学怎么做……

2 个回答

3

我不同意你应该一开始就学会所有东西。我觉得只要在需要的时候学一些语言的部分就可以了。

不过在Python中,你真的不能避免学习一些关于对象的知识。因为在Python里,所有东西都是对象。比如一个 string(字符串)或者 int(整数)或者其他任何数据类型,都是对象。更重要的是,你导入的任何东西也是对象。你在任何项目中都无法避免导入现有的功能,所以你必须使用面向对象的接口。

那么,你能不能不学怎么定义自己的对象类呢?原则上是可以的。但理解基本概念其实很简单,然后你可以在需要的时候再学习其他的内容。

Class MyObject(object):
    pass

这很容易学!现在你有了一个自定义类型(一个 )的对象。你可以通过调用 m = MyObject() 来创建一个实际的对象。这个类提供的功能几乎和字典一样。但你可以从这里开始,然后在需要的时候添加更多功能(比如继承、方法等)。如果你在适合使用对象的情况下从字典开始,你就会陷入困境。

9

任何规模的Python项目如果没有对象,就会变得难以管理。

你可以用模块来代替类作为对象吗?可以,如果你真的想这样做的话。(在Python中,模块就是指一个单独的文件。)

不过,即使你不创建用户自定义的类,你仍然需要学习如何使用对象

为什么呢?因为在Python中,一切都是对象。你至少需要知道如何使用对象,这样才能理解Python内置的类型和函数。

在Python中,字典在内部实现上非常重要,所以你觉得字典可以作为替代是对的。

但是字典也是对象,所以你还是得学习如何使用对象,而不是仅仅依赖于普通的字典来获得它们的便利。

我的建议是?去做一个Python教程(或者三个)。把整个教程都学完。即使是那些关于网络编程的部分,或者你觉得自己不会用到的内容。你会学到一些关于这个语言的知识,后来会以你意想不到的方式用到。

你需要学习元类吗?不需要。多进程呢?也不需要。但你需要学习所有核心语言特性,而类和面向对象编程就是核心语言特性。这在几乎所有现代语言中都非常重要,以至于人们都不再提及它了。

撰写回答