Pythonの変数、スコープ、データ型について動作確認します。他の言語の経験があれば、すぐ理解できる内容がほとんどです。
目次
変数
命名規約
Pythonには、以下のような命名規約があります。
- 関数、変数は
スネークケース
(e.g. my_var) - クラスは
キャメルケース
(e.g. MyClass) - プライベート変数は
_
で始める
なので、変数はスネークケースで記述します。
変数宣言
my_var = "Hello wold!"
print(my_var)
phpであれば $myVar
、 javascriptであれば let myVar
といった感じでしょうか。
pythonは、先頭に何もつけません。
定数
- Pythonではサポートしてません。
- 全て大文字にしたら定数として扱うというルールのみ存在します。
スコープ
グローバル変数とローカル変数
# グローバル変数
global_var = "global"
def sample_print():
# ローカル変数
local_var = "local"
print(global_var)
print(local_var)
sample_print()
global
local
関数内でグローバル変数を変更
関数内でグローバル変数を変更したい場合、 global
を利用します。
my_var = "global"
def sample_print():
global my_var
my_var = "local"
return my_var
print(sample_print())
print(my_var)
local
local
基本データ型
文字列|str
文字列は、 '
または ''
で囲み宣言します。
文字列の連結は、 +
を利用します。
my_str1 = "Hello" + " world!"
print(my_str1)
my_str2 = "Hello"
my_str2 += " world!"
print(my_str2)
Hello world!
Hello world!
改行を入れたい場合、"""
を利用します。\
を入れた行は改行されません。
print("""
aaa
bbb\
ccc
ddd
""")
aaa
bbbccc
ddd
長い文字列は、以下のように行を分けて記述できます。
my_str1 = ('aaa'
'bbb'
'ccc')
print(my_str1)
my_str2 = 'aaa' \
'bbb' \
'ccc'
print(my_str2)
aaabbbccc
aaabbbccc
文字列メソッド
文字列であれば、続けて利用できるメソッドが存在します。
数値|int、float
整数は int型
で、小数部を持つ数は float型
になります。
# 足し算
print(1 + 1)
# 引き算
print(1 - 1)
# 掛け算
print(4 * 4)
# 割り算
print(4 / 2)
# 割り算(切り捨て)
print(5 // 2)
# 余り
print(10 % 3)
# 指数(4乗)
print(2 ** 4)
2
0
16
2.0
2
1
16
mathモジュール
数値操作用にmathモジュールが用意されています。
https://docs.python.jp/3/library/math.html
論理値|bool
先頭を大文字にして書きます。
my_boolean = True
print(my_boolean)
my_boolean = False
print(my_boolean)
print(True and False)
print(True or False)
print(not True)
True
False
False
True
False
型の取得と判定
( type関数とisinstance関数 )
type関数
で型の確認ができます。isinstance関数
で型判定ができます。
def print_type(var):
print("----------------------")
print(type(var))
if isinstance(var, str):
print("This is string.")
if isinstance(var, bool):
print("This is bool.")
if isinstance(var, int):
print("This is int.")
if isinstance(var, float):
print("This is float.")
if isinstance(var, list):
print("This is list.")
print_type("hello")
print_type(True)
print_type(1)
print_type(1.0)
print_type([1, 2])
----------------------
<class 'str'>
This is string.
----------------------
<class 'bool'>
This is bool.
This is int.
----------------------
<class 'int'>
This is int.
----------------------
<class 'float'>
This is float.
----------------------
<class 'list'>
This is list.
型変換
int()
を利用して、文字列から数値に型変換してみます。
my_var = "100"
print(type(my_var)) # <class 'str'>
print(type(int(my_var))) # <class 'int'>
str()
を利用して、文字列から数値に型変換してみます。
my_var = 100
print(type(my_var)) # <class 'int'>
print(type(str(my_var))) # <class 'str'>