ダブルクォーテーションでは無くシングルクォーテーションで良いのなら、
かなり邪道ではありますが可能です。
Python
1>>> s = "spam"
2>>> n = 42
3>>>
4>>> print(repr(s))
5'spam'
6>>> print(repr(n))
742
json.dumpsを使うのもアリです。
Python
1>>> import json
2>>>
3>>> print(json.dumps(s))
4"spam"
5>>> print(json.dumps(n))
642
結局は素直にif文を使う方法が一番良いです。紹介した方法は推奨しません。
おまけ:if文を置き換える汎用的な方法は?
条件演算子の利用
Python
1>>> print('"{}"'.format(s) if isinstance(s, str) else s)
2"spam"
3>>> print('"{}"'.format(n) if isinstance(n, str) else n)
442
俗称では有りますが、三項演算子やif式と呼ぶ人もいます。
リストや辞書の利用
Python
1>>> print(['"{}"', '{}'][isinstance(s, int)].format(s))
2"spam"
3>>> print(['"{}"', '{}'][isinstance(n, int)].format(n))
442
Python
1>>> print(
2... {str: '"{}"', int: '{}'}[type(s)].format(s)
3... )
4"spam"
5>>> print(
6... {str: '"{}"', int: '{}'}[type(n)].format(n)
7... )
842
半ば遊びです。後者はぎりぎり使い道があるかも。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/20 09:11
2019/09/20 09:51