bokeh.core.property.bases#
为Bokeh属性系统提供基类。
注意
这些类构成了实现Bokeh模型和属性系统的非常底层的机制的一部分。这些类或其方法不太可能适用于任何标准用途,也不适用于那些没有直接在Bokeh自己的基础设施上进行开发的人。
- class ContainerProperty(*type_params: type[Property[T]] | Property[T], default: T | UndefinedType | IntrinsicType = Intrinsic, help: str | None = None)[源代码]#
容器类类型属性的基类。
- class PrimitiveProperty(*, default: T | UndefinedType | IntrinsicType = Intrinsic, help: str | None = None)[源代码]#
简单属性类型的基础类。
子类应该定义一个类属性
_underlying_type,它是该属性可接受类型值的元组。Example
一个简单的
Float属性版本可能如下所示:class Float(PrimitiveProperty): _underlying_type = (numbers.Real,)
- class Property(*, default: T | UndefinedType | IntrinsicType = Intrinsic, help: str | None = None)[source]#
Bokeh 属性实例的基类,可以添加到 Bokeh 模型中。
- Parameters:
默认值 (obj, 可选) – 从此属性创建的属性的默认值。
帮助 (str 或 None, 可选) – 此属性的文档字符串。它将在生成SpinX文档时自动被bokeh_prop扩展使用。(默认值:None)
- __call__(*, default: T | UndefinedType | IntrinsicType = Intrinsic, help: str | None = None) Property[T][源代码]#
克隆此属性并允许覆盖
default和help。
- __init__(*, default: T | UndefinedType | IntrinsicType = Intrinsic, help: str | None = None) None[来源]#
- accepts(tp: type[Property[Any]] | Property[Any], converter: Callable[[Any], T]) Property[T][源代码]#
声明其他类型可以转换为该属性类型。
- Parameters:
tp (Property) – 一种可以自动转换为该属性类型的类型。
converter (可调用) – 一个接受
value的函数,用于将值转换为该属性类型。
- Returns:
自身
- asserts(fn: Callable[[HasProps, T], bool], msg_or_fn: str | Callable[[HasProps, str, T], None]) Property[T][source]#
断言准备好的值满足给定的条件。
断言旨在强制执行超出简单值类型验证的条件。例如,此方法可用于断言
ColumnDataSource的列始终具有相同的长度。- Parameters:
fn (callable) – 一个接受
(obj, value)的函数,如果值通过断言则返回 True,否则返回 False。msg_or_fn (str 或 callable) – 断言失败时打印的消息,或断言失败时调用的接受
(obj, name, value)的函数。
- Returns:
self
- is_valid(value: Any) bool[source]#
值是否通过验证
- Parameters:
value (obj) – 用于验证此属性类型的值
- Returns:
如果有效则为True,否则为False
- make_descriptors(name: str) list[PropertyDescriptor[T]][源代码]#
返回一个
PropertyDescriptor实例列表,以便在类上安装,从而将属性访问委托给此属性。- Parameters:
name (str) – 这些描述符所对应的属性的名称
- Returns:
列表[属性描述符]
返回的描述符由
MetaHasProps元类收集,并在类创建期间添加到HasProps子类中。
- matches(new: T, old: T) bool[source]#
两个参数是否匹配值。
如果
new或old是 NumPy 数组或 Pandas Series 或 Index, 那么np.array_equal的结果将决定值是否匹配。否则,将返回标准Python相等性的结果。
- Returns:
如果新旧匹配则为真,否则为假
- themed_default(cls: type[HasProps], name: str, theme_overrides: dict[str, Any] | None, *, no_eval: bool = False) T[源代码]#
默认情况下,由 prepare_value() 和主题覆盖进行转换。
- transform(value: Any) T[source]#
将此属性的值更改为规范格式。
- Parameters:
value (obj) – 要应用转换的值。
- Returns:
转换后的值
- Return type:
对象
- validate(value: Any, detail: bool = True) None[源代码]#
确定我们是否可以从这个值设置此属性。
验证发生在 transform() 之前
- Parameters:
value (obj) – 用于验证此属性类型的值
detail (bool, options) –
是否构建详细的异常
生成详细的类型验证错误信息可能会很耗时。当在内部进行类型检查时,这些错误信息不会传递给用户,可以通过将此值设置为False来跳过这些信息(默认值为True)
- Returns:
无
- Raises:
如果值对此属性类型无效,则抛出ValueError –
- __hash__ = None#