A Python dictionary is an unordered collection of key-value pairs where keys must be unique and immutable. It allows fast lookup of values using keys. Dictionaries can be created using curly braces and keys are used to access values using indexing or the get() method. Dictionaries are mutable and support various methods like clear(), copy(), pop(), update() etc to modify or retrieve data.