Python の基本

誰もがどこかから始める必要があります。ここでは、その第一歩を踏み出しましょう。このガイドでは、演算子、データ型、変数、およびコア関数を含む基本的な Python の基礎を網羅します。

Python の基本概要

初心者が知っておくべき Python のコアな基本:

  • 変数と基本型
  • 演算子と式
  • 文字列と一般的なメソッド
  • リスト、タプル、辞書
  • 基本的な制御フロー(if、for、while)
  • 簡単な関数

数学演算子

最も高いものから最も低い優先順位まで:

演算子操作
**べき乗2 ** 3 = 8
%モジュロ/剰余22 % 8 = 6
//整数除算22 // 8 = 2
/除算22 / 8 = 2.75
*乗算3 * 3 = 9
-減算5 - 2 = 3
+加算2 + 2 = 4

式の例:

# 乗算は加算よりも優先順位が高い
# したがって、これは次のように評価されます:2 + (3 * 6) = 2 + 18 = 20
2 + 3 * 6
20
# 丸括弧は演算子の優先順位を上書きします
# これは次のように評価されます:5 * 6 = 30
(2 + 3) * 6
30
2 ** 8
256
23 // 7
3
23 % 7
2
(5 - 1) * ((7 + 1) / (3 - 1))
16.0
クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

この Python 式の結果は何ですか?
4 + 2 * 3
A. 10
B. 18
C. 12
D. 20

複合代入演算子

演算子同等な記述
var += 1var = var + 1
var -= 1var = var - 1
var *= 1var = var * 1
var /= 1var = var / 1
var //= 1var = var // 1
var %= 1var = var % 1
var **= 1var = var ** 1

例:

# 複合代入:greeting = greeting + ' world!' と同等
greeting = 'Hello'
greeting += ' world!'
greeting
'Hello world!'
# 数値を 1 増やす
number = 1
number += 1
number
2
# リスト要素の複製:my_list = my_list * 3 と同等
my_list = ['item']
my_list *= 3
my_list
['item', 'item', 'item']
クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

このコードを実行した後、xの値は何になりますか?
x = 5
x += 3
A. 3
B. 8
C. 5
D. 15

ウォルラス演算子 (Walrus Operator)

ウォルラス演算子(:=)は、式内で変数に値を代入しつつ、その変数の値を返すことを可能にします。

例:

# ウォルラス演算子は、1 つの式で代入と値の返却を行います
# my_var に "Hello World!" が代入され、その後に出力されます
print(my_var:="Hello World!")
Hello World!
my_var="Yes"
print(my_var)
Yes
print(my_var:="Hello")
Hello

ウォルラス演算子、または代入式演算子は、PEP 572によって 2018 年に初めて導入され、2019 年 10 月にPython 3.8で正式にリリースされました。

構文のセマンティクスと例

PEP 572には、ウォルラス演算子の構文、セマンティクス、および例が記載されています。

データ型

データ型を理解することは、Python の最も重要な基本事項の 1 つです。Python には、必要なもののほぼすべてをカバーする 9 つのコア組み込みデータ型があります。

データ型説明
数値
int-2, -1, 0, 1, 2, 3, 4, 5整数
float-1.25, -1.0, -0.5, 0.0, 0.5, 1.0, 1.25小数点を持つ数値
complex2+3j, complex(1, 4)実部と虚部を持つ数値
テキスト
str'a', 'Hello!', "Python"テキストと文字
ブール値
boolTrue, FalseTrue または False の値
None
NoneTypeNone「値なし」または「何もない」を表す
コレクション
list[1, 2, 3], ['a', 'b', 'c']順序付けられた変更可能なコレクション
dict{'name': 'Alice', 'age': 30}キーと値のペア
tuple(1, 2, 3), ('a', 'b')順序付けられた変更不可能なコレクション
set{1, 2, 3}, {'a', 'b', 'c'}一意な要素の順序付けられていないコレクション

簡単な例

# 数値
age = 25                    # int
price = 19.99              # float
coordinate = 2 + 3j        # complex

# テキスト
name = "Alice"             # str

# ブール値
is_student = True          # bool

# None
result = None              # NoneType

# コレクション
scores = [85, 92, 78]      # list
person = {'name': 'Bob', 'age': 30}  # dict
coordinates = (10, 20)     # tuple
unique_ids = {1, 2, 3}     # set

視覚的な例と、各型を使用すべき場合の詳細な説明については、以下を参照してください:Python データ型:初心者向けビジュアルガイド

連結と複製

文字列の連結:

# 文字列の連結:隣接する文字列は自動的に結合されます
'Alice' 'Bob'
'AliceBob'

文字列の複製:

# 文字列の複製:文字列を複数回繰り返します
'Alice' * 5
'AliceAliceAliceAliceAlice'

変数

変数は Python の基本の基礎です。以下のルールに従う限り、変数は任意の名前を付けることができます。

  1. 1 語でなければならない。
# bad
my variable = 'Hello'

# good
var = 'Hello'
  1. 英字、数字、アンダースコア(_)文字のみを使用できる。
# bad
%$@variable = 'Hello'

# good
my_var = 'Hello'

# good
my_var_2 = 'Hello'
  1. 数字で始めることはできない。
# これは機能しません
23_var = 'hello'
  1. アンダースコア(_)で始まる変数名は「未使用」と見なされます。
# _spam はコード内で再利用されるべきではない
_spam = 'Hello'
クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

Python の基本において、次のうち有効な変数名はどれですか?
A. 3value
B. user-name
C. user_name
D. for

コメント

インラインコメント:

# これはコメントです

複数行コメント:

# これは
# 複数行コメントです

コメント付きのコード:

a = 1  # 初期化

コメントの前に 2 つのスペースがあることに注意してください。

関数の docstring:

def foo():
    """
    これは関数の docstring です
    次のように使用することもできます:
    ''' 関数の Docstring '''
    """

print() 関数

print() 関数は、学習する最初の Python の基本事項の 1 つです。引数として与えられた値を書き出します。[…] 複数の引数、浮動小数点数、および文字列を処理します。文字列は引用符なしで印刷され、項目間にはスペースが挿入されるため、きれいに整形できます。

print('Hello world!')
Hello world!
a = 1
print('Hello world!', a)
Hello world! 1

end キーワード

キーワード引数 end を使用すると、出力後の改行を回避したり、出力を別の文字列で終了させたりできます。

# end パラメータを使用して、各 print ステートメントの後に続くものを変更します
phrase = ['printed', 'with', 'a', 'dash', 'in', 'between']
for word in phrase:
    print(word, end='-')  # 改行の代わりに '-' を使用
printed-with-a-dash-in-between-

sep キーワード

キーワード sep は、複数のオブジェクトがある場合に、それらを区切る方法を指定します。

# sep パラメータを使用して、複数の引数間の区切り文字を指定します
print('cats', 'dogs', 'mice', sep=',')  # カンマ区切りの出力
cats,dogs,mice

input() 関数

この関数はユーザーからの入力を受け取り、それを文字列に変換します。

# input() はユーザー入力を読み取り、文字列として返します
print('What is your name?')   # 名前を尋ねる
my_name = input()  # ユーザーが入力して Enter を押すのを待つ
print('Hi, {}'.format(my_name))
What is your name?
Martha
Hi, Martha

input()print() を使用せずにデフォルトのメッセージを設定することもできます。

my_name = input('What is your name? ')  # プロンプトメッセージ
print('Hi, {}'.format(my_name))
What is your name? Martha
Hi, Martha

.format を使用せずに、フォーマット済み文字列を使用することも可能です。

# input() はプロンプトメッセージを直接表示できます
my_name = input('What is your name? ')  # プロンプトと読み取りを 1 回の呼び出しで
print(f'Hi, {my_name}')  # 文字列フォーマットのための f-string
What is your name? Martha
Hi, Martha
クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

Python の基本において、`input()` は何を返しますか?
A. int
B. str
C. float
D. ユーザー入力による

len() 関数

文字列、リスト、辞書などの文字数または要素数を整数値で評価します。

# len() は文字列内の文字数を返します
len('hello')  # 5 を返します
5
# len() はリスト内の要素数を返します
len(['cat', 3, 'dog'])  # 3 を返します (3 つの要素)
3

空のテスト

文字列、リスト、辞書などの空のテストには、lenを使用するのではなく、直接的なブール評価を優先すべきです。

空のテストの例:

a = [1, 2, 3]

# bad: 不要な len() チェック
if len(a) > 0:  # True と評価される
    print("the list is not empty!")
the list is not empty!
# good: 直接的なブール評価 (Pythonic な方法)
if a:  # リストが空でない場合に True と評価される
    print("the list is not empty!")
the list is not empty!

str(), int(), float() 関数

これらの関数を使用すると、変数の型を変更できます。例えば、integerfloatからstringに変換できます。

# 整数を文字列に変換
str(29)  # '29'を返します
'29'
str(-3.14)
'-3.14'

または、stringからintegerfloatに変換します。

# 文字列を整数に変換
int('11')  # 11 を返します
11
# 文字列を浮動小数点数に変換
float('3.14')  # 3.14 を返します
3.14
クイズ

ログインしてこのクイズに回答し、学習の進捗を追跡できます

この Python コードの結果は何ですか?
result = int('42')
type(result)
A. str
B. float
C. int
D. NoneType

関連リンク