Basically what the title says. take for example a simple function:
def swap(a,b)
temp = a
a = b
b = temp
This one is pretty easy to solve intuitively. if we consider an assignment as a single operation the time complexity T(n) = 3 for any n where n is the input size. But for more complex code e.g. one involving multiple nested loops/ different loop types it will be much harder using an informal approach.