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

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
πŸ“š "Python Project Setup: A Quick Guide"


In this article, you'll learn how to create and set up a new Django project. Follow along with our quiz to reinforce your understanding of creating a virtual environment, installing Django, and setting up dependencies. You'll also see how isolating dependencies helps others reproduce the setup.

Read more about creating a Django project: How to Set Up a Django Project
❀1
"πŸš€ OOP 101: Understanding Object-Oriented Programming in Python πŸ“š
===================================================================="

β€’ Definition: Object-oriented programming (OOP) is a programming paradigm that revolves around the concept of objects and classes.
β€’ Key concepts: Classes, inheritance, polymorphism, encapsulation, and abstraction. These are essential components of OOP and will help you write maintainable code in Python.

β€’ Benefits: Improved code readability, reusability, and scalability. By understanding OOP, you'll be able to create more efficient and effective software solutions.

β€’ Practical application: Learn how to define custom types using classes, instantiate objects, and use inheritance to achieve common programming tasks.

Summary:
Learn the basics of object-oriented programming in Python and elevate your skills to write maintainable code. Understand key concepts like classes, inheritance, polymorphism, encapsulation, and abstraction for a deeper understanding of OOP.
❀1
πŸ€” Did you know? You can use Python's <code>deque</code> for efficient appends and pops at both ends of a sequence-like data type. This is especially useful when implementing queue and stack data structures that operate efficiently under heavy workloads. πŸ’ͺ
# πŸ“Š Speed Up Your Python App with DiskCache

A cloud SSD is sitting idle, waiting for its purpose. Today, we're putting it to work with DiskCache, a simple cache built on SQLite that can speed up your Python app without spinning up Redis or extra services.

### What is DiskCache?

DiskCache is a lightweight, practical cache that stores frequently accessed data in memory. It's built on top of SQLite and doesn't require any additional setup or dependencies.

### Benefits

πŸš€ Faster application response times: By storing frequently accessed data in memory, your Python app can respond faster to user input.
⏱️ Improved scalability: DiskCache can handle increased load without performance drops due to disk I/O.
πŸ’» Reduced database queries: Your Python app won't need to query the database as often, freeing up resources and reducing latency.

### Example Use Case

import sqlite3
from diskcache importDiskCache

# Create a connection to our SQLite database
conn = sqlite3.connect('example.db')

# Create a cache instance
cache = DiskCache(dbname='example', debug=False)

# Initialize the cache with some data
data = {'key': 'value'}

# Access the cached data without querying the database
print(cache.get(data['key']))


### Get Started

Start using DiskCache in your Python applications to boost performance and reduce latency. Check out the official documentation for more information: <https://grantjenks.com/docs/diskcache/?featuredon=talkpython>
πŸŽβ—οΈTODAY FREEβ—οΈπŸŽ

Entry to our VIP channel is completely free today. Tomorrow it will cost $500! πŸ”₯

JOIN πŸ‘‡

https://t.iss.one/+DBdNGbxImzgxMDBi
https://t.iss.one/+DBdNGbxImzgxMDBi
https://t.iss.one/+DBdNGbxImzgxMDBi
❀2
❔ Interview question

What will happen if in the try block you call return, and in the finally block you also call return?

Answer: If a return is executed in the try block, but there is also a return in the finally block, then the return value from the try will be ignored. The return from the finally will overwrite it.

This happens because finally always executes after try and catch, but before the actual return of the value. If there is a return in finally, it definitively determines the result of the method.


tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀3
πŸ”₯ Generating fake data in Python β€” no pain at all

If you're testing forms, mockups, or just want to play with data, there's Mimesis β€” a generator of fake data. Names, emails, addresses, and phone numbers. There's a location setting that allows you to select a country, and the data will be generated accordingly.

πŸ“¦ Installation:
from typing import Dict
from mimesis.enums import Gender
from mimesis import Person

def generate_fake_user(locale: str = "es", gender: Gender = Gender.MALE) -> Dict[str, str]:
    """
    Generates fake user data based on the locale and gender.

    :param locale: The locale (for example, 'ru', 'en', 'es')
    :param gender: The gender (Gender.MALE or Gender.FEMALE)
    :return: A dictionary with the fake user data
    """
    person = Person(locale)

    user_data = {
        "name": person.full_name(gender=gender),
        "height": person.height(),
        "phone": person.telephone(),
        "occupation": person.occupation(),
    }

    return user_data

if __name__ == "__main__":
    fake_user = generate_fake_user(locale="es", gender=Gender.MALE)
    print(fake_user)


πŸ“Œ Result:
{
  'name': 'Carlos Herrera',
  'height': '1.84',
  'phone': '912 475 289',
  'occupation': 'Arquitecto'
)


⚑️ Mimesis can:
πŸ–± Generate names, addresses, phone numbers, professions, etc. 
πŸ–± Work with different countries (πŸ‡·πŸ‡Ί ru, πŸ‡ΊπŸ‡Έ en, πŸ‡ͺπŸ‡Έ es, etc.) 
πŸ–± Suitable for tests, fake accounts, demo data in projects, and bots.

βš™οΈ GitHub/Instructions

Save it, it'll come in handy πŸ‘

#python #github #interview
Please open Telegram to view this post
VIEW IN TELEGRAM
❀5
❔ Interview question

How to manage caching in HTTP?

Answer: Caching in HTTP is managed using special headers that determine when and how downloaded data can be reused.

▢️ Cache-Control β€” the main header that sets caching rules: lifetime (max-age), accessibility (public, private), caching prohibition (no-store), etc.

▢️ Last-Modified + If-Modified-Since β€” allow the server to report the date of the last resource modification, and the client to request data only when it has been updated

▢️ ETag + If-None-Match β€” use a unique version identifier of the resource. If the version has not changed, the server responds with 304 Not Modified

These mechanisms reduce the network load and speed up reloads.


tags: #interview

➑ @DataScienceQ
Please open Telegram to view this post
VIEW IN TELEGRAM
❀7
πŸ—‚ Cheat Sheet on Beautiful Soup 4 (bs4) in Python: HTML/XML Parsing Made Easy and Simple

Beautiful Soup β€” a library for extracting data from HTML and XML files, ideal for web scraping.

πŸ”Ή Installation
pip install beautifulsoup4


πŸ”Ή Import
from bs4 import BeautifulSoup
import requests


πŸ”Ή Basic Parsing
html_doc = "<html><body><p class='text'>Hello, world!</p></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser')  # or 'lxml', 'html5lib'
print(soup.p.text)  # Hello, world!


πŸ”Ή Element Search
# First found element
first_p = soup.find('p')

# Search by class or attribute
text_elem = soup.find('p', class_='text')
text_elem = soup.find('p', {'class': 'text'})

# All elements
all_p = soup.find_all('p')
all_text_class = soup.find_all(class_='text')


πŸ”Ή Working with Attributes and Text
a_tag = soup.find('a')
print(a_tag['href&#39])    # value of the href attribute
print(a_tag.get_text()) # text inside the tag
print(a_tag.text)       # alternative


πŸ”Ή Navigating the Tree
# Moving to parent, children, siblings
parent = soup.p.parent
children = soup.ul.children
next_sibling = soup.p.next_sibling

# Finding the previous/next element
prev_elem = soup.find_previous('p')
next_elem = soup.find_next('div')


πŸ”Ή Parsing a Real Page
response = requests.get('https://example.com')
soup = BeautifulSoup(response.text, 'html. parser')
title = soup.title.text
links = [a['href'] for a in soup.find_all('a', href=True)]


πŸ”Ή CSS Selectors
# More powerful and concise search
items = soup.select('div.content > p.text')
first_item = soup.select_one('a.button')


πŸ’‘ Where it's useful:
🟒 Web scraping and data collection
🟒 Processing HTML/XML reports
🟒 Automating data extraction from websites
🟒 Preparing data for analysis and machine learning


πŸ‘©β€πŸ’» @CodeProgrammer
Please open Telegram to view this post
VIEW IN TELEGRAM
❀6πŸ₯°1