TIL

Today I Learned. 知ったこと、学んだことを書いていく

Python

GETパラメータを取得する - Bottle

BottleでGETパラメータを取得する方法 Bottleのチュートリアルに書いてあった import requestと、request.query.パラメータ名でできた from bottle import request, route, run @route('/') def main(): print(request.query.name) run(host='localhost', po…

Pythonのメモ一覧

Pythonのメモが多くなってきたため、整理 基礎 標準モジュール 文字列 組み込み関数 ファイル サードパーティーモジュール requests Webフレームワーク Bottle Djngo 小技 エラー解決 やってみた 環境・Pythonの知識 基礎 クラスでプロパティを使う - Python…

DjangoのURLconfについて

DjangoのURLディスパッチャについて調べたときのメモ DjangoのURLディスパッチャについて調べたときのメモ URLディスパッチャ リクエストからレスポンスまでの流れ URLconf(urls.py, URLディスパッチャの設定ファイル)の役割 URLconfは2種類ある views.pyの…

文字列の初めのほうが指定の文字列か str.startswith() - Python

文字列の初めのほうが指定の文字かどうかを確かめるには str の startswith()メソッドを使う >>> s = 'hello' >>> s.startswith('h') True >>> s.startswith('he') True >>> s.startswith('ha') False 参考文献 4. 組み込み型 — Python 3.6.3 ドキュメント

入力を受け取る input() - Python

ProgateでPythonの基礎を進めてる 標準入力から値を取得する方法をメモしておく input関数を使うことで標準入力から値を受け取ることができる >>> a = input('数値を入力してください-> ') 数値を入力してください-> 2 >>> a '2' input関数は入力値を文字列…

RoboBrowserを使ってWebページにログインしてクローリング

最近、下の本を読んでいる。RoboBrowserと言うものがあるらしいので、使ってみたときのメモ Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-作者: 加藤耕太出版社/メーカー: 技術評論社発売日: 2016/12/16メディア: 大型本この…

08. 暗号文

与えられた文字列の各文字を,以下の仕様で変換する関数cipherを実装せよ. - 英小文字ならば(219 - 文字コード)の文字に置換 - その他の文字はそのまま出力 この関数を用い,英語のメッセージを暗号化・復号化せよ. 回答 #!/bin/usr/env python ''' # 08. …

07. テンプレートによる文生成

引数x, y, zを受け取り「x時のyはz」という文字列を返す関数を実装せよ.さらに,x=12, y="気温", z=22.4として,実行結果を確認せよ. fプリフィックスでさくっとできた #!/bin/usr/env python ''' 07. テンプレートによる文生成 引数x, y, zを受け取り「x…

06. 集合

"paraparaparadise"と"paragraph"に含まれる文字bi-gramの集合を,それぞれ, XとYとして求め,XとYの和集合,積集合,差集合を求めよ.さらに,'se'というbi-gramがXおよびYに含まれるかどうかを調べよ. Pythonでやった 今回は set を使って解く問題だった …

05. n-gram

自分の力では文字列のみにしか対応できなかった。 間違った出力をしていたため、できていなかった... できるだけ、自分の力でできるようにしたい ほかの人の回答を見る前に書いたソース #!/bin/usr/env python ''' 与えられたシーケンス(文字列やリストなど…

pipenv パッケージングツール - Python

インストールする 使い方 pipenv install pipenv install モジュール名 pipenv run コマンド pipenv graph .env ファイルで専用の環境変数を設定 いろいろやったこと 仮想環境の作成 作成した仮想環境にモジュールをインストール 各プロジェクトに.vnevディ…

HTTPレスポングのエンコーディングを推測する chardet

サードパーティのchardetモジュールを使ってみる。 https://github.com/chardet/chardet 最近、この本を進めている。この本の中で、HTTPレスポンスのバイト配列からエンコーディングを推測する方法として、chardetモジュールが紹介だけされていた。気になっ…

04. 元素記号

言語処理100本ノック 2015の5つ目。 "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."という文を単語に分解し,1, 5, 6, 7, 8, 9, 15, 16, 19番目の単語は先頭の1文字,それ…

集合 set - Python

Pythonでの集合はset()関数を使う。 集合の使い時は「順序は関係なし、要素が重複したくない」とき。 集合についてはこちらが分かりやすかった。 空の集合の作成 {}での作成 他の型からの変換 要素に含まれているかの確認 演算子を使った確認 集合の演算子 …

インタープリターの入力補完とシンタックスハイライト - Python

インタープリターの入力補完とシンタックスハイライトができたら良いなと思って検索していたら「PtPython」というものを見つけた。 github.com インストールは簡単でpipでインストールするだけ $ pip install ptpython インタープリターの起動は $ ptpython …

forでindexと要素を取得する enumerate() - Python

forで要素とその要素のインデックス番号を取得したいときにはenumerate()関数を使う。 >>> for i, fruit in enumerate(['apple', 'banana', 'peach']): ... i, fruit ... (0, 'apple') (1, 'banana') (2, 'peach') 受け取る側の1つ目の変数にインデックス番…

03. 円周率

"Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."という文を単語に分解し,各単語の(アルファベットの)文字数を先頭から出現順に並べたリストを作成せよ. >>> s = 'Now I need a drink, alcoholic of …

文字列の先頭と末尾から指定した文字を取り除く - Python

Pythonで文字列の先頭と末尾から指定した文字を取り除いくにはstrのstrip()メソッドを使う。 >>> s2 = 'google.com' >>> s2.strip('gm') 'oogle.co' >>> s2.strip('gmo') 'le.c' 先頭と末尾から取り除くため、中間にあるものは取り除かれない。また、引数に…

文字列を指定の文字で分割する - Python

文字列の分割にはstrのsplit()メソッドを使う。 >>> s='I like Python!' >>> s.split() ['I', 'like', 'Python!'] split()の引数に何も渡さないと、空白文字で分割される。Pythonでの空白文字とは「スペース、タブ、改行 (linefeed) および復帰 (carriage-re…

02. 「パトカー」+「タクシー」=「パタトクカシーー」

「パトカー」+「タクシー」の文字を先頭から交互に連結して文字列「パタトクカシーー」を得よ. 2017/10/18 の答え s1 = 'パトカー' s2 = 'タクシー' pataxList = list() for patr, taxi in zip(list(s1), list(s2)): pataxList.append(patr) pataxList.app…

zip()を使った反復処理 - Python

Pythonにはzip()関数がある。 これは複数のシーケンスを並行して処理をするときに使える。 例)forで使う。 >>> days = ['月曜日', '火曜日', '水曜日'] >>> fruits = ['バナナ', 'オレンジ', 'ピーチ'] >>> drinks = ['コーヒー', 'お茶', 'ビール'] >>> de…

01. 「パタトクカシーー」

「パタトクカシーー」という文字列の1,3,5,7文字目を取り出して連結した文字列を得よ. >>> s = 'パタトクカシーー' >>> s[::2] 'パトカー' スライスを使うことで文字列の一部を取り出すことができる。 スライスについてはこちらにまとめました。

スライス - Python

Pythonでの文字列の一部を取得したいときにはスライスという機能を使う。 スライスは[start:end:step]となっている。また、startとendはオフセット(0から)となっていることに注意する。オフセットは先頭から右に向かって0, 1, ...となり、末尾から左に向かっ…

言語処理100本ノック 2015

Pythonでやっていこうと思います? 第1章: 準備運動 00. 文字列の逆順 01. 「パタトクカシーー」 02. 「パトカー」+「タクシー」=「パタトクカシーー」 03. 円周率 04. 元素記号 05. n-gram 06. 集合 07. テンプレートによる文生成 08. 暗号文 言語処理100…

00. 文字列の逆順

文字列"stressed"の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ. Pythonでやります 続けていきたいです。といって3日坊主にならないようにしたい。 >>> s = 'stressed' >>> s[::-1] 'desserts' スライスの機能を使うことでできました。(結構…

PEP8のインデント記述 - メモ

pep8-ja 1.0 ドキュメントのソースをそのまま記載しているだけです。 良い例 # 開き括弧に揃える foo = long_function_name(var_one, var_two, var_three, var_four) # この行とそれ以外を区別するため、インデントを加える場合 def long_function_name( var…

PythonでSlackにメッセージを送信する

SlackのIncomingWebHookを使ってPythonからメッセージを送信してみる。 ここの「incoming webhook integration」でメッセージを送信したいチャンネルのURLを取得する。 取得したURLに対してPOST送信すればメッセージ送信ができる。POST送信はrequestsを使っ…

ファイルを読み込み(と書き込み)

ファイルの読み書きにはopen()を使う。 第一引数には対象のファイルのパス、第二引数にはモードを指定する。 第二引数について 引数 モード r 読み取り w 書き込み a 追加書き込み 読み込みを行う場合 >>> with open('/Users/tamago324/test.txt', r) as f: …

文字の空白を取り除く

str.strip()を使う。 >>> 'abc '.strip() 'abc' >>> ' aab '.strip() 'aab' 前後の空白を取り除く。 参考文献 文字列の前後の空白を削除するには (strip / trim) | hydroculのメモ

intを指定した桁でゼロ埋めする

Pythonでintの値を0埋めする方法。 色々方法はあるらしい。3つだけ紹介(ほぼ同じだけど)。 f-stringの書き方も追記(2018/03/29) >>> '{0:02d}'.format(1) '01' >>> '{:02d}'.format(1) '01' >>> '{:02}'.format(1) '01' str.formatについてはこちらのサイト…