くだすれPython(超初心者用) その24
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2014/08/03(日) 04:42:31.25ID:nSUL9jmoもしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その23
http://peace.2ch.net/test/read.cgi/tech/1400479217/
関連スレ
Pythonのお勉強 Part49
http://toro.2ch.net/test/read.cgi/tech/1387528488/
◆関連リンク Python の Home Page
ttp://www.python.org/
◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/
◆まとめwiki
ttp://python.rdy.jp/
0002デフォルトの名無しさん
2014/08/03(日) 04:43:50.86ID:nSUL9jmo|_::;; ~"'ヽ
| //^''ヽ,,)
| i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
|( ´∀`) < きのこ のこーのこ げんきのこ ♪
|(ノ |つ
| |
⊂ _ ノ
""U
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
(´∀` )| < エリンギ まいたけ ブナシメジ ♪
⊂| (ノ |
| |
ヽ _ ⊃
.U""
|
| ミ
| ミ サッ!
| ミ
|
0003デフォルトの名無しさん
2014/08/03(日) 04:46:53.92ID:bPGWsjSY│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0004デフォルトの名無しさん
2014/08/03(日) 06:51:11.15ID:Qqzbedo30005デフォルトの名無しさん
2014/08/03(日) 06:53:32.59ID:OFXCnhud0006デフォルトの名無しさん
2014/08/03(日) 06:57:33.93ID:PE5P6N+l0007デフォルトの名無しさん
2014/08/03(日) 07:19:11.31ID:zU4sk6Ng,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
0008デフォルトの名無しさん
2014/08/03(日) 07:34:08.35ID:OFXCnhud0009デフォルトの名無しさん
2014/08/03(日) 07:40:16.12ID:zU4sk6Ngどこかで見た顔だと思ったら
javascript ぐぐったらいつも出て来るあれか
0010デフォルトの名無しさん
2014/08/03(日) 07:41:45.56ID:OFXCnhudこいつうざいからadblockで顔面消してるわ
0011デフォルトの名無しさん
2014/08/03(日) 12:28:44.93ID:OFXCnhudimport urllib
keyword = u"テスト"
print urllib.urlencode(keyword)
これでやるとエラーが出ます。なぜですか?
0012デフォルトの名無しさん
2014/08/03(日) 12:38:42.66ID:4e8mKRmq0013デフォルトの名無しさん
2014/08/03(日) 13:25:36.46ID:6r413W6I自分で作る気ないならPythonじゃなくて他所でGoogleの使い方教えてもらえよ
0014デフォルトの名無しさん
2014/08/03(日) 13:34:58.83ID:2WFJIVoF英語苦手ならPythonはやめといた方がいいよ
0015デフォルトの名無しさん
2014/08/03(日) 14:07:07.05ID:+KLBY5j7悪役商会って俳優団体に顔面陳列罪ってのがいてだな
0016デフォルトの名無しさん
2014/08/03(日) 14:23:03.31ID:T59meZIw馬鹿には無理
0017デフォルトの名無しさん
2014/08/03(日) 14:29:33.86ID:+KLBY5j7正直わざわざ地雷原に踏み込む自殺志願者にしか見えないよね
そんな馬鹿救ってやる気がおきるはずもない
0018デフォルトの名無しさん
2014/08/03(日) 20:14:42.16ID:mooYogGVnumpyの配列が使えて、matplotlibで棒グラフと折れ線グラフを出したいだけなのだけど
参考にしやすいサイトありませんかね・・・
というかPythonの普通のオブジェクトの理解もまだ出来てないのに
いきなり外部ライブラリにいくのは無理があるのかなあ
0019デフォルトの名無しさん
2014/08/03(日) 20:26:25.78ID:+KLBY5j7numpyはthe basicsだけ読めばいいような気もする
http://wiki.scipy.org/Tentative_NumPy_Tutorial#head-6a1bc005bd80e1b19f812e1e64e0d25d50f99fe2
http://matplotlib.org/users/pyplot_tutorial.html
matplotlibのチュートリアルの中ではnumpy使ってるところもある
0020デフォルトの名無しさん
2014/08/03(日) 20:47:51.24ID:mooYogGVありがとう、ここのthe basicsを勉強してからmatplotlibに行こうと思います
この位の量ならなんとかなりそうな気がします
matplotlibの公式サンプルは試していたのですが
numpyが前提な感じなので先にmatplotlibにいくと辛い感じでした
せめてthe basicsを読んでから行くことにします
ありがとうございました!
0021デフォルトの名無しさん
2014/08/03(日) 21:19:44.51ID:mooYogGVfrom numpy import *
この辺の理解があやふやだったみたいで(matplotlibのサンプルでもこの系統で四苦八苦していました)
今は理解しましたが、表記は簡単だけど、対話モード以外でこれを使うことはあるのだろうか・・・
他の言語は少し触ったことはあるのですが、Python自体の初心者なので
import numpy as np
みたく頭の中で翻訳して
np.array([1,2,3,4])
で実際書いて練習して見ることにします
Pythonの配列型は大分他の言語と変わっている気がするので
それとの違いなんかも一緒に違いを踏まえながら勉強してみます
一年後にはネットワーク関係のスクリプトも組めるようなんとかしたいですのですが
ここで詰まっているようだと大分先は長そうだ・・・orz
0022デフォルトの名無しさん
2014/08/03(日) 23:11:57.77ID:aN4Ndech0023デフォルトの名無しさん
2014/08/03(日) 23:50:20.18ID:YEfQO8dPimport matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()
みたいな書き方をちょっと気持ち悪く感じて、
myplot = plt.Plot()
myplot.plot([1,2,3])
myplot.show()
のように、なにかしらのインスタンスを作ってそのメソッド呼ぶ感じでプロットしていきたい
というように感じることがあるんですが、
これは「その感覚はないわ〜」みたいな感じ、それとも「あーわからんじゃない」みたいな感じですか?
0024デフォルトの名無しさん
2014/08/03(日) 23:52:02.01ID:+KLBY5j7myplotが状態を持ってるようには見えないから
0025デフォルトの名無しさん
2014/08/03(日) 23:59:04.93ID:+KLBY5j7そのパターンは十分あり得る
0026デフォルトの名無しさん
2014/08/04(月) 00:48:44.87ID:CJ83fxk4C/FORTRAN 向け科学技術計算パッケージのプロットライブラリや
gnuplot を使った経験があれば、matplotlib は素直な設計だから、
「その感覚はないわ〜」みたいに感じる
ただ最近はオブジェクト指向の考え方が普及しているから、
上記の手続き型プロットライブラリを気持ち悪く感じる人がいても
「あーわからんじゃない」みたいに感じる
たとえば「手元にX-Yプロッタ装置を1台だけ所有していて、
その装置にあれこれコマンド(=手続き)実行を命令している.....」
みたいな感じで考えればいいんじゃないかと思う
0027デフォルトの名無しさん
2014/08/04(月) 08:12:31.68ID:MisW0pwUOpenGLとかもキモい
0028デフォルトの名無しさん
2014/08/04(月) 08:48:39.79ID:fW6TrluV当時の感覚からしても設計思想自体ちょっとダサい方だと思う
0029デフォルトの名無しさん
2014/08/04(月) 11:10:44.04ID:VkhvqJe+#coding:utf-8
import urllib
keyword = u"テスト"
print urllib.urlencode(keyword.encode('utf-8'))
0030デフォルトの名無しさん
2014/08/04(月) 11:33:17.60ID:5GCVsUHqそいつ>>13が指摘してる前スレで2ch書き込みスクリプトくれくれ言ってたやつだぞ
2ch荒らすのに使うの見え見えなやつを手助けするなよ
0031デフォルトの名無しさん
2014/08/04(月) 12:11:45.07ID:TGYEvOJ00032デフォルトの名無しさん
2014/08/04(月) 12:19:40.66ID:TGYEvOJ0http://ja.wikipedia.org/wiki/%E6%B7%B1%E3%81%95%E5%84%AA%E5%85%88%E6%8E%A2%E7%B4%A2
003323
2014/08/04(月) 12:54:29.55ID:WexAwjaPありがとうございます。とくに >>26 さん親切にどうもありがとう。
だいぶ雰囲気掴めたと思います。
0034デフォルトの名無しさん
2014/08/04(月) 13:41:03.22ID:VkhvqJe+領海
0035デフォルトの名無しさん
2014/08/04(月) 19:50:55.97ID:z+yz5IZLOpenGLの他にDirect3Dしか選択肢がなくてなんとなくDirectXを選んだけど
公開サンプルソースの少なさに泣いたのを思い出して鬱になった
というか今学問系だとどういう3Dライブラリを使うのが普通なの?
ってPython関係ないな
0036デフォルトの名無しさん
2014/08/04(月) 23:21:09.94ID:J4k0EnNa↑リストを使ったキューをfrom collections import dequeを使ったものに書き換えました↓
http://codepad.org/8NGcgQ5h
TypeError: 'int' object is unsubscriptableが出たんですけどどうか着替えたらいいのか教えてください
0037デフォルトの名無しさん
2014/08/04(月) 23:21:46.19ID:J4k0EnNaどう書き換えたら
0038デフォルトの名無しさん
2014/08/05(火) 00:36:25.51ID:pv4OEjEtfor i in range(0, a, 1):
print(i)
a = 3
途中でaを3に変えたのに0 1 2 3 4と表示されます
なぜですか?
0039デフォルトの名無しさん
2014/08/05(火) 00:36:34.21ID:HLOzo43t0040デフォルトの名無しさん
2014/08/05(火) 01:15:43.70ID:jUXvba1wそれでrange()の挙動が変わるような実装がクソめんどくさそうな仕様の言語ってあんの?
0041デフォルトの名無しさん
2014/08/05(火) 02:47:27.94ID:+4GKMU4F正確な説明とはいえないけど、変数自体ではなく、変数に入っているモノが関数に渡される
2行目のrange()にはaではなく5を渡している
4行目でaに3を入れなおしてもrange()に渡した5には影響しない
0042デフォルトの名無しさん
2014/08/05(火) 08:04:43.14ID:v7EbVobVたとえばPHPならこうやると0 1 2って表示されますが
$a = 5;
for ($i=0; $i<$a; $i++){
$a = 3;
echo $i;
}
pythonでやる場合は
a = 5
i = 0
while a > i:
print(i)
a = 3
ってやる方法しか無いでしょうか?
0043デフォルトの名無しさん
2014/08/05(火) 08:20:44.86ID:0Nh3i6Wxa = 5
for i in range(a):
if i >= a:
break
print(i)
a = 3
0044デフォルトの名無しさん
2014/08/05(火) 09:38:36.40ID:Hz72ppwZfor inがわからないという事なのか。
それとも、↓のlist(r)の出力がa=3した後も変わらない事を何故かと聞いてるのか。
>>> a = 5
>>> r = range(a)
>>> list(r)
[0, 1, 2, 3, 4]
>>> a = 3
>>> list(r)
[0, 1, 2, 3, 4]
あと、ループ内でaを再定義するぐらいなら、ループ入る前にやっとけよって思いました
0045デフォルトの名無しさん
2014/08/05(火) 10:02:26.44ID:0Nh3i6Wximport sys
for i in range(sys.maxsize):
aもiも変更したいならwhileだな
0046デフォルトの名無しさん
2014/08/05(火) 20:49:22.56ID:+4GKMU4Fループの終了条件を変えられる関数は作れるけど、Pythonのfor文の流儀に反している気がしてお勧めできない
def my_range(cond):
i = cond[0]
while i < cond[1]:
yield i
i += cond[2]
c = [0, 5, 1]
for i in my_range(c):
print(i)
c[1] = 3
0047デフォルトの名無しさん
2014/08/05(火) 21:08:55.48ID:3MsCZ4lIそこは関係ないようです
0048デフォルトの名無しさん
2014/08/05(火) 21:38:14.43ID:0mdzPr1dこのスクリプトで q がどうなってて、従って path に何が入ることになるかは理解できてますか?
0049デフォルトの名無しさん
2014/08/05(火) 22:12:26.80ID:HLOzo43tわかった
>>39のに加えてdequeの初期化の仕方が間違ってる
deque([start])→deque([[start]])
http://codepad.org/RGKUJCCu
0050デフォルトの名無しさん
2014/08/06(水) 09:50:31.72ID:4kkHNvLc>Pythonのfor文の流儀
なにそれkwsk
0051デフォルトの名無しさん
2014/08/06(水) 19:35:59.89ID:IBfbXB7Rファイルに書き出すくらいしか分からないのですが
0052デフォルトの名無しさん
2014/08/06(水) 20:19:09.28ID:6xA8BSBLRMI
0053デフォルトの名無しさん
2014/08/06(水) 22:37:34.13ID:Hc5bYjkLありがとうございます
0054デフォルトの名無しさん
2014/08/08(金) 12:19:52.03ID:2ZXfhlXJやっぱりpythonでdll呼ぶようのdllを作ったほうがいいのかな
0055デフォルトの名無しさん
2014/08/08(金) 13:58:01.23ID:LVetnHZi0056デフォルトの名無しさん
2014/08/08(金) 19:03:08.34ID:YG2OXIF+長い長い道のりだった
対話モードみたくインデントを自動でしてくれなくてしょんぼりしてるけど
0057デフォルトの名無しさん
2014/08/09(土) 00:29:01.22ID:l2WdSHx9https://www.youtube.com/watch?v=oi2PEmrOs3o
https://www.youtube.com/watch?v=u4KcM6EBOcM
0058デフォルトの名無しさん
2014/08/09(土) 06:49:31.07ID:l2WdSHx90059デフォルトの名無しさん
2014/08/09(土) 11:01:15.36ID:cMAC0zr6糞過ぎワロス
0060デフォルトの名無しさん
2014/08/09(土) 13:46:44.09ID:t54vu+MJGDI使ってるのと変わんないんじゃないかって気がするけど
0061デフォルトの名無しさん
2014/08/09(土) 14:02:57.80ID:odLGSBLG0062デフォルトの名無しさん
2014/08/09(土) 14:04:57.17ID:lFfYI/Nkもっと遥かに遅いFlashですらゲーム作れるんだし。
0063デフォルトの名無しさん
2014/08/09(土) 14:08:47.59ID:pfgkOg0q少なくとも何もできないようなライブラリが数年にわたって精力的に開発されているようなら
それは正気の沙汰じゃない
0064デフォルトの名無しさん
2014/08/09(土) 14:29:00.61ID:cMAC0zr60065デフォルトの名無しさん
2014/08/09(土) 14:53:51.79ID:pfgkOg0q0066デフォルトの名無しさん
2014/08/09(土) 15:27:47.30ID:l2WdSHx90067デフォルトの名無しさん
2014/08/09(土) 15:51:28.58ID:odLGSBLG先に問題になりそう。
その場合cythonやnumpy使うことになると思うが。
経緯的にはPySDL > pygame > PySDL2
ってまた元のさやに戻りつつあるんだっけ?
0068デフォルトの名無しさん
2014/08/09(土) 17:38:17.96ID:fubXRsBH0069デフォルトの名無しさん
2014/08/09(土) 21:24:42.48ID:K1gOBgfbhttps://www.codeeval.com/open_challenges/1/
import sys
test_cases = open(sys.argv[1], 'r')
for test in test_cases:
(F, B, N) = map(int, test.split())
FB = F * B
for num in range(1,N+1):
if num > 1:
print(" ",end = "")
if num % (FB) == 0:
print('FB', end ="")
elif num % F == 0:
print('F', end = "")
elif num % B == 0:
print('B', end = "")
else:
print(num, end = "")
print("")
test_cases.close()
0070デフォルトの名無しさん
2014/08/09(土) 21:40:51.15ID:pfgkOg0q0071デフォルトの名無しさん
2014/08/09(土) 21:45:26.46ID:FjFHc6TX0072デフォルトの名無しさん
2014/08/09(土) 22:58:20.66ID:K1gOBgfbCodeEval自体、スコアは表示されるけれども、
どのテストがエラーなのか表示されないので困っていたのです。すみません。
>>71
ありがとうございます。どうやらそのようです。
確かに、2 2 x だと、4の倍数しかFBにならないですね、これ。
if num % F == 0 and num % B == 0:
print('FB', end="")
でいいのかな…?
0073デフォルトの名無しさん
2014/08/09(土) 23:41:03.41ID:K1gOBgfbif num % F == 0 and num % B == 0:
print('FB', end="")
で、無事100点取れました。
ありがとうございました。
0074デフォルトの名無しさん
2014/08/10(日) 08:22:41.98ID:frgBbTF3どこが原因か判らんとか言いがかりもいいところ
0075デフォルトの名無しさん
2014/08/10(日) 10:04:00.43ID:zo9IFsz+どっちかって言うと >>74 の方が言いがかり臭いが
0076デフォルトの名無しさん
2014/08/14(木) 00:51:32.26ID:ztsop+v9githubのアカウントでも見た方が100倍有意義。
0077デフォルトの名無しさん
2014/08/14(木) 00:55:21.75ID:IvD2O8+WGoogleのは綺麗だけど普通のコードだったなぁ
0078デフォルトの名無しさん
2014/08/14(木) 01:01:52.85ID:ztsop+v90079デフォルトの名無しさん
2014/08/14(木) 01:09:37.28ID:eZDslbUX[[2, ['D']], [8, ['C']], [12, ['D', 'H', 'S']]]
とするにはどうコードを書けばいい?
0080デフォルトの名無しさん
2014/08/14(木) 01:41:33.89ID:czQ8Cautstr="0123456789"
で
for i in range(10):
a.append(strのi番目の文字を数字として代入)
ってどうやればいいですか・・・
str[i]でi番目の文字を数字としては取り出せないですよね?
0~9までの数字で作られた文字列strのi番目の文字(数字)を
数字として配列a[i]に入れたいのですが
0081デフォルトの名無しさん
2014/08/14(木) 01:45:20.01ID:Z2XhePMeドキュメント読む気ねえならせめて自分で一回試してから来いカス
0082デフォルトの名無しさん
2014/08/14(木) 02:13:38.80ID:RnqN7Gmeなぜ、文字列を使うの?
最初から、0〜9の数値を入れた配列(数値Array)を使えば?
0083デフォルトの名無しさん
2014/08/14(木) 02:20:02.65ID:Sj8LF1t/http://ideone.com/8nnDa8
そもそも辞書型で管理したほうがよいのでは
0084デフォルトの名無しさん
2014/08/14(木) 02:33:48.17ID:XQOz8skT>>> str = "31415926"
>>> a = list(str) # 数字としてリストに入れる
>>> a = [int(s) for s in str] # 数値に変換してリストに入れる
0085デフォルトの名無しさん
2014/08/14(木) 02:43:02.34ID:Z2XhePMestr型はイミュータブルなシーケンス。
> str = "31415926"
の後
>>>str[3]
とかしてみろ低能ども。
そしてお前ら10年ROMれ。
0086デフォルトの名無しさん
2014/08/14(木) 03:16:36.47ID:9X7JikwT文字列を数値にするときはintを使う
http://docs.python.jp/3.3/library/functions.html#int
0087デフォルトの名無しさん
2014/08/14(木) 03:17:50.48ID:/Ygxu31/0088デフォルトの名無しさん
2014/08/14(木) 03:19:31.89ID:czQ8Caut出来ると仕様を理解して使うとは違うと思うの
試して動いたからおkってのは愚の骨頂じゃない
0089デフォルトの名無しさん
2014/08/14(木) 03:56:24.39ID:CQ3J9/oq0090デフォルトの名無しさん
2014/08/14(木) 05:14:58.78ID:CAjda4jbID が正規表現リテラルです。これより異端審問を開始します
0091デフォルトの名無しさん
2014/08/14(木) 07:49:41.23ID:smA0xrmN>>83さんの案でいきました。
>>> from collections import defaultdict
>>> import pprint
>>> dd = defaultdict(list)
>>> LL = [[2, ['D']], [8, ['C']], [12, ['D']], [12, ['H']], [12, ['S']]]
>>> for x in LL:
... key = x[0]
... value = x[1][0]
... dd[key].append(value)
...
>>> pprint.pprint(dd)
defaultdict(<class 'list'>, {8: ['C'], 2: ['D'], 12: ['D', 'H', 'S']})
>>90さん
>>> "str" in dir(__builtins__)
True
str
は、予約されているので、変数名として使用するのを止めましょう。
>>> s = "0123456789"
>>> a = []
>>> s[1]
'1'
>>> for i in range(10):
... n = int(s[i])
... a.append(n)
...
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0092デフォルトの名無しさん
2014/08/14(木) 07:59:40.47ID:smA0xrmN>>91
○>>83さん
×>>72さん
0093デフォルトの名無しさん
2014/08/14(木) 08:42:33.11ID:CAjda4jbあと str は予約語なりキーワードではない
0094デフォルトの名無しさん
2014/08/14(木) 08:46:22.89ID:JEIgFwEXLL2 = [[c, [f for d, e in LL if d==c for f in e]] for c in set(a for a, b in LL)]
print(LL2)
a = []
s = "0123456789"
a[:] = [int(c) for c in s]
print(a)
0095デフォルトの名無しさん
2014/08/14(木) 12:06:05.09ID:sq+uQd00関数型プログラミング・スタイルで....
http://play.island.ac/codepaste/code?id=1589
0096デフォルトの名無しさん
2014/08/14(木) 12:41:41.25ID:sq+uQd00http://play.island.ac/codepaste/code?id=1590
(配列からタプルへの暗黙の型変換を排除した)
あと、せっかく Python にはタプルがあるのだから、
二項関係(=ペア)はタプルで表現したほうが
コードにメリハリがついて読みやすくなると思う
LL = [(2, ['D']), (8, ['C']), (12, ['D']), (12, ['H']), (12, ['S'])]
0097デフォルトの名無しさん
2014/08/14(木) 13:20:38.06ID:sq+uQd00適切なデータ構造を選ぶ必要がある
たとえば >>83,94 は辞書または集合を利用しているから、
ペアが連続していなくともキーが一致していれば値をマトメてしまう
>>83 のケース(辞書):
L = [[12, ['D']], [8, ['C']], [12, ['D']], [12, ['H']], [12, ['S']]]
# 途中は省略
print map(list, d.iteritems())
# => [[12, ['D', 'D', 'H', 'S']], [8, ['C']]]
>>94 のケース(集合):
LL1 = [[12, ['D']], [8, ['C']], [12, ['D']], [12, ['H']], [12, ['S']]]
LL1_2 = [[c, [f for d, e in LL if d==c for f in e]] for c in set(a for a, b in LL)]
print(LL1_2)
=> [[8, ['C']], [12, ['D', 'D', 'H', 'S']]]
もしもキーの一致よりペアの連続性を優先する仕様であれば、>>96 になる
>>96 のケース(配列):
arr2 = [[2, ['D']], [8, ['C']], [12, ['D']], [12, ['H']], [12, ['S']]]
print(f(arr2))
=> [[12, ['D']], [8, ['C']], [12, ['D', 'H', 'S']]]
どのコードの振る舞いが適切かは、出題者の >>79 だけが知っている
0098デフォルトの名無しさん
2014/08/14(木) 13:44:29.82ID:sq+uQd00X: arr2 = [[2, ['D']], ....]
O: arr2 = [[12, ['D']], ....]
0099デフォルトの名無しさん
2014/08/14(木) 19:56:05.14ID:sq+uQd00「要素間に順序性がなく、なおかつあるキーにおける要素間で重複を許さない」
であれば、
「集合を値とする辞書」
というデータ構造が適切になる
この場合、>>96 のコードはずっと単純になる
http://play.island.ac/codepaste/code?id=1591
なお、さらに短く書こうと(>>94 を参考にして)辞書内包表記に挑戦してみたけど、
型エラーを回避できず、挫折した(Python 2.7 と 3.3 で確認)
>>> {(k, set(v)) for (k, v) in [[1, 'A'], [2, 'B']]}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <setcomp>
TypeError: unhashable type: 'set'
この型エラーの回避方法を知っている人がいれば、教えて欲しい
0100デフォルトの名無しさん
2014/08/14(木) 20:14:48.54ID:31aNAkg30101デフォルトの名無しさん
2014/08/14(木) 20:42:36.28ID:JEIgFwEX辞書のキーをkに、値をset(v)にしたいという意味なら
{k:set(v) for k, v in [[1, 'A'], [2, 'B']]}
0102デフォルトの名無しさん
2014/08/14(木) 22:18:32.96ID:sq+uQd00ありがとうございます
おかげで >>94 を「集合を値とする辞書」に書き換えることができました
LL3 = {c: set([f for d, e in LL if d==c for f in e]) for c in set(a for a, b in LL)}
ただ、内包表記だと入力リストの各要素の反復について更に全要素を反復する(?)ので、
入力リストの大きさに対して処理時間が指数関数的に長くなるように見えます(???)
これを何とか一重の反復にできないか格闘しいぇみたけど、自分では無理でした
まあスクリプト言語で性能うんぬんを考える事が間抜けかもしれませんが....
0103デフォルトの名無しさん
2014/08/14(木) 23:28:54.58ID:XQFcvtlUfrom operator import itemgetter
d = {k: set(x for _, xs in g for x in xs)
for k, g in groupby(LL, itemgetter(0))}
0104デフォルトの名無しさん
2014/08/15(金) 01:35:13.72ID:y89IBkND出た〜馬鹿の一つ覚えw
0105デフォルトの名無しさん
2014/08/16(土) 02:12:20.20ID:nQiWsyllあは〜ん
0106:デフォルトの名無しさん
2014/08/16(土) 20:22:20.73ID:oKz+epnN具体的に何ができるの?
0107デフォルトの名無しさん
2014/08/16(土) 21:29:41.92ID:nQiWsyll0108デフォルトの名無しさん
2014/08/16(土) 21:35:13.48ID:hV65QHhVできるも何も、Pythonは映像を扱う機能は一切持っていませんぞ
0109デフォルトの名無しさん
2014/08/16(土) 22:08:04.08ID:ewaXkA++0110デフォルトの名無しさん
2014/08/16(土) 22:38:35.06ID:Ut3Ho2cw0111デフォルトの名無しさん
2014/08/16(土) 22:40:14.86ID:nQiWsyll0112デフォルトの名無しさん
2014/08/17(日) 07:47:50.63ID:1D4ghaF5ありがとうございます
0~9とa~fまでの文字で0~15の数字を表し、それで作られた文字列への拡張もいけました
実際にはstrnはランダムで0^9かa^fの文字を任意の数だけ入れますが
strn="0123456789abcdef"
n=16
a=[]
for i in range(len(strn)):
a.append(int(strn[i],base=n))
for i in range(len(strn)):
print(a[i])
>>89,91,93,94
mapも便利そうなので後で仕様を調べて練習してみます
ちょっと難しそうに見えますが、応用範囲が広そうでいいですね
ありがとうございます
後はファイルに記録された8文字の文字列を任意の数読み込んで
それぞれの文字列について平均、最大を出すという操作を作ります
2日位で出来るといいなっ!
0113デフォルトの名無しさん
2014/08/17(日) 08:36:55.71ID:S2ZyfJtLfor文と内包表記の使い方を覚えるともっとシンプルに書けるようになる
strn = "0123456789abcdef"
n = 16
a = [int(s, base=n) for s in strn]
for num in a:
print(num)
0114デフォルトの名無しさん
2014/08/17(日) 12:43:21.18ID:jHvAACNT例が示されているサイト等があれば教えていただけないでしょうか。
0115デフォルトの名無しさん
2014/08/17(日) 12:50:52.28ID:dhYg7xlGopen("hoge.bin", "wb").write("\xFF" * 0x2000)
0116デフォルトの名無しさん
2014/08/17(日) 14:59:24.06ID:jHvAACNTありがとう。
うまくいきまいした。
0117デフォルトの名無しさん
2014/08/17(日) 17:48:26.33ID:1D4ghaF5ありがとうございます
for文のそういう書き方や、内包表現を覚えたほうが直感的に書けそうですね
他人のソースがそれで書かれていたら直ぐ読める自信はありませんが、
自分で後で読む用途だとそちらのほうが分かりやすそうです
仕様を理解しつつ具体的に練習して身に付ける方向でやってみようと思います
いつか恩返しが出来るようなれるといいな
0118デフォルトの名無しさん
2014/08/18(月) 08:06:33.74ID:51w8WhmPやっぱCか
0119デフォルトの名無しさん
2014/08/18(月) 19:28:55.88ID:K5hwgM95>for num in a:
> print(num)
print(*a, sep="\n")
ループ処理いらん
0120デフォルトの名無しさん
2014/08/18(月) 22:38:58.65ID:HLTZAqws>>> l
>>> ['a', 'bc']
なんでこうなるんだろ
ふつうにエラーにしたほうがいいと思うんだけど
なんかメリットあるんだろうか
0121デフォルトの名無しさん
2014/08/18(月) 23:01:35.09ID:K5hwgM95文字列リテラルの仕様
>単式の一部であり間に空白のみを含む文字列リテラルは、一つの文字列リテラルに暗黙に変換されます。
http://docs.python.jp/3.4/library/stdtypes.html#text-sequence-type-str
>>> "b""c"
'bc'
メリットは何だろ。文字列結合するのにそのまま並べられる?
0122デフォルトの名無しさん
2014/08/18(月) 23:04:05.12ID:7X6VrPC7あと変数名 l はあんまりよくない
0123デフォルトの名無しさん
2014/08/18(月) 23:04:33.51ID:FhzY8b4Z0124デフォルトの名無しさん
2014/08/18(月) 23:07:27.74ID:yNFe71fPttp://docs.python.jp/3/reference/lexical_analysis.html#string-literal-concatenation
主になんがーい文字用じゃないかね
0125デフォルトの名無しさん
2014/08/18(月) 23:10:21.53ID:mqTO4sep0126デフォルトの名無しさん
2014/08/20(水) 12:51:32.19ID:T9kvMX30("This" +
"is a very long line")
0127デフォルトの名無しさん
2014/08/20(水) 13:02:45.35ID:GuTaDa5L"is a very long line"
0128デフォルトの名無しさん
2014/08/20(水) 16:27:20.44ID:SAxc93tu0129デフォルトの名無しさん
2014/08/20(水) 19:09:26.04ID:FiV4cMVvあれはパンチカードやキャラクタディスプレイ時代の習慣だ
頻繁に改行することで見にくくなったりエンバグするリスクの方が高い
0130デフォルトの名無しさん
2014/08/20(水) 19:11:44.34ID:vOLIf7/C0131デフォルトの名無しさん
2014/08/20(水) 19:31:39.62ID:PK2Z8X8/0132デフォルトの名無しさん
2014/08/20(水) 20:44:06.63ID:FiV4cMVv自分はprintで超えまくるよ
Python3になって、printにカッコを使うようになったのと
format()を併用するようになったことが実に痛い
0133デフォルトの名無しさん
2014/08/20(水) 20:57:52.89ID:5yBlZ/IM0134デフォルトの名無しさん
2014/08/21(木) 21:04:40.79ID:hkentYzf0135デフォルトの名無しさん
2014/08/21(木) 21:32:17.51ID:EEmj9GE5わざわざ一行で書くとか何の苦行だよ?
0136デフォルトの名無しさん
2014/08/21(木) 21:39:03.62ID:MhWq0pC7コードが読めなくなるんだよ
printで文字列を二行に分けて、なおかつ後ろに
formatが付いていたりするともう大変で、視線が
上と下を行ったり来たりしているうちに発狂する
0137デフォルトの名無しさん
2014/08/22(金) 00:17:18.47ID:8tYB1M2a短くてもバランスが悪いんだよね
0138デフォルトの名無しさん
2014/08/22(金) 08:34:47.26ID:FzGWd/ot0139デフォルトの名無しさん
2014/08/23(土) 12:12:00.39ID:G8fmeh+Areモジュールはスレッドセーフですか?
複数のスレッドから同時に正規表現を扱いたいのでスレッドセーフでないと困っちゃいます
0140デフォルトの名無しさん
2014/08/23(土) 12:41:33.64ID:7Oq9lst2str1.txt
あいうえお
かきくけこ
さしすせそ
次のように文字列をlist_strにリストとして格納します
list_str=[]
f=open()
list_str=f.readlines()
f.close()
で、改行込みの文字列のリストがlist_strに代入されますが
そこから改行文字を取り除きたいです
どうやるのが尤も一般的でしょうか?
0141デフォルトの名無しさん
2014/08/23(土) 13:01:38.90ID:FMBFCiJowith open("str1.txt", "r", encoding="utf-8") as f:
list_str = [line.strip() for line in f.readlines()]
print(list_str)
python3だとこんな感じ
0142デフォルトの名無しさん
2014/08/23(土) 13:15:42.30ID:+i5yzvna.rstrip("\r\n") の方がいいよ
0143デフォルトの名無しさん
2014/08/23(土) 16:30:53.87ID:gEc2W+i30144デフォルトの名無しさん
2014/08/23(土) 19:15:01.22ID:7Oq9lst2ありがとうございます
大分酷い書き方になっていると思いますが、思ったような動作になりました
洗練された表現は後で周辺も調べつつ取り入れて見ようと思います
また、ここがおかしいという指摘あれば、よろしければご教授下さいm(__)m
list_str = []
f = open("str1.txt")
list_str = f.readlines()
f.close()
print(list_str)
for i in range(3):
line = list_str[i].strip()
# line = list_str[i].rstrip("\r\n")
list_str[i] = line
print(list_str)
all_str = "".join(list_str)
print(all_str)
>>>
['あいうえお\n', 'かきくけこ\n', 'さしすせそ\n']
['あいうえお', 'かきくけこ', 'さしすせそ']
あいうえおかきくけこさしすせそ
0145139
2014/08/23(土) 19:24:32.33ID:3qnNklS60146デフォルトの名無しさん
2014/08/23(土) 20:14:09.61ID:+i5yzvnaわざわざスレッドセーフするためのグローバルインタプリタロックだし
JavaScriptみたいにグローバルな正規表現オブジェクトを使い回す訳でもないし
大丈夫でしょ
グローバルインタプリタロックがあるから処理時間短縮目的ならマルチプロセス化する必要あるよ
0147デフォルトの名無しさん
2014/08/23(土) 20:59:56.96ID:FMBFCiJof = open("str1.txt")
list_str = f.readlines()
f.close()
は
with open("str1.txt") as f:
list_str = f.readlines()
にするといちいちcloseよばなくてすむから楽
あと,テキストをリストに移すときは普通は一気にやる
list_str = []
with open("str1.txt") as f:
for line in f.readlines():
list_str.append(line.strip())
print(list_str)
0148デフォルトの名無しさん
2014/08/23(土) 21:06:16.75ID:i5J5SJBKPythonは>>144ででてるようにテキスト読み込み時に改行文字を\nに変換するから
.strip("\n") で良い。
0149デフォルトの名無しさん
2014/08/23(土) 21:08:47.47ID:i5J5SJBKreadlines()でいったん全部読み込んでからそれを for でまわすとか、
for でまわしてリストに append とかバッドノウハウばっか教えんなよ。
0150デフォルトの名無しさん
2014/08/23(土) 21:16:32.39ID:Hu2+AkgUforで回して条件に合う物をリストにappendって
Pyhtonの定番中の定番処理だぞ
0151デフォルトの名無しさん
2014/08/23(土) 21:37:48.68ID:+i5yzvnaappend も、少しずつ加えるよりイテレータや内包表記で一気にリストにする方がメモリ効率がいい
with open("str1.txt") as f:
list_str = [line.rstrip("\n") for line in f]
0152デフォルトの名無しさん
2014/08/23(土) 22:02:31.40ID:FMBFCiJo>>144に"洗練された表現は後で周辺も調べつつ取り入れて見ようと思います"ってあるから
本人の書いたコードになるべくあわせて修正した
0153デフォルトの名無しさん
2014/08/23(土) 22:04:58.66ID:1z1AuVulそんなもん規模次第だろ
数十行程度の設定ファイルとかなら、メモリー効率とか実行速度を気にするレベルじゃないだろうし
0154デフォルトの名無しさん
2014/08/23(土) 22:15:34.69ID:3qnNklS6規模の問題ですらない
0155デフォルトの名無しさん
2014/08/23(土) 22:26:23.33ID:Hu2+AkgU内包表記は読みづらいですから
0156デフォルトの名無しさん
2014/08/23(土) 22:30:44.45ID:NSY3QuJK0157デフォルトの名無しさん
2014/08/23(土) 22:33:30.14ID:PmTjLBQU0158デフォルトの名無しさん
2014/08/23(土) 22:36:09.93ID:Hu2+AkgUコードを見れば脊椎反射で批評・添削を加えたがる輩は
それが暴力に近いことだと自覚して欲しい
0159デフォルトの名無しさん
2014/08/23(土) 22:38:18.68ID:1z1AuVul読みやすいかどうかは人によるし、規模が小さいならどっちでも好きな方でいいだろ
0160デフォルトの名無しさん
2014/08/23(土) 22:48:29.19ID:+i5yzvnareadlines() で作られるリストと、加工結果を入れるリストとで、
一時的に本来必要な量の2倍メモリ消費してしまうことには気を付けといた方がいいね
ここ最近、巨大なテキストファイルの加工にPython使ってるけど
そろそろ処理終わったかな〜と見に行くとメモリ不足で止まってたりするw
0161デフォルトの名無しさん
2014/08/23(土) 22:48:36.35ID:gEc2W+i30162デフォルトの名無しさん
2014/08/23(土) 22:50:08.39ID:3qnNklS60163デフォルトの名無しさん
2014/08/23(土) 22:50:15.21ID:Jwg/Lhcuよほど慣れた人を除けば >>94 や >>102 は
無理ゲーな人が大半ではないかと思われ
0164デフォルトの名無しさん
2014/08/23(土) 23:30:51.50ID:XzPg74smwith open('str1.txt') as f:list_str = map(str.rstrip,f)
で良いじゃん?リストに入れるのが目的ならだけどね
規模が小さかろうとシステムリソースは有限だし
スケーリング可能な最適をチョイスをするのが基本だと思うがね
動けばいいなんて処理を理解しないままもまたバグの元だが
0165デフォルトの名無しさん
2014/08/23(土) 23:36:23.23ID:6csT3QKU慣れた人というより、もはやサヴァン症候群なんじゃないかと思うレベル。
0166デフォルトの名無しさん
2014/08/23(土) 23:44:24.92ID:3qnNklS6メタプログラミングならもっとヤバいのがいっぱいあるのに
0167デフォルトの名無しさん
2014/08/23(土) 23:48:37.89ID:Hu2+AkgU話の流れ見えてないだろ
頼まれたわけでもないのに、人のコードに横から口を挟んで
速度・効率のチューニングを始めるのは自重しろと言っているのだよ
0168デフォルトの名無しさん
2014/08/23(土) 23:57:17.07ID:Dp/sG2ok0169デフォルトの名無しさん
2014/08/24(日) 00:05:43.11ID:NdITZsIB彼のはただの突っ込みあるいは些細な齟齬に見えるが?
話の流れではなく貴方が自分の主張で過剰反応してるだけでしょう?
悪いけどそんな下らんことを議論するつもりはない
0170デフォルトの名無しさん
2014/08/24(日) 00:11:25.82ID:frySUXyC> また、ここがおかしいという指摘あれば、よろしければご教授下さいm(__)m
からきていると思う
0171デフォルトの名無しさん
2014/08/24(日) 00:17:22.57ID:1zGm5FNX速度効率の問題というより readlines が余計
f はイテレータ
0172デフォルトの名無しさん
2014/08/24(日) 00:17:52.28ID:TeY476kZメタプログラミングって読みにくいコードを書く事じゃないぞ
0173デフォルトの名無しさん
2014/08/24(日) 00:56:14.63ID:jWy1bnP00174デフォルトの名無しさん
2014/08/24(日) 01:13:41.67ID:0MtXF8e+ド素人が多すぎる
0175デフォルトの名無しさん
2014/08/24(日) 01:29:48.23ID:+Pte+GGf0176デフォルトの名無しさん
2014/08/24(日) 01:53:06.56ID:Mo/xSCgr自分の知識がないのを「多少冗長でも誰が読んでもわかる方が良い」などとトンチンカンな
エスクキューズにするコーダーは100%クズ
0177デフォルトの名無しさん
2014/08/24(日) 02:05:18.29ID:VbHcfS420178デフォルトの名無しさん
2014/08/24(日) 02:06:58.64ID:jlCuRdJh0179デフォルトの名無しさん
2014/08/24(日) 02:10:53.57ID:Mo/xSCgrいや、>>147みたいな単純なappendはバッドノウハウ中のバッドノウハウ。
自分が使うのは勝手だが、人にすすめていいコードじゃない。
私バカですと言ってるようなもの。
内包表記がわかりにくい云々とか言ってるのは自分が頭悪いので言語の仕様を使い切れません、
と言ってるのと同じなので、それを人にさらして良い話ではない。
私バカですと言ってるようなもの。
規模の大小とコードの効率や質とは無関係。
人様に見せないでてめえの中だけで自己満足できればいいなら好きにすれば良い話。
でもそれを人前で言うな。
私バカですと言ってるようなもの。
>>140 はその程度の知識はあってやってそうなのに対し、
>>147 が上から目線で>>140よりバカで無駄だらけなコードをひけらかしてるので痛さが際立つ。
0180デフォルトの名無しさん
2014/08/24(日) 04:05:04.08ID:jlCuRdJh0181デフォルトの名無しさん
2014/08/24(日) 04:38:47.54ID:Mxca/0uN単純なappendをバッドノウハウと主張する根拠は?
根拠を述べ、それを皆が納得してくれないと
逆に君がバカだと思われるぜ
0182デフォルトの名無しさん
2014/08/24(日) 04:44:44.19ID:jlCuRdJh0183デフォルトの名無しさん
2014/08/24(日) 05:28:05.91ID:fB1dx/820184デフォルトの名無しさん
2014/08/24(日) 05:58:46.88ID:Mxca/0uNスクリプト言語はお手軽さが命
そもそも内包表記は、rubyに毒されたワンライナー厨の
オナニー用に後から追加された機能だろ?
Pythonの公式ドキュメントにも、内包表記はわかりづらい
うんぬんという記述があったはず
0185デフォルトの名無しさん
2014/08/24(日) 08:06:45.59ID:TeY476kZ0186デフォルトの名無しさん
2014/08/24(日) 08:08:25.35ID:3Y+Mzxe1> 規模の大小とコードの効率や質とは無関係。
データの大小で処理方法を変えることは普通にあるだろ。
> 私バカですと言ってるようなもの。
ブーメラン乙 (w
0187デフォルトの名無しさん
2014/08/24(日) 08:57:04.93ID:1zGm5FNXループ内でリストに append はバッドノウハウとか言い出すのもなんだな
0188デフォルトの名無しさん
2014/08/24(日) 09:20:30.22ID:jWy1bnP0こんなことやるくらいならオナニーでもしていた方がいいでしょうね
0189デフォルトの名無しさん
2014/08/24(日) 10:07:03.45ID:2j22PZGE0190デフォルトの名無しさん
2014/08/24(日) 10:08:29.80ID:gu+/Plpk思った事を直ぐ記述だと、ある程度の内包表記をしたほうが直感的に書けるだろうし
後からも分かりやすい気がするし・・・
ってよく分からなくなる
ここまでは内包表記をしましょうみたいなコンセンサスがあるといいなって
ある程度以上のレベルになればこちらの表記を採用みたいな
初心者もここまでの内包表記は目指したほうが後から力になりやすいって感じで
逆に内包表記しないほうがいいって感じのものを挙げたほうが良さそうな気もしてきたw
0191デフォルトの名無しさん
2014/08/24(日) 10:17:31.08ID:2j22PZGE初心者だから分からないんじゃない。
読みにくいから分かりにくいんだよ。
0192デフォルトの名無しさん
2014/08/24(日) 11:04:46.88ID:87IKCXeEx = range(100)
をforで作る人は多分いない。
それはrangeで作られるリストが容易に想像できるから。
複雑な内包表現でもそのようなもの(例えば言葉で説明できるもの)ならループよりも可読性があると思う。
ただし、複雑過ぎると動作を変更しようとしたときに面倒臭い。
0193デフォルトの名無しさん
2014/08/24(日) 11:21:39.10ID:gu+/Plpk>>144の場合だと
for i in range(3):
line = list_str[i].strip()
list_str[i] = line
>>151>>160
>>144の例は読み込むのが3行だからどっちでもいいとは思うんだけど
こういう感じのファイルからの読み込みだと大量のデータを処理する目的がある場合が十分考えられる
>>151
f = open("str1.txt")
list_str=[line.rstrip("\n") for line in f]
f.close()
3行なのを記録したり、調べないでもいいし、ファイルの性質を分かっていれば読みにくいことはないし、
書くくなら多分こちらを書くかなって気がする
他人が書いたものを読むのも、内包表記を知っている方だと、こちらのほうが読みやすい気がする
ファイルからの一行ごとの処理がこの内包表記で出来るというのは多分覚えないといけないでしょうけど
というかファイルオブジェクトがファイルが一行ごとを要素として持つリストで認識? しているって感じで理解したほうがいいのかな?
0194デフォルトの名無しさん
2014/08/24(日) 11:50:15.24ID:jWy1bnP0それでも語りたいならgithubのアカウント晒せよ
それでお前の語る可読性がどれだけ高尚なものか評価してやる
テストがまったくないとか言ったら笑うけどな
0195デフォルトの名無しさん
2014/08/24(日) 11:51:26.70ID:jWy1bnP0それとも机上の空論で自らのコードはずぼらとか?
偉そうな方はどちらに当てはまるかな
0196デフォルトの名無しさん
2014/08/24(日) 12:39:33.97ID:lc4tmy8Gなんか糞コードしかかけなそう
0197デフォルトの名無しさん
2014/08/24(日) 12:41:09.68ID:EYMdVqe7片対数グラフで直線だから既に指数関数的増加だった
2014年に、西アフリカでアウトブレイクした潜伏期間延長型エボラの死者は、2014年8月半ばで1000人。←今ココ
2014年12月上旬で1万人。
この時点で世界規模で空路シャットダウン開始、世界経済大混乱
2015年5月で10万人。
2015年9月で100万人。
この時点で、第二次世界大恐慌発生
2015年大晦日で1000万人。
ちなみに
http://ja.wikipedia.org/wiki/2014%E5%B9%B4%E3%81%AE%E8%A5%BF%E3%82%A2%E3%83%95%E3%83%AA%E3%82%AB%E3%82%A8%E3%83%9C%E3%83%A9%E5%A4%A7%E6%B5%81%E8%A1%8C
:カナダ保健省のサイトでは体内に数個のエボラウィルスエアロゾルが侵入しただけでも発症するとしている
:ハマダラカが、吸血したての人の新鮮血を媒介しているという学説が浮上している
エボラ出血熱は蚊やアブに刺されただけで感染する。
:「この地域には内戦、政府による搾取、テロが長い間続いており、それによって生まれた恐怖、貧困、猜疑心などがある。エボラは耐え難い騒音に付け加えられた一つのざわめきに過ぎない」
現地では
や る 気 は 皆 無
0198デフォルトの名無しさん
2014/08/24(日) 12:48:28.63ID:+Bp9t+G+0199デフォルトの名無しさん
2014/08/24(日) 13:24:17.80ID:frySUXyCどこでcloseしてるか探さないといけない書き方より、with使う方が好みだなあ
withのインデント範囲が、ファイルの開いてる範囲だと直感的に分かるから
テキストエディタの色分け表示された環境で見れば、短い内包表記なら気にならなくなるよ
0200デフォルトの名無しさん
2014/08/24(日) 14:00:30.54ID:gu+/Plpk人に見せないまでも自分に対する可読性もあると思うの
直感的に書いて、尚且つ10年後も自分で読みやすいスクリプトを書きたいじゃない
散文的に書いたものが何かの拍子に必要になる可能性もあるし
というかこれには関係ないけど昔別言語の自分の書いた変態ソースが読みにくくて大分めんどくさいです
ドキュメント位作っておけばよかった
>>199
他の言語から移るって感じの時に
withだと内包表記と共に2つの理解が必要だとしんどいかなって思ってばらしてみました
Pythonを使い慣れている方なら普通にwithを使うでしょうね
0201デフォルトの名無しさん
2014/08/24(日) 14:08:01.22ID:gDuWOCL60202デフォルトの名無しさん
2014/08/24(日) 14:27:30.36ID:Mxca/0uN入力ファイルと出力ファイルを一つずつ開き
読み書きを全て一つのブロック内で行う場合、これでいいのかな?
動いてはいるのだけど、openがネストになるのが気持ち悪い
with open(...) as infile:
with open(...) as outfile:
# 以下、読んだり書いたりの処理
0203デフォルトの名無しさん
2014/08/24(日) 14:48:42.01ID:frySUXyCwith open(...) as infile, \
open(...) as outfile:
# 以下、読んだり書いたりの処理
0204デフォルトの名無しさん
2014/08/24(日) 14:54:05.63ID:jlCuRdJh0205デフォルトの名無しさん
2014/08/24(日) 15:00:05.12ID:gGOWG3Gvwith open(...) as infile, open(...) as outfile:
# 以下、読んだり書いたりの処理
2.7から普通にコンマで繋げられるよ
3.3からでたくさんある場合はcontextlib.ExitStackが使える
2.6以下ならcontextlib.nestedでできる
0206デフォルトの名無しさん
2014/08/24(日) 18:44:45.65ID:Mxca/0uNサンクス
withを使ったファイルアクセスは頻繁に使うので
スッキリ書けると助かる
0207デフォルトの名無しさん
2014/08/25(月) 02:10:28.08ID:OTL7uAT+readlinesって一旦全部メモリに読んでるの?
最近のpythonだとgeneratorにしてくれてるんじゃなくて?
>>161
だよね
0208デフォルトの名無しさん
2014/08/25(月) 02:33:00.21ID:WeZbZEp1Pythonのドキュメントをちゃんと読めばわかる話なんだが。
「リストを返す」というのはメモリに全部読み込んで返してますということ。
wiith ... as f なら f はイテレータになってる。
イテレータを返すというのはその時点ではまだ読み込んでませんよということ。
ジェネレータはイテレータのシンタックスシュガー。
内包表記でかくとややこしくなるところで使うのが yield を使うジェネレータ。
0209デフォルトの名無しさん
2014/08/25(月) 02:39:43.37ID:r8v+sX3h0210デフォルトの名無しさん
2014/08/25(月) 08:54:52.76ID:C6MCmCjo自分 >>171 なんだけどメモリがどうとかなん一言も言ってない
単に(>>147 後段の)readlines() が余計だというだけ
0211デフォルトの名無しさん
2014/08/25(月) 09:39:28.38ID:LIV+GZ8D俺には聞こえたんだ文句あっかクソが
0212デフォルトの名無しさん
2014/08/25(月) 20:01:33.97ID:OTL7uAT+0213デフォルトの名無しさん
2014/08/26(火) 00:23:41.72ID:cOpcHFf6速度もメモリーも気にしないなら readlines あってもいいじゃん
0214デフォルトの名無しさん
2014/08/27(水) 18:23:29.22ID:kQryo2X9\n付きのデータが欲しい時は使うのかなあ
0215デフォルトの名無しさん
2014/08/27(水) 18:35:30.33ID:cWbvRQEv0216デフォルトの名無しさん
2014/08/27(水) 19:35:30.52ID:9+bGMQe/先頭行に行数を明記したい時とかかな?
0217デフォルトの名無しさん
2014/08/27(水) 19:36:55.50ID:9+bGMQe/って表示する時かな?
0218デフォルトの名無しさん
2014/08/27(水) 20:34:24.19ID:W7LoG7Mibool_one = False and True
この「and」とはどういう意味を持つのでしょうか?
「!=」と「+=」の意味は同じですか?
0219デフォルトの名無しさん
2014/08/27(水) 20:57:36.11ID:36wAJh8pくだすれPython(超初心者用) その17
http://peace.2ch.net/test/read.cgi/tech/1365323116/937-938
0220デフォルトの名無しさん
2014/08/27(水) 21:11:58.77ID:F5daRA4Vちょっとよくわかりません
0221デフォルトの名無しさん
2014/08/27(水) 21:17:34.91ID:lz8X5B5xBonnie and Clyde
みたいな感じじゃね?
0222デフォルトの名無しさん
2014/08/27(水) 21:29:34.59ID:W7LoG7Miなるほど、良く分かりました!ありがとうございます。
ちなみにこのコードは、codecademyのレッスン中にでてきます。
0223デフォルトの名無しさん
2014/08/27(水) 21:45:04.28ID:l9xcBY8Fandの左にある式がFalseと評価できるなら左の式を返す、逆にTrueと評価できるならandの右にある式を返す
>>> [] and True
[]
>>> 1.0 - 1.0 and 3.14
0.0
>>> -1 and 2
2
>>> 'hello' and 'world'
'world'
0224デフォルトの名無しさん
2014/08/28(木) 02:33:42.69ID:8lkzYc520225デフォルトの名無しさん
2014/08/28(木) 06:43:05.78ID:3Gu0DZv8うーん、これは初心者には難解だなあ
ifで条件つなぎに使うやつと毛色が違うよね
でもこれを使うと、ラムダ式などifを使えない場所に
条件分岐を仕込めそうな感じがするので、学ぶ価値はありそうなんだよな
0226デフォルトの名無しさん
2014/08/28(木) 06:55:05.71ID:DXb3g9Xw毛色が違う・・・?
>でもこれを使うと、ラムダ式などifを使えない場所に
三項演算子はステートメントじゃなくて演算子だから使える
0227デフォルトの名無しさん
2014/08/28(木) 07:19:23.35ID:3Gu0DZv8ifの条件式に使うandとこのandは働きが違う感じがしません?
どこがどうとは言えないのだけど
0228デフォルトの名無しさん
2014/08/28(木) 07:36:36.16ID:NvaMglSs論理演算子はどこで使おうが短絡演算で評価対象を返すよ
この特性は三項演算子っぽく使えなくも無いが、それとしては不完全なので
返す値をちょっとだけ変えたいくらいの時には便利
if用の論理演算子なんてものはない、論理演算子があり、if文があり、それらが連携してry
0229デフォルトの名無しさん
2014/08/28(木) 08:25:08.74ID:C6oDC4Qo0230デフォルトの名無しさん
2014/08/28(木) 12:38:56.86ID:NYfr88eaif文やwhile文などの条件部分はbool型の値じゃなくてもエラーにならない
False、None、数値のゼロ、空のシーケンス(文字列やリスト)などが偽と見なされる
>>> if [] and True: print(1)
は[] and Trueのブール演算で返った[]が偽と見なされるのでprint(1)は実行されない
0231デフォルトの名無しさん
2014/08/28(木) 18:43:17.03ID:+ATeOtQuifの条件式と全く同じ。
ただ、条件式以外でandやorを使うのは、Pythonに三項演算が無かった頃のテクニックで
今そんなの使うのはCode Golfするときくらいだな。
0232デフォルトの名無しさん
2014/08/28(木) 19:10:09.62ID:u3Kwqg++みたいなのはよく使うけどなあ
0233デフォルトの名無しさん
2014/08/28(木) 19:54:13.35ID:n/glzhXg0234デフォルトの名無しさん
2014/08/28(木) 20:11:27.58ID:u3Kwqg++if a:
x = a
elif b:
x = b
elif c:
x = c
elif d:
x = d
else:
x = default_value
0235デフォルトの名無しさん
2014/08/28(木) 20:18:39.82ID:1NG60ApY三項演算も長くなるとキモいし一長一短。
0236デフォルトの名無しさん
2014/08/28(木) 20:20:45.90ID:TSExhEQpm = re.findall(pattern, s)
m = m and m[0]
if で2行にわたって書くとか無駄でイヤ。
0237デフォルトの名無しさん
2014/08/28(木) 21:24:11.38ID:CCJAHAKHdef __init__(self, a=None):
self.a = a or {}
0238デフォルトの名無しさん
2014/08/29(金) 01:58:45.79ID:idGYnHkNコードによるけど、結局mにちゃんと値が入ってるかどうかのif的処理が必要になるんじゃないかね。
>>237
> def __init__(self, a=None):
> self.a = a or {}
こんなクソコードを2chで晒してんじゃねえ。
クソだってわからないんだとしたら、そんなおまえがクソです。
0239デフォルトの名無しさん
2014/08/29(金) 02:45:03.76ID:SC5ypxkr>>237は何度か見たことある書き方だけど問題があるのなら具体的に指摘してくれ。
0240デフォルトの名無しさん
2014/08/29(金) 05:17:47.45ID:C06ZUAqIself.a = a
とか書くと意味が変わるんだよな
インスタンス生成のタイミングが一回になるから云々
0241デフォルトの名無しさん
2014/08/29(金) 06:19:30.41ID:EluQu91Ka が None のとき {} にするつもりで記述したかもしれないけど
a に 0 [ ] '' false などを指定した場合も self.a = {} になってしまうから
思わぬバグを生む原因になったりするかもしれない
そのクラスの使用者側からすると、確実に 0 を指定したのになぜか思い通りに動いてくれない・・・みたいなバグ
計算結果や返値の型が明確なものに使うのはいいけど
引数のように何が渡されるか分からないものには慎重に使うべきなんだと思う
0242デフォルトの名無しさん
2014/08/29(金) 09:07:46.34ID:H83Cnhn6偽になる値を有効なものとして受け取るなら>>237はバグだけど、例えばdictを期待してるなら問題ないよね
>引数のように何が渡されるか分からないものには慎重に使うべきなんだと思う
これが違和感ある
引数にも何か期待してる型があるのでは
それを無視してバグるのは使用者の責任だと思う
偽になる値を受け取るときは「a = {} if a is None else a」と書く必要があるけど、
dictを期待してるときは「a = a or {}」と書けて便利だねってことでしょうよ
0243デフォルトの名無しさん
2014/08/29(金) 09:17:43.83ID:QcgTGGrU0244デフォルトの名無しさん
2014/08/29(金) 09:27:48.96ID:tA6eYT/j0245デフォルトの名無しさん
2014/08/29(金) 09:29:02.29ID:tA6eYT/j0246デフォルトの名無しさん
2014/08/29(金) 11:23:22.37ID:mu02bUZXdef __init__(self, a={}):
self.a = a
あと、引数に期待するtypeがある時に、
有効な初期値があるならその値で良いし、
そうでないなら、期待するtypeの偽を初期値にして欲しい。
def __init__(self, d={}, L=[], n=0, flt=0.0, st=set(), tup=()):
pass
これなら、grepで__init__を検索すれば、
dはdict, Lはlist, nは整数, fltは少数, stはsetを期待しているって明瞭でしょう?
0247デフォルトの名無しさん
2014/08/29(金) 16:15:28.98ID:VYyiJktzhttp://ideone.com/FJthAF
こういう事になるからその書き方はあまりおすすめできないが
0248デフォルトの名無しさん
2014/08/29(金) 18:14:53.18ID:6XulYCBthttp://postd.cc/the-key-differences-between-python-2-7-x-and-python-3-x-with-examples/
0249デフォルトの名無しさん
2014/08/29(金) 18:40:46.68ID:uMORzI9cあと2年待て
0250デフォルトの名無しさん
2014/08/29(金) 18:47:25.87ID:caa7zuwv0251デフォルトの名無しさん
2014/08/29(金) 20:04:08.50ID:EluQu91K中途半端に動作してしまうと何所に原因があるのか見つけづらい場合もあるし
コメントに注意書きするよりチェック処理の方が簡潔かもしれないね
def __init__(self, a=None):
assert isinstance(a, (dict, type(None)))
self.a = a or {}
0252デフォルトの名無しさん
2014/08/29(金) 20:16:41.71ID:/xquer/hインストーラ用意されてても駄目なのか・・
https://www.python.org/downloads/release/python-341/
0253デフォルトの名無しさん
2014/08/29(金) 21:12:43.50ID:QcgTGGrU0254デフォルトの名無しさん
2014/08/29(金) 23:47:41.71ID:mu02bUZXy.a と x.a が共通になるとは思いませんでした。
勉強になりました。
という事で、こんな風にしておくのが無難ですか?
class Hoge(object):
def __init__(self, a={}):
self.a = a or {}
if __name__ == "__main__":
x = Hoge()
y = Hoge()
x.a[0] = 1
y.a[1] = 2
print(y.a)
0255デフォルトの名無しさん
2014/08/29(金) 23:49:30.39ID:NQcdY+S70256デフォルトの名無しさん
2014/08/30(土) 02:08:22.27ID:9i4rki/qそれを変更するようなコードを書いてるとそのオブジェクトの挙動は保証しないのでやらないの推奨
みたいなのドキュメントで読んだ記憶があるけどどこだったかなあそれ。
ていうか実装の統一が利用者から見た挙動の統一より優先されてるのがちょっと気に入らないね。
0257デフォルトの名無しさん
2014/08/30(土) 05:03:58.06ID:EIzseELqだめ
x = Hoge()
x.a[0] = 1
y = Hoge()
y.a[1] = 2
結局x.aとy.aが共通になってる
0258デフォルトの名無しさん
2014/08/30(土) 05:14:29.53ID:86Qko6ZXprivateが付いていない変数は恐くて使えない
0259デフォルトの名無しさん
2014/08/30(土) 05:38:48.39ID:uyO2lJ7J0260デフォルトの名無しさん
2014/08/30(土) 07:15:21.91ID:KLyDeToE???
$ python3 --version
}Python 3.4.0
以下の実行結果でしたが。
{1: 2}
0261デフォルトの名無しさん
2014/08/30(土) 07:38:12.17ID:ja3NQGax0262デフォルトの名無しさん
2014/08/30(土) 08:02:41.96ID:uyO2lJ7J>>254で重要だと思う点は仮引数aのデフォルト値{}はself.aに全く代入されないということだ
辞書としての役目を果すことがないデフォルト{}に不条理を感じて眠れない夜を明かした
0263デフォルトの名無しさん
2014/08/30(土) 09:17:06.38ID:mREiC7TAちがうんよ
デフォルト引数は一度しか評価されない
つまりメソッド呼び出し時に毎回評価されるわけじゃないので
デフォルト引数にミュータブルなオブジェクトを指定すると惨いことになる
Python の有名な落とし穴で >>240 が指摘してること
0264デフォルトの名無しさん
2014/08/30(土) 16:22:49.56ID:CNskXuGO0265デフォルトの名無しさん
2014/08/30(土) 16:28:06.56ID:KdcOI92sFAQ のデザインと歴史
これは意図された実装で、(C言語で言う) static 変数的な領域を確保するのに便利な側面もあります。
デフォルト引数が一度しか評価されない、という仕様も使い処があって
例えば、定数は、ローカル変数宣言代わりにデフォルト引数に書いておくと、
呼び出し毎に毎回変数へ代入される処理は省略される。
また、こうすることで関数の結合度が弱まり、単体テストが書きやすくなるといった利点もあります。
辞書やタプルの初期化はこんな方法も有
class Hoge:
def __init__(self, **kwargs):
self.a = kwargs
0266デフォルトの名無しさん
2014/08/30(土) 17:08:03.32ID:KdcOI92s用途次第だと思うけど。標準ライブラリ内でも幾つか利用されてます。キャッシュ的な用途で。
但し、歴史的な理由でもあるので(旧バージョンの互換/資産活用等)
新しいコードで積極的に使う理由は特に無く、(書捨てのコードで手短に済ませたい場合、位)
可能ならデコレータやクロージャにする等、別の方法を検討します。
ちなみに、デフォルト引数でのミュータブルなオブジェクトを、
使うなと書いてるのは、google の coding スタイルガイド
0267デフォルトの名無しさん
2014/08/30(土) 20:25:41.58ID:KLyDeToE>>240を最初は知りませんでしたが、理解できましたので、
>>254で or の後に 「{}」 を書いたのですが。
class Hoge(object):
def __init__(self, a={}):
d = {}
print("default id(a) =", id(a))
print(" new id(d) =", id(d))
print()
self.a = a or d
if __name__ == "__main__":
x = Hoge()
x.a[0] = 1
y = Hoge()
y.a[1] = 2
print(y.a)
実行結果は以下の通りで、
id(a) の値は上下で毎回一致しますが、
id(d) の値は上下で毎回違いますから、
思った通りの結果を得ています。
default id(a) = 140676218322168
new id(d) = 140676218321664
default id(a) = 140676218322168
new id(d) = 140676192340088
{1: 2}
0268デフォルトの名無しさん
2014/08/30(土) 21:45:07.57ID:O1vhFAMeそうゆう書き方だと__init__に{}を渡した場合インスタンスが入れ替わってしまうので注意してね
使い所を誤るとバグの原因になってしまう
x = {}
h = Hoge(x)
print(h.a is x) #False
0269デフォルトの名無しさん
2014/08/31(日) 01:16:31.29ID:4zKdmr70> 例えば、定数は、ローカル変数宣言代わりにデフォルト引数に書いておくと、
> 呼び出し毎に毎回変数へ代入される処理は省略される。
それはわかるけど、そのせいで
> この種のバグがよく初心者プログラマに噛み付きます。
みたいな状況になるのとどっちが大事なのかなあ、って思ったりします。
> また、こうすることで関数の結合度が弱まり、単体テストが書きやすくなるといった利点もあります。
ごめんなさい、私のようなあくまでプライベートでPython使ってるだけの人間にはその意味がよくわからないです。
単なる揚げ足取りで実際にはないケースかもかもしれないけれど、
>>237 にしても、
0270269
2014/08/31(日) 01:23:25.79ID:4zKdmr70単なる揚げ足取りで実際にはないケースかもかもしれないけれど、
>>237 にしても、
>>> class Test:
... def __init__(self,a):
... self.a = a or []
>>> L = ['a']
>>> x = Test(a=L)
>>> y = Test(a=L)
>>> x.a
['a']
>>> y.a
['a']
>>> x.a.append('c')
>>> x.a
['a', 'c']
>>> y.a
['a', 'c']
ってなっちゃうよね。
0271デフォルトの名無しさん
2014/08/31(日) 06:26:37.35ID:g3F9HZkc0272デフォルトの名無しさん
2014/08/31(日) 07:03:06.70ID:4Dleen0Xそこまで言うなら
>>> class TestA:
... def __init__(self,a):
... self.a = a or []
>>> L = ['a']
>>> x = TestA(a=copy.deepcopy(L))
>>> y = TestA(a=copy.deepcopy(L))
↑
比べてみ
↓
>>> class TestB:
... def __init__(self,a=copy.deepcopy(['a'])):
... self.a = a
>>> x = TestB()
>>> y = TestB()
0273デフォルトの名無しさん
2014/08/31(日) 08:11:42.11ID:B6N6ow9m> print(h.a is x) #False
これは予想外でした。勉強になりました。
でも、or {} ってやってますから当然と言えば当然なんですよね。。。
>>272
どのような考えかは分かりませんが、
TestA x と Text B y が一致しますから、例として不適切ではないでしょうか?
おそらく、予想外の結果では?
GCがイタズラしているのでしょうか?
TestA x = <__main__.TestA object at 0x7fa6562052d0>
TestA y = <__main__.TestA object at 0x7fa656205310>
TestB x = <__main__.TestB object at 0x7fa656205790>
TestB y = <__main__.TestB object at 0x7fa6562052d0>
L = ['a']
x = TestA(a=copy.deepcopy(L))
y = TestA(a=copy.deepcopy(L))
print("TestA x =", x)
print("TestA y =", y)
print()
x = TestB()
y = TestB()
print("TestB x =", x)
print("TestB y =", y)
0274デフォルトの名無しさん
2014/08/31(日) 08:21:30.62ID:rw/ZY9R10275デフォルトの名無しさん
2014/08/31(日) 09:18:29.34ID:fQnSs+yg馬鹿の一つ覚え
0276デフォルトの名無しさん
2014/08/31(日) 10:26:37.86ID:k/gc3SDATestAのxとTestBのyのidが一致するのはGCによるもの
でもこれは主題じゃなくて、>>272が言ってるのはTestA、TestBの各x、yのaについてだろ
0277デフォルトの名無しさん
2014/08/31(日) 12:13:50.17ID:kY+m/tLdL = ['a']
x = TestA(a=copy.deepcopy(L))
y = TestA(a=copy.deepcopy(L))
z = TestB()
w = TestB()
0278デフォルトの名無しさん
2014/08/31(日) 22:53:55.21ID:B6N6ow9mこんなもんでどうでしょう?
import copy
class TestA:
def __init__(self,a):
self.a = a or []
class TestB:
def __init__(self,a=copy.deepcopy(['a'])):
self.a = a
L = ['a']
x = TestA(a=copy.deepcopy(L))
y = TestA(a=copy.deepcopy(L))
y.a.append("y.a")
print("TestA x =", x)
print("TestA x.a =", x.a)
print("TestA y =", y)
print("TestA y.a =", y.a)
print()
z = TestB()
w = TestB()
w.a.append("w.a")
print("TestB z =", z)
print("TestB z.a =", z.a) # !
print("TestB w =", w)
print("TestB w.a =", w.a) # !
print()
0279デフォルトの名無しさん
2014/09/01(月) 01:17:47.31ID:0WGpUPMm0280269
2014/09/01(月) 02:35:10.29ID:k1ciVbjZimport copy してる時点である意味負けだと思うんですが。
ミュータブルなオブジェクトを引数で渡されたときは、デフォルトでオブジェクト.copy()にすれば、
利用者にとって優しいと思うんです。
スコープの保持的にも。
0281デフォルトの名無しさん
2014/09/01(月) 02:56:34.39ID:SfHA5O2Z0282デフォルトの名無しさん
2014/09/01(月) 07:44:30.11ID:Q1FYYJR2response = urllib.request.urlopen(req)
として得たレスポンスから
html = response.read()
とやると、同じ関数内では正常に取得できるのですが、
nanotka(response)
とレスポンスを他の関数に渡してその先でread()しようとすると中身が空になってしまいます。
渡した先でBeautifulSoup4に読ませようとしても同様です。
どうやればresponse自体を他の関数に渡せるでしょうか?
0283デフォルトの名無しさん
2014/09/01(月) 07:50:36.93ID:zQucGkuf0284デフォルトの名無しさん
2014/09/01(月) 08:00:54.27ID:YudmxTbc0285デフォルトの名無しさん
2014/09/01(月) 09:55:46.60ID:tsV5zXYjhtml を渡すようにしようよ。
って思いますが。
最初に読んだ人勝ちになるのがread()
read()呼び出しが二回目以降の人は空を読み込むの。
なので、fseek()とかでfpを先頭に戻しておくと、
>>282の要望を満たせるんだろうけど、
fpを先頭に戻す方法はお勧めしない。
やっぱり、html自体を渡すようにしようよ。
でも改造したいんなら、
class Foo(keisho):
def read(self):
if not self.text:
su = super(Foo, self)
self.text = su.read()
return self.text
とか改造すると良いよ。
0286デフォルトの名無しさん
2014/09/01(月) 10:27:46.48ID:srwG2aQMresponse.seek(0)
してから渡せば良くね?
0287デフォルトの名無しさん
2014/09/01(月) 10:33:59.51ID:B+PXzyfJふつうやらないけど
0288デフォルトの名無しさん
2014/09/01(月) 10:36:08.89ID:IJ3Nr0Wtとりあえず標準のurllib使ってみただけなので調べて比較検討してみます。
>>285
ああー元関数で既にreadしてるからなのか…ファイル読み込みと同じ感じなんですね。
渡した先でヘッダーとhtml両方使うのでresponseごと渡したかったのですが
うまくないやり方のようなので仰るとおりにhtmlはhtmlで渡すことにします。
どうもありがとうございました。
0289デフォルトの名無しさん
2014/09/02(火) 00:02:55.31ID:xFjNzjITこの場合はdjangoのライセンスに従えば勝手に翻訳しても大丈夫?
0290デフォルトの名無しさん
2014/09/02(火) 00:04:24.39ID:AEXaLIIW2万もとるとか学生からも5000円とるとかボリすぎ
pythonってオープンソースだよね
0291デフォルトの名無しさん
2014/09/02(火) 00:14:26.30ID:HaUEKjfAもちろん
0292デフォルトの名無しさん
2014/09/02(火) 00:28:16.07ID:rj4rVkNcactive_journal.undo()した時に_関数が呼ばれてundoを呼び出してますよね、
このクラス変数いつの間にlambda:print('Bye')が束縛されたんでしょうか
実引数ではないですよね?
0293デフォルトの名無しさん
2014/09/02(火) 00:46:44.21ID:YYDqev7Yフォルダパスをリストとして読み込み、forでフォルダ個数分、
shutil.copytree(src, dst)
としたのですが、SL4AでOperation not permittedとなります。
リスト1個目のフォルダコピー後に上記エラーで中断され、それ以降の処理がされません。
PCで試した時点ではエラーはありませんでした。
コピー元フォルダはシステムフォルダなどではなく、パーミッションはコピー元・先両方rwxrwxr-xとなっています。
どなたか、解決策をご教示頂けますか?
0294デフォルトの名無しさん
2014/09/02(火) 01:55:56.14ID:zdu1Qxxiインタプリタ型言語に速度を追求するクズですか?
0295デフォルトの名無しさん
2014/09/02(火) 03:33:39.16ID:eu1sh5+C0296デフォルトの名無しさん
2014/09/02(火) 13:04:05.12ID:qb4+F2QTクラス属性(Journal.undo)・インスタンス属性(self.undo)・引数(undo)の3つがあるので混同に注意
それと
クロージャを理解してる必要がある
>>293
rwxrwxr-x で怒られるならコピー先 rwxrwxrwx でどうなる
0297デフォルトの名無しさん
2014/09/02(火) 13:06:15.08ID:qb4+F2QT○ 292
0298デフォルトの名無しさん
2014/09/02(火) 16:47:38.57ID:VDCsBZvRバーチャルホストを設定してxxx.localhost/にアクセスしたらページが見られるようにしたいんですが
pythonの場合はプロジェクト枚に例えばgunicornとかpassenjarを起動しないとだめですか?
0299デフォルトの名無しさん
2014/09/02(火) 18:58:35.42ID:eu1sh5+Cmod_pythonにvirtual host設定しとけ
ペチパーはペチパーらしくしていればいい
0300デフォルトの名無しさん
2014/09/02(火) 19:00:53.72ID:VDCsBZvRおれはnginxでやりたいんすよ
0301デフォルトの名無しさん
2014/09/02(火) 19:08:54.11ID:mt5THT+8と思いつつ全然勉強が進まない
敷居が高いわ・・・
0302デフォルトの名無しさん
2014/09/02(火) 22:30:46.56ID:2UqIo9/bmod_phpって書いたからじゃないの?
NginxならPHP-FPMとか書けばいいのに。
0303デフォルトの名無しさん
2014/09/02(火) 23:33:31.12ID:rj4rVkNcそれがやりたいんですよ
0304デフォルトの名無しさん
2014/09/03(水) 03:10:30.13ID:pl/pTCkk0305デフォルトの名無しさん
2014/09/03(水) 03:49:57.97ID:Ipv4EIPT応援してます
がんばってください
0306デフォルトの名無しさん
2014/09/03(水) 11:13:39.14ID:DmnNJKZp0307デフォルトの名無しさん
2014/09/03(水) 12:45:46.18ID:8RxcontV割と定期的にこの手の話題出るな。
金あるならPyQt、金ないけどリッチなGUI作りたいなら
wxPythonっていうのが大方の見解かと。
0308デフォルトの名無しさん
2014/09/03(水) 13:01:38.58ID:MAtMcWe1C++ で wxWidgets するときも
ほとんど抵抗なく移行作業捗る
0309デフォルトの名無しさん
2014/09/03(水) 13:06:40.87ID:DmnNJKZp0310デフォルトの名無しさん
2014/09/03(水) 13:07:17.88ID:DmnNJKZp0311デフォルトの名無しさん
2014/09/03(水) 13:20:49.22ID:O8D1iFyt0312デフォルトの名無しさん
2014/09/03(水) 14:13:41.36ID:SUoPpak60313デフォルトの名無しさん
2014/09/03(水) 15:15:45.87ID:DmnNJKZp専門版で被ったのは初めてかも知れない、ってかこんな近くで被ったことは無い気がする・・・
>>307
金はないのでwxPythonとwxGladeの組み合わせにしようかなあ
PyQtの状況がかなり良さそうですが、ライセンスが面倒そうだし
>>308
C++は少し触ったことがあるのですが、もう触りたくないですね・・・
>>311
了解、少し調べてみます
0314デフォルトの名無しさん
2014/09/03(水) 15:32:52.00ID:MAtMcWe1>>309-310
>>313
0315デフォルトの名無しさん
2014/09/03(水) 16:29:04.66ID:wQfYusgMかーちゃんとかが2ch画面開いてたら・・・Pyrhonスレに来んなって言え
0316デフォルトの名無しさん
2014/09/03(水) 18:25:23.53ID:DmnNJKZpJ( 'ー`)し「たかしへ。スタンフォード大学のサーバーへハッキングをかけ、
経済学部とMBAの学位取得者の中にたかしを紛れ込ませました。
これでたかしの履歴書も立派になると思います。
就職活動頑張ってね。」
0317デフォルトの名無しさん
2014/09/03(水) 18:27:01.27ID:7tHdUujr0318デフォルトの名無しさん
2014/09/03(水) 19:31:32.72ID:MwmGE5u2コンソールでinputとprint使えば何とでもなるでしょうに
0319デフォルトの名無しさん
2014/09/03(水) 20:07:34.43ID:8RxcontV0320デフォルトの名無しさん
2014/09/03(水) 20:17:24.51ID:ifyJjDEv0321デフォルトの名無しさん
2014/09/03(水) 20:47:42.17ID:yrbx30gAPython標準ライブラリのドキュメントだとTkを解ってる人向けなのか、何言ってるのかサッパリ分からんw
GUIだから図解で説明してくれると有り難いんだが
0322デフォルトの名無しさん
2014/09/03(水) 21:10:29.38ID:mb+i3RoN0323デフォルトの名無しさん
2014/09/03(水) 22:59:56.46ID:ziplIhf20324デフォルトの名無しさん
2014/09/03(水) 23:06:44.46ID:SUoPpak6同じ会社の奴が書き込んでる可能性があるな
0325デフォルトの名無しさん
2014/09/04(木) 11:46:06.76ID:o42KfBCOPython3に対応していなくてうああって頭抱えてる
0326デフォルトの名無しさん
2014/09/04(木) 13:50:46.00ID:MHZTueb10327デフォルトの名無しさん
2014/09/04(木) 16:02:50.83ID:h4TpAEJ2意外と・・・だぞ
0328デフォルトの名無しさん
2014/09/04(木) 19:30:09.35ID:o42KfBCOLinux版しかなかった記憶が
0329デフォルトの名無しさん
2014/09/04(木) 19:34:01.03ID:89WWur940330デフォルトの名無しさん
2014/09/04(木) 19:47:40.94ID:okNlOH27外部ライブラリを使って大きな事するわけじゃないんだろ?
GPLでもいいじゃん
ソースコードを公開したくないとかだったらインタプリタでGUIはやるな
0331デフォルトの名無しさん
2014/09/04(木) 21:31:58.28ID:14KwuRYz0332デフォルトの名無しさん
2014/09/04(木) 22:25:30.80ID:uXZedlGYダウンロード http://wxpython.org/Phoenix/snapshot-builds/
ドキュメント http://wxpython.org/Phoenix/docs/html/main.html
ファイル名にwinとあるのがWindows用で、cp33とあるのがPython3.3用
whlファイルはインストーラ使わなくても
拡張子をzipに変えて解凍し\Lib\site-packagesフォルダに入れれば動く
0333デフォルトの名無しさん
2014/09/05(金) 03:29:00.33ID:ntZcqOEBpyqtって外部ライブラリを使うと金が掛かるの?
0334デフォルトの名無しさん
2014/09/05(金) 08:54:26.18ID:vSgfL4D20335デフォルトの名無しさん
2014/09/05(金) 08:58:44.47ID:NMfZE3Cv0336デフォルトの名無しさん
2014/09/05(金) 09:16:52.85ID:SzRzlQrZ0337デフォルトの名無しさん
2014/09/05(金) 13:31:24.75ID:EqZl1vUZ知名度が無い奴が翻訳に手を出したら知名度ある奴の声で干されるよ
不満があっても縄張りは守るべき
0338デフォルトの名無しさん
2014/09/05(金) 15:09:42.85ID:B+t3kUZbPython3 ならある程度使える
0339デフォルトの名無しさん
2014/09/05(金) 16:55:34.89ID:C4S9TPhjさっそく基地外が現れたなw
0340デフォルトの名無しさん
2014/09/05(金) 17:54:52.41ID:NMfZE3Cv好きに翻訳したらいいだろ
断言するけど1月後には忘れてるよ
0341デフォルトの名無しさん
2014/09/05(金) 18:28:14.14ID:jzMG0f6n約400枚の画像のうち100枚くらいが消えてしまったんですけど、この100枚はどこに行ったんでしょうか?
0342デフォルトの名無しさん
2014/09/05(金) 18:31:31.35ID:H8H20MG/0343デフォルトの名無しさん
2014/09/05(金) 18:42:51.84ID:+gwocEcR0344デフォルトの名無しさん
2014/09/05(金) 18:47:28.69ID:/RgpSIEclinuxはとてつもなく面倒くさい
0345デフォルトの名無しさん
2014/09/05(金) 18:57:53.26ID:73PYqi2a知ってるけど、それが何か?
0346デフォルトの名無しさん
2014/09/05(金) 19:03:11.46ID:B+t3kUZb0347デフォルトの名無しさん
2014/09/05(金) 19:38:26.87ID:/RgpSIEc0348デフォルトの名無しさん
2014/09/05(金) 19:50:43.32ID:H8H20MG/0349デフォルトの名無しさん
2014/09/05(金) 20:02:23.65ID:B+t3kUZb2chに結果だけ書いてあってそれを信じるのか?
0350デフォルトの名無しさん
2014/09/05(金) 20:41:00.38ID:N3l99Mqqcsvファイルとして書き出すにはどうすればいいですか
[(1,2,3),(4,5,6),(7,8,9)]
↓
1,2,3改行
4,5,6改行
7,8,9改行
0351デフォルトの名無しさん
2014/09/05(金) 21:03:09.38ID:B+t3kUZbwriter = csv.writer(open(...))
for tup in [(1,2,3), ...]: writer.writerow(tup)
0352デフォルトの名無しさん
2014/09/05(金) 21:33:05.09ID:yYkcJRXP#1, #2 お好きな方をどうぞ。
if __name__ == "__main__":
import csv
L = [(1,2,3),(4,5,6),(7,8,9)]
path = "a.csv"
with open(path, "w") as csv_file:
csv_writer = csv.writer(csv_file)
for tup in L: # 1.
csv_writer.writerow(tup) # 1.
# or
#
# csv_writer.writerows(L) # 2.
0353デフォルトの名無しさん
2014/09/05(金) 21:37:39.84ID:uS50mHWrど素人乙。
0354デフォルトの名無しさん
2014/09/05(金) 22:37:37.05ID:BuYJkYis0355デフォルトの名無しさん
2014/09/06(土) 11:20:53.48ID:qFRbG2Z2scipy の make install がめんどくさいかどうかしらんけど。
0356デフォルトの名無しさん
2014/09/06(土) 15:43:10.65ID:NtkIEr6DPythonの標準ライブラリ限定で
http://docs.python.jp/3/library/concurrency.htmlを使わなければ大丈夫という認識でいいですか?
0357デフォルトの名無しさん
2014/09/06(土) 15:46:55.13ID:3Ci1QYt7なんでこんな環境なの?
その理由によるとしか言えない。
0358デフォルトの名無しさん
2014/09/06(土) 15:49:34.19ID:73g62t4Z0359デフォルトの名無しさん
2014/09/06(土) 15:50:45.68ID:NtkIEr6D0360デフォルトの名無しさん
2014/09/06(土) 16:01:39.42ID:73g62t4Zもう少し「マルチスレッド」が正確に定義されてないわけ?
0361デフォルトの名無しさん
2014/09/06(土) 16:05:03.14ID:NtkIEr6Dhttp://e-words.jp/w/E3839EE383ABE38381E382B9E383ACE38383E38389.html
質問締めます
0362デフォルトの名無しさん
2014/09/06(土) 16:05:44.35ID:NtkIEr6D0363デフォルトの名無しさん
2014/09/06(土) 16:06:10.15ID:73g62t4Zてめえの首締めろ
0364デフォルトの名無しさん
2014/09/06(土) 16:39:05.17ID:ewJ1qW7A0365デフォルトの名無しさん
2014/09/06(土) 16:44:17.65ID:ChfT6Oe00366デフォルトの名無しさん
2014/09/06(土) 16:51:19.96ID:Ya/Sb4GC0367デフォルトの名無しさん
2014/09/06(土) 19:57:34.69ID:+c/XgZRA0368デフォルトの名無しさん
2014/09/06(土) 21:20:09.98ID:aSqZC9W5マリーアントワネット乙
0369デフォルトの名無しさん
2014/09/06(土) 22:08:31.22ID:s8SMoxGr0370デフォルトの名無しさん
2014/09/06(土) 22:31:16.99ID:Xltmdnlr出来ましたサンクスです
タプルの各要素を文字列に変換してカンマでつないで改行を付けて…と
やるのは大変だなあと思っていたので助かりました
0371デフォルトの名無しさん
2014/09/07(日) 04:31:27.38ID:qQBINkdt別に大変でもないだろう
for tup in [(1,2,3),(4,5,6),(7,8,9)]: print ",".join(map(str, tup))
0372デフォルトの名無しさん
2014/09/07(日) 08:30:55.48ID:eY6muIbX0373デフォルトの名無しさん
2014/09/07(日) 08:44:35.48ID:pkIO4dh20374デフォルトの名無しさん
2014/09/07(日) 08:54:56.12ID:aeHwCaJX0375デフォルトの名無しさん
2014/09/07(日) 10:02:43.05ID:SXktbayV0376デフォルトの名無しさん
2014/09/07(日) 11:32:55.03ID:rexNlDPnmycode.alert()って書いたら
mycode.pyを読み込んでmycode.pyで定義したalert()を呼び出すことを自動でやりたいんですが
オートローダっていうのはpythonでやってるのほぼ見かけません
pythonではオートローダはやらないものですか?
0377デフォルトの名無しさん
2014/09/07(日) 12:53:49.04ID:7c+Hv3u7>やらないものですか? -> 見たことあるのにやらないと思うのはなぜ?
0378デフォルトの名無しさん
2014/09/07(日) 13:33:39.11ID:rexNlDPnバカ回答者は引っ込んどけよ
0379デフォルトの名無しさん
2014/09/07(日) 13:55:48.46ID:v5LNVtzhでもPythonの世界でトリッキーなコードはイカンでしょ
import thisしてみよう
0380デフォルトの名無しさん
2014/09/07(日) 14:22:18.08ID:MFWv1auYプログラミング歴は長いけどオートローダという仕組み自体初めて聞いた
調べてみたらPHPの機能のようだが…(PHPは一度も触ったことがないから知らない)
http://php.net/manual/ja/language.oop5.autoload.php
IDEを使えばimportは自動で補完されてそのモジュールの情報が入力候補に反映されるようになる
オートローダは実行時にモジュールを指定するからIDEの入力支援が得られない
ゆえにPythonに限らずオートローダとやらを使いたがる人はメモ帳で開発してる人など少数派ではないかな
0381デフォルトの名無しさん
2014/09/07(日) 14:34:15.31ID:wcTCVDdd[見たことあること==やるべきではないこと]
0382デフォルトの名無しさん
2014/09/07(日) 15:23:05.69ID:tMQWCYQT0383デフォルトの名無しさん
2014/09/07(日) 15:27:25.45ID:eUMfgX6tおまえの趣味なら普通に引くから止めた方がいいぞ
0384デフォルトの名無しさん
2014/09/07(日) 15:42:08.05ID:qGzfz7wCBasic の
On Error Resume Next
に通じるものがあるな
0385デフォルトの名無しさん
2014/09/07(日) 18:39:24.77ID:LouszFLzしかしバカ回答者とか過激ね
0386デフォルトの名無しさん
2014/09/07(日) 18:45:28.34ID:eUMfgX6t0387デフォルトの名無しさん
2014/09/07(日) 21:01:43.28ID:8sSyeZUl0388デフォルトの名無しさん
2014/09/08(月) 00:04:05.59ID:MQoHZ59lPerlとRubyのautoloadは遅延読み込みの機能でPHPの未定義モジュール自動読み込み機能とは別じゃね?
0389デフォルトの名無しさん
2014/09/08(月) 01:59:20.03ID:295S7C6Iこれからの人用に書いときますん。
pip install -U --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix
検索で調べた結果のやつはwxPython_PhoenixじゃなくてwxPython-Phoenixになってるので
コピペ実行するとエラーでインストールできなかったんで。
ところで、3.4.1が扱えるおすすめのエディタ教えてください。
pyscripterが使えないようなのでPyCharm使ってるんですが、
他におすすめがあれば是非
0390デフォルトの名無しさん
2014/09/08(月) 02:07:51.88ID:jLwgo0pq0391デフォルトの名無しさん
2014/09/08(月) 02:22:17.72ID:qdDflaMT0392デフォルトの名無しさん
2014/09/08(月) 03:02:16.77ID:tbHi8RxM0393デフォルトの名無しさん
2014/09/08(月) 03:46:00.76ID:f5Blo0Jc0394デフォルトの名無しさん
2014/09/08(月) 06:15:54.66ID:B3WRwJbR0395デフォルトの名無しさん
2014/09/08(月) 16:18:32.22ID:7mMD4zWsリストの中から、アンダーバー2個+数字3桁〜4桁 を検索して、個数をカウントしたいんですがどうかけばいいでしょうか?
["ehwhuuw__7621xbu","ehuuw__762","ew__7629ewbu","e3uw__7621w"]
__7621 ...2個
__762 ...1個
_7629...1個
0396デフォルトの名無しさん
2014/09/08(月) 16:23:35.33ID:dO+Fd23es=["ehwhuuw__7621xbu","ehuuw__762","ew__7629ewbu","e3uw__7621w"]
re.findall('_\d', ''.join(s))
print(len(s))
0397デフォルトの名無しさん
2014/09/08(月) 17:32:55.85ID:7mMD4zWsありがとう兄貴
0398デフォルトの名無しさん
2014/09/08(月) 17:38:36.41ID:jHIpD0hcfrom collections import defaultdict
L = ["ehwhuuw__7621xbu","ehuuw__762","ew__7629ewbu","e3uw__7621w"]
d = defaultdict(int)
for s in re.findall(r"__\d{3,4}", "\n".join(L)):
d[s] += 1
for k, v in d.items():
print("{} ...{}個".format(k, v))
0399デフォルトの名無しさん
2014/09/08(月) 19:12:15.84ID:2hDWn5Kx以下のコードを書いたんですが
変数 i が何にも使われないのでもったいなく思います
iを使わないで4回ランダム値を作る方法はありますか
import random
r4 = tuple(random.randint(0, 9) for i in range(4))
0400デフォルトの名無しさん
2014/09/08(月) 19:26:07.70ID:jHIpD0hc0401デフォルトの名無しさん
2014/09/08(月) 19:26:57.42ID:JJm3d9pE絶対書くと思ったw
思い留まってよかった
0402デフォルトの名無しさん
2014/09/08(月) 19:50:09.43ID:PbRMq4gS0403デフォルトの名無しさん
2014/09/08(月) 22:10:17.54ID:05qoBtOF0404デフォルトの名無しさん
2014/09/08(月) 22:12:30.02ID:05qoBtOF0405デフォルトの名無しさん
2014/09/08(月) 23:24:33.62ID:2hDWn5Kx自分でもitertoolsのドキュメントを見て何とか作ったんですが
すごく見づらくて、変数を一つなくすために敢えてこれを採用する
理由はないと思った
>>399の方がマシに見える
import random, itertools
r4 = tuple(itertools.starmap(random.randint, itertools.repeat((0, 9), 4)))
0406デフォルトの名無しさん
2014/09/08(月) 23:26:21.10ID:4KrAPuZvimport numpy as np
r4 = np.random.randint(0, 9, 4)
0407デフォルトの名無しさん
2014/09/09(火) 00:23:43.34ID:O602X3BE0408デフォルトの名無しさん
2014/09/09(火) 01:32:39.94ID:qMrOeKweもったいないから使いたくないって発想が意味分からん
ループで回す時はどの言語でもindexは使うけど
0409デフォルトの名無しさん
2014/09/09(火) 04:51:15.63ID:1Ho4xFY0lint等で未使用変数の検査に引っ掛かる事、くらいかな。
後者は、変数名を _ にする事でこの変数は使わないという意図を伝えられます。
0410デフォルトの名無しさん
2014/09/09(火) 08:29:53.02ID:SEObCJuWスコープの問題は2.xでも無いと思う
0411デフォルトの名無しさん
2014/09/09(火) 21:49:36.95ID:QKhHrQUhこんな感じでコマンドラインからコードを渡して実行する方法を教えてください
0412デフォルトの名無しさん
2014/09/09(火) 21:50:25.81ID:QKhHrQUhpython 引数 "コード"
で実行できるのがやりたいんです
0413デフォルトの名無しさん
2014/09/09(火) 21:51:02.84ID:1Ho4xFY0-c
0414デフォルトの名無しさん
2014/09/09(火) 21:54:55.57ID:QKhHrQUhありがとうございます。
0415デフォルトの名無しさん
2014/09/10(水) 18:36:38.61ID:/KH51cxp\ ヽ / /
‐、、 殺 伐 と し た ス レ に 鳥 取 県 が ! ! _,,−''
`−、、 __/\ _,,−''
`−、、 _| `〜┐ _,,−''
_ノ ∫
_,.〜’ /
───────‐ ,「~ ノ ───────‐
,/ ` ̄7
| 島 根 県 /
_,,−' ~`⌒^7 / `−、、
_,,−'' 丿 \, `−、、
,'´\ / _7 /`⌒ーへ_,._⊃ /`i
! \ _,,-┐ \ _,.,ノ r‐-、、 / !
゙、 `ー--<´ / L. ,〜’ ゙、 >−一'′ ,'
y' U `ヽ/ / ヽ ヽ '´ U イ
____
/ __ | \____\
___/__ / ̄ ____|____ \ \____\
//ヽ /___ /|\ \ \____\
/ / ヽ / /__ / | \ \_______
/ / / / / / | \ | \
/ / / / _/ __/ | \__ | \  ̄―_
0416デフォルトの名無しさん
2014/09/10(水) 18:59:05.86ID:hXO3q56q0417デフォルトの名無しさん
2014/09/10(水) 23:53:54.94ID:hgFKfnelb = [1, 2, 3]
c = list(set(a) - set(b))
print(c)
d = list(set(b) - set(a))
print(d)
aとbから重複しない値のみ取得したいんですがこうやって引き算すると順番が違うだけで結果が変わってきます
ここでは重複してない値は3なので[3]の結果が欲しいんですが良い方法を教えてください
0418デフォルトの名無しさん
2014/09/11(木) 00:02:19.06ID:+cqss+B20419デフォルトの名無しさん
2014/09/11(木) 00:07:58.68ID:NkzLw49L0420デフォルトの名無しさん
2014/09/11(木) 00:20:59.39ID:SkcYUdPe覚えましたありがとうございます
0421デフォルトの名無しさん
2014/09/11(木) 08:06:46.97ID:2Pzpu/rd>>> Lb = [1, 2, 3]
>>> sta = set(La)
>>> stb = set(Lb)
>>> sta ^ stb
{3, 4}
>>> sta - (sta & stb)
{4}
>>> stb - (sta & stb)
{3}
0422デフォルトの名無しさん
2014/09/11(木) 08:45:20.82ID:BpRRpzGv>>> Lb = [1, 2, 3]
>>> sta = set(La)
>>> stb = set(Lb)
>>> sta = sta ^ stb
>>> stb = sta ^ stb
>>> sta = sta ^ stb
>>> sta
{1, 2, 3}
>>> stb
{1, 2, 4}
0423デフォルトの名無しさん
2014/09/11(木) 16:36:14.20ID:fJPG+Epr1 or 0 # 1
-1 or 1 # 1
帰ってくる値がboolじゃなくて大きい値が返ってくるのは何故ですか?
そして
-1 or 0 # -1
これが0にならないのは何故ですか?0のほうが-1より大きいのに何故ですか?
0424デフォルトの名無しさん
2014/09/11(木) 16:40:22.95ID:SNUYrGFx1
>>> 1 or -1
1
>>> -1 or 1
-1
>>> -1 or 0
-1
>>> 0 or -1
-1
0425デフォルトの名無しさん
2014/09/11(木) 16:59:20.81ID:fJPG+Eprnot not -1 # True
なのに
True == not not -1
て書くとシンタックスエラーになるのはどうしてですか?
True == (not not -1)書かないといけなのですか?
0426デフォルトの名無しさん
2014/09/11(木) 17:12:36.46ID:FGYKtmPMhttp://docs.python.jp/3.3/reference/expressions.html#boolean-operations
>>425
http://docs.python.jp/3.3/reference/expressions.html#operator-precedence
言語仕様くらい読めよ
0427デフォルトの名無しさん
2014/09/11(木) 18:25:04.21ID:zsr7lN4zブラウザからtest.cgiに次のパラメータをセットします
http://xxx.xx.xx/test.cgi?ADR=****
(****の部分は住所文字列をEUC-JPでURLエンコードしたもの)
test.cgiで、****を取り出したいです。
(その後別のURL
http://aaaa.aa.aa/hoge.cgi?ADR=****&amp;HOGE=〜
のようなものを作りたいです。)
test.cgiは今こんな感じです。
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import cgi
import os
if 'QUERY_STRING' in os.environ:
query = cgi.parse_qs(os.environ['QUERY_STRING'])
else:
query = {}
if query.has_key('ADR'):
#
# ここらへん
#
else:
qstring = "%c5%ec%b5%fe%c5%d4%c0%e9%c2%e5%c5%c4%b6%e8%b4%dd%a4%ce%c6%e2%b0%ec%c3%fa%cc%dc"
#上は「東京都千代田区丸の内一丁目」をeuc-jpでエンコードしたもの
「ここらへん」のところをどのように書けばいいでしょうか?
バージョンは2.7です。
0428デフォルトの名無しさん
2014/09/11(木) 18:27:17.36ID:SNUYrGFx0429デフォルトの名無しさん
2014/09/11(木) 19:00:53.66ID:IKu3TPqx0430デフォルトの名無しさん
2014/09/11(木) 19:28:49.11ID:/zpmHeuBPyMouseというモジュールがどこにもない
win-64bitです
0431デフォルトの名無しさん
2014/09/11(木) 19:31:48.33ID:NzeRUD4Z説明読んだの?
0432デフォルトの名無しさん
2014/09/12(金) 19:52:51.46ID:PX2u49pTlist1 == []
list1 == None
どれもTrueになるけどどれが一番いい?
0433デフォルトの名無しさん
2014/09/12(金) 19:55:12.96ID:ndpp7y5uprint("list1は空です。")
0434デフォルトの名無しさん
2014/09/12(金) 19:56:05.39ID:ndpp7y5uこっちが正解
if not list1:
print("list1は空です。")
0435デフォルトの名無しさん
2014/09/12(金) 20:04:52.80ID:ylwL1QX/0436デフォルトの名無しさん
2014/09/12(金) 20:20:00.55ID:r3UiEGpMis Noneでも、== Noneでもエラーにならないのでバグの元
「if not オブジェクト名」の形式って、慣れないと違和感ありまくりだし
オブジェクト名のあとに何か比較演算子を書き忘れたケースと区別が付かない
Rubyには オブジェクト名.Empty?という形式の、空かどうかを調べるための
専用メソッドがあるらしい
文字列やリストが空であることを調べる処理は、実践でよく出てくるので
こっちのアプローチの方がいいよね
0437デフォルトの名無しさん
2014/09/12(金) 20:22:47.52ID:yP3LRu33>>436 個人的にはあんまりメソッドが肥大化するのもなぁ…という気もちょっとするぜ
0438デフォルトの名無しさん
2014/09/12(金) 20:32:52.43ID:nceQ+kAP0439デフォルトの名無しさん
2014/09/12(金) 20:50:38.60ID:6/MBgQha>>432
>>437もいってるけど、
「リストが空」の意味が「要素が一つもないリストオブジェクト [] 」なら、
list1 == []
は True
list1 == None
は False
if 文でつかうなら>>434
それがリストであり、かつ空かどうかまで調べたい(っていう用途があるのかどうかしらんけど)なら、
list1 == []
0440デフォルトの名無しさん
2014/09/12(金) 21:32:59.99ID:0egAJuXf型を気にしないのは慣れの問題だと思うけど、習得時のつまづき発生ポイントの一つだった
細かく調べなくても大丈夫だよ楽しようぜ、という型に対する姿勢をPythonから感じている
0441デフォルトの名無しさん
2014/09/12(金) 21:49:59.15ID:42d4Lifzprint([] == list1) # True by Python 3.4
0442デフォルトの名無しさん
2014/09/12(金) 22:18:13.02ID:w7Q0XV7Q==Noneと、is Noneの違いでバグは起こり得ないよ
意味は同じだけど、「シングルトンだから」とか「早いから」とかでisが推奨されてるだけだと思ってる
>オブジェクト名のあとに何か比較演算子を書き忘れたケースと区別が付かない
そういうときはnotの優先順位の低さ的にnot (number == 42)のようにかっこをつけることになる
だから書き忘れと区別がつかないことはないよ
0443デフォルトの名無しさん
2014/09/12(金) 22:57:04.97ID:ey3J6Nj00444デフォルトの名無しさん
2014/09/13(土) 01:07:17.12ID:orQ+g9GD0445デフォルトの名無しさん
2014/09/13(土) 06:24:29.70ID:wsjksV8g他の可能性もあるならそこらへんも考慮して他の比較する
0446デフォルトの名無しさん
2014/09/13(土) 09:55:01.17ID:MVvvLNTbnot None # True
not [] # True
not [1] # False
not 1 # False
not "1" # False
notだけで判定するのは危ないと思う
not None and len(None) > 0 # TypeError
not 1 and len(1) > 0 # False
not [1] and len([1]) > 0 # False
not 1 and len(1) > 0 # False
not "1" and len("1") > 0 # False
0447デフォルトの名無しさん
2014/09/13(土) 10:23:27.54ID:6NBWszmdlistが空かどうかの判定と、等号を組み合わせることあるの?
0448デフォルトの名無しさん
2014/09/13(土) 10:29:26.61ID:2tjB89qC0449デフォルトの名無しさん
2014/09/13(土) 10:29:36.85ID:JzuVyG0Hその例で何を示したいのかよくわからん
> not [1] and len([1]) > 0 # False
これは「[1]が空であってしかも長さが0より大きい」って意味だからlistなどでは必ずFalseになるよ
not Lで空か判定しましょうってのはGoogleスタイルガイドなどでも書かれてるから、これはもはやPythonの流儀じゃね
0450デフォルトの名無しさん
2014/09/13(土) 10:37:03.93ID:ls6jz6C9次のコードを実行すると、変数 i は外側も内側もきちんと0から9まで
回っているように見えるのはなぜでしょ
本来なら、内側のループで i が 9 に更新きされてしまうので
外側のループは1度しか実行されないと思うんですが
for i in range(10):
print('外:{}'.format(i))
for i in range(10):
print('内:{}'.format(i))
0451デフォルトの名無しさん
2014/09/13(土) 10:44:48.70ID:pJQFHgICリストであるかと、空であるかを組み合わせるなら、普通に…
if isinstance(x, list) and not x:
>>450
iの値に1が加算されるんじゃない
rangeが保持してるカウンタの値がループが回るごとにiへ代入される
0452デフォルトの名無しさん
2014/09/13(土) 11:50:05.10ID:0s9sqgks空のリストか判定する式をまとめるとこうなるか
# ブール値のコンテキストでFalseと評価される値が真
not value
# 空のシーケンスかマッピングが真
not len(value)
# 又は
len(value) == 0
# 空のリストが真
isinstance(value, list) and not value
# 又は
repr(value) == '[]'
# 又は
value == []
0453デフォルトの名無しさん
2014/09/13(土) 11:56:28.31ID:MVvvLNTb0454デフォルトの名無しさん
2014/09/13(土) 19:49:14.17ID:6NBWszmd1番良い方法を教えて下さいって奴に
複数の方法を教えるってなんだいそれ?
しかもまとまってないし。
複数の方法をダラダラ並べてるだけだ。
>>451 の書いてる通り、
if isinstance(obj, list) and not list:
が「1番」いいんじゃないの?
0455デフォルトの名無しさん
2014/09/13(土) 19:52:31.44ID:6NBWszmdうーん、以下の結果で分かると思ってたけど分かりませんでした。
range() と変数のscopeの実装について知る必要があると思いましたよ。
挙動からシッタカで答えると、
Pythonでは、range()毎にindexを生成していて、
前のrange()のindexが生きている時に再びrange()を使うと、
当然に新しくindexを生成するんだけど、
生成するときには前のrange()のindexと
名前が被っているか?いないか?を考慮しない。
参照するときの名前解決の方法として、
参照するindexの名前と一致するrange()のindexが複数あれば、
新しくできたindexを優先して使っているんじゃないでしょうか?
if __name__ == "__main__":
for i in range(10):
print('外:i={}, id(i)={}'.format(i, id(i)))
for i in range(10):
print('内:i={}, id(i)={}'.format(i, id(i)))
print()
for j in range(10):
print('j={}, id(j)={}'.format(j, id(j)))
正確な話を知りたければ、本家に行って実装を聞くしかないんじゃない?
0456デフォルトの名無しさん
2014/09/13(土) 21:08:23.51ID:yoZ+gn+2>>> for i in [0, 1, 2]:
print('外:{}'.format(i))
for i in [0, 1, 2]:
print('内:{}'.format(i), end=" ")
print('\n外:{}\n'.format(i))
外:0
内:0 内:1 内:2
外:2
外:1
内:0 内:1 内:2
外:2
外:2
内:0 内:1 内:2
外:2
0457456
2014/09/13(土) 21:11:10.33ID:yoZ+gn+2print('外:{}'.format(i))
for i in [0, 1, 2]:
print('内:{}'.format(i), end=" ")
print('\n外:{}\n'.format(i))
0458456
2014/09/13(土) 21:33:16.48ID:yoZ+gn+2内側のループは内側のrange(10)で生成されるオブジェクトに対する処理
iは外側のループのたびに、外側オブジェクトの各要素に書き換えられる
0459デフォルトの名無しさん
2014/09/13(土) 22:34:57.50ID:cX8bnUuMfor ループは in の右にあるコンテナなりイテレータの値を取り出し尽くしたら終了する
そのコードだと外側のループはまだ 0 しか取り出してないので終了しない
C の for (; i < 10; i++) とは違う
0460デフォルトの名無しさん
2014/09/13(土) 22:38:15.24ID:p5KhMtpi~/python-root/flask以下ならflask関係のパッケージをインストールした環境
~/python-root/scraping以下ならスクレイピング関係のパッケージをインストールした環境
ってな具合に自動で切り替えたいんです
0461デフォルトの名無しさん
2014/09/13(土) 23:10:16.78ID:Mqgtp+Thvirtualenv wrapperでそんなtipsあった気がする
0462デフォルトの名無しさん
2014/09/13(土) 23:10:24.72ID:NpwSNp6m0463デフォルトの名無しさん
2014/09/14(日) 00:40:39.25ID:WjxSscFS0464デフォルトの名無しさん
2014/09/14(日) 12:48:41.37ID:+tpH58Gcs="xyzabcPQR"
ABC.search(s)
としたとき、左の"xyz"や右の"PQR"を拾う方法はありますか。
perlの$`とか$'に相当するものが欲しいのですが。
0465デフォルトの名無しさん
2014/09/14(日) 13:15:20.04ID:nmqX8w92r = re.compile(".*abc.*")
s="xyzabcPQR"
print(r.search(s))
0466デフォルトの名無しさん
2014/09/14(日) 13:24:27.67ID:3Uu/YUkPimport re
ABC = re.compile('(.*)abc(.*)')
s = 'xyzabcPQR'
ABC.search(s).groups()[0]
ABC.search(s).groups()[1]
0467デフォルトの名無しさん
2014/09/14(日) 13:40:13.93ID:GfzrwnZs0468デフォルトの名無しさん
2014/09/14(日) 13:40:14.17ID:3Uu/YUkPもう1つ
import re
ABC = re.compile('abc')
s = 'xyzabcPQR'
m = ABC.search(s)
s[:m.start()] # xyz
s[m.end():] # PQR
0469464
2014/09/14(日) 13:44:15.09ID:+tpH58Gcsの例が良くなかったかもしれませんが、
(.*)abc(.*)
だと、(正規表現がgreedyなため)最右のabcにマッチしてしまうのです。
s="aXbYcZabcDEFabcHIJ"
などというとき、左はaXbYcZ、右はDEF... と取り出す方法を探しています。
0471デフォルトの名無しさん
2014/09/14(日) 14:17:49.27ID:DRyo//L50472デフォルトの名無しさん
2014/09/14(日) 15:37:15.25ID:3Uu/YUkP目的が文字列の分割だけならそれでOKだけど文字列メソッドのsplitはセパレータに正規表現を使えないのでre.split
↓
import re
re.split('abc', s, maxsplit=1)
Perlの正規表現の特殊変数の代替なら >>468 のマッチオブジェクトを使ってスライスするのが無難かな
それか二度手間だけどマッチして確認した後にre.split
0473464
2014/09/14(日) 21:36:44.44ID:+tpH58Gcre.split()を使うのも、きれいだと思いましたが、ただ、split()は、
re.split(r"abc","xyz")
のように、マッチしなくても値を返してしまうので、判定が難しく、
>>468 法で行こうと思います。
ありがとうございました。
0474デフォルトの名無しさん
2014/09/14(日) 22:09:01.99ID:JKMJIKevどのようにすればいいですか?
今は1バイトずつとりだしてbytes([0xff, 0xff])みたいにして作ってるんですが
もっといい方法ありませんか?
0475デフォルトの名無しさん
2014/09/14(日) 22:20:03.03ID:FgYFu2VK最短または最長で一致、という機能は無いの?
0476デフォルトの名無しさん
2014/09/14(日) 22:29:07.66ID:zLtoNInfPython3.xのみ
>>> (0xffccaa).to_bytes(3, 'big')
b'\xff\xcc\xaa'
0477デフォルトの名無しさん
2014/09/14(日) 22:35:06.61ID:JKMJIKevこういうの探してました!
ありがとうございます
0478デフォルトの名無しさん
2014/09/14(日) 22:51:14.51ID:gO6moQCP他の言語でいいから、欲しい正規表現検索のコード書いてみて
何となく答えても、単語の意味が食い違いそうな気がしてならない
0479475
2014/09/15(月) 01:29:41.72ID:J5zOsfVv>>469
>s="aXbYcZabcDEFabcHIJ"
>で、(正規表現がgreedyなため)最右のabcにマッチしてしまう
これを読んで、Pythonの正規表現には、前方または後方から、
最短または最長で一致、という機能は無いのかなと思っただけ
0480デフォルトの名無しさん
2014/09/15(月) 01:50:35.09ID:uGBCfR31non greedy 一致なら *? がある
けれど、要望の取得なら、
re.split(s)で、['aXbYcZ', 'DEF', 'HIJ'] が得られるが?
0481デフォルトの名無しさん
2014/09/15(月) 01:57:13.92ID:QhVLGneyくだすれだからってなに質問してもいいわけじゃないよと。
0482デフォルトの名無しさん
2014/09/15(月) 03:19:37.26ID:PuXt1P2q>>> m = ABC.search(s)
>>> m.start(), m.end()
(0, 18)
>>> m.group(0)
'aXbYcZabcDEFabcHIJ'
>>> m.group(1)
'aXbYcZ'
>>> m.group(2)
'DEFabcHIJ'
>>> ABC = re.compile('(.*)abc(.*?)')
>>> m = ABC.search(s)
>>> m.start(), m.end()
(0, 15)
>>> m.group(0)
'aXbYcZabcDEFabc'
>>> m.group(1)
'aXbYcZabcDEF'
>>> m.group(2)
''
>>> ABC = re.compile('(.*?)abc(.*?)')
>>> m = ABC.search(s)
>>> m.start(), m.end()
(0, 9)
>>> m.group(0)
'aXbYcZabc'
>>> m.group(1)
'aXbYcZ'
>>> m.group(2)
''
0483デフォルトの名無しさん
2014/09/15(月) 03:49:27.13ID:byOIOgffpygame setup.py build のところで
error: command 'cc' failed with exit status 1
となってインストール出来ませんでした。
正しくインストールする方法を教えてください。
OS X 10.9.4です。
あとLibraryにFrameworksがなかったので、自分でmkdirで作ったんですけど大丈夫ですか?
0484デフォルトの名無しさん
2014/09/15(月) 06:49:03.52ID:/z9Uo8Hl超初心者スレで何言ってんだお前?
0485デフォルトの名無しさん
2014/09/15(月) 16:06:07.30ID:Yn38ScJw> 111111111111111115071913726050304
どうしたらいい?
0486デフォルトの名無しさん
2014/09/15(月) 16:09:13.73ID:GI5SOlSu0487デフォルトの名無しさん
2014/09/15(月) 16:14:18.67ID:PuXt1P2qhttp://jutememo.blogspot.jp/2008/09/python-3-float-decimal.html
http://piro-suke.hatenablog.com/entry/20070822/1187756537
0488デフォルトの名無しさん
2014/09/15(月) 23:54:32.18ID:OAdSsJdNl.append(s)
return l
for i in range(7):
print(a(i))
これ実行すると
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]
ってなるのは何故ですか?
[0]
[1]
[2]
[3]
[4]
[5]
[6]
なると思ったのに
0489デフォルトの名無しさん
2014/09/16(火) 00:02:12.57ID:pfOEMVAsreturn l ← リスト
0490デフォルトの名無しさん
2014/09/16(火) 00:11:08.16ID:+Ut5bl5+Python だと、オプション仮引数への代入 l=[] は
(Ruby のように手続き a がコールされるたびではなく)
プログラムの実行開始時に1回だけ評価されるから
0491デフォルトの名無しさん
2014/09/16(火) 00:35:51.35ID:WETulgbf0492デフォルトの名無しさん
2014/09/16(火) 00:41:42.43ID:cG0GrrN4http://docs.python.jp/3.3/reference/compound_stmts.html#function-definitions
太字で「デフォルトパラメタ値は関数定義が〜」の部分
0493デフォルトの名無しさん
2014/09/16(火) 00:42:49.23ID:FKFqnJBn知らなかった
http://ideone.com/vVGytn
0494デフォルトの名無しさん
2014/09/16(火) 00:45:50.35ID:gOOnD5p7ドキュメント中のそのページをどうやって見つけましたか?
0495デフォルトの名無しさん
2014/09/16(火) 00:49:10.44ID:WETulgbf0496デフォルトの名無しさん
2014/09/16(火) 00:55:20.05ID:O2mNZQJ7次に省略して呼び出した時は前回の値が使われるのか?
0497デフォルトの名無しさん
2014/09/16(火) 01:00:14.87ID:cG0GrrN4ごく普通に「Python 言語リファレンス」から「関数定義」を探すだけ
>>496
ちがう
a.__defaults__ のタプルとしてデフォルトパラメタ値が記憶されている
呼び出しのたびにそこから値がコピーされるだけ
0498デフォルトの名無しさん
2014/09/16(火) 01:03:49.79ID:WETulgbfリストとタプルと辞書限定ですか?
def a(n, l=0):
return n+l
print(a(1))
print(a(1))
print(a(1))
理想
1
2
3
現実
1
1
1
0499デフォルトの名無しさん
2014/09/16(火) 01:07:48.97ID:FKFqnJBn>return n+l
この段階でn+1というオブジェクトが生成されるから
0500デフォルトの名無しさん
2014/09/16(火) 01:11:45.46ID:FKFqnJBnhttp://ideone.com/tvomMK
0501デフォルトの名無しさん
2014/09/16(火) 01:23:27.04ID:WETulgbfl += n
return l
print(a(1))
print(a(1))
print(a(1))
0502デフォルトの名無しさん
2014/09/16(火) 01:24:32.28ID:WETulgbf0503デフォルトの名無しさん
2014/09/16(火) 01:24:54.05ID:cG0GrrN4ミュータブルであるかイミュータブルであるかの違い
イミュータブルなオブジェクト(数値や文字列やタプルなど)は、生成後に内容を書き換えることができない
一方、ミュータブルは(リストや辞書など)は、生成後でも内容を書き換えができる
i = 1
i = 2
これは一見内容を書き換えてるように見えるけど
実際は別のオブジェクトに差し替えている(内容書き換えではない)
0504デフォルトの名無しさん
2014/09/16(火) 01:31:33.44ID:WETulgbfありがとうございます
0505デフォルトの名無しさん
2014/09/16(火) 01:32:12.86ID:cG0GrrN4l_default = 0
def a(n):
l = l_default
l += n
return l
print(a(1))
print(a(1))
print(a(1))
こんな風に書き直せば理解でしやすいと思う
l_default = []
def a(s):
l = l_default
l.append(s)
return l
print(a(1))
print(a(2))
print(a(3))
0506デフォルトの名無しさん
2014/09/16(火) 01:48:27.25ID:BeTOb36k while True:
yield l
l += 1
def a(n, g=gen()):
return n + g.next()
print(a(1))
print(a(1))
print(a(1))
理想
1
2
3
現実
1
2
3
0507デフォルトの名無しさん
2014/09/16(火) 14:04:51.28ID:D2tcSPbjこのスレの先輩方はどっち推しですか?
ぼくはPythonを学ぼうと思った時に新しいバージョンがPython3.2だったのでPython3をメインに使ってます
0508デフォルトの名無しさん
2014/09/16(火) 14:39:21.04ID:0isfMR1IぶっちゃげPython実装組にとってはどっちでも良いと言っている
両方のいいとこ取りして4を出すという選択しもあるんだから、とりあえずどうしたいかをコミュニティで発信してくれとのこと
外野で騒いでる馬鹿はほっておいてMLにどうしたいかを投げるべき
0509デフォルトの名無しさん
2014/09/16(火) 14:46:10.28ID:dhQsu6oC承認欲求と凄い一体感に狂ったバカしかいねえからな
0510デフォルトの名無しさん
2014/09/16(火) 18:03:46.91ID:wJwy3ubh昔から使っていて過去の資産があるなら3にする必要性は皆無だわ
0511デフォルトの名無しさん
2014/09/16(火) 18:35:16.33ID:mfOy9iYG非公式のやつをインストしているから不安感はある
0512デフォルトの名無しさん
2014/09/16(火) 18:43:37.55ID:dhQsu6oC学者が研究成果として公開してるような奴は基本放置だよね
彼らはセキュリティとかサポートとか関係ねえからな
0513デフォルトの名無しさん
2014/09/16(火) 18:52:24.11ID:QijYUKeu0514デフォルトの名無しさん
2014/09/16(火) 18:53:04.31ID:RmEmlo0B0515デフォルトの名無しさん
2014/09/16(火) 19:01:18.21ID:dhQsu6oC誰かがサポート続けるだろうし何の問題もないと思うけどね
むしろ何を心配してるんだか
0516デフォルトの名無しさん
2014/09/16(火) 19:06:45.67ID:AJgGs2ARGoogle Apps の Python API も
見捨てられた感ありあり
0517デフォルトの名無しさん
2014/09/16(火) 19:53:30.56ID:QijYUKeu時代はopenshift
0518デフォルトの名無しさん
2014/09/16(火) 21:39:23.11ID:jNa9hdfc>誰かがサポート続けるだろうし何の問題もないと思うけどね
>むしろ何を心配してるんだか
そんな暇な奴はいないし、どこの誰だかわからん奴がサポートしても使えない
0519デフォルトの名無しさん
2014/09/16(火) 21:55:47.81ID:PrDIKP1Sどこの誰ってか法人でやってる奴が
0520デフォルトの名無しさん
2014/09/16(火) 22:00:31.57ID:HdFIBRgSOpenSSL並みに有名なら実装がゴミでもクズでもOKという不可思議な業界。
0521デフォルトの名無しさん
2014/09/16(火) 22:07:59.00ID:a5PZ175EPython2に依存しまくってるらしいんだよなぁ
0522デフォルトの名無しさん
2014/09/16(火) 22:25:29.69ID:xheLKUX2そのソースどこにあるか教えて
0523デフォルトの名無しさん
2014/09/16(火) 23:08:56.52ID:lrhjfC4+railsに見習え
0524デフォルトの名無しさん
2014/09/16(火) 23:26:02.08ID:4GlNhcXA大学の講義でPython 3が使われて、そこから新たな開発者が生まれて…
0525デフォルトの名無しさん
2014/09/17(水) 01:49:46.48ID:r6QqAGtEそんないまだに3に対応出来てないライブラリをなんで使うのかと、そういう話だよ。
>>514
Googleはもうこれ以上Pythonに関わり合いたくないって感じがプンプンするけど。
0526デフォルトの名無しさん
2014/09/17(水) 07:58:01.57ID:rTfH0K+p0527デフォルトの名無しさん
2014/09/17(水) 10:43:12.69ID:k7ATJ22m0528デフォルトの名無しさん
2014/09/17(水) 12:46:05.75ID:YmAby2mX0529デフォルトの名無しさん
2014/09/17(水) 13:15:40.84ID:J7Xb/w8k0530デフォルトの名無しさん
2014/09/17(水) 13:27:03.64ID:VxgzEsby現実はきついのではないかなあ・・・
0531デフォルトの名無しさん
2014/09/17(水) 14:11:47.40ID:or6PO8CM0532デフォルトの名無しさん
2014/09/17(水) 20:19:57.82ID:G4POkF8M用途によっては使ってみるといいかもしれない
0533デフォルトの名無しさん
2014/09/18(木) 00:56:31.91ID:hBulv5bahttp://www.amazon.co.jp/dp/4873116880/
この本オライリー本だけどamazon.comでは扱ってない
日本だけの出版なのかな?
著者も日本人だけど
0534デフォルトの名無しさん
2014/09/18(木) 01:12:33.79ID:spxgJ8Adそうなの?珍しいな
0535デフォルトの名無しさん
2014/09/18(木) 01:17:30.54ID:jNFP3P670536デフォルトの名無しさん
2014/09/18(木) 05:50:05.02ID:xGrJvmYs0537デフォルトの名無しさん
2014/09/18(木) 06:11:05.32ID:TAWLJUCR0538デフォルトの名無しさん
2014/09/18(木) 06:18:52.82ID:xGrJvmYsそんなものは自分で探すしかないに決まってるだろう
0539デフォルトの名無しさん
2014/09/18(木) 07:20:35.18ID:j0A0R3ie0540デフォルトの名無しさん
2014/09/18(木) 07:54:08.55ID:0Nh6uZW9電子書籍って出るの遅いんだっけ?
0541デフォルトの名無しさん
2014/09/18(木) 09:45:54.61ID:NE4RReH80542デフォルトの名無しさん
2014/09/18(木) 11:05:01.99ID:spxgJ8Ad増刷するのなんて皆無だしな
0543デフォルトの名無しさん
2014/09/18(木) 12:42:26.02ID:0+D2RILR0544デフォルトの名無しさん
2014/09/18(木) 13:24:29.13ID:M8giSVcfやっぱりこのネタに乗っかって今ブログで記事書いてる人たちは売名行為と捉えてもいいですか?
0545デフォルトの名無しさん
2014/09/18(木) 13:58:39.94ID:aq/nB7oQPyCon が原因
0546デフォルトの名無しさん
2014/09/18(木) 14:28:37.33ID:mq0MWg2t3系を基本使わないからわからないけど
3系のライブラリは充実してきてるんだろうか?
0547デフォルトの名無しさん
2014/09/18(木) 15:13:12.73ID:NVU0pS4gだけど、「もう3にしか対応しないぜ。2使っている奴は死ね」と宣言した大型ライブラリはまだない。
なので、2で不便しないんだったら、現時点では2のままでいい。
自分が依存しているライブラリが3対応した時が、移行のチャンスなので、期を逃さずガッツリ行けばよろし。
0548デフォルトの名無しさん
2014/09/18(木) 15:53:22.90ID:lsy6YbFy0549デフォルトの名無しさん
2014/09/18(木) 20:37:05.51ID:QMEFfhZi既に2を使っている学者の方なんかだと言いそうだ
移行するメリットが殆ど無いだろうし
ただ3のほうが好き
目的の外部ライブラリがああって度々なるけど
0550デフォルトの名無しさん
2014/09/18(木) 21:38:00.67ID:AwaPjQogいずれPythonからGoへ乗り換えようと思ってる人いる?
googleはGoに移行させるつもりらしいけど
ロッサムさんはどーするんだろ?
0551デフォルトの名無しさん
2014/09/18(木) 22:02:19.36ID:nWRbnh4O画像処理やろうと思ったら全然ライブラリ読みこめないでやんの
0552デフォルトの名無しさん
2014/09/18(木) 22:02:26.19ID:wtHp+It3pythonのアプリケーションを配布する一般的な方法にはどんなものがありますか?
主にpythonはすでにインストールしてるけど使ってるモジュールはおそらくまだインストールしてないよって人向けに配布したいです
まだ始めて三日目なんで良くわかってませんが教えていただけるとありがたいです
0553デフォルトの名無しさん
2014/09/18(木) 22:12:47.05ID:wr8Yj4P+どっちもよく知らないけど
0554デフォルトの名無しさん
2014/09/18(木) 22:32:52.37ID:uiaacVZeファンロッサムはだいぶ前にDropboxに引きぬかれとるがな
0555デフォルトの名無しさん
2014/09/18(木) 23:37:33.68ID:J4t3dbmZhttps://packaging.python.org/en/latest/
0556デフォルトの名無しさん
2014/09/19(金) 00:19:08.14ID:4MFyD/0dもうそれ言語の選択間違ったって話じゃないの
0557デフォルトの名無しさん
2014/09/19(金) 00:49:02.87ID:RhOL7tnE画像処理のためにPythonを勉強するんじゃなくて
Pythonの勉強の題材に画像処理をしてるだけだよ
0558デフォルトの名無しさん
2014/09/19(金) 00:54:02.54ID:6gllmAz90559デフォルトの名無しさん
2014/09/19(金) 00:56:58.81ID:V5mbqdwI画像処理のライブラリならなおさら
0560デフォルトの名無しさん
2014/09/19(金) 01:01:32.15ID:RhOL7tnEPython3に対応したライブラリのバージョンはまだα版なのを公式で確認済み
よって2を使う方がベターと判断した
0561デフォルトの名無しさん
2014/09/19(金) 01:06:13.44ID:4MFyD/0dじゃあ題材の選択を間違ったってことでは?
もしくはPythonはそので間違いだと言われる程度の言語なんです、ってとこ。
Pythonは世界レベルのスクリプト言語ではマジョリティだけど、2→3の不安定性で、
いったんなにかでコケると一気にシェア失いそうな感じするしね。
0563デフォルトの名無しさん
2014/09/19(金) 01:24:51.76ID:F4B/nS5TPythonが静的型付言語だったら簡単に見つける事が出来たし、
もっと早く簡単に2->3移行は完了したと思う
というわけなので、Python3.5で静的型検査を標準に入れて
一気に2->3移行を進める戦略ですよ
0564デフォルトの名無しさん
2014/09/19(金) 01:28:40.43ID:b8dB9fZUありがとうございます
0565デフォルトの名無しさん
2014/09/19(金) 07:36:19.13ID:29l2E3/T勉強って何してんの?
OpenCVなんかで乳首の検出とか?
0566デフォルトの名無しさん
2014/09/19(金) 07:39:11.21ID:uOFecdUA○3に対応したライブラリに移行する
0567デフォルトの名無しさん
2014/09/19(金) 08:12:12.55ID:OJCIiOtw0568デフォルトの名無しさん
2014/09/19(金) 13:14:06.89ID:QRiIEsK8scipy関連
django
0569デフォルトの名無しさん
2014/09/19(金) 19:34:06.61ID:eMbosikE0570デフォルトの名無しさん
2014/09/19(金) 22:06:03.59ID:RhOL7tnE乳首じゃないけどOpenCVだよ
0571デフォルトの名無しさん
2014/09/19(金) 22:17:33.12ID:Hrwgc7MYそこはSPIDERです。と言えばカッコ良いのに
オリジナルSPIDERはFORTRANのライブラリ
0572デフォルトの名無しさん
2014/09/19(金) 22:58:06.47ID:J2BT5uphttp://qiita.com/wellflat/items/0b6b859bb275fd4526ed
人間の男女の違いやあれやこれやも識別できるぞ!
0573デフォルトの名無しさん
2014/09/20(土) 10:29:30.54ID:Xc99Cp2d某フレームワークが吐くコードです
2回かましているのは何故ですか?
0574デフォルトの名無しさん
2014/09/20(土) 10:55:19.69ID:/lSmgJEcなぜ自分で手を動かさない?
__file__ が 'c:\\xxx\\yyy\\zzz' なら、
1回目の dirname で 'c:\\xxx\\yyy'
2回目の dirname で 'c:\\xxx' と、
目的とする結果が異なるからだろ
0575デフォルトの名無しさん
2014/09/20(土) 11:21:04.06ID:ldpx+vMK>>> os.path.dirname(path)
''
>>> os.path.dirname(os.path.dirname(path))
''
>>> os.path.dirname(os.path.dirname(os.path.dirname(path)))
''
>>> path
'c:\\'
なぜです?
0576デフォルトの名無しさん
2014/09/20(土) 11:24:05.29ID:mVPfJUJ8お前はどうなると思ったんだ?
0577デフォルトの名無しさん
2014/09/20(土) 11:30:28.61ID:mVPfJUJ8あれはProjectRootを取るためのコードだから1回でも3回以上でも目的は達成できん
何故と聞くまでもないだろう
0578デフォルトの名無しさん
2014/09/20(土) 11:35:25.80ID:kGUmhIamあれやこれの識別の妄想が広がるな!
0579デフォルトの名無しさん
2014/09/20(土) 11:42:15.02ID:GbFNl7YAos.path.join(os.path.dirname(__file__), '..')
じゃないの
0580デフォルトの名無しさん
2014/09/20(土) 11:48:46.84ID:pPLj1Lyk0581デフォルトの名無しさん
2014/09/20(土) 12:09:01.44ID:nsNkzdEShttps://github.com/django-docs-ja/django-docs-ja
0582デフォルトの名無しさん
2014/09/20(土) 12:18:59.07ID:GbFNl7YAforkすれば良い
0583デフォルトの名無しさん
2014/09/20(土) 12:21:33.60ID:mVPfJUJ8俺の箔にしてやるって言い分だから
forkなんかしない
0584デフォルトの名無しさん
2014/09/20(土) 12:25:47.32ID:nsNkzdEShttp://laravel4.kore1server.com/docs
djangoの翻訳チームが名ばかりの集まりであるのがよく分かるだろう
我々はこういうった幽霊部員の活動を日本中に広めなければならない
0585デフォルトの名無しさん
2014/09/20(土) 12:26:39.32ID:nsNkzdES0586デフォルトの名無しさん
2014/09/20(土) 16:17:38.30ID:5yN8V4kh0587デフォルトの名無しさん
2014/09/20(土) 17:31:55.11ID:J22kYW6o以前のバージョンでも未来の機能を利用できると理解したのですが
0588デフォルトの名無しさん
2014/09/20(土) 21:08:05.13ID:lJJn8OIz__future__モジュールについてはこれな
>これは実行できる形式で書かれたドキュメントなので、�__future__�Cンポートしてその中身を調べることでプログラムから調査することができます。
http://docs.python.jp/2/library/__future__.html
future文についてはこれ
http://docs.python.jp/2/reference/simple_stmts.html#future
古いバージョンのでも新しい機能が使えるってことであってる
0589デフォルトの名無しさん
2014/09/20(土) 21:58:57.26ID:J22kYW6oスクリプト言語にコンパイラやコンパイル時という単語がなぜ出てくるのでしょう?
未知の機能の詳細を実行時に取得してプログラムの動きを変化させると考えました
役割としてはCにおけるマクロのようなものと理解すればいいのでしょうか?
0590デフォルトの名無しさん
2014/09/20(土) 22:26:14.09ID:Z8uHc6Vbそうディレクティブです、でもマシンコードじゃなくバイトコードへのコンパイル
実行前というか、たとえば「from __future__ import division」だと除算が
BINARY_DIVIDEからBINARY_TRUE_DIVIDEになり整数同士でも切り捨てられない
0591デフォルトの名無しさん
2014/09/20(土) 22:51:00.81ID:J22kYW6o機能の追加をよりコントロールしようとしているんですね
回答ありがとうございます
0592デフォルトの名無しさん
2014/09/21(日) 00:40:09.97ID:1T8PQZp1a[0]['a'] = True
print(a)
何故0番目以外にもTrueが入っちゃうんですか?
0593デフォルトの名無しさん
2014/09/21(日) 00:52:02.80ID:hzBq2+VL0594デフォルトの名無しさん
2014/09/21(日) 01:17:39.11ID:+wLRSH8e3系だった
2系の俺には無用w
0595デフォルトの名無しさん
2014/09/21(日) 01:19:29.41ID:hzBq2+VL0596デフォルトの名無しさん
2014/09/21(日) 01:27:50.32ID:WJzN6dNr0597デフォルトの名無しさん
2014/09/21(日) 01:55:56.04ID:SxMm3UZZ0598デフォルトの名無しさん
2014/09/21(日) 03:12:58.79ID:zvLDGmjJ0599デフォルトの名無しさん
2014/09/21(日) 03:59:03.40ID:hzBq2+VL特定フレームワークのユーザーしか狙えないわ
書いてる方は幸せになれません
0600デフォルトの名無しさん
2014/09/21(日) 09:20:08.00ID:MEucGXRm以下のように、テキストファイル(test.txt)を作成してから、それを読み出して、printしているのですが、
何も表示されません。テキストファイルは確かに作成されています。
ファイルが作成される前に、読み出しがされているからでしょうか?
#!/usr/bin/python
# -*- coding:utf-8 -*-
str_out = "aaa"
fw = open("test.txt", "w") #
fw.write(str_out)
fw.close
fr = open("test.txt")
str_read = fr.read()
print str_read
fr.close()
0601デフォルトの名無しさん
2014/09/21(日) 09:23:00.69ID:q4aLc9F7それだと関数オブジェクトを呼ばずに捨ててる
0602デフォルトの名無しさん
2014/09/21(日) 09:23:19.24ID:NKaa3KrO0603デフォルトの名無しさん
2014/09/21(日) 09:25:16.62ID:MEucGXRmうぉー、出来ました!
実はこれで1年以上、悩んでいました。
なんで早く教えてくれなかったんですか!
ありがとうございました!
0604デフォルトの名無しさん
2014/09/21(日) 09:26:49.52ID:NKaa3KrO0605デフォルトの名無しさん
2014/09/21(日) 10:23:27.12ID:hzBq2+VL0606デフォルトの名無しさん
2014/09/21(日) 10:31:44.53ID:sF3yzrHK0607デフォルトの名無しさん
2014/09/21(日) 10:34:13.13ID:Re05AqUv0608デフォルトの名無しさん
2014/09/21(日) 10:35:33.02ID:OYwJke1V0609デフォルトの名無しさん
2014/09/21(日) 11:57:06.57ID:7oG58F6s間際らしい市ねww
a = [{'a':''}] * 3
a = [{"a":""}] * 3
0610デフォルトの名無しさん
2014/09/21(日) 12:07:42.60ID:tmQCWq8V0611デフォルトの名無しさん
2014/09/21(日) 12:10:51.59ID:Gd2LPy9W無理だと思うな
PythonはPHPにはその分野では敵わない
面倒くさすぎる
Djangoも分かりにくい
PHPならHTML書いて入れればそれだけでOK
0612デフォルトの名無しさん
2014/09/21(日) 12:19:06.39ID:tmQCWq8Vtemplateやstaticの設定をもっと自動化して欲しい
0613デフォルトの名無しさん
2014/09/21(日) 12:32:32.35ID:Vmt4LZ6Dなんか読みにくい本なんだよな
オライリーのいい本が一冊翻訳されるといいのに
0614デフォルトの名無しさん
2014/09/21(日) 12:32:58.96ID:hzBq2+VL・アプリケーションのリネームをサポートしろ
は前に要望したけど音沙汰がない
0615デフォルトの名無しさん
2014/09/21(日) 12:34:17.01ID:hzBq2+VL0616デフォルトの名無しさん
2014/09/21(日) 12:38:59.98ID:D9Ow4XI3http://www.amazon.com/dp/0735710902/
こういうの翻訳頼む
0617デフォルトの名無しさん
2014/09/21(日) 12:41:39.37ID:hzBq2+VL0618デフォルトの名無しさん
2014/09/21(日) 12:49:39.02ID:ImbjJwoQFlask Web Development: Developing Web Applications with Python
これとかどうだろう
今年出版されたばかり
0619デフォルトの名無しさん
2014/09/21(日) 12:51:25.89ID:q4aLc9F7import copy; copy.deepcopy
あとリストの掛け算はシャローコピーではないよ
0620デフォルトの名無しさん
2014/09/21(日) 12:56:54.05ID:tmQCWq8Vライブラリを使わないとだめってことは掛け算で作るのは王道の書き方ではなかったってことですよね
掛け算するのやめます
0621デフォルトの名無しさん
2014/09/21(日) 12:57:58.05ID:tmQCWq8Vrm -rf アプリケーションじゃだめなんですか
0622デフォルトの名無しさん
2014/09/21(日) 13:10:09.64ID:hzBq2+VLDjangoのアプリケーションをリネームするには
散らばってるインポートモジュール名とDBのテーブル名とリレーション等と格納された値を修正する必要がある
rmでこれらの処理を何か簡略化できるか?
0623デフォルトの名無しさん
2014/09/21(日) 14:15:07.00ID:tmQCWq8Vpython manage.py migrate
0624デフォルトの名無しさん
2014/09/21(日) 14:24:39.29ID:M1R/hzos0625デフォルトの名無しさん
2014/09/21(日) 15:18:42.67ID:zvLDGmjJ0626デフォルトの名無しさん
2014/09/21(日) 16:11:32.53ID:GSgALpqv[{"a": ""} for _ in range(3)]
ちなみに辞書の複製にcopyモジュールはいらないよ
un = {}; un.copy()
これでおk
辞書の中身もちゃんとコピーしたいのなら>>619のようにやらないとだけど
0627デフォルトの名無しさん
2014/09/21(日) 18:36:28.08ID:SV7gYkDR簡単なものならよいがちょっと込み入ったものになると
初心者には厳しいと思う
だけど上記の3フレームワークでよく使われる
jinja2 や SQLAlchemy や Beaker は覚えておくと
なにかと便利
0628デフォルトの名無しさん
2014/09/23(火) 01:38:35.31ID:yyfnOWbnこれみんなで参加しないか?
Pythonのポテンションを世に知らしめるのだ
0629デフォルトの名無しさん
2014/09/23(火) 01:44:27.98ID:ESMlqDPFお前さんは知らないかもしれないが、世界レベルではPythonはマジョリティです。
0630デフォルトの名無しさん
2014/09/23(火) 01:48:50.46ID:6GOHYDXZ日本ではPythonはマイノリティですから
0631デフォルトの名無しさん
2014/09/23(火) 01:53:20.60ID:ESMlqDPFガラパゴス乙
0632デフォルトの名無しさん
2014/09/23(火) 13:06:03.58ID:h9MTRV8P0633デフォルトの名無しさん
2014/09/23(火) 13:08:25.49ID:KtYSsO04実際rubyが優勢だろうQiitaとかもrubyタグ圧倒的だし
0634デフォルトの名無しさん
2014/09/23(火) 13:12:10.78ID:SOSbun4M母集団は?
0635デフォルトの名無しさん
2014/09/23(火) 13:36:59.37ID:n40GWKtf若 掲 諦 波 能 是 提 羅 想 礙 般 亦 死 界 声 受 不 利 空 子 照 自 訶
心 諦 羅 除 大 故 蜜 究 故 若 無 亦 無 香 想 浄 子 即 色 見 在 般
経 掲 蜜 一 明 知 多 竟 無 波 得 無 無 味 行 不 是 是 不 五 菩 若
菩 諦 多 切 咒 般 故 涅 有 羅 以 老 明 觸 識 増 諸 色 異 蘊 薩 波
提 咒 苦 是 若 得 槃 恐 蜜 無 死 亦 法 無 不 法 受 空 皆 行 羅
薩 波 即 真 無 波 阿 三 怖 多 所 尽 無 無 眼 減 空 想 空 空 深 蜜
婆 羅 説 実 上 羅 耨 世 遠 故 得 無 無 眼 耳 是 相 行 不 度 般 多
訶 掲 咒 不 咒 蜜 多 諸 離 心 故 苦 明 界 鼻 故 不 識 異 一 若 心
諦 曰 虚 是 多 羅 佛 一 無 菩 集 尽 乃 舌 空 生 亦 色 切 波 経
故 無 是 三 依 切 罫 提 滅 乃 至 身 中 不 復 色 苦 羅
波 説 等 大 藐 般 顛 礙 薩 道 至 無 意 無 滅 如 即 厄 蜜
羅 般 等 神 三 若 倒 無 侘 無 無 意 無 色 不 是 是 舎 多
0636デフォルトの名無しさん
2014/09/23(火) 14:41:45.52ID:nsMEHxF90637名無しさん
2014/09/24(水) 17:12:16.88ID:Qh5bz0XTやっぱ2.6から2.7に上げた場合、それまでのスクリプトで問題発生するかな?
0638デフォルトの名無しさん
2014/09/24(水) 17:31:42.36ID:5Qd2IKk/PyQtやwxPythonなどあるようですが、PyQtは敷居が高いようなことが書かれています
デザインのしやすさ、作りやすさなどでオススメを教えていただきたいと思います
自分の環境はRedhat系ですが、Windowsでの利用を考えています
http://ja.m.wikipedia.org/wiki/Pythonを使っている製品あるいはソフトウェアの一覧
このようなページを見つけました
ここに載っているデスクトップアプリケーションはPyQtなどで作られているのでしょうか?
それともCやWindowsAPIなどで基本的に作って、中身の一部をPythonで作っているのでしょうか?
0639デフォルトの名無しさん
2014/09/24(水) 17:36:50.62ID:FHhM1wc80640デフォルトの名無しさん
2014/09/24(水) 17:37:17.50ID:LEs4bhE4発生するかしないかで言えば発生しないとは言えない
0641デフォルトの名無しさん
2014/09/24(水) 17:39:21.38ID:LEs4bhE4それはない
ライセンスの問題とか
メンテが放置とか
面倒なだけ
問題にかかわってる暇がないなら
wxPythonの方を薦める
0642デフォルトの名無しさん
2014/09/24(水) 18:43:17.39ID:5Qd2IKk/0643デフォルトの名無しさん
2014/09/24(水) 21:37:03.17ID:wvIaX7qepy2exeでは、スクリプト以外のファイルはまとめてくれなさげ
0644デフォルトの名無しさん
2014/09/24(水) 22:01:12.95ID:YFHZqPQu0645デフォルトの名無しさん
2014/09/24(水) 22:31:16.72ID:wvIaX7qeインストーラとしてではなくて、そのまま実行できるアプリケーションとしたい。
もう少し具体的な意図を言うと、画像等の素材を隠蔽したい。
ただ、身内に配る程度なので、そこまで高度に隠蔽される必要もない
.exeにまとめるのでなくても、暗号化ファイルを読み込む方法などあれば、それでも問題なし
見栄えや扱いの簡便さで、.exeにまとめるのが一番良いかと思ってただけなので
# しかし、書いてくれたそれはそれで別の機会に使えそうだ。ありがとう
0646デフォルトの名無しさん
2014/09/24(水) 22:33:00.91ID:vnMOPx270647デフォルトの名無しさん
2014/09/24(水) 22:34:42.27ID:wvIaX7qe0648デフォルトの名無しさん
2014/09/24(水) 22:48:20.90ID:YFHZqPQu出力するときに拡張子でばれないよう注意する。
使い終わったらちゃんと消去。
0649デフォルトの名無しさん
2014/09/24(水) 23:06:51.74ID:spov7QuUおそらくcxfreezeでもできるはず
0650デフォルトの名無しさん
2014/09/24(水) 23:25:30.42ID:wvIaX7qeありがとう、調べてみる
>>649
それもインストーラとしてまとめる方法では?
アプリケーション本体としてもまとめられるのかな?
0651デフォルトの名無しさん
2014/09/25(木) 05:16:39.47ID:7DgNS8tq0652デフォルトの名無しさん
2014/09/25(木) 06:28:33.30ID:joYUKpd7NSISも元来インストーラを作るツールだけど
設定で一時フォルダに展開して実行までやってくれる
見た目1ファイルのexeが作れるのよ
0653デフォルトの名無しさん
2014/09/25(木) 07:54:31.41ID:A59aTWuy一つのファイルだとpython.dll
やwxPython含めて13MBぐらいになって
ユーザーから不評でした。
そして数年後この度、リファクタリングついでにC#で作り直し。はぁ...
0654デフォルトの名無しさん
2014/09/25(木) 08:12:01.51ID:Subxhchr疲れてるならオススメ
0655デフォルトの名無しさん
2014/09/25(木) 08:14:49.29ID:PQH/RCDK0656デフォルトの名無しさん
2014/09/25(木) 09:45:09.99ID:n/hqnqxg0657デフォルトの名無しさん
2014/09/25(木) 09:50:37.18ID:PQH/RCDK0658デフォルトの名無しさん
2014/09/25(木) 09:52:42.20ID:n/hqnqxgpyqt, pyside書けるならqtも書けるよ
0659デフォルトの名無しさん
2014/09/25(木) 10:02:09.42ID:PQH/RCDK0660デフォルトの名無しさん
2014/09/25(木) 16:05:12.92ID:UivmCkMyほうほうなるほど
ありがとうありがとう
>>653
オプションで同梱モジュール選べなかったのかね
0661デフォルトの名無しさん
2014/09/25(木) 19:14:07.19ID:pla+jS26python.dllで2mbは確定でwxで10MBだったかな。module同梱は自動検出。
py2exeもつかってたけどでかさは変わらんかった気がする。
GUIというとvensterとctypesでガリガリ書いてたときもあったなぁ...
0662デフォルトの名無しさん
2014/09/26(金) 21:02:12.22ID:HIA/sQJrhttp://d.hatena.ne.jp/nekoruri/touch/20140926/shellshock
ワロテナイよ
0663デフォルトの名無しさん
2014/09/26(金) 23:53:15.81ID:UKsTMeRjRubyの話題はスレ違い
0664デフォルトの名無しさん
2014/09/27(土) 02:57:10.07ID:jYunIRKZsubprocess.Popen とかだと
影響ウケルωωω
0665デフォルトの名無しさん
2014/09/27(土) 09:07:42.72ID:Q7f9fSd6shell=Trueしてる馬鹿の尻まで拭う必要はない
いい機会だから全員死んでもらおう
0666デフォルトの名無しさん
2014/09/27(土) 09:10:47.45ID:V9AoMXji0667デフォルトの名無しさん
2014/09/27(土) 10:48:10.73ID:bWg7K4NX0668デフォルトの名無しさん
2014/09/27(土) 10:52:30.35ID:TGqPKc2A0669デフォルトの名無しさん
2014/09/27(土) 12:07:57.80ID:jYunIRKZbash
http://www3.nhk.or.jp/news/html/20140927/k10014922101000.html
0670デフォルトの名無しさん
2014/09/28(日) 00:17:32.96ID:rKF2lDHS0671デフォルトの名無しさん
2014/09/28(日) 19:12:54.61ID:TmXNcwY0pythonでwebやるのってだめなの?
rubyとかphpの方がいいの?
0672デフォルトの名無しさん
2014/09/28(日) 20:19:57.88ID:pAfSMvLV個人的な話なら好きにすればいい
0673デフォルトの名無しさん
2014/09/28(日) 20:24:52.65ID:pAfSMvLVここで質問しても返ってくるはず
0674デフォルトの名無しさん
2014/09/28(日) 21:52:44.37ID:LbKOAJBC見てるけどほっといたわ
0675デフォルトの名無しさん
2014/09/28(日) 22:05:24.94ID:2qHeiG8b0676デフォルトの名無しさん
2014/09/28(日) 22:10:22.00ID:LbKOAJBC0677デフォルトの名無しさん
2014/09/28(日) 22:26:21.07ID:neMl8K0A女の子を釣るには
0678デフォルトの名無しさん
2014/09/29(月) 07:43:26.76ID:NI0xARzz0679デフォルトの名無しさん
2014/09/29(月) 12:53:14.47ID:EIANdszUrailsを覚えるほうが
0680デフォルトの名無しさん
2014/09/29(月) 18:45:50.65ID:AjnwT8cfC++使えってこと?
0681デフォルトの名無しさん
2014/09/29(月) 18:54:40.36ID:TuwBUZ1N女の子に絶対に
0682デフォルトの名無しさん
2014/09/29(月) 20:42:41.50ID:nX5PV3RDいえす
0683デフォルトの名無しさん
2014/09/29(月) 22:35:31.31ID:WkHslg/o0684デフォルトの名無しさん
2014/09/29(月) 22:38:40.43ID:9GNJpVizそんなとき
C、C++、C#
お好きなモノをどうぞ
0685デフォルトの名無しさん
2014/09/29(月) 22:39:48.85ID:bm2ucN1b0686デフォルトの名無しさん
2014/09/30(火) 11:03:06.12ID:yIpcFUw20687デフォルトの名無しさん
2014/09/30(火) 12:22:32.74ID:fHAbPVyL0688デフォルトの名無しさん
2014/09/30(火) 12:27:09.14ID:6HrD4eP+0689デフォルトの名無しさん
2014/09/30(火) 12:54:47.80ID:nNnITun+create_engineを書いたファイル(含むid・password)をpublic_html以下に設置してもセキュリティ的に問題は無いのでしょうか?
0690デフォルトの名無しさん
2014/09/30(火) 12:58:58.67ID:Vb2IHbA90691デフォルトの名無しさん
2014/09/30(火) 12:59:00.66ID:rWDDVQoR0692デフォルトの名無しさん
2014/09/30(火) 13:27:43.14ID:nNnITun+nginxとuwsgiを使おうと思ってます。
まだsqlalchemyの勉強中なのですが、設置する時にこれで大丈夫なのかと不安になったので。
0693デフォルトの名無しさん
2014/09/30(火) 13:50:23.78ID:0GEeaCri0694デフォルトの名無しさん
2014/09/30(火) 14:46:23.26ID:mh/cbJNg公開・配布の形態次第だけど、sqlalchemy 利用の有無関係なく
CGIスクリプトとしてデプロイする場合は、同様の注意が必要です
>>675
末尾を埋めるかどうかでバリエーションがあるけど、
itertoolsのレシピ grouper が参考になるよ
0695デフォルトの名無しさん
2014/09/30(火) 14:46:25.33ID:+CG1fPdj0696デフォルトの名無しさん
2014/09/30(火) 20:13:32.69ID:qWLkENwI0697デフォルトの名無しさん
2014/09/30(火) 20:14:29.65ID:RxufM98r0698デフォルトの名無しさん
2014/09/30(火) 23:41:31.95ID:nNnITun+>>696
ああ、やはりそのまま書くのは不味いんですね。外部ファイルに書いてそれを読み込むのが最善の方法という事ですね。
0699デフォルトの名無しさん
2014/10/01(水) 00:34:10.66ID:bO1QNk+tどんぐらいのサービスかによる
サーバの設定しくじったらアウトの可能性が少しでもあるなら避けるべき
fbでもしくじるぐらいだから
0700デフォルトの名無しさん
2014/10/01(水) 11:07:13.94ID:JH4tYyvL起動時にダウソして
稼働中はメモリにキャッシュが安全
0701デフォルトの名無しさん
2014/10/01(水) 21:05:28.70ID:xoSFJb3Eもし取れずにデフォルト値で動いて、デフォルト値がデバッグモードだったとか
0702デフォルトの名無しさん
2014/10/01(水) 22:11:50.37ID:yheU9Xdn>>701
なんで設定取れなかったらエラー出すようにしないのか
0703デフォルトの名無しさん
2014/10/02(木) 01:35:40.64ID:9jKc/G7B質問があるのですが、データベース問い合わせであるカラムだけを問い合わせたいのですがどのようにすればいいのでしょうか?
データベースのカラムはid,name,age,sexとした場合、name,age,sexを取り出したいとします
from bar.models import foo
rows = foo.objects.all()とすれば値が取得できるのは分かるのですが、これではidの値も取得されます
カラム別に取得したいのですが
SELECT name, age, sex FROM db;
みたいなことがしたいです
また、そこで取得した値を確認したいのですがDjangoはprintで出力されないので格納した変数の値や取得した値の中身を調べることが出来ません
PHPであればvar_dump()みたいに中身を見れればいいのですが
どのようにすればいいのでしょうか?
自分としては上記でデータベースから取得したデータをjson化してJavaScriptに送りたいのですが
0704デフォルトの名無しさん
2014/10/02(木) 02:14:07.31ID:UX4Sw3I3objects.filterとか().values('hoge', 'huga')
2個目
チュートリアルの「はじめての Django アプリ作成、その 1」に書いてある
0705デフォルトの名無しさん
2014/10/02(木) 02:15:08.60ID:UX4Sw3I30706デフォルトの名無しさん
2014/10/02(木) 02:30:40.28ID:9f+0oAt0うちの仔猫が言ってた
あと defer() や only() の遅延評価も調べてみるといいって
(プライマリーキーのidを"取得しない"はできないけど・・・)
0707デフォルトの名無しさん
2014/10/02(木) 09:39:49.38ID:9jKc/G7Bありがとうございました
チュートリアルの方はもう一度目を通してみます
0708デフォルトの名無しさん
2014/10/02(木) 09:55:09.89ID:9jKc/G7Bすみません、チュートリアル読んでみましたが分かりませんでした
python manage.py shell
の事をおっしゃられているのでしょうか?
0709デフォルトの名無しさん
2014/10/02(木) 11:44:59.80ID:YwCG0RRZせっかく専用スレあるんだから同じような問題を抱えている人が見つけやすいだろ
0710デフォルトの名無しさん
2014/10/02(木) 11:48:15.39ID:YwCG0RRZそもそもそれはチュートリアルをやってればはじめの方に出てくることだし
まずはチュートリアルをやるべきでしょ
効く前に最低限のことはやれよ
0711デフォルトの名無しさん
2014/10/02(木) 11:59:13.09ID:6cuXtJAM0712デフォルトの名無しさん
2014/10/02(木) 16:12:18.19ID:pc0dEnhS馬鹿の一つ覚え
0713デフォルトの名無しさん
2014/10/02(木) 23:55:10.12ID:XAeI31Ii>>874
馬鹿の一つ覚え
0714デフォルトの名無しさん
2014/10/03(金) 00:41:39.07ID:CaIs5bTM0715デフォルトの名無しさん
2014/10/03(金) 00:47:03.50ID:iSAMd/e70716デフォルトの名無しさん
2014/10/07(火) 11:09:50.01ID:9B02+XesBefore
https://avatars1.githubusercontent.com/u/854049?v=2&s=460
After
http://image.gihyo.co.jp/assets/images/news/report/01/pyconjp2014/0002/thumb/TH400_003.jpg
会ったこと無いから別人にしか見えない
0717デフォルトの名無しさん
2014/10/07(火) 16:36:27.06ID:AA14T+840718デフォルトの名無しさん
2014/10/07(火) 19:45:00.88ID:XRYgiLy4pycon 2015年の飲み会があるそうですけどコミュ障が参加したら孤立するだけですかね?
0719デフォルトの名無しさん
2014/10/07(火) 22:41:49.33ID:s7U7yQsb0720デフォルトの名無しさん
2014/10/08(水) 00:34:25.52ID:8oPiAR2Iそして俺らより高年収
英語ネイティブだしね
0721デフォルトの名無しさん
2014/10/08(水) 09:35:47.64ID:SfZJBG4vhttps://www.youtube.com/watch?v=jn5ajaZgcMw
0722デフォルトの名無しさん
2014/10/08(水) 10:40:21.93ID:2AVvJHZy殿ご乱心?
0723デフォルトの名無しさん
2014/10/08(水) 10:42:02.95ID:AsOaYLsjおれはphpのほうが合いそうなのでここで引きます
0724デフォルトの名無しさん
2014/10/08(水) 10:46:34.91ID:2AVvJHZy0725デフォルトの名無しさん
2014/10/08(水) 11:53:16.34ID:P6WfsOfKマルチ死ね
0726デフォルトの名無しさん
2014/10/08(水) 22:21:10.49ID:P4ZmXPPkraw_input()
を使うと、EOFError: EOF when reading a line が発生します
具体的には、ouath2クライアントを使用したのですが
def get(self):
name = raw_input('Enter name: ')
print name
のようなコードでさえ EOFError: EOF when reading a line が発生してしまいます
0727デフォルトの名無しさん
2014/10/08(水) 22:25:37.76ID:OgeXMJ810728デフォルトの名無しさん
2014/10/09(木) 02:37:29.76ID:T37jfMqmGoogleのサーバ管理者に名前を入れてもらいたいのか?
0729デフォルトの名無しさん
2014/10/09(木) 07:57:56.80ID:OwjKzXDz「Rubyによるクローラー開発技法」という本が高評価なのでちょっと悔しいです。
0730デフォルトの名無しさん
2014/10/09(木) 10:03:53.14ID:YwRbzS2u0731デフォルトの名無しさん
2014/10/09(木) 22:06:03.62ID:suIfRrTZ一環としてwxpythonを使った簡単なアプリ(研究室の人向け)を作成している途中なのですが、動的な値の変更の仕方がいまいちわからず、行き詰まっております。
作成しているアプリは、スピンボタンやスライダ、ラジオボタンなどで実験状況を設定した上で、最終的に1つか2つ程度の値を出力するようなシミュレータみたいなものです。
具体的な課題は、説明しづらいのですが、statictextをイベントで書き変えるときに、書き換えた後の値を他のクラスでも共有したいという事です。
(出来ればコードをお見せして具体的に何がしたいのかを説明させていただきたいのですが、どのような形でお見せすればよいでしょうか)
恐らく初歩的なことかとは思いますが、どうぞお力添え下さいますようお願い致します。
0732デフォルトの名無しさん
2014/10/09(木) 22:11:36.75ID:suIfRrTZ> ◆長いコードはこういうところにはってください
> ttp://ideone.com/
> ttp://codepad.org/
> ttp://pastebin.com/
> ttp://dpaste.com/
0733デフォルトの名無しさん
2014/10/09(木) 22:40:12.93ID:suIfRrTZお手数をおかけして申し訳ございません.
コードは以下になります.冗長な部分などあるかと思いますがご容赦ください.
http://ideone.com/60uZY5
このコードを実行し,たとえばスピンボタンを押したときに,Wavelengthと表示された部分は動的に変化させることはうまくできたのですが,LASER Powerと表示された部分を動的に変化させる方法が解りません.
最終的には,たとえばwavelengthに表示される値とPower Meter Valueに表示される値などを基にして計算した値をLASER Powerとして出力するようなプログラムを作りたいと考えております.
(物理的意味はありませんが,プログラミング的に最も簡単な例を挙げれば,wavelengthとPowerMeterValueの値を掛け合わせたものをLASER Powerとして動的に表示するといったプログラムになります)
よろしくお願いいたします
p.s.本文を一度誤ってscの方に書き込んでしまいました
0734デフォルトの名無しさん
2014/10/09(木) 23:28:41.64ID:XlUKidJJその中で一緒にlaserpower2のラベルも書き換えればいいのでは
たとえばpmadj_funcだったら
#pmdis2のラベルを書き換えた後に……
#pmdis2とwldis2の値を取得
#それらでlaserpowerを計算
#laserpower2に値を設定
聞きたかったのはこういうことで合ってる?
0735デフォルトの名無しさん
2014/10/10(金) 00:50:04.61ID:OQ/++Vvvご返信いただきありがとうござます。
質問の内容はご察しの通りです。
これまで、「プログラムを通して保持される変数」を関数で書き換えられないかと考えておりましたが、やはり>>734さんの仰る方法しかないのでしょうか。
>>734さんの仰る方法ですと、1つの関数ごとに幾つかの変数を親を通して呼び出さなければならないため、たいへん煩雑になるかと考えておりました。
例えば、>>734さんの挙げていただいた例の場合ですと、pmadj_funcという関数でpmdis2とwldis2を呼び出すことになります。これは同時に、wladj_funcでもpmdis2とwldis2を呼び出すことになりますよね。
のちのちチェックボックスやラジオボックスも利用することを考えると、躊躇いが出てしまうわけです。
何れにせよ、的を射ない質問ながら的確にご回答いただけたこと、ありがたく思います。
その他、お気づきの点などございましたらご指摘下さいますよう、よろしくお願いいたします。
0736デフォルトの名無しさん
2014/10/10(金) 01:27:23.22ID:J/PhW3d6Mediatorパターンがピッタリだと思うで調べてみてください
0737デフォルトの名無しさん
2014/10/10(金) 13:22:07.51ID:T0LFFi4l0738デフォルトの名無しさん
2014/10/10(金) 20:23:10.07ID:f/axCad2ご返信ありがとうございます。
現在調べてる最中でして、まだなんとも言えませんが・・・
0739デフォルトの名無しさん
2014/10/10(金) 22:02:11.51ID:9sDXKy/D~/mycode/homepageの仮想環境
~/mycode/toukeiの仮想環境を作った場合
ディレクトリを移動して手動でactivateコマンドを実行するのが面倒くさいんですけど
こういうのはどうやってますか?
0740デフォルトの名無しさん
2014/10/10(金) 22:18:29.54ID:ssRlZAm7あなたも出来損ないなら高望みを止めた方がいいですよ
0741デフォルトの名無しさん
2014/10/10(金) 23:51:16.79ID:ZRNQwYeipyenvを使いたくない理由は何ですか?
とても便利だと思うんですけど。
0742デフォルトの名無しさん
2014/10/10(金) 23:58:21.31ID:9sDXKy/D0743デフォルトの名無しさん
2014/10/11(土) 11:52:33.43ID:zlAuz39Zhttps://github.com/s1341/pyenv-alias/blob/master/README.md
0744デフォルトの名無しさん
2014/10/11(土) 12:05:56.05ID:WAdfmHXI0745デフォルトの名無しさん
2014/10/11(土) 12:25:17.23ID:1gHC+Rt5プラス、使いたいバージョンが入れられないからです3.4.2
0746デフォルトの名無しさん
2014/10/11(土) 12:41:00.76ID:zlAuz39Zバージョンに拘るならバージョンは正確に言えよ
シェルのcdとpushd上書きするような関数定義して
裏でactivate実行すればいい
簡単だろ?
0747デフォルトの名無しさん
2014/10/11(土) 12:47:27.96ID:1gHC+Rt5それちょっとやってみます
0748デフォルトの名無しさん
2014/10/11(土) 21:50:31.12ID:c/9/8F6M0749デフォルトの名無しさん
2014/10/12(日) 06:59:18.33ID:rVMmKUVBエラーの内容は「無効なトランザクションがロールバックされるまで再接続出来ない」との事なんですが無効なトランザクションが自動で消えるようにするにはどうすれば良いのでしょうか?
ファイルを3つに分けているのでimportの方法に問題ありなんですかねぇ…。
0750デフォルトの名無しさん
2014/10/12(日) 07:20:35.87ID:Z8ok/lvr0751デフォルトの名無しさん
2014/10/12(日) 19:15:57.10ID:XcZcZSTO2.7系と3.4系の両方の環境が作れるんで便利だと思うんですが。
0752デフォルトの名無しさん
2014/10/12(日) 19:25:22.45ID:WmFvY6mV0753デフォルトの名無しさん
2014/10/12(日) 19:25:33.71ID:OFZFdMRu0754デフォルトの名無しさん
2014/10/12(日) 20:08:00.64ID:iMtIS90f0755デフォルトの名無しさん
2014/10/12(日) 21:42:24.87ID:xW6MFRgaそっとしといてやれよ。。。
たぶん環境変数でPATHの順番がとか言われるよ
0756デフォルトの名無しさん
2014/10/12(日) 23:12:20.59ID:5gtQJftx2/3系の切り替えも32/64bitの切り替えもオプション1つかshenangでできるし
0757デフォルトの名無しさん
2014/10/12(日) 23:36:36.47ID:bfCObt5l3.2 と 3.3 というように Python のバージョン違いを使う時にメリットがあるのでしょうか?
今は、3.4 しか使っていません。
0758デフォルトの名無しさん
2014/10/13(月) 00:00:28.67ID:3SkqDiWm0759デフォルトの名無しさん
2014/10/13(月) 00:05:41.38ID:lbLLPSKHこの機能何に使うんですか?存在する意味が分かりませんって
聞いてるこっちは酷いマヌケに遭遇した気分になるよ
0760デフォルトの名無しさん
2014/10/13(月) 00:33:39.49ID:AakrwsYM0761デフォルトの名無しさん
2014/10/13(月) 00:36:01.73ID:AakrwsYMこういう質問とその回答、大事なことだと思うけどね
0762デフォルトの名無しさん
2014/10/13(月) 10:05:10.08ID:UJCB5jQM自分がそのレベルに達してないだけなのに
自分は悪くないと思ってるところが厨房の厨房たる所以
0763デフォルトの名無しさん
2014/10/13(月) 11:12:44.57ID:UiUWyauZ環境ごとにパッケージをインストールしたい時に仮想環境を作ればよい
0764デフォルトの名無しさん
2014/10/13(月) 11:30:40.19ID:DJNIhGJv例えばライブラリーを作成するとき
動作環境を時間かけてアップする時(3.2, 3.4 どっちでも動くようにしていく)
他にも色々あるよ
0765デフォルトの名無しさん
2014/10/13(月) 12:00:49.83ID:YZWgIN5KPythonのバージョンだけじゃない。ライブラリも同じ。
二つのアプリfoo,barがあったとして、fooはAとBというライブラリが必要、barはBとCが必要な場合、
グローバルな環境にA, B, C全部いれるのはあまり良くない。
仮にfooでBのバージョンをあげたいけど、barではあげたくないってなったら、どちらかでBの入れ方を変えなければいけなかったり、
設定やコードを変更しなければいけないかもしれない。
仮想環境ならfooが動いてる環境でpip install B==versionするだけでいい。
0766デフォルトの名無しさん
2014/10/13(月) 12:03:36.97ID:YZWgIN5K0767デフォルトの名無しさん
2014/10/13(月) 16:06:42.37ID:k1sWPTWWありがとうございます。
commitを入れたらブラウザ上のエラーが無くなりました。
今はブラウザを更新する度にクエリの内容を表示したりしなかったりをランダムに繰り返しています。
表示しなかった時のログを見ると
SIGPIPE:writing to a closed pipe/socket/fd
でした。
一部だけ切断されるのはまだ何かの記述が足りないのでしょうか?
0768デフォルトの名無しさん
2014/10/13(月) 16:16:02.40ID:R2vIvTaj0769デフォルトの名無しさん
2014/10/13(月) 17:00:43.37ID:yFRqmPNp0770デフォルトの名無しさん
2014/10/14(火) 02:25:34.98ID:wbq8rtwFa = [a[i:i+3] for i in range(0, len(a), 3)]
print(a)
一次元リストを二次元リストにするコードです
別の書き方を教えてください
0771デフォルトの名無しさん
2014/10/14(火) 03:03:11.24ID:VNVYyJ0edef xl(ls, stp):
return [ls[i:+stp] for i in range(0, len(ls), stp)]
a = list(range(0, 10))
b = xl(a, 3)
c = xl(a, 2)
こんな感じ
関数の中身は流用w
0772デフォルトの名無しさん
2014/10/14(火) 03:09:59.40ID:zVB4iXSQHaskellにはsplitEvery(a.k.a chunk)という関数がある。参考までに
http://hackage.haskell.org/package/split-0.1.1/docs/src/Data-List-Split-Internals.html#splitEvery
0773デフォルトの名無しさん
2014/10/14(火) 03:10:36.07ID:n0LsyPEe0774デフォルトの名無しさん
2014/10/14(火) 03:15:26.45ID:pTBqpiFp775です。
自己解決しました。
engine = create_engine(uri, pool_recycle=MySQLのwait_timeより短い時間)
とする事で切断されなくなりました。
interactive_timeoutとwait_timeoutを
8時間から60秒に変更していたので
1分後の更新でエラーが出るようになっていたようです。
(もし8時間のままだったら8時間後からエラーが出るのかは謎ですが…)
0775デフォルトの名無しさん
2014/10/14(火) 03:21:09.04ID:lBWRGPCr0776デフォルトの名無しさん
2014/10/14(火) 03:29:39.19ID:pTBqpiFpすいません。
767でした。
0777デフォルトの名無しさん
2014/10/14(火) 03:52:57.78ID:2EiwlIPPhttp://ideone.com/kxB0cX
書き終わってから>>772を見たらあああってなった
0778デフォルトの名無しさん
2014/10/14(火) 21:28:51.98ID:pTBqpiFpチュートリアルやググった時に出てくる記事には検索だけの場合はcommitやrollbackが必要とは書いていないのですが、なぜロールバックされてないというエラーが出るのか不思議です。
パーフェクトPythonを参考に以下のような関数やメソッドを記述した場合はエラーが出ません。
def kensaku():
try:
result = 検索内容.one()
return result
session.commit()
except:
session.rollback()
finally:
session.close
このままでは全てのクエリにtry except finallyを付ける事になってしまいます。他にロールバックのエラーを出さない書き方ってありますか?
0779デフォルトの名無しさん
2014/10/15(水) 02:45:30.91ID:J+WRCzbK0780デフォルトの名無しさん
2014/10/15(水) 07:47:48.72ID:caHw/4to0781デフォルトの名無しさん
2014/10/15(水) 13:01:35.81ID:zl/yfVrdwtformsやdeformでやってるんでしょうか?
どちらも扱いにくいことこのうえないんですがおすすめのフォームライブラリありませんか?
0782デフォルトの名無しさん
2014/10/15(水) 13:34:28.98ID:OgUxeFYnhttp://kanae.2ch.net/test/read.cgi/php/1329996601/
0783デフォルトの名無しさん
2014/10/15(水) 13:49:01.21ID:6UPjvDQa0784デフォルトの名無しさん
2014/10/15(水) 13:58:23.34ID:y5p6iW7A0785デフォルトの名無しさん
2014/10/15(水) 15:56:44.67ID:b6Lq5BMW合ってない
ていうかJSPとJava Servletが同じものじゃないし
0786デフォルトの名無しさん
2014/10/15(水) 16:24:20.43ID:C/JjrqVa0787デフォルトの名無しさん
2014/10/15(水) 16:30:00.58ID:y5p6iW7Aなっちゃってるからなあ。
なんでそんな名前にしたんだろ?
python関連はpyを付けるのが慣例みたいになってるのに。
0788デフォルトの名無しさん
2014/10/15(水) 18:50:43.08ID:ecrFBKrnPythonではPEP3333で定義されてる
http://legacy.python.org/dev/peps/pep-3333/
それを実装してるライブラリがwsgiref
https://docs.python.org/3/library/wsgiref.html
apacheモジュールはmod_wsgi。mod_pythonはもう開発がとまってる。
https://github.com/GrahamDumpleton/mod_wsgi
フレームワークはPyramid、Django、fluskなどなど
JSPとJavaServletは知らん
0789デフォルトの名無しさん
2014/10/15(水) 18:52:55.90ID:ecrFBKrnWSGI is the Web Server Gateway Interface. It is a specification that describes how web server communicates with web applications, and how web applications can be chained together to process one request.
WSGI is Python standard described in detail in PEP 3333.
(WSGI.org, http://wsgi.readthedocs.org/en/latest/what.html#what-is-wsgi)
0790デフォルトの名無しさん
2014/10/15(水) 19:09:00.27ID:oTkKZ4Eq0791デフォルトの名無しさん
2014/10/15(水) 22:46:10.27ID:rB995LuXencoding' is an invalid keyword argument for this function
ってエラーが出るんですけどpython2.7ではどう書けばいいですか?
ここ見て書いたので記述は間違ってない気がするんですがお手上げです
http://docs.python.jp/2/howto/unicode.html
0792デフォルトの名無しさん
2014/10/15(水) 22:55:16.48ID:Id/STamp組み込みの open じゃなく
import codecs からの codecs.open
0793デフォルトの名無しさん
2014/10/15(水) 23:32:35.53ID:rB995LuXcodecs使えば2系でも3系でも使えますね
0794デフォルトの名無しさん
2014/10/16(木) 00:18:06.43ID:JRVJ27N0何でPython2.7でencoding' is an invalid keyword argument for this functionっていうエラーがでるんですか?っていう質問じゃなかったのか・・
0795デフォルトの名無しさん
2014/10/16(木) 07:28:47.07ID:GRIRO8vO0796デフォルトの名無しさん
2014/10/16(木) 07:44:01.13ID:fmheqVVd0797デフォルトの名無しさん
2014/10/16(木) 16:01:17.38ID:CsOFEKWu理解不能な世界。組み込み用のmrubyやJavaScriptですら公開されてるソース読んですぐ理解出来る代物ではない。
だれがどのように保守するかは大きな問題。カーネルや開発者の高齢化問題も発生する。
経済が破綻すればオープンソースは資金調達や人員の確保問題で保守がどうなるか不明なところがある。
そうなると伝統的プロプライエタリなOSや言語が長期的には有利かもしれない。
0798デフォルトの名無しさん
2014/10/16(木) 16:57:50.55ID:KDVTqClB0799デフォルトの名無しさん
2014/10/17(金) 00:43:21.82ID:JX57Rjwu必須ではないんですか?
猿でも分かるように教えてください。
0800デフォルトの名無しさん
2014/10/17(金) 00:57:11.22ID:Db3yDsQbPython で this は使わない。
self については、Python の初心者向けのドキュメントでは100%説明されてる。
つまり、簡単に言うと、ググれ。
ググってそれ読んでわからなかったときにその何がわからないかを聞け。
0801デフォルトの名無しさん
2014/10/17(金) 00:59:36.64ID:tGTslkxIこの「ゴリラに売るバナナ」と「チンパンジーが持ってきたバナナ」という2つのバナナを区別するのにselfを使います
self.banana ←ゴリラに売る予定のバナナ
banana ← チンパンジーが持ってきたバナナ
もし、「ゴリラに売るバナナ」 = 「チンパンジーが持ってきたバナナ」ならば
self.banana = banana
というふうに書けます
バナナが2つ存在していてもこれなら見分けがつけられますね
こうしてオランウータンはバナナをゴリラに売れましたとさ
0802デフォルトの名無しさん
2014/10/17(金) 03:36:34.48ID:DGojcH6F0803デフォルトの名無しさん
2014/10/17(金) 05:58:42.93ID:C+N94CAc意味不明
0804デフォルトの名無しさん
2014/10/17(金) 06:22:40.00ID:g6ZBfCoZアドバイスを読んでからあれこれ試してみたのですが方法がわかりません。
検索のクエリ自体が
session.query(…
で始まっているので
session = Session()
を書かないと動いてくれません。
これを書くとrollbackやcloseなどを書かないと後からエラーが出てしまいます。
どう書けばトランザクション無しで検索する事が出来るのでしょうか?
0805デフォルトの名無しさん
2014/10/17(金) 06:26:20.65ID:o5eX2ePN↓
Ptyhonのクラス・インスタンスの典型的なコード・使用例を調べる
↓
例の中でselfがどういう役割を演じているかを理解する
↓
selfという名称が慣習的なものに過ぎず実は何でも良いことを知ってショックを受ける
Pythonの場合、selfを理解するのにこれだけのステップが必要
全くの初心者には遠い道のり
自分でクラス・インスタンスを作ることのない企業のエンドユーザーや
ライトユーザーは知らなくてもよいだろう
オブジェクト指向の深い闇に足を踏み入れずに済むなら、それに超したことはない
0806デフォルトの名無しさん
2014/10/17(金) 07:15:57.68ID:JX57Rjwuわ、分からない、、、。
実際の超簡単なコードで、どのような役割があるのか教えてください。
一応、いろんなサイトを調べてはいるんですが、自分には理解できない説明ばかりです。
selfの何が分からないかすら分からないと言う状態で。
・何かを識別するための目印
というところまで分かりました。
0807デフォルトの名無しさん
2014/10/17(金) 07:30:41.82ID:QP1DIUi6>selfという名称が慣習的なものに過ぎず実は何でも良いことを知ってショックを受ける
↓
第一引数が self じゃなくて class のときもあることを知ってさらにショックを受ける
0808デフォルトの名無しさん
2014/10/17(金) 07:45:20.05ID:o5eX2ePNそんな使い方もあるの?
深淵に足を踏み入れなくてよかったとつくづく思うよ
自分でクラスを書いたり人の書いたクラスを読んだりすることなく
人生を終えられたら、それは幸せなことだよね
0809デフォルトの名無しさん
2014/10/17(金) 08:05:56.76ID:QP1DIUi60810デフォルトの名無しさん
2014/10/17(金) 08:13:38.18ID:1uF0w0Svただのひとつの関数も作らずに
逐次処理と条件分岐とループだけで終えたい
0811デフォルトの名無しさん
2014/10/17(金) 08:23:21.73ID:as22cljEいろんなサイトをぐぐってはいるけど、和訳でもいいから公式のチュートリアルは見てないとかいう落ちある?
http://docs.python.jp/3.4/tutorial/classes.html#classes
0812デフォルトの名無しさん
2014/10/17(金) 08:27:54.84ID:as22cljE>C++ の用語で言えば、通常のクラスメンバ (データメンバも含む) は (プライベート変数 に書かれている例外を除いて) public であり、メンバ関数はすべて 仮想関数(virtual) です。
>Module-3 にあるような、オブジェクトのメンバをメソッドから参照するための短縮した記法は使えません: メソッド関数の宣言では、オブジェクト自体を表す第一引数を明示しなければなりません。
>第一引数のオブジェクトはメソッド呼び出しの際に暗黙の引数として渡されます。Smalltalk に似て、クラスはそれ自体がオブジェクトです。
0813デフォルトの名無しさん
2014/10/17(金) 08:28:49.08ID:as22cljE0814デフォルトの名無しさん
2014/10/17(金) 08:47:39.88ID:1uF0w0Svプログラム関連の説明書きは
C,C++の最低限の知識がある前提で書かれているものが多い
Cでいう〇〇だとか、C++の〇〇に相当する機能であるだとか。
オブジェクト指向系だと、それにsmalltalk,JAVAが加わる
それにもやっぱりCでいう〇〇とかいうのが出てくる
Cを知らない奴は相手にしませんって前書きに書いとけって何度思ったことか
0815デフォルトの名無しさん
2014/10/17(金) 08:52:57.89ID:as22cljE成り立たないのだとしたら、何故名前を出さなくても分かるようなチュートリアルにしてくれないのか・・
あと、ググれってプログラミングのアドバイスで最悪の答えだと思う
0816デフォルトの名無しさん
2014/10/17(金) 08:55:23.79ID:g6ZBfCoZどうぞ。
class Banana:
def __init __(self, iro, aji):
self.iro = iro
self.aji = aji
def check(self):
if self.aji is not "甘い":
print("「まだ駄目」")
bana1 = Banana("黄色", "甘い")
bana2 = Banana("緑色", "渋い")
bana2.check()
#「まだ駄目」
0817デフォルトの名無しさん
2014/10/17(金) 10:19:59.07ID:9Bl66x9H2.7を切り捨てた跡のLinuxにインストールされるデフォルトバージョンを3.4にしろよ
決して3.2とかいつまで使わせるんだよ
0818デフォルトの名無しさん
2014/10/17(金) 10:26:18.03ID:ynxMbyDc文字列の比較は is でやったらだめ
長い文字列だと == は True で is が False とか起こりうる
0819デフォルトの名無しさん
2014/10/17(金) 10:30:51.90ID:yTetx1VL切り捨てるどころか2020年までサポート延長しましたが?
まじワロリーヌですわ
0820デフォルトの名無しさん
2014/10/17(金) 10:31:50.74ID:3zlldvS3pyenv使ってるもののデフォルトが2じゃないとその辺でいちいち失敗するしストレスがマッハだわ
0821デフォルトの名無しさん
2014/10/17(金) 10:38:39.55ID:ETQxRSUePython 3.2
0822デフォルトの名無しさん
2014/10/17(金) 11:10:08.40ID:HZvg3la9確かに日本人がフランス語を習うときに
英語ではこういうことです
とか多言語の知識前提に教えられても困る罠
0823デフォルトの名無しさん
2014/10/17(金) 11:13:12.15ID:HZvg3la90824デフォルトの名無しさん
2014/10/17(金) 11:20:22.17ID:Lmpe/lkW0825デフォルトの名無しさん
2014/10/17(金) 11:21:58.60ID:ynxMbyDc第一 Module-3(ママ)とか誰も知らない
0826デフォルトの名無しさん
2014/10/17(金) 12:02:10.24ID:88x3y3TfSphinxみると3個なんです
0827デフォルトの名無しさん
2014/10/17(金) 12:09:07.22ID:HZvg3la90828デフォルトの名無しさん
2014/10/17(金) 19:14:55.01ID:iuzLbdxkオブジェクト指向プログラミング(OOP)は知ってますか?
OOPが分からないとその書き方であるselfは説明しづらいです
最初は標準ライブラリを使ってOOPを体験するのがいいと思います
datetimeあたりが身近な題材でお勧めです
↑考え方
オブジェクト指向プログラミング(OOP)
クラスベースのOOP
OOPをサポートするためのPythonの構文(selfはここ)
↓やり方
0829デフォルトの名無しさん
2014/10/17(金) 19:38:41.92ID:JhxOb/La0830デフォルトの名無しさん
2014/10/17(金) 20:19:23.52ID:Lmpe/lkW0831デフォルトの名無しさん
2014/10/17(金) 20:26:56.47ID:jIMeQkH10832デフォルトの名無しさん
2014/10/17(金) 20:29:15.71ID:JhxOb/Laインフラ系SE
体力勝負w
0833デフォルトの名無しさん
2014/10/17(金) 20:32:57.73ID:JX57Rjwuありがとう、分からない。
>>828
オブジェクト指向は、プログラムを部品として扱うことで、再利用したり・バグを少なくするって考え方ですよね。
クラスベースっていうのは、部品をクラスとして定義するということですか?
この程度のあいまいな理解はしているつもりですが、selfについてはまだ理解できません。
概念的なことだけでも、教えてください。
あとは理解できることを期待しながら、プログラムを組むつもりです。
blenderで使うためにpythonをやってるんです。
それと、__init__も躓いている部分です。
initって何でしょうか?初期化(変数の宣言と代入を同時に行う)のために使うと書いてありますが、どんな場合に役立つのですか?
0834デフォルトの名無しさん
2014/10/17(金) 20:47:35.45ID:JhxOb/Laなんか違ったらごめん
0835デフォルトの名無しさん
2014/10/17(金) 21:16:08.24ID:jIMeQkH10836デフォルトの名無しさん
2014/10/17(金) 21:18:23.89ID:as22cljE>initって何でしょうか?初期化(変数の宣言と代入を同時に行う)のために使うと書いてありますが、どんな場合に役立つのですか?
>このクラスのインスタンス生成操作 (クラスオブジェクトの “呼出し”) を行うと、空のオブジェクトを生成します。
>多くのクラスは、オブジェクトを作成する際に、カスタマイズされた特定の初期状態になってほしいと望んでいます。
>そのために、クラスには __init__() という名前の特別なメソッド定義することができます。
(http://docs.python.jp/3.4/tutorial/classes.html#class-objects)
0837836
2014/10/17(金) 21:27:47.09ID:as22cljE例えば、urllib.request.Requestだと
def __init__(self, url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None):
となってて、__init__内でself.full_urlにurlが定義される
__init__がなければ、いろんなところでurlを引数に要求しないといけないけど、インスタンス生成時にそれを渡してもらえばself.full_urlで他の関数からもアクセスできる
0838836
2014/10/17(金) 22:19:29.48ID:as22cljEていうか
>初期化(変数の宣言と代入を同時に行う)のために使うと書いてありますが
この初期化="変数の宣言と代入を同時に行う"って、どこに書いてあるの?
0839デフォルトの名無しさん
2014/10/18(土) 00:02:33.77ID:T+vEH8Sg教えていただけると助かります。
0840デフォルトの名無しさん
2014/10/18(土) 00:13:42.93ID:H02BWtzc0841デフォルトの名無しさん
2014/10/18(土) 01:21:14.02ID:SG/PMloy一時停止させたあとに再開する方法は、無いでしょうか。
threadingで呼び出している関数のなかで、While ループしてて
threadingのEvenがset()されたら、while抜ける仕組みで一時停止っぽい
ことはできたんですけど、またその関数を呼ぶことができない><
startは2回呼んじゃだめって
おこられちゃう。 ><
0842デフォルトの名無しさん
2014/10/18(土) 02:18:23.53ID:I9h7M137threading.Condition()
0843デフォルトの名無しさん
2014/10/18(土) 04:16:48.35ID:KHrmHp6N上手い説明が思い浮かばないのでselfの役割をサンプルで書きます
クラス定義の中に現れるselfと外で作られたdを見比べて下さい
import datetime
class MyDate(datetime.date):
def ja_date(self):
return '{}年{}月{}日'.format(self.year, self.month, self.day)
d = MyDate(2014, 10, 18)
print([d.year, d.month, d.day]) # [2014, 10, 18] と表示される
print(d.ja_date()) # 2014年10月18日 と表示される
0844デフォルトの名無しさん
2014/10/18(土) 04:37:41.95ID:KHrmHp6N他のプログラミング言語から引用せずに私の解釈でOOPを説明します
Q:オブジェクト指向プログラミング(OOP)とは?
A:オブジェクトを単位としてプログラムを組み立てていく設計方法
Q:オブジェクトとは?
A:関連性のあるデータや操作を結びつけてまとめた構造
Q:OOPの利点は?
A:関連するものをまとめることで可読性や改変の容易さが向上する
Q:クラスベースのOOPとは?
A:クラスと呼ばれるオブジェクトの設計図のようなものを作るOOPの方法
クラスを元に生成したオブジェクトは(クラス名)のインスタンスと呼ばれる
0845デフォルトの名無しさん
2014/10/18(土) 07:03:01.65ID:3SSW63UDscoped_session()とsessionmakerを以下のように設定すると
検索での一定時間経過後のエラーは出なくなりました。
○ Session = scoped_session(sessionmaker(autocommit=True, autoflush=True, bind=engine))
× Session = scoped_session(sessionmaker(bind=engine))
× Session = scoped_session(sessionmaker(autocommit=False, autoflush=True, bind=engine))
○ Session = scoped_session(sessionmaker(autocommit=True, autoflush=False, bind=engine))
0846デフォルトの名無しさん
2014/10/18(土) 07:06:57.69ID:3SSW63UDご指摘ありがとうございます。
知らなかったらどこかで躓いてしまうところでした。
0847デフォルトの名無しさん
2014/10/18(土) 11:02:42.30ID:BJVqhy6o超シンプルなクラスを、self抜きで作ってどうしてエラーが出るかって感じで説明してくれてる。
__init__についても同様。こっちは「初めてのPython 第3版」も理解しやすかったかな。
0848デフォルトの名無しさん
2014/10/18(土) 11:31:53.24ID:5/nDFz0B0849デフォルトの名無しさん
2014/10/18(土) 12:06:27.65ID:/bV95tiSselfはCではFILE*とかに相当すると思えば良い
0850デフォルトの名無しさん
2014/10/18(土) 13:01:55.22ID:5xJiSuw7星5つけてるコメントですら、これだけ分厚い理由を説明させてくれとか初級者にはどうだろうみたいなこと書いてあってわらった
いい本なんだけどね・・
0851デフォルトの名無しさん
2014/10/18(土) 13:07:11.05ID:5xJiSuw7いいところ : Pythonの全てをカバーしてる
悪いところ: Pythonの全てをカバーしてる
ひどいところ: Pythonの全てをカバーしてる
ほんと、いい本はいい本なんだけどね・・
0852デフォルトの名無しさん
2014/10/18(土) 13:10:43.43ID:jfF8Y5hTWindowsの例
ESC = '\x1b'
import msvcrt
while True:
print u'Loop中!'
#ESCキーが押されたらloop抜け出る
if msvcrt.kbhit():
inp = msvcrt.getch()
if (inp == ESC): break
0853デフォルトの名無しさん
2014/10/18(土) 13:17:07.05ID:bNW/9j5P0854デフォルトの名無しさん
2014/10/18(土) 13:24:51.85ID:ldjzaz8rf = Foo(); f.m() ってしたら Foo.m(f) が呼ばれて
self にレシーバである f が入る。それだけ
って言われても狐につままれた気分に違いない
0855デフォルトの名無しさん
2014/10/18(土) 14:39:22.87ID:mzkaImX0なるほど
しっくりくる
クラスメソッドとかスタティックメソッドの説明が不足してるけど
0856デフォルトの名無しさん
2014/10/18(土) 18:04:22.32ID:PLV+4ceY0857デフォルトの名無しさん
2014/10/19(日) 15:22:01.29ID:A7yyoHDTi = iter(foo)
next(i)
これだとキーは取り出せますが、ほしいのはキーではなく値のほうなのです。
教えてください。
0858デフォルトの名無しさん
2014/10/19(日) 15:40:15.81ID:n9kPv86G0859デフォルトの名無しさん
2014/10/19(日) 15:46:13.06ID:A7yyoHDTありがとうございます。
私の環境では、foo[next(i)] で動きました。
0860デフォルトの名無しさん
2014/10/19(日) 15:48:31.75ID:5cydbFt+0861デフォルトの名無しさん
2014/10/19(日) 18:22:53.59ID:7zD1n8to0862デフォルトの名無しさん
2014/10/19(日) 20:44:40.80ID:io6vECigdom = lxml.html.fromstring(html)
results = dom.xpath(xPath)
でやると取得結果がリストで出てきます
それはいいのですが、自分の使っているLinuxのPythonの使用で順不同で格納されてしまい困っています
これはどのようにすれば上から取得順に並べることができるのでしょうか?
0863デフォルトの名無しさん
2014/10/19(日) 20:57:20.20ID:pAlNrbxL回答ありがとうございます。
なるほど、分からないです。
前提知識が必要なので、今の段階で深く理解しようとしても、無駄かもしれないです。
ある程度いじくりながら、理解できる日を待ちます。
0864デフォルトの名無しさん
2014/10/19(日) 21:20:07.23ID:5cydbFt+ローカルに保存してある xml をパースしてもそうなるの?
できれば再現コードが欲しい
0865デフォルトの名無しさん
2014/10/22(水) 16:27:03.07ID:FR4rCNdUlogger = logging.getLogger(__name__)
でログを取っている複数モジュールのログを一括して設定するにはどうやるのが一般的でしょうか
import a, b
logger = logging.getLogger(*)
logger.setLevel(logging.DEBUG)
...
的なことをしたいです
モジュールa,bは色々なところから呼ばれる予定です
0866デフォルトの名無しさん
2014/10/22(水) 16:33:03.12ID:FR4rCNdUゴメンナサイゴメンナサイ
0867デフォルトの名無しさん
2014/10/22(水) 17:19:22.15ID:09vRtLa/0868デフォルトの名無しさん
2014/10/23(木) 03:57:22.24ID:Ji0zyhni<a href="./書籍A/">書籍A</a>
1.DBから書籍名を取得してURLエンコードして書籍名を作り、両方をテンプレートに送る。
2.DBから書籍名を取得して書籍名をURLエンコードする自作の関数に送る。書籍名と返ってきた書籍名をテンプレートに送る。
2は回りくどい気がするのですが、似たような処理がある時には使い回しが出来そうなのでどちらが良いか迷っています。
0869デフォルトの名無しさん
2014/10/23(木) 06:47:36.50ID:QsQhyUlJテンプレには<my書籍Alink>みたいな記述をしておく
"<a href="./書籍A/">書籍A</a>"を返す自作関数をつくる
自作関数に書籍名を渡して返って来た文字列をテンプレに送る
0870デフォルトの名無しさん
2014/10/23(木) 09:17:50.80ID:GQ45cZ/90871デフォルトの名無しさん
2014/10/23(木) 09:56:54.18ID:Ji0zyhni<my書籍Alink>の部分が初心者の私にはハイレベル過ぎて…。
>>870
jinja2です。
このブログ記事を参考にして作っています。
http://x1.inkenkun.com/archives/221
0872デフォルトの名無しさん
2014/10/24(金) 16:23:10.66ID:xqerE7s/PTVS 2.0: A quick overview (2-4 mins per feature)
https://www.youtube.com/watch?v=JNNAOypc6Ek
0873デフォルトの名無しさん
2014/10/24(金) 17:30:21.32ID:sqdwGTiq0874デフォルトの名無しさん
2014/10/24(金) 19:55:56.42ID:sV6ypEtj>>872はお前だよ?
気づいてなかったの?
0875デフォルトの名無しさん
2014/10/24(金) 20:13:39.60ID:tktTiC6I0876デフォルトの名無しさん
2014/10/24(金) 20:26:13.39ID:geiPH72p0877デフォルトの名無しさん
2014/10/24(金) 20:27:37.89ID:geiPH72pレスだ
0878デフォルトの名無しさん
2014/10/26(日) 20:39:38.29ID:riJkIcxuデバッグなどでその辞書を使うモジュールを何回も実行する必要があるとき,
実行する度に一からこのデータをメモリに載せるのですごく時間がかかってしまいます
最初の一回だけデータをメモリ上に載せておいて,モジュールを実行するときにはそれを呼び出すような方法ってありますか?
0879デフォルトの名無しさん
2014/10/26(日) 21:29:38.02ID:zGPdvemQdef getDic(static=[]):
if static:
d = static[0]
else:
with open("picklefile", "rb") as f:
d = pickle.load(f)
static.append(d)
return d
0880デフォルトの名無しさん
2014/10/27(月) 08:45:28.81ID:h6rnjEJCcPickle
使ってる?
> 実行する度に一からこのデータをメモリに載せる
って、詳細を考えると「読み込み」と「変換」があるけど、知ってました?
disk ==> on memory(=data)
の read に時間がかかってるとは思わなかったり。
data ==> Python object
の変換に時間がかかってるんじゃないの?
s1 = datetime.datetime.now()
with open("a.txt") as f:
data = f.read()
e1 = datetime.datetime.now()
s2 = datetime.datetime.now()
d = cPickle.loads(data)
e2 = datetime.datetime.now()
(e1 - s1).total_seconds()
(e2 - s2).total_seconds()
len(data)
↑で、disk => on memory の所要時間計測した上での話?
参考までに、
len(data)
の値を教えて欲しかったり。
0881デフォルトの名無しさん
2014/10/27(月) 08:52:19.95ID:52HwiArl後者の話に決まってるじゃん
0882デフォルトの名無しさん
2014/10/27(月) 21:28:52.19ID:fzHl9qmNコード的に簡単なのは、インタプリタを動かして、その pickle ファイルを読み込んで辞書にしておいて、
デバッグは、スクリプトを import して main() を呼び出すときにその辞書を引数で渡せるようにする。
ってとこかな。
0883デフォルトの名無しさん
2014/10/28(火) 00:27:51.08ID:tEBKTM0x分と秒はいらないんです
0884デフォルトの名無しさん
2014/10/28(火) 00:29:47.95ID:ojgQDR0D0885デフォルトの名無しさん
2014/10/30(木) 22:59:39.13ID:HS4ua6vIhttp://hrog.net/2014102910652.html
0886デフォルトの名無しさん
2014/10/30(木) 23:03:18.90ID:isG01Zqw0887デフォルトの名無しさん
2014/10/30(木) 23:24:23.71ID:PI4dm/7fRubyはやっぱり声がでかいだけだった
0888デフォルトの名無しさん
2014/10/30(木) 23:45:16.46ID:dZ1XAJfS安すぎだろ
0889デフォルトの名無しさん
2014/10/30(木) 23:47:05.44ID:lt8zMZcQそんなことない
スキル普通な個人事業主だけど、消費税払ってる
0890デフォルトの名無しさん
2014/10/30(木) 23:55:28.58ID:Hek/m3sUその供給不足で値段が上がってるだけみたいじゃん。
0891デフォルトの名無しさん
2014/10/30(木) 23:55:35.10ID:isG01Zqw0892デフォルトの名無しさん
2014/10/31(金) 00:13:48.49ID:KvLV+3P1どのスレに言ってんの?
0893デフォルトの名無しさん
2014/10/31(金) 01:23:34.23ID:3qU5wYGK0894デフォルトの名無しさん
2014/10/31(金) 01:24:30.35ID:pjs8kMNX0895デフォルトの名無しさん
2014/10/31(金) 03:39:39.85ID:P9Nu5aP40896デフォルトの名無しさん
2014/10/31(金) 07:22:03.28ID:7zJ4k6z8減りこそすれ増えるわけがない
同じデータを見てるのに
どうしてこう見当違いの分析をしてしまうのか
0897デフォルトの名無しさん
2014/11/01(土) 08:31:19.58ID:90vZMt3f0898デフォルトの名無しさん
2014/11/01(土) 09:10:39.66ID:VFzoWWB5そんな誤差を加味しても大勢に影響はない
それともなんだ、サイレントマジョリティを考慮に入れるとPHP抜くのか?
0899デフォルトの名無しさん
2014/11/01(土) 09:13:47.40ID:N73zy/Fb0900デフォルトの名無しさん
2014/11/02(日) 20:06:38.84ID:SOlT2V06プログラム経験はありです(C、C++)。
0901デフォルトの名無しさん
2014/11/02(日) 20:09:22.82ID:q60nWMQW0902デフォルトの名無しさん
2014/11/02(日) 20:15:29.95ID:YUqViWJV0903デフォルトの名無しさん
2014/11/02(日) 20:19:26.23ID:SOlT2V060904デフォルトの名無しさん
2014/11/03(月) 03:25:54.23ID:Di6XQAPlC,C++できるなら
わからなくなったらググればいい。
どうしても本欲しいなら導入だけ立ち読みしてこい
0905デフォルトの名無しさん
2014/11/03(月) 05:09:22.47ID:VWaLlR99色々教えてくれるのでありがたい
0906デフォルトの名無しさん
2014/11/03(月) 09:30:07.60ID:QyHwFOCC0907デフォルトの名無しさん
2014/11/03(月) 10:29:38.49ID:nLUJkLOAパイプでMoreに流したときに出る
Error 32 Broken pipe
対策はどの様にすればいいですか?
linuxで動いたSIGDFLすげ替えは動かないです。
0908デフォルトの名無しさん
2014/11/03(月) 10:51:57.75ID:Avy9gAi60909デフォルトの名無しさん
2014/11/03(月) 10:52:38.02ID:1DGR/mlSググレばたくさん情報出てきたけど
0910デフォルトの名無しさん
2014/11/03(月) 12:21:46.10ID:/LBlrvfE0911デフォルトの名無しさん
2014/11/03(月) 16:15:22.47ID:uequofEAあるある
0912デフォルトの名無しさん
2014/11/03(月) 17:29:57.88ID:ZPswqtEsどうにか対処ってできないでしょうか・・・
0913デフォルトの名無しさん
2014/11/03(月) 17:35:18.77ID:0K+wdDei会社のマシンだから勝手にインストール出来ないみたいな野暮ったい話だったらよそで頼む
0914デフォルトの名無しさん
2014/11/03(月) 17:42:38.10ID:DIbDX8rGいえ、ググって出てきたimport Signalの対処方法は
Windows側だとエラーになります。
linux側だと動いたのですが。
Windowsでの対処方法をご存知でしたら教えてください。
0915デフォルトの名無しさん
2014/11/03(月) 18:00:36.84ID:dwLQKZMT0916デフォルトの名無しさん
2014/11/03(月) 18:01:38.54ID:fCTDh+nn0917デフォルトの名無しさん
2014/11/03(月) 18:25:53.05ID:h0bCYlRL0918デフォルトの名無しさん
2014/11/03(月) 19:57:32.33ID:s8zBySEApyenv
0919デフォルトの名無しさん
2014/11/04(火) 00:08:00.58ID:mqsyZeNn0920デフォルトの名無しさん
2014/11/04(火) 00:09:52.29ID:IGG5lb2v0921デフォルトの名無しさん
2014/11/04(火) 01:37:33.87ID:UXBRaFURたくさん書けって言うけどなにができるんかわからん。
0922デフォルトの名無しさん
2014/11/04(火) 01:44:22.22ID:YXHSIUkBこれとかどうよ?時間あったらやってみたら
http://www.ioi-jp.org/joi/problem_archive-light.html
0923デフォルトの名無しさん
2014/11/04(火) 01:44:27.18ID:4hH2Cezv0924デフォルトの名無しさん
2014/11/04(火) 02:09:55.22ID:UXBRaFURやってみる。ありがとうございます。
>>923
おれにいってる?
誰というか、ブログとか読み漁ってるとそう言う人が多い。自分の個人の印象だが。
「たくさん書け」というのは、文章も書くことで上達するから妥当性あるかなとは思うけど
畑も違う初学者には辛いお言葉・・。それでも、多くの人は身に着けていったのだから言い訳かなぁ。
0925デフォルトの名無しさん
2014/11/04(火) 04:50:49.89ID:UYsaPI6O間違った書き方が身に付くだけ
0926デフォルトの名無しさん
2014/11/04(火) 07:10:54.42ID:5vxSHexSttp://www.python.jp/Zope/Zope/download/pythoncore
最新バージョン
Windows用インストーラ
python-3.3.0.msi
最新バージョンを入れたはずなのに
ttp://toro.2ch.net/test/read.cgi/tech/1350718465/631+634
> 631 python: failed to set __main__.__loader__
> 634 それバグ 自分でパッチあててビルドしないと直らない
とかあってびびったけど
ttp://www.python.org/downloads/
見たら 3.4.2 ってのがあって、それダウンロードしたらちゃんと動いたよかったメモ。
ttp://toro.2ch.net/test/read.cgi/tech/1350718465/3
> 最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも
やっぱり初心者はお勧め通りにするのがよさげ
0927デフォルトの名無しさん
2014/11/04(火) 07:28:04.75ID:SfeupY3V0928デフォルトの名無しさん
2014/11/04(火) 08:25:39.67ID:DEPGQlXz陳腐化した情報さらし続けるって最悪だよな
検索してて思うが、どれだけ世間の時間を無駄にさせてんだろ
0929デフォルトの名無しさん
2014/11/04(火) 09:38:44.93ID:obX3t5pP0930デフォルトの名無しさん
2014/11/04(火) 11:00:55.30ID:QoBkJ2+Q二年以上前
3.3の最新なのかと思ったら3.3.0だし、本当に放置してるんだな
3.3.0からだと脆弱性含めて結構な量の修正入ってるぞ
https://docs.python.org/3.3/whatsnew/changelog.html
最新ニュースが↓だし、移転作業で力尽きたのかな
>2012年8月18日、www.python.jpサーバを移転いたします。
>....
>大規模なリニューアルを行いたいと思ってますので、しばらくお待ち頂きますよう、お願いいたします。
(http://www.python.jp/Zope/Zope.1%3Cscript%3Ealert%28%29;%3C/script%3E)
0931デフォルトの名無しさん
2014/11/04(火) 11:01:55.66ID:QoBkJ2+Qhttp://www.python.jp/Zope/Zope.1
0932デフォルトの名無しさん
2014/11/04(火) 11:04:25.64ID:srrbBYWqそれぞれの環境ごとにipythonの起動時の処理を記述する方法をおしえてください
何個仮想環境を作ってもipythonの設定ディレクトリって~/.ipythonにしか作られないので
~/.ipython/profile_default\startup\init.pyに書くわけには行きません
0933デフォルトの名無しさん
2014/11/04(火) 11:21:01.17ID:MltjHLVy移転先は更新されてる
放置されてる古いドキュメントなんて消すか
新しいトップに飛ばすかすればいいのに
0934デフォルトの名無しさん
2014/11/04(火) 11:21:50.23ID:xwPH9Juu0935デフォルトの名無しさん
2014/11/04(火) 22:57:05.03ID:nb8eURc5まあそもそも>>933の言うとおりなんだけど。
0936デフォルトの名無しさん
2014/11/04(火) 23:06:44.25ID:5vxSHexS0937デフォルトの名無しさん
2014/11/05(水) 00:02:52.86ID:X+gBZ2Cn0938デフォルトの名無しさん
2014/11/05(水) 01:47:22.74ID:5zCHFfkSだからなに?
それはそのWikiに文句言う話じゃん。
0939デフォルトの名無しさん
2014/11/05(水) 01:48:07.33ID:9gbL5eJJググっても全然出てこないし、使ってないんですかね。
構造体の場合
<Field type=c_ulong, ofs=0, size=4>
<Field type=c_float, ofs=4, size=4>
c_float 型に データ投入
<Field type=c_ulong, ofs=0, size=4>
0.5468
共用体の場合
<Field type=c_ulong, ofs=0, size=4>
<Field type=c_float, ofs=0, size=4>
c_float 型に データ投入
<Field type=c_ulong, ofs=0, size=4>
ここでクラッシュ
↓ここの浮動小数点を使う方法を試したかっただけですが。
ビットを数える・探すアルゴリズム
ttp://www.nminoru.jp/~nminoru/programming/bitcount.html
0940デフォルトの名無しさん
2014/11/05(水) 01:53:05.20ID:X+gBZ2Cn古いままだってこと
0941デフォルトの名無しさん
2014/11/05(水) 01:59:29.69ID:5zCHFfkS何が?
0942デフォルトの名無しさん
2014/11/05(水) 08:08:27.65ID:IDA7DBTrお勉強スレの>>1には移転先のリンクがあるけど
このスレだけ見てても辿りつけない
0943デフォルトの名無しさん
2014/11/05(水) 09:45:13.65ID:6cY/hPez""
0944デフォルトの名無しさん
2014/11/05(水) 12:01:37.33ID:9gbL5eJJ.asString() でキャストするのは ctypes では出来ないらしく
str()もcast()もクラッシュします。
コードはこんな感じ
from ctypes import *
#class utest(Structure):
class utest(Union):
pass
utest._fields_ = [("i", c_uint),
("f", c_float)]
print(utest.i)
print(utest.f)
#utest.f = 0.5468
utest.f = cast(0.5468,c_float) ←これはミス
utest.i
print(utest.i)
#これ以降がクラッシュしたり
type(utest.f)
utest.f
print(str(utest.f))
print(cast(utest.f,c_float))
0945デフォルトの名無しさん
2014/11/05(水) 12:38:23.31ID:IDA7DBTr0946デフォルトの名無しさん
2014/11/05(水) 12:39:09.97ID:Ez8Dh1St0947デフォルトの名無しさん
2014/11/05(水) 13:15:47.45ID:9gbL5eJJ基本を押さえてないのに共用体で検索してたから実際のコードがさっぱり出てこなくて。
x = utest(f=0.5468)
print(x)
print(x.i)
print(x.f)
<__main__.utest object at 0x02E88D50>
1057749782
0.5468000173568726
0948デフォルトの名無しさん
2014/11/05(水) 13:28:25.60ID:DV/kt5feのようなリストを作りたいとき、どうやって記述するのが普通でしょうか?
range(1,101)と書いて作成できるのはわかりましたが、1〜100のリストなのに101がでてきてしっくりきません
なのでほかの書き方があるのではないかと思い質問してます
0949デフォルトの名無しさん
2014/11/05(水) 13:32:30.37ID:DuWLTClA0950デフォルトの名無しさん
2014/11/05(水) 13:33:05.30ID:DuWLTClArange(1, n+1)
0951デフォルトの名無しさん
2014/11/05(水) 13:43:14.04ID:DV/kt5fen=10
range(5,n+1)
とするのでしょうか?
うーんなんか結局直観的じゃなくてすっきりしないですね
0952デフォルトの名無しさん
2014/11/05(水) 14:00:40.81ID:6PdTuYg9だから
for x in range(6):
print 5 + x
きわめて直観的で判り易いじゃないか
0953デフォルトの名無しさん
2014/11/05(水) 14:20:23.38ID:DuWLTClAこんなところで足止めするようなレベルではない
0954デフォルトの名無しさん
2014/11/05(水) 14:29:16.83ID:YyHvdJxm0955デフォルトの名無しさん
2014/11/05(水) 14:37:31.07ID:DV/kt5feその従うべき郷を知りたかったので質問させてもらった次第です
>>952
要素数から考えるというのはたしかにしっくりしました
こんな風にすればよいですね
ありがとうございます
[i+1 for i in range(100)]
[i+5 for i in range(6)]
0956デフォルトの名無しさん
2014/11/05(水) 14:41:17.26ID:3/LWbB060957デフォルトの名無しさん
2014/11/05(水) 14:42:51.60ID:DV/kt5feこの結論は間違っているということ?
0958デフォルトの名無しさん
2014/11/05(水) 14:46:01.80ID:0NbMP57G0959デフォルトの名無しさん
2014/11/05(水) 14:49:41.62ID:0NbMP57G得られる結果は同じでも
計算量は確実に増えてるんじゃね
0960デフォルトの名無しさん
2014/11/05(水) 14:49:47.70ID:DV/kt5feみなさんは以下の関数をどう書くのでしょうか?
・5以上10以下の整数を含むリストを戻り値として返す関数
0961デフォルトの名無しさん
2014/11/05(水) 14:55:16.74ID:qk8qyFWipython2 -> range(-5, 11)
python3 -> list(range(-5, 11))
0962デフォルトの名無しさん
2014/11/05(水) 14:58:30.07ID:0NbMP57G......n = min
......while n <= max:
........yield n
........n += 1
...
>>> f = lambda min, max: list(g(min, max))
>>> f(5, 10)
[5, 6, 7, 8, 9, 10]
0963デフォルトの名無しさん
2014/11/05(水) 14:59:19.11ID:3/LWbB060964デフォルトの名無しさん
2014/11/05(水) 15:19:54.48ID:zEGSOnRu=> 5..10
irb(main):002:0> (5..10).class
=> Range
irb(main):003:0> (5..10).to_a
=> [5, 6, 7, 8, 9, 10]
0965デフォルトの名無しさん
2014/11/05(水) 16:18:08.94ID:rjAy3mh6おかえりください
てんてんなのかてんてんてんなのかいまだにおぼえられません
0966デフォルトの名無しさん
2014/11/05(水) 16:20:58.05ID:XPxSL9Pk0967デフォルトの名無しさん
2014/11/05(水) 16:21:43.43ID:eEJxm3Ur0968デフォルトの名無しさん
2014/11/05(水) 16:41:41.95ID:Awvl8HhMhttp://peace.2ch.net/test/read.cgi/tech/1415173201/
0969デフォルトの名無しさん
2014/11/05(水) 18:57:17.88ID:J5dkBHi7>>> def f(n, m):
return list(range(n, m + 1))
>>> f(5, 10)
[5, 6, 7, 8, 9, 10]
>>> l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> l[5:11]
[5, 6, 7, 8, 9, 10]
直感的じゃないとかいってないで慣れた方がいいと思う
むしろシーケンス型の要素の指定ってインデックス(0から数えて何番目)で指定するもんだし
0970デフォルトの名無しさん
2014/11/05(水) 19:07:16.44ID:IDA7DBTr0971デフォルトの名無しさん
2014/11/05(水) 19:51:09.90ID:FFOVrxV70972デフォルトの名無しさん
2014/11/05(水) 20:52:34.31ID:rjAy3mh60973デフォルトの名無しさん
2014/11/05(水) 21:45:48.79ID:85jo8McV0974デフォルトの名無しさん
2014/11/05(水) 22:19:11.44ID:aqzat7V70975デフォルトの名無しさん
2014/11/06(木) 06:23:09.51ID:oudJfJTT0976デフォルトの名無しさん
2014/11/06(木) 07:23:09.40ID:1AJgCGK+超初心者用スレなんだから
ネタ回答でレスするのはやめとけ
0977デフォルトの名無しさん
2014/11/06(木) 07:37:07.63ID:z2wp3D5Lrandrange [) わかる
randint [] は?
0978デフォルトの名無しさん
2014/11/06(木) 09:49:12.99ID:Jg48RgBochoice(range())を使えば良い
0979デフォルトの名無しさん
2014/11/06(木) 09:50:59.46ID:Jg48RgBorandom.randrange([start], stop[, step])
range(start, stop, step) の要素からランダムに選ばれた要素を返します。
この関数は choice(range(start, stop, step)) と等価ですが、実際には range オブジェクトを生成しません。
バージョン 1.5.2 で追加.
random.randint(a, b)
a <= N <= b であるようなランダムな整数 N を返します。
0980デフォルトの名無しさん
2014/11/06(木) 17:48:59.22ID:vn52qUON情報が古過ぎてあまり役に立たないと思うのですが。
0981デフォルトの名無しさん
2014/11/06(木) 17:51:14.34ID:i9PeqnZd気にせんでよろしい
0982デフォルトの名無しさん
2014/11/06(木) 17:51:24.65ID:ntLQp+bs0983デフォルトの名無しさん
2014/11/06(木) 18:40:10.70ID:aYOy4vHI質問してるふりをした宣伝乙
0984デフォルトの名無しさん
2014/11/06(木) 21:24:23.07ID:vn52qUONありがとうございます。
大変悲しい気分になりました。
0985デフォルトの名無しさん
2014/11/06(木) 22:30:43.53ID:M0f05I/w0986デフォルトの名無しさん
2014/11/06(木) 23:14:10.14ID:hvhAxXTC0987デフォルトの名無しさん
2014/11/07(金) 19:55:22.25ID:hhmEWezKソフトバンクが嫌いなのでソフトバンククリエイティブの本を宣伝する気なんてさらさらありません。
0988デフォルトの名無しさん
2014/11/07(金) 20:07:33.70ID:ZGbVWO010989デフォルトの名無しさん
2014/11/08(土) 09:33:36.81ID:3dfXBQLl気持ち判ります
わたしも出来るだけ避けてます
レス数が950を超えています。1000を超えると書き込みができなくなります。