ひよっこ。

I want to…

    広告
  • つぶやき。。。

    • 間違って違うワークスペースでヘルプを出してしまった。怖... 19 hours ago
    • うーん、notificationなどで利用するComponent内で限定した(Reactで言う)stateを持ちたいんだけど...。素直にhyperappのstateで保持するか。 1 day ago
    • ふと気になって調べてみたら、ESNextの OptionalChainingはstage1にはいるのか。 github.com/tc39/proposal-… 2 days ago
    • @JorgeBucaran ありがとうございます。ちょっと試してみます。ondestroyのログは取れてたので、 > This event is not called in its child elements. が原因かなと思ってました。 2 days ago
    • SlackってNGOや教育割り引きあったのか。おおよそ85%オフとのこと get.slack.help/hc/ja/articles… 2 days ago
  • archive

  • ジャンル

  • tag

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人のブロガーが「いいね」をつけました。