diff --git a/examples/consume.py b/examples/consume.py
index ea447a26d1504bb906f55f55cc9d42853652d075_ZXhhbXBsZXMvY29uc3VtZS5weQ==..6512cd69fdd03be37d6deba56e29ea97127ffc7e_ZXhhbXBsZXMvY29uc3VtZS5weQ== 100644
--- a/examples/consume.py
+++ b/examples/consume.py
@@ -1,3 +1,4 @@
+"""Basic message consumer example"""
 import functools
 import logging
 import pika
@@ -8,7 +9,8 @@
 
 logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT)
 
-def on_message(channel, method_frame, header_frame, body, userdata=None):
-    LOGGER.info('Userdata: {} Message body: {}'.format(userdata, body))
-    channel.basic_ack(delivery_tag=method_frame.delivery_tag)
+def on_message(chan, method_frame, _header_frame, body, userdata=None):
+    """Called when a message is received. Log message and ack it."""
+    LOGGER.info('Userdata: %s Message body: %s', userdata, body)
+    chan.basic_ack(delivery_tag=method_frame.delivery_tag)
 
@@ -14,5 +16,7 @@
 
-credentials = pika.PlainCredentials('guest', 'guest')
-parameters =  pika.ConnectionParameters('localhost', credentials=credentials)
-connection = pika.BlockingConnection(parameters)
+def main():
+    """Main method."""
+    credentials = pika.PlainCredentials('guest', 'guest')
+    parameters = pika.ConnectionParameters('localhost', credentials=credentials)
+    connection = pika.BlockingConnection(parameters)
 
@@ -18,7 +22,11 @@
 
-channel = connection.channel()
-channel.exchange_declare(exchange="test_exchange", exchange_type="direct", passive=False, durable=True, auto_delete=False)
-channel.queue_declare(queue="standard", auto_delete=True)
-channel.queue_bind(queue="standard", exchange="test_exchange", routing_key="standard_key")
-channel.basic_qos(prefetch_count=1)
+    channel = connection.channel()
+    channel.exchange_declare(exchange="test_exchange",
+                             exchange_type="direct",
+                             passive=False,
+                             durable=True,
+                             auto_delete=False)
+    channel.queue_declare(queue="standard", auto_delete=True)
+    channel.queue_bind(queue="standard", exchange="test_exchange", routing_key="standard_key")
+    channel.basic_qos(prefetch_count=1)
 
@@ -24,4 +32,4 @@
 
-on_message_callback = functools.partial(on_message, userdata='on_message_userdata')
-channel.basic_consume(on_message_callback, 'standard')
+    on_message_callback = functools.partial(on_message, userdata='on_message_userdata')
+    channel.basic_consume(on_message_callback, 'standard')
 
@@ -27,6 +35,6 @@
 
-try:
-    channel.start_consuming()
-except KeyboardInterrupt:
-    channel.stop_consuming()
+    try:
+        channel.start_consuming()
+    except KeyboardInterrupt:
+        channel.stop_consuming()
 
@@ -32,2 +40,5 @@
 
-connection.close()
+    connection.close()
+
+if __name__ == '__main__':
+    main()