This could be confusing to work with since it will return multple types: str, None, and bool.  How about:

     readonly = "yes" == params.get("readonly", "no")

This way it's expecting a string and returning a bool.  Most invalid input will make it default to "no", or toss a helpful exception.