跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 木兰重生:与 Python 生态的兼容问题;字符串插值
未分類
10 10 月 2020

木兰重生:与 Python 生态的兼容问题;字符串插值

木兰重生:与 Python 生态的兼容问题;字符串插值

資深大佬 : xuanwu 0

原文链接:木兰重生:与 Python 生态的兼容问题;字符串插值

节选:

前两天用木兰调用 pygame 库实现了个井字棋棋盘界面。期间遇到了一些问题,先小结一下。

1 生态兼容问题

注:解决方法限于个人至今对木兰和 Python 的了解。如有高招,烦请指教!

1.1 元组 ( tuple )

python 中很常用的结构,可以如下初始化:

>>> t = (1,2) >>> t (1, 2) >>> t = 2, 3 >>> t (2, 3) 

但木兰中好像没找到类似的简便方法。幸好与 python 相似,函数返回多项时就会打包成元组,因此暂时这样定义函数:

func 多项 2(a, b) {   return a, b } func 多项 3(a, b, c) {   return a, b, c } ... 

之后支持变长参数时,就可以合并为一个函数了。

1.2 如何引用 type 属性

下面是 pygame 的常见操作,检查 pygame.event 的 type:

   for event in pygame.event.get():     if event.type == pygame.QUIT : 

但木兰中的 type 是类型定义的关键词,因而如果仍使用 .type 会报错。刚遇到这一问题时,颇为震惊,以为发现了木兰的一个大硬伤,不过还好 python 还有一个 __getattribute__('type') 可用。但另一种方法用在这里就无法获得 type 值:

func getType(个体) {   for 属性, 值 in 个体.__dict__.items() {    return 值 if 属性 == 'type'   } } 

大概因为这个 type 是个 @property (木兰中的应变属性),那么如果是普通属性如下:

type 人 {     func $人(名) {         $type = 名     } } 

上面两种方法就都可用。

1.3 键 in 字典

……

完整内容见原文链接:木兰重生:与 Python 生态的兼容问题;字符串插值 (降权,发不起完整的)

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具