A dictionary in Python is a mutable container that stores key-value pairs, with keys that must be immutable like strings or numbers. Dictionaries allow fast lookup of values based on keys. Keys must be unique within a dictionary, while values can be of any type including other containers. Dictionaries can be accessed, updated, and modified using square bracket notation or dictionary methods.