How do operator.itemgetter() and sort() work?

Looks like you’re a little bit confused about all that stuff. operator is a built-in module providing a set of convenient operators. In two words operator.itemgetter(n) constructs a callable that assumes an iterable object (e.g. list, tuple, set) as input, and fetches the n-th element out of it. So, you can’t use key=a[x][1] there, because python has no idea what x is. …

Read more

What does double question mark (??) operator mean in PHP

It’s the “null coalescing operator”, added in php 7.0. The definition of how it works is: It returns its first operand if it exists and is not NULL; otherwise it returns its second operand. So it’s actually just isset() in a handy operator. Those two are equivalent1: Documentation: http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.coalesce In the list of new PHP7 features: http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op And original …

Read more

Using __add__ operator with multiple arguments in Python

No, you can’t use multiple arguments. Python executes each + operator separately, the two + operators are distinct expressions. For your example, object + 1 + 2 really is (object + 1) + 2. If (object + 1) produces an object that has an __add__ method, then Python will call that method for the second operator. You could, for example, return another instance of A here:

What is the := operator?

In all languages that support an operator := it means assignment. In languages that support an operator :=, the = operator usually means an equality comparison. In languages where = means assignment, == is typically used for equality comparison. does := mean =? I can’t recall any languages where := means the same as =. In MySQL := and = are both used for assignment, however they are not interchangeable and selecting the correct one …

Read more