モジュール等の関数の引数で、単体の文字列でも、文字列のリスト型でも渡せるようなものがありますが、あれは関数内でリストかどうか判別して処理してるんでしょうか。

たとえば↓こんな処理があるとして
for str in str_list:
___ print(str)

str_list = ['abc', 'def']
str_list = 'abc'
のどちらでも、'abc'はひとかたまりに'abc'と扱うようなシンプルな書き方はありますか?

if type(str_list) != list:
___ str_list = [str_list]
のように1個だけのリストに置き換えてあげないとダメですかね