2861160067 发表于 2021-8-6 01:55:11

关于pygame中event的小疑问

我想问一下各位大佬,下面的语句
for event in pygame.event.get():

event得到的是一个事件,我们可以使用event.type来查看这个事件的类型,可以用event.key来判断按键是否按下。
我想问一下:
1.这个type是event的属性吗?
2.然后这个key又是什么东西(这个key不是pygame的key模块)?
3.还有就是能不能给我科普一下event这个事件还有什么属性,或者说event事件的相关信息(不是event这个模块,是for循环得到的event)

qiuyouzhi 发表于 2021-8-6 01:55:12

2861160067 发表于 2021-8-6 15:00
event是函数pygame.event.get()的返回值,函数的返回值不一定是对象。
但是因为通过了event.type的.来访 ...

pygame.event.get 返回的是一个可迭代对象吧,不然怎么遍历呢?
第二行基本上是对的

2861160067 发表于 2021-8-6 01:55:41

求助!!{:5_92:}

2861160067 发表于 2021-8-6 02:18:23

苦苦周旋了一番,得到一些信息,就是这个event是一个对象,然后type是这个对象的属性对吧?
pygame.event这个event是模块,而pygame.event.get()得到的是事件对象的列表,我这样理解对吗?求助!{:5_100:}

Angelina_Jolie 发表于 2021-8-6 09:15:46

我也想知道 楼主加油

qiuyouzhi 发表于 2021-8-6 09:32:12

1,是的
2,就是 event 的一个属性呀,你去复习下类和对象
3,自行百度

kogawananari 发表于 2021-8-6 10:09:37

如果pygame是包pygame.event就是子包或者模块
如果pygame是模块 pygame.event就是个属性

具体你要看pygame的init文件里面怎么引入的 子包的话只需要看__all__列表里面的变量

阿奇_o 发表于 2021-8-6 11:15:49

本帖最后由 阿奇_o 于 2021-8-6 11:17 编辑

宽泛地讲,只要能通过 '.' 点出来的属性或方法,都可以叫做一个对象或类的 属性 Attribute。
以后你碰到__getattribute__,getattr()等方法时,你就会理解了。
当然,你可以具体分为 模块对象的属性,类的属性,实例的属性等等。

其次,你要理解:我们用基本上只是一个名字,一个变量名 ——这个变量名指向某个对象 —— 一个对象则包括:唯一的Identity,Type,Value。
换句话说,对象不能直接使用,必须通过一个变量名(任意合法的名字)来调用。
你看看 globals() 就可以"一瞥" name → object 的关系。

2861160067 发表于 2021-8-6 15:00:06

qiuyouzhi 发表于 2021-8-6 09:32
1,是的
2,就是 event 的一个属性呀,你去复习下类和对象
3,自行百度

event是函数pygame.event.get()的返回值,函数的返回值不一定是对象。
但是因为通过了event.type的.来访问type,所以可以断定event是一个对象,然后type是对象的属性,这样对吗?

2861160067 发表于 2021-8-6 15:23:51

qiuyouzhi 发表于 2021-8-6 15:13
pygame.event.get 返回的是一个可迭代对象吧,不然怎么遍历呢?
第二行基本上是对的

好的,感谢!
页: [1]
查看完整版本: 关于pygame中event的小疑问