[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Which class method is being called when we declare below expression?

Ajay Patel <ajay.patel305 at gmail.com> writes:

> L = [1,2,3]

That's not an expression; it is an assignment statement.

The right-hand side is an expression. It will (at the top level) create
a list.

To create a new instance of the 'list' type, Python will call the type's
'__new__' method. This is termed the constructor for that type.

The constructor returns a new instance of the type; in this case, it
returns a new instance of 'list'. That object is the result of
evaluating the right-hand side of the expression.

The statement then assigns the reference 'L' to that object.

> And
> L =[]

All the above description also applies to that assignment statement.

 \        ?If you go parachuting, and your parachute doesn't open, and |
  `\        you friends are all watching you fall, I think a funny gag |
_o__)             would be to pretend you were swimming.? ?Jack Handey |
Ben Finney