Python 2.5 まで(3.xでは廃止)
>>> "%s %s %s" % ('a', 'b', 'c') 'a b c'
Python 2.6 以降(3.xでは推奨)
>>> "{0} {1} {2}".format('a', 'b', 'c') 'a b c'
string モジュールの Template を使う場合
Ver 2.5.2 および 2.6.2 で動作を確認。
>>> import string >>> t = string.Template('${a}') >>> t.substitute({'a':'hoge'}) 'hoge'
DIR=/usr/local echo $DIR/bin/ echo ${DIR}/bin/ echo "$DIR/bin/"
実行すると /usr/local/bin/ が3回表示される。
$ irb irb(main):001:0> a = 'hoge' => "hoge" irb(main):002:0> puts "hello #{a}" hello hoge => nil
シングルクォートの場合は #{xx} は展開されない。 PHP や Perl と異なり {} は省略できないが、任意の式を書くことができる。
Ubuntu 9.04 で php5-cli を使ってテスト。
$ php -a Interactive shell php > $a = 'hoge'; php > echo "hello $a"; hello hoge php > echo "hello ${a}"; hello hoge
シングルクォートの場合は $xx は展開されない。
perl 5.10.0 にて確認。
ワンライナーで。
$ perl -E '$a = "hoge"; print "hello $a\n";' hello hoge $ perl -E '$a = "hoge"; print "hello ${a}\n";' hello hoge
デバッガで。
$ perl -de 1 Loading DB routines from perl5db.pl version 1.3 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. main::(-e:1): 1 DB<1> $a = "hoge"; DB<2> print "hello ${a}"; hello hoge
シングルクォートの場合は $xx は展開されない。