コマンドプロンプト上でデータを変数に入力するためには(標準入力から、つまり sys.stdinから入力)、組み込み関数である
input 関数を使用します。もし 引数 prompt が存在すれば,それが末尾の改行を除いて標準出力に書き出されます。
キーボード入力から1行読み込んで,文字列に変換して返します。その際に、末尾の改行を除去します。
このように、input 関数は、入力されたデータを戻り値で返しますが、それは必ず文字列になります。
また変数などの値を標準出力(sys.stdout)に表示するためには、組み込み関数である print 関数を使います。
print 関数は与えられたオブジェクトを、スペースで区切り、標準出力に表示して、最後に改行をします。
なお、print 関数の書式は詳しく書くと以下の通りです。
print(*objects, sep='', end='\n',file=sys.stdout, flush=False)objects (単数でも複数でも可)を、separator (デフォルトは半角スペース)で区切りながらテキストストリーム file (デフォルトは標準出力)
>>> a = input("data? ") # inputで入力されたデータは必ず文字列になる。 data? 13 3.141592654 abcd >>> a # a は文字列なので、シングルクォーテーションつきで表示される '13 3.141592654 abcd' >>> b = a.split() # スペース1文字で分割して,リスト b に代入 >>> b ['13', '3.141592654', 'abcd'] >>> x = int(b[0]) # 最初の要素を数値に変換してxに代入 >>> y = float(b[1]) # 2番目の要素を浮動小数点数に変換してyに代入 >>> z = b[2] # zに3番目の要素を代入 >>> print(x, y, z) # x、y、zの表示 13 3.141592654 abcd >>> str = "x = {0:3d}, y = {1:.2f}, z = {2:s}".format(x, y, z) # format関数で表示体裁を整えて表示 >>> print(str) x = 13, y = 3.14, z = abcd >>> print("2023","9", "28", sep = "/", end="\t★\n") # 区切り文字を/に、最後にタブと★文字と改行を表示する。 2023/9/28 ★ # 改行を表示しない場合プロンプトが続けてこの行に表示されるため見づらくなる。 >>>上のプロンプト文において,a に入力したデータを代入していますが、ここは数値であっても文字列と見なされます。
Pythonにはプログラム単体で実行できる他に、外部からデータを受け取って読み書き処理を行うアプリケーションの開発が可能です。
例えば、Pythonでは、テキストファイルや、JSONファイル、XMLファイル、CSVファイルといった形式のファイルを扱えます。
これらのファイルは、記述ルールのある、データ構造の情報を持っており、プログラムで扱いやすい形式です。
詳細に具体例を交えて説明していきたいと思います。
①JSON(JavaScript Object Notation)
JSONは、構造化されたデータを表すための形式になります。データの内容を柔軟に表現できて、Webの標準技術として採用されています。
例えば、Webアプリケーションなどの様々な場面で幅広く利用されています。
また、PythonではJSON形式データを扱うためのライブラリも多く用意されています.
◎JSON形式 構文: {"キー": "値", "キー":{"キー": "値"}, "キー":[{"キー": "値"},………], ………} このように、{}内にキーと値をセットにしてコロンで区切って記述します。キーは必ず「"」で囲みます。また、値にはキーと値の組み合わせ、 つまり入れ子構造にすることが可能です。値とキーの組合せを複数入れる際には、[]の中に記述して{}のまとまりをカンマで区切ります。②XML(eXtensible Markup Language)
◎XML形式 構文: <タグ名>値</ タグ名> 例: <items> <item> <id>01</id> <name>cat</name> <image>cute001.jpg</image> </item> <item> <id>02</id> <name>owl</name> <image>cute002.jpg</image> </item> <item> <id>03</id> <name>parakeet</name> <image>cute003.jpg</image> </item> </items>③CSV(Comma Separated Value)
◎CSV形式 構文: header,header,header,header,……………[改行] value,value,value,value,…………………[改行] このように、各国の項目名をカンマ「,」で区切ります。1行目はヘッダ行で、項目の名称を表しています。 実際の値は、2行目以降に記述することになります。 例: id,name,age,organization,job,status,class 1,奥野健太郎,40,A社,プログラマ,会社員,Python入門 2,奥野健一郎,42,B社,情報セキュリティマネージャー,部長,Java入門 3,奥田健生,44,C社,情報アナリスト,役員,JavaScript入門 4,奥山健吉郎,37,B社,ITサービスマネージャー,契約社員,Python入門 5,奥尻健飛,34,E社,プログラマ,派遣社員,Java入門 上の場合、ヘッダ行が「id」 「name」 「age」 「organization」 「job」 「status」 「class」 で、レコードは5つあります。このように、CSV形式は単純な形式なので、作りやすいというメリットはありますが、列はすべての行に対して共通であるため、