鱼C论坛

 找回密码
 立即注册
查看: 1484|回复: 5

如何创建pep

[复制链接]
发表于 2019-9-28 10:18:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
或者给python官方提建议的方法,在线等!急
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-9-28 10:20:06 | 显示全部楼层
如题,我想写一个关于列表索引的pep,例如定义
  1. a=[[0]]
复制代码

之后把
  1. a[0][0]
复制代码

改写为
  1. a[0,0]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-28 11:04:50 | 显示全部楼层
https://github.com/python/peps/blob/master/CONTRIBUTING.rst
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-28 11:54:40 | 显示全部楼层
应该不可以吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-28 11:56:50 | 显示全部楼层
但是可以这样:
  1. >>> class A:
  2.         def __getitem__(self, sl):
  3.                 print(sl)

  4.                
  5. >>> a = A()
  6. >>> a[0, 0]
  7. (0, 0)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-28 13:07:30 | 显示全部楼层
  1. class MyList(list):

  2.     def __getitem__(self, index):
  3.         if isinstance(index, (int, slice)):
  4.             return super().__getitem__(index)
  5.         elif isinstance(index, tuple):
  6.             result = super().__getitem__(index[0])
  7.             for i in index[1:]:
  8.                 result = result.__getitem__(i)
  9.             return result
  10.         else:
  11.             raise TypeError(f"MyList indices must be integers, slices or tuple, not {index.__class__.__name__}")


  12. >>> a = MyList([[0]])
  13. >>> a[0][0]
  14. 0
  15. >>> a[0,0]
  16. 0
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-19 16:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表