Pythonのお勉強 Part2 ..
683:デフォルトの名無しさん
08/01/03 18:43:39
>>681
俺も勉強中なんよ(爆)
スルーしる
684:デフォルトの名無しさん
08/01/03 19:05:09
ヒント: help(re.findall)
685:デフォルトの名無しさん
08/01/03 19:15:09
>>682
グループの数によって変わる。
グループなし、グループ一つはマッチリストかグループリスト
>>>re.findall('test','testtesttest')
['test', 'test', 'test']
>>>re.findall('(tes)t','testtesttest')
['tes', 'tes', 'tes']
複数のグループはグループをタプルで返してマッチしたものをリストで返す
>>> re.findall('(t)e(s)t','testtesttest')
[('t', 's'), ('t', 's'), ('t', 's')]
686:デフォルトの名無しさん
08/01/03 19:24:47
((.)(.)) グルーピングが三つ揃っておっPython
687:デフォルトの名無しさん
08/01/03 22:32:54
誰か使いやすい開発環境教えてちょんまげ
688:デフォルトの名無しさん
08/01/03 22:43:52
Pythonじゃないけど
某スレで脳内環境が最強だと話題になってた
689:デフォルトの名無しさん
08/01/03 22:45:37
クセのある環境ばかりで使いづらい
みんなどんな環境?
690:デフォルトの名無しさん
08/01/03 23:06:50
>>689
テキストエディタ(emacs or vi)
691:デフォルトの名無しさん
08/01/03 23:10:37
クセありすぎだろそれ
692:デフォルトの名無しさん
08/01/03 23:47:05
俺もvimなんだけど。最初はバカにしてたけど、
pythonに限って言うとかなり使いやすい。
693:デフォルトの名無しさん
08/01/03 23:53:56
idleとpydevを使ってます
idleは軽くていいんだけど、補完がpydevに比べるといまいち
ただpydevはstdinとかのエンコーディングがNoneになっていて
文字コードの変換とかしたらこけて、その解決法が良く分からないのが難しい
このスレのPert20にその話題が出ているみたいなんですけど、誰か>>1のまとめサイトに
アップしていただけないでしょうか?
694:デフォルトの名無しさん
08/01/04 00:11:24
>>692 vimで補完できる??
695:デフォルトの名無しさん
08/01/04 00:23:08
俺はxyzzyでpy-modeだな
696:デフォルトの名無しさん
08/01/04 02:41:50
ソースの中に日本語書かないならPythonWinで結構用が足りてる。
697:デフォルトの名無しさん
08/01/04 03:52:45
>>694
もちろん。
698:デフォルトの名無しさん
08/01/04 05:01:34
>>594
ようつべわらた
699:デフォルトの名無しさん
08/01/04 05:36:55
みなさん4tabですか?2tabですか?
700:デフォルトの名無しさん
08/01/04 05:51:50
デパは0.5mgでも4tabだと爆睡しちゃうので2tが限界かな
701:デフォルトの名無しさん
08/01/04 08:13:08
>>697
vimの補完てomni?
702:デフォルトの名無しさん
08/01/04 09:36:03
いろいろ試したけどPyDevの補完が最強
703:デフォルトの名無しさん
08/01/04 09:36:24
>>699
4タブ
704:デフォルトの名無しさん
08/01/04 10:22:11
>>702
Eclipseって起動もっさりしてね?
705:デフォルトの名無しさん
08/01/04 10:28:31
どんなIDEでも基本的にはモッサリしてる
706:デフォルトの名無しさん
08/01/04 10:35:09
Eclipseはプラグインしだい。
何も入ってないのを立ち上げたらびっくりするほど速かった。
立ち上げただけで何も出来なかったけど。
707:デフォルトの名無しさん
08/01/04 11:40:23
How many projects do you open in same workspace ?
708:デフォルトの名無しさん
08/01/04 13:24:54
>>707
14
709:デフォルトの名無しさん
08/01/04 13:25:59
Zero, I mean I'm on wintervacation NOW (wwwwwww.
710:デフォルトの名無しさん
08/01/04 14:11:25
みんなemacsかviだと思ってた
・・しかしpythonをeclipseで書くって凄いな。想像したことも無い
なんか嬉しい事ある?起動もっさりでイラつかない?
711:デフォルトの名無しさん
08/01/04 15:48:38
>>710
CVSとかsvnとかとの連携が楽>eclipse
712:デフォルトの名無しさん
08/01/04 17:32:56
>>711
710はソースコード管理をしない人なんだよ。
その必要がないんだろう。
なぜなら(ry
713:デフォルトの名無しさん
08/01/04 18:29:14
emacs にも pcvs とか psvn とかあるのに…
714:デフォルトの名無しさん
08/01/05 01:11:59
>>710
さすがにviはないな。vimは良いと思うけど。
>>712
EclipseはJavaでは使うけど、他の用途では便利だとはおもわんなぁ。
cvs/svnクライアントも別にIDE連動である必要って感じないし。
でもまぁPythonはスクリプト言語にしては開発環境充実してるよね。
そうやってどれがいいとか選べるのも面白い。
715:デフォルトの名無しさん
08/01/05 01:45:36
vi
716:デフォルトの名無しさん
08/01/05 10:53:04
>>704
朝起きたら一度起動してずっとそのままだから
717:デフォルトの名無しさん
08/01/05 12:47:17
「経験上、ほとんどのプログラマは以下の『宗派』のいずれかに分類される」
経験カルト 最適化カルト 簡単カルト 高速カルト
不確実性カルト 完璧カルト カーゴ・カルト
URLリンク(slashdot.jp)
718:デフォルトの名無しさん
08/01/05 15:37:07
俺は完璧カルトか・・・
719:デフォルトの名無しさん
08/01/05 17:12:43
元記事読んだけど、自分は簡単カルトだった。
Uncertainty Cultはカルトというよりはただの慎重派のような・・
720:デフォルトの名無しさん
08/01/05 20:23:07
macでpythonを始めました.
IDLEで日本語を扱えるようにするにはどうすれば良いですか?
お願いします
721:デフォルトの名無しさん
08/01/05 20:26:57
質問板で聞いてきます
スレ汚しすいませんでした
722:デフォルトの名無しさん
08/01/06 11:51:13
これから勉強するならバージョン3系と2系どっちがいい?
723:デフォルトの名無しさん
08/01/06 12:05:00
>>722
いまから始める程度の知識ならどちらも変わらない罠
安定しているor手に入っている処理系を使えばよかろ
724:デフォルトの名無しさん
08/01/06 12:51:39
3で勉強は無理
725:デフォルトの名無しさん
08/01/06 12:54:13
Py2.0 から Py3.0 への移植に当たって
/ 演算子の挙動変更が一番怖い。
気づかぬところで何かが起こりそうだ
726:デフォルトの名無しさん
08/01/06 14:23:15
>>725
Introduction to Crunchy tutorial video - Crunchy - Learn: programming_tools, demonstration, open-source, cross-platform, interpreter, Python, interactive
URLリンク(showmedo.com)
切り捨て除算//が、普通の除算/になるんだっけか
どこに書いてあるんだ3.0の仕様とか,よくわからん
727:デフォルトの名無しさん
08/01/06 14:45:04
この辺りじゃね?
URLリンク(www.python.org)
URLリンク(docs.python.org)
728:デフォルトの名無しさん
08/01/06 15:19:41
py3000のやること、やらないことリスト
URLリンク(www.python.org)
URLリンク(www.python.org)
729:デフォルトの名無しさん
08/01/06 16:06:13
Alarm clock と表示されて終了してしまう場合,
何が問題でしょうか?
どの部分が問題なのかわからないので対処できずに困っています
730:デフォルトの名無しさん
08/01/06 16:17:37
再現コードが張られないので対処できずに困っています
731:デフォルトの名無しさん
08/01/06 16:40:00
>>726
逆
732:デフォルトの名無しさん
08/01/06 18:36:24
「みんなのpython」 という本を買ったのですが
52pくらいで既に何をしてるか意味がわかりません。
そんな僕でも↑で挙げられていた「pythonで学ぶプログラム作法」
を理解することができるでしょうか?
他にも初心者に分かりやすい入門書があれば教えてください。
733:デフォルトの名無しさん
08/01/06 19:16:54
>>732
Pythonの前に一般常識や日本語を勉強した方がいいと思うぜ。
734:デフォルトの名無しさん
08/01/06 19:27:53
>>732
その本はたぶん一番易しい部類に入る。
もう一冊入門書を買うのは無駄だから、
何がわからないのか整理してからここで質問すべし。
あと対話型シェルでサンプルコードを試すこと。
735:732
08/01/06 20:51:17
ありがとうございます!
頑張って理解できるようにしてみますっ!
736:デフォルトの名無しさん
08/01/06 22:45:38
便乗
初めてのPython買ったんですが、
表紙の絵の意味がわかりません。
なぜねずみなんですか?
737:デフォルトの名無しさん
08/01/06 22:51:34
Pythonクックブック(ウサギ)と並んで、蛇の獲物説が過去スレで言われていたな。
738:デフォルトの名無しさん
08/01/06 22:53:22
日常の細々とした用途なら最初の50ページくらいで間に合うんだよ。
イテレータとかオブジェクト指向とかわざわざ使うこともない
739:デフォルトの名無しさん
08/01/06 23:09:59
プログラミングPythonはヘビだからそれで我慢しる
あとはPythonシリーズ全部ヘビだと見分けが付かなくてよろしくないってのもあるかと
>>738
なんて本の最初の50ページ?
740:デフォルトの名無しさん
08/01/06 23:12:52
>最初の50ページ
初めてのPythonならビルトインオブジェクトの項にすら入っていないな
741:デフォルトの名無しさん
08/01/06 23:37:56
みんPyで確認したらリスト操作の途中だった。
116ページまでは頑張ってみましょう。
みんPyは用例不足なんで、説明の手際はいいけど
プログラムが初めての人にはイメージ沸きにくいね
742:デフォルトの名無しさん
08/01/07 02:53:09
ちょっと端末の再起動をpythonでやりたいのですが、どう書いたらいいのか教えてください
743:デフォルトの名無しさん
08/01/07 02:59:56
>>742
> ちょっと端末の再起動
ここをもっと環境含めて明示的に書いたら教えてくれるかも。
744:デフォルトの名無しさん
08/01/07 03:11:32
携帯のsymbianってOS積んでるX01NKなんです。他のNOKIAでも同じなんですが。。。
WMだと.netで簡単にできたのですが、pythonでもやろうとおもって適当に連想できるコマンドで書いても再起動できないのでどのように書いたらいいのかと思いまして
745:デフォルトの名無しさん
08/01/07 03:20:22
X01NKって法人向け専用でしょ?
会社の端末で遊ぶんじゃありません。
746:デフォルトの名無しさん
08/01/07 03:25:46
いえ、個人で買いましたよ。何せ学生ですからw
747:デフォルトの名無しさん
08/01/07 03:31:46
URLリンク(slashdot.jp)
748:デフォルトの名無しさん
08/01/07 03:48:04
ありです。
でも、それだと、ネットワーク越しのPCを再起動する方法っすよね?オイラがやりたいのは携帯自体を再起動させる方法なんす
749:デフォルトの名無しさん
08/01/07 06:03:15
対象は決まってるんだし、元の方法からその指定部分削れる分、
かえって楽なコードじゃないかと思った俺素人
750:デフォルトの名無しさん
08/01/08 11:28:43
PyDev使ってる方で、IronPython 設定できた方いらっしゃいませんか?
設定しようとすると 以下のエラーが出ます。
...
eclipse\plugins\org.python.pydev_1.3.10\PySrc\interpreterInfo.py, line 15, in Initialize
File , line 0, in __import__##4
ImportError: No module named os
調べてみたところ 環境変数 IRONPYTHONPATH に %PYTHONPATH%\Lib を 設定すると出来るらしいのですが、ダメでした。
参考:URLリンク(sourceforge.net)
よろしくお願いします。
環境
WinXP
Eclipse 3.3.1.1
PyDev 1.3.10
CPython2.5.1
IronPython1.1
751:750
08/01/08 11:51:45
>>750 です。
パソコン再起動したらできました。
Eclipse を 再起動してもできなかったのに。。。
スレ汚しごめんなさい
752:デフォルトの名無しさん
08/01/08 14:08:48
>>751
ランチャーとかから起動すると、
ランチャーが起動したときの環境変数しかみなかったりするよ。
753:デフォルトの名無しさん
08/01/08 15:20:14
×ランチャー
○ローンチャ
754:デフォルトの名無しさん
08/01/08 21:04:52
>>753
△ゲンマイチャ
755:デフォルトの名無しさん
08/01/08 21:13:50
燃えるお兄さん?コアすぎるだろ常考
756:デフォルトの名無しさん
08/01/08 21:16:17
>753
◎launcher
757:デフォルトの名無しさん
08/01/09 01:04:00
Δ隠されし 禁断の ゲンマイチャ
758:デフォルトの名無しさん
08/01/09 01:18:25
>>752
☆ラウンチャの男
759:デフォルトの名無しさん
08/01/09 04:50:25
ロケットローンチャ
760:750
08/01/09 07:23:53
>>752
それだ!
ランチャ使ってます。
なるほど、以後気を付けます
ありがと!
761:デフォルトの名無しさん
08/01/09 08:40:55
CでPythonの独自クラスを定義して、さらにそれを継承したクラスもCで記述する場合って、
継承とかどうやるの?
URLリンク(www.python.jp)
URLリンク(www.python.jp)
を見ながらやってるんだけど、継承して作る場合がいまいち良く分からない。
例えば、継承元クラスの構造体が
typedef struct {
PyObject_HEAD
PyObject *first;
PyObject *last;
int number;
} Noddy;
だったとして、これを継承したクラスを作りたい場合は
typedef struct {
Noddy noddy;
int mydata;
} NoddyEx;
でいいのかね? そのうえで、継承元 Noddy の PyTypeObject である noddy_NoddyType を
noddy_NoddyExType の tp_base に指定すればいいんだよね。
ただその場合、 tp_alloc とかの実装はどうなるんだろうか。今のところゼロで初期化して
継承元の設定を使ってるけど、NoddyEx で新たに確保しなきゃならない項目がある場合に
どう書いていいのかよくわからん。
762:デフォルトの名無しさん
08/01/09 08:47:14
あと、
def __init__(self, A, B=0, *args, *kwargs):
SUPERCLASS.__init__(self, *args, **kwargs)
...
に相当するコードをCで書く場合、*args と **kwargs の処理ってどうやってる?
int b=0;
PyObject* kw = PyDict_New();
PyDict_Update(kw, kwargs);
PyObject* val = PyDict_GetItemString("B", kw);
if (val) {
b = PyInt_AsLong(val);
PyDict_DelItemString(val);
}
て感じで、キーワード辞書のコピーを取っておいて、必要な値を pop してから
残骸を SUPERCLASS.__init__ (に相当するC関数)に渡す?
763:デフォルトの名無しさん
08/01/09 08:50:10
まちがえた
PyObject* val = PyDict_GetItemString(kw, "B");
if (val) {
b = PyInt_AsLong(val);
PyDict_DelItemString(kw, "B");
}
764:デフォルトの名無しさん
08/01/09 09:20:42
ローンチャ・ストラトス
765:デフォルトの名無しさん
08/01/09 12:15:58
質問失礼します。
def ptest( *a ):
for b in a: print b,
print ""
上記の関数呼び出しを、
ptest( "a=", 1, " b=", 2 )
ptest( "a=%d,%s" %( 1, "hoge" ) )
などではなく、通常のprint文のように、
ptest "a=", 1, " b=", 2
ptest "a=%d,%s" %( 1, "hoge" )
としたいのですが、どうしたら良いでしょうか?
分かる方お願いします。
766:デフォルトの名無しさん
08/01/09 12:29:52
できないよ。考え直すといいよ。
767:デフォルトの名無しさん
08/01/09 12:49:54
URLリンク(gihyo.jp)
768:デフォルトの名無しさん
08/01/09 12:53:13
>>765
関数呼び出しと文はまったく別物。文は自分では作れない。
769:765
08/01/09 13:29:31
>>766
>>768
勉強になりました。
ありがとうございました。
770:デフォルトの名無しさん
08/01/09 13:32:44
>>761
boost.pythonじゃだめなの?
URLリンク(d.hatena.ne.jp)
771:デフォルトの名無しさん
08/01/09 16:58:23
>>765
ruby
772:デフォルトの名無しさん
08/01/10 02:57:18
pythonにおける変数名等の標準的な命名規則って何ですか?
773:デフォルトの名無しさん
08/01/10 03:02:13
>>772
PEP 8 -- Style Guide for Python Code
URLリンク(www.python.org)
774:デフォルトの名無しさん
08/01/10 03:25:17
/bin/sh シェルのバッククォートを置き換える
URLリンク(www.python.jp)
これってshより複雑になってないですか?
もっとシンプルに`command`を実現することはできないのでしょうか?
775:デフォルトの名無しさん
08/01/10 03:27:34
>>772
URLリンク(www.oldriver.org)
776:デフォルトの名無しさん
08/01/10 03:30:08
コマンドの出力を取りたいだけならcommands.getoutput('command')でいいんでない
777:デフォルトの名無しさん
08/01/10 03:37:06
>>776
こんなのあったんですね
ありがとうございました
778:デフォルトの名無しさん
08/01/10 06:25:05
>>774
URLリンク(python.matrix.jp)
>>> args = ['python', '-c', 'print raw_input()']
>>> from subprocess import Popen, PIPE
>>> proc = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
>>> proc.stdin.write('input text')
>>> proc.stdin.close()
>>> proc.wait()
0
>>> print proc.stdout.read()
input text
>>> print proc.stderr.read()
>>>
779:デフォルトの名無しさん
08/01/10 06:28:48
より現実的な例ではこうなるでしょう:
try:
retcode = call("mycmd" + " myarg", shell=True)
if retcode < 0:
print >>sys.stderr, "子プロセスがシグナルによって中止されました", -retcode
else:
print >>sys.stderr, "子プロセスが終了コードを返しました", retcode
except OSError, e:
print >>sys.stderr, "実行に失敗しました:", e
780:デフォルトの名無しさん
08/01/10 10:02:17
>>777
PEP 8を知らない奴がPythonやるなよ
781:デフォルトの名無しさん
08/01/10 10:34:43
>> 780
「愚かな一貫性は小人物に憑いたおばけである」
782:デフォルトの名無しさん
08/01/10 10:50:01
おばけ(wwwwwwwww
幼稚園児かよ(wwwwwwwwwwwwwwwwwwwwwwwwwwwww
783:デフォルトの名無しさん
08/01/10 10:57:02
おばけ。
おばけ怖いね。たしかに怖い。
愚かな一貫性を捨ててPerlをやることにするよ。
784:デフォルトの名無しさん
08/01/10 11:08:49
おばけより人間の方が怖い
785:デフォルトの名無しさん
08/01/10 11:12:54
まんじゅうもこわい。
ついでにお茶もこわいんだけど。
786:デフォルトの名無しさん
08/01/10 14:13:05
>>775
>プログラミングにおける推奨案
> - ソースコードは Python の実装(PyPy、Jython、IronPython、Pyrex、
> Psyco など)ごとの欠点を引き出さないように書くべきである。たとえば、
> CPython が a+=b や a=a+b などの文字列連結をインプレイス処理して、効
> 率よく動作する実装に依存してはならない。これでは Jython での動作が遅く
> なってしまう。パフォーマンスに敏感な部分では、''.join() を使うべき
> である。こう書いておけば、様々な実装において、連結処理は線形時間で
> 処理できる。
PythonSpeed
URLリンク(newworld.ddo.jp)
合わせて読みたい。
787:デフォルトの名無しさん
08/01/10 15:17:15
Pythonの文字列って不変だから、+=演算子の振る舞いはあくまで
s = s + "hoge"
s = s.add("hoge")
であって
s.add("hoge")
では無いんだよな。
Pythonを始めたころは+=演算子ないのかよと思っていたら
仕様拡張されて文字列にも適用されたけど、
今になって思えば失敗な気がする。
(何で当時の俺はまんせーしてたんだか…)
788:デフォルトの名無しさん
08/01/10 16:01:26
>>782
別に幼児語じゃないぞ。
789:デフォルトの名無しさん
08/01/10 19:29:49
問題はおばけではなく小人物の方だからな
つまりどこに行っても同じ
790:デフォルトの名無しさん
08/01/10 21:22:38
はいはい。
おばけこわい。小人物こわい。
791:デフォルトの名無しさん
08/01/10 21:41:20
>>789
このねちっこさは小人物の仕業だろ常識的に考えて(wwwwww
792:デフォルトの名無しさん
08/01/10 22:22:58
>>786
PEP8の次にくるようにブックマークしたー
って、setオブジェクトってなんだよ…(しょっぱなで躓く)
793:デフォルトの名無しさん
08/01/10 22:39:49
>>787
In Java, we had well known it's difference same as 'String / StringBuffer'.
794:デフォルトの名無しさん
08/01/10 22:59:28
英語ダメな人キタコレwww
795:デフォルトの名無しさん
08/01/10 23:10:09
Would you please correct it?
796:デフォルトの名無しさん
08/01/10 23:34:39
とりあえず日本語でおk
797:デフォルトの名無しさん
08/01/10 23:38:47
どこから直して良いのかわかんないけど・・・
とりあえず過去完了は昔のある出来事以前のことをあらわすので
そこを現在完了に変えて、ついでに時制の一致とかも考えて・・・
You'd know it as defference between String and StringBuffer in Java.
ぐらいじゃないの?
798:デフォルトの名無しさん
08/01/10 23:39:28
It totally SUCK !!
799:デフォルトの名無しさん
08/01/10 23:40:41
sucksな。
800:デフォルトの名無しさん
08/01/10 23:46:24
「愚かな一貫性は小人物に憑いたおばけである」
801:デフォルトの名無しさん
08/01/10 23:58:18
kinnnen mare ni miru kuso sure no nagare
802:デフォルトの名無しさん
08/01/11 00:05:30
>>801
典型的なクソレス
803:デフォルトの名無しさん
08/01/11 01:11:53
>「おろかな一貫性は、・・
調べてたら元ネタがあった。
"A foolish consistency is the hobgoblin of little minds, adored by little
statesmen and philosophers and divines. With consistency a great soul has
simply nothing to do." - Ralph Waldo Emerson
(愚かな一貫性というものはちっぽけな精神にひそむお化けで、ちっぽけな
政治家や哲学者や聖職者達に崇められるものだ。偉大なる魂は一貫性など
とは全く無縁である。 - ラルフ・ワルド・エマソン)
割と有名な引用らしい。(知らんかったけど
804:デフォルトの名無しさん
08/01/11 04:42:52
質問させて下さい
python2.5+Vista環境でpywin32(Python for Windows extensions)を導入してみました
ところが付属Demoを実行すると次のようなエラーが出ます
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\python25\lib\site-packages\pywin32-210.0004_s-py2.5-win32.egg\win32com\__init__.py", line 5, in <module>
import win32api, sys, os
ImportError: No module named win32api
3時間あれこれしてみたのですが一向に分かりません
包含関係はwin32api∈pywin32だと思うのですが・・・
何か初歩的な設定ミスなどしているのでしょうか
原因の思い当たる方どうぞご教示願います
805:デフォルトの名無しさん
08/01/11 05:08:56
>>797
Thank you so much.
806:デフォルトの名無しさん
08/01/11 05:15:14
>>804
URLリンク(starship.python.net)
For some overviews of the Win32 API as exposed to Python,
see URLリンク(www.python.org)
807:デフォルトの名無しさん
08/01/11 05:18:10
URLリンク(www.python.org)
Win32all, Mark Hammond's add-on for the regular Python installer
(also including the Win32 API, COM support, and Pythonwin),
is available from the pywin32 project on SourceForge.
URLリンク(sourceforge.net)
808:デフォルトの名無しさん
08/01/11 06:35:50
>>804
eggの中身はzipだからpeなwin32api.pydは標準ではインポートできない
setuptoolsもインポートの拡張してなかったと思うし
というかそのeggファイルって非公式なものなんじゃ
809:804
08/01/11 10:54:55
>>806-808
egg排除してインストーラを使ってインストールし直したら
できました! みんなありがとう!!! 大感謝です!!!
今回の件でeasy_installやeggの特性も少し分かったので
スレタイ通り勉強になりました。今後も精進します。押忍
810:デフォルトの名無しさん
08/01/11 22:02:13
>>803
こっちのことわざで言えば
君子豹変す
あたりのことかな。
811:デフォルトの名無しさん
08/01/11 22:31:57
Jinsei iro iro
812:デフォルトの名無しさん
08/01/11 22:46:35
URLをパースして分解してくれるようなライブラリはありますか。
813:デフォルトの名無しさん
08/01/11 22:48:22
君子豹変す
小人面を革む (易経)
814:デフォルトの名無しさん
08/01/11 22:49:54
>>812
urlparse
815:デフォルトの名無しさん
08/01/11 22:57:39
で、結局怖いのは小人物なのか? それともおばけ(苦笑)なのか?
816:デフォルトの名無しさん
08/01/11 23:57:07
馬鹿な突っ込みしちゃったのが心のささくれになってるのはわかるけど、
おばけにこだわってるのはもう君だけだから、無理に苦笑とかしても、ログ遡られて「ああこの子ね」となるだけかと。
817:デフォルトの名無しさん
08/01/12 00:04:31
>>816
小人物乙(ww
818:デフォルトの名無しさん
08/01/12 01:22:01
即レスw
819:デフォルトの名無しさん
08/01/12 01:34:38
子供は寝ろよ
820:デフォルトの名無しさん
08/01/12 02:38:16
小人閑居して不善を為す
821:デフォルトの名無しさん
08/01/12 02:49:09
馬鹿の考え休むに似たり
822:デフォルトの名無しさん
08/01/12 03:29:59
生兵法は怪我の元
823:デフォルトの名無しさん
08/01/12 06:34:36
URLリンク(journal.mycom.co.jp)
JythonでDjangoが動いたようです。
824:デフォルトの名無しさん
08/01/12 07:16:04
>より最新のバージョンに対応したJythonの登場はそうとおい未来の話ではなさそうだ。
あと1年くらいか
825:デフォルトの名無しさん
08/01/12 12:18:35
花よりだんご
826:デフォルトの名無しさん
08/01/12 15:26:24
花よりだんごより金
827:デフォルトの名無しさん
08/01/12 15:41:16
それにつけても金の欲しさよ
828:デフォルトの名無しさん
08/01/12 16:41:28
談合三兄弟
829:,,・´∀`・,,)っ-○◎●
08/01/12 16:51:25
830:デフォルトの名無しさん
08/01/12 20:02:35
Py3.0では set がリテラル表記できると聞きましたが。。。。。。。
あたらしい文法増えるってことかい?
831:デフォルトの名無しさん
08/01/12 23:52:32
>>830
{'増', 'え', 'る', 'よ'}
{i for i in 'さらに、setとdictの'}
{k: v for k, v in enumarate('内包表記も。')}
832:デフォルトの名無しさん
08/01/13 01:42:26
pypyっていいね
833:デフォルトの名無しさん
08/01/13 02:38:35
{} を 空dict にするか 空set にするかという議論もあったようだけど、空dict になったらしい。
個人的には 空set の方がよかった。
834:デフォルトの名無しさん
08/01/13 07:48:25
>>833
無意味に後方互換性を崩すあんたのセンスを疑う。
835:デフォルトの名無しさん
08/01/13 08:31:58
>>831
Yさん、ご苦労様です
836:デフォルトの名無しさん
08/01/13 10:12:27
>>835
Yさんて誰よ
>>833-834
{} == set()
{:} == dict()
が自然じゃないかなぁ、と思ってた
確かに後方互換性がネックなんだけどね
837:デフォルトの名無しさん
08/01/13 11:56:25
pythonって、dictの要素を繰り返すのに
for k, v in dct.iteritems(): print k, v
としますけど、なんで
for k, v in dct: print k, v
でできるようにしなかったんでしょう?
for v in dct: print v
としたら、キーが表示されました。
どうせなら、next()で(k, v)が返されればいいのに。
838:デフォルトの名無しさん
08/01/13 13:15:05
for k, v in dct.items(): print k, v
839:デフォルトの名無しさん
08/01/13 14:41:03
for k in dct: print k, dct[k] じゃだめなんか
840:デフォルトの名無しさん
08/01/13 14:55:21
if k in dict: ....との一貫性のため、
だと思ってたけど。
841:デフォルトの名無しさん
08/01/13 16:41:24
>>840
あ、そう、それだ、
そういうのを Guido は、if k in dict と for k in dict がライムする(韻を踏む(?))と表現しているね。
URLリンク(mail.python.org)
842:デフォルトの名無しさん
08/01/13 16:42:28
Pythonの開発環境はIDLEで充分ですか?
まだPythonは初心者ですが
843:デフォルトの名無しさん
08/01/13 17:08:30
学習段階ならぶっちゃけメモ帳でも
844:デフォルトの名無しさん
08/01/13 17:14:30
いやさすがにメモ帳は
最低でも複数行をまとめてインデントしたり
コメントアウトできるエディターは必要
845:デフォルトの名無しさん
08/01/13 17:47:11
>>843-844
ありがとうございます
探してみます
846:デフォルトの名無しさん
08/01/13 18:29:17
pythonで入力フォームを作っているのですが、
入力値のチェックで全角のみ許可する場合は
どのようにすればいいのでしょうか?
正規表現でどのように書けばいいのでしょう?
お願いします
847:デフォルトの名無しさん
08/01/13 18:37:26
文字コード総合スレ part3
スレリンク(tech板)
848:デフォルトの名無しさん
08/01/13 19:09:38
>>846
正規表現ライブラリの動作をかんがえると
簡潔にできないなら別に正規表現にする必要はないかと。
Unicodeに統一させるのは前提として
文字単位で確認するようなコードをこさえればいいと思う。
速度求めるようなもんでもなさそうだし。
849:デフォルトの名無しさん
08/01/13 21:27:29
$KCODE = 'SJIS'
dat = ['Alpha', 'ひらがな', '漢字', 'カタカナ', '0123', 'ねこ大好き']
dat.each{ |str|
p str
case str
when /^[A-z]+$/s
p 'アルファベットのみ'
when /^[0-9]+$/s
p '数字のみ'
when /^[あ-ん]+$/s
p 'ひらがなのみ'
when /^[ア-ン]+$/s
p 'カタカナのみ'
when /^[亜-煕]+$/s
p '漢字のみ'
else
p '混合か全角英数字か記号'
end
}
850:デフォルトの名無しさん
08/01/13 21:33:46
先生、ここはPythonスレです・・・
851:デフォルトの名無しさん
08/01/13 21:41:43
UNICODEにしたときも
^[亜-煕]+$
って保証されるんかいな?
852:デフォルトの名無しさん
08/01/13 22:22:29
「半角のみ」禁止なら割と簡単だけど・・・
853:デフォルトの名無しさん
08/01/13 22:23:01
unicodedataつかいなよ
854:デフォルトの名無しさん
08/01/13 22:50:41
>>851
UNICODEなら、漢字全部って意味でそれ書いちゃ間違い
855:デフォルトの名無しさん
08/01/13 22:56:46
UNICODE(UCS-2)の文字コード順で書かないとな
漢字(統合漢字とExt.Aだけ)はこうか
r'^[\u4E00-\u9FBB\u3400-\u4DB5]+$'
856:デフォルトの名無しさん
08/01/13 23:32:08
>>> unicodedata.east_asian_width(u'A') # 全角のA
'F'
>>> unicodedata.east_asian_width(u'ア') # 半角のア
'H'
>>> unicodedata.east_asian_width(u'あ')
'W'
>>> unicodedata.east_asian_width(u'A') # ASCII のA
'Na'
>>> unicodedata.east_asian_width(u'W')
'A'
>>> unicodedata.east_asian_width(u'\u0E20') # タイ語の文字
'N'
URLリンク(0xcc.net)
857:デフォルトの名無しさん
08/01/13 23:48:22
……「半角が混じってたらNG」
というロジックにしちゃえというのは禁句だろうか
858:デフォルトの名無しさん
08/01/14 00:03:10
2バイト半角もあるからな
859:デフォルトの名無しさん
08/01/14 04:39:57
もう全部UTF-32でいいよもう
860:デフォルトの名無しさん
08/01/14 09:28:22
禁止にするとかじゃなくて
内部でお好みの全角のみか何かに正規化するのが定石じゃん?
全角のみでおねがいします、の入力フォームを見るたびに
殴りたくなるぜ
861:デフォルトの名無しさん
08/01/14 10:53:30
俺も正規化すればいいと思う。
862:デフォルトの名無しさん
08/01/14 12:55:16
>>846
一旦EUC-JPかShift_JISにしてASCIIの範囲の文字とそれ以外に分ければいいと思う。
863:862
08/01/14 13:42:18
# -*- coding: utf-8 -*-
def is_zenkaku(s):
assert isinstance(s, unicode)
try:
s = s.encode("euc-jp")
except UnicodeError:
return False
i = 0
while i < len(s):
if s[i] < '\x80': # ASCII
return False
elif s[i] == '\x8e': # JIS X 0201 Katakana
return False
elif s[i] == '\x8f': # JIS X 0212 Supplementary Kanji
i = i + 3
else: # JIS X 0208
i = i + 2
return True
864:863の続き
08/01/14 13:43:21
if __name__ == "__main__":
assert is_zenkaku(u"日本語") == True
assert is_zenkaku(u"Kanji") == False
assert is_zenkaku(u"Kanji") == True
assert is_zenkaku(u"12345") == False
assert is_zenkaku(u"12345") == True
assert is_zenkaku(u"パイソン") == False
assert is_zenkaku(u"パイソン") == True
assert is_zenkaku(u"森\u9dd7外") == True
assert is_zenkaku(u"Espa\u00f1ol") == False
assert is_zenkaku(u"Россия") == True
assert is_zenkaku(u"Αθηνα") == True
assert is_zenkaku(u"(・∀・)イイ!") == True
assert is_zenkaku(u"(・A・)イクナイ!") == False
865:デフォルトの名無しさん
08/01/14 18:26:52
>>849
rubyってそんな面倒なことしないと分けれないのかよwww
>>863
そんな面倒なことせずに
east_asian_width使えばいいだろ
866:デフォルトの名無しさん
08/01/14 19:08:51
>>865
ソースに問題点あるみたいなのでそっちの方が面倒そう<east_asian_width
URLリンク(d.hatena.ne.jp)
867:methane
08/01/14 19:27:05
>>866
それはdocutilsの中でeast_asian_width()の結果をどう扱ってるかって話。
日本限定で使う分にはこんな感じで良いと思う。
def char_width(s):
if type(s) == 'str': s = unicode(s)
return 2 if east_asian_width(s) in 'WFA' else 1
868:デフォルトの名無しさん
08/01/14 19:41:43
なるほど・・
869:デフォルトの名無しさん
08/01/14 19:51:10
>>866
それは、現在の実装がblogの人の想定と違ってるってだけでそ。
そこにある修正したら、\u00A1(INVERTED EXCLAMATION MARK)とかもWide&Full-widthと同じ扱いされてまうやん。
870:methane
08/01/14 20:53:09
スマン、east_asian_width() == 'A' の文字ってCJK圏では全部Wide文字扱いかと思ってた。
>>867 のも、'A'を入れるか入れないかは微妙なんだな。
871:デフォルトの名無しさん
08/01/14 21:12:40
A - East Asian Ambiguous
Ambiguous : あいまい(な)
なわけで。
URLリンク(www.unicode.org)
872:methane
08/01/14 21:18:31
いや、A=Ambigious=「あいまい」は知ってたけど、
CJK圏ではWide、それ以外ではNarrow、という意味で「あいまい」だと思ってた。
Unicodeメンドイな。
873:862
08/01/14 21:21:25
>>865
へー、unicodedata.east_asian_width() なんてあるんだ。知らんかった。Thanx
874:デフォルトの名無しさん
08/01/14 22:03:15
Rubyのgets.to_iにあたる、数値入力を取得する命令ってどう書いたらいいんでしょうか?
875:デフォルトの名無しさん
08/01/14 22:37:06
数値計算libでnumarray numpyとか似たようなのが複数あるけど
どれが一番いいの?
876:デフォルトの名無しさん
08/01/15 00:02:47
>>874
try:
a = input()
except NameError:
a = 0
877:デフォルトの名無しさん
08/01/15 00:09:30
>>876
その発想は無かった。
878:デフォルトの名無しさん
08/01/15 00:16:05
>>874
import sys
x = int(sys.stdin.readline())
impoすらメンドいならint(raw_input())
879:デフォルトの名無しさん
08/01/15 00:26:31
>>876
>>878
ありがとうございました。
880:デフォルトの名無しさん
08/01/15 13:37:12
自鯖でpythonを動かし、rssなんかを取得したいのですが、
cgiからurllibでgetするとソケットエラーになります。
pythonを起動してやれば、普通に取得できます。
分かる方いたらお願いします。
OS : CentOS release 5 (Final)
Server : Apache/2.2.3
python : 2.4.3
881:デフォルトの名無しさん
08/01/15 15:26:14
>>880
> urllibでgetするとソケットエラーになります。
「ソケットエラー」なんてエラー出力にはならないと思うし
勝手な省略したらわかるものもわからなくなるよ?
その環境にはないけどオチとしてはSELinuxが働いている、かな。
882:デフォルトの名無しさん
08/01/15 16:11:03
>>881
動きました。ありがとうございます。
エラー文見て、適当に略してしまいました、すいません。
IOError: [Errno socket error] (-3, 'Temporary failure in name resolution')
883:デフォルトの名無しさん
08/01/15 16:34:40
frobnicate - Google 検索
URLリンク(www.google.co.jp)
質問
frobnicateってどういう意味ですか?
884:デフォルトの名無しさん
08/01/15 16:50:24
>>883
その検索結果のROT13の頁を見よ
885:デフォルトの名無しさん
08/01/15 19:01:23
>>884
ROT13 - Wikipedia
Wikipedia項目リンク
>このルーチンはROT13と同じ目的で用いられるが、任意の二進データに利用可能である
>(ユーモアをこめて、「意味不明化」(en:frobnicate)関数と呼ばれる)。このルーチンではデータの
>各8-bitバイトをとり、二進数の00101010(十進表記では42。人生、宇宙、すべての答え参照)と
>の間のビット毎の排他的論理和 (XOR) を計算する
ですね
Re: [Python-Dev] Replacement for print in Python 3.0 :: ASPN Mail Archive :: python-dev
URLリンク(aspn.activestate.com)
>printf('$1 forgot to frobnicate the $2!\n', username, file.name,
> to=sys.stderr)
>While that's a little less self-descriptive for a translator to deal
>with (who would only see the string, not the call site), it certainly
>looks nicer for a non-i18n application, and could certainly work for an
>i18n app too. It's a neat idea worth exploring.
意味不明化する、いう使い方をするみたいですね
dくす
886:デフォルトの名無しさん
08/01/15 19:39:21
>> I request the addition of prod():
>>
>> def prod(seq):
>> s = 1
>> for x in seq:
>> s *= x
>>
>> prod is always as useful as sum()
>
>It would have to be called product(), and I believe it has been proposed
>multiple times and been rejected under the "not every 3-line function
>has to be builtin" rule.
そんなルール在ったんだw
887:デフォルトの名無しさん
08/01/16 00:46:04
set に含まれる要素うち、2つを取り出して比較ってのを全組み合わせについて
やりたいんだけど、効率よく処理するにはどうすればいいだろう。
最初に思いたのは s = set([.........]) として
seq = tuple(s)
for i in range(len(seq)-1):
for j in range(1, len(seq)):
my_cmp(seq[i], seq[j])
なんだけど、すごい遠回りして処理してる気がする。
意外とベタに
[my_cmp(i, j) for i in seq: for j in seq]
ってインラインぽくやった方が早いのかな。ちなみに
my_cmp での比較順番は関係なし。(交換法則が成り立つ)
これを C で実装できればなおいいんだけど
C-APIには集合オブジェクトの処理がないんだよね。。。
888:デフォルトの名無しさん
08/01/16 01:08:04
for x in list(s):
s.remove(x)
for y in s:
my_cmp(x, y)
889:デフォルトの名無しさん
08/01/16 12:27:57
効率よく、という趣旨からは外れるかもしれないけど、
URLリンク(aspn.activestate.com)
の下の方のやつを使えば、
for p in comb(list(s), 2):
my_cmp(*p)
とすっきり書ける。
890:デフォルトの名無しさん
08/01/16 23:41:58
ls = list(s)
for i in ls[:-2]:
for j in ls[1:]:
my_cmp(i, j)
891:デフォルトの名無しさん
08/01/17 17:57:12
総当たりになってないw
892:デフォルトの名無しさん
08/01/18 03:10:51
URLリンク(www.python.org)
面倒臭そうだ
893:デフォルトの名無しさん
08/01/18 12:05:26
${HOME}/bin
${HOME}/lib/python2.5
${HOME}/share
俺は↑みたいにやってパスを通している。
/usr/local = ${HOME} の位置づけ
${HOME}/.local/lib/python2.6
わざわざ隠さなくてもいいよ。
存在を忘れそうだ。
タイプも面倒くさいし。
894:デフォルトの名無しさん
08/01/18 21:21:23
半角と全角が混じった文字列を途中から改行するには
どうすればいいですか?
895:デフォルトの名無しさん
08/01/18 22:45:40
unicode に変換したら
896:デフォルトの名無しさん
08/01/18 23:15:20
禁則処理のことを云って居るのか?
897:デフォルトの名無しさん
08/01/18 23:34:09
この質問にちゃんと答えられたら
その人はPGじゃなくてエスパーだろ。
898:デフォルトの名無しさん
08/01/18 23:57:27
マルチバイト文字が入ってる文字列に改行を挿入したら泣き別れが
起きてしまうんですがどうしたらいいですか、なのかなぁ
899:デフォルトの名無しさん
08/01/19 01:38:32
半角と全角とか言ってるからそこらへんかも
つ Unicode 文字列
900:デフォルトの名無しさん
08/01/19 06:26:07
lxmlの最新バージョンのwindows用インストーラーがないんだけど
901:デフォルトの名無しさん
08/01/19 11:00:18
あんたRubyにいいたいことがあるんじゃないんですか? とくにPythonと比べてみて。
URLリンク(pub.cozmixng.org)
902:デフォルトの名無しさん
08/01/19 13:40:00
他の言語なんて放っておけ
903:デフォルトの名無しさん
08/01/19 16:00:57
Pythonの勉強をしにきました!
904:デフォルトの名無しさん
08/01/19 16:02:35
やっぱやめた!
905:デフォルトの名無しさん
08/01/19 16:17:47
>903
あきらめ早すぎ。
906:デフォルトの名無しさん
08/01/19 19:30:12
Pythonチュートリアル重要だねえ
print時の文字フォーマットは辞書を使って
>>>fuga = {'hoge':'doutei'}
>>>print("%(hoge)s" % fuga)
>>>doutei
ができることを知ったよ。恥ずかしいのですべて読み切る。
907:デフォルトの名無しさん
08/01/19 19:31:03
なんでprintに()つけるん?
908:デフォルトの名無しさん
08/01/19 19:31:51
>>907
Python3000から付けるようになるとのことで、
今のうちから括弧付ける癖付けてる
909:デフォルトの名無しさん
08/01/19 19:40:02
print("%(hoge)s" % (fuga,))
が正しい
910:デフォルトの名無しさん
08/01/19 19:55:33
>>907
かっこつかないだろ
後悔はしていない
911:デフォルトの名無しさん
08/01/19 19:56:37
>>909
Traceback (most recent call last):
File "<pyshell#909>", line 1, in <module>
print("%(hoge)s" % (fuga,))
TypeError: format requires a mapping
適当なことを言うのはやめるんだ
912:デフォルトの名無しさん
08/01/19 20:20:07
( "ヮ")
913:デフォルトの名無しさん
08/01/19 20:37:41
import string
print string.Template('$hoge').substitute(fuga)
というのも一応ある
914:デフォルトの名無しさん
08/01/19 22:57:31
URLリンク(slashdot.jp)
915:デフォルトの名無しさん
08/01/20 02:24:27
ただいまメンテナンス中です
Slashdot Japan は現在メンテナンスを行っております。
ご迷惑をおかけして、誠に申し訳ございません。
しばらく後にもう一度アクセス頂けますよう、お願い申し上げます。
916:デフォルトの名無しさん
08/01/20 03:01:44
メンテ終わったよ
917:デフォルトの名無しさん
08/01/20 03:02:55
>>906
>>> hoge = 'doutei'
>>> print '%(hoge)s' % locals()
doutei
こんな技もあるから覚えておくといいよチェリーボーイ
918:デフォルトの名無しさん
08/01/20 14:50:00
>>916
39
919:デフォルトの名無しさん
08/01/20 16:12:47
もう伸びないってさ
920:デフォルトの名無しさん
08/01/20 20:10:47
>>917
どもども
921:デフォルトの名無しさん
08/01/20 22:08:28
今日からPython始めようと思うのだけれど
まずはチュートリアルを読めばいいのかな?
922:デフォルトの名無しさん
08/01/20 22:25:12
多言語を知っているのなら
でもそんな人はそんな質問しないだろうな
923:デフォルトの名無しさん
08/01/21 00:10:31
>>919
そうそう。Pythonはもう伸びない。
だからこんなに便利なプログラミング言語を使わなくていいよ。
今すぐ別の言語に移ってくれていいよ。
924:デフォルトの名無しさん
08/01/21 00:14:57
>>923
今の所、今年のキモレスNo1
925:デフォルトの名無しさん
08/01/21 00:16:44
>>924
もうPythonから離れていいよ。
100000万キロくらい離れていいよ。
むしろ二度と近寄らなくていいから。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5394日前に更新/217 KB
担当:undef