ひよっこ。

I want to…

Pythonメモ_その1

Posted by hikaruworld : 2009 12月 25

最近ちょっとしたサーバサイドスクリプトはPythonで書くようになってきたんですが、
毎回同じような事を忘れるのでメモ。

1. サーバの名前解決(要するにnslookup)

# socketをimport
import socket

# ホスト名からIPアドレスを引く場合(正引き)
socket.gethostbyname("localhost")
>>> '127.0.0.1'

# IPアドレスからホスト名を引く場合(逆引き)
socket.gethostbyaddr("127.0.0.1")
>>> ('localhost', [], ['127.0.0.1'])

17.2 socket — 低レベルネットワークインターフェース

2. ループ中のインデックスを取得したい

#ループしたい配列
arys = [1,2,3,4,5]

# for文で対象の配列をenumurate()で囲む
for index, param in enumerate(arys):
	print index, param

#出力結果
>>> 0 1
>>> 1 2
>>> 2 3
>>> 3 4
>>> 4 5

3. 複数の配列をループで一緒にまわす場合

# ループしたい配列
arys1 = [1,2,3,4,5]
arys2 = ["a","b","c","d","e"]

>>> 1 a
>>> 2 b
>>> 3 c
>>> 4 d
>>> 5 e

#zip()で囲んで実行する
for a1, a2 in zip(arys1, arys2):
	print a1, a2

#ちなみにzip自体は、リストのタプルをタプルのリストにする関数
print zip(arys1,arys2)
>>> [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

4. 複数の値を代入

# 値が異なる場合
a, b, c = ("a", "b", 1)

# 値が同じ場合
a = b = c = 1

今日の反省。
1のsocket.gethostbyaddrが見つけれずにsubprocessで書いた後に気がついて、書き直した私。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。