Python Data Science Jobs & Interviews
18K subscribers
142 photos
3 videos
5 files
253 links
Your go-to hub for Python and Data Scienceโ€”featuring questions, answers, quizzes, and interview tips to sharpen your skills and boost your career in the data-driven world.

Admin: @Hussein_Sheikho
Download Telegram
๐Ÿ Python Tip of the Day: Decorators โ€” Enhance Function Behavior โœจ

๐Ÿง  What is a Decorator in Python?
A decorator lets you wrap extra logic before or after a function runs, without modifying its original code.

๐Ÿ”ฅ A Simple Example

Imagine you have a basic greeting function:

def say_hello():
print("Hello!")


You want to log a message before and after it runs, but you donโ€™t want to touch say_hello() itself. Hereโ€™s where a decorator comes in:

def my_decorator(func):
def wrapper():
print("Calling the function...")
func()
print("Function has been called.")
return wrapper


Now โ€œdecorateโ€ your function:

@my_decorator
def say_hello():
print("Hello!")


When you call it:

say_hello()


Output:
Calling the function...
Hello!
Function has been called.




๐Ÿ’ก Quick Tip:
The @my_decorator syntax is just syntactic sugar for:
s
ay_hello = my_decorator(say_hello)

๐Ÿš€ Why Use Decorators?
- ๐Ÿ”„ Reuse common โ€œbefore/afterโ€ logic
- ๐Ÿ”’ Keep your original functions clean
- ๐Ÿ”ง Easily add logging, authentication, timing, and more



#PythonTips #Decorators #AdvancedPython #CleanCode #CodingMagic

๐Ÿ”By: https://t.iss.one/DataScienceQ
๐Ÿ‘5๐Ÿ”ฅ2
This media is not supported in your browser
VIEW IN TELEGRAM
0015)
Anonymous Quiz
35%
1
45%
2
14%
3
7%
4
๐Ÿง  What is a Generator in Python?
A generator is a special type of iterator that produces values lazilyโ€”one at a time, and only when neededโ€”without storing them all in memory.

---

โ“ How do you create a generator?
โœ… Correct answer:
Option 1: Use the yield keyword inside a function.

๐Ÿ”ฅ Simple example:

def countdown(n):
while n > 0:
yield n
n -= 1


When you call this function:

gen = countdown(3)
print(next(gen)) # 3
print(next(gen)) # 2
print(next(gen)) # 1


Each time you call next(), the function resumes from where it left off, runs until it hits yield, returns a value, and pauses again.

---

โ›” Why are the other options incorrect?

- Option 2 (class with __iter__ and __next__):
It works, but itโ€™s more complex. Using yield is simpler and more Pythonic.

- Options 3 & 4 (for or while loops):
Loops are not generators themselves. They just iterate over iterables.

---

๐Ÿ’ก Pro Tip:
Generators are perfect when working with large or infinite datasets. Theyโ€™re memory-efficient, fast, and clean to write.

---

๐Ÿ“Œ #Python #Generator #yield #AdvancedPython #PythonTips #Coding


๐Ÿ”By: https://t.iss.one/DataScienceQ
๐Ÿ‘6โค2๐Ÿ”ฅ2โคโ€๐Ÿ”ฅ1
This media is not supported in your browser
VIEW IN TELEGRAM
โค1โคโ€๐Ÿ”ฅ1๐Ÿ’‹1
0016)
Anonymous Quiz
67%
1
14%
2
16%
3
2%
4
๐Ÿฅฐ1
๐ŸŽฏ Python Quick Quiz โ€“ OOP Edition
๐Ÿ’ก _What is the primary use of the __init__ method in a Python class?_

๐Ÿ”˜ Option 1: Initializing class attributes โœ…
๐Ÿ”˜ Option 2: Defining class methods
๐Ÿ”˜ Option 3: Inheriting from a superclass
๐Ÿ”˜ Option 4: Handling exceptions

๐Ÿง  Correct Answer: Option 1
๐Ÿ“Œ The init method is a special method used to initialize the objectโ€™s attributes when a class is instantiated. It's like a constructor in other programming languages.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age

john = Person("John", 25)
print(john.name) # Output: John


#PythonTips #OOP #PythonQuiz #CodingCommunity

๐ŸŽจhttps://t.iss.one/DataScienceQ
๐Ÿ”ฅ4โค2
This media is not supported in your browser
VIEW IN TELEGRAM
0017)
Anonymous Quiz
23%
1
36%
2
12%
3
29%
4
๐Ÿ”ฅ1
Forwarded from Python Courses
๐Ÿš€ LunaProxy - The Most Cost-effective Residential Proxy Exclusive Benefits for Members of This Group: ๐Ÿ’ฅ Residential Proxy: As low as $0.77 / GB. Use the discount code [lunapro30] when placing an order and save 30% immediately. โœ”๏ธ Over 200 million pure IPs | No charge for invalid ones | Success rate > 99.9% ๐Ÿ’ฅ Unlimited Traffic Proxy: Enjoy a discount of up to 72%, only $79 / day. โœ”๏ธ Unlimited traffic | Unlimited concurrency | Bandwidth of over 100Gbps | Customized services | Save 90% of the cost when collecting AI/LLM data Join the Luna Affiliate Program and earn a 10% commission. There is no upper limit for the commission, and you can withdraw it at any time.
๐Ÿ‘‰ Take action now: https://www.lunaproxy.com/?ls=data&lk=?01
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ”„ How to define a class variable shared among all instances of a class in Python?

In Python, if you want to define a variable that is shared across all instances of a class, you should define it outside of any method but inside the class โ€” this is called a class variable.

---

โœ… Correct answer to the question:

> How would you define a class variable that is shared among all instances of a class in Python?

๐ŸŸข Option 2: Outside of any method at the class level

---

๐Ÿ” Letโ€™s review the other options:

๐Ÿ”ด Option 1: Inside the constructor method using self
This creates an instance variable, specific to each object, not shared.

๐Ÿ”ด Option 3: As a local variable inside a method
Local variables are temporary and only exist inside the method scope.

๐Ÿ”ด Option 4: As a global variable outside the class
Global variables are shared across the entire program, not specific to class instances.

---
๐Ÿš— Simple Example: Class Variable in Action

class Car:
wheels = 4 # โœ… class variable, shared across all instances

def __init__(self, brand, color):
self.brand = brand # instance variable
self.color = color # instance variable

car1 = Car("Toyota", "Red")
car2 = Car("BMW", "Blue")

print(Car.wheels) # Output: 4
print(car1.wheels) # Output: 4
print(car2.wheels) # Output: 4

Car.wheels = 6 # changing the class variable

print(car1.wheels) # Output: 6
print(car2.wheels) # Output: 6


---

๐Ÿ’ก Key Takeaways:
- self. creates instance variables โ†’ unique to each object.
- Class-level variables (outside methods) are shared across all instances.
- Perfect for shared attributes like constants, counters, or shared settings.



#Python #OOP #ProgrammingTips #PythonLearning #CodeNewbie #LearnToCode #ClassVariables #PythonBasics #CleanCode #CodingCommunity #ObjectOrientedProgramming

๐Ÿ‘จโ€๐Ÿ’ป From: https://t.iss.one/DataScienceQ
โค2๐Ÿ‘2๐Ÿ”ฅ1
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿš€ How to Call a Parent Class Method from a Child Class in Python?

Let's dive in and answer this popular interview-style question! ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป

---

๐Ÿ”ฅ Question:
How can you call a method of the parent class from within a method of a child class?

---

โœ… Correct Answer:
Option 1: Using the super() function

๐Ÿ‘‰ Why?
- In Python, super() is the standard way to access methods and properties of a parent class from inside a child class.
- It's clean, elegant, and also supports multiple inheritance properly.

---
โœ… Quick Example:

class Parent:
def greet(self):
print("Hello from Parent!")

class Child(Parent):
def greet(self):
print("Hello from Child!")
super().greet() # Calling parent class method

# Create an instance
child = Child()
child.greet()


๐Ÿ›  Output:
Hello from Child!
Hello from Parent!


---

๐Ÿ”ฅ Let's Review Other Options:
- Option 2: Directly calling parent method (like Parent.greet(self)) is possible but not recommended. It tightly couples the child to a specific parent class name.
- Option 3: Creating an instance of the parent class is incorrect; you should not create a new parent object.
- Option 4: parent_method() syntax without reference is invalid.

---

๐ŸŽฏ Conclusion:
โœ… Always use super() inside child classes to call parent class methods โ€” it's the Pythonic way! ๐Ÿโœจ

---

๐Ÿ“š Hashtags:
#Python #OOP #Inheritance #super #PythonTips #Programming #CodeNewbie #LearnPython

๐Ÿ”š Channel:
https://t.iss.one/DataScienceQ
๐Ÿ‘7๐Ÿ”ฅ1๐Ÿ‘1
This media is not supported in your browser
VIEW IN TELEGRAM