Comment puis-je savoir si une variable python est une chaîne ou une liste?

J'ai une routine qui prend une liste de chaînes de caractères en paramètre, mais j'aimerais en charge la transmission d'une chaîne unique et de le convertir en une liste de chaînes. Par exemple:

def func( files ):
    for f in files:
        doSomethingWithFile( f )

func( ['file1','file2','file3'] )

func( 'file1' ) # should be treated like ['file1']

Comment puis-je savoir si une chaîne ou une liste a été adoptée dans? Je sais qu'il est un type fonction, mais est-il un "plus pythonic" de la sorte?