はじめに
この実験では、Pythonの基本的なデータ型と演算子を学びます。前の実験で得た知識を基に、整数、浮動小数点数、文字列、ブール値について学びます。また、さまざまな演算子を使って計算や比較を行う練習も行います。この実践的な経験により、Pythonのコアコンセプトの理解が深まり、より高度なプログラミングタスクに備えることができます。
この実験では、Pythonの基本的なデータ型と演算子を学びます。前の実験で得た知識を基に、整数、浮動小数点数、文字列、ブール値について学びます。また、さまざまな演算子を使って計算や比較を行う練習も行います。この実践的な経験により、Pythonのコアコンセプトの理解が深まり、より高度なプログラミングタスクに備えることができます。
このステップでは、Pythonの2つの主な数値型データ:整数と浮動小数点数を扱います。
ターミナルに次のコマンドを入力してPythonインタプリタを開きます。
python
Pythonのプロンプト(>>>)が表示されるはずで、これでPythonの対話型シェルに入ったことがわかります。
まず整数を調べてみましょう。Pythonインタプリタに次のように入力します。
>>> age = 25
>>> print(f"I am {age} years old.")
I am 25 years old.
>>> type(age)
<class 'int'>
ここで、age
は整数型の変数です。type()
関数により、それがint
(整数)型のデータであることが確認できます。整数は小数点のない整数です。
次に、浮動小数点数を扱ってみましょう。
>>> height = 1.75
>>> print(f"My height is {height} meters.")
My height is 1.75 meters.
>>> type(height)
<class 'float'>
height
は浮動小数点数で、Pythonではfloat
型で表されます。浮動小数点数は小数点がある数値に使用されます。
これらの数値型を使って計算を行いましょう。
>>> weight = 70 ## まず体重を定義します
>>> bmi = weight / (height ** 2)
>>> print(f"My BMI is {bmi:.2f}")
My BMI is 22.86
ここではまずweight
を定義します。**
演算子は累乗(べき乗)に使用されます。f文字列の.2f
は出力を2桁の小数まで表示するようにフォーマットします。
#
はPythonのコメントに使用されます。コメントはインタプリタによって無視され、コードをドキュメント化するために使用されます。
間違えた場合や異なる値を試したい場合は心配しないでください!変数を再定義して計算を再度実行するだけです。
このステップでは、Pythonにおける文字の列である文字列の操作方法を学びます。
Pythonインタプリタで文字列変数を作成します。
>>> name = "Alice"
>>> print(f"Hello, {name}!")
Hello, Alice!
>>> type(name)
<class 'str'>
str
データ型はPythonにおける文字列を表します。文字列はシングルクォート('')またはダブルクォート("")で囲まれます。
文字列は様々な操作をサポートしています。いくつか見てみましょう。
>>> ## 文字列の連結(文字列を結合する)
>>> first_name = "John"
>>> last_name = "Doe"
>>> full_name = first_name + " " + last_name
>>> print(full_name)
John Doe
>>> ## 文字列の繰り返し
>>> echo = "Hello " * 3
>>> print(echo)
Hello Hello Hello
>>> ## 文字列の長さ
>>> print(len(full_name))
8
>>> ## 文字列内の文字にアクセスする
>>> print(full_name[0]) ## 最初の文字(インデックス0)
J
>>> print(full_name[-1]) ## 最後の文字
e
覚えておいてください。Pythonでは、インデックスは0から始まるため、最初の文字はインデックス0にあります。
Pythonの文字列は不変で、個々の文字を変更することはできません。ただし、既存の文字列を元に新しい文字列を作成することはできます。
>>> uppercase_name = full_name.upper()
>>> print(uppercase_name)
JOHN DOE
>>> lowercase_name = full_name.lower()
>>> print(lowercase_name)
john doe
これらのメソッドは元の文字列を変更せず、新しい文字列を作成します。
このステップでは、Pythonにおけるブール値と比較演算子の使い方を学びます。
Pythonのブール値はTrue
またはFalse
のどちらかです。いくつかのブール型変数を作成しましょう。
>>> is_student = True
>>> is_employed = False
>>> print(f"Is a student: {is_student}")
Is a student: True
>>> print(f"Is employed: {is_employed}")
Is employed: False
>>> type(is_student)
<class 'bool'>
ブール値は、後の実験で学ぶ条件分岐文やループで頻繁に使用されます。
比較演算子はブール値を返します。いくつかの比較を見てみましょう。
>>> x = 5
>>> y = 10
>>> print(x < y) ## 未満
True
>>> print(x > y) ## より大きい
False
>>> print(x == y) ## 等しい
False
>>> print(x!= y) ## 等しくない
True
>>> print(x <= y) ## 未満または等しい
True
>>> print(x >= y) ## より大きいまたは等しい
False
これらの演算子は値を比較し、比較結果に基づいてTrue
またはFalse
を返します。
他のデータ型でも比較演算子を使用できます。
>>> name1 = "Alice"
>>> name2 = "Bob"
>>> print(name1 < name2) ## アルファベット順の比較
True
>>> print(len(name1) == len(name2)) ## 文字列の長さを比較
False
文字列を比較する場合、Pythonは辞書式順序(辞書順)を使用します。
ブール演算子(and
、or
、not
)を使ってブール値を組み合わせることができます。
>>> a = True
>>> b = False
>>> print(a and b) ## 両方がTrueのときTrue
False
>>> print(a or b) ## 少なくとも一方がTrueのときTrue
True
>>> print(not a) ## 否定
False
これらの演算子は、プログラムで複雑な条件を作成する際に便利です。
このステップでは、Pythonにおいて異なるデータ型間での変換方法を学びます。
時にはあるデータ型を別のデータ型に変換する必要があります。Pythonはこの目的のために組み込み関数を提供しています。まずは文字列を数値に変換してみましょう。
>>> ## 文字列を整数に変換
>>> age_str = "25"
>>> age_int = int(age_str)
>>> print(f"Age: {age_int}")
Age: 25
>>> print(type(age_int))
<class 'int'>
>>> ## 文字列を浮動小数点数に変換
>>> height_str = "1.75"
>>> height_float = float(height_str)
>>> print(f"Height: {height_float} meters")
Height: 1.75 meters
>>> print(type(height_float))
<class 'float'>
int()
関数とfloat()
関数はそれぞれ文字列を整数と浮動小数点数に変換します。注意してください。変換できない文字列の場合、エラーが発生します。
数値を文字列に変換することもできます。
>>> ## 整数を文字列に変換
>>> count = 42
>>> count_str = str(count)
>>> print(f"The count is: {count_str}")
The count is: 42
>>> print(type(count_str))
<class'str'>
>>> ## 浮動小数点数を文字列に変換
>>> pi = 3.14159
>>> pi_str = str(pi)
>>> print(f"Pi is approximately {pi_str}")
Pi is approximately 3.14159
>>> print(type(pi_str))
<class'str'>
str()
関数はほとんどのPythonオブジェクトを文字列に変換できます。
ブール値は他の型と相互に変換できます。
>>> ## ブール値に変換
>>> print(bool(1)) ## ゼロ以外の数値はTrue
True
>>> print(bool(0)) ## ゼロはFalse
False
>>> print(bool("")) ## 空の文字列はFalse
False
>>> print(bool("Hello")) ## 空でない文字列はTrue
True
>>> ## ブール値を整数に変換
>>> true_int = int(True)
>>> false_int = int(False)
>>> print(f"True as integer: {true_int}")
True as integer: 1
>>> print(f"False as integer: {false_int}")
False as integer: 0
Pythonでは、ブール値に変換する際に、ゼロ以外の数値や空でない文字列はTrue
と見なされます。
この最後のステップでは、この実験で学んだ概念を利用した簡単なプログラムを作成します。
exit()
を入力するか、Ctrl+Dを押してPythonインタプリタを終了します。
LabEx VMのWebIDE
タブに切り替えます。WebIDEはオンラインコードエディタで、ブラウザで直接Pythonスクリプトを書いて実行できます。長いスクリプトやプロジェクトに適しています。
次のコマンドを使って、~/project
ディレクトリに新しいファイルdata_types_practice.py
を作成します。
touch ~/project/data_types_practice.py
新しく作成したファイルをクリックしてエディタで開きます。
次のコードをコピーして貼り付けます。
## データ型と演算子の練習
## ユーザー入力を取得
name = input("Enter your name: ")
age_str = input("Enter your age: ")
height_str = input("Enter your height in meters: ")
## 入力を適切な型に変換
age = int(age_str)
height = float(height_str)
## 計算を行う
## 現在の年に変更する必要がある場合があります
birth_year = 2025 - age
is_adult = age >= 18
## 出力文字列を作成する
output = f"""
Name: {name}
Age: {age}
Height: {height:.2f} meters
Birth Year: {birth_year}
Is Adult: {is_adult}
"""
## 結果を表示する
print(output)
## ボーナス:文字列操作
uppercase_name = name.upper()
name_length = len(name)
print(f"Your name in uppercase: {uppercase_name}")
print(f"Your name has {name_length} characters")
このプログラムは、さまざまなデータ型、型変換、文字列フォーマット、基本的な計算の使い方を示しています。
ファイルを保存し(オートセーブが有効になっています)、次のコマンドを使って実行します。
python ~/project/data_types_practice.py
プロンプトが表示されたら情報を入力します。次のような出力が表示されるはずです。
Enter your name: Alice
Enter your age: 25
Enter your height in meters: 1.75
Name: Alice
Age: 25
Height: 1.75 meters
Birth Year: 1999
Is Adult: True
Your name in uppercase: ALICE
Your name has 5 characters
データ入力時に間違えた場合は、再度プログラムを実行する必要があります。これは、異なる入力でPythonスクリプトを複数回実行する練習の良い機会です。
この実験では、Pythonの基本的なデータ型と演算子を学びました。整数、浮動小数点数、文字列、ブール値の扱い方を学びました。さまざまな演算子を使って計算や比較を行い、型変換の経験も積みました。最後に、これらの概念を使って、ユーザー入力を受け取り、処理し、フォーマットされた出力を生成する簡単なプログラムを作成しました。
これらのスキルはPythonプログラミングの基礎を形成し、より複雑なプログラムを開発し続ける際に欠かせないものです。これらの概念を定期的に練習して、理解を強化し、Pythonの構文やデータ操作に慣れていくことが大切です。
進歩するにつれて、Pythonインタプリタを使って実験することを躊躇しないでください。小さなコードスニペットをテストし、異なる操作がどのように機能するかを理解するのに役立つ素晴らしいツールです。エラーが発生した場合は、エラーメッセージを注意深く読んでください。エラーメッセージには、何が間違ったのか、どのように修正するかに関する手がかりがしばしば含まれています。