Tener más de un parámetro con def en python

Así que en java puedes hacer algo como esto si no sabes cuántos parámetros obtendrás

private void testMethod(String... testStringArray){ } 

¿Cómo puedo hacer algo como esto en python?

Como no puedo hacer algo así, ¿verdad?

 def testMethod(...listA): 

¿Estás hablando de listas de argumentos de longitud variable? Si es así, eche un vistazo a *args , **kwargs .

Consulte esta Guía básica y Cómo usar * args y ** kwargs en Python

Dos ejemplos cortos de [1] :

Usando *args :

 def test_var_args(farg, *args): print "formal arg:", farg for arg in args: print "another arg:", arg test_var_args(1, "two", 3) 

Resultados:

 formal arg: 1 another arg: two another arg: 3 

y usando **kwargs (argumentos de palabras clave):

 def test_var_kwargs(farg, **kwargs): print "formal arg:", farg for key in kwargs: print "another keyword arg: %s: %s" % (key, kwargs[key]) test_var_kwargs(farg=1, myarg2="two", myarg3=3) 

Resultados:

 formal arg: 1 another keyword arg: myarg2: two another keyword arg: myarg3: 3 

Citar esta pregunta de SO ¿ Qué significan * args y ** kwargs? :

Poner * args y / o ** kwargs como los últimos elementos en la lista de argumentos de su definición de función permite que la función acepte un número arbitrario de argumentos anónimos y / o de palabras clave.

Suena como quieres:

 def func(*args): # args is a list of all arguments 

Esto, como mucha otra información similar, se trata en el tutorial de Python , que debe leer.