You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中能否用点运算符为类附加类/函数?相关机制及None解析

Python动态属性与示例代码解析

一、Python中类似JS对象挂载的实现与名称

在JavaScript里将一个对象挂载到另一个对象上的操作,对应到Python中就是动态给类或对象添加属性。Python作为动态编程语言,允许在运行时直接给类(或类的实例)绑定任意类型的属性,包括类、函数、普通对象等。

比如你提供的示例代码中:

# 将类B挂载为类A的属性
A.holder_for_b = B
# 将函数挂载为类A的方法
A.some_method = i_am_a_function

这种操作没有特定的专属术语,通常被称为「动态添加属性」或者「给类/对象绑定属性」。

二、示例中输出None的含义

看代码里的print(A.some_method('foo')):

  1. 调用A.some_method('foo')时,实际执行的是函数i_am_a_function('foo'),这个函数内部会打印"I am function"和"foo";
  2. 但i_am_a_function没有编写return语句,在Python中,所有没有显式返回值的函数,默认都会返回None;
  3. 最后print()函数会把这个函数调用的返回值打印出来,所以输出结果里会出现None。

内容的提问来源于stack exchange,提问作者Masoud Kameli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:24:32