python - 我如何声明我的班级,以便我可以这样访问
问题描述
在 micropython 中有一个模块 neopixel 可以与 ws2812 可寻址 LED 交互,示例代码是
from microbit import *
import neopixel
pixel = neopixel.NeoPixel(pin0, 64)
pixel[0] = (255, 0, 0)
pixel.show()
这声明了由 pin0 控制的 64 个 LED,将第一个设置为红色并更新 LED 阵列。
我如何声明一个类,以便我可以像行一样分配值pixel[0] = (255, 0, 0)
?
解决方案
虽然这__setitem__
是正确的,但在编码中添加 getter 和 setter 是非常常见的。
我个人建议使用 attr : http: //www.attrs.org/en/stable/examples.html
这可以实现大量的魔法,并且 setter 包含在功能中。
后pip install attrs
import attr
@attr.s
class dummy():
x= attr.ib()
test = dummy ([0])
test.x[0] = 2
test
推荐阅读
- php - 对 ebay-sdk-php 中的 shopping_get_item.php 和 ShoppingBaseService.php 进行哪些更改以使其与 X-EBAY-API-IAF-TOKEN 一起使用
- c# - 如何在 C# 代码中使用“go”发送 SQL 请求
- angular - 使用 Angular Material 拖放复制和附加
- weblogic - 使用 WLST 列出和使用应用程序角色 - listAppRoles()
- django - 如何在 Django 中将 json 转换为表单?
- html - 在 div 中添加边框
- python - 为什么 vs code ipynb 中的代码是灰色的,我该如何更改?
- javascript - 如何用集合字段序列化表单数据并在服务器端反序列化?
- android - VoskAPI:ExpectToken():io-funcs.cc:200) 无法读取令牌 [从文件位置 0 开始],预期
- kotlin - 多部分表单数据的 Kotlin (Ktor) 请求类