Pythonの基礎 - 基本的なデータ型
概要
ここでは、Pythonプログラミングの基礎として、基本的な文法等を記載する。
print関数
以下のように、文字列リテラルをprint関数で出力するには()の中にダブルクォーテーション""で文字列を囲んで入力する。
ダブルクォーテーションの代わりにシングルクォーテーションで囲んでもよい。
print("Python")
# 出力
python
次に、以下のように入力すると、Python PHPと出力される。
print("Python", "PHP")
# 出力
Python PHP
print関数のオプション
sepオプション
上記のように、複数の引数を並べて入力すると、文字列の間に半角の空白文字が1つ入る。
例えば、Python,PHPのように、間にカンマを入れて出力する場合は、sepオプションを使用する。
print("Python", "PHP", sep=",")
# 出力
Pyhon,PHP
endオプション
endオプションは、文末の処理を行う時に使用する。通常は、標準で改行コード(\n)が設定されている。
明示的に入力すると以下のようになる。
print("Python", "PHP", sep=",", end="\n")
# 出力
Python,PHP
次に、以下のように、endオプションを空にして実行すると、Python,PHPPython,PHPと改行されずに繋がって表示される。
これは、1行目は改行しないという意味になる。
print("Python", "PHP", sep=",", end="")
print("Python", "PHP", sep=",", end="\n")
# 出力
Python,PHPPython,PHP
また、endオプションには以下のような使い方もある。
最後の改行にエクスクラメーション(!)を入れて出力する場合は、end="!\n"のように入力する。
print("Python", "PHP", sep=",", end="!\n")
# 出力
Python,PHP!
変数の宣言と使用
基本
msg = "こんにちは、Python"
num = 100
print(msg)
print(num)
# 出力
こんにちは、Python
100
次にように、文字列リテラルを代入した変数msgに、数値リテラルを代入する場合、変数msgは自動的に整数型と認識される。
msg = "こんにちは、Python"
num = 100
msg = num
print(msg)
# 出力
100
Pythonでは、変数を宣言する時、データ型を自動的に認識するので型宣言は不要である。(これを動的型付けと呼ぶ)
ただし、型宣言があると理解しやすい時もあるので、以下のように、変数の型も併せて記述する方法もある。
msg: str = "こんにちは、Python"
num: int = 100
print(msg)
print(num)
変数の型を知りたい場合、type関数を使用してデータ型を表示させることができる。
msg = "こんにちは、Python"
num = 100
print(msg, type(msg))
print(num, type(num))
# 出力
こんにちは、Python <class 'str'>
100 <class 'int'>
型変換(キャスト)
文字列型の変数strnumを整数型の変数inumに代入する場合、以下のように型変換を行うと、整数型の100として表示される。
ただし、数値ではない文字列を数値型に変換することはできない。
strnum = "100"
inum = int(strnum)
print(inum, type(inum))
# 出力
100 <class 'int'>
数値と四則演算
Pythonの数値型には、整数型(int)と浮動小数点数型(float)がある。
Pythonでは、他のプログラム言語にあるようなインクリメント(++)やデクリメント(--)は使用できない。
文字列
Pythonでの文字列の特徴として、文字を順番に並べて文字列として扱っている。
文字列には、先頭の文字から順番に0から始まるインデックスが振られていて、これを指定することで文字列を操作することができる。
例えば、"Python"という文字列では、"P"のインデックスが0、"y"のインデックスが1、というインデックスが振られている。
このように、文字列は順序を持つ型なのでシーケンス型のひとつになっている。
print('Hello')
print("Hello")
type("Hello")
print("Hello!" * 3)
greeting = "Hello " + "Python!"
print(greeting)
len(greeting)
# 出力
Hello
Hello
<class 'str'>
Hello!Hello!Hello!
Hello Python!
13
改行
改行する箇所に、\nを入れる。
print("Hello, \nPython")
# 出力
Hello,
Python
複数行にわたる長い文章の表示は、トリプルクォート(""" """)で囲む。
トリプルクォートで囲んだ部分は、改行も自由にできる。
strhoge = """Hello,
Python"""
print(strhoge)
# 出力
Hello,
Python
文字列が長くなって読みにくい場合は、丸括弧()の中で改行する文字列ごとにダブルクォーテーションで囲むか、
改行する場所でバックスラッシュ\を入れることでコードを途中で改行して見やすくすることができる。
str1 = ("Hello, "
"Python")
str2 = "Hello, "\
"Python"