[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/12 00:16 / Filesize : 189 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part34



1 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:23:19 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc12.2ch.net/test/read.cgi/tech/1240678081/

151 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 15:54:38 ]
phpよりも軽い?

152 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:23:51 ]
>>149
「pythonも高負荷に耐えれるのでしょうか」じゃなくて
「pythonが高負荷を発生するのでしょうか」だろ。

153 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:25:40 ]
Python電磁波クラブ

154 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:25:56 ]
>負荷の大きい鯖のプログラムはperl

かなり曖昧だな



155 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:20:12 ]
このページによると、
速度だけなら
python > perl > php > ruby
な感じ。
perlはメモリ消費優秀。
phpはメモリ消費大杉。

156 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:23:45 ]
ページ張り忘れた。
shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=php&lang2=yarv&box=1

157 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:35:17 ]
つーか、PHPって別に速くないんかいw

158 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:12:16 ]
良くある色が変わっていく表示は、RGBじゃなくてHSVで作ればいいのか。
良く分かったよ感謝

159 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:14:04 ]
PHPの速さはapacheのSAPI経由から開始される高速な起動と、(他のmod_***より明らかに早い)
負荷のかかる処理をC言語の拡張に任せるというスタイルによるレスポンスのよさだからな。
オブジェクト指向を気取ってコードをたくさん書けば書くほど遅くなる罠。

まあそれはLWLではみな同じことが言えるわけだが。



160 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:36:57 ]
PyCUDAとか使ってみたいですな
100倍速い!!とか言ってみたい。

161 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 06:39:44 ]
> 負荷のかかる処理をC言語の拡張に任せる
それってどれも同じなんじゃね?

162 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 07:26:55 ]
失敗した…
おれもVPython入れてみようと思って、Ubuntu9.0.4のsynapticで「あるじゃん」と思って入れたら、
これバージョン3だよ。opacityとか無いよ。

163 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:20:00 ]
>>161
pythonがcgi.pyでやっているような処理を、phpではCで書かれた関数で行なっている。
測定してみればわかるけど、これはけっこう性能に効く。

164 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:29:04 ]
wsgi

165 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:45:53 ]
今どきcgiなんて使わないだろ。

166 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:50:58 ]
PHPで数値計算と文字列処理のベンチを取ると激遅なんだよな。
まぁWebで数値計算はしないが。

ソースを忘れたけど

167 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:57:17 ]
こんな感じでデータが入ったファイルを
-50,-28,13,0.66
 :

こんな風に読んで、VisualPythonの玉に入れてみたら
from visual import *
f = open("test.dat")
for oneline in f.readlines():
 plist = oneline.strip().split(',')
 p = [int(s) for s in plist[:3]]
 c_hsv = [float(plist[3]),1,1]
 sphere(pos=p, radius=2, color=color.hsv_to_rgb(c_hsv), opacity=0.7)

いきなり可視化できてしまったぞ。ちょwwマジかwwいいのかこれでww

168 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:17:57 ]
なぜ、PythonはRubyの
# -*- coding:utf-8 -*-
をパクってるのでしょうか?文字コード指定は楽なのはわかりますが。

169 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:20:25 ]
>>168
emacs や vim の文字コード指定方法をソースコードの文字コード指定方法に
一致させると楽だから。



170 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:26:48 ]
>>168
去年からPythonで導入された方法。

171 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:26:53 ]
>>168
ていうか、それRuby1.9からだよな。
Pythonのほうが古い。
てか、釣りだろ。

172 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:31:12 ]
┐(´д`)┌

173 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:58:09 ]
>>170
Python 2.3 からだから、5年くらい前じゃね?

174 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:07:38 ]
乞食のruby厨にレス付けたら負けだよ

175 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:34:23 ]
Rubyを使うとどこかの国のような思考回路になるってことですね。

176 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:37:40 ]
Why do you stay in wrong thread?

177 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:37:49 ]
Ruby書かされると脳みそが痒くなるんですよ。

178 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:04:47 ]
ubuntuのaptでいれたpylabがバージョン古いから
最新版をsetup.py で上書きインストールしてしまうかと思う
しかし、何か不具合おこないか心配
aptで入れたパッケージを消してからpython setup.py install したほうがいいんだろうか

179 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:34:02 ]
>>168
>なぜ、PythonはRubyの
># -*- coding:utf-8 -*-
>をパクってるのでしょうか?文字コード指定は楽なのはわかりますが。

これは恥ずかしい
マネしたのはRubyのほう



180 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:56:30 ]
www.python.jp/doc/release/ref/encodings.html

181 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:04:55 ]
Python信者必死杉

いいじゃんパクったならパクったで

182 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:10:16 ]
いつもRuby厨からケンカ売ってくるもんで^^

183 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:11:28 ]
180の先にemacsの形式って書いてあるじゃん...

184 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:26:53 ]
OSSじゃパクりパクられはむしろいいことだぞ?なにいってんだ?

185 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:33:53 ]
出典は明記するべきだよね

186 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 01:36:05 ]
てか、Emacs時代から無かったかそれ?
Ruby厨はなんでもRuby一番にしたがるから困る

187 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 07:01:48 ]
Scipyってどうですか?
有限要素法とかあったりしますか?

188 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 08:26:07 ]
なぜ、PythonはRubyの
変数とか代入とかハッシュとかの概念を
をパクってるのでしょうか?スクリプト作成は楽なのはわかりますが。

189 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 09:08:08 ]
自演乙



190 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:12:31 ]
現在のファイル名、関数名、行番号をlogするのに
os.path.basename(__file__) , (__name__).replace('__','')+'()' , inspect.getlineno(inspect.currentframe())

spam.py main() 19

こんなことしてるんですが、俺ダサ杉ですよね。華麗な表示方法をご教示くださいですよ。

191 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:32:23 ]
Rubyだともっと簡素にかける

192 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:52:39 ]
>>191
おれもそう感じた

193 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 11:03:43 ]
>>190
logging モジュール
www.python.jp/doc/release/lib/node423.html

194 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 11:50:03 ]
$:.unshift "./hoge/hoge/hoge/hoge/hoge/hoge"
require "hage.rb"

見たいなことはPythonで出来ませんか?

195 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 12:09:12 ]
>>193
なるほど!

%(module)s モジュール名 (ファイル名の名前部分)
%(funcName)s ログ記録の呼び出しを含む関数の名前
%(lineno)d ログ記録の呼び出しが行われたソース行番号 (取得できる場合)

196 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 14:21:43 ]
>>194
import sys
sys.path.append('./hoge/hoge/hoge')
import hage
でどうでしょう?

197 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 17:36:51 ]
import os
hogedir = os.path._getfullpathname("./hoge/hoge/hoge/hoge/hoge/hoge")
os.sys.append(hogedir)
import hage

198 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 18:23:13 ]
>>195
これ3.0に移行してstr.formatを使うようになっても%書式のままでいくのかなぁ
今見たけど変わってなかった

199 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 19:38:00 ]
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!




200 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 13:56:37 ]
ftpでファイルをローカルにコピーするのはこれでできたんですが
session.retrbinary('RETR '+file, open(file, 'wb').write)

標準出力にファイルの中身を吐き出すにはどう書けば良いんでしょうか?

201 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 14:10:11 ]
>>198
どうするか悩みどころだよね。
将来的に % によるフォーマティングは廃止される予定だけど、
デフォルトのFormatterはどうしようも・・・
logging.basicConfig(newstyle_formatter=True)
とかでお手軽に新フォーマッターに移行できないかな・・・

202 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:08:13 ]
>>200
session.retrlines('RETR foo.txt')

203 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:49:11 ]
>>202
できました!
ありがとうございます。

204 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:30:35 ]
         (⌒,,⌒)〜っ
        (⌒,_, ,⌒て ,,_,)
         ! ノ U。`yヘ_,、_ノ !
        し|~〜〜 。 ヘ⌒iヽフ
            |! ゚o 。.゚(・ω|・ ) びーるきたよー
           |! 。o゚ ⊂ ゚ とノ
          |i 。゚ ゚ o .゚|.。|. |
         |i、..゜。。゚ ゚し|'J
.           |,,._二二二_,!
       。゚o

205 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 07:45:15 ]
a = ["abb","acc","add"]
print map(lambda x:x.replace("a",""), a)

これと同じ処理でもっといい方法ありますか?

206 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:40:07 ]
>>205
lambda + map 使うくらいなら内包表記を使う
print [x.replace('a', '') for x in a]

lambda も map も悪いものではないけど、map+lambdaは推奨されない。

207 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:44:50 ]
>>206
内包表記なんていうのがあるんですね。ありがとうございます。

LISP畑から来てるので map に lambda が推奨されないって変な感じですが
Pythonではあまり使わないようにします。

208 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:50:32 ]
> LISP畑から来てるので map に lambda が推奨されないって変な感じですが

schemeのinternal defineのように関数内で関数定義して名前を与えて使うのがいいみたい


209 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:32:17 ]
>>208
それは >>206 とはちょっと違う話で、少しでも複雑な関数を作るときは
ちゃんと名前を付けましょうねという意味で、lambda が単文しか実行
できなくなってる。

map + lambda が推奨されないのは、
1) 単純に map(lambda x: と書くタイプ数 が for x に削減される
2) map はリストが不要なときも一時リストを生成してしまう。
  (>>206ではリストが必要だったけど、必要ないときはジェネレータ内包が使える)
3) map 内で繰り返し関数呼び出しが発生する。内包だと式の評価なので lambda より速い
4) Lisp脳ではない人間にとっては、 map(lambda x: を読むときに頭の中で分解再構築が必要になる。
  内包表記の方がやりたいことをすっきりと書き下せる。



210 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:37:19 ]
とりあえずIDLEでimport thisしようぜ

211 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:41:13 ]
>>209
頭大丈夫? 自分が何を主張するために何を持ち出しているのか読み直した方がいいよ。


212 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:21:42 ]
>>211
オレは>209の入ってる事がよく分かったが、何か問題でもあるのか?

213 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:44:48 ]
>>209
1)については、そもそもlambdaとか6文字も必要なsyntaxにしたのが間違いだったんだと思う
Haskellみたいに記号使っとけば……
2)はpython3000ではmapもイテレータ作るし

まぁ内包のほうが速いし、そっち使ったほうがいいんだけど

214 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:18:29 ]
-> だったっけ

215 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:19:08 ]
>>213
Pythonにとって、lambdaは便利で強力だけど一つの文が複雑になるし遅いので
あまり推奨できないから、記号を導入してまでみんなに使ってもらおうとは
思ってないんだろう。

216 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 15:22:31 ]
Pythonの場合、lambdaとインデントの相性が悪いのもあるんじゃない?
でも、他の言語使ってても複雑な式ならどのみち関数定義するから、
そのために何かして欲しいとは思わないけど。

217 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 15:50:27 ]
f = λ x:a*x+b

これでいくか。

218 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:12:54 ]
Perl
my $f = sub { $_[0]+1 }
$f->(42)

Ruby1.8
f = lambda { |x| x+1 }
f[42]
f.call 42

Ruby1.9
f = ->(x) { x+1 }
f[42]
f.call 42

Python
f = lambda x: x+1
f(42)

Haskell
f = \x -> x+1
f 42

219 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:27:54 ]
どれも、これだ!ってのがないな。



220 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:45:23 ]
というかλ記法って^が変化してλになったんだから
^記号をつかえばいいやんとか思う
ビット演算とまぎらわしいなら$で

221 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:46:13 ]

Python
def f(x): return x+1
f(42)


222 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:47:28 ]
$があるとperlみたいで汚いから嫌だ

223 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:47:47 ]
>>192
いくのかなあ、って変わってないんだからそうに決まってるでしょ。
docs.python.org/3.1/library/logging.html#formatter-objects

224 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:24:26 ]
逆に>>221でなにが不都合があるんだろ。
名前を考えないといけないから思考が停止しちゃうとか?

225 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:37:45 ]
>>224
内包表記のときはやっぱりラムダがあった方がいい。
名前も、じゃあ全てのfor文に名前を付けるか?みたいな話だと思われ。

それくらい気楽な関数。

226 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:31:36 ]
俺が恵まれていないだけかも知れんが、俺の周りで
関数名つけるの面倒くさいっていうやつは、98%の確率で
ろくなプログラマではない

だいたい、面倒って言ったって、xxx2yyy くらいを考えれば十分だし、
一言で表せないような関数を渡すのは構造的に失敗してると思うし

227 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:38:30 ]
>>226
どっちかというと、かぶらないか失敗っていう心配だな。
Pythonならあんまり気にしなくてもいいんだけどw

228 名前:デフォルトの名無しさん [2009/07/26(日) 22:30:21 ]
Python3に対応したpygame出てないのかよ
Python使いからの不満も多いみたいだし、こんなので3は普及するのかねぇ

229 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:33:35 ]
pgreloaded はまだ開発中か



230 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:45:40 ]
>>225
> 内包表記のときはやっぱりラムダがあった方がいい。
ラムダが内包表記で便利な経験が無いんだけど、
ラムダ+内包表記のcoolな例あったら挙げてみて。

231 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 02:30:48 ]
可読性と内包表記、
やっぱり、[fnc(x) for x in a if check(x)==0]
のようにして、[ ]内はごちゃごちゃしないようにしたほうがイイすよね?

232 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:38:42 ]
www.djangoproject.jp

まだ落ちてるよ
日本人でDjangoをやっているひとたちは
サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな

233 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 12:54:32 ]
東京で停電があったとき以来
復活してないサーバと比べりゃ(ry

234 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 13:16:15 ]
>>231
読む人が「えーとこれは」と考え込まずに済むように書きたい。
したがってその位に留める(長くなるなら外に出す)という習慣は
良いことだと思われます。

235 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 13:33:44 ]
def abc():
  hoge=fuga
  hage=moge
  def func(x):
    return x+1
  vwx=[fnc(x) for x in a if check(x)==0]
  return xyz

236 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 14:24:49 ]
>>235
さすがにそれは内包表記の中で直接 x + 1 した方が良いだろ。

237 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 14:58:17 ]
「長くなるなら」外に出す、なのに「x+1なのに外に出す」って何だよw

238 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:31:23 ]
Pythonで無料レンタル鯖のいいとこ&有名なとこあります?

239 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:40:56 ]
ドジャンゴが使っているところはやめたほうが良さそうだな。



240 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:20:11 ]
レンタル鯖だと、Pythonはいまだに2.3や2.4ばかりで悲しい。

241 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:21:44 ]
>>238
国内無料鯖は2.4どころか2.3、Python自体ないとかあってかなりの不遇で、自信を持っておすすめできるものはない。色々探してみるといい
ただSSHなどシェルアクセスできれば自力で導入できるとこもある(xreaとか。まあSSH使える無料鯖はほとんどないが…)
低価格鯖なら最近2.6が導入されたさくらがおすすめかな。

242 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:50:15 ]
どうせ他にもいろいろしたくなるから、
まるまる仮想OS使えるところでいいんじゃないの。

243 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 17:14:51 ]
月3000円も出せばVPS借りられるんだからそのくらい出せよ
それも出せないなら自宅鯖でも作れ
いやならPHPでも使ってろ

244 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:41:54 ]
釣りか?

70 名前: デフォルトの名無しさん Mail: sage 投稿日: 2009/07/27(月) 15:02:19
PHPで無料レンタル鯖のいいとこ&有名なとこあります?

245 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:38:51 ]
Pythonスレの方がレスが多くて
みんなやさしくて好きです

246 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:42:32 ]
>>238
pc12.2ch.net/test/read.cgi/tech/1243160751/4-10

247 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:43:01 ]
表向きは永久凍土な連中ということで通ってるんだから
そういうこと言っちゃいけません

248 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:47:20 ]
>>238
Google App Engine 2アプ目
pc11.2ch.net/test/read.cgi/php/1243654802/

249 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:51:55 ]
GAE はないわなぁw



250 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:37:18 ]
@pagesとか言うところが2.5.1みたいだ

251 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:42:47 ]
実際に sys.version 出力させてみたら
2.5.2 だったよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<189KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef