実際の京都市内の住所を例にして、通り名住所の案内文言をたどってみましょう。
例えば、京都市上京区西町。
上京区には郵便番号の異なる3つの西町がありますが、そのうちの1つ、
郵便番号「602-8374」の西町を例にします。
場所はここです。
大きな地図で見る
(郵便番号簿から抜粋)
西町(一条通御前西入、一条通紙屋川東入、一条通天神道西入、一条通御前3丁目西入、一条通御前西入上る、一条通御前西入上る西入、一条通御前西入2丁目、一条通御前西入2丁目上る、一条通御前西入2丁目下る、一条通御前西入2筋目下る、一条通御前西入3丁目、一条通御前西入3丁目上る、一条通御前西入3丁目下る、一条通御前西入3筋目、一条通御前西入下る、一条通御前西入下る3丁目、一条通紙屋川東入上る、一条通紙屋川東入下る、天神道一条上る、天神道一条下る、天神道仁和寺街道上る)の郵便番号
・一条通御前西入(いちじょうどおり おんまえ にしいる)
これは基本形。
一条通という東西の通りと、御前通り(おんまえどおり)という南北の通りの交差点から西側で、一条通りに面している辺り。
東西と南北のどちらの通りを先に言うかというと、建物の入り口が面している通りから始めるのが基本です。この例では、一条通りに面していることになります。
御前通りの「御前」とは何の前かと言うと、北野天満宮、天神様のまん前。
北野天満宮の正面の参道に通じていることが通り名の由来です。
・一条通紙屋川東入(いちじょうどおり かみやがわ ひがしいる)
これも基本形。
一条通という東西の通りと、紙屋川通り(かみやがわどおり)という南北の通りの交差点から東側で、一条通りに面している辺り。
・一条通天神道西入(いちじょうどおり てんじんみち にしいる)
これも基本形。
一条通という東西の通りと、天神道(てんじんみち)という南北の通りの交差点から西側で、一条通りに面している辺り。
通り名は必ずしも「通り」が付くとは限りません。この例のように「道」というものもあります。
天神道は北野天満宮の西側に接する通りです。
続きは次回。
2012年3月29日木曜日
2012年2月1日水曜日
python:ドキュメント作成ツール pydoc(2)
前回に続いてpydocです。(出力例)
1.使用準備
python2.1以降の標準ツールなので、わざわざインストールしなくても、python本体がインストールしてあれば使用可能です。
私はpydoc.pyを実行するバッチファイルを作成し、そのショートカットのアイコンをデスクトップに置いて、このアイコンにチェックしたいpythonファイルをドラッグ&ドロップして実行しています。
ここではこの方法をご紹介します。
テキストファイルに以下の例のように書いて「pydoc.bat」として保存し、そのショートカットのアイコンをデスクトップに置きます。
@echo off
python.exe C:\Python26\Lib\pydoc.py -w %1
pause
マシンによって「pydoc.py」のあるフォルダが異なりますので、2行目には本当に「pydoc.py」があるパスを書きます。
「%1」はコマンドプロンプトでの第1引数のことで、ショートカットのアイコンにドラッグ&ドロップしたファイルのフルパスがセットされます。
パラメータ「-w」でhtml版の説明書を出力することを指定します。
このようにして作成するドキュメントのファイル名は、ソースの拡張子「.py」を「.html」に変えたファイル名になります。
例)c:\python26\user\keisan.py
→ c:\python26\user\keisan.html
2.使用されるコメント文
pydocは、pythonソース、クラスや関数のヘッダ部分のコメントからhtml版使用手引きを作成します。取り出されるコメントは以下とおりです。
・ソースのヘッダ
pythonソースで最初の命令後までの全コメント文が出力されます。
・importしているモジュール名
・クラスや関数のヘッダ
class文やdef文の行と、その前後の命令語との間にあるコメント文が使用されます。
命令語と命令語の間のコメントは出力されません。
・インヘリタンス(クラスの継承)をすると継承元クラスの説明も出力されます。
以上です。
2012年1月29日日曜日
python:ドキュメント作成ツール pydoc(1)
pydocは、pythonソースから説明資料を作成するツールです。
pythonソース、クラス、関数のヘッダ部分のコメントからhtml版使用手引きを作成できます。
出力例)
keisan | index c:\python26\user\keisan.py |
○概要
計算モジュール
○修正履歴
20120102 新規作成
20120130 testクラス追加
Modules | ||||||
|
Classes | ||||||||||
|
Functions | ||
|
上記を作成した元のpythonソースは以下のとおりです。
# -*- encoding=sjis -*-
"""
keisan.py
○概要
計算モジュール
○修正履歴
20120102 新規作成
20120130 testクラス追加
"""
import sys
class test():
"""テスト
Properties
wa: たし算の結果
"""
#コンストラクタ
def __init__(self):
self.wa = 0
def wa(self, L):
self.wa = tasizan(L)
def tasizan(L):
"""たし算
Args:
L: 値のリスト
Returns:
和
Attentions:
値が数値以外の場合、Falseを返却
Samples:
>>> tasizan([1, 2])
3
>>> tasizan(["a", 2])
False
"""
if not isinstance(L, list): return False
for i in L:
if not i.isdigit(): return
return sum(L)
def main():
m = sys.argv[1:] #引数の配列
#関数を直接呼ぶ方法
print "tasizan : ", tasizan(m)
#クラスを使う方法
p = test()
print p.wa(m)
if __name__ == '__main__': main()
次回はpydocをどのように使ったら上記のhtmlドキュメントのできるかをお知らせします。
2012年1月2日月曜日
python:単純バグ発見ツール pychecker(2)
前回でpycheckerの準備ができたので使ってみます。
まず正常な状態のpythonソースをチェックしてみます。
引数の合計を計算するプログラム(keisan.py)です。
# -*- encoding=sjis -*-
import sys
def tasizan(L):
if not isinstance(L, list): return False
return sum(L)
def main():
m = sys.argv[1:]
print "tasizan : ", tasizan(m)
if __name__ == "__main__": main()
正常時のチェック結果
Processing module keisan (C:\Python26\user\keisan.py)...
Warnings...
None
上記を少し変えて警告(warning)が出るようにしてみます。
・2行目で使わないモジュールosをインポートした場合、
「使われていません」とチェックされます。
import sys,os
↓
[system path]\user\keisan.py:2: Imported module (os) not used
・8行目で値設定前のmを参照した場合、
「設定前に使われている変数」とチェックされます。
print m
↓
[system path]\user\keisan.py:8: Variable (m) used before being set
さらに文法ミスをしてみます。
・5行目の行頭でタブキーを余分に打って、インデントがずれている場合、
「予期しないインデント」とチェックされます。
Caught exception importing module keisan:
File "C:\Python26\Lib\site-packages\pychecker\pcmodules.py", line 540, in setupMainCode()
module = imp.load_module(self.moduleName, handle, filename, smt)
IndentationError: unexpected indent (keisan.py, line 5)
Warnings...
[system path]\user/keisan.py:1: NOT PROCESSED UNABLE TO IMPORT
・5行目で命令語を入力ミスした場合、「文法上無効」とチェックされます。
Processing module keisan (C:\Python26\user\keisan.py)...
SyntaxError: invalid syntax (C:\Python26\user\keisan.py, line 5)
rreturn sum(L)
2011年12月27日火曜日
python:単純バグ発見ツール pychecker(1)
pycheckerは、pythonソースコードを解析して単純なバグを見つけるツールです。
構文チェック、タイプミス、値セット前に変数を参照した、などを手軽に見つけることができます。
ロジックチェックのツールではないので、このチェックを通ったからと言って、プログラムが正常動作することが保障されるわけではありませんが、バグ発見にはかなり強力なツールです。
PythonはGoogleで使われている主要なスクリプト言語の1つで、Googleでもpycheckerを勧めています。
スタイルガイドの第1項は、PyCheckerをかけましょう、というところから始まります。
Google Python スタイルガイドの和訳(Kousei Kitahara氏のサイト)
Google Python Style Guide(google公式サイト:英語)
1.ダウンロード
PyCheckeプロジェクト日本語トップページ
にて、「ダウンロード」をクリックします。
私が使用しているバージョンは「0.8.19」です。
2.インストール
ダウンロードしたファイルを展開して、次のコマンドを実行します。
python setup.py install
うまくいかないときは「python install」などでネット検索してください。
pythonの公開ツールではインストールで上記のコマンドを使用することが多いので、きっと対処方法が見つかると思います。
インストールが成功すると、pycheckrはpythonをインストールしたフォルダ内に配置されます。
例)C:\Python26\Lib\site-packages\pychecker
ここにcheker.pyなどが配置されます。
3.使用準備
checker.pyの第1引数にチェックしたいpythonファイルのパスを渡して実行すれば、チェックできます。
私はchcker.pyを実行するバッチファイルを作成し、そのショートカットのアイコンをデスクトップに置いて、このアイコンにチェックしたいpythonファイルをドラッグ&ドロップして実行しています。
ここではこの方法をご紹介します。
テキストファイルに以下の例のように書いて「pythecker.bat」として保存し、そのショートカットのアイコンをデスクトップに置きます。
@echo off
python.exe C:\Python26\Lib\site-packages\pychecker\checker.py %1
pause
マシンによって「checker.py」のあるフォルダが異なりますので、2行目には本当にあるパスを書きます。
「%1」はコマンドプロンプトでの第1引数のことで、ショートカットのアイコンにドラッグ&ドロップしたファイルのフルパスがセットされます。
さてこれで準備ができました。
次回はいよいよpycheckerを使ってみます。
構文チェック、タイプミス、値セット前に変数を参照した、などを手軽に見つけることができます。
ロジックチェックのツールではないので、このチェックを通ったからと言って、プログラムが正常動作することが保障されるわけではありませんが、バグ発見にはかなり強力なツールです。
PythonはGoogleで使われている主要なスクリプト言語の1つで、Googleでもpycheckerを勧めています。
スタイルガイドの第1項は、PyCheckerをかけましょう、というところから始まります。
Google Python スタイルガイドの和訳(Kousei Kitahara氏のサイト)
Google Python Style Guide(google公式サイト:英語)
1.ダウンロード
PyCheckeプロジェクト日本語トップページ
にて、「ダウンロード」をクリックします。
私が使用しているバージョンは「0.8.19」です。
2.インストール
ダウンロードしたファイルを展開して、次のコマンドを実行します。
python setup.py install
うまくいかないときは「python install」などでネット検索してください。
pythonの公開ツールではインストールで上記のコマンドを使用することが多いので、きっと対処方法が見つかると思います。
インストールが成功すると、pycheckrはpythonをインストールしたフォルダ内に配置されます。
例)C:\Python26\Lib\site-packages\pychecker
ここにcheker.pyなどが配置されます。
3.使用準備
checker.pyの第1引数にチェックしたいpythonファイルのパスを渡して実行すれば、チェックできます。
私はchcker.pyを実行するバッチファイルを作成し、そのショートカットのアイコンをデスクトップに置いて、このアイコンにチェックしたいpythonファイルをドラッグ&ドロップして実行しています。
ここではこの方法をご紹介します。
テキストファイルに以下の例のように書いて「pythecker.bat」として保存し、そのショートカットのアイコンをデスクトップに置きます。
@echo off
python.exe C:\Python26\Lib\site-packages\pychecker\checker.py %1
pause
マシンによって「checker.py」のあるフォルダが異なりますので、2行目には本当にあるパスを書きます。
「%1」はコマンドプロンプトでの第1引数のことで、ショートカットのアイコンにドラッグ&ドロップしたファイルのフルパスがセットされます。
さてこれで準備ができました。
次回はいよいよpycheckerを使ってみます。
2011年11月23日水曜日
番地号の表記(7) 文字街区:アルファベット
建物名称を除く日本の正式住所は漢字、ひらがな、カタカナ、数字、「-」(ハイフン)ですべて表記できると思っていませんか。
実はこれらの文字だけでは表記できない正式住所が存在します。
住所のうち「番」に相当する部分(街区符号)が、「アルファベット」という驚きの場所があります。
マンション名にアルファベットを使用していることは普通にありますが、そのような建物名称ではなく、公式住所でアルファベットを使用する住所があります。
大阪府大阪市中央区 上町 A番7号 大槻能楽堂(GoogleMap)
大阪市中央区は1989年2月13日に旧東区と旧南区が合併して誕生した区です。
この上町(うえまち)という町字には「1丁目」と「丁目割りをしていない地域」があります。
1丁目が旧東区で、丁目割りしていない地域が旧南区らしいです。
旧東区には「1丁目1番」があり、旧南区には「1番1号」があり、いずれも省略表記が「1-1」になるため紛らわしいので、丁目なし地域を「2丁目」にする案もあったようですが拒否したという話(伝説?)があります。
ちなみに、旧南区の「1番1号」は「A番1号」になったわけですが、昔のままの番地表記がネットにありました。
セブンイレブン 大阪上町店(セブンイレブンの店舗検索)
大阪府大阪市中央区上町1番1号
機会があれば、書物で由来について裏づけをとってみたいと思っています。
実はこれらの文字だけでは表記できない正式住所が存在します。
住所のうち「番」に相当する部分(街区符号)が、「アルファベット」という驚きの場所があります。
マンション名にアルファベットを使用していることは普通にありますが、そのような建物名称ではなく、公式住所でアルファベットを使用する住所があります。
大阪府大阪市中央区 上町 A番7号 大槻能楽堂(GoogleMap)
大阪市中央区は1989年2月13日に旧東区と旧南区が合併して誕生した区です。
この上町(うえまち)という町字には「1丁目」と「丁目割りをしていない地域」があります。
1丁目が旧東区で、丁目割りしていない地域が旧南区らしいです。
旧東区には「1丁目1番」があり、旧南区には「1番1号」があり、いずれも省略表記が「1-1」になるため紛らわしいので、丁目なし地域を「2丁目」にする案もあったようですが拒否したという話(伝説?)があります。
ちなみに、旧南区の「1番1号」は「A番1号」になったわけですが、昔のままの番地表記がネットにありました。
セブンイレブン 大阪上町店(セブンイレブンの店舗検索)
大阪府大阪市中央区上町1番1号
機会があれば、書物で由来について裏づけをとってみたいと思っています。
2011年10月23日日曜日
番地号の表記(7) 文字街区:漢字+数字
住所のうち「番」に相当する部分(街区符号)が、
「漢字+数字」という表記が大阪市の6つの区にあります。
例を1つずつ挙げます。
・大阪市中央区
大阪高津郵便局(日本郵政の公式サイト)
大阪市中央区道頓堀1-東3-26(GoogleMap)
・大阪市鶴見区
鶴見区在宅サービスセンター(大阪市の公式サイト)
大阪市鶴見区諸口5-浜6-12(GoogleMap)
・大阪市西区
京セラドーム大阪(公式サイト)
大阪市西区千代崎3丁目 中2番 1号(GoogleMap)
・大阪市平野区
ニチイケアセンターかわなべ(ニチイの公式サイト)
大阪市平野区長吉川辺二丁目 北2番 3号(GoogleMap)
・大阪市北区
浪華昆布(公式サイト)
大阪市北区天神橋2丁目北2-20(GoogleMap)
・大阪市淀川区
阪急バス 加島出張所(阪急バスの営業所リスト)
大阪市淀川区加島3丁目 中4番 10号(GoogleMap)
文字街区はまだまだ続きます。
「漢字+数字」という表記が大阪市の6つの区にあります。
例を1つずつ挙げます。
・大阪市中央区
大阪高津郵便局(日本郵政の公式サイト)
大阪市中央区道頓堀1-東3-26(GoogleMap)
・大阪市鶴見区
鶴見区在宅サービスセンター(大阪市の公式サイト)
大阪市鶴見区諸口5-浜6-12(GoogleMap)
・大阪市西区
京セラドーム大阪(公式サイト)
大阪市西区千代崎3丁目 中2番 1号(GoogleMap)
・大阪市平野区
ニチイケアセンターかわなべ(ニチイの公式サイト)
大阪市平野区長吉川辺二丁目 北2番 3号(GoogleMap)
・大阪市北区
浪華昆布(公式サイト)
大阪市北区天神橋2丁目北2-20(GoogleMap)
・大阪市淀川区
阪急バス 加島出張所(阪急バスの営業所リスト)
大阪市淀川区加島3丁目 中4番 10号(GoogleMap)
文字街区はまだまだ続きます。
登録:
投稿 (Atom)