Python 3.8 is out
Good feature is
For more check out the presentation or go to official docs.
#python
Good feature is
importlib.metadata all the others are garbage. Positional-only arguments I consider a dangerous feature, I can't imagine ever use it. When the time comes and we will remove all useless crap from Python? Then there would be a great language.For more check out the presentation or go to official docs.
#python
Speaker Deck
What's new in Python 3.8?
These Python Interview Questions will make sure that you will be ready for the next Python interview
Python interview questions. Part I. Junior
Python interview questions. Part II. Middle
Python interview questions. Part III. Senior
Python interview questions. Part I. Junior
Python interview questions. Part II. Middle
Python interview questions. Part III. Senior
Blog | iamluminousmen
Python Interview Questions. Part I. Junior
Get ready for your Junior Python interview with essential questions covering basics, data types, OOP, modules, coding challenges, and more in this comprehensive Python Interview Questions Part I.
Modules and Packages: Live and Let Die! — David Beasley's insane three-hour presentation about the construction of modules, packages and import systems in Python. Everything is pretty comprehensive, from the very basics to the internals with examples.
Recommended👌
#python
Recommended👌
#python
A series of articles about the internal structure of .pyc files. The author’s goal is to create a programming language compatible with the Python interpreter. http://blog.braulio.me/2018/06/28/internal-structure-pyc-files.html
#python
#python
Type-Level Memes
Targeting The Python Virtual Machine I: The Internal Structure of .pyc Files
When the cpython python interpreter imports a module, it has to compile your code into an internal representation called bytecode. That bytecode is then executed by the cpython virtual machine. In order to avoid performing that compilation step every time…
NotImplemented
Imagine a Matrix class you're implementing:
From docs:
> When a binary (or in-place) method returns NotImplemented the interpreter will try the reflected operation on the other type (or some other fallback, depending on the operator). If all attempts return NotImplemented, the interpreter will raise an appropriate exception. Incorrectly returning NotImplemented will result in a misleading error message or the NotImplemented value being returned to Python code.
In other words will transfer control on this operation to other instance(in our case it is numpy array).
To do that right:
Imagine a Matrix class you're implementing:
class Matrix:For some reason you don't want any addition operations with your matrix instance. Ok, you implement it as following:
"""A simple Python matrix class"""
def __init__(self, m, n):
self.rows = []
self.m = m
self.n = n
def __add__(self, mat):No, it will not work!
"""Achtung! Not implemented!"""
return NotImplemented
>>> matrix - numpy.zeros(m, n)Why?
array([...])
From docs:
> When a binary (or in-place) method returns NotImplemented the interpreter will try the reflected operation on the other type (or some other fallback, depending on the operator). If all attempts return NotImplemented, the interpreter will raise an appropriate exception. Incorrectly returning NotImplemented will result in a misleading error message or the NotImplemented value being returned to Python code.
In other words will transfer control on this operation to other instance(in our case it is numpy array).
To do that right:
def __add__(self, mat):#python
"""Achtung! Not implemented!"""
raise TypeError
Python documentation
Built-in Constants
A small number of constants live in the built-in namespace. They are: Constants added by the site module: The site module (which is imported automatically during startup, except if the-S command-li...
To tune Spark job performance and debug finished jobs engineers need information. This can get from spark events and debug in history server
https://luminousmen.com/post/spark-history-server-and-monitoring-jobs-performance
https://luminousmen.com/post/spark-history-server-and-monitoring-jobs-performance
There are many myths in the IT field:
“You can unsubscribe from spam”,
“Backups are not needed”,
“Two antiviruses are better than one”
“You can unsubscribe from spam”,
“Backups are not needed”,
“Two antiviruses are better than one”
Mute all useless java-related logging in pyspark:
gist
#python #spark
def mute_spark_logs(sc):
"""Mute Spark info logging(show only error logs)"""
logger = sc._jvm.org.apache.log4j # noqa
logger.LogManager.getLogger("org").setLevel(logger.Level.ERROR)
logger.LogManager.getLogger("akka").setLevel(logger.Level.ERROR)
logging.info("Spark muted.")
gist
#python #spark
Gist
mute_spark.py
GitHub Gist: instantly share code, notes, and snippets.
Python useful Data Structures to work with numerical data to speed up your computations:
numpy arrays — for N-dimensional structured arrays
scipy.spatial — for spatial queries like distances, nearest neighbors, etc
pandas —for SQL-like grouping and aggregations
dask — parallel arrays, dataframes, and lists that extend to larger-than-memory or distributed environments
xarray — for grouping across multiple dimensions
scipy.sparse — sparse matrices for 2-dimensional structured data
sparse — for N-dimensional structured data
scipy.sparse.csgraph — for graph-like problems (e.g. finding the shortest path
#python
numpy arrays — for N-dimensional structured arrays
scipy.spatial — for spatial queries like distances, nearest neighbors, etc
pandas —for SQL-like grouping and aggregations
dask — parallel arrays, dataframes, and lists that extend to larger-than-memory or distributed environments
xarray — for grouping across multiple dimensions
scipy.sparse — sparse matrices for 2-dimensional structured data
sparse — for N-dimensional structured data
scipy.sparse.csgraph — for graph-like problems (e.g. finding the shortest path
#python
Punctuation removal
You can easily remove all punctuation using snippet
You can easily remove all punctuation using snippet
import stringOutput:
input_str = “This &is [an] example? {of} string. with.? punctuation!!!!” # Sample string
result = input_str.translate(string.maketrans("", ""), string.punctuation)
print(result)
This is an example of string with punctuation#python
There is a secret that needs to be understood in order to write good software documentation: there isn’t one thing called documentation, there are four.
They are: tutorials, how-to guides, explanation and technical reference. They represent four different purposes or functions, and require four different approaches to their creation. Understanding the implications of this will help improve most software documentation - often immensely.
Check out the Daniele Procida talk on pycon
#dev #soft_skills
They are: tutorials, how-to guides, explanation and technical reference. They represent four different purposes or functions, and require four different approaches to their creation. Understanding the implications of this will help improve most software documentation - often immensely.
Check out the Daniele Procida talk on pycon
#dev #soft_skills
YouTube
What nobody tells you about documentation
Daniele Procida
http://2017.pycon-au.org/schedule/presentation/15/
#pyconau
This talk was given at PyCon Australia 2017 which was held from 3-8 August, 2017 in Melbourne, Victoria.
PyCon Australia is the national conference for users of the Python Programming…
http://2017.pycon-au.org/schedule/presentation/15/
#pyconau
This talk was given at PyCon Australia 2017 which was held from 3-8 August, 2017 in Melbourne, Victoria.
PyCon Australia is the national conference for users of the Python Programming…
from the CPP core guidelines
>Scream when you see a macro that isn't just used for source control (e.g., #ifdef)
It somewhat fits
source
>Scream when you see a macro that isn't just used for source control (e.g., #ifdef)
It somewhat fits
source
These clothes and accessories outsmart facial recognition tech. Prepare yourself to the future
https://www.businessinsider.com/clothes-accessories-that-outsmart-facial-recognition-tech-2019-10
#privacy
https://www.businessinsider.com/clothes-accessories-that-outsmart-facial-recognition-tech-2019-10
#privacy
Business Insider
These clothes use outlandish designs to trick facial recognition software into thinking you're not human
Privacy-focused designers, academics, and activists have designed wearable accessories and clothes meant to thwart facial recognition tech.
If your application needs to measure elapsed time, you need a timer that will give the right answer even if the user changes the time on the system clock
https://luminousmen.com/post/how-to-not-leap-in-time-using-python
https://luminousmen.com/post/how-to-not-leap-in-time-using-python
Blog | iamluminousmen
How to not leap in time using Python
If your application needs to measure elapsed time, you need a timer that will give the right answer even if the user changes the time on the system clock
Dictionaries in CPython are everywhere, classes, global variables, kwargs parameters are based on them, the interpreter creates thousands of dictionaries, even if you did not add any curly brackets in your script. And it is not surprising that their implementation continues to improve and increasingly acquire various tricks.
The internal structure of dictionaries in Python is not limited only to buckets and closed hashing. If you don’t know the number of elements in the dictionary you just created, how much memory is spent for each element, why now (CPython 3.6>) the dictionary is implemented in two arrays and how it relates to maintaining the insertion order, or you just didn’t watch the presentation by Raymond Hettinger "Modern Python Dictionaries A confluence of a dozen great ideas. Then the time has come.
Recommended 👌
#python
The internal structure of dictionaries in Python is not limited only to buckets and closed hashing. If you don’t know the number of elements in the dictionary you just created, how much memory is spent for each element, why now (CPython 3.6>) the dictionary is implemented in two arrays and how it relates to maintaining the insertion order, or you just didn’t watch the presentation by Raymond Hettinger "Modern Python Dictionaries A confluence of a dozen great ideas. Then the time has come.
Recommended 👌
#python
Singleton pattern in Python
Do you like Singletons? I don't too — they are a bit complicated.
But you know what? I've never seen in any code(except some famous libraries) and on any interview good implementation of Singleton pattern. We need to fix it!
Please check the following implementation:
#python
Do you like Singletons? I don't too — they are a bit complicated.
But you know what? I've never seen in any code(except some famous libraries) and on any interview good implementation of Singleton pattern. We need to fix it!
Please check the following implementation:
weakref import WeakValueDictionaryDo you know a better implementation? Send me yours and we will discuss
class Singleton(type):
_instances = WeakValueDictionary()
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
instance = super(Singleton, cls).__call__(*args, **kwargs)
cls._instances[cls] = instance
return cls._instances[cls]
class Config(metaclass=Singleton):
pass
#python
Gist
singleton.py
GitHub Gist: instantly share code, notes, and snippets.
