Forwarded from Machine Learning with Python
80 Python Interview Questions.pdf
410.4 KB
- Covers frequently asked questions in Python interviews
#Python #DataScience #Programming #InterviewPrep #Coding #PythonInterview #TechInterview #DataScientist #PythonProgramming #LearnPython #CodeNewbie #CareerGrowth #TechJobs #PythonCode #PythonTips
https://t.iss.one/CodeProgrammer
Please open Telegram to view this post
VIEW IN TELEGRAM
π5
A huge cheat sheet for Python.pdf
357.5 KB
#Python #CheatSheet #PythonTips #LearnPython #PythonProgramming #CodingResources #PythonDevelopers #PythonBasics #CodeFaster #PythonGuide
βοΈ Our Telegram channels: https://t.iss.one/addlist/0f6vfFbEMdAwODBkπ± Our WhatsApp channel: https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Please open Telegram to view this post
VIEW IN TELEGRAM
π5π₯2π1
https://realpython.com/replace-string-python/
#Python #StringManipulation #PythonTips #LearnPython #PythonBasics #CodeSnippets #RealPython #PythonForBeginners #PythonDev
βοΈ Our Telegram channels: https://t.iss.one/addlist/0f6vfFbEMdAwODBkπ± Our WhatsApp channel: https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Please open Telegram to view this post
VIEW IN TELEGRAM
π3π₯2β€1π1
β Interview Question
What is the potential pitfall of using a mutable object (like a list or dictionary) as a default argument in a Python function?
Answer: A common pitfall is that the default argument is evaluated only once, when the function is defined, not each time it is called. If that default object is mutable, any modifications made to it in one call will persist and be visible in subsequent calls.
This can lead to unexpected and buggy behavior.
Incorrect Example (The Pitfall):
The Correct, Idiomatic Solution:
The standard practice is to use
tags: #Python #Interview #CodingInterview #PythonTips #Developer #SoftwareEngineering #TechInterview
βββββββββββββββ
By: @DataScience4 β¨
What is the potential pitfall of using a mutable object (like a list or dictionary) as a default argument in a Python function?
Answer: A common pitfall is that the default argument is evaluated only once, when the function is defined, not each time it is called. If that default object is mutable, any modifications made to it in one call will persist and be visible in subsequent calls.
This can lead to unexpected and buggy behavior.
Incorrect Example (The Pitfall):
def add_to_list(item, my_list=[]):
my_list.append(item)
return my_list
# First call seems to work fine
print(add_to_list(1)) # Output: [1]
# Second call has unexpected behavior
print(add_to_list(2)) # Output: [1, 2] -- The list from the first call was reused!
# Third call continues the trend
print(add_to_list(3)) # Output: [1, 2, 3]
The Correct, Idiomatic Solution:
The standard practice is to use
None as the default and create a new mutable object inside the function if one isn't provided.def add_to_list_safe(item, my_list=None):
if my_list is None:
my_list = [] # Create a new list for each call
my_list.append(item)
return my_list
# Each call now works independently
print(add_to_list_safe(1)) # Output: [1]
print(add_to_list_safe(2)) # Output: [2]
print(add_to_list_safe(3)) # Output: [3]
tags: #Python #Interview #CodingInterview #PythonTips #Developer #SoftwareEngineering #TechInterview
βββββββββββββββ
By: @DataScience4 β¨
β€4
Python tip:
Use f-strings for easy and readable string formatting.
Python tip:
Utilize list comprehensions for concise and efficient list creation.
Python tip:
Use
Python tip:
Use
Python tip:
Always use the
Python tip:
Use
Python tip:
Use
Python tip:
Employ
Python tip:
Use
Python tip:
Apply type hints to your code for improved readability, maintainability, and to enable static analysis tools.
#PythonTips #PythonProgramming #PythonForBeginners #PythonTricks #CodeQuality #Pythonic #BestPractices #LearnPython
βββββββββββββββ
By: @DataScience4 β¨
Use f-strings for easy and readable string formatting.
name = "Alice"
age = 30
message = f"Hello, my name is {name} and I am {age} years old."
print(message)
Python tip:
Utilize list comprehensions for concise and efficient list creation.
numbers = [1, 2, 3, 4, 5]
squares = [x * x for x in numbers if x % 2 == 0]
print(squares)
Python tip:
Use
enumerate() to iterate over a sequence while also getting the index of each item.fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
Python tip:
Use
zip() to iterate over multiple iterables in parallel.names = ["Alice", "Bob"]
ages = [25, 30]
for name, age in zip(names, ages):
print(f"{name} is {age} years old.")
Python tip:
Always use the
with statement when working with files to ensure they are properly closed, even if errors occur.with open("example.txt", "w") as f:
f.write("Hello, world!\n")
f.write("This is a test.")
# File is automatically closed herePython tip:
Use
*args to allow a function to accept a variable number of positional arguments.def sum_all(*args):
total = 0
for num in args:
total += num
return total
print(sum_all(1, 2, 3))
print(sum_all(10, 20, 30, 40))
Python tip:
Use
**kwargs to allow a function to accept a variable number of keyword arguments (as a dictionary).def display_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
display_info(name="Bob", age=40, city="New York")
Python tip:
Employ
defaultdict from the collections module to simplify handling missing keys in dictionaries by providing a default factory.from collections import defaultdict
data = [("fruit", "apple"), ("vegetable", "carrot"), ("fruit", "banana")]
categorized = defaultdict(list)
for category, item in data:
categorized[category].append(item)
print(categorized)
Python tip:
Use
if __name__ == "__main__": to define code that only runs when the script is executed directly, not when imported as a module.def greet(name):
return f"Hello, {name}!"
if __name__ == "__main__":
print("Running directly as a script.")
print(greet("World"))
else:
print("This module was imported.")
Python tip:
Apply type hints to your code for improved readability, maintainability, and to enable static analysis tools.
def add(a: int, b: int) -> int:
return a + b
result: int = add(5, 3)
print(result)
#PythonTips #PythonProgramming #PythonForBeginners #PythonTricks #CodeQuality #Pythonic #BestPractices #LearnPython
βββββββββββββββ
By: @DataScience4 β¨
β€4
Forwarded from Machine Learning with Python
Real Python.pdf
332 KB
Real Python - Pocket Reference (Important)
#python #py #PythonTips #programming
https://t.iss.one/CodeProgrammerπ©΅
#python #py #PythonTips #programming
https://t.iss.one/CodeProgrammer
Please open Telegram to view this post
VIEW IN TELEGRAM
β€7
Exploring pathlib for Working with Paths!
Many projects still use
Since Python 3.4, there's pathlib β an object-oriented API for working with files and directories.
Importing the module is simple:
You can create a path like any regular object:
When working with Path and the
If you need an absolute path, use
Very often when working with files, you need to check if a path exists:
Pathlib also lets you quickly determine the type of file system object:
The Path object has convenient properties for getting path parts. This eliminates manual string parsing and working with
For joining paths, the
Creating directories is also compact and convenient:
Here:
For reading and writing text files, there are built-in methods that cover most everyday tasks:
For binary data,
You can iterate through directory contents using
If you need to search for files by pattern, use
And for recursive directory traversal, there's
Practical example β finding logs older than a certain date. This is a more real-world task:
The
Deleting files and directories is also built directly into the Path API:
It's important to note that pathlib doesn't fully replace shutil or os. For example, for copying files, recursive directory deletion, or complex permission operations, additional modules are usually used.
π₯ pathlib makes working with the file system noticeably cleaner: less string operations, better readability, and more predictable code when working with paths and files.
#Python #Pathlib #Programming #Coding #Developer #SoftwareEngineering #TechTips #LearnPython #PythonTips #FileSystem
https://t.iss.one/pythonReπ
Many projects still use
os.path for path operations: join, dirname, exists, and more. It works, but the code quickly becomes cluttered with string manipulations and harder to read β especially when there are many paths being actively combined.Since Python 3.4, there's pathlib β an object-oriented API for working with files and directories.
Importing the module is simple:
from pathlib import Path
You can create a path like any regular object:
path = Path("data/users.json")When working with Path and the
/ operator, the correct separators for the current OS are used automatically. This keeps the code portable between Linux, macOS, and Windows without extra checks.If you need an absolute path, use
resolve():print(path.resolve())
Very often when working with files, you need to check if a path exists:
if path.exists():
print("File found")
Pathlib also lets you quickly determine the type of file system object:
path.is_file()
path.is_dir()
The Path object has convenient properties for getting path parts. This eliminates manual string parsing and working with
split().print(path.name) # users.json
print(path.stem) # users
print(path.suffix) # .json
print(path.parent) # data
For joining paths, the
/ operator is used, which looks noticeably cleaner and is easier to read compared to os.path.join:base = Path("logs")
file_path = base / "2026" / "app.log"Creating directories is also compact and convenient:
Path("backup/archive").mkdir(parents=True, exist_ok=True)Here:
parents=True creates nested directories; exist_ok=True doesn't raise an error if the folder already exists.For reading and writing text files, there are built-in methods that cover most everyday tasks:
config = Path("config.txt")
config.write_text("debug=true", encoding="utf-8")
content = config.read_text(encoding="utf-8")
print(content)For binary data,
read_bytes() and write_bytes() methods are available.You can iterate through directory contents using
iterdir():for file in Path("logs").iterdir():
print(file)If you need to search for files by pattern, use
glob():for py_file in Path(".").glob("*.py"):
print(py_file)And for recursive directory traversal, there's
rglob():for file in Path(".").rglob("*.json"):
print(file)Practical example β finding logs older than a certain date. This is a more real-world task:
from pathlib import Path
from datetime import datetime
logs = Path("logs")
limit_date = datetime(2026, 1, 1)
for file in logs.glob("*.log"):
modified = datetime.fromtimestamp(file.stat().st_mtime)
if modified < limit_date:
print(file.name, modified)
The
stat() method lets you get file metadata: size, modification time, permissions, and other system data.Deleting files and directories is also built directly into the Path API:
path.unlink() # file
path.rmdir() # empty directory
It's important to note that pathlib doesn't fully replace shutil or os. For example, for copying files, recursive directory deletion, or complex permission operations, additional modules are usually used.
π₯ pathlib makes working with the file system noticeably cleaner: less string operations, better readability, and more predictable code when working with paths and files.
#Python #Pathlib #Programming #Coding #Developer #SoftwareEngineering #TechTips #LearnPython #PythonTips #FileSystem
https://t.iss.one/pythonRe
Please open Telegram to view this post
VIEW IN TELEGRAM
β€3