職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

Python正規表現--パターン

2021年01月22日 | Python
パターンから正規表現オブジェクトを作成する

【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと


【パターンを定義する】
・パターンに文字列を定義する場合
pat = 'abc'

・パターンにメタ文字(特別文字)を定義する場合
'$'→語尾がpngで終わるようにする(語尾マッチ)
pat = 'png$'

・パターンにバックスラッシュ '\' を定義する場合
文字列に '\'が含まれる場合はエスケープを行う必要がある。
pat = '\\w'
あるいは
raw 文字列を使う
pat = r'\w'

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> print("インストール先は c:\\code\\python\\bin です")
インストール先は c:\code\python\bin です
>>> print(r"インストール先は c:\code\python\bin です")
インストール先は c:\code\python\bin です
>>>

【パターンをコンパイルする】
Python で正規表現を利用する場合、パターンとして定義した文字列をそのまま利用して re モジュールに含まれる関数を使う方法と、パターンをいったんコンパイルして Pattern クラスのインスタンスを作成したあと、 Pattern クラスのメソッドを使う方法がある。

1.パターンを一度しか使用しない場合
コンパイルする必要がない

2.同じパターンを繰り返し使用する場合
コンパイルする
書式
re.compile(pat, flags=0)

サンプルコード
>>> import re
>>> filename = 'apple.png'
>>> pattern = re.compile(r'png$')
>>> result = pattern.search(filename)
>>> if result :
print('パターンにマッチします')
else :
print('パターンにマッチしません')


パターンにマッチします
>>>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Python正規表現

2021年01月20日 | Python
Pythonでの正規表現の利用方法

【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【パターンを定義する】
正規表現とは、
→文章の中から少し複雑な条件で目的の文字列を探したり、入力された値が指定した文字の種類やフォーマットに一致する値になっているか?を調べたい場合に便利な機能。

パターンの定義
→文字列やあらかじめ決められている特別な記述方法を使って定義する
例えば、「a」で始まり「e」で終わる 5 文字の文字列を表すパターンを定義すると、「a...e」のようになる。

そのパターンを使って対象となる文字列とマッチするかどうか調べるには?
→Pattern クラスのインスタンスを作成します。作成するには re モジュールに含まれる compile 関数を使って次のように記述します。
サンプルコード
import re

pattern = re.compile(r'a...e')

【文章とパターンがマッチするかどうかを調べる】
対象の文字列がパターンとマッチするかどうかを調べてみる

・search メソッドの場合
target = 'apple and orange'
pattern = re.compile(r'a...e')

result = pattern.search(target)

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import re
>>> target = 'apple and orange' ←文字列
>>> pattern = re.compile(r'a.{3}e') ←パターン
>>> result = pattern.search(target)
>>> if result :
print(result.group())


apple←パターンがマッチしている部分
>>>


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

組み込み関数--isinstance()

2021年01月17日 | Python
isinstance関数の使い方

【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【isinstance関数の書式】
isinstance 関数は 1 番目の引数に指定したオブジェクトが 2 番目の引数に指定したデータ型と等しいかどうかを返します。
・書式
isinstance(object, classinfo)

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> mylist = [2, "ab", 3.5, True, 4]
>>> total = 0
>>> for val in mylist:
if isinstance(val, (int, float)):
print("val:" + str(val))
total += val


val:2
val:3.5
val:True
val:4
>>> print("total:" + str(total))
total:10.5
>>>
リストに格納された値のデータ型を調べ、整数型または浮動小数点数型だった場合は値を出力して合計を計算しました。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

組み込み関数--type()

2021年01月16日 | Python
type関数の使い方

【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【type関数の書式と基本的な使い方】
type 関数は引数に指定したオブジェクトのデータ型を表す型オブジェクトを返します
・書式
type(object)

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> print(type("str"))
<class 'str'>
>>> print(type(100))
<class 'int'>
>>> print(type(14.5))
<class 'float'>
>>> print(type(7.0 + 5j))
<class 'complex'>
>>> print(type([1, 2, 3]))
<class 'list'>
>>> print(type((1, 2, 3)))
<class 'tuple'>
>>> print(type({1:"A", 2:"B", 3:"C"}))
<class 'dict'>
>>> print(type(True))
<class 'bool'>
>>> print(type(None))
<class 'NoneType'>
>>>
一つサンプル
>>> mylist = [2, "ab", 3.5, True, 4]
>>> total = 0
>>> for val in mylist:
if type(val) in (int, float):
print("val:" + str(val))
total += val


val:2
val:3.5
val:4
>>>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

組み込み関数--range()

2021年01月15日 | Python
range関数の書式と基本的な使い方


【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【range関数の書式】
range 関数は引数に指定した開始数から終了数までの連続した数値を要素として持つ range 型のオブジェクトを作成します。
書式
range(stop)
range(start, stop[, step])

サンプルコード
>>> r = range(10)
>>> for i in r:
print("num : " + str(i))


num : 0
num : 1
num : 2
num : 3
num : 4
num : 5
num : 6
num : 7
num : 8
num : 9
>>>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする