Python Learning
5.93K subscribers
452 photos
1 video
63 files
109 links
Python Coding resources, Cheat Sheets & Quizzes! πŸ§‘β€πŸ’»

Free courses: @bigdataspecialist

@datascience_bds
@github_repositories_bds
@coding_interview_preparation
@tech_news_bds

DMCA: @disclosure_bds

Contact: @mldatascientist
Download Telegram
#PyQuiz

What is the type of type in Python?
Anonymous Quiz
38%
type
23%
class
30%
object
10%
meta
❀1
πŸ‘2
πŸ”₯1
#PyQuiz

What's the output of bool('False')?
Anonymous Quiz
35%
True
42%
False
5%
None
18%
Error
Python Functions You definitely Need to Know
❀3
πŸ‘4❀3
❀1
#PyQuiz

What's the result of len(set("hello"))?
Anonymous Quiz
41%
5
36%
4
2%
3
20%
Error
Difference Between Variable and Object in Python
❀3πŸ‘1
#PyQuiz

Which is faster: list() or [ ]?
Anonymous Quiz
29%
list()
46%
[ ]
7%
Same speed
18%
Depends on list size
Why did x change too?!

Because x and y are just two names pointing to the same list in memory. When you modify one, the change reflects in both.

Use .copy() or slicing [:] if you want a separate list:
y = x.copy()
That way, you’re not changing the original but just making your own version.
❀3πŸ‘2
#PyQuiz

Which of these is NOT a valid Python data type?
Anonymous Quiz
18%
set
16%
dict
56%
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 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
#PyQuiz

What does range(5)[-1] return?
Anonymous Quiz
15%
5
48%
4
12%
-1
25%
Error
❀3
What is an F-String in Python?
❀4
Looks neat, right? But let’s slow down.

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"
70%
"olleh"
10%
"" (empty string)
7%
Error
❀2