wiki:Pythonの短いソースコード集

Version 93 (modified by nakiki, 13 years ago) (diff)

--

Python:コードフラグメント

  • テキストをコピーして、適当なファイル名を作ります。
  • python test.pyのように実行してみてください。
  • 研究課題も記述しておきました。お試しあれ。

ちょっと長すぎるので、複数ページに分離しましょうよ。--sgk

  • ただいま分類中・・ --nakiki

一時的な関数定義

seq1 = ['a', 'b', 'c']
seq2 = ['1', '2', '3']
print map(lambda x,y: x+y, seq1, seq2)
  • defで関数を定義しなくても簡単なものなら埋め込める。

区切りで文字分割

import string

s = '192.168.1.1'
a = string.split(s, '.')
print a

時刻の表示

import time

print time.strftime("%Y%m%d%H%M%S ", time.localtime())

商と余り

(a, r) = divmod(13, 5)
print a
print r

ランダム

import random

v = []
v +=  [random.randint(0, 99)]
v +=  [random.randint(0, 99)]
v +=  [random.randint(0, 99)]
v +=  [random.randint(0, 99)]
v +=  [random.randint(0, 99)]
print v
  • randintは二つめの引数の値を含む範囲の乱数を作ります。Pythonっぽくない。最近はrandrangeってのがあって、こっちを使う方がわかりやすいですよ。--sgk

メッセージダイジェスト

import sha

md = sha.new()
str = 'test messsage' * 100
md.update(str)
n = md.digest()
print (n,)
  • ビット数が長いshaの160bitを使ったほうが安全です。

基底クラスの呼び出し

class ServerProxy(xmlrpclib.ServerProxy):
  def __init__(self, addr):
    t = MyTCPTransport()
    xmlrpclib.ServerProxy.__init__(self, addr, t)
  • Pythonでは基底クラスのコンストラクタは自動的には呼び出されない。呼び出すのを忘れないように。