Eu fiz assim:
 
	def Secante(f,xat,xant,*args): 
	    """ 
	    Primeiro argumento livre é o contador e o segundo é a tolerância. Se não for preenchido, tolerância é de 10⁻5 
	    e o contador máximo é 200 
	    """ 
	    if not args: 
	        tol = 1e-5 
	        contador = 200 
	    elif len(args) == 1: 
	        tol = 1e-5 
	        contador = args[0] 
	    else: 
	        tol = args[1] 
	        contador = args[0] 
	    cont = 0 
	    tol = 1e-5 
	    while True: 
	        xsuc = xat - ((xat - xant)/(f(xat) - f(xant)))*f(xat) 
	        erro = abs((xsuc - xat)/xsuc) 
	        xant = xat 
	        xat = xsuc 
	        cont += 1 
	        if cont>contador: 
	            break 
	        if erro<tol: 
	            break 
	    return float('%.2f'%xat)