我是python的新手.我研究过C,我注意到C结构(struct)似乎与python中的"class"具有相同的任务.那么,从概念上讲,差异是什么呢?
在不将页面和页面放入细节的情况下,将C结构视为组织数据的方式,而Python(或C++或Objective-C)"类"不仅可以组织数据,还可以组织操作对于那些数据.例如,Python"类"可以从其他对象继承,为您提供与之关联的数据的交互器(或者您可以在类中编写自己的交互器).还有更多话要说,我敢肯定,但这很快进入"什么是OOP",远远超出了这个线程的范围.
没有提到的一件事是C结构是值类型,而Python类是引用类型.
例如,请考虑以下声明:
var1 = var2
Run Code Online (Sandbox Code Playgroud)
如果var1和var2是C结构,那么该语句会将var2的内容复制到var1中.这是按价值复制的.
但是,如果var1和var2是Python对象,那么该语句将使var1引用var2引用的对象.(它们就像是C中结构的指针.)这是通过引用的副本.
将参数传递给函数时会发生同样的事情(因为它们必须被复制才能进入函数).
| 归档时间: |
|
| 查看次数: |
4506 次 |
| 最近记录: |