Bloom Filters in Python

Tags

, , ,

I recently learned about Bloom filters (and was then able to fully understand the joke in this xkcd comic). While I don’t have a good application for them myself, I found them interesting enough to play around with a little.

Python uses them under the hood in a way that has some potential for other applications. In this post I’ll explain Bloom filter basics and go over some simple implementations.

Continue reading

Simple Python Tricks #8

Tags

, , , ,

Simple Tricks started late last year with a “project” post that may have been a misfire, though it’s possible I’ll do some other simple projects in the future (though my question is whether they’re really “simple tricks” — I’m not sure the first post in the series qualified).

Regardless, since then we’ve looked at Python comprehensions (see here and here), file handling techniques (see here and here), and function parameters (see here and here). This time we look at printing output with an emphasis on formatted output.

Continue reading

Simple Python Tricks #6

Tags

,

The last two posts in this Simple Tricks series (Tricks #4 and Tricks #5) explored the basics of file handling. The two before that (Tricks #2 and Tricks #3) explored Python list comprehensions.

This time we’ll explore something extremely basic, passing parameters to functions. Python has interesting native capabilities that give programmers options in how they deal with function parameters.

Continue reading

Simple Python Tricks #5

Tags

, ,

Last time we looked at dealing with files in Python, looked into filename handling, and left off after creating a couple of base classes to support general file operations.

This time we’ll extend those classes into some useful file utility classes for handling data from different types of files (for instance, binary, plain text, line-oriented text, and any type of structured file).

Continue reading

Simple Python Tricks #4

Tags

, ,

The last two posts looked at Python list comprehensions. [See Simple Tricks #2 and Simple Tricks #3] This time we look at file handling, one of the most common tasks programmers deal with, especially with script languages such as Python.

Python’s native file object, created with the built in open function, is simple and easy, but here are some tricks that make file access even simpler and easier.

Continue reading

Simple Python Tricks #3

Tags

, ,

In the last post we looked at Python list comprehensions, an inline alternative to for-next loops. List comprehensions are a powerful technique for creating and processing lists.

In this post, we’ll look at more list comprehensions, including some real-life examples, and look at three other kinds of Python comprehensions: sets, dictionaries, and generators.

Continue reading

Simple Python Tricks #2

Tags

, ,

Considering that it has been six months since the last post, my attempt to get a post flow going with “Simple Python Tricks” left something to be desired. Like success. Undaunted, I’m drawing from the well again.

This time to discuss Python comprehensions, a feature that is powerful and expressive, but which is rather unique to Python. Newcomers may not, at first, even realize they exist.

Continue reading

Python Descriptors, part 2

Tags

, , ,

Python has the useful notion of descriptor objects, which give object attributes control over how they are accessed. Descriptors enable calculated-on-the-fly attribute values and can prevent or control modification of data values.

The previous post covered the basics. In this post, I’ll dig deeper into Python descriptors with some more involved examples. This post assumes the basics covered in the previous post.

Continue reading