5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Pythonお勉強スレッド __part3__

1 :デフォルトの名無しさん:02/11/10 10:42
日本Pythonユーザ会
http://www.python.jp/Zope/
www.python.org
http://www.python.org/
comp.lang.python
http://groups.google.com/groups?hl=ja&lr=&ie=UTF-8&inlang=ja&group=comp.lang.python

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1020718991/

ログや関連リンクは >>2-4

2 :デフォルトの名無しさん:02/11/10 10:42
過去ログ

Pythonお勉強スレッド
1 http://pc.2ch.net/tech/kako/965/965815778.html
2 http://pc3.2ch.net/test/read.cgi/tech/1020718991/

pythonユーザー掲示板
http://mentai.2ch.net/prog/kako/965/965058106.html

アンチ・ネタ雑談は以下のスレで。

人生の敗北者でも使えるPythonのお勉強 Part2
http://pc3.2ch.net/test/read.cgi/tech/1020682294/
【インデント】ぱいそんぱいそん!3【ムネオたん】
http://pc3.2ch.net/test/read.cgi/tech/1036811974/

3 :デフォルトの名無しさん:02/11/10 10:42
関連文書

Python Tutorial 和訳
http://www.zob.ne.jp/~hide-t/comp/python/py21-tut-ja/tut-ja/index.html
Python関連日本語サイト集
http://homepage1.nifty.com/kazuf/pythonlinkj.html
Jython
http://www.jython.org/
KaaEdit
http://www.gembook.jp/html/kaa/

Python 関連の書籍

初めてのPython
http://www.oreilly.co.jp/BOOK/lpython/
Python 入門
http://www.oreilly.co.jp/BOOK/python/
Pythonプログラミング
http://www.oreilly.co.jp/BOOK/pythonp/
Pythonデスクトップ リファレンス
http://www.oreilly.co.jp/BOOK/pythondr/
Pythonで学ぶプログラム作法
http://www.pearsoned.co.jp/washo/prog/wa_pro45-j.html
Pythonテクニカルリファレンス
http://www.pearsoned.co.jp/washo/prog/wa_pro29-j.html

4 :デフォルトの名無しさん:02/11/10 10:46
4?

5 :デフォルトの名無しさん:02/11/10 10:55
重複?

6 :デフォルトの名無しさん:02/11/10 11:01
>>1
削除依頼出しとけよ

7 :デフォルトの名無しさん:02/11/10 13:30
ここが本スレですか?

8 :デフォルトの名無しさん:02/11/10 14:07
ここは重複スレです。削除されるまでは沈めておくように。

9 :デフォルトの名無しさん:02/11/13 23:43
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ぱいそんage!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< GUIDOage!!! http://www.python.org/~guido/images/license.jpg
ぱいそん〜〜〜!   >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /


10 :デフォルトの名無しさん:02/11/15 15:41
キタ━━━━━━(゚∀゚)━━━━━━!!!!

11 :デフォルトの名無しさん:02/11/18 17:33
age

12 :デフォルトの名無しさん:02/11/18 20:43
formPimってなに?

13 :デフォルトの名無しさん:02/11/19 05:17
がぶり

14 :デフォルトの名無しさん:02/11/27 00:54
d = {"tech":"ム板","prog":"マ板","linux":"ぃぬ","unix":"うに","game":"PCゲー",}
みたいなdictionaryをkeyのアルファベット順に
二つ折りにしたい(a-mとn-z)時ってどうしますか?
keys = d.keys();keys.append("n");keys.sort(); (n,m) = keys[:keys.index("n")],keys[keys.index("n")+1:]
みたいな方法はヘボい気がして。クールな方法教えてくだちい。


15 :>>14:02/11/27 21:35
スレタイに反して実はここは本スレじゃないんだが、一応答えてみる。

エレガントかどうかは知らんが、俺ならこんなかんじ(2.2以降用)。
ちなみにpredに一見無駄な引数をとらせてるのは、汎用性のため
(keyじゃなくvalueで分割したいこともあるかも)と理解してちょ。

def dictdiv(pred, dic):
  m, n = {}, {}
  for k, v in dic.iteritems():
    if pred(k, v):
      m[k] = v
    else:
      n[k] = v
  return m, n

d = {"tech":"ム板", "prog":"マ板", "linux":"ぃぬ", "unix":"うに", "game":"PCゲー"}
m, n = dictdiv(lambda k, v: k < 'n', d)

16 :初心者:02/11/29 01:54
vpythonについてのお勉強サイトってありませんか?

17 :デフォルトの名無しさん:02/11/29 09:54
>>14

filter(lambda k: k < 'n', d.keys()), filter(lambda k: k >= 'n', d.keys())
か、
[k for k in d.keys() if k < 'n'], [k for k in d.keys() if k >= 'n']

かなぁ。

18 :デフォルトの名無しさん:02/11/29 10:52
>>17
list comprehension カコイイ!
Cockbook 買うまで使ったことナカータよ。

19 :超究極最高初心者mk-II:02/11/29 21:13
>>16
初心者は良くないよ。


20 :デフォルトの名無しさん:02/11/29 22:51
>>19
Pythonは初心者には向いてないってことでつか?

21 :初心者:02/11/30 03:34
PILをいれたいんだが、Imaging-1.1.3.tarを落とせたのはいいが、こっから先がわからない。
ちなみにOSはwindowsでpythonのバージョンは2.2です

22 :デフォルトの名無しさん:02/11/30 04:16
まずそのtar玉を展開しろ。

23 :初心者:02/11/30 04:45
デスクトップ上に展開したんですけど、その中にsetup.pyがでてきました。
しかしこれをダブルクリックで起動してもPILが導入されてないようで、PILを使ったプログラムが動きません。

本当にどうしたらいいのかわかりません…
どうか教えてください



24 :デフォルトの名無しさん:02/11/30 06:05
バイナリじゃダメなの?
http://www.pythonware.com/products/pil/

25 :デフォルトの名無しさん:02/11/30 12:38
このスレは削除依頼済みです。
これ以上書き込まないでください。

26 :デフォルトの名無しさん:02/11/30 17:32
>>25
いいじゃないか。すきなだけ書き込ませてくれ。


27 :名称未設定:02/11/30 18:09
>>23
Terminal(Winの場合はDOSプロンプト?)で
python setup.py install


28 :名称未設定:02/11/30 18:10
>>20
そういう意味でないのでは?
初心者ってのが何の初心者なのか不明だからね。
pythonの初心者なのか、人生の初心者なのか、、人間の初心者なのか(w

29 :デフォルトの名無しさん:02/12/01 07:59
>>27

setup.pyって使いにくい。なんであんなものを使うのかわからん。
外国では、日本のRubyみたいなもの?


30 :デフォルトの名無しさん:02/12/01 08:08
>>29
./configure; make; make install よりは、分かりやすいけど。
Ruby なんかだと、どんな風になってるんだろ。

31 :デフォルトの名無しさん:02/12/01 09:16
>>30
青木さん作による install.rb というのがありますです。

32 :デフォルトの名無しさん:02/12/01 10:04
>>29
setup.pyって使ったことないんだけど、どんな感じ?


33 :デフォルトの名無しさん:02/12/01 12:45
>>30

./configureみたいに設定するときは、setup.pyをいじらなければならないのが辛い。
フツーに出来ませんか?あと、もっと細かく設定したいのですが…。


34 :初心者:02/12/02 01:49
pythonでCみたいに1次元配列や2次元配列って使えるの?
なんか本みたけど載ってない…

35 :初心者:02/12/02 02:17
pythonでCみたいな1次元配列やら2次元配列とか組めるの?
やっぱリストがCでいうところの1次元配列になるのかな?

36 :初心者:02/12/02 02:18
あー!!!!
すいません。二重カキコになってる…

37 :デフォルトの名無しさん:02/12/02 03:30
リストはアクセスが O(1) なんだから事実上、配列だろうよ。


38 :デフォルトの名無しさん:02/12/02 03:32
タプルをキーとしたディクショナリを使ったり、、、<2次元配列

d = {}
d.get((x.y),DEFAULT) #DEFAULTを返す
d[(x,y)] = "hoge"
d.get((x,y),DEFAULT) #"hoge"を返す

何かの値(DEFAULT)で平面全体を初期化するなら

d = {}
for x in range(100):
 for y in range(100):
  d[(x,y)] = DEFAULT

リストを使いたいなら前スレでがいしゅつの

L = [[0]*3]*2
print L #[[0, 0, 0], [0, 0, 0]]
L[0][1] = 1
print L #[[0, 1, 0], [0, 1, 0]]

L = []
for i in range(2):
 L.append([0]*3)
print L #[[0, 0, 0], [0, 0, 0]]
L[0][1] = 1
print L #[[0, 1, 0], [0, 0, 0]]

みたいな罠がある。

#科学計算とかゲームとかで2次元配列を使うつもりなら
#それ専用のライブラリを探した方が良いです。

39 :初心者:02/12/02 05:25
>>38
 レスさんくすです。
 なるほど、リストを入れ子して無理やり二次元配列に見せかけるってのが一番ベターなのかも…

 また

for x in range(100):
 for y in range(100):

 のやり方はびっくりしました。ずっと

for x in [1,2,3]

 みたいな感じにしかforの使い方を知らなかったので、いい勉強になりました
 やっぱ本だけじゃだめだなぁ…

PS.
 今使っているのは「はじめてのpython」です。「pythonプログラミング」もありますが、難しくて使いこなせてません…




40 :名称未設定:02/12/02 06:36
>>39
本だけでなくサンプルコード読んだ方がよい。


41 :デフォルトの名無しさん:02/12/02 07:57
>>38-39
lst = [[0 for col in range(3)] for row in range(2)]
みたいなやり方で初期化する方法もある。

>>> lst = [[0 for col in range(3)] for row in range(2)]
>>> lst
[[0, 0, 0], [0, 0, 0]]
>>> lst[0][1] = 1
>>> lst
[[0, 1, 0], [0, 0, 0]]

42 :デフォルトの名無しさん:02/12/02 12:21
>>37
>リストはアクセスが O(1) なんだから事実上、配列だろうよ。
マジで言ってるの?

43 :初心者:02/12/02 13:32
>>40
サンプルソースはpythonに付属しているDemoを見れば一番いいのでしょうか?

できたら日本語で解説してあるサンプルソースが豊富にあるところってないものでしょうか?

>>41
 初期化の方法サンクスです。
 やはり人に教えてもらうのが一番わかりやすい…

44 :デフォルトの名無しさん:02/12/02 13:51
リストはO(n)だろ

45 :デフォルトの名無しさん:02/12/02 14:17
>>44
一般的にいうリンクリストはO(n)だけど、
Pythonのデータ型のリストはO(1)で
アクセスできるような実装ってコトだよ。

名前がかぶってるからややこしくなる。

46 :デフォルトの名無しさん:02/12/02 19:57
>>45 どういう実装か解説キボン

47 :デフォルトの名無しさん:02/12/02 21:01
ファイルが存在するかどうかを調べて,存在する場合としない場合で
別々の処理をしてみたいんですがどうやればいいのか今一わかりません。

色々調べた結果,ファイルが存在するかどうかは os.access を使えば
いいということだけはわかりました。プログラム言語? を使うのは初めて
なのであらゆるすべてがサッパリです。くだらない質問かもしれないです
が教えてもらえませんか? UNIX ではなく Windows で使ってます。

48 :デフォルトの名無しさん:02/12/02 21:54
pythonなんてだめだめ!ruby最強!ruby最強!ruby最強!ruby最強!
ruby最強!ruby最強!ruby最強!ruby最強!ruby最強!
ruby最強!ruby最強!ruby最強!ruby最強!ruby最強!
ruby最強!ruby最強!ruby最強!ruby最強!ruby最強!

49 :デフォルトの名無しさん:02/12/02 22:33
>>47
import os
file = "filename"
if os.access(file, 0):
print "exist"
else:
print "not exist"


50 :デフォルトの名無しさん:02/12/02 22:47
最強はVB

51 :デフォルトの名無しさん:02/12/02 22:54
>>49
ありがとうございます。さっそく試してみます。

52 :デフォルトの名無しさん:02/12/02 22:57
C++さいきょー

53 :デフォルトの名無しさん:02/12/02 23:30
うるせえよ、この厨どもが

54 :デフォルトの名無しさん:02/12/03 00:36
>>47
>ファイルが存在するかどうかを調べて,
os.path.isfile も使えます。(ディレクトリなら os.path.isdir)

55 :名称未設定:02/12/03 07:02
>>43
最初にみるのはDemoとかToolとかのスクリプトですね。
あと日本語のサンプルはあまりないです。

英語であれば
http://aspn.activestate.com/ASPN/Python/Cookbook/

http://www.vex.net/parnassus/
からたどれば大量にあります。



56 :デフォルトの名無しさん:02/12/03 12:21
VB 最強!!

57 :デフォルトの名無しさん:02/12/03 21:45
>>55

前者は初心者にはちょっとお進めしにくい。
Python Cook Bookもいいけど、実践的なのと離れていて(まぁしょうがないが…)
初心者の人がサンプルとして見るんだったら、ちゃんと使えるの見たほうがいい。
(そういう意味では前者のがいい)お薦めは、getmailかなぁ。


58 :デフォルトの名無しさん:02/12/04 00:08
>>46
Objects/listobject.cを見ればわかるが、
PythonのリストはCソースでは配列として実装されてる。
インデックスで参照する際はO(1)。
len()もO(1)。
要素の挿入は最悪O(N)。(ただしNは要素長)
末尾に対する結合はrealloc()していてO(1)。

59 :デフォルトの名無しさん:02/12/04 00:55
質問させてください。

実は今リスト処理に困っています。
例えば
 
 ['2get','3','4']

というリストを

 ['2','get','3','4']

と数字と文字を分割したのですが、splitだとどうしても部分文字列になってしまいます
(出力結果:[['2','g','e','t'],'3','4'])
 
また下のようにスライスを使ってみたのですがうまくいきません(当然かもしれませんが…)

test= ['2get','3','4']
test[0]=test[0][0]+' '+test[0][1:]

どなたかアドバイスをお願いします!

60 :デフォルトの名無しさん:02/12/04 01:10
何がしたいのか良くわかんないけど、
test=["2get","3","4"]
test[0:1]=[l[0][0],l[0][1:]]
これで良い?
ググるなら”スライスへの代入”でぜひ。

61 :デフォルトの名無しさん:02/12/04 01:11
鬱だ。。。。
test=["2get","3","4"]
test[0:1]=[test[0][0],test[0][1:]]

62 :デフォルトの名無しさん:02/12/04 01:23
しかも”スライスへの代入”でゲゲっても全然HITしないね。。
俺が悪かったよ。。

63 :デフォルトの名無しさん:02/12/04 02:03
>>66
 ありがとうございます!
 助かりました!

 

64 :初心者:02/12/04 02:19
1つの文字をアルファベットか数字かを見分ける関数っていうのはあるんでしょうか?

65 :>>64:02/12/04 03:40
'a'.isalpha()
'1'.isdigit()
つーか「>>> help(type(''))」ぐらい汁!

66 :デフォルトの名無しさん:02/12/04 06:59
メソッドの中から、上位クラスの同名メソッドを呼び出すのは
どう書けばいいのでしょうか?
Rubyでいうところのsuper()、CLOSでいうところのcall-next-method
をしたいのです。
一応、ParentClass.foobar(self, args) のようにすれば呼べるよ
うですが、selfを引数に書くのはダサイと思うので、もっといい書
き方が用意されているのではないかと思うのですが。


67 :デフォルトの名無しさん:02/12/04 13:54
>Rubyでいうところのsuper()
これって多重継承したときとか、どう動くの?

68 :デフォルトの名無しさん:02/12/04 14:28
>>67
多重継承はないけど、moduleをincludeしたときはそのクラスのすぐ上に入る。

module M; def foo; puts "M"; super; end; end
class B; def foo; puts "B"; end; end
class C < B; include M; def foo; puts "C"; super; end; end
C.new.foo # => C M B



69 :デフォルトの名無しさん:02/12/04 15:57
>>66-68
俺の知る限りではpythonにそう言うのは無い。
unboundで、かつ値を返さないメソッドであれば次みたいにできる。
-----------------------
def super(self,meth):
 for par in self.__class__.__bases__:
  try:
   eval(par.__name__ +"()" + "." + meth + "()")
  except AttributeErrpr:pass

class A:
 def hoge(self):
  print "hoge"
class B(A):pass
class C:
 def hoge(self):
  print "moge"
class D(B,C):
 def hoge(self):
  super(self,"hoge")

d = D()
d.hoge()
----------------------
誰かフォローきぼんぬ

70 :デフォルトの名無しさん:02/12/04 17:40
>>69
> class D(B,C):
>  def hoge(self):
>   super(self,"hoge")
>>66の「selfを引数に書きたくない」という要望には合わないと思うんだが。

71 :デフォルトの名無しさん:02/12/04 17:48
だから無理だって。

72 :デフォルトの名無しさん:02/12/04 18:50
>>69
2.2以降なら組み込みのsuper()があるわけだが。

・・・しかしドキュメントは殆どない、と(藁

メソッド内で
super(self.__class__, self).method(arg)
とかする(結局selfは書くが)。

http://python.org/2.2.2/descrintro.html#cooperation
http://python.org/doc/2.2.1/whatsnew/sect-rellinks.html#SECTION000330000000000000000
を参照(つーかぶっちゃけコレ位しかドキュメントねーし)。

2.2が出たときに、「syntaxが醜いから、後でsyntax suger用意するよん」
とか言ってたけど、2.3にはそんな予定はない模様。

73 :デフォルトの名無しさん:02/12/05 00:47
>>69
def super(self,meth):
 for par in self.__class__.__bases__:
  try:
   eval(par.__name__ + "." + meth + "(self)")
  except AttributeError:pass

これでbound methodも動かない?試してないけど。

74 :デフォルトの名無しさん:02/12/05 01:10
小数点で桁数を増やすことは出来ますか?
近似値の精度を比べたいときに、すぐ限界に達してしまって違いがわからなくなってしまいます。

75 :66:02/12/05 01:14
>>69-72
そんなものはない、ということで了解しました。
あるに違いないと勝手に思っていたのですが、
そういうこともあるんですね。

組み込みのsuper()のsyntaxの改善を待つことにします。



76 :デフォルトの名無しさん:02/12/05 01:31
>ParentClass.foobar(self, args)
これじゃだめなん?
結局、
class foo(bar,baz):
 def __init__(self,a,b,c,d):
  bar.__init__(self,a,b)
  baz.__init__(self,c,d)
みたいなことはsuper()じゃできないと思うんだけど。

77 :デフォルトの名無しさん:02/12/06 03:52
質問です。

オープンするファイル("test.txt")が例えば 

tanaka 90 katou 80 yamada 70
としたら
file=open("test.txt","r")
file.readline()
file=file.split()

>>>['tanaka','90','katou','80','yamada','70']

になりますよね。
これを
[['tanaka','90'],['katou','80'],['yamada','70']]
上のように部分リストにしたいのですが、方法がよくわかりません…

すいませんがよろしくお願いします。

78 :>>77:02/12/06 04:39
>>> n = ['tanaka','90','katou','80','yamada','70']
>>> zip([n[i] for i in range(len(n)) if i % 2 == 0], [n[j] for j in range(len(n)) if j % 2 == 1])1])

79 :78:02/12/06 04:53
くぉ、余計な字が。
最期の「1])」は削除で。

80 :デフォルトの名無しさん:02/12/06 05:09
http://www.reportlab.com/
ここの右の画像クリック。
http://www.reportlab.com/contrib/jmed.pdf

ナナシサソ is using our PDF library to create medical reports complete with images
and Japanese language text.
なんだそうです。
いきなり日本語が表示されていて、あせった。

81 :デフォルトの名無しさん:02/12/06 11:53
>>80
http://www.python.jp/pipermail/python-ml-jp/2002-April/001354.html

82 :デフォルトの名無しさん:02/12/06 19:47
test

83 :デフォルトの名無しさん:02/12/07 04:32
PIL関連について質問。
画像ファイルをインポートしてそれのRGB値をとるんだけど
(作業しやすいようにTK使ってる)

import PIL.Image
import tkFileDialog

filename = ()
im =()

filename = tkFileDialog.askopenfilename()
if filename != "":
im = PIL.Image.open(filename)
print im.format, im.size, im.mode
im.thumbnail((256,256))
r,g,b = im.split()
print r,g,b

RGBの出力結果が
<PIL.Image.Image instance at 0x01A5EC00> <PIL.Image.Image instance at 0x01A60F10> <PIL.Image.Image instance at 0x01A60390>
になる。てっきり0〜255の値だと思っていた。

0x01A5EC00 からわかるとおり16進数なんだけど、これをどうやったらRGBの0〜255の値に変換できるんだろう…


84 :デフォルトの名無しさん:02/12/07 05:44
>>83
<PIL.Image.Image instance at 0x01A5EC00> から分かるとおり、
r は、Image オブジェクトを参照してるんだけど。
試してないけど、こんな感じかな。
a = array.array('B')
r_array = a.fromstring(r.tostring())

85 :デフォルトの名無しさん:02/12/07 15:21
Hostsentry使ったことある人いないすか?
FreeBSDで動かそうにも起動メッセージが表示されなくて
誰か教えて下さい!

86 :デフォルトの名無しさん:02/12/08 17:55
このページ ( http://www.unixuser.org/~euske/doc/python/python-lisp-j.html ) にある
x.slot = y
ってなんですか?
slot を探しても見つからなかったのですが。

87 :デフォルトの名無しさん:02/12/08 18:58
hogeのことかと。

88 :デフォルトの名無しさん:02/12/08 23:05
なぜsageで質問を?

slot というのはオブジェクトのスロットのことでしょ。
別のよく知られた方言でいうとメンバ変数。

「メンバ変数 "slot" にアクセスしたいときは x.slot と書く」という意味。


89 :デフォルトの名無しさん:02/12/09 04:46
Windows上でクリップボードにアクセスするには,
どうすればいいんでしょうか?

MacPythonではScrapとかいうのを使用してるようですが,
Windows用のPythonにも同じようなものがあるんでしょうか?


90 :デフォルトの名無しさん:02/12/09 11:07
>>89
重複糞スレageるな

91 :デフォルトの名無しさん:02/12/09 13:37
あっ、スレ奉行様だ!


92 :デフォルトの名無しさん:02/12/09 18:03
>>88
「メンバ変数 」のことでしたか。
slot という表現はPython で一般的な表現ですか?
それとも lisp 系の方言なのですか?

93 :デフォルトの名無しさん:02/12/09 18:20
みなのもの、控えーい
重複スレッドだからこれ以上書き込むでない
いや、マジで

94 :デフォルトの名無しさん:02/12/10 16:10
AGE

95 :デフォルトの名無しさん:02/12/10 16:11
  .,,
   \ヽ--___
    \   丶---ヽ___
     .゙\ ク      ~~>     クソスレに認定されました
      \   ソ   /
       .\     ノ
         \  /
          .\/
           .\
            \
             .\
              ,,\
              .″ ゙》
            __., イ,, 》li,_
          ill! i;l;lllllz,lll;lllllll;lllllly
          .:llllllll;llllllllllll;;ll;||llllllllll}
          .il||l|lllllllllllllll|《lllll|lly《アlz     .、  zz,、
          ._ノレ;llllllll|;llllllliilllllllllllllllllllllyuyll;ミミ″ .''゙゙∨
         」lllllllllllllllllllllllllllllllllllllllllll   ゙巛,厶yyv》llll!
        {lllllllll厂lllllllll|》lllllllllllllllly、   ,illllllllllllllllli;;ll|y         .、.,,_
        《;|《llllll;lllli;llllllll;|lllllllllllllllllll|lli. .zllllllll;《lll|《lllllllllllllllizy,lllz.  _yyyyr|》
,u,,_       .rlllllllllllllllllllllllllllllll厂リllllリlll!,」llllll「リll;lllllll;;llllllllllllllllllll;||lllllllllllllll;lllllllll
l;lll;l;yu.,,lllz:.;..:villlllllllllllllllllll|》llllllll| uilllll|illlllノ|ll|゙」zyllllll;ll|;lllllllllll;l|リllllllllllll;llllllllllllllllllll
lll|!illlllllllll|ll|i;llllllllllllllllllllllllllllilllllllllllllllllllllllllllllll|lllll|,|lllllllllllllll|》;ll《|「.vuilllll|《liiilll|フ《llllllll
lllllllllllllllllllllllll|《lllllllllll;;llllllllllllllll;llllllllllllllllllllll|)|《;lllllllllllllllllllllllllllllllll;lll;lllll;》([;lllllllllllllllllll

96 :デフォルトの名無しさん:02/12/10 16:14
  .,,
   \ヽ--___
    \   丶---ヽ___
     .゙\ ク      ~~>     クソスレに認定されました
      \   ソ   /
       .\     ノ
         \  /
          .\/
           .\
            \
             .\
              ,,\
              .″ ゙》
            __., イ,, 》li,_
          ill! i;l;lllllz,lll;lllllll;lllllly
          .:llllllll;llllllllllll;;ll;||llllllllll}
(省略されました・・全てを読むにはここを押してください)

97 :デフォルトの名無しさん:02/12/16 15:29
ここまだ書きこめる?

98 :デフォルトの名無しさん:02/12/18 11:23
まだまだ。


99 :初心者:02/12/19 02:38
お久しぶりです。

また質問です。それも簡単な割り算の質問ですいません…
pythonでは割り算をした時、結果の答えで小数点以下は切り捨てになります。
小数点を切り捨てられずに結果を得る方法はありませんか?

a=1
b=2
c=a/b
print c # 0.5が欲しいのに、0と出力されてしまう…

本などを見て、

c=float(a/b)
としてみても、やはり結果は同じでした…

100 :デフォルトの名無しさん:02/12/19 02:47
>>99
> a=1
> b=2
> c=a/b
> print c # 0.5が欲しいのに、0と出力されてしまう…
> 本などを見て、
> c=float(a/b)
> としてみても、やはり結果は同じでした…

>>> a = 1
>>> b = 2
>>> a = float(a)
>>> c = a/b
>>> c
0.5

あるいは、

>>> a = 1
>>> b = 2
>>> c = float(a)/b
>>> c
0.5

101 :デフォルトの名無しさん:02/12/19 02:49
c=float(a)/b

102 :101:02/12/19 02:53
なんか、2分遅れただけで、
すげー虚しいな・・・

ついでに、
>>> c = a/float(b)
>>> print c
0.5

でも、いける。

103 :初心者:02/12/19 02:59
す、すいません、

1を1.0に、2を2.0にすればいけるようです。
でもこれ面倒だな…。特に面倒なのはユーザーから値を受け取った時に、わざわざ『.0』を付け直さなきゃならないってことでしょうか
(質問の内容を変えて)何かイイ関数ってないものなんでしょうか?

104 :名称未設定:02/12/19 08:09
>>103
from __future__ import division
って打ったあと除算してみて。
整数同士の演算でも小数点以下まで計算される。

除算の演算子はPython2.2以上では二つある。
/ と //
しらべてみて。


105 :デフォルトの名無しさん:02/12/23 03:35
Tkinterの和訳チュートリアルってないんでしょうか?
Programming Language Python というサイトにあるらしいのですが、行ってみたらデリってたみたいで行けません。

↓Programming Language Python
http://galaga.jaist.ac.jp:8000/~mfujisa/python/index-jp.html


106 :デフォルトの名無しさん:02/12/23 05:45
pythonやvpythonで作られた3Dのturtle graphicsってないですか?
海外のMLを調べたら「ずーーーーと前に見た」とあったので、どこかに存在するらしいんですけど…


107 :名称未設定:02/12/25 08:11
>>106
Pythonには標準でturtleってモジュールはいってるけどこれではだめ?
3Dにするのはこのモジュール利用してできんかな。

>>105
今はない。ロストした模様。
英語で読んでもそれほどむずかしくはない。
http://www.pythonware.com/library/tkinter/introduction/index.htm

108 :デフォルトの名無しさん:02/12/29 01:23
Pythonでファイルを移動するにはどうすればいいんですか?
copy や rename は見つけたのですがmoveがどこにあるのかわかりません。

109 :デフォルトの名無しさん:02/12/29 02:17
import os
os.system("mv a b")


110 :デフォルトの名無しさん:02/12/29 02:31
>>108
os.renameで良いんじゃない?
それか>>109の方法で

111 :デフォルトの名無しさん:02/12/29 03:03
>>110
108 じゃないけど、今まで copy をしたあと、 os.remove していた、、、
os.rename でよかったのね、、、

112 :108:02/12/29 03:43
ありがとうございます。
os.rename は2番目の引数がディレクトリだとエラーなので
そのあたりを適切に取り繕ってくれるこんな感じの関数が
どこかに用意されているのなら、使ってないと恥ずかしいかなって思ったんです。
def move(src, dst):
if os.path.isdir(dst):
os.rename(src, dst+'/'+os.path.basename(src))
else:
os.rename(src, dst)


113 :108:02/12/29 03:46
タブが消えてる(;д;)

114 :デフォルトの名無しさん:02/12/30 16:14
ドキュメント和訳Pの成果物って公開されてないの?
昔はtut_jaとかがPyJUGのトップから見れる位置に有った気がするけど。。

115 :デフォルトの名無しさん:02/12/30 17:12
>>114
ある程度まとまった量になったらするんじゃない?
いつまでもしないならプロジェクトへ直接催促。

116 :デフォルトの名無しさん:02/12/30 21:31
催促なんかしやがったら頃すぞ。タコ部屋に放り込んで死ぬまで
翻訳漬けにしてやる。


117 :デフォルトの名無しさん:03/01/01 17:14
http://www.python.org/2.3/
Python 2.3a1 was released on Dec 31, 2002 (in some timezones :-).

118 :デフォルトの名無しさん:03/01/01 17:43
2.3a1ってfrom __future__しなくて良くなった以外に何が変わったの?

119 :デフォルトの名無しさん:03/01/01 18:15
>>118
> 2.3a1ってfrom __future__しなくて良くなった以外に何が変わったの?

What's New in Python 2.3
http://www.python.org/doc/2.3a1/whatsnew/

release notes
http://www.python.org/2.3/NEWS.html


120 :デフォルトの名無しさん:03/01/01 21:31
>>119
日本語に訳せよばか!


121 :デフォルトの名無しさん:03/01/01 22:45
なんだよ!
スクリプトファイルに日本語書いたら変になっちゃったじゃないかよ!
ムネオタン、責任とって説明しれくれさい!


122 :デフォルトの名無しさん:03/01/02 00:12
これいいかも。
Extended slices - the standard sequence types (string, list etc.) now support extended slices.
             Cute: s[::-1] reverses a string.
ていうかどっかで見かけた話題?

123 :デフォルトの名無しさん:03/01/02 10:35
ムネオ短!
はやく教えてよ!
日本語使えないよ!


124 :デフォルトの名無しさん:03/01/02 19:58
はやく!


125 :デフォルトの名無しさん:03/01/02 21:03
まあもちつけ。皆が忘れた頃に遅レスするのがムネオ流だろ。呼んでも無駄だ。
そんなことより喪前の方こそ何がどう変になったのかもっと具体的に説明しる。

126 :デフォルトの名無しさん:03/01/02 22:07
前から気になってたんだけど、
ムネオって誰のことなの?
某MLの鈴○先生が2chに来た事有るとか?

127 :デフォルトの名無しさん:03/01/02 23:44
鈴○先生を応援したい漏れは…。だって、UTF-8 って最近増えてないか?
XML とか Microsoft 関連とか。win32 API なんかで sjis も必要なのは
わかるんだけど…エディタを utf-8 にして出力時にプラットフォームに
応じて変換すれば(面倒なのは認める)そんなに困らないと思うが何か?

128 :デフォルトの名無しさん:03/01/02 23:45
ム、ム、ムネオたーーーーーーーーーん

129 :デフォルトの名無しさん:03/01/03 00:03
>>127
UTF-8 使うこと自体には、別に問題ないと思う。
ムネヲたんがうざがられるのは、
SJIS や EUC なんかが存在しない・需要がない・必要がないかのような前提から、
議論をスタートさせるからではないかと。

130 :デフォルトの名無しさん:03/01/03 12:35
他人の意見を聞かないでひたすら自説まくし立てるだけだから、
そもそも議論が成立しない。

131 :デフォルトの名無しさん:03/01/03 16:48
ムネオ短!!!
はやく教えて!

おらはムネオFANだよ!

お前は敵だ!氏ね>>130


132 :デフォルトの名無しさん:03/01/03 17:56
そこまで言われるとは、一体過去に何があったのか…。
ちょっと python-ml-jp のアーカイブ読んでみようっと。

133 :デフォルトの名無しさん:03/01/03 21:50
読んでみた。なんというか、殺伐としていた。
> SJIS や EUC なんかが存在しない・需要がない・必要がないかのような
そーか? utf-8 イイ! ってだけじゃない?意地の PEP0263 サンプル実装
だって coding 指定ない場合は過去の Python と互換性ありなんでしょ?
みんなそんなに怒らなくてもいいじゃん…。

134 :デフォルトの名無しさん:03/01/03 22:14
>>133
漏れ的に業腹なのは「正統」という言葉の使い方。
自分の主観で勝手に正統とか正統でないとか決めないで欲しい。
知識も技術も見るべきところがたくさんあるのに、実に惜しい。

135 :デフォルトの名無しさん:03/01/03 22:24
漏れは全然気にならないんだけど、気になる人もいるのか。技術的な話以外は
どーせ主観が入るんだからいーじゃーねーか。殺伐とする前に
「ま〜マターリいこうや」とかならないのが ML のつらいところ。

136 :デフォルトの名無しさん:03/01/04 00:14
 ∧ヘ∧∧ヘ∧∧ヘ∧
< ぱいそん〜〜〜!>          |だからスレ違いだっつーの!
 VwVVWvwVwVVW     ┏━∧ ∧└─y─────────
  ∧_∧   ∧_∧__ ┃ (゚Д゚#,)
 ∩ ゚∀゚ ∩ ∩ ゚∀゚ ∩\ ┗ ⊂   ヽ
 ヽ    /  ヽ    /  \===丶| ̄ ̄ ̄|
 | ̄ ̄ ̄|∬∬| ̄ ̄ ̄|  |   (│    │
 | FMV..|旦旦| FMV | ̄\  ⊆|     |
 =======   =======   \

137 :デフォルトの名無しさん:03/01/04 14:07
2.3a1、Windowsバイナリにloggingパッケージ入ってない・・・一番欲しかったのに・・・。
後でソース玉の方見たら入ってたからいいけど。

138 :デフォルトの名無しさん:03/01/04 19:22
>>135
ムネオたん、ハケーン

139 :デフォルトの名無しさん:03/01/04 21:46
おいは断固ムネオ師事!


140 :135:03/01/04 21:46
ちがうって…では証明してみせよう。え、匿名掲示板でそんなことできるの
かって?できるんですよ。この場合はね。
「utf-8 逝ってよし、utf-8 逝ってよし!!」

141 :デフォルトの名無しさん:03/01/04 21:55
おまえらみんな氏ね

142 :デフォルトの名無しさん:03/01/05 01:47
pythonで、httpから何か(たとえばtxt)をダウンロードしたいんで
方法を教えてください。もしくは解説サイトを教えてください。お願いします。

143 :デフォルトの名無しさん:03/01/05 01:55
>>142
1. ライブラリマニュアルを一字一句暗記。
2. 首をつる。
3. 氏ぬ。

144 :デフォルトの名無しさん:03/01/05 02:41
>>142
役立たずの143に代わって漏れがマジレスしてやゅ。

import urllib

file = urllib.urlopen(URL)

とやると URL の内容を普通のファイルオブジェクトと同様に扱える。
http: 以外に ftp: や file: などの URL も指定できる。

おまけ:2ちゃんねるの subject.txt なんかは gzip 圧縮されて届く。
以下のように gzip モジュールを使って展開してやるとよい。

import urllib
import gzip
import StringIO

def open_url(URL):
  file = urllib.urlopen(URL)
  if file.info().get("Content-Encoding") == "gzip":
    file = gzip.GzipFile(fileobj=StringIO.StringIO(file.read()))
  return file

urllib, gzip, StringIO の各モジュールの詳細についてはライブラリ
リファレンスを参照。http://www.python.org/doc/

145 :デフォルトの名無しさん:03/01/05 04:41
144イイヒト!


146 :デフォルトの名無しさん:03/01/05 11:10
>>144
親切にサンクス!!
そそ。冬休み暇だから2ちゃんねるブラウザ作ろうと思ったの。
おまけサンクス!

147 :役立たずの143:03/01/05 11:20
まあそんな調子じゃ完成しないでしょうね。

148 :デフォルトの名無しさん:03/01/05 12:06
>>147
まだいたのか…
そうそう、俺書き込みが困難だってことはなんとなく知ってるから。
それ以外作る。

149 :役立たずの143:03/01/05 12:49
煽って悪かった。期待してるよ。いやマジで。がんがってくれ。

150 :デフォルトの名無しさん:03/01/05 15:51
ぱいそんスレでも、誰かブラウザ作ってるって言ってたよね。
自分も、作ろうかなーなんて思ってるんだけど、コードレビューしてくれます?

151 :デフォルトの名無しさん:03/01/05 16:10
ガンガンUPしる!

152 :1/3:03/01/05 18:38
#!/usr/bin/env python
# http://pc3.2ch.net/test/read.cgi/tech/1036892546/

import getopt
import os
import re
import string
import sys

if os.sep == "/":
  SPACE = "\xa1\xa1" # EUC-JP
else:
  SPACE = "\x81\x40" # Shift_JIS

USAGE = """\
Usage: %s [options] [file ...]
Options:
-t, --tabify convert white space into full-width space (default)
-u, --untabify convert full-width space into white space
-h, --help show this message
"""

def main():
  try:
    options, args = getopt.getopt(sys.argv[1:], "htu", [

153 :2/3:03/01/05 18:38
      "help", "tabify", "untabify"])
  except getopt.error, e:
    sys.stderr.write(str(e) + "\n")
    sys.exit(1)
  convert = tabify
  for opt, val in options:
    if opt in ["-t", "--tabify"]:
      convert = tabify
    elif opt in ["-u", "--untabify"]:
      convert = untabify
    elif opt in ["-h", "--help"]:
      sys.stderr.write(USAGE % os.path.basename(sys.argv[0]))
      sys.exit(0)
  if not args:
    args = ["-"]
  for filename in args:
    try:
      if filename == "-":
        file = sys.stdin
      else:
        file = open(filename)
      while 1:
        line = file.readline()
        if not line:
          break

154 :3/3:03/01/05 18:39
        sys.stdout.write(convert(line))
      if file is not sys.stdin:
        file.close()
    except IOError, e:
      sys.stderr.write(str(e) + "\n")

def tabify(s, re_hankaku=re.compile("^[ \t]+")):
  return re_hankaku.sub(to_zenkaku, s)

def untabify(s, re_zenkaku=re.compile("^(%s)+" % SPACE)):
  return re_zenkaku.sub(to_hankaku, s)

def to_zenkaku(m):
  return string.replace(string.replace(m.group(), "\t", " "), " ", SPACE)

def to_hankaku(m):
  return string.replace(m.group(), SPACE, " ")

if __name__ == "__main__":
  main()

155 :デフォルトの名無しさん:03/01/05 18:41
>>152-154
2chにスクリプトをコピペするとインデントが消えてしまうんで
行頭の空白文字を全角スペースに置換するスクリプトを作ってみた。
よかったら使ってほすぃ。改造、流用、再配布はご自由に。

tabify.py input.py > output.txt コピペ用のテキストに変換
tabify.py -u input.txt > output.py 元のスクリプトに戻す

ちなみに上のコピペは全角スペースに置換されている。
最初だけテキストエディタの置換機能か何かで半角スペースに戻す
必要がある。“unzip.zip”状態でスマソw

156 :155:03/01/05 18:54
ああ、文字列の中の空白文字が1個ずつになってる・・・(´д`;)
   :
  return string.replace(string.replace(m.group(), "\t", " "), " ", SPACE)
   :
  return string.replace(m.group(), SPACE, " ")
   :
最初の " " は半角スペース4個、あとの二つの " " は半角スペース2個でつ。
やっぱ2chにスクリプトのコピペは無謀か。。。=□○_

157 :デフォルトの名無しさん:03/01/05 19:33
>>152
sf なり、フリーのウェブサイトを用意したら?
ここに貼り付けるのではなく。

158 :150:03/01/05 20:06
またーり、おねがいします
http://www.geocities.co.jp/SiliconValley/5174/

159 :デフォルトの名無しさん:03/01/05 20:17
キタ━━━━(゚∀゚)━━━━ッ!!

160 :デフォルトの名無しさん:03/01/05 20:47
>>158
linuxでも動いたよ。
フォント着ちゃないけど。


161 :デフォルトの名無しさん:03/01/05 20:55
Tkinterかぁ、、、
GUI関連で将来は苦労しそう。

162 :デフォルトの名無しさん:03/01/05 21:24
Red Hat Linux 7.3, Python 2.2, Pmw 1.1, JapaneseCodecs 1.4.9, Tcl/Tk 8.3.4
という環境で試しますた。

>>160 フォントはこれできれいになった。AAも完璧!(・∀・)イイ!   font=("MS PGothic",12)
 → font="-mona-gothic-medium-r-normal--14-130-75-75-p-140-jisx0208.1990-0"

   Pmw.ScrolledListBox.__init__( ... )
追加 self._listbox.config(font="k14")

   self.config(relief=Tk.SUNKEN, height=1, anchor=Tk.W)
 → self.config(relief=Tk.SUNKEN, height=1, anchor=Tk.W, font="k14")

それと、漏れの環境ではなぜか insert() するとき明示的に UTF-8 にしてやらないとだめぽ。

   self.insert(Tk.END, category.name)
 → self.insert(Tk.END, category.name.encode("utf-8"))

それぞれ似たような修正点が複数ヶ所あるけど割愛。

163 :デフォルトの名無しさん:03/01/06 11:28
diffしる!


164 :デフォルトの名無しさん:03/01/06 11:43
このスレの連中、キモい

165 :デフォルトの名無しさん:03/01/06 13:36
だれかPmwの良サイトおしえて

166 :デフォルトの名無しさん:03/01/06 13:37
>>162
>漏れの環境(中略)UTF-8
BeOSですか?

167 :デフォルトの名無しさん:03/01/06 13:38
>>165
>>158からたどれるだろ。

168 :デフォルトの名無しさん:03/01/06 21:37
どなたかsubject.txtの落とし方を教えてくだせえ。


169 :162:03/01/06 22:20
>>163
diffだと長かったんで。

>>168
>>144の方法じゃダメなの?

170 :デフォルトの名無しさん:03/01/06 22:29
>>166
赤帽7.3をBeOSと誤読するヤシも珍しいなw

171 :162:03/01/06 23:02
ちょっと訂正。モナフォントは16ドットのものを使う方がいいみたい。
AAのズレがほとんどなくなる。フォント名はコレ↓
-mona-gothic-medium-r-normal--16-150-75-75-p-160-jisx0208.1990-0

ついでにいくつか要望を。

(1) title だけじゃなく iconname も設定してホスィ。

  self.title("KittyWalk")
  self.iconname("KittyWalk") # 追加

(2) コデックは sjis じゃなく ms932 の方がヨサゲ。機種依存文字が〓にならずに済む。

(3) 大型のAAが悲しいことになるので行末の折り返しを無効にできるようにしてホスィ。
漏れはこんな風にしてみた。

class GUI(Tk.Tk):
  def toggle_word_wrap(self): # 追加
    self.message_view.toggle_word_wrap()

class MessageView(Pmw.ScrolledText):
  def toggle_word_wrap(self): # 追加
    if self._textbox["wrap"] == Tk.NONE:
      self._textbox.config(wrap=Tk.WORD)
    else:
      self._textbox.config(wrap=Tk.NONE)

class MenuBar(Tk.Menu):
  def build(self):
    bbsmenu.add_command(label="Toggle word wrap",
      command=self.master.toggle_word_wrap) # 追加

172 :162:03/01/06 23:03
(4) 実体参照は片っ端からUnicodeに直してホスィ。これも実装例を挙げとく。
スレタイトル中の実体参照も同じように変換する必要があると思われ。

  def render_message(self, message):
     :
    # 以下のように変更
    for old, new in [(u"<br>",u"\n"),
             (u"<BR>",u"\n"),
             (u"<a .*?>",u""),
             (u"</a>",u""),
             (u"&#?[A-Za-z0-9]+;", self.replace_entref)]:
      text = re.sub(old, new, text)
  # 以下、追加
  import htmlentitydefs
  entity_dict = {}
  for k, v in htmlentitydefs.entitydefs.items():
    if v[:2] == "&#" and v[-1] == ";":
      v = unichr(int(v[2:-1]))
    else:
      v = unicode(v, "iso-8859-1")
    entity_dict[u"&%s;" % k] = v
  def replace_entref(self, match):
    key = match.group()
    if key[1] == u"#":
      return unichr(int(key[2:-1]))
    return self.entity_dict.get(key, key)

173 :デフォルトの名無しさん:03/01/07 01:36
http://mail.python.org/pipermail/python-list/2003-January/137346.html
Subject: Displaying and Inputting Japanese
わかる人いたら、だれか答えてあげて


174 :デフォルトの名無しさん:03/01/07 02:26
>>173
蟻さん、Martinに撃沈されちゃった?w
彼の口調は相変わらず厳しいなあ。

175 :168:03/01/07 07:19
>>169
いや、肝心のsubject.txtのURLがわからんのでだれか教えてくさい。

176 :デフォルトの名無しさん:03/01/07 07:32
>>175
http://pc3.2ch.net/tech/subject.txt

177 :デフォルトの名無しさん:03/01/07 09:53
http://pc3.2ch.net/tech/dat/1036892546.dat

178 :デフォルトの名無しさん:03/01/07 17:13
>>150
datをダウソするときに必要な量だけダウソするようにしてはどうか?
(CookBookにヒントが載ってる)


179 :150 ◆ismFPlKHko :03/01/07 22:38
>>162
どうもありがとうございます。
ちょこちょこ取り込んでいってまして、これからhtmlentitydefs を調べてみます。
こんなのあったのか。

>>178
要望リストにいれときます。あぼーん記事の判別に苦戦しそうですが。

180 :デフォルトの名無しさん:03/01/07 23:25
>>179
このスレはちゃんと読んだ?

monazilla Part 3
http://pc3.2ch.net/test/read.cgi/tech/1012544484/

181 :150 ◆ismFPlKHko :03/01/07 23:34
>>180
ちゃんと読んでなかったです。

182 :デフォルトの名無しさん:03/01/08 00:20
>>176
ありがと。何とかできそうだよ。ウンコ以下だけど。

183 :162:03/01/08 18:34
kittywalk20030108出たよ。期待してるのでちと辛めのツッコミを。

・True を使ってるから Python 2.3a1 でないとダメポ。仕様?

・~/.kittywalk/config がデフォルト設定で上書きされる。たぶんバグ。

・実体参照の置換処理に re.sub() を使わないのはなぜ?
パフォーマンスが全然違うよ。それと、実体参照の正規表現が
&#?[A-Za-z0-9]+?; になってるけど二つ目の ? は要らなくない?

・んなこた分かってると言われるのを覚悟で書くと、
match = re.search(u"&#?[A-Za-z0-9]+?;", text[start:])
text[start:] のような部分文字列を作る処理は重いのでできるだけ
避けた方がいい。この場合は re.search(regexp, text, start) と書く。

はっきり言って Python は新しい文字列オブジェクトを作る処理が重い。
先回りしとくと text += substring のような処理も同様。部分文字列を
いくつも連結するような処理はリストに append して後で join する方が軽い。

・re.match() や re.search() は呼び出されるたびに正規表現文字列を
コンパイルする。何度も使う正規表現は re.compile() で予めコンパイル
しておく方が効率がよい。

漏れは蛇使いとしては古参の部類に入ると思うんで最近のバージョンの
パフォーマンスの改良には疎い。まあ話半分で聞いてくれ。

184 :デフォルトの名無しさん:03/01/08 19:30
Trueは2.2.2にもあったりする・・・が中身は、
True, False = 1, 0
だったり。
2.3ではちゃんとboolクラスのインスタンスリテラルなんだが。

Pythonバージョンのバージョン調べて(sysモジュールな)
上のコード追加すりゃなんとかなりそうな。

185 :デフォルトの名無しさん:03/01/08 19:42
"&amp;(#([0-9]+|[xX][0-9a-fA-F]+)|[a-fA-F][a-fA-F0-9]*);"
の方が正確だけど複雑すぎるか>実体参照

186 :デフォルトの名無しさん:03/01/08 21:02
LinuxでのPmwのインストールの仕方を教えてください。
マニュアルを見ましたが、よくわかりません。


187 :IP記録実験:03/01/08 21:49
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

188 :デフォルトの名無しさん:03/01/08 22:40
>>186
cd /usr/lib/python2.2/site-packages
tar zxf ~/Pmw.1.1.tar.gz

189 :150 ◆ismFPlKHko :03/01/08 23:54
>>183
>・True を使ってるから Python 2.3a1 でないとダメポ。仕様?
>>184 で書かれているように、True, False が定義されていないければ、
True, False = 1, 0 するようにしてみます。

>・実体参照の置換処理に re.sub() を使わないのはなぜ?
>パフォーマンスが全然違うよ。それと、実体参照の正規表現が
...
>text[start:] のような部分文字列を作る処理は重いのでできるだけ
...
>コンパイルする。何度も使う正規表現は re.compile() で予めコンパイル
>しておく方が効率がよい。
大きい dat ファイルを処理するときに、
ものすごく時間がかかっている気がするので、
このあたりを参考にします。

>>185
>"&(#([0-9]+|[xX][0-9a-fA-F]+)|[a-fA-F][a-fA-F0-9]*);"
>の方が正確だけど複雑すぎるか>実体参照
"&#?[A-Za-z0-9]+;" で引っかかった文字列が、
実体参照の辞書で定義されていなければ、放置するので、
大丈夫かなぁ、と楽観的に考えています。
正確じゃないと、気持ち悪いでしょうか>みなさま

Monazilla.org からリンクされててビクーリ。
先にダウンロードまわりを手直しします。


190 :デフォルトの名無しさん:03/01/09 02:29
>>610
ポイズン

191 :デフォルトの名無しさん:03/01/09 03:14
今日の晩飯はなんだろうか?



192 :デフォルトの名無しさん:03/01/09 03:57
諦めな。

193 :デフォルトの名無しさん:03/01/09 11:06
>>191
スパムスビ


194 :デフォルトの名無しさん:03/01/09 12:00
>>1のID

195 :184:03/01/09 13:12
>>189
> "&#?[A-Za-z0-9]+;" で引っかかった文字列が、
> 実体参照の辞書で定義されていなければ、放置するので、
> 大丈夫かなぁ、と楽観的に考えています。
あ、そういうことなら無駄に複雑にする必要はないですね。

あちしも期待しております、がんがってください。

196 :デフォルトの名無しさん:03/01/09 13:14
>>184==>>185です。
ついでに184のアホtypoは見なかったことにして下さい(汗)

197 :デフォルトの名無しさん:03/01/09 15:55
Monazilla.orgってありがた迷惑だな。


198 :デフォルトの名無しさん:03/01/09 18:24
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

199 :デフォルトの名無しさん:03/01/10 00:11
記録実験をトップニュースにする程公共性があるのかと小一時間問い詰めたい。
あとニュースなんだからちゃんと「IPアドレス」って書け。
なんか投票までやってるし。

200 :デフォルトの名無しさん:03/01/10 01:46
documancer

201 :デフォルトの名無しさん:03/01/10 09:00
なんか賛成票の妙な伸び方が組織票っぽいんだよな・・・
もしかして企業とかが・・・なんてね(^^)

みんなアクセスログなんて言葉聞いたこともないよな?

202 :デフォルトの名無しさん:03/01/10 09:38
ありました。
http://linux.ascii24.com/linux/linuxmag/update/
ってか今朝UPされた?

203 :デフォルトの名無しさん:03/01/10 10:21
>>148
へぇー、結構多いね

204 :デフォルトの名無しさん:03/01/10 10:59
けんすうさん。

痛々しい事はいいです(ていうか見てるこっちが辛い)

 今用件を伝えますから電話しましょう。
 ずばっと出て下さい

 度量の小さい人は無理だろ、か。

205 :デフォルトの名無しさん:03/01/10 11:29
私も復帰しました。生で。
小一時間ダメだったんだが、まあいいか。

206 :162:03/01/10 11:50
>>189
kittywalk20030110a (・∀・) イイ!スレの表示速度が速くなって快適っす。
ところでブックマークのスレタイトルにレス数が入るのは仕様ですか?
ブックマーク追加時のレス数のまま更新されないみたいなんですが。

207 :デフォルトの名無しさん:03/01/10 11:55
どれがまじめなレスで、どれがコピペで、どれがネタなのかわからない。

208 :デフォルトの名無しさん:03/01/10 12:16
2chもそう長くは存続できまい。
ここにくるだけ無駄だってことがわかった。
皆も早くほかのことに興味を持とうな。

では、さようなら

209 :デフォルトの名無しさん:03/01/10 12:35
pythonでポインタ使えないの?
木構造を実現したいのだが、ポインタのやり方がわからん

210 :デフォルトの名無しさん:03/01/10 12:36
>>410
ああ、まったくだ

211 :デフォルトの名無しさん:03/01/10 12:45
>>915
他の場所に書いてあったが、下手すりゃ人生が変わる覚悟をしてまでそこまで
やる奴がどれ位いるか。
ただでさえ告発者が叩かれる国なのに。

212 :デフォルトの名無しさん:03/01/10 12:45
>>209
Pythonじゃ全オブジェクトがポインタみたいなもん(つーか参照)だから、
class node:
  def __init__(self, c=None, l=None, r=None):
    self.c = c
    self.l = l
    self.r = r
a = node(1, node(2), node(3, node(4)))
a.l.r = node(5)
print a.r.l.c
とか、C/C++のように、アドレスとかアドレスの指している先とかは
考えなくても、単に代入と参照でOKでしょ?

213 :150 ◆ismFPlKHko :03/01/10 13:07
>>206
> ところでブックマークのスレタイトルにレス数が入るのは仕様ですか?
その事実に気づいていなかっただけです。次のバージョンで直しておきます。
文字列処理の無駄を省くのも、次回で。

214 :デフォルトの名無しさん:03/01/10 14:58
トオルたん、救急車の用意は?

215 :デフォルトの名無しさん:03/01/10 15:43
>>212
ネタにマジレスでわ?
ちょっと前にも別のスレで「pythonに構造体はないの?」
とか書きこんで「クラスか辞書使えば?」とか言われても
「じゃあpythonには構造体がないんですね、構造体がない
言語なんてクソですね」みたいなネタがあったけど。

216 :デフォルトの名無しさん:03/01/10 15:48
ネタにマジレスじゃなくて自作自演だったのね。。。
手の込んだあらしかたするねぇ。。。。ハァ

217 :デフォルトの名無しさん:03/01/10 16:27
へ? 大阪?

218 :デフォルトの名無しさん:03/01/10 21:36
Pythonの弱点、ポインタが使えない!

219 :デフォルトの名無しさん:03/01/10 22:50
遂にというか、何と言うか



220 :デフォルトの名無しさん:03/01/10 22:57
IPとられることが怖いやつが、こんなにいるなんて信じられん!!マンコとかく勇気すら無いやつは2chにいらんだろう!!

221 :162:03/01/10 23:33
>>213
あ、厭味に聞こえたらゴメン。仕様でもいいかなと思ったので。
Update board menu みたいな方法で更新をかけて未読レスがあったら
新しいレス数と一緒にスレタイトルを色付きで表示、とかやってくれると
嬉しいかも。

222 :デフォルトの名無しさん:03/01/11 00:13
フシアナをハンドルにしてるハン板の顰蹙コテがいて、
これが2CHにVirus Scriptやらブラクラやらを貼ったことを自慢した揚げ句、
別のコテハンがフシアナして挑発したらポートスキャンを掛け倒したのです。

410 名前: 投稿日:03/01/10 00:08 ID:h/ETIb2F
>401 名前:三毛 ◆MowPntKTsQ :03/01/10 00:04 ID:McoZGeeY
>ウィルススクリプト貼ってケツまくるような野郎が、「公序良俗」とは笑止の限り。

これが事実だったらどーすんの?(whhh
415 名前:三毛 ◆MowPntKTsQ 投稿日:03/01/10 00:15 ID:McoZGeeY
アサピーは、で

>あれは、そもそもスクリプトじゃないし単にノートンが糞だって言うだけの話。

などと言い訳をしておりまつ。
ではどーいう意図でああいうものを貼ったのか、内容をご説明頂きたいものですな。

417 名前:g056137.ppp.asahi-net.or.jp 投稿日:03/01/10 00:16 ID:6BZCtvnU
そんなに怖かった?

で、相手にログとられて晒し上げの上、朝になったらプロバイダにも抗議されてしまう、という。

223 :デフォルトの名無しさん:03/01/11 00:21
いや明け方に(略

224 :デフォルトの名無しさん:03/01/11 09:45
質の高い書き込み>質の低い書き込み>質の低い上に警察/訴訟沙汰になる書き込み

こんな感じなのかもね。

225 :デフォルトの名無しさん:03/01/11 09:48
どっかの町で珍走が特攻服着て歩くのを禁止した条例が制定
されたら「表現の自由を奪う」と言ってみたり、「内部告発者を守れ」
とか言ってた癖に、ひろゆきが裁判で負けた事が良い事であるかの
ように報道するマスコミのダブスタは許せん!

226 :デフォルトの名無しさん:03/01/11 10:19
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

227 :デフォルトの名無しさん:03/01/11 11:14
でもまあ、本当にチクリしたい奴はどこかから書き込むだろ。
大学とか無線LANの穴多そうだし。

228 :デフォルトの名無しさん:03/01/11 11:45
裁判所が判断を下した匿名掲示板って2ch以外にあるのか?

229 :デフォルトの名無しさん:03/01/11 12:47
隊長のことハ○とかって言えなくなるのかな、寂しいな

230 :デフォルトの名無しさん:03/01/11 13:16
WinnyBBS専用ブラウザならたくさんある。
http://www.nan.sakura.ne.jp/winny/page/tools.htm

231 :デフォルトの名無しさん:03/01/11 16:03
オズラ(・∀・)カエレ!!

232 :デフォルトの名無しさん:03/01/11 16:09
クラックしてIPげと

233 :150 ◆ismFPlKHko :03/01/11 18:14
>>221
> あ、厭味に聞こえたらゴメン。
いえいえ、そんなことありません。
re.sub() を使ってみたら、ものすごく速くなりました。多謝。


234 :デフォルトの名無しさん:03/01/12 00:10
予想された範囲の行動なんだろうが、IPがプロバイダでこういうスレを立てたのなら
何を考えていらっしゃるのやら。

235 :デフォルトの名無しさん:03/01/12 00:20
を訴えます。

236 :162:03/01/12 02:47
kittywalk20030111試しますた。板名とスレ名が出るのが(・∀・)イイ!
メニューのフォント設定が効いてないところがありますた。

class GUI(Tk.Tk):
  def make_widgets(self):
    boardmenu_tab = notebook.tab(0) # 追加
    boardmenu_tab.config(font=CONFIG.get("Menu","Font")) # 追加
    bookmark_tab = notebook.tab(1)
    bookmark_tab.config(font=CONFIG.get("Menu","Font")) # 追加

class ThreadMenu(Pmw.ScrolledListBox, Colleague):
  def __init__(self, mediator, parent):
    self.component("label").config(font=CONFIG.get("Menu","Font")) # 追加

class MessageView(Pmw.ScrolledText, Colleague):
  def __init__(self, mediator, parent):
    self.component("label").config(font=CONFIG.get("Menu","Font")) # 追加

class MenuBar(Tk.Menu, Colleague):
  def build(self):
    *.add_command(...
           font=CONFIG.get("Menu","Font"), # 追加(複数)
    self.add_cascade(...
             font=CONFIG.get("Menu","Font"), # 追加(複数)

スレタイトルをダブルクリックしてスレを再表示するたびにどんどん
スレ内容が重複していくみたいです(バグ?)。

スレ一覧のタイトルにレス数が付かないのはチョト寂しいです(感想)。

スレ一覧から目的のスレを探すのが結構大変なので検索できるとイイかも(要望)。

237 :デフォルトの名無しさん:03/01/12 02:58
名前売りたい奴とか金儲けしたいやつとか鯖を貸したい業者なんて今が
絶好のチャンスだと思うけどな

238 :デフォルトの名無しさん:03/01/12 03:02
生け贄って何ぞや?

239 :デフォルトの名無しさん:03/01/12 10:30
( ´,_ゝ`)プッ 事情聴取なんて、初めてじゃねーよ!
  ヽ(´ー`)ノ


240 :デフォルトの名無しさん:03/01/12 10:33
情報交換したくてもさぁ、同人って読み手と描き手がかぶってるから
ほとんどの人が何かの形でサークルに関わってるわけじゃん。
自分や知ってる奴が叩かれてるのをわざわざ喜んで見に来たりしないだろ

狭い世界だからサークル活動に悪い影響与えてるとおもうよ
「同人板で叩かれるから」って理由でコピー本やめたサークルや
褒めのカキコがあった直後「自作自演したって思われるとくやしいし
名前でたら叩かれる」ってサイト閉じたとこも…

241 :150 ◆ismFPlKHko :03/01/12 12:48
>>236
> メニューのフォント設定が効いてないところがありますた。
感涙。

> スレ一覧のタイトルにレス数が付かないのはチョト寂しいです(感想)。
>>161 で言われたとおり、GUI で苦労しておりまする。
とりあえず、その場しのぎしときました。

242 :デフォルトの名無しさん:03/01/12 21:10
ちくり裏事情なんかは、WINNY掲示板みたいなWINNY型P2Pにして、
2ちゃんからリンクして拾ってくるようにできんかな?

243 :デフォルトの名無しさん:03/01/12 21:11
zD2HIsxl
厨房逝ってよし。

244 :デフォルトの名無しさん:03/01/12 21:25
なんか各所で「ブラウザを立ち上げ直してください」とかいうエラーでて書き込めないって
人がいるけど、それって何をするとでるの?
俺は見たこと無い。

245 :デフォルトの名無しさん:03/01/13 05:43
>>241
Tkinterはどちらかと言うと楽にGUIを組めるツールキットだと思う。
押し着せの仕様に逆らってトリッキーなことをやり出すと苦労するけど。
そのツールキットのやり方に従って素直に作るのであれば
かかる手間暇はどのツールキットを使ってもそれほど大差ない思われ。

246 :デフォルトの名無しさん:03/01/13 13:50
>>245禿同
Tkinterが使いにくいというのは迷信の塊。個人的には他のが好きだが。


247 :デフォルトの名無しさん:03/01/13 15:53
C++ に詳しい人に、WxPython のチュートリアルを書いてほしい、といってみるテスト。

248 :デフォルトの名無しさん:03/01/13 17:35
だれかBlackAdderって使ったことある?
フォームデザイナー付きのIDEだって。
売り物らしいけど評価版があるってさ。


249 :山崎渉:03/01/13 18:53
(^^)

250 :デフォルトの名無しさん:03/01/13 19:50
なんだPythonやってるやつらってあふぉばっかじゃん(笑

251 :デフォルトの名無しさん:03/01/13 22:07
21 は凄い男だな。感動した。


252 :162:03/01/15 08:01
kittywalk20030114試しますた。検索ダイアログ、超便利です。
変な正規表現 (閉じ括弧がない等) を食わせるとエラーを吐くので要対策。
あと、下まで検索したら上に戻るとか、下から上に向かって検索とか、
そういう割とありがちなオプションがあると嬉しいかも。

253 :162:03/01/15 08:35
追加。>>162の環境で試してるんだけど検索ダイアログに日本語が入力できない。
Pmw.EntryField がダメポ。Tkinter.Entry で置き換えたら入力できますた。

class ThreadSearchDialog(Colleague, Tk.Toplevel):
  def __init__(self, mediator, parent):
     :
    self.transient(parent) # 追加
    # Entry.
    self._entry = Tk.Entry(self, width=32, font=CONFIG.get("Entry","Font")) # 変更
    self._entry.bind("<Return>", self._search) # 追加
    self._entry.pack(side=Tk.LEFT)
  def focus_force(self):
    self._entry.focus_force() # 変更

ついでに transient() も追加してみますた。常に parent よりも前に
表示されるようになります。ただ、この変更を加えると、うちの環境では
Windows で言うところのタイトルバーの [x] ボタンが表示されなりますた。
この変更を取り込む場合は別途「閉じる」ボタンが欲しいです。

254 :山崎渉:03/01/15 17:50
(^^)

255 :150 ◆ismFPlKHko :03/01/16 00:14
>>245
ということは、Tkinter のせいにできないわけですね。なるほど。

>>253
ありがとうございます。修正してみます。

256 :超初心者@決してネタではないです:03/01/16 01:08
pythonの累乗の書き方がわかりません
 ^ だと引き算になっちゃうみたいなんですけど  

257 :デフォルトの名無しさん:03/01/16 01:26
>>> 3 ** 3
27

258 :デフォルトの名無しさん:03/01/16 01:37
ちなみに ^ は bit xor だ。

259 :超初心者@決してネタではないです:03/01/16 01:52
>>258
出来ました。
割り算もわかりません。暇だったら教えて下さい。

260 :デフォルトの名無しさん:03/01/16 04:55
割り算は / だよ。
Python を始めたばかりなら「Python Tutorial」を読むことを勧める。
http://www.python.org/doc/current/tut/tut.html (英語)
http://www.zob.ne.jp/~hide-t/comp/python/py21-tut-ja/tut-ja/ (日本語)
和訳は元のバージョンがちょっと古いけど十分役立つと思われ。

261 :デフォルトの名無しさん:03/01/16 05:23

     | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
     | 次でカキコ機能つけて!! |
     |___________|
          ∧∧ ||
         ( ゚д゚)||
          / づΦ

262 :デフォルトの名無しさん:03/01/16 05:50
Python も何かひとつ sf でプロジェクトをやってみるのはどうだろう?
翻訳プロジェクト以外にライブラリでもアプリでも。

263 :デフォルトの名無しさん:03/01/16 06:46
>>262
ほれ。
http://sourceforge.net/softwaremap/trove_list.php?form_cat=178
好きなのを選べ。


264 :162:03/01/16 08:02
さらに要望追加。カーソルキーの上下がデフォルトの動作のままだと
キーを押してからスクロールが始まるまでにタイムラグがある場合が
あるので修正して欲しいです。ついでにスペースとバックスペースに
PageDown/PageUp と同じ動作を割り当ててもらえると嬉しいです。

class MessageView(Pmw.ScrolledText, Colleague):
  def bind_events(self):
     :
    self._textbox.bind("<Up>", self.scroll_line_up)
    self._textbox.bind("<Down>", self.scroll_line_down)
    self._textbox.bind("<space>", self.scroll_page_up)
    self._textbox.bind("<BackSpace>", self.scroll_page_down)
     :
  def scroll_page_up(self, event=None):
    self.component("text").yview_scroll(1, Tk.PAGES)
    return "break"
  def scroll_page_down(self, event=None):
    self.component("text").yview_scroll(-1, Tk.PAGES)
    return "break"
  def scroll_line_up(self, event=None):
    self.component("text").yview_scroll(-1, Tk.UNITS)
    return "break"
  def scroll_line_down(self, event=None):
    self.component("text").yview_scroll(1, Tk.UNITS)
    return "break"

265 :162:03/01/16 08:08
チョト訂正。scroll_page_up() と scroll_page_down() はメソッド名を入れ換えた方が
いいかも。そのままコピペすることはないと思いますが念のため。

266 :150 ◆ismFPlKHko :03/01/16 13:33
>>261 >>264
善処します。

267 :デフォルトの名無しさん:03/01/16 15:03
>>263
http://sourceforge.jp/softwaremap/trove_list.php?form_cat=178
こっちはまだまだ数が少ないし、翻訳モノの割合も多い。

268 :デフォルトの名無しさん:03/01/16 15:40
今までRubyを使い慣れているんですが、年明けからPythonでプログ
ラムを書いてます。が、Rubyにくらべてかなり面倒だと思うことが
多いです。とくにリストの処理とかループとか。
Rubyより楽に書けると感じるのはif付きの list comprehension ぐ
らいしか今のところ見当たらないのですが、皆さん平気なんでしょうか?
それとも私が知らないだけでしょうか。


269 :デフォルトの名無しさん:03/01/16 15:49
>>268
なら python 使うのやめろ

270 :デフォルトの名無しさん:03/01/16 17:40
>>269
まあもちつけ。

>>268
漏れは Ruby も list comprehension も使ったことないけど
Python にはとても満足しているよ。Python プログラミングは
漏れにはすごく楽チン。面倒だと思う部分もすこしはあるけど
全体からすると問題にならない程度。ストレスを感じることは
ほとんどないです。

271 :デフォルトの名無しさん:03/01/16 18:25
>>268-270
煽りじゃなく>>269に同意。
俺はpythonは他人に見せるコードを書くための言語だと思ってる。
だからselfを省略したいとか強力なlambdaで技巧的なコードを
書きたいとかインデントがめんどくさいとか思ったら
別の言語を使った方が良いと思う。
list comprehensionにしたってmap()とかfilter()とか使った方が
速いコードになるのになんで追加されたのか?とか考えると
速さよりも書きやすさよりも読みやすさを重視した結果じゃないかと。

俺にとっては十分速いし書きやすいけど。

272 :デフォルトの名無しさん:03/01/16 23:03

        ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  〜′ ̄ ̄( ゚Д゚)< 今、>>271がいいことを言った!
   UU ̄ ̄ U U  \_____________

273 :デフォルトの名無しさん:03/01/17 13:32
>>271 に同意あげ

タイプ数を減らしたければAPLでも使ってなさい。

274 :デフォルトの名無しさん:03/01/17 13:32
上がってなかった;;;

275 :268:03/01/18 10:00
ご意見どうも。他人に見せるコードを書くため、というのは一理あ
ると思いました。確かにわやになりにくいとは思います。

タイプ数というより、ループという構造をとらないといけないので
思考をコードにするまでに余分なステップが入る感じです。filter
とかmapとかRubyのeachとかの方がダイレクトに表現できてよいで
す。何をしようとしているか、ということに名前がついているから
後からでも読みやすいと思うし(eachは違うけど)。Pythonはlambda
が弱いのでそれが使いづらく、ちょっと込み入ったことをしようと
思うとループにせざるを得ません。list comprehension があるか
らまだ救われているけど、それも式一つで書けない場合はちょっと
困ります。

Ruby等に比べてリストを調べたり操作したりするメソッドが少ない
のも不便さを感じる理由です。簡単なところでは、findとかuniqと
か見当たらないんですが、こういう処理さくっと一行で表現できる
ようになっていたりはしないですよね? リファレンスも眺めてみ
たんですが、こういうのを集めたモジュールはあるんでしょうか。


276 :268:03/01/18 10:02
(続きです。)
少し話は逸れますが、list comprehensionが優れているのは、入れ
子になったリストを処理するときに、生成されるリストの構造と
list comprehensionのコードの構造が似ていることだと思います。
この場合はコードの形から生成される形がわかるのがfilterなどよ
り直感的でいいですね。

話を戻して、forループだと、ループ変数がループ全体で同じフレー
ムの名前なのがまた不便に感じることがないですか? ループ中で
lambdaを生成したりすると、ループ変数(やループの中で計算した
変数)はすぐに別の値に束縛されますから、lambdaの中でそのまま
使えず、lambdaのデフォルト引数という少し苦しい技が必要になり
ます。lambda やRubyのブロックを渡す場合とか、Schemeのように
末尾再帰でループする場合なんかはループごとに別のフレームにな
るのでそのような必要は出てきません。

別にPythonを使うのを辞める気はないので、こういう書き方がある、
こういう便利なものがある、というのを教えて頂ければ幸いです。


277 :デフォルトの名無しさん:03/01/18 13:55
参考になるかは分からないけど。
しかも既出だけど。
http://www-6.ibm.com/jp/developerworks/linux/010615/j_l-prog.html
http://www-6.ibm.com/jp/developerworks/linux/010706/j_l-prog2.html
http://www-6.ibm.com/jp/developerworks/linux/010921/j_l-prog3.html
http://www.unixuser.org/~euske/doc/python/python-lisp-j.html

278 :150 ◆ismFPlKHko :03/01/19 03:35
>>261,264 善処しました。

279 :デフォルトの名無しさん:03/01/19 07:02

   ┌┬┬――┬ヽ
   │||    ||  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   │└┴――┘| | kittywalk20030118試したよ
   │┌-(,,゚Д゚)┐|<  書き込みも検索ダイアログの日本語も完璧
   ││..(ノ..........つ| | 150さん、あんた最高だ・・・
   ││................|│  \___________________
   └┴―U''U::┴┘

280 :デフォルトの名無しさん:03/01/19 09:27
これからLinuxやPythonの勉強をしようと思い、VineLinux2.6をインストール
したのですが、入ってたPythonのバージョンが1.5でした。
Pythonはずいぶん前に2.xになっているようですが、なぜいまだに1.5なのでしょうか?
互換性などで問題でもあるのでしょうか?

281 :デフォルトの名無しさん:03/01/19 11:20
最新版欲しけりゃ玉取ってくりゃいいだろ?
つーか、システムのアップデートはしたのか?


282 :名称未設定:03/01/19 11:44
>>280
python2の名前で入ってるはずです。

283 :デフォルトの名無しさん:03/01/19 13:35
kittywalkで書き込むとコンソールにHTMLみたいなのががんがん出てくるんですが。
>>150


284 :デフォルトの名無しさん:03/01/19 14:11
>>281
それはそうですが、なぜデフォで入っているのが古いバージョンなのかな?と。
(新しいバージョンにするとなにか不都合でもあるのかな?)

>>282
Vine2.6には入ってないようです。

いまいちLinuxのパッケージ管理とか分からないので、すこし調べてから
新しいのを入れようと思います。

285 :デフォルトの名無しさん:03/01/19 15:17
Vineなぞ捨てろ。押し着せ設定の欝陶しいことこの上なし。
見通しも悪いから、勉強しようと思うのなら尚更よ。

ところでPythonなんかを勉強するのにいいLinuxディストリって何だ?
* 構成が素直
* 最新版やモジュールを手で取ってきて入れてもパッケージ管理と喧嘩しない


286 :デフォルトの名無しさん:03/01/19 15:32
slack とか source mage とか?

287 :デフォルトの名無しさん:03/01/19 15:39
gentoo!

288 :150 ◆ismFPlKHko :03/01/19 16:22
>>283
出ないようにしました。


289 :デフォルトの名無しさん:03/01/20 07:37
>>285
とりあえず赤帽を推しとく。
RPMパケジが用意されてることが多いから何だかんだ言って楽だ。
漏れはパケジを使わずに野良インスコする場合は /opt 以下に入れてる。
今のところ 1.5.2, 2.2, 2.2.2, 2.3a1 とピチョンが四つも入っているワケだが。

290 :デフォルトの名無しさん:03/01/20 12:16
機械伯爵って何? あしゅら男爵のともだち?
http://www.freeml.com/ctrl/html/MessageListForm/python@freeml.com

291 :デフォルトの名無しさん:03/01/20 13:22
おいリューズ、時間をすすめろ。

292 :デフォルトの名無しさん:03/01/20 16:13
>>290
http://www.potato.ne.jp/~faust/keifu/matsumoto999_keifu.pdf

293 :デフォルトの名無しさん:03/01/20 20:10
アニオタか。

294 :デフォルトの名無しさん:03/01/20 20:35
Pythonはアニオタのイメージがつく。
本名でやってホスイ。


295 :デフォルトの名無しさん:03/01/20 20:37
Ruby は二つ目の2chブラウザーができたみたい。

おいお前ら! GTK+使ってLinux版かちゅーしゃ作れや
http://pc.2ch.net/test/read.cgi/linux/1022744633/388

日本のPythonコミュニティーもがんがれ。

296 :デフォルトの名無しさん:03/01/20 20:56
Python始めました。動機はGentooです。
Perlしか知らないのですが、よろしくお願いします。

297 :デフォルトの名無しさん:03/01/20 21:15
や〜い、Pythonのアニオター!

298 :デフォルトの名無しさん:03/01/20 23:58
アニオタでも使えるpythonのお勉強u"""part3"""

299 :デフォルトの名無しさん:03/01/21 16:00
>>295 >>150
kittywalkの2ch関連の部分再利用して作ってもいい?
せっかく>>150が作ってくれたんだし。

300 :デフォルトの名無しさん:03/01/21 16:04
300!

301 :デフォルトの名無しさん:03/01/21 17:44
>>299
Tkinter じゃないのきぼん(w。

302 :デフォルトの名無しさん:03/01/21 21:52
Tkinter以外のGUIツールキットって、
win32gui, wxPython, PyGTK, PyQT ...
あと何かあったっけ?

303 :デフォルトの名無しさん:03/01/21 21:58
PyCardとか Delphi を利用するのとか、、、

304 :150 ◆ismFPlKHko :03/01/22 00:11
>>299
厨房丸出しのコードでよろしければどうぞ。
299 さんが書き直したコードで勉強いたします。

>>302
FOX とか、PyGame を利用した PyUI とか、WideStudio とか、でしょうか。

305 :デフォルトの名無しさん:03/01/22 01:49

初歩的な質問なのですが、StringIO はどういう時に使えばいいのですか?
具体的な使い道が今ひとつわからないのですが、、、

306 :デフォルトの名無しさん:03/01/22 02:26
>>305
後段の処理で seek 可能なファイルオブジェクトが要求される場合によく使う。

例えば、開いたソケットは seek できないファイルオブジェクトになるので、
mimetools.Message のように seek 可能なファイルオブジェクトを引数として
渡さなければならないときは、ソケットからデータを全部読んで StringIO で
seek 可能なファイルオブジェクトにしてから渡す。ディスクに一時ファイルを
作らなくて済むのでエラー処理が省ける。ただし、データをメモリ上に持つ
ことになるのでファイルが巨大になり得る場合は要注意。

てゆーか、なんでどう使えばいいか分からないものを使おうとしてるの?
今度の CAPP (Certificate for Advanced Python Programmers) を受験する気?

307 :デフォルトの名無しさん:03/01/22 04:33
GUIをpythonで、実行部分は処理速度を速めるためにCで書こうとしているものです。
ただ今はpythonからCを呼び込む方法がわからずに四苦八苦しています。
簡単な例や、そういった情報が書いてあるサイトがあったら教えてもらえませんか?

308 :デフォルトの名無しさん:03/01/22 05:02
>>307
プロcしらんけど探しといたでー。あってるかしらんけど。
http://lss.eternity.ne.jp/cgi-bin/link/soft_add.cgi?1057

309 :デフォルトの名無しさん:03/01/22 05:05
>>307
もいっこ。
http://wiki.zope.jp/PythonExtention/editform

310 :デフォルトの名無しさん:03/01/22 05:12
>>302
一緒に調べたんやけどんなんたらGLってのもそうじゃないんか?

311 :デフォルトの名無しさん:03/01/22 05:26
>>308-309
 サン(゚∀゚)クス

 ここは頼りになるなぁ

312 :デフォルトの名無しさん:03/01/22 05:41
>>311
ところでpythonって何だ?スクリプトがなんたらって書いてあったが。

313 :デフォルトの名無しさん:03/01/22 12:25
/ と // はどう違うのですか?

314 :デフォルトの名無しさん:03/01/22 14:49
>>> 100/3
33
>>> 100//3
33
>>> 100.0/3.0
33.333333333333336
>>> 100.0//3.0
33.0

こうなった。何に使うんだろう

315 :デフォルトの名無しさん:03/01/22 15:09
将来的には100/3も33.333.... になるようにするんじゃなかった?

316 :デフォルトの名無しさん:03/01/22 15:09
Kittywalk公式サイトの方にあるお助け掲示板に書き込んだのですが、
どなたも(150さんすら(w )掲示板を使っていないようなので、
ここに再度書き込みします。

MicrosoftのWheel Mouseを使用しているのですが、Wheelを使って
スレ一覧やスレの内容をスクロールさせるとほぼ100%の確率で
アプリケーションエラーが出てそこで終了してしまいます。
できれば、この不具合を直していただければありがたいですが。

動作環境は
Windows2k + Python2.2.2 + Pmw1.1 + JapaneseCodecs 1.4.9
で、マウスはUSBマウスにアダプタをかませてPS/2接続です。


317 :デフォルトの名無しさん:03/01/22 15:40
>>313-315
> / と // はどう違うのですか?
ttp://member.nifty.ne.jp/Fe/script/python/pep-0238.ja.html

318 :デフォルトの名無しさん:03/01/22 15:49
>>307
いっそぜんぶPythonでかいちゃえ


319 :デフォルトの名無しさん:03/01/22 15:56
厨房ですがどうすれば、蛇使いになれますか?

320 :デフォルトの名無しさん:03/01/22 16:01
>>317
> ttp://member.nifty.ne.jp/Fe/script/python/pep-0238.ja.html
正直、よく分からなかった自分はイッテヨシですか?

>>313-315

>>> 100//(3+0j)
__main__:1: DeprecationWarning: complex divmod(), // and % are deprecated
(33+0j)
>>> 100/(3+0j)
(33.333333333333336+0j)

-----------------
赤字のエラーメッセージなんて初めて見た。

321 :デフォルトの名無しさん:03/01/22 16:31
>>320
・整数/整数 -> 整数
てなるのは習慣的な実装上の都合で、数学的には正しくないから、/を使ったらとにかく
・数/数 -> 実数
にした方がよかろ、ということです(習慣を破るという意味では直感的でないけど)。
で、整数が欲しいときは//を使って、
・数//数 -> 整数(というか小数部のない数)
てことにしょう、と。

今は移行途中の段階だからさらに話がややこしく。

322 :デフォルトの名無しさん:03/01/23 02:13
>>321
除算に関して閉じてない演算体系ってだけで数学的に正しくないってことはないでしょ。


323 :環太郎:03/01/23 03:56
ハゲドウ。


324 :デフォルトの名無しさん:03/01/23 17:21
>>306
> 後段の処理で seek 可能なファイルオブジェクトが要求される場合によく使う。
> 例えば、開いたソケットは seek できないファイルオブジェクトになるので、
> mimetools.Message のように seek 可能なファイルオブジェクトを引数として
> 渡さなければならないときは、ソケットからデータを全部読んで StringIO で
> seek 可能なファイルオブジェクトにしてから渡す。ディスクに一時ファイルを
> 作らなくて済むのでエラー処理が省ける。ただし、データをメモリ上に持つ
> ことになるのでファイルが巨大になり得る場合は要注意。
解説ありがとうございます。
今の自分には必要なさそうですね。

> てゆーか、なんでどう使えばいいか分からないものを使おうとしてるの?
ファイル操作でStringIO というのが使えると知ったので、どうやって使えばいいのかと思って。

325 :デフォルトの名無しさん:03/01/23 18:27
テレちょん族吉本興業で 毎日で うんざりで〜す
テレちょん族吉本興業で 毎日で うんざりで〜す
テレちょん族吉本興業で 毎日で うんざりで〜す

テレちょん族吉本興業で 毎日で うんざりで〜す
テレちょん族吉本興業で 毎日で うんざりで〜す




326 :山崎渉:03/01/23 20:03
(^^)

327 :ここで質問していいのかな…:03/01/24 03:35
質問ですが、pythonの中にあるtcl/tkをつかったturtle.pyで、その実行画面をpythonのプログラムによって保存する方法ってありますか?
(python日本語版の場合、C:\python22jp\Lib\lib-tk\turtle.py にある)

具体的にはボタン押したらpythonの窓内の画面を画像ファイルにして保存、というのがいいのですが。


328 :デフォルトの名無しさん:03/01/24 06:44
http://www.python.org/peps/pep-0285.html
PEP: 285

3) Should the constants be called 'True' and 'False' (similar to
None) or 'true' and 'false' (as in C++, Java and C99)?

=> True and False.

Most reviewers agree that consistency within Python is more
important than consistency with other languages.

これってどうよ?
やっぱり true/false は小文字がしっくりくるんじゃない?


329 :デフォルトの名無しさん:03/01/24 07:05
>>328
C++もJavaもC99もほとんど使っていない漏れには
None/True/Falseの方が統一感が感じられる。

330 :デフォルトの名無しさん:03/01/24 13:38
>>313
> / と // はどう違うのですか?

------------------------------------------------------
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/19423
CommonLisp, Schemeそして将来のPythonでは / がquo相当の働きを
するのは承知しているのですが、やはり / 演算子の今の挙動に愛
着があるので別の名前のメソッドを導入することにしました。
------------------------------------------------------

lisp 使いのしわざ?

331 :デフォルトの名無しさん:03/01/26 08:38
Pythonのソースのなかで見かける、XXXってなんですか?

332 :デフォルトの名無しさん:03/01/26 09:39
>>331
FIXMEと似たような意味かな?
それか、ちょっと恥ずかしいやり方っていう意味かも。

333 :デフォルトの名無しさん:03/01/26 11:29
すんません、Jythonでswingのウィジェットに日本語出したい場合どうすればいいですか?
Javaって日本だいじょぶだと思ったんでこれ使ってみようと思ったんだけど。。。


334 :名称未設定:03/01/26 22:05
>>333
普通にJavaの流儀でできるはずです。

335 :デフォルトの名無しさん:03/01/26 22:15
>>332
そうだったんですか、ありがとうございます。
そんなこと言ったら、全部XXXだらけになっちゃう…。

ますますソースが見にくくなる

さらに、ゴミソースになる。


336 :名無しさん:03/01/27 14:20
すんません、Javaの流儀ってしりません。。。


337 :デフォルトの名無しさん:03/01/27 14:22
pythonスレが3つ同時進行ってのはどうにかなんないのか。


338 :デフォルトの名無しさん:03/01/27 15:19
1つより3つのほうがいいだろ。

339 :デフォルトの名無しさん:03/01/28 01:14
そうか?w

340 :名称未設定:03/01/28 06:38
>>336
jythonはjavaしってる人がpythonうまく利用するための道具。
別にTkinterなら日本語問題ないし。
なぜにjavaしらずにjythonなの?

341 :デフォルトの名無しさん:03/01/28 09:41
逆にPythonからJava(特にGUI回り)に入って見よーと思って。
それにJythonならjarファイルにしてJVMのあるとこに持ってけるんでしょ?


342 :デフォルトの名無しさん:03/01/28 10:31
>>341
おまえウザすぎ。
もう来るな。

343 :デフォルトの名無しさん:03/01/28 11:38
>>341
俺は気にしないから 342 は無視しとけ。

344 :デフォルトの名無しさん:03/01/28 17:44
C++ 用のSIGはあるのに、 C 用のSIGはないのですか?
そこそこ需要があると思うのに。

345 :デフォルトの名無しさん:03/01/28 18:06
>>344
SIGってなぁに?


93 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)