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
ログインしてこのクイズに回答し、学習の進捗を追跡できます
4 + 2 * 3
複合代入演算子
| 演算子 | 同等な記述 |
|---|---|
var += 1 | var = var + 1 |
var -= 1 | var = var - 1 |
var *= 1 | var = var * 1 |
var /= 1 | var = var / 1 |
var //= 1 | var = var // 1 |
var %= 1 | var = var % 1 |
var **= 1 | var = 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
ウォルラス演算子 (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 | 小数点を持つ数値 |
complex | 2+3j, complex(1, 4) | 実部と虚部を持つ数値 |
| テキスト | ||
str | 'a', 'Hello!', "Python" | テキストと文字 |
| ブール値 | ||
bool | True, False | True または False の値 |
| None | ||
NoneType | None | 「値なし」または「何もない」を表す |
| コレクション | ||
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 語でなければならない。
# bad
my variable = 'Hello'
# good
var = 'Hello'
- 英字、数字、アンダースコア(
_)文字のみを使用できる。
# bad
%$@variable = 'Hello'
# good
my_var = 'Hello'
# good
my_var_2 = 'Hello'
- 数字で始めることはできない。
# これは機能しません
23_var = 'hello'
- アンダースコア(
_)で始まる変数名は「未使用」と見なされます。
# _spam はコード内で再利用されるべきではない
_spam = 'Hello'
ログインしてこのクイズに回答し、学習の進捗を追跡できます
3valueuser-nameuser_nameforコメント
インラインコメント:
# これはコメントです
複数行コメント:
# これは
# 複数行コメントです
コメント付きのコード:
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
ログインしてこのクイズに回答し、学習の進捗を追跡できます
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() 関数
これらの関数を使用すると、変数の型を変更できます。例えば、integerやfloatからstringに変換できます。
# 整数を文字列に変換
str(29) # '29'を返します
'29'
str(-3.14)
'-3.14'
または、stringからintegerやfloatに変換します。
# 文字列を整数に変換
int('11') # 11 を返します
11
# 文字列を浮動小数点数に変換
float('3.14') # 3.14 を返します
3.14
ログインしてこのクイズに回答し、学習の進捗を追跡できます
result = int('42')
type(result)
strfloatintNoneType