The ability to create a generalized object of a specific type. Often done if empty parameters are passed to a specific datatype constructor.

Example

a = list() # reflection: creates empty list
b = dict() # reflection: creates empty dict
# Higher order example
def reverse(sequence):
	sequencetype = type(sequence)
	emptysequence = sequencetype() # reflection
	if sequence == emptysequence:
		return emptysequence
	else:
		# actual reverse logic here