PyData Careers
21.2K subscribers
247 photos
11 videos
26 files
417 links
Python Data Science jobs, interview tips, and career insights for aspiring professionals.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
πŸ”§ Python Interview Question – Configuration Management Across Modules

Question:
You're working on a Python project with several modules, and you need to make some global configurations accessible across all modules. How would you achieve this?

Options:
a) Use global variables
b) Use the configparser module
c) Use function arguments
d) Use environment variables βœ…

---

βœ… Correct Answer: d) Use environment variables

---

πŸ’‘ Explanation:

When dealing with multiple modules in a project, environment variables are the best way to store and share global configurations like API keys, file paths, and credentials.

They are:
- Secure πŸ”
- Easily accessible from any module 🧩
- Ideal for CI/CD and production environments βš™οΈ
- Supported natively in Python via os.environ

Example:
import os

api_key = os.environ.get("API_KEY")


Pair it with .env files and libraries like python-dotenv for even smoother management.

---

❌ Why not the others?

- Global variables: Messy and hard to manage in large codebases.
- configparser: Good for reading config files (`.ini`) but not inherently global or secure.
- Function arguments: Not scalable β€” you'd have to manually pass config through every function.

---

🧠 Tip: Always externalize configs to keep your code clean, secure, and flexible!

#Python #InterviewTips #PythonTips #CodingBestPractices #EnvironmentVariables #SoftwareEngineering

πŸ”By: https://t.me/DataScienceQ
πŸ‘4❀1
🟩 What’s the question?
You’ve created a Python module (a .py file) with several functions,
but you don’t want all of them to be available when someone imports the module using from mymodule import *.

For example:

# mymodule.py
def func1():
pass

def func2():
pass

def secret_func():
pass


Now, if someone writes:

from mymodule import *


πŸ”» All three functions will be imported β€” but you want to hide secret_func.

βœ… So what’s the solution?
You define a list named __all__ that only contains the names of the functions you want to expose:

__all__ = ['func1', 'func2']


Now if someone uses:

from mymodule import *


They’ll get only func1 and func2. The secret_func stays hidden πŸ”’

🟑 In sall __all__ list controls what gets imported when someone uses import *.
Everything not listed stays out β€” though it’s still accessible manually if someone knows the name.

If this was confusing or you want a real example with output, just ask, my friend πŸ’‘β€οΈ

#Python #PythonTips #CodeClean #ImportMagic


πŸ”By: https://t.me/DataScienceQ
πŸ‘6❀1πŸ₯°1