Remrinのpython攻略日記

python3に入門しました。python3についてあれこれとサンプルコードとか。

python

pythonでファイルの読み書き

pythonでファイルの読み書きです。 python3で外部ファイルを開くときはcodecsモジュールは不要です。 パスが通ったディレクトリにhyaku.txtがあることを前提にしています。 なければ、メモ帳などで適当に複数行の文字を書き込んだりで。 今回は百人一首を書…

pickleライブラリ

python用のデータをファイルに保存する。 Python オブジェクトの直列化および直列化されたオブジェクトの復元。 バイナリ形式でpython固有のフォーマット。 長所: ・ほとんどの組み込み方やクラスも保存できる。 (lambda関数などはpickle化できない) ・型…

pandasの使い方(1)

pandasライブラリの使い方。 pandasはSeries(1次元)とDataFrame(2次元)という2つのデータ構造を持つ。 今回はまずSeriesの使い方。 ○シリーズ(1次元配列)を作る。 import pandas as pd l = [3, 4, 5, 6, 7] series = pd.Series(l) print(series) # 0 3 # …

python開発環境の準備とspyder

anacondaを使う人が多いようですが、私はWinpythonを使っています。 名前的にwindows向けな気がしただけで選びました。 パソコンは5年くらい前のVAIOで、OSはWindows7です。Winpythonはspyder、ライブラリも同梱でインストールも楽でした。 かなりの数のラ…

collectionsライブラリ

標準ライブラリのcollectionsには便利なデータ型があります。 namedtuple() タプル風 名前付きフィールドを持つタプルを作成するファクトリ関数 deque リスト風 両端における append や pop を高速に行えるリスト風のコンテナ ChainMap 辞書風 複数のマッピ…

BeautifulSoup4の使い方

htmlの構文解釈のライブラリです。 ○htmlの準備 # -*- coding: utf-8 -*- import urllib.request from bs4 import BeautifulSoup url = "http://python-remrin.hatenadiary.jp/" f = urllib.request.urlopen(url) html = f.read().decode('utf-8') soup = Be…

urllibライブラリの使い方

urllibはURLにアクセスするライブラリです。 urllibモジュールは、Python 3 で urllib.request, urllib.parse, urllib.error に分割されて名称変更されました。 ・urllib.request は URL を開いて読むためのモジュールです ・urllib.error は urllib.request…

pythonのdict型

・辞書型。マッピング型とも言う。 ・シーケンスに似ているが、順序なし。 ・key:valueのセットで辞書登録。key…識別子。indexがわりに使う。 ・keyでも、valueでも、key:valueでもiteration可能。 ・keyはimmutable(数値、タプル、文字列など)だが、valueは…

pythonのタプル

pythonのタプルについて・シーケンス型の1つ。 ・リストと似ているが、タプルはcount, index以外のメソッドがない。 ・リストは[]、タプルは()または括弧なし。 ・immutableな型で、値の変更ができない。 ・要素を変更できない。ソートもできない。 ・index…

matplotlibで棒グラフ

matplotlibで棒グラフの描き方 Definition : bar(left, #それぞれの棒の左端の配列 height, #高さの配列 width=0.8, #棒の太さ bottom=None, #複数の棒グラフを積み上げるときの土台を示す。 hold=None, # data=None, # **kwargs) ○基本 import matplotlib.p…

pythonでの数値

python3の数値は整数(int型)、小数(float型)、複素数(complex型)の3つ。 論理型(bool型)も数値の1つと言える。(True=1, False=0) ○整数型 桁数は無限 16進数 先頭に0x 8進数 先頭に0o 2進数 先頭に0b(b:binary) ・int関数 文字列や小数を整数に直す関数…

matplotlibでヒストグラム

matplotlibでヒストグラムを書く。Definition: hist(x, #データ。yなし。 bins=None, #bin(棒)の数。省略すると10 range=None, #binの表示範囲をタプルで。 normed=False, #Trueとすると正規化(合計値を1とする) weights=None, # cumulative=False, #True:累…

python記事の目次

python記事の目次 python導入など ・pythonの導入とspyder ・pythonのバージョン ・ソースコードの貼り方 pythonの使い方 ・変数の型 ・数値 ・文字列操作 ・文字列の削除 ・日本語文字列操作(ひらがな判定など) ・リスト操作 ・タプル ・辞書型 dict ・集…

日本語文字列操作 ひらがな判定など

日本語の文字列の操作について。英字に比べて非常に扱いにくい印象です。文字列をソートしたり、ひらがな・カタカナ判定、ひらがな・カタカナ変換などを作ってみました。 # coding: utf-8 hiragana = "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすず…

python3の変数の型

python3の変数の型について数値型:int, float, complexの3つ 論理型:bool 文字列型:str コンテナ型:list, tuple, dict, set シーケンス型:list, tuple, 文字列、rangeimmutable≒ハッシュ可能 int, str, tuple, frozenset整数変換 int()関数 小数変換 f…

pythonの文字列

python3での文字列の操作など ・シーケンス型の1つ。 ・シングルクオーテーション('abc')、ダブルクオーテーション("abc")のどちらでも。 ・シングルクオーテーションの中では「"」は文字として扱える。逆も。 ・immutableなのでs[2]="a"のような代入はでき…

文字列の削除 split(), strip(), replace(), translate(), re.sub()

pythonでの文字列の削除の方法 ○split() 区切り文字(delimiter)を区切りとして、文字列を分割しリストを返す。 maxsplit=1のように、オプションで最大分割回数を指定できる。 区切り文字を指定しないときは、空白文字で区切る。 その際、連続した空白文字は…

range()

pythonのrange()の使い方python3では、rangeは0から始まり、指定値未満の連続整数を生成するジェネレータを返す。 要素を確認したいときはlist(range(3))などとする。 type(range(3)) #class 'range' range(3) #range(0, 3) range(3.5) #TypeError :小数は扱…

allとany

pythonのallとanyについて。 ○all(iterable) iterableがすべてTrueのときのみTrueを返す。 iterableが空(empty)のときはTrueを返す。○any(iterable) iterableが1つでもTrueを含むとTrueを返す。 iterableが空のときはFalseを返す。基本例 all([True, True, T…

pythonのリスト操作

pythonのlist型はよく使うのに覚えることがたくさん。 調べる手間を省きたいので備忘録です。 list型の概要 ・シーケンス型の一つで、iterable ・numpyのndarrayなどの配列と違い、バラバラなメモリに紐つけで末尾追加が可能。 ・要素(element)は数値に限ら…

matplotlibで折れ線グラフ

計算結果をビジュアルで見るには、やはりグラフを描くのが一番ですね。 ということで、matplotlibの使い方を簡単に紹介します。 import matplotlib.pyplot as plt listx = [1, 2, 3, 4] listy = [1, 3, 4, 2] plt.plot(listx, listy) たったこれだけで、折れ…

pythonでクイックソートのアルゴリズム

pythonでクイックソートのアルゴリズムを考えてみた。

三角形の内接円、外接円、面積、角度

pythonで外接円の中心と半径を求めるプログラムを作ってみた

pythonのライブラリ

pythonを使うメリットの1つに豊富なモジュールがあります。 私が使ったモジュール、気になったモジュールです。(1)標準ライブラリ(python標準ライブラリ) モジュール 内容 math 数学関連 三角比、π、切り上げなど decimal 小数や大きな数の正確な計算 fr…

pythonと英語

pythonの学習では英語での表現も多く、pythonと同時に英語の勉強にもなりますね。 ということで、よく使う単語や表現などを挙げて行きます。 (1)算術・数学 English Japanese average 平均、代表値 mean, median, modeなど axis 軸 x axis:x軸 coordinate…

pythonのバージョン

pythonは2系と3系で文法が異なっていて、互換性はありません。 私もpythonに入門しようと思い、いくつかののサイトを巡ってみると初心者むけのサイトほどpython2系のみに対応しているなど、混乱を招きやすい状態です。サンプルコードをコピペしてもエラーを…