SimplePrograms - Python Wiki
https://wiki.python.org/moin/SimplePrograms
の 2番目のプログラムは、
name = input('What is your name?\n')
print ('Hi, %s.' % name)
です。
ここは、1行づつ実行してみます。
>>> name = input('What is your name?\n')
What is your name?
Espiya (Espiyaと入力しました。)
>>> print ('Hi, %s.' % name)
Hi, Espiya.
>>>
多くのプログラミング言語では、「 = 」は変数への代入を表します。Python でも同じですね。つまり name は変数を表します。代入する値は、input()の出力です。この行を実行すると、関数 input() の引数の文字列が標準出力から表示され、入力待ちになります。ここで「Espiya」と入力すると、この入力した文字列がinput()の出力となり、nameに代入されるわけです。
次の行のprint()関数の引数が、
%s を含んだ文字列 % 変数
となっています。
その形状から「 % 」は演算子と思われますが、左の文字列に %s が含まれているので、右側の変数の値を %s の位置に埋め込む演算子であることが、print()の表示から確認できます。早速 Hello, world! のプログラムが使われおり、1番目のプログラムの重要性が分かります。%s があれば、整数を埋め込む %d や小数を表す %f がありそうですので試して見ます。
まず変数への代入を使って変数a に数字を代入します。
>>> a = 1.234
>>> print(a)
1.234
>>>
print()の引数に変数を入れるとそのまま表示されますね。(空白文字の連続は正しく表示されない可能性があります。実際の Python で確かめて下さい。)
>>> print('a is %d .' % a)
a is 1 .
>>> print('a is %f .' % a)
a is 1.234000 .
>>> print('a is %.3f .' % a)
a is 1.234 .
>>> print('a is %10.3f .' % a)
a is 1.234 .
>>>
予想通り、C言語で言うところのフォーマット指定子が使えそうです。%f の.3 は小数点以下3桁表示で、%10.3f は10文字の中に右詰めで小数点以下3桁表示の数字を入れる事ですね。
ところで、print()の「出力」としないで「表示」としたのは、print()を実行しても通常の関数とは異なり出力があってその値を変数に代入できないからです。いい加減ですが、一応切り分けて書いています。
例えば、
>>> print( 'a is %f .' % a )
a is 1.234000 .
>>> b = print( 'a is %f .' % a )
a is 1.234000 .
>>> print( b )
None
>>>
のように print() の出力を bに代入しても、bの値は 「None」です。
https://wiki.python.org/moin/SimplePrograms
の 2番目のプログラムは、
name = input('What is your name?\n')
print ('Hi, %s.' % name)
です。
ここは、1行づつ実行してみます。
>>> name = input('What is your name?\n')
What is your name?
Espiya (Espiyaと入力しました。)
>>> print ('Hi, %s.' % name)
Hi, Espiya.
>>>
多くのプログラミング言語では、「 = 」は変数への代入を表します。Python でも同じですね。つまり name は変数を表します。代入する値は、input()の出力です。この行を実行すると、関数 input() の引数の文字列が標準出力から表示され、入力待ちになります。ここで「Espiya」と入力すると、この入力した文字列がinput()の出力となり、nameに代入されるわけです。
次の行のprint()関数の引数が、
%s を含んだ文字列 % 変数
となっています。
その形状から「 % 」は演算子と思われますが、左の文字列に %s が含まれているので、右側の変数の値を %s の位置に埋め込む演算子であることが、print()の表示から確認できます。早速 Hello, world! のプログラムが使われおり、1番目のプログラムの重要性が分かります。%s があれば、整数を埋め込む %d や小数を表す %f がありそうですので試して見ます。
まず変数への代入を使って変数a に数字を代入します。
>>> a = 1.234
>>> print(a)
1.234
>>>
print()の引数に変数を入れるとそのまま表示されますね。(空白文字の連続は正しく表示されない可能性があります。実際の Python で確かめて下さい。)
>>> print('a is %d .' % a)
a is 1 .
>>> print('a is %f .' % a)
a is 1.234000 .
>>> print('a is %.3f .' % a)
a is 1.234 .
>>> print('a is %10.3f .' % a)
a is 1.234 .
>>>
予想通り、C言語で言うところのフォーマット指定子が使えそうです。%f の.3 は小数点以下3桁表示で、%10.3f は10文字の中に右詰めで小数点以下3桁表示の数字を入れる事ですね。
ところで、print()の「出力」としないで「表示」としたのは、print()を実行しても通常の関数とは異なり出力があってその値を変数に代入できないからです。いい加減ですが、一応切り分けて書いています。
例えば、
>>> print( 'a is %f .' % a )
a is 1.234000 .
>>> b = print( 'a is %f .' % a )
a is 1.234000 .
>>> print( b )
None
>>>
のように print() の出力を bに代入しても、bの値は 「None」です。