Python(文字と文字列)

2025年2月20日 (木)

[Python]文字列が数値(小数)に変換できるか否か確認する

float関数と例外処理を利用して以下のような関数を定義すればよい。

ソースコード

def is_double(s):
try:
d = float(s)
except Exception:
return False
else:
return True
print(is_double("0"))
print(is_double(" -6"))
print(is_double(" -6.6 "))
print(is_double("-6e-6"))
print(is_double(""))
print(is_double("abc123"))

実行結果

True
True
True
True
False
False

2025年2月19日 (水)

[Python]文字列が数値(整数)に変換できるか否か確認する

int関数と例外処理を利用して以下のような関数を定義すればよい。

ソースコード

def is_integer(s):
try:
d = int(s)
except Exception:
return False
else:
return True
print(is_integer("0"))
print(is_integer(" -6"))
print(is_integer(" -6.6 "))
print(is_integer("-6e-6"))
print(is_integer(""))
print(is_integer("abc123"))

実行結果

True
True
False
False
False
False

2025年2月17日 (月)

[Python]数値を文字列に変換する

formatメソッドかフォーマット済み文字列リテラルを使う。

>>> n = -1
>>> d1 = -2
>>> d2 = 3.4
>>> print("|{}|{}|{}|".format(n, d1, d2))
|-1|-2|3.4|
>>> print("|{2}|{1}|{0}|".format(n, d1, d2))
|3.4|-2|-1|
>>> print("|{0:6d}|{1:.3f}|{2:.4e}|".format(n, d1, d2))
| -1|-2.000|3.4000e+00|
>>> print(f"|{n}|{d1}|{d2}|")
|-1|-2|3.4|
>>> print(f"|{n:6d}|{d1:.3f}|{d2:.4e}|")
| -1|-2.000|3.4000e+00|

2025年2月12日 (水)

[Python]文字列を特定の文字または文字列で分割する

reモジュールのsplit関数を使う。2番目の例のとおり、正規表現を使って分割の条件を指定することができる。

>>> import re
>>> s = '石見舞菜香,鈴木みのり , 野口瑠璃子, 安野希世乃 ,和多田美咲'
>>> re.split(',', s)
['石見舞菜香', '鈴木みのり ', ' 野口瑠璃子', ' 安野希世乃 ', '和多田美咲']
>>> re.split('[ ,]+', s)
['石見舞菜香', '鈴木みのり', '野口瑠璃子', '安野希世乃', '和多田美咲'

 

2025年2月 5日 (水)

[Python]バイト列リテラルからbytes型変数を作成する

文字列リテラルの前に接頭辞bを付ければよい。ただし、接頭辞bでは日本語を服もバイト列リテラルを作成できない。bytes関数を使うことであらゆる文字からなるバイト列文字列を作成することができる。ただし文字コードを指定する必要がある。

バイト列リテラルはprint関数の出力では、接頭辞bが付く。最後の例のとおりにバイト列を文字列に変換する場合はdecodeメソッドを使う。

>>> s = 'Watada Misaki'
>>> by = b'Watada Misaki'
>>> print(s)
Watada Misaki
>>> print(by)
b'Watada Misaki'
>>> s = '和多田美咲'
>>> by = bytes('和多田美咲', 'utf-8')
>>> print(s)
和多田美咲
>>> print(by)
b'\xe5\x92\x8c\xe5\xa4\x9a\xe7\x94\xb0\xe7\xbe\x8e\xe5\x92\xb2'
>>> by = bytes('和多田美咲', 'Shift_JIS')
>>> print(by)
b'\x98a\x91\xbd\x93c\x94\xfc\x8d\xe7'
>>> print(by.decode('Shift_JIS'))
和多田美咲
無料ブログはココログ

■■

■■■