新手问两个问题

oasistree 2009-01-08 11:20:33
大家好:
我请教两个问题。
1. 将函数A的函数名传递给函数B的参数时不带(),那么如何把函数A的参数传给它自己呢?
如下中的score_text.setColor想要score_text.setColor(BLUE)的效果
games.Message(screen = my_screen, x = SCREEN_WIDTH/2, y = SCREEN_HEIGHT/2,
text = "You won!", size = 100, color = color.red,
lifetime = 250, after_death = score_text.setColor)

2. 我看的Python书比较浅,在wxPython和Pygame中用到的flag有点不能理解,查了一下资料有这样的解释
A flag is a feature that can be switched on or off; you can combine several flags
together with the bitwise OR operator (|)
我想了解的更详细点,请问它的运作机制,有什么注意事项。
我手边有不少Python电子书,那本书里有详细介绍,也可以告诉我书名。

提前谢谢了!
...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oasistree 2009-01-12
  • 打赏
  • 举报
回复
唉,好了,就这样吧,谢谢各位,看了我还得自己进修一下
lkw64 2009-01-12
  • 打赏
  • 举报
回复
perl开发才听到这个名字,真惭愧啊
iambic 2009-01-12
  • 打赏
  • 举报
回复
1. lambda表达式和函数没什么区别。lambda最好的地方是匿名。如果你定义了一个lambda,然后马上把它传给另一个函数,那就很方便;如果定义了一个lambda,随后直接赋给一个变量,再通过这个变量去调用,那可能定义一个普通的函数更好些。
2. 是位运算。C语言中也有。
oasistree 2009-01-12
  • 打赏
  • 举报
回复
谢谢Semigod,又没有人能再帮忙解答一下第二点
oasistree 2009-01-10
  • 打赏
  • 举报
回复
1. 其实之前我也想到定义函数了,但总觉得那样很笨重,明明有的东西还要重定义一边,又多了一个API,肯定有别的方法,试了一下lambda表达式,感觉用这挺不错的。
2. 能不能说的更详细点,它的内部运作机制是什么,它到底是变量还是行为,还是影响行为的变量,假如我要自己定义一个参数为flag的函数怎么定义
Semigod 2009-01-08
  • 打赏
  • 举报
回复
1. 最简单的办法 重新定义一个函数或用lambda 表达式,在这个新函数或表达式中调用 score_text.setColor(BLUE)
2. flag就是一堆标志,如果你需要哪一个就将哪一个传过去,传的时候,多个flag之间用 | 连接

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧