Anonymous Quiz
30%
list()
46%
[ ]
7%
Same speed
17%
Depends on list size
Anonymous Quiz
17%
set
16%
dict
57%
array
10%
tuple
Feels off?
It's because all your objects share one variable (without you realizing it)
At first glance, it seems like every object should start fresh, right? But in this case, count is a class variable, which means it’s shared by all instances of the class.
Every time you create a new
If your goal is to give each object its own value, define it like this instead
Now, each instance has its own count, stored on the object itself . no sharing, no surprises.
It's because all your objects share one variable (without you realizing it)
At first glance, it seems like every object should start fresh, right? But in this case, count is a class variable, which means it’s shared by all instances of the class.
Every time you create a new
Counter(), you’re actually incrementing the same shared variable not something unique to each object.If your goal is to give each object its own value, define it like this instead
class Counter:
def __init__(self):
self.count = 1
Now, each instance has its own count, stored on the object itself . no sharing, no surprises.
❤2
❤4
Looks neat, right? But let’s slow down.
The
The starred variable always gets a list, and it can be empty so plan accordingly when unpacking, especially in function arguments or loops.
For example: Consider the following code
No error, but
The
*b syntax is called extended iterable unpacking. It grabs everything in the middle of the list, leaving the first item (a) and the last (c) outside the star. This pattern is super handy, but can also behave unexpectedly if you assume it’ll grab just one item or not consider the structure of the data.The starred variable always gets a list, and it can be empty so plan accordingly when unpacking, especially in function arguments or loops.
For example: Consider the following code
x, *y = [42]
print(y) # []
No error, but
y is just an empty list! Unpacking doesn’t always fill every name the way you might guess.❤1👍1
Given the above Python code, what will be printed?
Anonymous Quiz
14%
"hello"
69%
"olleh"
10%
"" (empty string)
7%
Error
❤2