Dynamic typing
A type system for a programming language where the types of values cannot be deduced until the program is run.
A trivial example:
if date.today() >= date(2025, 1, 1):
x = 10
else:
x = "abc"
The opposite is static typing. Strong versus weak typing is an orthogonal dimension.