同一实体如何既可以充当参数又可以充当对象?

时间:2019-02-01 14:09:14

标签: python-3.x

在以下操作中,我们将 a 用作对象和参数。

a =“世界您好!”

  1. 打印( a .lower())-> a 作为对象

  2. print( len( a )-> a 作为参数

我可以知道每个操作访问 a 的方式有何不同吗?

1 个答案:

答案 0 :(得分:1)

python中的所有内容(可以在赋值的rhs中进行的所有内容)都是对象,因此,作为参数传递给函数的内容始终是对象。实际上,这些完全是正交的概念:您不会“使用”某种东西作为“对象”-它是一个对象-但是您确实可以将“使用它”(传递给它)作为函数/方法/任何可调用对象的参数

  

我可以知道每个操作访问a的方式有何不同吗?

实际上并不太好(除了他们对a做不同的事情)...

a.lower()仅是str.lower(a)的语法糖(obj.method()type(obj).method(obj)的语法糖,因此在两种情况下,您都是“使用a作为参数“。