くだすれPython(超初心者用) その17
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/04/07(日) 17:25:16.06もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その16
http://toro.2ch.net/test/read.cgi/tech/1358753763/
関連スレ
Pythonのお勉強 Part48
http://toro.2ch.net/test/read.cgi/tech/1358750040/
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
http://toro.2ch.net/test/read.cgi/tech/1235050215/
◆関連リンク
Python の Home Page
ttp://www.python.org/
0002デフォルトの名無しさん
2013/04/07(日) 17:25:59.36|_::;; ~"'ヽ
| //^''ヽ,,)
| i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
|( ´∀`) < きのこ のこーのこ げんきのこ ♪
|(ノ |つ
| |
⊂ _ ノ
""U
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
(´∀` )| < エリンギ まいたけ ブナシメジ ♪
⊂| (ノ |
| |
ヽ _ ⊃
.U""
|
| ミ
| ミ サッ!
| ミ
|
0003デフォルトの名無しさん
2013/04/07(日) 17:27:55.82│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0004デフォルトの名無しさん
2013/04/08(月) 09:35:04.270005デフォルトの名無しさん
2013/04/08(月) 09:47:39.850006デフォルトの名無しさん
2013/04/08(月) 12:07:41.23例の日本語.pyが実行できない問題は修正されました
0007デフォルトの名無しさん
2013/04/08(月) 12:23:35.080008デフォルトの名無しさん
2013/04/08(月) 12:26:14.76・・・大丈夫なの?
0009デフォルトの名無しさん
2013/04/08(月) 15:58:44.34HTMLパースライブラリってありますか?
Javaのjsoupのようなものが理想です
ttp://jsoup.org/cookbook/extracting-data/selector-syntax
0010デフォルトの名無しさん
2013/04/08(月) 16:00:41.60これ以外でよろしくお願いします
0011デフォルトの名無しさん
2013/04/08(月) 16:22:00.87http://lxml.de/cssselect.html
http://pythonhosted.org/cssselect/#supported-selectors
0012デフォルトの名無しさん
2013/04/08(月) 17:28:50.71ありがとう
じっくり検討してみます
0013デフォルトの名無しさん
2013/04/08(月) 17:39:25.240014デフォルトの名無しさん
2013/04/08(月) 20:51:44.920015デフォルトの名無しさん
2013/04/08(月) 22:17:40.10これは!理想系ですね。
重ねて御礼申し上げます。
0016デフォルトの名無しさん
2013/04/09(火) 13:40:25.00Readme読みながら初めて自分でビルドしてみたんだ…
あれがないだの これが通ってないだの…警告が大量に出て
言われている意味が1/3も理解できねー
お前らこんなことを日常的にやってんだな マジ尊敬するわ
0017デフォルトの名無しさん
2013/04/09(火) 13:43:23.090018デフォルトの名無しさん
2013/04/09(火) 21:13:05.08皮肉でいってんの?
0019デフォルトの名無しさん
2013/04/09(火) 21:30:08.240020デフォルトの名無しさん
2013/04/09(火) 22:06:37.65最適化が甘いとか言って、自前でレンダリングエンジンを
作り直しちゃう人とかいたりするもんな。
0021デフォルトの名無しさん
2013/04/09(火) 22:51:56.11maya?
0022デフォルトの名無しさん
2013/04/10(水) 06:49:48.18皮肉言いに畑違いの板まで来るか あほー
正直2週間上手く行ってなくて質問しようと思って来たんだけど
前スレ読んだら俺は超初心者以前レベルっぽかったから
もっと自分でやらんといかんなと思い直して尊敬の意を表して帰った次第
>>21
YES
つか皮肉にとられるくらいお前らには簡単なことなんだなやっぱ… それができない俺って…
ネットで検索しても知ってて当たり前みたいに書かれているけど
やさしいC++やってみたけどmakefileのこととか一言もなかったし
ビルドに必要な知識って言語の知識とはまた別枠なのか?
ガチのアホ用に本があれば紹介してくれないか
せめて指示されている内容と自分が何が分からんかは分かるようになりたいわ
0023デフォルトの名無しさん
2013/04/10(水) 07:04:40.98とりあえず環境と自分のやったこととエラーを晒してみたら?
0024デフォルトの名無しさん
2013/04/10(水) 07:04:57.51なるほど
っていうかmaya python使うのにビルドってなにやってんの?
ツールプログラマいないの?
0025デフォルトの名無しさん
2013/04/10(水) 10:30:25.58OSとかバージョンとか、何をやったら、何が表示されたとか、どんな現象が出たとか
0026デフォルトの名無しさん
2013/04/10(水) 18:38:43.042.5.1→2.6.4かな
0027デフォルトの名無しさん
2013/04/10(水) 20:46:22.10ご厚意ありがと
今の状態じゃ回答もらっても俺が理解も応用もできそうにないから もちっと自分でも頑張ってから聞くわ
makeの本なんてものがあるのか windowsだとMAKEの達人というのでいいんかな これだけじゃ解決しないとのことだがまずは読んでみる
後日お相手してくれー
>>24
色々… PILで画像いじったりNumPyでベクトルいじったりlxmlでXMLいじったり…
今いるところは映像メインでプログラマがいないんだわ
>>26
Mayaに組み込まれているPython2.6.4がVS2008+MSVCR90C製からVS2010+MSVCR10C製になったのよ
0028デフォルトの名無しさん
2013/04/10(水) 20:55:08.54numpyと言えばanaconda accelerateが気になるわ
pycudaより凄いかな
0029デフォルトの名無しさん
2013/04/10(水) 21:15:13.36VCのプロジェクトでビルドするだけで黙っててもバイナリができる
というか、本当にビルドが必要なのか?
組み込まれてるものなのにPythonだけユーザーに更新させるって奇妙な話だろ
Mayaのドキュメント見ると一緒にインストールされるって書いてあるし
0030デフォルトの名無しさん
2013/04/10(水) 21:18:20.21変更になったのか
変更が必要になったのか
の区別も付いてないような気がする
変更しなければならなくなったと判断した根拠はなんだろう
0031デフォルトの名無しさん
2013/04/10(水) 21:30:29.79Googleにmaya msvまで入れたらサジェストされたし
0032デフォルトの名無しさん
2013/04/10(水) 21:50:30.08Mayaに組みこまれているPythonがVS2008からVS2010でビルドされたものに替わったせいで
NumPyやPILといったVS2008でビルドされている拡張が動かなくなった
だからVS2010で拡張をビルドしたい、でもうまくいかない、ってこと?
とりあえずMakeの本はいらないよ
0033デフォルトの名無しさん
2013/04/10(水) 21:51:20.24一般のPython2.6は2008でビルドされてるから、Mayaにバンドルされたバイナリパッケージが使えない
のかもしれない
0034デフォルトの名無しさん
2013/04/10(水) 21:51:41.910035デフォルトの名無しさん
2013/04/10(水) 21:53:00.98PythonをビルドしたいんじゃなくてMayaPythonで使うサードパーティ製のモジュールをビルドしたいんだ
すまんな分かりにくくて…
Maya内でサードのモジュールを使いたければ2010を使って自分でビルドしなさいというのはサポートからのお達し
日本だと話題になっていないっぽいんだが海外掲示板見るとモジュールが動かなくなったというのがちらほらある
で どれもビルドは簡単だから問題ない自分でやれと言われている で 俺がへこむ
とりあえずPILは内で動くようにはなった なんか怪しいからもうちょい調べる
あんま分かってないのは100%認める
>>31
msvcr100.dllは入ってるで
0036デフォルトの名無しさん
2013/04/10(水) 21:56:14.79Python2.7にnumpyをeasy_installか何かで入れてMayaPythonにコピーしたら動かないだろうか
0037デフォルトの名無しさん
2013/04/10(水) 21:57:27.872.7も2008やん。
0038デフォルトの名無しさん
2013/04/10(水) 22:00:33.29>>32 >>33
YESそれそれ 質問する方が知識ないとほんと駄目だな
makeの本は注文してしまった すまぬ…まあこれはこれで面白そうだから…
0039デフォルトの名無しさん
2013/04/13(土) 19:52:39.50b"a"からb"\x00\x61"に変換しようと調べてるのですが、\x00\x61なんというタイプのデータ分からず調べられません。
これはなんていうのでしょうか?
0040デフォルトの名無しさん
2013/04/13(土) 21:08:42.78>>> a = b'a'
>>> a.decode('ascii').encode('utf-16be')
b'\x00a'
とか?
というか、なんで元がバイト列なの?
004139
2013/04/13(土) 22:57:17.090042デフォルトの名無しさん
2013/04/13(土) 23:02:47.140043デフォルトの名無しさん
2013/04/13(土) 23:34:30.24unichr(ord(a))
0044デフォルトの名無しさん
2013/04/19(金) 09:47:06.64原著の第5版が6月発売予約受付中とかですがこっちが先に出たりしますか
0045デフォルトの名無しさん
2013/04/19(金) 12:43:39.960046デフォルトの名無しさん
2013/04/19(金) 15:13:58.29日本語版はまだ3版(py3暫定対応)なんだね。
python3出た時期で需要ありそうなのに。
原著5版が先に出ると周回遅れか。
0047デフォルトの名無しさん
2013/04/19(金) 18:23:44.46pythonの本出すくらいならPHPの本濫造するわ
0048デフォルトの名無しさん
2013/04/20(土) 12:10:19.31もちろん第5版を。
0049デフォルトの名無しさん
2013/04/20(土) 12:24:09.970050デフォルトの名無しさん
2013/04/20(土) 21:03:45.06ちなみに4版は1216ページ
0051デフォルトの名無しさん
2013/04/20(土) 21:06:03.720052デフォルトの名無しさん
2013/04/20(土) 21:34:39.630053デフォルトの名無しさん
2013/04/20(土) 22:39:47.660054デフォルトの名無しさん
2013/04/20(土) 22:55:21.390055デフォルトの名無しさん
2013/04/20(土) 23:05:35.210056デフォルトの名無しさん
2013/04/20(土) 23:13:50.900057デフォルトの名無しさん
2013/04/20(土) 23:40:11.21どうしても出したければ Teach Yourself Python in 365 Days に改題すべき
0058デフォルトの名無しさん
2013/04/20(土) 23:41:33.77その前にジャップが全くPythonに貢献していない事実
0059デフォルトの名無しさん
2013/04/20(土) 23:53:46.99http://hg.python.org/committers.txt
armin.ronacher さんがちょっと変わった名前だけど日本人
0060デフォルトの名無しさん
2013/04/21(日) 00:01:01.19日本のコミュニティや市場ではなく
0061デフォルトの名無しさん
2013/04/21(日) 00:09:09.71使っていないモジュールのimportを削除するとimportしているモジュールが見つかりませんというエラーがでます。
たとえば
import A from B
import C
def func():
C.cfunc()
というコードが問題なく動く状態で、import A from Bを削除すると
AttributeError: 'module' object has no attribute 'cfunc'
というエラーがでます。調査方法のヒントとかなんでもいいので何かあったら教えてください。
0062デフォルトの名無しさん
2013/04/21(日) 00:13:44.27^
SyntaxError: invalid syntax
0063デフォルトの名無しさん
2013/04/21(日) 00:18:02.30でした。ごめんなさい。
0064デフォルトの名無しさん
2013/04/21(日) 00:22:42.46importしてるモジュールと被ってるとか
0065デフォルトの名無しさん
2013/04/21(日) 01:03:27.63for i in range(len(p)):
print p[i]
p = [[1.0]*5]*4
show(p)
for i in range(4):
for j in range(5):
p[i][j]=p[i][j]*2
show(p)
で結果が
[1.0, 1.0, 1.0, 1.0, 1.0]
[1.0, 1.0, 1.0, 1.0, 1.0]
[1.0, 1.0, 1.0, 1.0, 1.0]
[1.0, 1.0, 1.0, 1.0, 1.0]
[16.0, 16.0, 16.0, 16.0, 16.0]
[16.0, 16.0, 16.0, 16.0, 16.0]
[16.0, 16.0, 16.0, 16.0, 16.0]
[16.0, 16.0, 16.0, 16.0, 16.0]
[16.0, 16.0, 16.0, 16.0, 16.0]
となります。
2つ目の結果は、
[2.0, 2.0, 2.0, 2.0, 2.0]
[2.0, 2.0, 2.0, 2.0, 2.0]
[2.0, 2.0, 2.0, 2.0, 2.0]
[2.0, 2.0, 2.0, 2.0, 2.0]
っとなって欲しいのに思うようにいきません
どうしたらいいですか?
0066デフォルトの名無しさん
2013/04/21(日) 01:10:54.710067デフォルトの名無しさん
2013/04/21(日) 01:19:54.14ちなみにp = [[1.0]*5]*4でうまくいかないのはなんでですかね…
0068デフォルトの名無しさん
2013/04/21(日) 01:26:15.15x = [1.0]*5
p = [x,x,x,x]
つまりp[i]は同じオブジェクトを指していて、
p[i][j]=p[i][j]*2 は x[j]=x[j]*2 を何度も繰り返してることになる
0069デフォルトの名無しさん
2013/04/21(日) 01:27:40.49これはえげつないですね…
0070デフォルトの名無しさん
2013/04/21(日) 07:22:43.470071デフォルトの名無しさん
2013/04/21(日) 07:30:36.08こんなのでもえげつないと思うかもしれないな
>>> a = [1, 2, 3]
>>> b = a
>>> b[1] = 100
>>> a
[1, 100, 3]
0072デフォルトの名無しさん
2013/04/21(日) 10:13:38.21えげつなっ!
0073デフォルトの名無しさん
2013/04/21(日) 11:09:28.150074デフォルトの名無しさん
2013/04/21(日) 11:42:44.280075デフォルトの名無しさん
2013/04/21(日) 11:49:39.550076デフォルトの名無しさん
2013/04/21(日) 11:59:57.05みんなのバクチンくん
0077デフォルトの名無しさん
2013/04/21(日) 12:59:17.90〜
007861
2013/04/21(日) 14:39:55.47ありがとうございます。
一通り使ってるモジュールみてみたんですが、よくわかりませんでした。すみません。。
やろうとしていること:
元々スクリプトを起動してwsgirefを使ってサーバにしていたのをmod_wsgiを使うようにしたので、不要となったwsgirefのimportを取り除く。
コード:
import urllib
import json
import ipaddress
from datetime import datetime
import sqlite3
import re
from my_module import my_class
from wsgiref.simple_server import make_server#これを消すと下のエラーがでる。
エラー:
q = urllib.parse.unquote(string)
AttributeError: 'module' object has no attribute 'parse'
試したことなど:
from datetime import datetimeをimport datetimeにしてみましたがだめでした。
importを消して、別のモジュールの関数が見えなくなるというのがよくわかりません。。
ほかに何かあれば教えてください。
0079デフォルトの名無しさん
2013/04/21(日) 15:02:59.22そもそもpython3でimport urllib.parseが要ると思うんだが?
0080デフォルトの名無しさん
2013/04/21(日) 15:24:20.09008161
2013/04/21(日) 15:36:31.25ありがとうございます。それでした。
http://docs.python.org/3.3/tutorial/modules.html
parseはサブモジュールだから、import urllib.parseでやらないと駄目みたいですね。
urllibをトップレベルとしてimportしたら"."区切りで追えるもんだと勝手に思ってました。
あと、エラーでぐぐったら普通にでてきましたごめんなさい。
008261
2013/04/21(日) 15:40:28.62不思議ですね。
008361
2013/04/21(日) 16:07:27.96urllibのサブモジュールであるparseの関数は呼べる。
http://www.python.org/dev/peps/pep-3333/
こういうのってIRCとかいって聞いたら怒られるかな
0084デフォルトの名無しさん
2013/04/21(日) 16:30:31.90ウソだろ?と思って試したら本当だったw
みんな知ってる事なのかな?
[~/tmp/pytest]% echo $PYTHONPATH
.
[~/tmp/pytest]% cat test_submodule_import.py
import remember.memoize
[~/tmp/pytest]% python
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import remember
>>> remember.memoize
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'memoize'
>>> import test_submodule_import
>>> remember.memoize
<module 'remember.memoize' from '/usr/local/lib/python2.7/dist-packages/remember/memoize.pyc'>
008561
2013/04/21(日) 16:42:02.22コード見れば分かるようなことだった。でもIRCのbobさん教えてくれた。やさしい。
008661
2013/04/21(日) 19:01:56.02cgiモジュールでもurllib.parseをimportしてたのでそっちを例に使います。
import cgiしただけではNameError: name 'urllib' is not definedとなるのはなぜでしょうか。
sys.modulesを確認すると
urllib<module 'urllib' from '/opt/python3/lib/python3.3/urllib/__init__.py'>
urllib.parse<module 'urllib.parse' from '/opt/python3/lib/python3.3/urllib/parse.py'>
が存在しています。cgiモジュールでimportされてると理由でurllib.parse.quote()が呼べるなら、import cgiした時点で呼べてもよさそうに思います。
それとimport cgiした時とimport cgi, import urllibした時のsys.modulesは一緒でした。
0087デフォルトの名無しさん
2013/04/21(日) 19:38:02.150088デフォルトの名無しさん
2013/04/21(日) 20:00:59.00import cgiの段階でimportした側のモジュールに存在するのはcgiだけ。
cgiの中でimport urllib.parseしていると、cgiをimportした側からみると
cgi.urllib.parseが存在する。
この時点で、urllibモジュールの名前空間にはparseが存在する。
で、さらにimport urllibするとurllibという名前が、既にimport済みの
urllibにバインドされる、という事だと思う。
メインモジュールのurllib is cgi.urllib
が成立するのはちょっと意外だった。
0089デフォルトの名無しさん
2013/04/21(日) 20:03:49.46そのエラーが出る直前のurllibの型や属性の確認してみては?
0090デフォルトの名無しさん
2013/04/22(月) 09:59:22.660091デフォルトの名無しさん
2013/04/23(火) 14:50:14.97日本語に訳したらとんでもないページ数になりそうw
でも、もともと無駄な記述が多い本ではあるよね
講義をそのまま文字にしたから仕方ないのかもしれないけど
初めてのPerlくらいにコンパクトなら読みやすいんだが
0092デフォルトの名無しさん
2013/04/23(火) 17:01:42.87使ってる人いる?
速くなるなら使ってみたい
0093 忍法帖【Lv=13,xxxPT】(1+0:5)
2013/04/23(火) 22:56:13.070094デフォルトの名無しさん
2013/04/23(火) 22:57:16.270095デフォルトの名無しさん
2013/04/23(火) 23:01:42.91入るよ
現に使ってる
なぜ入らないと思った
virtualenvwrapperが入らないって事か?
0096デフォルトの名無しさん
2013/04/23(火) 23:21:09.620097デフォルトの名無しさん
2013/04/24(水) 03:15:36.61ライブラリの更新が早かったんでEnthought Python Distributionから
Anacondaに乗り換えた。似たような感じ。
データ処理や科学技術計算のPython環境セットアップに便利。
有料版(Anaconda Accelerate)だとIntel MKL使ってる分速くなる。
NumbaProは使ってないので知らない。
0098 忍法帖【Lv=2,xxxP】(1+0:5)
2013/04/24(水) 22:24:19.19手順おしえて
0099デフォルトの名無しさん
2013/04/24(水) 23:09:26.86なるほど
numbaProはAccelerateに入ってるCUDAアクセラレーターだったはず
試しに使ってみるよ、ありがとう
0100デフォルトの名無しさん
2013/04/24(水) 23:32:14.59flask利用してつくったプログラムが数日前まで
起動できたのにインポートエラーが起こるようになりました。
普通のpyファイルは実行できるのでflaskの問題だと思うのですが
Traceback (most recent call last):
File "test_hello.py", line 1, in <module>
from flask import Flask
ImportError: No module named flask
自分のコードが悪いのかと思い公式のhello worldで試しましたが
やはりエラーが起こりました。
なぜエラーが起こるのか教えてください。
0101デフォルトの名無しさん
2013/04/25(木) 04:09:35.14No module named flask
No module named flask
0102デフォルトの名無しさん
2013/04/25(木) 06:35:40.960103 忍法帖【Lv=2,xxxP】(1+0:5)
2013/04/25(木) 07:50:02.23mkvirtualenv -p ほにゃらら〜ってやってたわ。
winだとコマンドが違うのね
python -m ほにゃらら〜なんやね
0104デフォルトの名無しさん
2013/04/25(木) 09:15:41.27>公式のhello worldで試しましたが
>やはりエラーが起こりました。
その helloworld.py ? のエラーも書かないとわかりません
0105デフォルトの名無しさん
2013/04/25(木) 09:25:26.91sys.path の中身と Flask のインストールパスは?
最後に正常に実行できていたときと実行できなくなった間になにかしたことは?
0106デフォルトの名無しさん
2013/04/25(木) 17:55:56.30このエラーってどういうことですか? 教えてください
"TypeError: TypeError(""'str' object is not callable"",)"
0107デフォルトの名無しさん
2013/04/25(木) 17:57:55.700108デフォルトの名無しさん
2013/04/25(木) 18:05:42.89ありがとです。
while True:
str=input('> ')
print( str )
if str=='bye':
break
これで出たエラーなんですが・・どこが間違ってますか?
0109デフォルトの名無しさん
2013/04/25(木) 18:15:27.280110デフォルトの名無しさん
2013/04/25(木) 19:02:01.28起きない
エラー出たときは行番号が書いてあるだろ
行番号は本当にこのコードの中を指してるのか?
0111デフォルトの名無しさん
2013/04/25(木) 20:17:31.96>>100がhelloworldのエラーメッセージです
>>105
環境変数にもPythonの場所を指定したはずですが…
変わったことも特になにもしていないので勝手に消えるはずはないのですが…
0112デフォルトの名無しさん
2013/04/25(木) 20:24:05.06絶対か本当か100%かガキみたいな言い方だがとにかく確かめろ
たぶんおそらくはずって言うな
0113デフォルトの名無しさん
2013/04/25(木) 20:26:20.78プライバシーが気なるところは伏字にして、とにかく全部貼れ
省略するな
0114デフォルトの名無しさん
2013/04/25(木) 20:32:30.08約 3,930,000 件 (0.14 秒)
http://www.google.co.jp/search?hl=ja&q=%E4%BD%95%E3%82%82%E3%81%97%E3%81%A6%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AB%E5%A3%8A%E3%82%8C%E3%81%9F
0115デフォルトの名無しさん
2013/04/25(木) 22:39:02.70実行する際にコマンドプロンプトでenvをアクティベートしてから実行したら
無事実行することができました。
Pythonでプログラムを組んだ経験がないため、ご迷惑をおかけいたしました。
0116デフォルトの名無しさん
2013/04/25(木) 22:43:42.02誰がどう解決したのかわかんねえなw
0117デフォルトの名無しさん
2013/04/25(木) 23:13:47.380118デフォルトの名無しさん
2013/04/26(金) 18:14:58.700119デフォルトの名無しさん
2013/04/26(金) 18:25:42.360120デフォルトの名無しさん
2013/04/26(金) 18:32:20.170121デフォルトの名無しさん
2013/04/26(金) 18:35:04.03座布団一枚
0122デフォルトの名無しさん
2013/04/26(金) 19:48:04.52くっそこんなのでw
0123デフォルトの名無しさん
2013/04/26(金) 19:51:32.820124デフォルトの名無しさん
2013/04/26(金) 21:35:49.82絶望的なパラノイア臭
0125 忍法帖【Lv=3,xxxP】(1+0:5)
2013/04/28(日) 22:48:13.770126デフォルトの名無しさん
2013/04/28(日) 23:19:52.870127デフォルトの名無しさん
2013/04/29(月) 00:44:18.68Qt使うならPySide
0128デフォルトの名無しさん
2013/04/29(月) 01:01:00.86そもそもソース配布がほとんどLLだとパッとしねえんだよな
py2exeとか使うなら、って感じ
あとGPL v3絡みで特許
0129デフォルトの名無しさん
2013/04/29(月) 01:04:53.78GPL許容できない用途が多いと思う
0130デフォルトの名無しさん
2013/04/29(月) 01:07:54.89バックエンド分離すれば済むようなものは範疇に含めないでくれよ
0131デフォルトの名無しさん
2013/04/29(月) 01:16:35.190132デフォルトの名無しさん
2013/04/29(月) 01:19:14.880133デフォルトの名無しさん
2013/04/29(月) 01:26:09.75パッケージ化して配布するようなものはGUIの作り込みの比重が大きい、っていうのは
具体的な数字の根拠は知らんが相関としては十分ありそうに思えるけどな
0134130
2013/04/29(月) 01:26:37.93GPLと聞くだけで蕁麻疹が出そうな奴には無闇にツッコミを入れたくなる性分なんだ
特に低レベルな奴が多いしね
別にお勧めはしないよ
0135デフォルトの名無しさん
2013/04/29(月) 01:39:03.65あれはあれで限度を越えた馬鹿だが、エレコムみたいな、ね。
0136デフォルトの名無しさん
2013/04/29(月) 01:40:28.78見た目もちょうどいい教祖様と牛でも拝んでろ。
0137デフォルトの名無しさん
2013/04/29(月) 02:16:33.050138デフォルトの名無しさん
2013/04/29(月) 02:25:27.740139デフォルトの名無しさん
2013/04/29(月) 13:03:34.61130でも言ってるけど具体的にどこよ?
数字も名前も出さずに一般論のように語るのは論法としてどうなの?
それともパイソニアはこういうのがお得意なの?
0140デフォルトの名無しさん
2013/04/29(月) 13:09:27.29作り込んだGUIのソース公開が許されないところもあるが、取るに足らないほど少数だ
と根拠なく喋ってもこいつは受け入れるんだろうか?
根拠が知らんとか前置きするくらいなら調べてから書けよっていう
0141デフォルトの名無しさん
2013/04/29(月) 13:28:02.87世間を知らねえなとか仕事しろよとか社会でろ働けとかね
上にも書いてあるモヒカンは、そういう安っぽい主張をされるのが楽しくて仕方ないんでね
0142デフォルトの名無しさん
2013/04/29(月) 13:30:59.920143デフォルトの名無しさん
2013/04/29(月) 13:42:08.93Pythonの作者Guidoは過去にGPLで揉めまくって(一方的にくだらん因縁つけられて)
GPLに本当にうんざりしている
0144デフォルトの名無しさん
2013/04/29(月) 15:17:34.05Pythonやってると伝聞、推測、妄想ばっかりで具体的な話ができない病気でも発症するんです?
0145デフォルトの名無しさん
2013/04/29(月) 15:23:56.16Pythonを使っても大丈夫だよ!
気持ち悪い思想とは無縁だからね!
0146デフォルトの名無しさん
2013/04/29(月) 15:27:31.03お前はPython使ってないのに、こんな初心者スレにまで来てGPLの布教してんの?
キモすぎるww
0147デフォルトの名無しさん
2013/04/29(月) 16:25:15.990148デフォルトの名無しさん
2013/04/29(月) 20:48:39.74これは紛れもない事実(PyQt含)なわけだが、GPL信奉者はこれをどう説明するんだろうか
0149デフォルトの名無しさん
2013/05/01(水) 11:54:54.10ubuntu desktopではブラウザが立ち上がりますが
ubuntu serverに入れたいのですがブラウザがないのでできません。
0150デフォルトの名無しさん
2013/05/01(水) 18:55:15.35変数fooにrmコマンドなど実行させる文字列が入っていたとしても安全でしょうか?
シェルのメタ文字を解釈しないために、fooはコマンドとしてはなく、文字列として渡されると。
ttp://docs.python.jp/2/library/subprocess.html
を読んだのですが、あっているのか心配で質問しました。
0151デフォルトの名無しさん
2013/05/01(水) 20:48:35.040152デフォルトの名無しさん
2013/05/01(水) 21:19:33.15python3.3
apache2.4
という環境用のmod_wsgiはないんでしょうか?
windowsとpython3.3でwebサイト作る場合は何を使って動かすものですか?
0153デフォルトの名無しさん
2013/05/01(水) 21:33:10.60ありがとうございます
0154デフォルトの名無しさん
2013/05/02(木) 00:54:33.40参考になるかわからないけど
LinuxだとPython3.3+httpd2.25+コンパイルしたmod_wsgi3.4で動いてる。
0155デフォルトの名無しさん
2013/05/02(木) 00:56:10.46httpdのバージョン
2.25じゃなくて2.2.15だった。
0156デフォルトの名無しさん
2013/05/02(木) 03:39:50.45Windows用のnmakeファイル付属してるから
ちょいちょいパス書き換えて自分でビルドしろよ
例えばこんな風に
http://pastebin.com/Yv6SeFkG
0157デフォルトの名無しさん
2013/05/04(土) 13:02:36.48追加は出来るんですね
>>> a = (1, 2, 4)
>>> b = a + (5, 3)
>>> b
(1, 2, 4, 5, 3)
>>> a += (5, 3)
>>> a
(1, 2, 4, 5, 3)
0158デフォルトの名無しさん
2013/05/04(土) 13:10:24.57再作成が正しい
0159デフォルトの名無しさん
2013/05/04(土) 18:04:39.83>>> a = (1,2,4)
>>> b = a
>>> a += (5,3)
>>> a, b
((1, 2, 4, 5, 3), (1, 2, 4))
0160デフォルトの名無しさん
2013/05/04(土) 19:44:44.52>>> b = a
>>> a += [5, 3]
>>> a, b
([1, 2, 4, 5, 3], [1, 2, 4, 5, 3])
リストだとこうなるのね
0161デフォルトの名無しさん
2013/05/05(日) 18:17:18.29>>> b = a
>>> a = [1,2,4] + [5,3]
>>> a,b
([1, 2, 4, 5, 3], [1, 2, 4])
>>>
>>>
>>> a = [1,2,4]
>>> b = a
>>> a = a + [5,3]
>>> a,b
([1, 2, 4, 5, 3], [1, 2, 4])
>>>
>>> a= [1,2,4]
>>> b = a
>>> a += [5,3]
>>> a,b
([1, 2, 4, 5, 3], [1, 2, 4, 5, 3])
0162デフォルトの名無しさん
2013/05/06(月) 12:04:50.58と
a += L
が等価じゃないのか
気を付けないとうっかりしてるとはまるところかも
0163デフォルトの名無しさん
2013/05/06(月) 12:15:07.98a += L だと a に in-place で L を追加してるということか
http://docs.python.org/3/reference/simple_stmts.html#augmented-assignment-statements
0164デフォルトの名無しさん
2013/05/06(月) 12:16:35.88a =+ L
にすれば?
0165デフォルトの名無しさん
2013/05/06(月) 12:17:29.70等価と思うよな普通
0166デフォルトの名無しさん
2013/05/06(月) 12:25:37.08それとも全てのケースで a = a + L と a += L が同じになって欲しいのか、
それとも単純に知らないとハマるって話なのか、どれなんだろう
0167デフォルトの名無しさん
2013/05/06(月) 12:44:44.12無理やり言いがかり感もある
0168デフォルトの名無しさん
2013/05/06(月) 13:05:35.830169デフォルトの名無しさん
2013/05/06(月) 13:10:53.23もちろん後者だよ
a += 1はa = a + 1のシノニムという認識は
この業界で一般的なものだからな
0170デフォルトの名無しさん
2013/05/06(月) 13:15:26.12a = a + 1
は、++a a++だけどな
0171デフォルトの名無しさん
2013/05/06(月) 13:37:45.240172デフォルトの名無しさん
2013/05/06(月) 14:14:30.61それに「この業界では常識」なんて非パイソン世界からパイソン見てるし。
こういう人は向かない
0173デフォルトの名無しさん
2013/05/06(月) 14:36:52.23昨日の松井の人生劇場で
小学生時代に女子アナから
「後ろから何番目ですか?」
って聞かれて答えられず沈黙して
「一番後ろだよねっ!!」
ってフォローされて
やっと頷いていたのを思い出した
0174デフォルトの名無しさん
2013/05/06(月) 14:38:59.780175デフォルトの名無しさん
2013/05/06(月) 17:43:54.81こんな性格腐ったやつらがプログラマー向きというなら
向かなくて結構だわ
0176デフォルトの名無しさん
2013/05/06(月) 17:48:24.690177デフォルトの名無しさん
2013/05/06(月) 17:57:21.19追い打ちか
あんたもろくなもんじゃないな
0178デフォルトの名無しさん
2013/05/06(月) 17:59:35.050179デフォルトの名無しさん
2013/05/06(月) 18:22:26.41素数を延々返し続けるコードでも書いておちつけ
0180デフォルトの名無しさん
2013/05/06(月) 20:12:28.460181デフォルトの名無しさん
2013/05/06(月) 20:38:18.90# -*- coding: utf-8 -*-
import sys
import codecs
sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
while 1:
print u'素数'
0182デフォルトの名無しさん
2013/05/06(月) 21:34:01.730183デフォルトの名無しさん
2013/05/06(月) 21:39:22.420184デフォルトの名無しさん
2013/05/07(火) 06:29:13.19OSシェアからすればcp932指定が圧倒して良さそうなものだが…(自分はそう)
もしかしてWindowsでPython使ってる人は少ない?
0185デフォルトの名無しさん
2013/05/07(火) 06:45:12.370186デフォルトの名無しさん
2013/05/07(火) 08:46:47.750187デフォルトの名無しさん
2013/05/07(火) 14:34:11.54地球規模で言えばcp932なんてどマイナー。
0188デフォルトの名無しさん
2013/05/07(火) 15:30:34.23全部utf-8でおk
0189デフォルトの名無しさん
2013/05/07(火) 16:56:25.38emacsの為にわざわざ-*-とか書く人が多い事のほうが不思議
0190デフォルトの名無しさん
2013/05/07(火) 18:10:12.48個人的には emacs 使ってるけど # coding: utf-8 が好き
0191デフォルトの名無しさん
2013/05/07(火) 19:23:43.42日本人でPythonがまず物好きですし
0192デフォルトの名無しさん
2013/05/07(火) 19:39:06.980193デフォルトの名無しさん
2013/05/07(火) 20:06:48.87俺エンドユーザー部門にいて
運用効率化のためにPythonで小ツールを作っているんだけど
出入りのIT業者の人にこれ何と聞かれて
Pythonて言語だよと答えたら知らなかったんだよな…
0194デフォルトの名無しさん
2013/05/07(火) 20:12:08.960195デフォルトの名無しさん
2013/05/07(火) 20:28:56.52http://i.imgur.com/OWjtlcK.jpg
0196デフォルトの名無しさん
2013/05/08(水) 08:10:11.27>出入りのIT業者の人
詐欺まがいのドカタに何期待してんだ
0197デフォルトの名無しさん
2013/05/09(木) 13:57:30.81(。・-・) タプルン
゚し-J゚
(((。・-・))) プルルン♪
゚し-J゚
(・-・。) ルン♪
゚し-J゚
0198デフォルトの名無しさん
2013/05/09(木) 16:21:46.100199デフォルトの名無しさん
2013/05/10(金) 21:31:22.31見つけたサイトのコードの解釈でアドバイスください。
a = [1, 2, 3, 4, 5, 5, 1]
t = set()
[x for x in a if x in t or t.add(x)]
#=>[5, 1]
このif文の解釈は、
「もしxがtまたはt.add(x)の値に含まれるなら」
でいいんでしょうか。
t.add(x)の値は常にNoneなので、実質の比較は
x in tのみで行われており、t.add(x)は条件式の形を
取っているものの、実質は値の格納を行うためだけの
式というのなら、何とも唸ってしまう巧妙なコードですね。
0200デフォルトの名無しさん
2013/05/10(金) 21:41:26.130201デフォルトの名無しさん
2013/05/10(金) 22:00:22.79ブール演算なのですか。
True or NoneがTrueになることを利用している?
この辺、初心者にはなんとも難しい。
勉強になりました。
0202デフォルトの名無しさん
2013/05/10(金) 23:24:21.550203デフォルトの名無しさん
2013/05/10(金) 23:25:31.320204デフォルトの名無しさん
2013/05/10(金) 23:30:30.640205デフォルトの名無しさん
2013/05/11(土) 00:38:32.07少し補足すると
a or b
はaが真ならbは全く評価されない。
この場合、aが偽のときだけt.add(x)が実行される。
0206デフォルトの名無しさん
2013/05/11(土) 00:39:05.86マジですか?
(x in t) がTrueでもFalseでもt.add(x)は実行されるんじゃ?
>>203
当初、
「if (x in t == True) or (x in t.add(x) == True)」という意味に
解釈していて、それを条件つなぎと呼びました。
しかし、if ((x in t) or t.add(x)) == Trueという意味らしいので
それをブール演算と呼びました。
0207デフォルトの名無しさん
2013/05/11(土) 02:19:09.590208デフォルトの名無しさん
2013/05/11(土) 03:50:12.31None が False であることも利用している
0209デフォルトの名無しさん
2013/05/11(土) 03:53:06.29違う
if ((x in t) or t.add(x)) is True
という意味
0210デフォルトの名無しさん
2013/05/11(土) 05:49:51.66for (x in a){
if (x in t){}else{t.add(x)
}
0211デフォルトの名無しさん
2013/05/11(土) 05:53:12.94頭のxがわからないんだけどわかりやすくすると
for (x in a){
if (x in t){
#何もしない
}else{
t.add(x)
}
}
0212デフォルトの名無しさん
2013/05/11(土) 05:53:52.80for (x in a){
if (x in t){
out.append(頭のx);
}else{
t.add(x);
}
}
0213デフォルトの名無しさん
2013/05/11(土) 05:55:32.820214デフォルトの名無しさん
2013/05/11(土) 05:57:32.58超初心者用スレだからな。
0215デフォルトの名無しさん
2013/05/11(土) 05:59:29.240216デフォルトの名無しさん
2013/05/15(水) 07:45:34.64print ("python")とやってtest01.pyで保存し
python test01.pyと入力しても
エラーとなり、python test01.py
^
ここから何も進みません
どうすればいいでしょうか
0217デフォルトの名無しさん
2013/05/15(水) 08:02:34.020218デフォルトの名無しさん
2013/05/15(水) 08:06:17.49でもいちいちこれ入力しなくてはいけないんでしょうか?
0219デフォルトの名無しさん
2013/05/15(水) 08:16:51.150220デフォルトの名無しさん
2013/05/15(水) 08:50:25.65!さすがに超初心者以前だな。
0221デフォルトの名無しさん
2013/05/15(水) 10:07:09.02はい
でもそれはwindowsのPATHの問題なのでもうここには来ないでくださいね(o^−^o)
0222デフォルトの名無しさん
2013/05/15(水) 12:59:17.190223デフォルトの名無しさん
2013/05/15(水) 13:44:05.35プログラムの保存先フォルダ名に
日本語が混ざってると起動後に
モジュールパスを拾えないバグがあったな
0224デフォルトの名無しさん
2013/05/15(水) 18:19:19.38次に質問するときはコマンドラインやエラーを略さず貼って
Windows ならコマンドプロンプトのショートカットのプロパティに
作業フォルダを指定できたはず
0226デフォルトの名無しさん
2013/05/16(木) 23:30:22.03これをstr型 int型 float型にそれぞれ自動的に変換してくれるモジュールがあれば教えて下さい。
0227デフォルトの名無しさん
2013/05/16(木) 23:46:37.48あるいは
yaml (型付きをサポートしているバージョンのもの)
あるいは
ORM
0228デフォルトの名無しさん
2013/05/16(木) 23:53:35.39ファイルはcsvやtsv等で、str型 int型 float型がごたまぜになっており、
こちらからファイルの仕様の指定はできません。
0229デフォルトの名無しさん
2013/05/17(金) 00:05:22.56ですね
わかります
0230デフォルトの名無しさん
2013/05/17(金) 00:08:56.46はい終了
0231デフォルトの名無しさん
2013/05/17(金) 00:10:41.93こういう書き方よくみるけど、
余程頭がわるいんだね
よくわかります!
バカ丸出しの演繹頭
0232デフォルトの名無しさん
2013/05/17(金) 00:19:48.78自己解決致しました。
失礼しました。
0234デフォルトの名無しさん
2013/05/17(金) 23:27:33.21たぶんない。あきらめるか自分で書く
0235デフォルトの名無しさん
2013/05/18(土) 00:32:09.630236デフォルトの名無しさん
2013/05/18(土) 00:39:35.520237デフォルトの名無しさん
2013/05/18(土) 01:01:01.64変数の型で分岐するコードでも書いてるとか?
0238デフォルトの名無しさん
2013/05/18(土) 01:02:53.140239デフォルトの名無しさん
2013/05/18(土) 01:07:40.930240デフォルトの名無しさん
2013/05/18(土) 01:23:05.45自分でモジュール作って、ファイルから読み込んだデータを全部int()処理する命令でも定義すれば?
0241デフォルトの名無しさん
2013/05/18(土) 02:09:15.450242デフォルトの名無しさん
2013/05/18(土) 02:12:16.550243デフォルトの名無しさん
2013/05/18(土) 02:58:52.360244デフォルトの名無しさん
2013/05/18(土) 03:08:45.380245デフォルトの名無しさん
2013/05/18(土) 13:05:08.31全部str型の読み込みデータをstr等に変換
…の部分には気付かないフリしながら釣られてやるのが高級魚ってもんです
0246デフォルトの名無しさん
2013/05/18(土) 13:11:04.99掌田津耶乃
でググってみ
0247デフォルトの名無しさん
2013/05/19(日) 22:59:57.34複数PDFファイル(300個)をマージするスクリプトを実行すると、
ファイルを開きすぎ、という以下のエラーが発生して、止まってしまいます。
どう対処すれば良いでしょうか。アドバイスよろしくお願いします。
「IOError: [Errno 24] Too many open files: '149.pdf'」
【ソース】
import os
from PyPDF2 import PdfFileWriter, PdfFileReader
output_pdf = PdfFileWriter()
for f in os.listdir('.'):
if f[-4:] != '.pdf':
continue
else:
input_pdf = PdfFileReader( file( f, 'rb') )
output_pdf.addPage(input_pdf.getPage(0))
output_pdf.write( file('merged.pdf', 'wb') )
outputStream.close()
【環境】
OS: Mac OS X 10.8.3
Python: 2.7.2
外部ライブラリ: PyPDF2
0248デフォルトの名無しさん
2013/05/19(日) 23:04:33.30if f[-4:] != '.pdf': continue
r = file( f, 'rb')
input_pdf = PdfFileReader(r)
output_pdf.addPage(input_pdf.getPage(0))
r.close()
0249247
2013/05/19(日) 23:42:57.87レスありがとうございます。
スクリプトをそのように書き換えたところ、別のエラーが発生しました。
「ValueError: I/O operation on closed file」
output_pdf.write( file('merged.pdf', 'wb') ) でmerged.pdfを書き出す前に、
file( f, 'rb' )のストリームを閉じてしまうとダメなようです。
0250デフォルトの名無しさん
2013/05/20(月) 00:07:42.270251デフォルトの名無しさん
2013/05/20(月) 01:53:27.820252デフォルトの名無しさん
2013/05/20(月) 02:14:45.38ulimit -n してみて数が小さいようならこれとかは?
http://superuser.com/questions/261023/how-to-change-default-ulimit-values-in-mac-os-x-10-6
他のライブラリ試すのもいいかも。いいのあったら教えて
0253デフォルトの名無しさん
2013/05/20(月) 03:04:40.180254247
2013/05/20(月) 13:04:24.86まさにそれでした!
Mac OS Xでは、ulimit -nのデフォルトが256と非常に小さいようです。
ulimit -n 512 に設定して、問題のスクリプトを実行したら何のエラーもなく動きました。
手軽に使えるシンプルなPDFライブラリって、PyPDF2くらいしか見つからなかったんですよね。
他のライブラリは、いろんな機能があって複雑すぎる…。
みなさんありがとうございました。
0255デフォルトの名無しさん
2013/05/20(月) 13:36:27.36いろんな機能を理解するほうがマシ
0256デフォルトの名無しさん
2013/05/22(水) 13:02:39.60[^\s]とやると空白文字以外OKということになるようなのですが
[^\s\(]とすると空白文字と半角丸括弧始以外OKとなります。
これを空白文字+半角丸括弧始の組み合わせのみ除きたいのですがどうすれば良いのでしょうか?
0257デフォルトの名無しさん
2013/05/22(水) 13:07:50.20[]は文字クラス
0258デフォルトの名無しさん
2013/05/22(水) 15:46:09.92[^\s]?[^(]
これでどう?
0259デフォルトの名無しさん
2013/05/22(水) 21:27:16.540260デフォルトの名無しさん
2013/05/25(土) 05:07:15.91['0010006', '0030000', '0000013', '0030100']
この時、データの1〜3桁目の昇順かつ4〜7桁めの降順にソートしようとして
以下のようにしたら、結果が期待通りではありません。
どこが悪いんでしょうか
>>> sorted(sorted(a, key = lambda k: k[0:3]), key = lambda k2: k2[3:7], reverse = True)
['0030100', '0000013', '0010006', '0030000']
0261デフォルトの名無しさん
2013/05/25(土) 06:24:09.620262デフォルトの名無しさん
2013/05/25(土) 06:35:38.25サンクスです
優先順位が後の方のキーで先にソートするということ?
頭がおかしくなってきた…
0263デフォルトの名無しさん
2013/05/25(土) 07:09:38.400264デフォルトの名無しさん
2013/05/25(土) 07:15:38.00当たり前だろw
0265デフォルトの名無しさん
2013/05/25(土) 07:34:31.930266デフォルトの名無しさん
2013/05/25(土) 07:47:09.27その当たり前の領域に登るまでが
初心者には茨の道なのですよ…
まあこれで一つ賢くなれました
事務でよく出てくる処理なので助かります
0267デフォルトの名無しさん
2013/05/25(土) 07:49:57.530268デフォルトの名無しさん
2013/05/25(土) 08:42:19.930269デフォルトの名無しさん
2013/05/25(土) 15:23:45.04>>> data.sort(key=lambda x:(x[0:3], int(x[3:7])))
>>> data
['0000013', '0010006', '0030000', '0030100']
>>> data.sort(key=lambda x:(x[0:3], -int(x[3:7]))
)
>>> data
['0000013', '0010006', '0030100', '0030000']
あとcmpよりキー導出結果がキャッシュされるkey使え
0270デフォルトの名無しさん
2013/05/25(土) 15:24:30.630271デフォルトの名無しさん
2013/05/25(土) 15:30:59.330273デフォルトの名無しさん
2013/05/25(土) 15:52:27.120274デフォルトの名無しさん
2013/05/25(土) 19:29:47.20すごいっす勉強になります
こちらの方が優先順にキーを書けるので
わかりやすいかも…
あと「キー導出結果がキャッシュされる」の意味を
よろしければ教えてもらえませんか
0275デフォルトの名無しさん
2013/05/25(土) 19:49:18.890276デフォルトの名無しさん
2013/05/26(日) 07:57:34.620277デフォルトの名無しさん
2013/05/26(日) 11:47:34.320278デフォルトの名無しさん
2013/05/26(日) 12:09:30.350279デフォルトの名無しさん
2013/05/26(日) 15:25:10.43業務にイチャモン付けてバグだらけのシステム押し付けるのが仕事ですから
0280デフォルトの名無しさん
2013/05/27(月) 11:09:44.970281デフォルトの名無しさん
2013/05/28(火) 08:46:55.610282デフォルトの名無しさん
2013/05/28(火) 19:06:04.47他のメンバに完全に含まれてしまうメンバを除外するには
どうすればできますか
(この場合、{1,2}が除外されて{1,2,3}のみ残るようにしたい)
0283デフォルトの名無しさん
2013/05/28(火) 19:29:03.07a はリスト。他のメンバもリストなら、リストは順序が決まっている。
a[0] で良いのかな?
0284デフォルトの名無しさん
2013/05/28(火) 19:42:20.960285デフォルトの名無しさん
2013/05/28(火) 20:16:18.80> a = [ {1,2,3}, {1,2} ]というセットデータを持つリストがあるとして、
リストを reduce するとして, 評価関数が, 各集合の長さ比べて,
長い方.difference(短い方)
じゃダメなん?
nonlocal 的なものは必要になるかもしれんが...
0286デフォルトの名無しさん
2013/05/28(火) 21:51:42.74aの中の各セット同士を比較して
他のセットの部分集合となるものを除外したい
({1,2,3}, {1}, {2}, {3}, {1,2}, {2,3}, {2,4} なら、{1,2,3}と{2,4}が残る)
四苦八苦して今コードができたんですが、あまりに力技すぎるorz
------------------------------------------------------------
# set_reduce.py
# セットをメンバに持つリストにおいて、各メンバ同士を比較して
# 部分集合となるものを除外する
a = [{1, 2, 3}, {1}, {2}, {3}, {1, 2}, {2, 3}, {2, 4}]
def set_reduce(data):
b = data.copy()
c = []
for i in data:
for j in b:
if j < i:
print('{}は{}の部分集合なので除外候補に追加する'.format(j, i))
c.append(tuple(j))
print(c)
else:
print('{}は{}の部分集合ではないので除外しない'.format(j, i))
for v in set(c):
b.remove(set(v))
return b
print('除外結果:{}'.format(set_reduce(a)))
0287デフォルトの名無しさん
2013/05/28(火) 22:35:18.92>>> a = [{1, 2, 3}, {1}, {2}, {3}, {1, 2}, {2, 3}, {2, 4}]
>>> b = [False] * len(a)
>>> b
[False, False, False, False, False, False, False]
>>> for i in range(len(a)):
... if b[i]: continue
... for j in range(len(a)):
... if i == j or b[j]: continue
... if a[i] > a[j]:
... b[j] = True
...
>>> b
[False, True, True, True, True, True, False]
>>> [x for x, f in zip(a, b) if not f]
[set([1, 2, 3]), set([2, 4])]
0288デフォルトの名無しさん
2013/05/28(火) 22:51:03.04ID:SA0tJ529!def f(xs, y):
if any(x.union(y) == x for x in xs):
return xs
else:
return [x for x in xs if not x.union(y) == y] + [y]
xs = [{1, 2, 3}, {1}, {2}, {3}, {1, 2}, {2, 3}, {2, 4}]
reduce(f, xs, [])
0289デフォルトの名無しさん
2013/05/29(水) 02:54:14.19>>> a = [{1, 2, 3}, {1}, {2}, {3}, {1, 2}, {2, 3}, {2, 4}]
>>> c = [a[0]]
>>> for i in a:
if not c[0].issuperset(i):
c.append(i)
>>> c
[set([1, 2, 3]), set([2, 4])]
0290デフォルトの名無しさん
2013/05/29(水) 03:03:21.45>>> a = [{1, 2, 3}, {1}, {2}, {3}, {1, 2}, {2, 3}, {2, 4}]
>>> c = [a[0]]
>>> for i in a:
... if not c[0].issuperset(i):
... c.append(i)
...
>>> c
[set([1, 2, 3]), set([2, 4])]
0291デフォルトの名無しさん
2013/05/29(水) 03:16:34.69おお素晴らしい…
仕組みがまだわかりませんが
糧にさせて戴きます
0292デフォルトの名無しさん
2013/05/29(水) 08:20:50.210293デフォルトの名無しさん
2013/05/29(水) 17:05:37.460294デフォルトの名無しさん
2013/05/29(水) 18:14:10.940295デフォルトの名無しさん
2013/05/29(水) 18:49:58.54たぶん日本語だとうまく行かないから
import codecs
with codecs.open(file_name, 'r', encoding='utf-8') as f:
a = f.read()
print a[25]
python3 使えば import はいらない
0296デフォルトの名無しさん
2013/05/29(水) 23:12:40.44無ければ明朝までに作れ。6時までだぞ。
0297デフォルトの名無しさん
2013/05/30(木) 05:19:46.750298デフォルトの名無しさん
2013/05/30(木) 23:19:36.02for char in file.read()
print char
close("text.txt")
0299デフォルトの名無しさん
2013/05/31(金) 06:15:24.30'A' と 'B' をカンマで連結して'A.B'を得たい時
','.join('A','B')とやると
TypeError: join() takes exactly one argument (2 given)
となってしまいます
0300デフォルトの名無しさん
2013/05/31(金) 06:23:49.54>>> '.'.join(['A', 'B'])
'A.B'
0301デフォルトの名無しさん
2013/05/31(金) 06:25:14.300302デフォルトの名無しさん
2013/05/31(金) 06:55:55.550303デフォルトの名無しさん
2013/05/31(金) 07:01:19.800304デフォルトの名無しさん
2013/05/31(金) 07:31:37.43",".join(["A", "B"])
タプルの場合は
",".join(("A", "B"))
そのエラーは2つ値がある(2 given)と言っている
join( "A", "B" ) とカンマで2つ値が入っているから
0305デフォルトの名無しさん
2013/06/01(土) 07:43:14.04ローマ字 ひらがな Python でぐぐったらそれっぽいのがでてきた
>>299
",".join の引数は iterable (リストやタプルや文字列とか)をひとつ受けとる
",".join("A", "B") は引数ふたつ渡してるからエラーになる
",".join(["A", "B"]) や ",".join(("A", "B")) や ",".join("AB") だとうまくいく
0306デフォルトの名無しさん
2013/06/01(土) 09:32:03.63joinって、つなげたいデータが複数に分かれている時は
自分で連結してから与えないといけないのですか…
ちょいと面倒ですね
せっかくカッコの中に指定したのだから、いっしょに連結
してくれればいいのに
0307デフォルトの名無しさん
2013/06/01(土) 10:15:01.190308デフォルトの名無しさん
2013/06/01(土) 10:53:54.590309308
2013/06/01(土) 10:57:43.13Twitterのbotを作ろうと思うのですが
RSSから記事を作成し投稿するプログラムはできたのですが
前に投稿したとかのチェックってどうやればいいのでしょうか?
前に投稿した記事をTEXTに残して比較して投稿
他にいい方法があれば教えて下さい。
0310デフォルトの名無しさん
2013/06/01(土) 11:08:33.41Pythonをインストールしていない環境で動作させるのに必要なファイルと
その配置のやりかたなどを説明しているドキュメントってどっかにないですか?
0311デフォルトの名無しさん
2013/06/01(土) 14:36:57.98前に投稿した記事をdb(のkey)に残してkeyが既存でなければ投稿
0312デフォルトの名無しさん
2013/06/01(土) 14:38:16.97全部の記事にタイムスタンプ付けて
違う記事と看做して投稿
0313デフォルトの名無しさん
2013/06/01(土) 14:38:46.80ありがとうございます。
データベース勉強してみます。
0314デフォルトの名無しさん
2013/06/01(土) 14:40:39.39hash 値で比較。
0315309
2013/06/01(土) 14:45:39.44それだと更新チェックするたびに投稿されてしまうのでは?
RSSリーダーみたいに未読かどうか
feedparserでチェックできればいいのですが
0317デフォルトの名無しさん
2013/06/01(土) 14:48:06.75同じ記事連投したらtwitterからペナルティあるから
それを回避したいのかと思った
0318デフォルトの名無しさん
2013/06/01(土) 15:04:18.89[s for s in lst if not any(s < x for x in lst)]
0320デフォルトの名無しさん
2013/06/02(日) 01:55:46.40公式情報のどこかに書いてあったりしますか?
どちらでも通ることが多いので困惑します
0321デフォルトの名無しさん
2013/06/02(日) 02:31:32.96Pythonで変数へ値を代入するというのは、変数に値が入るのではなく
値がメモリの中のどこかにあって、その場所を変数が指すような状態。
isでの比較は、2つの変数が同じ場所を指しているかの比較。
==での比較は、指している先の値が同等かの比較。
a = [1]
b = [1]
この場合、aとbはたまたま同じ内容のリストを指しているけど、
それは値がたまたま同じなだけで、実態は別物のリスト。
この2つの比較では==ではTrueだが、isではFalseになる。
a.append(2) をすると、aは[1,2]になるが、bは別物なので[1]のまま。
a = [1]
b = a
この場合は、aとbが同じリストを指しているので、isも==もTrue
a.append(2) をすると、bも同じリストなので[1,2]になる。
0322デフォルトの名無しさん
2013/06/02(日) 02:36:25.10公式情報のどこか言え
0323デフォルトの名無しさん
2013/06/02(日) 02:39:58.18ソースみて自分で確認しろクズが。
0324デフォルトの名無しさん
2013/06/02(日) 03:56:53.80ttp://docs.python.jp/2/reference/expressions.html#comparison
0325デフォルトの名無しさん
2013/06/02(日) 05:33:06.76ifでNone や Trueとの比較をする時に is を使っているコードを見ることが
多いように思うのですが、これは値としてもオブジェクトとしても同じなので
== でも is でもどちらでもよく、好みで is を使っているだけということですかね。
0326デフォルトの名無しさん
2013/06/02(日) 06:39:24.510327デフォルトの名無しさん
2013/06/02(日) 06:46:28.49好みのようで好みと言えない…かな
== はオブジェクトごとにカスタマイズが可能な演算子
なのでもしかするとそのオブジェクトはNoneやTrueと==で比較した時の動作が
普通のオブジェクトと違うかも知れない
対して is はオブジェクトによって動作が変わらない
なので、オブジェクトごとに想定してる動作で比較させたいのか
どんなオブジェクトだろうと何指してるかで比較させたいのか
…ってところでも変わってくるんよ
特にNoneなんかは無いことのチェックだと思ったらチェックになってない可能性を
嫌ってisでやることも多いんじゃないかな
0328デフォルトの名無しさん
2013/06/02(日) 06:47:33.155.3. 比較
http://docs.python.jp/2/library/stdtypes.html#stdcomparisons
0329デフォルトの名無しさん
2013/06/02(日) 21:45:13.10グイドさんが定めたルールなら従うしかないですね
- None のようなシングルトンとの比較には、いつも「is」や「is not」を
使うべきである。
また「if x is not None」という条件を意図して「if x」と書くことは避
けること。たとえば、デフォルトで None が代入される変数や引数に、他
の値を持っていることをテストするときに使える。他の値には、False も
含まれることに注意。
- ブール値を、== を使って True や False と比較しない。
○ if greeting:
× if greeting == True:
? if greeting is True:
三例目の?は本文では骸骨マークだった。最悪ということか。
Trueもシングルトンだと思うので意外だった
0330デフォルトの名無しさん
2013/06/03(月) 08:46:27.42http://mangaonweb.com/siteSearch.do?type=0&genre=0&sortType=0&searchType=1&recommendFlg=1&searchText=
こういう感じのサイトを構築出来るようになるにはPythonは適正でしょうか?
自分は将来ウェブで起業したいのですがプログラミング知識がありません
そこでとりあえず勉強しようと思いPythonを始めたのですが他にどのような知識が必要でしょうか?
0331330
2013/06/03(月) 10:47:18.22youtubeのような動画サイトやfacebookのようなSNSサイトを構築する場合、
>>330で必要とされる知識に加えて更に必要な知識はどんどん出てくるものなのでしょうか?
0332デフォルトの名無しさん
2013/06/03(月) 10:57:51.45くらいか
適性によるけど2年くらいか
0333デフォルトの名無しさん
2013/06/03(月) 21:01:23.04ただUIとUXは、アンチパターン潰すだけでもそこそこのクオリティになるので比重低い
0334デフォルトの名無しさん
2013/06/04(火) 23:49:18.400335デフォルトの名無しさん
2013/06/06(木) 01:03:58.54import os
for i in range(10)
stats = os.stat("/home/directory/L[i]")
みたいにL[i]を使うことができますか?
0336デフォルトの名無しさん
2013/06/06(木) 01:22:21.740337デフォルトの名無しさん
2013/06/06(木) 01:23:17.58os.stat("/home/directory/" + L[i])
0338デフォルトの名無しさん
2013/06/06(木) 01:29:13.240339デフォルトの名無しさん
2013/06/06(木) 01:35:06.09えー、それはないやろ。
0340デフォルトの名無しさん
2013/06/06(木) 01:35:48.840341デフォルトの名無しさん
2013/06/06(木) 01:47:25.99"/home/directory/%s" % L[i]
"/home/directory/{}".format(L[i])
現在のコンテキストの変数を展開するには以下のようにする
'{__name__:}'.format(**locals())
0342デフォルトの名無しさん
2013/06/06(木) 02:10:56.05L[i] が str じゃないと TypeError で落ちるかな。
0343デフォルトの名無しさん
2013/06/06(木) 16:22:23.97>for i in range(10)
もうプログラミング入門にCはやらせないでいいと思うわ
0344デフォルトの名無しさん
2013/06/06(木) 16:41:15.43なんで? イテレータはそのためにあるものじゃないの?
0345デフォルトの名無しさん
2013/06/06(木) 17:45:41.890347デフォルトの名無しさん
2013/06/06(木) 20:03:31.930348デフォルトの名無しさん
2013/06/06(木) 20:05:32.93enumerateを諳んじてやっとPython初心者の一歩手前
0349デフォルトの名無しさん
2013/06/06(木) 20:05:33.210350デフォルトの名無しさん
2013/06/06(木) 20:09:47.14enumarateとか
enamurateとかタイプミスしまくるので苦手
0351デフォルトの名無しさん
2013/06/07(金) 20:14:44.77「初めてのpython」にはこの手の式が沢山出てくるけど、
使ってはいけないのかい?
0352デフォルトの名無しさん
2013/06/07(金) 20:55:06.44どうやって書いても良いと思うよ
Pythonicに書くならとかは超初心者スレじゃないとこの話だと思う
Pythonic的にレスするならコードでレスするわけだし
その人Pythonicじゃないから
0353デフォルトの名無しさん
2013/06/07(金) 21:19:45.00言語のどんな機能を使おうが人の勝手じゃないか
>>335の例だって、適当に10個だけ表示してみたい
というだけのことだろ
0354デフォルトの名無しさん
2013/06/08(土) 01:41:21.24だから>>345ってことでしょ。
>>> import os
>>> for i in L:
... stats = os.stat('/home/directory/{}'.format(i))
range() 使うべき時と使う必要がない時とがあって、
必要ないときに使うと無駄だし頭悪そうだよねって話。
0355デフォルトの名無しさん
2013/06/08(土) 01:49:55.320356デフォルトの名無しさん
2013/06/08(土) 02:45:28.03> 必要ないときに使うと無駄だし頭悪そうだよねって話。
大きなお世話だ
ここはそんな評論を質問者にぶつけるスレなのか?
0357デフォルトの名無しさん
2013/06/08(土) 02:54:24.33お前仕事でコーディングしてるならかなり嫌われてるぞ。
気を付けた方がいい。
0358デフォルトの名無しさん
2013/06/08(土) 05:51:22.58そんな話じゃねえよ
たまたま10個ファイルを表示する例を示しただけなのに
rangeを使うなって批判をするのは的外れすぎるだろ
まして>>343なんて肝心の質問には答えもせずにこれなんだぜ
求められてもいないのに、人のコードを勝手に添削・批判するのはやめろ
0359デフォルトの名無しさん
2013/06/08(土) 06:04:20.200360デフォルトの名無しさん
2013/06/08(土) 06:22:04.7010個取り出したいからrange(10)なんでしょうに
0361デフォルトの名無しさん
2013/06/08(土) 06:22:40.26頭悪そう
0362デフォルトの名無しさん
2013/06/08(土) 06:24:51.950363デフォルトの名無しさん
2013/06/08(土) 06:27:34.980364デフォルトの名無しさん
2013/06/08(土) 06:29:19.85頭悪そうだよねってのいらなくね?
職場でもそんなこと言ってんの?
0365デフォルトの名無しさん
2013/06/08(土) 06:33:44.910366デフォルトの名無しさん
2013/06/08(土) 06:34:34.600367デフォルトの名無しさん
2013/06/08(土) 06:46:49.76だったら次から>>1にそう書いとけ
胸くそ悪いスレだ
もう見るのやめるわ
0368デフォルトの名無しさん
2013/06/08(土) 07:44:45.70コード書いてコードで答えるみたいな
言葉だけの質問とか回答するからこうなる(๑•́ ₃ •̀๑)
0369デフォルトの名無しさん
2013/06/08(土) 08:04:20.75今回のはそもそも回答になってないからさ
回答したうえで、やんわりと「rangeはあまり乱用しない方が…」と
付け加える程度なら、スレも穏やかに流れるのに
rangeを見ただけで脊椎反射でダメ出しするコミュ障のコード馬鹿が
いるからこうなる
0370デフォルトの名無しさん
2013/06/08(土) 08:09:42.290371デフォルトの名無しさん
2013/06/08(土) 08:19:17.93野次馬はすっこんでろ
ろくなスレ制御もできない日和見野郎が
0372デフォルトの名無しさん
2013/06/08(土) 08:21:53.27for i in range(10):
print('Fuck you ass hole!!')
0373デフォルトの名無しさん
2013/06/08(土) 08:27:16.99print "Fuck you ass hole!!\n" *10
0374デフォルトの名無しさん
2013/06/08(土) 08:32:14.47for i in ["Fuck you ass hole!!"] *10:
print i
0375デフォルトの名無しさん
2013/06/08(土) 08:32:46.10質問スレの主旨を逸脱した
コード添削・スタイル押しつけ厨がいたら
おまえらも無視しないでしっかり諫めろよ
ここは質問スレだからな
まずは聞かれたことに答えるのが先決だ
0376デフォルトの名無しさん
2013/06/08(土) 08:57:07.78www
0377デフォルトの名無しさん
2013/06/08(土) 10:17:11.69馬が門前の念仏を唱えだした。
0378デフォルトの名無しさん
2013/06/08(土) 11:19:11.920379デフォルトの名無しさん
2013/06/08(土) 11:59:20.020380デフォルトの名無しさん
2013/06/08(土) 12:11:56.840381デフォルトの名無しさん
2013/06/08(土) 14:11:08.88奇跡のO(1)アルゴリズム
0382デフォルトの名無しさん
2013/06/08(土) 20:31:02.36#何か処理1
th = Thread(target=b)
th.start()
#何か処理2
def b():
#何か処理3
関数a,bがあり、bを別スレッドとして呼び出しているとします。
#何か処理2 が終わったときに #何か処理3 が続いている場合、関数aは終了になりますか?
bの処理の完了を待って、終了とかに成るのでしょうか
0383382
2013/06/08(土) 20:32:17.660384デフォルトの名無しさん
2013/06/08(土) 20:54:43.07自分の目で確かめろ
http://ideone.com/mVRGM8
0385デフォルトの名無しさん
2013/06/08(土) 20:59:45.290386デフォルトの名無しさん
2013/06/08(土) 21:03:43.55ttp://ideone.com/LJAtAz
0387デフォルトの名無しさん
2013/06/08(土) 21:05:06.74GIL開放する処理をするならthreadingでいいし、そうでないならmultiprocessingの方がいいね
0388デフォルトの名無しさん
2013/06/08(土) 23:12:28.93言語のどんな機能を使おうが人の勝手じゃないか
>>382の例だって、適当に並列処理してみたい
というだけのことだろ
0389デフォルトの名無しさん
2013/06/08(土) 23:57:22.57関数を抜ける程度でスレッドの終了を待ったりはしない。
待ちたいときは、 th.join() を何か処理2の後に入れる。
0390デフォルトの名無しさん
2013/06/09(日) 07:08:22.53同じならばNoneを返すという関数の定義は以下でよいでしょうか?
うまく動いているように見えるんですが、コマンドラインで適当に叩いていたら
できあがったものなので、正直自信がありません
ラムダ関数の中ってこんなにifを重ねられるんでしたっけ?
smalll_choice = lambda x: x[0] if x[0] < x[1] else x[1] if x[0] > x[1] else None
>>> small_choice((2,1))
1
0391デフォルトの名無しさん
2013/06/09(日) 07:15:22.320392デフォルトの名無しさん
2013/06/09(日) 07:24:04.45lambdaはラムダと読むものだと思っていましたが違うんですか?
0393デフォルトの名無しさん
2013/06/09(日) 07:27:46.930394デフォルトの名無しさん
2013/06/09(日) 07:30:24.230395デフォルトの名無しさん
2013/06/09(日) 07:32:56.85http://docs.python.jp/2/reference/expressions.html#conditional-expressions
#関数はいらんと思う
0396デフォルトの名無しさん
2013/06/09(日) 07:44:05.410397デフォルトの名無しさん
2013/06/09(日) 07:44:40.87私はラムダ関数以外の呼称を知りませんね
よければ正しい呼称を教えてください
0398390
2013/06/09(日) 08:08:37.110399390
2013/06/09(日) 08:10:28.680400デフォルトの名無しさん
2013/06/09(日) 08:38:24.85と解釈されていれば問題ない
(x[0] if x[0] < x[1] else x[1]) if x[0] > x[1] else None
だともちろん誤動作する
0401デフォルトの名無しさん
2013/06/09(日) 08:44:31.05「ラムダ関数の中ってこんなにifを重ねられるんでしたっけ?」
であるが、
この場合の論点はそこにあるのではなく、
「三項演算子のif-elseにおける優先順位はtrue項かfalse項か?」
と質問するべきなのであった。
0402デフォルトの名無しさん
2013/06/09(日) 08:50:37.27タプルの場合 x, y = (25, 50)
リストの場合 x = [25, 50] x[0] = 25 x[1] = 50
lambda(ラムダ式)の場合
small_choice = lambda x,y: x if x < y else y if x > y else None
0403デフォルトの名無しさん
2013/06/09(日) 10:07:42.090404デフォルトの名無しさん
2013/06/09(日) 10:17:41.07自分は三項演算子というのを知らなかったのですが
今回のコードが偶然その構文?に合致する形になっていたようです
あとラムダは関数ではなく、無名関数オブジェクトを作る特殊な式なのですね
合わせて勉強になりました
0405デフォルトの名無しさん
2013/06/09(日) 13:28:34.99そういう仕様だから
そういう仕様にした理由は構文解析が面倒だから
0406デフォルトの名無しさん
2013/06/09(日) 13:37:17.12そういうのは名前を付けて定義すべきというのが哲学
0407デフォルトの名無しさん
2013/06/09(日) 14:36:16.81lambdaは無名関数であってラムダ関数とは言わない
0408デフォルトの名無しさん
2013/06/09(日) 15:13:29.350409デフォルトの名無しさん
2013/06/09(日) 15:34:34.320410デフォルトの名無しさん
2013/06/09(日) 15:38:40.780411デフォルトの名無しさん
2013/06/09(日) 15:49:06.740412デフォルトの名無しさん
2013/06/09(日) 16:18:54.960413デフォルトの名無しさん
2013/06/09(日) 16:29:34.230414デフォルトの名無しさん
2013/06/09(日) 16:46:18.060415デフォルトの名無しさん
2013/06/09(日) 16:47:59.45>>> sc((2, 1))
1
0416デフォルトの名無しさん
2013/06/09(日) 16:53:34.220417デフォルトの名無しさん
2013/06/09(日) 16:55:52.860418デフォルトの名無しさん
2013/06/09(日) 17:11:40.35sc = lambda x: None if eq(*x) else min(x)
0419デフォルトの名無しさん
2013/06/09(日) 17:29:04.520420デフォルトの名無しさん
2013/06/09(日) 17:33:03.28がスマートだな
二行だけど
0421デフォルトの名無しさん
2013/06/09(日) 17:34:40.290422デフォルトの名無しさん
2013/06/09(日) 17:34:50.60関数はネストできますが、ネストする必要がある場合が想像出来ません。
ネストした方が良い例があれば教えてください。
0423デフォルトの名無しさん
2013/06/09(日) 17:36:49.09代わりに subprocess.popen を使うべきですか?
それはどうしてですか?
0424デフォルトの名無しさん
2013/06/09(日) 17:36:59.07別に必然性はないけど
0425デフォルトの名無しさん
2013/06/09(日) 17:41:09.51http://docs.python.jp/2/library/popen2.html
0426デフォルトの名無しさん
2013/06/09(日) 17:41:41.00>>423
http://www.python.org/dev/peps/pep-0324/
0427デフォルトの名無しさん
2013/06/09(日) 17:42:38.22関数もオブジェクトだから
関数の中でラムダ式が使えないと不便だし
0428デフォルトの名無しさん
2013/06/09(日) 18:32:28.69lambdaの中でprintが使えないんですがなんでですか?
hello = lambda: print "hello"
2.7を使ってます
0429デフォルトの名無しさん
2013/06/09(日) 18:35:59.440430デフォルトの名無しさん
2013/06/09(日) 18:38:48.08Python3はprintが命令から関数になってNoneを返すようになったので書ける
Python2.7でもfuture_importを使えばprint関数にできるはず
0431デフォルトの名無しさん
2013/06/09(日) 18:38:51.75re.subに渡す関数を内部で定義したりすることはよくある。
読みやすさ的にlambda式は基本使わないな。
0432デフォルトの名無しさん
2013/06/09(日) 18:39:11.99>>> hello = lambda: print("hello")
>>> hello()
hello
0433428
2013/06/09(日) 19:09:32.41良くわかりました、ありがとう
0434422
2013/06/09(日) 19:13:13.34しかし、そのまま関数じゃなく実行文を書いても良いですよね?
関数としてどっかで呼びたいから関数にする
それがネスト元の関数内だけで呼び出したい?
でも関数にしないでそのまま書けば?
2回以上呼び出す必要がなければネストしてまで関数にするのはやっぱり名前?
0435デフォルトの名無しさん
2013/06/09(日) 19:25:43.18面倒くせえやつだなお前
http://ideone.com/ifXglR
0436デフォルトの名無しさん
2013/06/09(日) 19:29:10.45・処理をグループ分けして見通しを良くするため
・クロージャー的な使い方のため
0437デフォルトの名無しさん
2013/06/09(日) 19:33:51.80関数を作るのは関数が必要だから。
必要ないのに無理矢理関数にしたら逆に分かりにくくなるぞ。
0438デフォルトの名無しさん
2013/06/09(日) 19:42:33.87そこまで考えるに至ってないよ
時間の無駄だから飛ばして次に進むといい
0439422
2013/06/09(日) 19:52:17.43>>435 さんの例がわかりやすいです
これが必要な時が知りたいのです
def x(a):
def y():
print(a)
return y
x1 = x(1)
x2 = x(2)
x1()
x2()
--------------------
1
2
def y() は、このままの例のコードであれば必要がないですよね?
どうも見てるネストのコードがほぼ3行くらいであってもなくてもみたいな感じだったので
>>437 さんであれば >>435 をどう見るかが知りたいのです
0440デフォルトの名無しさん
2013/06/09(日) 19:59:36.17ラムダだっていちいち関数に名前付けるのめんどくせえ!ってためだけにあるし
0441デフォルトの名無しさん
2013/06/09(日) 20:03:53.18os.walkでカスタムエラー処理してみろ
条件
・エラーが発生しても無視すること
・ただしprintでログに記録すること
・2.7で行い、future_importを使用しないこと
0442デフォルトの名無しさん
2013/06/09(日) 20:08:40.56def y()が無いとx(1)した時点でprintされちゃうでしょ
必要なくないよ
0443デフォルトの名無しさん
2013/06/09(日) 20:13:32.88切にしたい
0444デフォルトの名無しさん
2013/06/09(日) 20:22:46.04この例だけ抜き出して、これが必要かと問われれば、こんな無意味なコードはない。
ただ、実際に何かを作ってる時に、具体的な目的や条件、制約があると
これと同じようなことがしたくなる事はきっとあると思う。
今それが思いあたらなければ無理してネストした関数にこだわる必要はないと思うよ。
0445デフォルトの名無しさん
2013/06/09(日) 20:26:41.97そんなに知りたいなら本当に実用的な例見せてやるよ
http://ideone.com/8yjZKZ
34行目な
実用的過ぎて理解できないだろ
0446デフォルトの名無しさん
2013/06/09(日) 20:31:51.790447422
2013/06/09(日) 22:13:31.02必要が出てこない限り理解出来ないと理解しました><
で>>445 のコードではネストの関数内でやっていることがあまり好きではないですけど
その後の関数での記述が簡潔に見えるのは理解出来ました
0448デフォルトの名無しさん
2013/06/10(月) 08:50:07.13ネストの深さが動的に変化するようなときに困るから好きじゃない
0449デフォルトの名無しさん
2013/06/10(月) 11:02:54.130450デフォルトの名無しさん
2013/06/10(月) 11:12:09.35再帰とか憎んでそうだなw
0451デフォルトの名無しさん
2013/06/10(月) 11:17:46.38ソースでネスト固定しちゃうと
アルゴリズム上のネストが
実行時に変えられないから
問題だと言ってるんで
0452デフォルトの名無しさん
2013/06/10(月) 11:19:35.310453デフォルトの名無しさん
2013/06/10(月) 11:31:48.190454デフォルトの名無しさん
2013/06/10(月) 12:19:12.340455デフォルトの名無しさん
2013/06/10(月) 12:40:42.640456デフォルトの名無しさん
2013/06/10(月) 15:20:24.430457デフォルトの名無しさん
2013/06/10(月) 16:06:18.01doc = xml.dom.minidom.Document()
root = doc.createElement('root')
doc.appendChild(root)
str = doc.toxml()
print(str)
Python3.3.2です
このコードを実行すると<?xml version="1.0" ?><root/>のように勝手にdoctypeが付いてしまいます。
<root/>というふうに要素のみ出力したいので、doctypeをつけないようにする設定はな方法を教えてください
応急処置でxmlを文字列で変数に格納して置換でdoctypeを消してますが、この方法しかないでしょうか?
0458デフォルトの名無しさん
2013/06/10(月) 16:09:28.640459デフォルトの名無しさん
2013/06/10(月) 16:30:15.63doc.documentElement.toxml() や root.toxml() かなあ
もし特別な理由がないのなら ElementTree や lxml 使ったほうがいいかも
0460デフォルトの名無しさん
2013/06/11(火) 03:20:08.19文字列を""←ダブルクォーテーションで囲ってるものが多いのに
Pythonは何故''シングルコーテーションが多いのですか?
シングルじゃなきゃ書けないわけでもないみたいなのに、不思議です
0461デフォルトの名無しさん
2013/06/11(火) 03:27:31.080462デフォルトの名無しさん
2013/06/11(火) 03:30:37.76キーボードの配列じゃないかな?
0463デフォルトの名無しさん
2013/06/11(火) 03:46:31.86どういうことでしょうか?
英字版キーボードだとシングルコーテーションの方が押しやすい位置にあったりするのでしょうか?
日本語のキーボードだと、Shiftと離れた位置にあるので、ダブルクォーテーションの方が押しやすい気がします
0464デフォルトの名無しさん
2013/06/11(火) 03:48:51.070465デフォルトの名無しさん
2013/06/11(火) 03:49:03.29イミフ
0466デフォルトの名無しさん
2013/06/11(火) 03:54:19.75すみません
日本語のキーボードだと、(シングルコーテーションが)Shiftキーと離れた位置にあるので
(Shiftキーと近い位置にある)ダブルクォーテーションの方が押しやすい気がします
色々省きすぎました
シングルもダブルも、shift押しながらじゃないと打てないので
Shiftと近い位置にある記号の方が良いのではないかと。
もちろん両手使えばいい話ですが"クォーテーション使った後にすぐに次の動作に移る際
右手のポジションが数字キーの位置にあるのはあまり宜しくない気がするのです
0467デフォルトの名無しさん
2013/06/11(火) 03:56:47.40どっちでもいいから両方使えるんだよ
0468デフォルトの名無しさん
2013/06/11(火) 03:59:12.290469デフォルトの名無しさん
2013/06/11(火) 04:01:42.930470デフォルトの名無しさん
2013/06/11(火) 04:04:11.100471デフォルトの名無しさん
2013/06/11(火) 04:06:43.080472デフォルトの名無しさん
2013/06/11(火) 04:07:29.070473デフォルトの名無しさん
2013/06/11(火) 04:08:42.24俺が更新したとこだけダブルクォーテーションだと気持ち悪いだろ!!
0474デフォルトの名無しさん
2013/06/11(火) 04:09:45.790475デフォルトの名無しさん
2013/06/11(火) 04:23:18.09理由を聴いてるんだよ俺は
余計な回答してんじゃねーぞ
ココはヤフー知恵袋以下か!
0476デフォルトの名無しさん
2013/06/11(火) 04:25:18.68お前が気に食わない流儀があるという事実は変わらない
嫌ならPythonを使わなければいいだけ
0477デフォルトの名無しさん
2013/06/11(火) 04:59:21.130478デフォルトの名無しさん
2013/06/11(火) 07:53:28.70rubyかじっててpythonはまだハローワールドだけど、ダブルで囲った文字列内だと式、変数展開とか色々出来て、シングルだと単なる文字列しか出来ないのと関係あったりするのかな
それとも欧米主力言語の特徴なんだろか
0479デフォルトの名無しさん
2013/06/11(火) 08:32:37.98関係ない
0480デフォルトの名無しさん
2013/06/11(火) 08:53:58.700481デフォルトの名無しさん
2013/06/11(火) 09:15:21.591.新しいものは新しいものとして新たに覚える
2.知ってる言語と比較しながら覚える
タイプがあるみたいだけど
どっちが効率良いんかね
2.で知ってる言語にやたらこだわるひとは時間を無駄にしてると思わないのかな
0482デフォルトの名無しさん
2013/06/11(火) 09:21:28.14自然言語の場合、例えば日本語ネイティブのひとが英語とフランス語おぼえるとき、
先に英語を覚えてから英語との比較でフランス語を覚える手順をとると、
日本語<->フランス語のトランスレーションが直接できなくて、
毎回英語を経由する癖がついてしまうのが良くないって主張があるんだよね。
だから英語を知っててもフランス語を覚えなおすときは、英語のことは一旦忘れて
日本語から直接フランス語へのトランスレーションをできるようにした方が良い。
0483デフォルトの名無しさん
2013/06/11(火) 09:43:18.39理由はHTMLを囲うときに
↓のようにHTML内部のダブルコーテーションを保ったまま文字列を書けるからってのが一つある
'<div class="foo"></div>'
HTMLがダブルなのはW3Cがそう決めたから
ちなみにソースはGoogleさんのJavascriptコーディングガイド
Pythonのコーディングガイドもあるけど、ここには書いてなかったと思う
http://cou929.nu/data/google_javascript_style_guide/
自分で書くなら好きなもの使えばいいけど
プロジェクトに参加するなら、そのプロジェクトの流儀に従わないといかん
インデントの形式とかもね(スペースインデント(^p^)しーね!しーね!)
0484デフォルトの名無しさん
2013/06/11(火) 10:25:43.960485デフォルトの名無しさん
2013/06/11(火) 10:27:33.25ダブルクオートを含む文字列の場合はシングルクオート。
1文字だけの文字列をリテラルで書くときはシングルクオート。
複数行に渡る文字列の場合はダブルクオート3個連続。
と書き分けてるが、こういうのって少数派?
0486デフォルトの名無しさん
2013/06/11(火) 10:51:11.43特別の事情がない限り好きにしたらいいのでは
0487デフォルトの名無しさん
2013/06/11(火) 11:40:12.580488デフォルトの名無しさん
2013/06/11(火) 11:47:56.880489デフォルトの名無しさん
2013/06/11(火) 12:20:30.99困らないが、仕事として少しだけ参加とかになると
その時だけ少数派で仕事するか多数派で仕事するかになる
自分だけで完結する仕事ならどっちでも関係ないが正解
ま、仕事の最初に確認しとけば良いはず
自分は普段の書き方と違う書き方も両方出来るから確認すれば問題ない
こだわりを持つべき箇所とそうでない箇所を理解するまでに
>>460 のような質問をするのは良いと思う
>>460 のように考えることが1度でもある人は優秀
叩かれるのわかってても質問出来るひとは伸びるよ
それをつぶそうとする人はとても多いけど、その人達は間違いなく凡人だからね
0490デフォルトの名無しさん
2013/06/11(火) 12:26:34.960491デフォルトの名無しさん
2013/06/11(火) 12:37:00.18C経験してるとそうなるのは判るけど
あまりそれにこだわってると
c = 'c'
if c == 0x43:
みたいなミスをやらかす
0492デフォルトの名無しさん
2013/06/11(火) 12:46:59.96文字列型を区別するというか英語圏の人達はシングル ' を文字列で使うから
自然と文字列型にはダブル " を使うことが多くなる
これは区別というか習慣になっている
日本人は習慣になっていないから区別する必要も出てくる
ここを考える人とそうでない人との認識で話し合いしても噛み合わないだけ
0493デフォルトの名無しさん
2013/06/11(火) 12:47:50.63黙ってろ島国JAP
http://www.dtp-transit.jp/images/apple-keyboards-US-JIS.jpg
0494デフォルトの名無しさん
2013/06/11(火) 12:51:40.46いや、文字列型にシングルを使うって言ってんだろw
文字列型はダブル!という呪いに縛り付けられてるのはおまえだけ
お前だけが一人暴れてるんだから話が噛み合うわけねーわ。みんな普通に文字列型にシングルを使ってんだから
つーか、char型とstring型の話をしてるのに
なんでいきなり文字列と文字列型とか意味不明な話になってんだ?馬鹿すぎるだろ
0495デフォルトの名無しさん
2013/06/11(火) 12:53:02.63読んでみ。全然統一されてないから。
一部の神経症患者意外こんなこといちいち気にしてないってこと。
0496デフォルトの名無しさん
2013/06/11(火) 12:56:37.40標準ライブラリはpydocがダブルで通常の文字列はシングルに統一されてるはずだけど
0497デフォルトの名無しさん
2013/06/11(火) 12:56:47.370498デフォルトの名無しさん
2013/06/11(火) 12:58:31.21どうでもいい話だと思いますが
0499デフォルトの名無しさん
2013/06/11(火) 13:14:55.98一般的な文章とプログラムの文字列で同じお作法使うとは限らないよな
上に書いてあるとおり標準ライブラリの文字列はほぼシングルな訳でね
0500デフォルトの名無しさん
2013/06/11(火) 13:24:16.82気にしてると疑問に思うは違うことだよ
疑問に思ったことを気にしてると思い込みたい君の思考がアスペに近い
程度は人それぞれ違うことを理解しよう
英語圏の人はシングル ' は a と同じ感覚 だから配列でもShiftを押さずに打てる
aHello It's Pythona , "Hello It's Python", 'Hello It's Python'
たぶんどこの国でコードを書くかで感覚は違ってくると思われる
アスペ君はきっとどこに行っても変わらないでいるだろう
0501デフォルトの名無しさん
2013/06/11(火) 13:27:36.43誰が書いても同じソースコードになるとかいうのがpyてょんさんの売りじゃなかったんですかねぇ
まあそのアスペがPythonのウリですから
0502デフォルトの名無しさん
2013/06/11(火) 13:27:42.460503デフォルトの名無しさん
2013/06/11(火) 13:45:27.360504デフォルトの名無しさん
2013/06/11(火) 13:57:14.55あなたが見たソースコードにたまたまシングルの利用例が多かっただけじゃないでしょうか?
0505デフォルトの名無しさん
2013/06/11(火) 14:47:46.360506デフォルトの名無しさん
2013/06/11(火) 15:01:45.450507デフォルトの名無しさん
2013/06/11(火) 15:08:41.52ホントは押したいんでしょ?
0508デフォルトの名無しさん
2013/06/11(火) 18:32:33.24for i in xrange(10)
だよね
0509デフォルトの名無しさん
2013/06/11(火) 20:28:34.620510デフォルトの名無しさん
2013/06/11(火) 21:09:55.960511デフォルトの名無しさん
2013/06/12(水) 03:00:38.120512デフォルトの名無しさん
2013/06/12(水) 06:55:08.27ダブルクオートはシフトキー押す必要がある
実際使ってると, シフト押すのめんどくさくなってシングルクオートを多用し始める
0513デフォルトの名無しさん
2013/06/12(水) 07:46:41.710514デフォルトの名無しさん
2013/06/12(水) 08:12:20.930515デフォルトの名無しさん
2013/06/12(水) 15:09:40.470516デフォルトの名無しさん
2013/06/12(水) 16:34:40.010517デフォルトの名無しさん
2013/06/12(水) 16:56:04.51http://www.fnn-news.com/news/headlines/articles/CONN00247841.html
0518デフォルトの名無しさん
2013/06/12(水) 18:41:28.90def function1():
処理
time.sleep(60)
処理
while True:
function1()
function2()
これでは function2 が即実行出来ない><
from threading import Timer
while True:
0519デフォルトの名無しさん
2013/06/12(水) 18:44:51.87from threading import Timer
while True:
Timer(0, function1).start()
Timer(0, function2).start()
function3()
と1行追加と数行の変更でスレッディング出来ちゃった最高٩(๑❛ᴗ❛)۶
という話でした
0520デフォルトの名無しさん
2013/06/12(水) 20:03:52.65テンプレートに妙な癖があって凄くイライラする
d = {"apple" : 3}
例えばこういうdictを使ってテンプレートで表示しようとしたら、
{{ d["apple"] }} では駄目で、{{ d.apple }} としなくちゃいけない
あとリストも {{ list[3] }} では駄目
なぜわざわざ普通のpython的な書き方とは異なる仕様にしてるんだろ
言語自体はRubyよりpythonの方が好きだけど、
webフレームワークに関してはDjangoってなんかすっきりしない仕様が多い
Railsと比べると筋が悪いと言うか...
0521デフォルトの名無しさん
2013/06/12(水) 20:07:35.77所詮先発なだっただけだと今は思う
0522デフォルトの名無しさん
2013/06/12(水) 20:09:09.240523デフォルトの名無しさん
2013/06/13(木) 03:50:34.85気に入らなければ書き直せばいいじゃん
rails準拠のDjango with Railsって名前つけてさ
0524デフォルトの名無しさん
2013/06/13(木) 07:23:58.38同意
Tempita オヌヌメ
0525デフォルトの名無しさん
2013/06/13(木) 07:27:12.950526デフォルトの名無しさん
2013/06/13(木) 13:06:30.85出力の例:<S>私は</S><A>車に</A><V>乗る。</V>
「<A>〜</A>」を赤色にしたいです。
範囲指定をしての色の変換出力の方法を教えてください。
0527デフォルトの名無しさん
2013/06/13(木) 14:14:56.46出力先の端末が ANSI エスケープを解釈してくれるなら
print "私は\x1B[31m車に\x1B[30m乗る"
うまくいかなければ環境を詳しく
0528デフォルトの名無しさん
2013/06/13(木) 16:59:00.60ありがとうございます。
説明が分かりづらくてすみません。
出力の文章には<S></S><A></A><V></V>というタグが付いていて、
その間にある文章は毎回変わってしまいます。
0529デフォルトの名無しさん
2013/06/13(木) 17:13:15.52# coding: utf8
import re
src = u"<S>私は</S><A>車に</A><V>乗る。</V>"
print re.sub(r'(<A>.*?</A>)', '\x1B[31m\\1\x1B[30m', src)
0530デフォルトの名無しさん
2013/06/13(木) 17:54:25.53ありがとうございます。
プログラムを実行すると、
<S>私は</S>[31m<A>車に</A>[30m<V>乗る。</V>
と表示されました。
何がいけないのでしょうか?
0531デフォルトの名無しさん
2013/06/13(木) 20:20:07.71> 何がいけないのでしょうか?
人の言うことを聞かない君の性格。
> うまくいかなければ環境を詳しく
0532デフォルトの名無しさん
2013/06/13(木) 20:45:12.920533デフォルトの名無しさん
2013/06/13(木) 20:46:16.48これじゃ誰も来なくなってしまうぞ
0534デフォルトの名無しさん
2013/06/13(木) 20:47:24.340535デフォルトの名無しさん
2013/06/13(木) 22:07:34.38そう思うなら、君が答えてやればいいんじゃね。
0536デフォルトの名無しさん
2013/06/13(木) 22:14:54.93そういう問題じゃないと思うなあ
罵倒や皮肉がぶつけられる中、
何事もなかったように二人で穏やかな
やりとりができると思う?
人間そんなに強くはできていないぜ
0537デフォルトの名無しさん
2013/06/13(木) 22:47:26.540538デフォルトの名無しさん
2013/06/13(木) 23:27:15.370539デフォルトの名無しさん
2013/06/14(金) 00:02:10.67Djangoのテンプレートってどうよ?っていう話題に対して
>>523みたいに「じゃあ書き換えろ」とかくだらないことを言う人
0540デフォルトの名無しさん
2013/06/14(金) 00:03:03.920541デフォルトの名無しさん
2013/06/14(金) 00:47:30.820542デフォルトの名無しさん
2013/06/14(金) 01:25:16.73どうって言われても書き換える以外どうしようもないじゃん
それとも慣れろって言えばいいわけ?
他の方法があるなら教えてあげてくれよ
0543デフォルトの名無しさん
2013/06/14(金) 01:29:35.33d.apple でアクセス出来たほうが楽なんだけどな d['apple'] よりも
打ち込んでるキー数考えてもそうでしょ?
0544デフォルトの名無しさん
2013/06/14(金) 01:33:53.99数字がインデックスの場合はどうすんの?
0545デフォルトの名無しさん
2013/06/14(金) 01:34:10.34言語自体はRubyよりpythonの方が好きだけど、
webフレームワークに関してはDjangoってなんかすっきりしない仕様が多い
Railsと比べると筋が悪いと言うか...
0546デフォルトの名無しさん
2013/06/14(金) 01:34:26.650547デフォルトの名無しさん
2013/06/14(金) 01:36:00.500548デフォルトの名無しさん
2013/06/14(金) 01:37:04.09アクセスするのに d.apple みたいにするの多いと思うけど
0549デフォルトの名無しさん
2013/06/14(金) 01:46:57.49作者の心情を代わりに答えるボランティアでもない
そんなに知りたければフォーラムに書いて来い
0550デフォルトの名無しさん
2013/06/14(金) 01:56:07.55単にイライラを共有して欲しいだけだよ。
女がよくそういう話し方するだろ。
0551デフォルトの名無しさん
2013/06/14(金) 02:05:23.69>The Django template system recognizes that templates are most often written by designers,
>not programmers, and therefore should not assume Python knowledge.
0552デフォルトの名無しさん
2013/06/14(金) 02:23:58.560553デフォルトの名無しさん
2013/06/14(金) 02:25:47.58>>551
designers って誰だよ。
個人がだれかじゃなくて、普段なんの生業に携わってる人なのよ。
0554デフォルトの名無しさん
2013/06/14(金) 02:37:06.60ORMは糞
0555デフォルトの名無しさん
2013/06/14(金) 02:39:01.590556デフォルトの名無しさん
2013/06/14(金) 03:15:29.02jinja2はDjangoのテンプレートシステムから分岐したテンプレートエンジンだから使用感は変わらん
0557デフォルトの名無しさん
2013/06/14(金) 07:43:33.990558デフォルトの名無しさん
2013/06/14(金) 09:50:42.23すみません。
そのままコピーペーストして使ったのですが。
環境はWindowsでPythonのバージョンは2系の最新でコマンドプロンプトで実行しました。
0559デフォルトの名無しさん
2013/06/14(金) 12:05:25.37shell=TrueにしてもUACが出ません
どのようにして管理者として実行できますか?
import subprocess
subprocess.check_call('C:/program/mytool.exe', shell=True)
0560デフォルトの名無しさん
2013/06/14(金) 12:20:24.04起動したいプログラムの互換性の設定で「管理者として実行」を有効にしていなければ不可
上記のいずれを行なっていれば、shell=TrueでUACが出る
shell=Falseだと起動できない
0561デフォルトの名無しさん
2013/06/14(金) 12:43:49.58pyreadline入れて
>>> import readline, sys
>>> sys.stdout = readline.GetOutputFile()
>>> print "\x1b[31mtest"
0562デフォルトの名無しさん
2013/06/14(金) 14:12:46.90お前のスッキリのためにあるわけじゃねーからだよ
書きやすさ優先だ
0563デフォルトの名無しさん
2013/06/14(金) 14:14:41.56webデザイナーだろアホめ
Djangoで何つくってんだよおめーは
0564デフォルトの名無しさん
2013/06/14(金) 14:35:38.86ぼっちでプログラミングしてて
デザイナーと組んだことがないのも不思議じゃない
そういうひとにはDjangoは不要というか向いてない
0565デフォルトの名無しさん
2013/06/14(金) 15:27:38.74import readline, sys
ImportError: No module named readline
というエラーが出てしまいました。
0566デフォルトの名無しさん
2013/06/14(金) 15:48:21.890567デフォルトの名無しさん
2013/06/14(金) 17:24:30.030568デフォルトの名無しさん
2013/06/14(金) 17:47:56.58わからないところは先生に聞きなさい
もし趣味でpythonやってるなら段差に躓いて転んで帰ってくるな
0569デフォルトの名無しさん
2013/06/14(金) 19:25:09.19PyPiからモジュールをインストールする方法を調べよう
そしてcoloramaを入れよう
0570デフォルトの名無しさん
2013/06/14(金) 22:27:36.64s = '\x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81'
print(str(s))
sに格納されているUnicode?を変換すると「指定されたモジュールが見つかりません」って表示されるそうなんですが、
この変換方法がわかりません
Python3からは文字列型はUnicode文字列なのでstrで変換できると思ったのですができません
どなたかご教示お願いします
0571デフォルトの名無しさん
2013/06/14(金) 22:42:04.85'指定されたモジュ'
>>> b'\x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85'.decode('cp932')
'指定されたモジュ'
>>> '\x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85'.encode("raw_unicode_escape").decode("cp932")
'指定されたモジュ'
0572デフォルトの名無しさん
2013/06/14(金) 23:05:15.270573デフォルトの名無しさん
2013/06/15(土) 10:09:57.79struct.pack(">h", 1)だとb"\x00\x01"で2Byteになってしまいます。
0574デフォルトの名無しさん
2013/06/15(土) 10:24:56.410575デフォルトの名無しさん
2013/06/15(土) 10:25:37.820576デフォルトの名無しさん
2013/06/15(土) 10:26:24.170577573
2013/06/15(土) 10:37:47.790578573
2013/06/15(土) 11:06:17.62教えてくれた人ありがとうございました。
0579デフォルトの名無しさん
2013/06/15(土) 12:29:48.71やっぱ言語使用のせいなの?
0580デフォルトの名無しさん
2013/06/15(土) 12:41:55.30凄まじく居心地のいい開発環境を実現している
0581デフォルトの名無しさん
2013/06/15(土) 13:26:22.460582デフォルトの名無しさん
2013/06/15(土) 14:23:34.040583デフォルトの名無しさん
2013/06/15(土) 15:27:50.37抜けていかないからハラスメントして追い出すわけでしょ
ブラック企業やイジメ横行の企業どこが違うのか
0584デフォルトの名無しさん
2013/06/15(土) 15:29:38.710585デフォルトの名無しさん
2013/06/15(土) 15:32:57.590586デフォルトの名無しさん
2013/06/15(土) 15:34:56.300587デフォルトの名無しさん
2013/06/15(土) 15:38:01.40昨日の21時からよく18時間も怒り心頭を発してられるよ。
0588デフォルトの名無しさん
2013/06/15(土) 15:42:16.99未然に防がれてよかった
0589デフォルトの名無しさん
2013/06/15(土) 15:57:54.20勝手に思い込みが激しいアスペチックな人が多すぎるよここw
そして一人じゃないみたいだし 集まってるねここw
はずかしい
0590デフォルトの名無しさん
2013/06/15(土) 16:03:29.900591デフォルトの名無しさん
2013/06/15(土) 16:29:57.08ハマのサテンでナオンと待ち合わせたオイラは、10分程遅れて到着した。
窓ガラスから店の中を覗くと、ナオンは既に椅子に坐って待っていた。
「ヒュー」
思わず口笛を吹いた。相変わらずマブイ。
カランコロンカラン、コロンカランコロン。
「レスカ、ガム抜きでな」
マスターにそう声を掛けて、オイラは席についた。
「オマエ、何頼んだの?」
「レイコー」
ぶっきらぼうに答える。
「アイスコーヒーとガムシロ抜きのレモンスカッシュです」
ウェイトレスが苦い空気に割って入った。
「ほら、生きてるぜ」
クシャクシャになったストローの袋に水を掛けながら言った。巷で流行ってる遊びだ。
「タカシが死んだよ」
ヨーコが言った。
「峠で事故ってさ、即死だって」
「・・・」
「アイツの走りって、まるで死に急ぐような
命を削ってる走りだった。だからアタシは
ずっと止めさせようと思ってたのに、
そうする前にいってしまった」
ヨーコがタバコに火をつけた。
ホープ。ナオンの癖にキツイタバコだ。
ホープ。希望。嫌な言葉だ。希望なんてのはどん底の奴が持つものだ。
希望の無い奴だけが希望を持てる。ヨーコの吐き出す紫煙を吸って、オイラも
タバコに火をつけた。
わかば。安くて旨いタバコだ。俺達はまだ若い。それは希望なのか?オイラにはわからない。
0592デフォルトの名無しさん
2013/06/15(土) 18:25:29.18簡単ならあなたがスパッと教えて差し上げればいいんじゃないですか?
0593デフォルトの名無しさん
2013/06/15(土) 18:29:29.820594デフォルトの名無しさん
2013/06/15(土) 18:47:33.480595デフォルトの名無しさん
2013/06/15(土) 18:47:53.921レスでスパッと回答して差し上げればあなたの憎むいじめ問題は起こらないのでは?
0596593
2013/06/15(土) 18:51:09.75ちょっと真似してみたんだけど
0597デフォルトの名無しさん
2013/06/15(土) 19:03:39.36死ね。
0598デフォルトの名無しさん
2013/06/15(土) 19:05:13.24そんな成り済ましを装っても無駄ですよ
0599デフォルトの名無しさん
2013/06/15(土) 20:17:10.45[a,a,b,a,a]
bが出てくるまではAの処理、b以後はBの処理を行いたいんですけど、
一回で処理できるでしょうか?
forループでindex番号をとって処理する方法は思いついたのですが、
もっとスマートな方法があれば教えてください。
0600デフォルトの名無しさん
2013/06/15(土) 20:20:43.87A = func
B = func2
for n in [a,a,b,a,a]
if n == b:
A = B
A(n)
0601デフォルトの名無しさん
2013/06/15(土) 20:21:54.970602デフォルトの名無しさん
2013/06/15(土) 20:35:37.51ありがとうございます、助かりました。
0603デフォルトの名無しさん
2013/06/15(土) 21:24:06.41例えるならclojureのpython版みたいな感じですがわかる人いますか
0604デフォルトの名無しさん
2013/06/15(土) 22:22:51.85やりたければモジュールを作ってimportする必要がある
Jythonなどはその限りではない
0605デフォルトの名無しさん
2013/06/15(土) 22:25:42.37C/C++で作ったものをpythonから使うしかないんですね
ありがとうございました
0606デフォルトの名無しさん
2013/06/15(土) 22:35:43.57それ以外は不可
0607デフォルトの名無しさん
2013/06/15(土) 22:44:25.98このページを見つけたんですが
これのバイトコード命令を生成することも無理ですか
0608デフォルトの名無しさん
2013/06/15(土) 22:53:37.86pyファイル以外から作る方法は持ってないの!
例えばあなたがx86の機械語を読んで、
CPythonのバイトコードに変換するようなプログラムを書くなら、
それは全然問題ない。
具体的に何を使って何をしたいのか言えよ。
0609デフォルトの名無しさん
2013/06/15(土) 22:57:30.070610デフォルトの名無しさん
2013/06/15(土) 23:03:47.27したがって、そのような機構は存在しません。
あなたがそのようなプログラムを作成することは問題ありません。
ぜひそうしましょう。
0611デフォルトの名無しさん
2013/06/16(日) 12:43:39.35https://github.com/whymirror/unholy
0612デフォルトの名無しさん
2013/06/16(日) 12:48:00.88https://github.com/halgari/clojure-py
探し方が悪いのでは?
0613デフォルトの名無しさん
2013/06/16(日) 23:39:25.690614デフォルトの名無しさん
2013/06/18(火) 11:07:43.47できれば外部モジュールは使わないほうがいいです
0615デフォルトの名無しさん
2013/06/18(火) 12:12:05.86javascriptってjavascriptだけで成り立ってるわけじゃないからね
その質問だとpure pythonのブラウザをくれって質問とほぼ等価で
そんなもんない
0616デフォルトの名無しさん
2013/06/18(火) 12:33:00.53OSは何なのかとか、ブラウザは何なのかによって
外部モジュールが要るかどうか、そもそも可能かどうかも変わる
俺が同じ事をやれと言われたら
pythonでproxyを作ってサイトにjavascriptを注入する
0617デフォルトの名無しさん
2013/06/18(火) 22:18:37.96さっそくつまずきそうなので教えてください
>>> i = 1
>>> i += 2
>>>i
3
これです。二行目がさっぱりです
どういう意味ですか?
0618デフォルトの名無しさん
2013/06/18(火) 22:23:35.04i += 2
と書きます
これを
i =+ 2
と書かないのは
i = +2
と区別が付かないから?じゃないかと思います
あと
i = i + 2
と書くのはお勧めしません
0619デフォルトの名無しさん
2013/06/18(火) 22:48:09.10i = i + 2 だったら理解出来るんだけどなぁ
頭が硬いんだろうか
ありがとう
0620デフォルトの名無しさん
2013/06/18(火) 22:50:03.860621デフォルトの名無しさん
2013/06/18(火) 22:53:23.930622デフォルトの名無しさん
2013/06/18(火) 22:54:06.38詳しく
0623デフォルトの名無しさん
2013/06/18(火) 23:08:56.030624デフォルトの名無しさん
2013/06/19(水) 00:33:10.39i = i+2
みたいな書き方よりも、
i += 2
みたいな書き方のほうが若干処理が早くなるらしいから、慣れといて損はないよ
同じふうに、
-=
*=
/=
もある
0625デフォルトの名無しさん
2013/06/19(水) 00:45:11.790626デフォルトの名無しさん
2013/06/19(水) 01:58:48.20自分の記憶が正しければ、C言語がその代入演算子を使い始めた。
それが正しいかどうかはともかく、とりあえずPython固有な話じゃない。
乱暴に言うと、プログラミング言語の世界では珍しくない構文。
0627デフォルトの名無しさん
2013/06/19(水) 06:28:18.00わかる
宣言的じゃないんだよな
1つの式の中で順番を意識する必要があるから、
理解してても一瞬、んん?となる
0628デフォルトの名無しさん
2013/06/19(水) 07:10:37.900629デフォルトの名無しさん
2013/06/19(水) 07:50:15.76そうなのか、済まん無知だった
0630デフォルトの名無しさん
2013/06/19(水) 09:10:00.270631デフォルトの名無しさん
2013/06/19(水) 10:17:17.340632デフォルトの名無しさん
2013/06/19(水) 10:22:55.84pythonにはある
0633デフォルトの名無しさん
2013/06/19(水) 10:28:46.030634デフォルトの名無しさん
2013/06/19(水) 10:55:04.580635デフォルトの名無しさん
2013/06/19(水) 15:12:26.48Timerもsleepも読込みで止まってしまいます(使い方間違ってたらごめんなさい)
0636デフォルトの名無しさん
2013/06/19(水) 16:37:36.360637デフォルトの名無しさん
2013/06/19(水) 16:48:03.58止まるってのが良くわからないな
ttp://ideone.com/KwDnzr
0638デフォルトの名無しさん
2013/06/19(水) 16:53:51.59ttp://ideone.com/cze8IQ
0639デフォルトの名無しさん
2013/06/19(水) 20:03:43.850640デフォルトの名無しさん
2013/06/22(土) 12:04:33.60a=2
b=2
if (a is b):
print("same")
これは、同じ整数値を指すポインタみたいなものなんだろうと理解したけど、
a=2
b=8
a*=4
if (a is b):
print("same")
これでも、sameになるのは、なぜ?
pythonインタプリタが、一々結果を確かめてるのなら、次も same になりそうなのに。
s='bc'
t='abc'
s=t[0] + s
if (s is t):
print("same")
else:
print("diff as object")
0641デフォルトの名無しさん
2013/06/22(土) 12:15:50.43ストリングはリストだから
0642デフォルトの名無しさん
2013/06/22(土) 12:19:05.40id はオブジェクトへのポインタなり参照による比較であってる
小さい整数についてはキャッシュ済みでそれを使いまわしてる
>>> a = 1000
>>> b = 1000
>>> a is b
False
>>> a = 10
>>> b = 10
>>> a is b
True
0643640
2013/06/22(土) 12:30:45.44ひえ〜
これは、言語仕様として?
それとも、たまたまそういう実装なだけでしょうか?
0644デフォルトの名無しさん
2013/06/22(土) 12:35:42.91そもそもオブジェクトを比較すると分かってるのに
整数に使おうとするのはなぜ?
0645640
2013/06/22(土) 12:45:14.73いや、今日からpythonを始めたので、「オブジェクト」の中身が
よく分からなくて、== と is を、いろいろ試していました。
どうも、有り難うございました。
0646デフォルトの名無しさん
2013/06/22(土) 13:08:55.11たまたまそういう実装なんだと思う
http://docs.python.org/2/c-api/int.html#PyInt_FromLong
0647デフォルトの名無しさん
2013/06/22(土) 13:13:00.350648デフォルトの名無しさん
2013/06/22(土) 13:39:37.230649デフォルトの名無しさん
2013/06/22(土) 13:43:15.520650デフォルトの名無しさん
2013/06/22(土) 13:49:58.550651648
2013/06/22(土) 14:11:54.85確かに言われればそうだな。
でも、結果が不定になるのはちょっとなぁ。
Numbers は、警告するとかじゃダメかな。
0652デフォルトの名無しさん
2013/06/22(土) 14:13:09.040653デフォルトの名無しさん
2013/06/22(土) 14:14:43.270654デフォルトの名無しさん
2013/06/22(土) 14:20:57.620655デフォルトの名無しさん
2013/06/22(土) 15:57:38.13警告と言うか、オプションで例外にするかどうか決められるような感じ。
>>654
まあ、バグのケースしか考えられないけど、初心者がわけわからず悩むより、
例外でも発生してくれた方がうれしくない?
0656デフォルトの名無しさん
2013/06/22(土) 16:03:52.00その段階で最初からオプションを指定したり色々すごいな
0657デフォルトの名無しさん
2013/06/22(土) 16:16:11.220658デフォルトの名無しさん
2013/06/22(土) 16:27:23.040659デフォルトの名無しさん
2013/06/22(土) 16:37:00.59デフォルトにしてしまえば、これまでに作られた不定であることを利用しているプログラムは動かなくなるだろう。
というところまでは想像して欲しいな。
思いつきでペラペラ喋るのではなく。
0660デフォルトの名無しさん
2013/06/22(土) 16:51:04.900661デフォルトの名無しさん
2013/06/22(土) 16:55:10.75ちょっとその神経は理解しがたい。
0662デフォルトの名無しさん
2013/06/22(土) 16:55:47.53なんで?
0663デフォルトの名無しさん
2013/06/22(土) 16:58:48.80それを利用するコードなんて書かないと思うよ
0664デフォルトの名無しさん
2013/06/22(土) 16:59:38.970665デフォルトの名無しさん
2013/06/22(土) 17:05:19.46>その初心者はなんでググらないのか謎だし
いや、気づかないとググところにいかないでしょ。
>その段階で最初からオプションを指定したり色々すごいな
え゛、テストとかしない人なの?
>>657-658
まあ、そうかな。
>>659
> 数値にisは使わなくなるだろう。
そんなことが確実にできるなら、コーディング時のバグは半減するわけで…
> 不定であることを利用しているプログラムは動かなくなるだろう。
だからこそのオプション指定なわけなんだけどね。
0666デフォルトの名無しさん
2013/06/22(土) 17:06:51.47書かないと思うのは貴方の勝手だけと、書かれてないと保証するのは貴方じゃないよ
0667デフォルトの名無しさん
2013/06/22(土) 17:07:37.90isのこと知らない奴がisに関するオプション付けるの?
そのオプションを知ってるってことはisの挙動を知ってるってことじゃないの?
意味がよく分からない
0668デフォルトの名無しさん
2013/06/22(土) 17:08:24.55実際そんなコードあんの?
それが動かなくても自業自得としか言えない
0669デフォルトの名無しさん
2013/06/22(土) 17:10:08.49>そんなことが確実にできるなら、コーディング時のバグは半減するわけで…
どのみちテストするんだから気にするなよ
え、テストしない人なの?
0670デフォルトの名無しさん
2013/06/22(土) 17:11:58.16自業自得と談じるのは貴方の勝手だけど、言語仕様という契約を破ってクレームつけられる役目は貴方じゃないよ
他ならぬ開発者たち
0671デフォルトの名無しさん
2013/06/22(土) 17:14:15.440672デフォルトの名無しさん
2013/06/22(土) 17:19:35.69今の2と3だけで開発リソースいっぱいいっぱいだから、現実には有り得ないけど
0673デフォルトの名無しさん
2013/06/22(土) 17:27:52.90言語で仕様が定義されてないというのが問題という意見もあるかもしれないが。
0674デフォルトの名無しさん
2013/06/22(土) 17:28:15.90例外にできない理由として、不定な挙動を利用してる
コードがあるとかいう主張を擁護できないだけ
0675デフォルトの名無しさん
2013/06/22(土) 17:33:57.60例えば、文法よく知ってるプログラマでも静的解析とか掛けるでしょ?
挙動を知ってるから常にちゃんと書けるなら誰も苦労しないよ…
>>669
だから、テストのときに気づきやすくなるでしょ。
テストしない人には理解できないかもしれないけど (w
0676デフォルトの名無しさん
2013/06/22(土) 17:34:18.210677デフォルトの名無しさん
2013/06/22(土) 17:41:31.99isと==を混同してる人でしょ?もう少し勉強しろとしか言えない
根本的な間違いを人のせいにすんな
0678デフォルトの名無しさん
2013/06/22(土) 17:52:42.24だから、知識があっても勘違いでバぐることもあるだろって話。
理解できないかなぁ…
0679デフォルトの名無しさん
2013/06/22(土) 17:56:51.33挙動を理解してても勘違いでバグらせる例が思いつかない
0680デフォルトの名無しさん
2013/06/22(土) 17:58:08.24isはなあ…別にって感じ
0681デフォルトの名無しさん
2013/06/22(土) 17:58:31.770682デフォルトの名無しさん
2013/06/22(土) 18:25:29.18Out[1]: False
In [2]: "a" * 10 is "a" * 10
Out[2]: True
こうなるのは知ってるんだけど正確な理由を忘れた
0683682
2013/06/22(土) 18:29:53.250684デフォルトの名無しさん
2013/06/22(土) 18:45:02.11うん、まあ頻度は高くないと思うし、is ,がオブジェクトの比較と言う意味からは
今の仕様の方が正しいんだろうけど、>>642 みたいな挙動をみると何とかな
らないものかと、ちょっと思っただけ。
0685デフォルトの名無しさん
2013/06/22(土) 18:47:24.58珍しく相手してんね
暇なのかww?
0686デフォルトの名無しさん
2013/06/22(土) 18:50:34.87悪しからずご了承ください
0687デフォルトの名無しさん
2013/06/22(土) 19:08:23.54試してみたらメモリ使いすぎてスワップしたんだけど自分だけ?
$ python
>> "b"*10000000000 == "b"*10000000000
0688デフォルトの名無しさん
2013/06/22(土) 19:08:26.54わかってるなら質問しろよ(無茶振り)
0689デフォルトの名無しさん
2013/06/22(土) 20:54:19.70$ python
>>> "a" * 10 ** 10 == "a" * 10 ** 10
これ実行エラーが出て実行出来ないパターンと
実行出来ちゃって暴走するパターンがある
理由はわからんです
0690デフォルトの名無しさん
2013/06/23(日) 13:55:35.610691デフォルトの名無しさん
2013/06/23(日) 22:22:36.18いったい何の話をしてるんや・・
0692デフォルトの名無しさん
2013/06/24(月) 01:36:04.17それならL{1:2}でそうなるようにしときゃいいじゃないかといつも思う・・・
0693デフォルトの名無しさん
2013/06/24(月) 01:43:24.940694デフォルトの名無しさん
2013/06/24(月) 01:44:43.38どこからどこまでを指定してるんであってどこからいくつではない
0695デフォルトの名無しさん
2013/06/24(月) 01:51:45.93そういうことだったのか!有り難う!
0696デフォルトの名無しさん
2013/06/24(月) 01:56:52.44このような一貫性のためにそうなってるということは間違いない
0697デフォルトの名無しさん
2013/06/24(月) 07:44:28.05urllib.urlencode('あいうえお')
なのに、
3系では
urllib.perse.quote('あいうえお')
にしないとエラーが出ます。
今回少し検索したので3系での方法がわかったのですが、こういうのは何で勉強してれば身につくのでしょうか?
0698デフォルトの名無しさん
2013/06/24(月) 09:56:59.270699デフォルトの名無しさん
2013/06/24(月) 12:31:50.950700デフォルトの名無しさん
2013/06/24(月) 12:40:49.67そもそも2のライブラリだって全部覚えてるわけじゃないし
0701デフォルトの名無しさん
2013/06/24(月) 17:38:38.62こんなんもあるが
http://diveintopython3-ja.rdy.jp/
0702デフォルトの名無しさん
2013/06/26(水) 00:18:50.35これをインストールして環境を整えることはうまくいきました。
ただ、これってパフォーマンスはすごく落ちるのでしょうか?
元のpythonとかわりませんか?
すれ違いだったら誘導をお願いします
0703デフォルトの名無しさん
2013/06/26(水) 00:21:30.42パフォーマンスは変わらん
0704デフォルトの名無しさん
2013/06/26(水) 00:34:42.75なんだかよくわかってはいません
普通にレンタル鯖だと自分が使いたいライブラリとかがうまく入らないので
virtual pythonを入れればいいみたいに思っているのですが違うのですかね?
パフォーマンスは変わらないなら利用してみます
0705デフォルトの名無しさん
2013/06/26(水) 01:26:38.31共用のレンタルサーバでパイソンを使おうとしているものです
pythonのスクリプトからweb上でpostgreなどのデータベースにアクセスする時ですが、
コネクション作成の時にデータベースのidとパスを入れますね
これはスクリプトに平文で書くのはセキュリティ上よろしくないと思うのですが、何かうまい方法はありますか?
0706デフォルトの名無しさん
2013/06/26(水) 08:02:28.88その辺気にしても意味がない
0707デフォルトの名無しさん
2013/06/26(水) 08:26:29.75最終的にはスクリプトファイルのセキュリティに気を配るしかない。
トラフィックとか言ってる奴は、当面無視でいい。
0708デフォルトの名無しさん
2013/06/26(水) 20:47:45.62ありがとうございます
セキュリティとして自分が考えられるのは、.py ファイルのパーミッションを適当に705などに設定する
パスワードの書いてあるファイルは別途用意して、DocumentRootより上に置いておいてそちらへの参照とする
くらいなのですが、他に有効な手段はありますか?
暗号化とかしたらデータベースが読み出せないから無駄なんでしょうか
0709デフォルトの名無しさん
2013/06/26(水) 21:20:21.380710デフォルトの名無しさん
2013/06/26(水) 22:29:19.610711デフォルトの名無しさん
2013/06/26(水) 22:41:43.45同鯖の利用者、外部からの攻撃です
さすがに鯖管は大丈夫だと思うので…
705まずいですか?
0712デフォルトの名無しさん
2013/06/27(木) 07:21:19.470713デフォルトの名無しさん
2013/06/28(金) 14:58:32.56pythonのモジュールってどうやって入手したらいいんでしょうか?
↓こんなエラーが出てくるのですが、subprocessって標準モジュールじゃないんですか?
from subprocess import Popen, PIPE
ImportError: No module named subprocess
ググっても余計な情報しか出てこないし、困り果てています。
よろしくお願いします。
0714デフォルトの名無しさん
2013/06/28(金) 17:10:22.77対話コンソール起動すると環境とかコンパイル情報とか標準されるから貼れ
あとsys.pathを貼れ
0715デフォルトの名無しさん
2013/06/28(金) 22:19:12.040716デフォルトの名無しさん
2013/06/29(土) 13:08:53.03pip や distribute などのモジュールをソースからインストールする際、setup.py を実行すると思いますが
これは/bin/python のあるディレクトリにコピーして実行するべきですか?
それともどこで実行しても大丈夫ですか
0717デフォルトの名無しさん
2013/06/29(土) 13:12:36.92環境に複数のPythonが入ってる場合、「どれで」実行するかが大事になってくる
1つしか入ってないなら気にしなくていい
0718デフォルトの名無しさん
2013/06/29(土) 13:12:37.580719デフォルトの名無しさん
2013/06/29(土) 13:13:27.80ありがとうございます
python setup.py でなく/aaa/bbb/bin/python setup.py みたいに
フルパスで指定すれば大丈夫ですか?
0720デフォルトの名無しさん
2013/06/29(土) 13:14:24.350721デフォルトの名無しさん
2013/06/29(土) 13:38:54.74なんか見当違いのことを言ってしまったかもしれません
0722デフォルトの名無しさん
2013/06/29(土) 15:07:54.69python26で実行してpython27のモジュールがimportされた状態で
setup.pyが正常に終わるとは思えないしもし成功しても使いたくない
0723デフォルトの名無しさん
2013/06/29(土) 15:54:47.280724デフォルトの名無しさん
2013/06/30(日) 13:51:29.960725デフォルトの名無しさん
2013/06/30(日) 16:19:37.27deleteじゃ駄目なんでしょうか?Pythonのバージョンは2.7です。
宜しくお願いいたします。
0726725
2013/06/30(日) 17:27:55.640727デフォルトの名無しさん
2013/06/30(日) 17:32:07.610728デフォルトの名無しさん
2013/06/30(日) 17:47:51.19http://kanchix.blog.shinobi.jp/%E6%97%A5%E8%A8%98%E3%81%A8%E5%A6%84%E6%83%B3/%E3%80%8C%E8%87%AA%E5%B7%B1%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%8D%E3%81%AF%E3%82%84%E3%82%81%E3%82%88%E3%81%86
0729デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0730デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANすみません、inport sysとやったのですが、オブジェクトが、本の通りに、メソッドできません
当方、初心者ですm(._.)m
0731デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0732デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANそこでシカトされてここに来たのかもしれんけど。
0733デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN>>730
inport sys ではなく import sys
0734デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN某APIの返り値が上記の形なのですがこれから1を取り出す方法を教えてください
0735デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0736デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0737デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0738デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0739デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANそれで、やったことある人の回答は?
0740デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANとちゃんと書いてるのに、日本語を打ち込むと「?????」ってなるんですが、なんで??
0741デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0742デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0743デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0744デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANわかります。
0745デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0746デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0747デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANhttp://pastebin.com/9qfvZDpV
のようなプログラムでtl[0]は処理完了、tl[1]は処理中のような状態で
tl[0].is_alive()、tl[1].is_alive()でTrue, Trueを得るのはどう書けばいいですか?
あと、pythonは上から処理していくと書いてあったんですがstartしてからjoinしてますが、joinする前に処理が完了してしまったりしないんですか?
0748デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANの状態なら tl[0].is_alive() は天地をひっくり返してもTrueにはなりえないだろ
どうしろと
0749デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN短い処理なら普通に完了しますよ。何かご不満でも?
0750デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0751デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0752747
2013/07/05(金) NY:AN:NY.AN>>749
>短い処理なら普通に完了しますよ。何かご不満でも?
ありがとうございます。当方には不満、苦情等は一切ありません。
お気に触られたので謝罪いたします。申し訳ありませんでした。
0753デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN試したらほんとにブロックされないだけでした。
例外エラー出るのかなって思ってたらそれすらもなかったです。
>>751
そうです。でも、joinの勘違いからきてたので忘れてくれてかまわないです。
ありがとうございました。
0754デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0755デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANhttp://akamaicovers.oreilly.com/images/0636920028659/lrg.jpg
0756デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0757デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0758デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANキモすぎワロタ
0759デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANb"\x31"とb"1"は同じ値ですか?呼び方はバイト文字列であってますか?
0760デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANWindowsXPのPython3では同じですな。
他のOSではどうか知らない。
呼び方は、バイトオブジェクトまたはバイトリテラルかなあ
マニュアルを読む限りではね。
文字を表すとは限らないと思うよ。
0761デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0762デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANバイトから整数や16進文字列へ変換する
直接的なメソッドや関数がない割に、
forや添字でバイトオブジェクトから一個ずつ
データを取り出す時は、整数に変換されて出てくる。
0763デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0764デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0765デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANソースの中
バイト君に
出会った
0766デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANパイソン勉強したら幸せになれますか?
0767デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0768デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0769デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0770デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANあれは処理の流れを見えなくするからバグの元。
gotoの方が行き先を明示しているだけマシ。
Pythonにgotoがないのが惜しまれる。
0771デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0772デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANお前はraiseを見ただけで
ソースのどこに飛んでいくかわかるのか?
それは凄いな。
0773デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN必ずそれはその関数を呼んだ方に飛んでいく
呼ばれた方に飛んでいくことは決して無い
0774デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN馬鹿には無理
0775デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN化石
0776デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN失敗してさてどうするか視点のgotoとは役割が違う
やりたければwhile break使って死ぬまでエラーコード返してれば?
とめないよ
0777デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0778デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANBを関数Aの中に定義すると見通しが良くなると思うんですが、
このスタイルは一般的ですかね?それとも何かまずい点がありますかね
というのは、趣味でツールを書いていて、規模が大きくなってくると
トップレベルに関数がずらずらと並んでどれがどこから呼ばれているか
わからなくなってくるので…
0779デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANコンパレータとかコールバックとかlambdaじゃ書きにくいし、外のスコープにおいても仕方ないからね
0780デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANありがとっす
これで安心して関数をまとめられます
0781デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANそうかなぁ、2ちゃんなんて知らない奴の方が幸せそうだぞ...
0782デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANhttp://docs.python.jp/3.3/library/urllib.request.html
では"エラーが発生した場合 URLError を送出します。"
とありますが、実際にあげられるのはurllib.error.HTTPErrorでした。
http://docs.python.jp/3.3/library/urllib.error.html?highlight=urlerror#urllib.error.URLError
どうリファレンスを見ていったら、URLErrorじゃなくてHTTPErrorがあげられるとわかりますか?
結局ぐぐってから気づいたんですが、先にtype()でオブジェクトの型を判別してから調べるものだったりするんでしょうか?
0783デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN書いてませんから
0784デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANリファレンス(の原文)の書き方に問題があるというのがまずあるとは思うけど、
URLError は urllib.error.URLError のことで、
urllib.error.HTTPError は URLError のサブクラス のサブクラスとなっている、ってとこかな。
ということで混乱の原因はプアなドキュメントにあるんじゃないかな。
0785デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0786デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN間違ってないしプアでもない
ぽりもふぃずむを理解していればこれで正しいことが判る
0787デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0788デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANそのときあがったのがタマタマHTTPErrorだっただけで
HTTPError以外のURLErrorが送出される場合もあるって意味ね
だから exception を受けるときに HTTPError で catch したらだめ
あくまで URLError で catch する必要がある
0789デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANなんか二度手間だけど
0790デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0791デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANURLErrorでcatchして
HTTPErrorでもcatch汁
0792782
2013/07/13(土) NY:AN:NY.AN後、実装方法書いてくれた人もありがとう。
自分の場合は、HTTPErrorをcatchした場合、それ以外のExceptionをcatchした場合みたいな感じで実装しました。
0793デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN<type 'list'>
>> print(li)
[Something: 1_1, Something: 1_2, Something: 1_3]
上記の先頭に
Name: u'名前'
を追加したいんですがどうすればいいでしょうか
そもそもSomethingとか1_1って文字列なんでしょうか
0794デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANhttp://docs.python.jp/3.3/howto/urllib2.html
>ノート except HTTPError が 必ず 最初に来る必要があります、そうしないと except URLError も HTTPError を捕捉してしまいます。
0795デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANなんでだろ
0796デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANhttp://docs.python.org/2/howto/urllib2.html#handling-exceptions
> though as usual with Python APIs, built-in exceptions such as ValueError,
> TypeError etc. may also be raised).
http://docs.python.jp/2/howto/urllib2.html#id9
> urlopen はレスポンスを処理できなかった場合、 URLError を送出します
> (ふつうの Python API では、組み込み例外の ValueError, TypeError などが送出されますが)。
http://docs.python.org/3.0/library/urllib.request.html
> Raises URLError on errors.
0797デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN2番目は誤訳
1番目は原本なので嘘とかそういう問題じゃない
0798デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN2 は嘘つきと言っても良いくらいの罪
3 は論外
0799デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN>少なくとも urlopen は URLError 以外も吐くから
HTTPError のことではないよ
0800デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN一応1には次の行に
"HTTPError is the subclass of URLError raised in the specific case of HTTP URLs."
ってあった。python3の方にも同じこと書いてあった。
urllib.requestみるにhttpでエラーでたときだけHTTPErrorあげてるっぽいですね。
レスポンスコード帰ってくるような場合かな。
例外を拾うことってcatchするでいいんですか?exceptするはおかしいんですか?
try, exceptってあるからずっとexceptって言ってます。
0801デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0802デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN普通は例外を捕捉(catch)するとかいう
except じゃたぶん通じないだろう
0803デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0804デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN入力したことを判定したいです。
しかし以下を試すと、Enter空打ちでもTrueになります。
これはなぜでしょうか。
>>> yn = input()
(ここでEnter空打ち)
>>> yn in 'Yy'
True
0805デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0806デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANyn in 'Yy' では無く 'Yy' in yn
0807デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0808デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANこれで答えは出ると思いますが
0809デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANhttp://docs.python.jp/3/reference/expressions.html#not-in
> 空文字列は、他の任意の文字列の部分文字列とみなされます。
> 従って "" in "abc" は True を返すことになります。
正しい使い方は>>806
0810デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANそれもおかしいぞ
0811806
2013/07/13(土) NY:AN:NY.ANYかyだけに引っ掛けたかったのかな
Yが入ってりゃYでもyesでもいいのかと思ったわ
0812デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANこれは勉強不足でした。
タイプ量を削減して楽しようと思ったのですが、仕方有りませんね。
普通に if yn == 'Y' or yn == 'y' とすることにします。
0813デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0814デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANdroid = androidhelper.Android()
yn = droid.dialogGetInput()
y = [x in yn for x in ['y','Y']]
droid.makeToast(str(True in y))
0815デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN>>> yn in list('Yy')
False
>>814はキチガイだからスルー
0816デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0817デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0818デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0819デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0820デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0821デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN0822デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.ANありが�d
VS Shellってintegratedの方だけで大丈夫だよな?
0823デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN>>> { sum([sum(LofL)]) for LofL in [[.25, .75, .1], [-1, 0], [4, 4, 4, 4]]}
{16, 1.1, -1}
この16, 1.1., -1も合計したいんですが、どうすればいいのか教えて下さい。
sum()を入れ子にすれば合計されると思ったのですが合計されません。
0824823
2013/07/15(月) NY:AN:NY.AN0825自治スレでム板ID導入議論中
2013/07/17(水) NY:AN:NY.AN例えばですが、
host="localhost"
port=80
と設定していたとして、
bind((host, port))と、2重に括弧を付けるのは何故なのでしょうか?
実行時には必要な物だと思って書いているので問題は無いのですが、
気になるのですが
0826デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANbind((host, port)) だと二要素のタプルをひとつ bind() に渡してる
0827デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN>>> port=80
>>> t = (host, port)
>>> t
('localhost', 80)
>>> type(t)
<class 'tuple'>
>>>
0828デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0829デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANhttp://docs.python.jp/2/library/socket.html
0830デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN別にタプルでもいいけどさ、なんか積極的な理由があってそうしてるのか?
0831デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANあてずっぽうですのでほんきにしないように
0832825
2013/07/17(水) NY:AN:NY.ANアドレスをタプルにして1つとして渡してるんですか。
ありがとうございます。
0833デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0834デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANbind() に渡すアドレスはアドレスファミリにより中身が異なる
例えば TCP/IP ならアドレスはホストとポートから成るけど
UNIX ドメインソケットならアドレスはファイル名だけ
だったらタプルでくるんだほうがいいだろう
0835デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANまだ実用レベルに達して無い問題のある言語っぽく思えて来るんだが・・・
0836デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANだれからも苦情が出ないほど既に実用領域に達しているWinows8と比べての話?
0837デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN文句は使ってから言え
物事を表面からしか見ない自分を恥じろ
0838デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN当たってます
0839デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN実用レベルってどれくらいのレベル?
金融システムのメインに使うとかスパコンで遺伝子解析に使うとか?
0840デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0841デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANhttp://jp.techcrunch.com/2013/07/12/20130711how-did-dropbox-scale-to-175m-users-a-former-engineer-details-the-early-days/
>初期の取り組みから得られたもう一つの教訓は、言語としてPythonを選んで良かったなぁ、ということ。
0842デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0843デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0844デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN乱数で選択肢を選ぶ以下のようなコードで、
出力が['D', 'E', 'F']のように一文字ずつになってしまいます。
>>> options = ["ABC","DEF","GHI"]
>>> [x for x in options[randint(0,2)]]
['D', 'E', 'F']
どうやったら["DEF"]という出力にできますか?
ちなみに
def choices(): return [x for x in options[randint(0,2)]]
の形で使おうと思っています。マジレスお願いします。
0845デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN気づけば単純
0846844
2013/07/20(土) NY:AN:NY.AN0847デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANいやこうだな
0849デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANreloadというのはどうやってやるのでしょうか?
/matrixというフォルダの直下に
### dictutil.py###
def dict2list(dct, keylist): return [ dct[keylist[i]] for i in range(len(dct)) ]
def list2dict(L, keylist): return { keylist[i]:L[i] for i in range(len(L)) }
def listrange2dict(L): return { i:L[i] for i in range(len(L)) }
・・・というファイルを置いています。
そして、以下のように打ったのですが、どうも見つけられていないようです:
>>> from dictutil import *
>>> reload(dictutil)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'dictutil' is not defined
>>> listrange2dict(L)
>>> dictutil.listrange2dict(L)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'dictutil' is not defined
どうか教えて下さい。お願いします。
0850デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANimport dictutil して reload(dictutil) なら OK
0851849
2013/07/21(日) NY:AN:NY.AN出来ました!
>>> import dictutil
>>> reload(dictutil)
<module 'dictutil' from 'dictutil.py'>
>>> dictutil.listrange2dict(L)
{0: 'A', 1: 'B', 2: 'C'}
この場合はimport dictutilなんですね。覚えておきます。
ありがとうございました!
0852デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANインポートしたいのですが、これもっと簡単にかけませんかね?
dirpath = os.path.dirname(os.path.abspath(__file__))
parpath = os.path.join(dirpath, os.pardir)
sys.path.append(parpath)
import hoge
0853デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANimport sys,os
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + os.pardir)
import hoge
0854デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0855デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.ANレスありがとうございます
__file__ のパスを基に os.path でやるしかないですかね?
0856デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN0857デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN0858デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANモジュールになってないんですよねー……
具体的にいうと、エディタで使う小さなスクリプトのテストを一カ所にまとめたいんです
scripts/*.py
scripts/tests/*_test.py
というような感じで
0859デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN>>853-854を書いたpyファイルをフォルダにコピペしてインポートするとか
0860デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0861デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN付いてるならその中に書けよ
0862デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANID:PBvnv3i6!import glob
files = glob.glob("../*.py")
0863デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN質問者が何をやろうとしてるか理解してる?
0864デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANexecfile('../*.py')
0865デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANお前もう黙れ
0866デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN長々とご迷惑をおかけしました
>>861
Emacs の shell-command-on-region で呼び出すスクリプト (など) です
選択範囲の文字列をスクリプトに渡して、出力された文字列で置き換えます
>>862
すみません、ワイルドカード使ったのが紛らわしかった
hoge.py と tests/hoge_test.py、 fuga.py と tests/fuga_test.py などが一対一で対応していて
tests/hoge_test.py から hoge.py にアクセスしたいという話です
0867デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN|--------method.py
|--------__init__.py
|--------test_dir----------test_myclass.py
みたいな感じで、class.pyで使うメソッド群をmethod.pyにまとめるのってやり方としておかしかったり、普通はこうする的な方法ありますか?
class.py内で定義するものですか?
0868デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN標準モジュールはそんな分割してない
0869デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANコードがそのまま仕様書になって
これがホントのスクリプト(脚本)なんちゃってと思って
書いてみたら動いてびっくりした。
これって昔からできたことなの?マジ嬉しいのだが。
def 初物(数量):
初物価格 = 130
return 初物価格 * 数量
print(初物(100))
0870デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANhttp://docs.python.jp/3.3/reference/lexical_analysis.html#identifiers
0871デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0872デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN●を▲のおのおのにして
みたいなところまで行くと泣く……
0873デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0874デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANありがとっす。
これ日本のPythonユーザーで知らない人多いんじゃないのかな。
これだけでもPython3にする価値ありだよね。
パっと見た目でわかりやすいからコメントを減らせるし
他人にコードを引き継ぎやすい。
オブジェクト指向とも相性が良いと思う。
オブジェクト.メソッド
オブジェクト・属性
っていう書き方は、名前付けが適切ならばそのまんま日本語での
設計書になる。素晴らしい。
0875デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN> パっと見た目でわかりやすいからコメントを減らせるし
> 他人にコードを引き継ぎやすい。
VBA や Visual C++ だと、大分前から使えるけど、俺もそう思っていた時もあったなぁ...
0876デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANこんなコード引き継ぎ相談されたら断るに限る。
0877870
2013/07/28(日) NY:AN:NY.AN0878デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0879デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN上のほうからド底辺まで見ても使用してる様子はない。
つまりそういうこった。
0880デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0881デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0882デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN見た途端ゾッとしたわ。
入力にかかるタイプ数が激増しそうで嫌やわ。
0883デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0884デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN>>869のコードと
def hatsumono(suuryou):
hatsumonokakaku = 130
return hatsumonokakaku * suuryou
print(hatsumono(100))
とを比べてみて欲しいのだけどね。
何年も前に他の誰かが作ったコードだとして、
初めて見る人にとってどちらがメンテしやすいか
一目瞭然でしょうと。
大切なことは、コーディングのしやすさよりも
メンテのしやすさなんだよ。
0885デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0886デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0887デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0888デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0889デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0890デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN0891デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN0892デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANdef m021f03(p001):
v001 = 130
return v001 * p001
print(m021f03(100))
0893デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN0894デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANとりあえず自分がわからないことはまず理解する、っていうアプローチから始めよーぜ。
0895デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN流れを止めてくれ!
0896デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN邪魔だ
0897デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANhttp://www.asahi.com/national/update/0729/OSK201307280122.html
27日に1万円以上をつぎ込んだ男性が不審に思い、府警に相談。
同署が28日に露店を家宅捜索し、当たりがないことを確認したという。
毛利川容疑者は「27日に約10万円を売り上げた」と話しているという。
0898デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANAppleScript1.xの頃のやつだっけ?
あまりの判り難さに使う人が殆どいなかったらしい。
なので完全日本語版は切られた。
0899デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN何時間か格闘した事があるけど、
閉じ括弧の代わりにend xxxを書くから、日本語だと
以上--end if
以上--end tell
以上--end repeat
以上--end tell
みたいに、各行に元の表記のコメントを入れないと
何が何だか分からなるので、アホらしくて止めた。
それと、実験的な機能なので対応していないアプリが多くて役に立たなかった。
0900デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANfor i in xrange(n):
# do something
と
i = n
while i:
# do something
i-=1
とどっちがいいとかあるんですか?
0901デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0902デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0903デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0904デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0905デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0906デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0907デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANCからPythonに来た人がまず驚くのがそれだよね
自分も慣れるまでかなり時間がかかった
0908デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN変わるよ
>>906
while のスコープ外に i 定義してるのは?
0909デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN君はまだ人にものを説けるレベルにない
0910906
2013/07/31(水) NY:AN:NY.ANwhileブロックにもforブロックにもifブロックにもスコープなんてないってば
意味が分からないなら分かるようになってから発言おし
0911デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0912デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANwhileやifの中にいちいちスコープが作られる方がおかしいと俺は思う
あれはバグの元だ
0913デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0914デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0915デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANいやそうじゃなくてね
Cを使っていた時は、ブロックが一つ深くなるたびに
「えーっとこの変数の有効範囲はここの閉じカッコまでだから…」と
気にする手間が増えていくのが苦痛でね
なにせカッコを一つ付けたり削るだけでもスコープが変わってしまうから
ちょっとしたループ構造の見直しでバグが入るリスクがある
ロジックを書くのに集中できない言語、それがCという言語だ
Pythonの「関数のみがローカルスコープを持つ」という仕様は
実にシンプルで実践しやすい。
変数を閉じ込めたい機能単位に関数を作ればいいのだから
0916デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANなにいってんだこいつ
0917デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANそりゃお前だよ
そもそもPython動かしたことも無いだろ
0918デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN> なにせカッコを一つ付けたり削るだけでもスコープが変わってしまうから
> ちょっとしたループ構造の見直しでバグが入るリスクがある
ネタだと思うが、頭になんか障害抱えてない?
091957
2013/07/31(水) NY:AN:NY.AN0920デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0921デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN>>900 の例で while のスコープが有効だった場合 UnboundLocalError になる
0922デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANイテレータがボトルネックになってるのかな
092357
2013/07/31(水) NY:AN:NY.ANまた、viに戻るのは辛そうだな...。
でも、参考にします。
0924デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.ANおまえみたいなやつがいるから糞コードがなくならない
これよんどけカス
http://stackoverflow.com/questions/869229/why-is-looping-over-range-in-python-faster-than-using-a-while-loop
0925デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.ANこいつまじで python かけなそう
0926デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.AN学校で先生からインターネット使ってはいけませんて言われれないの?
0927デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.AN分からんなら書くなよwww
いい大人が恥ずかしくないの?
0928デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.ANfor hoge in fuga:
if check(hoge):
found = True
break
else:
found = False
0929デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN>>> a = 3
>>> a == 3
True
>>> a == 4
False
>>> True | False
True
>>> a == 3 | a == 4
False
環境は
Python 3.3.2 (default, Jul 27 2013, 11:23:47)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
0930デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANa==(3|a)==4
(a==3)==4
True==4
False
http://docs.python.jp/3.3/reference/expressions.html#summary
0931デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANa==(3|a)==4
a==3==4
False
0932デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANTrue
>>> a == 3 or a == 4
True
0933デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN0934929
2013/08/03(土) NY:AN:NY.ANありがとう。理解できた。
(a == 3) or (a == 4)
がTrueを返すことも確認。
>>932-933
bit演算がいまいち分かってないのだけど(みんPyの説明だけでは使い方がイメージできない)、
bool値はint型(0 or 1)に置き換えられると考えてよいのかな。
>>> 1 & True
1
は確認できた。
0935デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN0
>>> (bool(2)) & True
True
>>> int(True)
1
0936デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN'0b1'
>>> bin(False)
'0b0'
0937929
2013/08/03(土) NY:AN:NY.ANさんくす。
ビット演算(&算術演算)でTrue/Falseが(0, 1)として評価されるのは理解した。
ビット演算で二項がともにboolの時は、なぜか結果もTrue/Falseになる。
で、いろいろ調べている途中に
http://docs.python.jp/3/library/stdtypes.html#boolean-operations-and-or-not
を見つけたのだけど、これは論理演算とは別のもの?
結果がTrue/Falseではないし、
「A OR B」と「B OR A」が違う結果になる論理演算なんて見たことがない。
0938デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANノートにもあるように、
x or y の意味は if x then true else y で
x and y の意味は if x then y else false になる
言い換えると、これらは純粋な論理演算子ではなく、
条件分岐を演算子で表現した構文糖(syntax sugar)になる
だから交換律(a or b = b or a)が成立しないのは当り前
他の言語、たとえばC言語にも同様な演算子 || や && があるし、
それほど珍しい構文でもない
0939デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0940デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0941929
2013/08/04(日) NY:AN:NY.ANよく分かった。ありがとう。
Wikipediaの「短絡評価」の説明によると「演算子の第一引数を評価した段階で式全体の値が定まらない場合のみ第二引数を評価する」ということだね。
最後に評価した値を返す場合と、True/Falseを返す場合とで演算子が同じなのは
気持ち悪いと思ったけど、
最後の値(intならその値、boolならTrue/False)を返すという点では一貫しているのか。
>>> a = 8
>>> 3 and (a > 8)
False
>>> 3 or (a > 8)
3
>>> (a == 8) and 0
0
0942929
2013/08/04(日) NY:AN:NY.AN>>> 1 == True
True
>>> True + True
2
>>> False * 100
0
みたいな、intとboolの区別が曖昧な扱いの方が気持ち悪くなってきた。
0943デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0944デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN数値が必要される演算コンテキストで使われると__index__()を呼んで整数に変換される
>> True.__index__()
1
>> False.__index__()
0
http://docs.python.jp/3.3/reference/datamodel.html#the-standard-type-hierarchy
http://docs.python.jp/3.3/reference/datamodel.html#object.__index__
0945デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANだよな〜
>>944 はもちろん理解してるが、そろそろ暗黙の変換は警告してもいいと思う。
0946デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN意識して使わないようにしとります。
使うと、後生の人がいじった時にバグの元になるかも知れないから。
組込みなどの特殊な環境でアセンブラをバリバリ使うならともかく
PCで、しかもスクリプト言語で論理演算・ビット演算を使う積極的な
理由はないよね?
0947デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANビット演算はまあ理解できるが、論理演算は普通に使うだろ
0948デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0949デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN論理型が整数型のサブ型となっていることが問題ではないかと
C言語なら超高級アセンブリ言語だから許せるとしても、
その理屈をPythonに当てはめるには無理があるんじゃねえかって話
リンク先文書の型階層についても、タプル型がシーケンス型のサブ型だったり、
要素が1個しかない意味不明なタプルが書けたり、
真面目にデータ型を考えれば意図の不可解な仕様が見受けられると思う
0950デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN0951デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANpythonのタプルは不変の配列と思えば辻褄はあう
0952デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.ANでもsetはsetでおかしくね
>>> set(set())==set()
True
集合論的に{ } = ∅ として ∅ ∈ { ∅ } なんだから ∅ ≠ { ∅ } にしてよって思う
0953デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN'hoge'
>>> ("hoge")[0]
'h'
タプルと言えばこれがハマりどころなんだけどなんでこんな動作するんだろ
0954デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN("hoge")[0] は "hoge"[0] と解釈される
0955デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN不変の配列ならば、要素数が0のリテラルが記述できないのは矛盾している
そもそもタプルとは直積(cartesian product)を表現するデータ型だよ
直積でないデータ型にタプルと命名することが間違っていて、
不変配列ならば不変配列クラス(immutable array)と命名すべきだったのでは?
0956デフォルトの名無しさん
2013/08/04(日) NY:AN:NY.AN後尾にカンマをつけるのは気持ち悪い気がするし
0957デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN0958デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN0959デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN0960デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANPythonの正確な歴史を知っている訳ではないから推測してみる
たぶんタプルという便利なデータ構造を知った作者が思いつきで
Pyhtonに採用したまでは良かったけれど、「作者に数学的素養が無かった」ため、
誤ってコレクション型のサブ型として実装してしまった... のではないかと
で、後から訂正しようにも既存コードの互換性問題があるので放置されていると
0961デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANタブルはPython発ではなく、それ以前からある概念だ。
どっちかっていうと動的型付け言語では配列が柔軟性あり過ぎてタプルと
似た物になってしまった感じで、順番が逆。
0962デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN>タブルはPython発ではなく、それ以前からある概念だ。
数学的素養があれば、そんなことは常識だろ
それを配列というコレクションの概念と混同して実装したのが問題なんだよ
0963デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN>>955
>>956
()で要素数0のタプルを表現できる
カンマつけるのは(1 + 2) * 3 とかの結果が(3,3,3)になったりしたら困るからじゃね
0964デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN0965デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN>要素数が0のリテラルが記述できないのは矛盾している
>>> reduce(lambda a,b: (a,b),[],[])
[]
>>> reduce(lambda a,b: (a,b),(),())
()
>>> isinstance(reduce(lambda a,b: (a,b),[],[]), tuple)
False
>>> isinstance(reduce(lambda a,b: (a,b),[],[]), list)
True
>>> isinstance(reduce(lambda a,b: (a,b),(),()), list)
False
>>> isinstance(reduce(lambda a,b: (a,b),(),()), tuple)
True
0966デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANいまどき大学の履修科目で公理的集合論が必修のところとかあるの?
理工系はおろか数学科すら怪しい気がする
0967デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN古典的集合論なら今でも理工系学部の初年度で必修だと思うが、公理的のほうは知らん
ただ、ここまでの議論の流れと公理的集合論との関連性は何があるん?
0968デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN0969デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANタプルが直積を意味するときに要素一つじゃいかんだろう
っていうのは外延性公理の要請なんじゃないの
対ならもちろん区別できるけど
(a, b) = {{a}, {a, b}}
(b, a) = {{b}, {a, b}}
一要素のタプルは一要素の集合と区別できない
(a) = {a}
a = {a}
ふにゃふにゃした結論で申し訳ないが
直積集合自体が強力な操作(wikipediaから借りてきた言葉だけど)なので一応そのへんは関係あるかと
0971デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANpython の正規表現で、\p{Pf} みたいな「文字クラス」を使う方法はありますか?
import re では、ダメのようです。
0972デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANスマンが、数論は不勉強なので(正しいのか間違っているのかすら)よくわからん
ただ、「>タプルが直積を意味するときに要素一つじゃいかんだろう」という主張は、
「直積集合としてのタプル」という仮説において、「直積とは....である順序対の集合である」
という(Wikipadiaの該当ページ冒頭にある)定義を元に導かれ、
N組に関する次元数が2以上であるという主張も(対の拡張として)自然に導かれると考える
そして、この仮説を前提とする限り、タプルは古典的集合論で形式的に定義できるので、
公理的集合論を持ち出す必要は無いと思う
で、タプルに関するもう一つの仮説「データ構造としてのタプル」、これが>>963の言う
「情報系における組」の意味だと思うけど、この場合、N組の次元数は0以上になる
ところが次元数が0ないし1の時、上記の古典的な「順序対の集合」では定義できない
これを形式的に定義しようと考えた時、もしかすると公理的集合論が必要になるのかもしれない
0973955
2013/08/05(月) NY:AN:NY.ANPythonは要素数が0のタプルを表現できるので、>>955の「先頭行」について撤回します
HaskellやMLのような言語では () は単位型という(タプルではない)データ型になるので、
これと混同して早とちりしていました
0974デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN実用言語の Python で単にタプルという名前から概念的に議論するのは不毛な気がする
0975デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANTraceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: can only concatenate tuple (not "list") to tuple
>>> reduce(lambda a,b: a+(b,),(4,5,6),(1,2,3))
(1, 2, 3, 4, 5, 6)
タプルはイミュータブル(キリっ
0976デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN(1,2,3) も (4,5,6) も変更されてないよね?
0977デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANRuby スレに帰れ
0978969
2013/08/05(月) NY:AN:NY.ANPythonのタプルはシーケンスですね
集合論ぜんぜん関係無かった(/ω\)ハズカシーィ
Haskellのタプル定義見ると二要素からだね
というか全部型が違う。こういうのはPythonに要らないと言われればまあそうだと思う
http://www.haskell.org/ghc/docs/7.6.2/html/libraries/ghc-prim-0.3.0.0/GHC-Tuple.html
0979975ではない
2013/08/05(月) NY:AN:NY.ANたぶん、タプルが配列とみなせる(>>974)のであれば、
タプルとミュータブルな配列に対するイミュータブルな操作は
同じ結果となるはずだけど、実際には違った
ということを言いたいのではないかと思われ
0980デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.ANリストとタプルの接続もできないという当然の結果が返ってきてるだけで
タプルがイミュータブルな配列とみなせるかどうかとは全く関係のない話だと思うけどなあ
0981デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN0982デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0983デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1375742968/
0984デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0985デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0986デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANどこにいっても相手にされなくなったので、かまってほしいのではないかと....
0987デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANPython スレに Ruby 厨が来てもほとんどスルー
これが大人の余裕って香具師か。
0988デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANこのスレでもRuby信者と思われるカキコはいくつかあるけど、
暴れるというほどのものではないから静かなんだろな
0989デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANRuby スレは最近ちょっとおかしくなってる
というか定期的におかしくなるのが Ruby スレ
あんまり波がないのが Python スレ
0990デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0991デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0992デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0993デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0994デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1375742968/
0995デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0996デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0997デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0998デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN生成時の話だね
0999デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN1000デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。