この章では幾つかの例を使ってプログラムの基本的な規則について説明します。 結果は次の通りです。 変数とは荷物を入れるバッグみたいなものです。
例えばバッグに財布やハンカチを入れて持ち運びますが、そのバッグに当たるものが変数です。
そして、このバッグに入っている財布やハンカチが変数に入れるデータに該当します。
つまり、バッグという変数に、ハンカチというデータを入れるわけです。
このように変数にデータを入れて、プログラムを書いていきます。
この例では変数にと名前を付けましたが、名前の付け方には一定のルールがあります。 以下の予約語を変数名に使用することはできません。 変数名と文字列の間にある「=」は数学のイコールの意味ではありません。
これは右辺のデータを左辺に入れるという意味があります。
つまり、name1の中にというデータを入れて、name2の中にというデータを入れて、name3の中にというデータを 入れています。
このようにデータを入れることを代入と言います。 変数は値を1つしか保持できないので、例えばname1に新しい他のデータを のように入れると前のデータである「近藤」という情報は上書きされて「飯島」に入れ替わります。
また、変数を上書きする方法はもう1つありまして、変数に変数を代入する方法です。 name2をname1に代入することにより、「近藤」が「岸辺」に上書きされます。 pythonはユニコードという国際的な文字コードの規格が標準なのでutf-8をユニコード文字列に変換する必要があるのです。
「u」を付けることでユニコード文字列に変換できます。
もうひとつの方法としては以下の構文でutf-8をユニコード文字列に変換します。 例えば以下のように書きます。 printは文字等のデータを出力する機能を持っています。
printの右側に変数や文字列を記述するとその値が出力されます。
printと「変数や文字列」との間は必ず、半角のスペースを空
けてください。
全角のスペースでは開けないでください。
はname1に入っている値である「近藤」という文字列を出力するという意味です。
文字列を囲っているダブルクォート自体は出力されません。
変数にデータを入れなくて、以下のように直接出力しても同じ結果になります。 結果は以下の通りです。 上の結果をみていただくと分かりますが、printは出力した後に改行してくれます。
改行をしたくない場合は以下のように変数の終わりにカンマを付けてください。 このように書けばと、改行しないで出力されますが、データとデータの間にはスペースが発生します。 1つのprint文で複数の文字列を出力したい場合は以下のように変数をカンマで区切って記述してください。 出力結果はデータとデータの間にスペースが発生します。
[ポイント6]
次はコメントについて説明します。
「#」はコメントを意味しています。
「#」の右から行末まではすべてコメントとみなされるので、画面には出力されません。
コメントに何を書くのかはプログラマ自身が決めるのですが、忘れてはいけないことなどをメモ程度に書きます。
また、この例のように一部のプログラムを動作させないことにも使われます。
以下の結果を見ていただくと分かりますが、
コメントの部分は出力されていないことが分かります。 複数行をコメントアウトする場合には以下のように2つのを使ってコメントしたい箇所を上下に挟みます。
print文では行末で自動的に改行してくれましたが、自ら改行を入れることが出来ます。
改行を表す文字はです。
使っているテキストエディタによりという表記なっている場合がありますが意味は同じです。
この改行文字はエスケープシーケンスと呼ばれています。
エスケープシーケンスとはダブルクォートやシングルクォートなど文字列として入力することができない特殊な文字をを使って表現します。
改行以外にもエスケープシーケンスはあります。 では例をみてみましょう。
結果は以下の通りです。 では説明を始めます。 これはタブを3つ記述していますが、これで3つのタブを記述したことになります。
次の箇所の説明をします。はこの位置で改行されることを意味します。
「島田」の後ろと「は」の後ろで改行されます。
次の箇所の説明をします。 ダブルクォートの中にダブルクォートを含めようとするとエラーになりますので、の前にを付けてください。 また、シングルクォートの中にシングルクォートを含めようとするとエラーになりますので、の前にを付けてください。
次の箇所の説明をします。 ダブルクォートの中にシングルクォート もしくは シングルクォートの中にダブルクォートを含める場合はエスケープシーケンスをする必要はありません。
次の箇所の説明をします。 を2つ連続して書きますとが1つ出力されます。
出力の方法は普通の変数と同じでprintで出力します。
結果は以下の通りです。 結果は以下の通りです。 では説明を始めます。 =>「文字列+文字列」と言う形式で文字列同士を連結することができます。
以下のカンマ区切りの意味は説明済みですが、復習してみましょう。 =>変数と変数の間をカンマで区切って出力すると変数の値の間にスペースが生まれます。
「+」は逆に変数の値の間にスペースは生まれません。
この例は以下のようなエラーが出ます。 エラーの箇所は以下の箇所です。 文字列と数値は連結できませんので、ここを以下のように変更してください。 変更点は変数であるageをstrのカッコの中に入れます。
strは文字列を表わすことはデータ型の章で説明した通りです。
数値の入っている変数をstrのカッコの中に記述すると数値を文字列に変換してくれます。
このことをキャストと言います。
strは関数と呼ばれているものですが、関数は「関数について知ろう1」で説明します。 これとは逆に文字列を整数値に変換するキャストの例を見てみましょう。 結果は以下の通りです。 数値をダブルクォートやシングルクォートで囲むと文字列になります。
との文字列同士を「+」で連結すると12となります。
文字列同士の結合なので結果は3にはなりません。
「+」には文字列を連結させるという機能があることは説明しましたが、「+」にはこの他にも数値同士を足すという機能があります。
計算をするためには対象が文字列であるならばそれを数値に変換してあげないといけません。
「文字列を数値に変換」するにはを使用します。
これは関数と呼ばれているものですが、詳しくは「関数について知ろう1」で説明します。 では例をみてみましょう。 この例ではを変数nameに入れて、printで紺野を6回出力します。 文字列に繰り返す回数を指定するとその数だけ文字列を繰り返します。
この例では繰り返し文をnameに入れていますが、以下のようにprint文で直接出力してもいいです。 この構文ではuが付くユニコード文字列の場合は文字数を取得します。日本語ではない場合はバイト数を取得します。
この例ではname3にlenの結果を入れていますが、以下のように直接print文で出力してもいいです。 結果は以下の通りです。