トップページ⇒tech
1002コメント350KB

くだすれPython(超初心者用) その29©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net2016/02/18(木) 12:33:22.06ID:S96kZ0X7
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク 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デフォルトの名無しさん2016/02/18(木) 12:35:26.14ID:S96kZ0X7
●py3でshift-jisで表示できない機種依存文字をプロンプトに出力(解決)
丸1日かけてようやく解決した
環境:win10+VS2015+python3.5-64bit
str=”ハートなどの機種依存文字”
print(str)とした場合
・[デバッグ開始]だとpyhonのプロンプトが起動する(エラー*1)
エラー回避:print(str.encode("cp932","replace")(文字化け)
文字化け回避:ソース冒頭にos.system("chcp 65001")を記述
これにより、utf-8でプロンプトが起動する。その時にutf-8を規定に設定*2すると
os.system("chcp 65001")をしなくてもよくなる
・[デバッグ無しで開始]だとc:\windows\system32\cmd.exeが起動する(エラー*1)
上記と同じ
・[Excute Project in Python Interactive](問題なく表示される)
・バッチ経由で起動(文字化けせず表示される)
-run.bat-
chcp 65001
d:\Python35\python.exe PythonApplication1.py
pause

*1:cp932 cant encodeなんちゃら
*2:chcpがutf-8の状態の時に、右クリック>プロパティ>OK
で(規定とは表示されないが)規定に確定される

その他pythonやり始めて3日目で気づいたこと
pipでインストールするならVS上でした方がお手軽(Pillowとか)
0003デフォルトの名無しさん2016/02/18(木) 12:35:52.03ID:S96kZ0X7
ネットにはデマ情報がいっぱい残ってるので
正しい情報をメモ

cmd.exe
UTF-8
chcp 65001

cmd.exe のショートカット リンク先 %SystemRoot%\system32\cmd.exe /c start "UTF-8" cmd
このショートカットを起動してプロパティからフォントの設定(※ボールドフォントにチェックを入れる)
レジストリ \\HKEY_CURRENT_USER\Console\UTF-8 に
FaceName REG_SZ 適当
FontWeight REG_DWORD 0x0190
FontSize REG_DWORD 0x00120000
CodePage REG_DWORD 65001

http://nazochu.blogspot.jp/2011/08/blog-post_26.html
0004デフォルトの名無しさん2016/02/18(木) 12:40:08.04ID:S96kZ0X7
>>1
これも入れとけばよかった
https://try.jupyter.org/
0005デフォルトの名無しさん2016/02/18(木) 12:44:48.83ID:S96kZ0X7
>>2-3
あと Git についてくる bash (mintty) が UTF-8 に対応してて便利
0006デフォルトの名無しさん2016/02/19(金) 13:56:05.81ID:hw/X0Y/j
>>995
Brython
http://www.brython.info/
0007デフォルトの名無しさん2016/02/19(金) 19:05:59.22ID:wHiD4SHT
>いちもつ
0008デフォルトの名無しさん2016/02/19(金) 19:13:24.11ID:5RH0Tfsb
anacondaデカすぎなんですが
0009デフォルトの名無しさん2016/02/19(金) 19:56:16.23ID:daYsQTki
>>1
うむ、ご苦労
0010デフォルトの名無しさん2016/02/19(金) 20:31:53.62ID:4zpSEqGj
"Railsの基本理念 : Railsの生みの親が掲げる8つの原則"
http://postd.cc/rails-doctrine/

Ruby 故に Rails 有り
Ruby 故に プログラミング
0011デフォルトの名無しさん2016/02/19(金) 20:32:20.30ID:4zpSEqGj
Ruby、それは至高の存在
0012デフォルトの名無しさん2016/02/19(金) 21:28:49.46ID:4zpSEqGj
米国のRuby on Railsエンジニア平均年収が1300万円。なぜ米国のエンジニアの給与が高いか推測してみる
http://web-tan.forum.impressrd.jp/u/2014/12/10/18885
0013デフォルトの名無しさん2016/02/19(金) 22:16:27.14ID:ZJSn2tej
numpyについて質問させていただきます。

mat = [[1,2,3], [4,5,6]]
という2×3の行列を用意します。
この行列の0行めを2倍、1行めを3倍したいのですが、行列形式
v = [2, 3]
というベクトルを用意して、
out=mat*v
のように行列演算の形で表現するにはnumpyではどうすれば良いでしょうか。
0014デフォルトの名無しさん2016/02/20(土) 02:06:09.19ID:749NHuwC
vを列ベクトルで表現しましょう
v[:, np.newaxis]とすればできるはずです
0015デフォルトの名無しさん2016/02/20(土) 08:20:14.66ID:2LuQZdCE
beautifulsoup4の日本語ドキュメントが404になったそうな
きっと質問が増えるでしょうなあ
0016デフォルトの名無しさん2016/02/20(土) 08:27:24.06ID:MM5PC9JO
目的達成のため見様見真似でプログラマ様の書いたpythonを触ってみている初心者未満の者です。
http://blog.wizaman.net/archives/427
このページの下のほうのpythonコードを利用しようと思ったのですが、一つ目が終了後二個目の動画の作業を開始してくれる気配がありません。
うまく繰り返してくれないようなのですが対策をご存知の方がおられましたらどうかご教示よろしくお願いします。
0017デフォルトの名無しさん2016/02/20(土) 08:49:53.99ID:2LuQZdCE
わざわざAviUtlをインストールして試す気はさらさらないんで聞くけど
最後に出力されるprintはどれ?
0018デフォルトの名無しさん2016/02/20(土) 11:54:11.40ID:MM5PC9JO
>>17
>>わざわざAviUtlをインストールして試す気はさらさらない
もちろんでございます!

>>最後のprint
どの辺からおかしいのかそれで判明しうるわけですね!
その言葉をうけ最後のprintを読む為に、すぐ消えてしまうウィンドウを記録すべく画面動画キャプチャして調べたところ、
一つ目の変換のあと二つ目をスキャンしてる途中でエンコードを開始し、スキャンが終わっていない為にエンコードの開始に失敗し終了しているようでした。
そのため該当箇所にtime.sleep(50.000)を入れてみたところ大体希望通りの動作をするようになりました。
17さんの一言で無事解決いたしました。ありがとうございました。
0019デフォルトの名無しさん2016/02/20(土) 17:11:31.34ID:C1WV++I/
Pythonでsplitを使いリストにして取得したデータの先頭に邪魔な文字がひっついてきます
[u'取得したデータ']
[u'取得したデータ']
[u'取得したデータ']
...

って感じで出てきてこの「u」ってのが最高に邪魔です。
どうしたらよいんでしょうか・・・
0020デフォルトの名無しさん2016/02/20(土) 17:20:01.98ID:nWx+J+IP
>>19
unicode
0021デフォルトの名無しさん2016/02/20(土) 17:52:06.31ID:C1WV++I/
>>20
ありがとうございました
0022デフォルトの名無しさん2016/02/20(土) 18:14:05.74ID:9+Np4YM9
Cloud9で3系列使うことってできるの?
0023デフォルトの名無しさん2016/02/20(土) 21:33:04.54ID:tfd876FG
>>15
今度オライリーからスクレイピング本が出るのと何か関係があるんですかね?
0024デフォルトの名無しさん2016/02/21(日) 01:16:45.03ID:GEHiOhH4
>>22
tutorialに書いてあるから読めよ
マニュアルも探せない奴があんなもの続けられると思うなよ
0025デフォルトの名無しさん2016/02/21(日) 07:19:47.50ID:nTLfD9UI
>>24
サンクスコ。
0026デフォルトの名無しさん2016/02/21(日) 10:42:40.74ID:zmvsu5mb
>>19
君はこっちに引っ越すべき
http://peace.2ch.net/test/read.cgi/tech/1455271513/
0027デフォルトの名無しさん2016/02/21(日) 12:07:18.49ID:sfJNcPol
なんの拍子にこうなったか、pyファイルを右クリックしてもedit with idleが出なくなったし、昨日まで正常に動いてたpyファイルをダブルクリックしてもsyntax error…
pythonなんか嫌いだ
0028デフォルトの名無しさん2016/02/21(日) 12:22:22.33ID:sfJNcPol
パソコン再起動したらうまくいくようになった
…pythonなんか嫌いだ
0029デフォルトの名無しさん2016/02/21(日) 12:52:21.01ID:vvUk+ASg
PythonじゃなくてOSが糞なだけだろ
0030デフォルトの名無しさん2016/02/21(日) 13:44:53.43ID:7pFSlpBi
素人がパソコン壊した時に限って何もしてないって言うからな
(Windowsは本当に何もしなくても壊れるけどネ)
0031デフォルトの名無しさん2016/02/21(日) 14:40:58.87ID:RrLREyF7
Macだったらものすごくやる気と効率が上がるんじゃないかと幻想は抱いてるわ
0032デフォルトの名無しさん2016/02/21(日) 20:34:58.09ID:nSeDHc6M
>>26
Pythonやりたいんです(`・ω・´)
0033デフォルトの名無しさん2016/02/21(日) 20:35:49.65ID:CQH7KLjp
しかしmacbookはwindowsノートと比べて高い・・・
0034デフォルトの名無しさん2016/02/21(日) 20:35:54.84ID:mOR+hll2
それは病気だよ
0035デフォルトの名無しさん2016/02/22(月) 06:05:48.36ID:Ce5mTODY
抽象基底クラスABCがありABCを継承しメソッドを定義したクラスXがあります。
クラスXを継承し一部のメソッドだけをオーバーライドしてクラスYを作りたいのですが、この場合YでもABCの全てのメソッドを実装するものなんでしょうか?
しなくても動いてはいるんですが・・・IDE変えたら注意が出て気になりました。
0036デフォルトの名無しさん2016/02/22(月) 12:18:22.84ID:Y1bHL8fN
>>32
割とマジでJuliaはPythonよりUnicodeの扱いが親切だと思うω
0037デフォルトの名無しさん2016/02/22(月) 12:19:27.13ID:Y1bHL8fN
>>35
しなくていい
0038デフォルトの名無しさん2016/02/22(月) 18:33:39.92ID:QLpZ1xcH
>>36
どの辺が?
0039デフォルトの名無しさん2016/02/23(火) 20:13:02.11ID:gZhXf5zg
>>8
minicondaをインストールしてあとは必要なライブラリだけ
condaを使ってインストールするといいですよ
0040デフォルトの名無しさん2016/02/27(土) 18:37:02.21ID:DcvSI5ef
pythonからGmailを操作してはてなブログへと投稿しているのですがブログを見ると文字化けが起きます。
自分ではてなブログ用のGmailを作成すると文字化けがおこならいのでpythonの部分に問題があると思っています。
以下に使用しているプログラムを記載しますので、どうすれば文字化けが直るかアドバイスをください。

http://ideone.com/bbtjqu
0041デフォルトの名無しさん2016/02/27(土) 18:45:15.19ID:pjbHtYaF
本文とタイトルの文字コード指定してないけど
指定しなくていいものなのか?
0042デフォルトの名無しさん2016/02/27(土) 18:51:49.13ID:DcvSI5ef
文字コード指定なしでGmailの送信履歴ではちゃんと日本語で送信できます。
しかし、はてなブログで文字化けするのはそこが原因かもしれませんね。
0043デフォルトの名無しさん2016/02/27(土) 20:12:37.59ID:oBoQ6DJP
はてなブログにはUTF-8じゃなくてiso-2022-jpで送らないとだめとか条件はない?
MIMETextは_charsetキーワードでエンコードを明示しないとasciiかutf-8にするはず
0044デフォルトの名無しさん2016/02/27(土) 20:26:39.86ID:NGoIxJDI
いやマジでここ最近オッパイソンさんのリリースラッシュは何なの?
3月にも出るし毎月数冊出てねえか?www
0045デフォルトの名無しさん2016/02/27(土) 21:39:44.70ID:72orIAoJ
>>8
minoconda は?

参考
pyenvとminiconda3で数値計算環境構築 - Qiita
ttp://qiita.com/edvakf@github/items/feb7f0f077d3830725c6

※
Python(xy)はもっとデカイぞっと
あとEnthought Canopy
0046デフォルトの名無しさん2016/02/27(土) 21:41:22.69ID:72orIAoJ
>>40>>39
概出だた…orz
0047デフォルトの名無しさん2016/02/27(土) 21:45:58.67ID:kT2Kz8qX
ハードディスクの場所を指定するのにスラッシュじゃなくて円マーク¥使ってるんだけど、
いつの間にか¥が/に書き換わってる事がある。
なんかそういう事ってあります?
0048デフォルトの名無しさん2016/02/27(土) 21:51:33.81ID:kT2Kz8qX
あ、ごめんなさい
スラッシュが¥に変わるんだ
0049デフォルトの名無しさん2016/02/28(日) 14:01:00.07ID:PW8h2gxN
パス区切りを、/ で書いておいて、
Windows環境なら自動的に、\ に変わるのかな?

確か、Ant でもそういうやり方だった
0050デフォルトの名無しさん2016/02/28(日) 15:44:34.06ID:svY+4hTd
リストかどうかを調べるときにisinstance(arg, list)と書くと思うのですが
functionかどうかを調べたい時はどう書くのでしょうか?
0051デフォルトの名無しさん2016/02/28(日) 15:53:52.93ID:JV5n/VHC
>>50
組み込み関数の callable
http://docs.python.jp/3/library/functions.html#callable
0052デフォルトの名無しさん2016/02/28(日) 15:54:28.67ID:kYd0kHZJ
isinstance(arg, def)
0053デフォルトの名無しさん2016/02/28(日) 15:54:58.63ID:grWI4Lyl
hasattr(arg, '__call__')

typesモジュールにFunctionTypeってのがあるが
あれは直感的でないので使用すべきでない
0054デフォルトの名無しさん2016/02/28(日) 16:03:03.43ID:svY+4hTd
ありがとうございます
助かりました
0055デフォルトの名無しさん2016/03/01(火) 12:06:38.17ID:lOkufTHc
list1 = [
[1,1,1,1,1],
[1,1,0,1,0],
[1,1,1,0,1],
]
このリストの[0][2]を左上の頂点と捉えて右下の[2][4]までの範囲を別の変数に入れて[
[0,1,0],
[1,0,1],
]
というリストを作る簡単な方法を教えてください
0056デフォルトの名無しさん2016/03/01(火) 12:08:43.38ID:lOkufTHc
ミス
[0][2]は[1][2]の間違え
0057デフォルトの名無しさん2016/03/01(火) 14:30:18.54ID:mm4Of2PS
>>55
その例だと [L[2:] for L in list[1:]]
[a][b]から[c][d]までの範囲が欲しい場合 [L[b:d+1] for L in list1[a:c+1]] になる

意味調べる場合はスライス、内包表記あたりで
0058デフォルトの名無しさん2016/03/01(火) 15:41:54.11ID:5hWIshAp
>>57
こんな簡単にかけるんですね
0059デフォルトの名無しさん2016/03/04(金) 00:40:04.85ID:HJiU7/Cc
さっき、Anacondaの最新バージョンである2.5.0(64-bit python3.5.1)を入れたの
だけど、それにコマンドプロンプトがデフォルトで入っていないので、pip installが
出来なくて困っています。ipythonやインタラクティヴシェルは入っています。

前のAnacondaのバージョン(python2.7で使っている)であれば、ipythonや
対話シェルからq()やquit()で、普通に、コマンドプロンプトに戻れて、そこから
pip installなどが出来たのになぜなのでしょうか。

普段使っているコマンドプロンプトはpython2.7用になっているので、そこから
python3.5.1用のpip installも出来ません。コマンドプロンプトをpythonのヴァージョン
ごとに切り替えることができるのかもしれないけど、その方法も分かりません。

どなたか、知っている人がいたら教えて下さい。
よろしくお願いします。m(__)m
0060デフォルトの名無しさん2016/03/04(金) 00:40:26.96ID:HJiU7/Cc
今更の話題だけど、pythonはやはり、2系と3系の互換・移植性が
悪いのが問題かな。今日買った、

基礎 Python (IMPRESS KISO SERIES) 単行本(ソフトカバー) – 2016/3/4

大津 真 (著)

ttp://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E-Python-%E5%A4%A7%E6%B4%A5-%E7%9C%9F/dp/484438015X

が、3系で、ちょっと変わった雰囲気のコードの使い方があったので、面白いの
だけど、2系と併用だと>>815みたいになって、pip installも出来ないし、
ipythonでしか、3系が使えないのが困りもの。2系で使える3系のものも
あるけれど…。

2系を全部消せば3系を使えるのは分かっているのだけど、2系の方が
出来ることがまだまだ多い感じがするからね。まだ2系が多数派でしょ。

あ、仮想環境ヴァージョンを切り替えてやればいいのかな。
0061デフォルトの名無しさん2016/03/04(金) 00:42:36.44ID:xJbL+GbX
なに、そこのアマゾンページで悪口書いとけばいいの?
売れないからここで宣伝してるんだよね
0062デフォルトの名無しさん2016/03/04(金) 00:44:20.90ID:HJiU7/Cc
>>60にある>>815は、関係ないです。
別のスレに書いたものなので…

しばらく来てなかったから、スレ違いのところに書いてしまった。
0063デフォルトの名無しさん2016/03/04(金) 00:47:38.04ID:HJiU7/Cc
>>61
宣伝じゃないって、思い込み激しいな。
今日、これを使って3系に久しぶりにトライしたのだけど、最新Anaconda+3系で
入れると、それにコマンドプロンプトが見つからないので3系のpip installが
出来なくて、困っていると何回も書いているような、素人ですよ。
0064デフォルトの名無しさん2016/03/04(金) 00:52:27.92ID:HJiU7/Cc
普通に考えれば、今日が発売日になっているような新刊が売れているとか、
売れてないとか、ないんじゃないの。プログラミングの本で。

村上春樹の小説じゃないんだからw

本当、pythonは3系への移行がスムーズに出来ない言語だな。
3系自体は、そこそこよさそうなんだけれど…。
0065デフォルトの名無しさん2016/03/04(金) 00:54:21.44ID:KJ+KAEFc
Python関係ないところがわかってなさそうだな

コマンドプロンプトは独立したプログラムで
そこからVer2やらVer3を呼び出してるだけ

でお前のところはVer2を呼び出す設定になってる
Ver3のコマンドプロンプトなんてものはない
だから設定を書き換えろ
0066デフォルトの名無しさん2016/03/04(金) 01:01:52.17ID:HJiU7/Cc
>>65 その通りです。外回りの設定がややこしいんだよね、Pythonは…

ありがとうございます。あとで、調べますけど、Ver3をコマンド
から呼び出す設定に変える方法、書き換える方法が、そもそも
分からないのですけど。調べますが。

でも、3Verを呼び出せるように出来たら、今度は2Verが呼び出せなく
なると思うので、併用か、スイッチ切り替えで2系と3系を両方
気楽に使いたいんだよね。仮想環境でいいのかな。はあー。

どちらかというと、まだ2系主流で使うと思うので…。
けど、コマンドプロンプトは、基本、一つのVerでしか使えないのか、
ということは分かりました。m(__)m
0067デフォルトの名無しさん2016/03/04(金) 01:04:09.11ID:K5DVAqik
日付のディレクトリ作る処理が欲しいんだけど
その場合の変数って
どんな感じで定義すれば良いの?
0068デフォルトの名無しさん2016/03/04(金) 09:31:06.55ID:7Zl+7QrX
import datetime
today=datetime.datetime.now()
strdate = today.strftime( '%Y-%m-%d %H:%M:%S')
print strdate
0069デフォルトの名無しさん2016/03/04(金) 09:32:08.64ID:LYq4M8fM
>>66
なんも分かってねえじゃんw
神聖の馬鹿っぽいね
誤字じゃないよ
ほんと神聖
尊すぎて直視できないw
0070デフォルトの名無しさん2016/03/04(金) 11:08:08.95ID:hYGhQ4CE
環境変数の設定変えるだけじゃないの
0071デフォルトの名無しさん2016/03/04(金) 11:21:31.53ID:7Zl+7QrX
超初心者向けなんだからそれぐらい知らなくてもむしろ普通だと思うが。
逆にその辺わかってる様な人はこのスレ必要ないだろうし。
0072デフォルトの名無しさん2016/03/04(金) 11:23:54.80ID:oZSFBsGx
2と3を両方入れて使い分けるだけなら
python2 python3 両方
でググったら一番上にやり方出てきたけど
0073デフォルトの名無しさん2016/03/04(金) 12:13:07.36ID:W+1TyEEC
socketで受信して随時プロンプトに出力してるんですが、
同時に指定した文字列を入力して送信したいんですが
curses使わないとダメですか?
0074デフォルトの名無しさん2016/03/04(金) 13:53:26.85ID:4aC8Jy9P
Linuxでは、端末(シェル)を起動すると、
bashなどのシェルアプリ(プロセス)が起動される

起動したシェルは、そのシェル個別の環境変数を持っていて、
異なるシェルを起動すれば、その環境変数は異なる(共有しない)

シェル変数を、export して環境変数にすれば、
そのシェルから起動した子プロセスへ、環境変数は継承される

シェル内で、コマンドを書くと、
そのコマンドは環境変数PATHの順で、探索される

python-2.7.11 を使っているなら、
export PYTHON_HOME=/usr/local/python-2.7.11
export PATH=$PATH:$PYTHON_HOME/bin:

python-3.5.1 を使っているなら、
export PYTHON_HOME=/usr/local/python-3.5.1
export PATH=$PATH:$PYTHON_HOME/bin:
0075742016/03/04(金) 13:55:05.84ID:4aC8Jy9P
74の続き

対話シェルにて、bashが起動されるたびに、
~/.bashrc が読み込まれるので、ここで環境変数を設定するか、

この中の最後の方に、
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
と書いてあり、~/.bash_aliases ファイルがあれば、
それを読み込むので、ここに個人用の設定を書く

設定のサンプルは、bash-doc パッケージの、
/usr/share/doc/bash/examples/startup-files
/usr/share/doc/bash-doc/examples
0076デフォルトの名無しさん2016/03/05(土) 03:48:14.69ID:ppTUK35o
ttp://blog.livedoor.jp/hamu_nbr/archives/39841935.html

Windows上でPython 2.xと3.xを併用する:インタプリタの導入および
pip, virtualenvのインストール


「私はWindows上にPython 2.7と3.xをインストールし、それらを使い分けています。
しかし、安易にパッケージを導入してきたためか、不具合が生じるようになりました。
そこで、思い切ってPython関連のソフトウェアを一旦削除し、Python 2.7と3.xが
共存する環境を再構築することにしました。
本記事では、その手順について覚え書きを兼ねてまとめます」


>>72 言われた通り、調べてみたところ上記のものがありました。
たぶん、Pythonの2.7.Xヴァージョンを使っている場合は、
「pip2.7 install モジュール名」 と、コマンドプロンプトで入力し、
Pythonの3.5.Xヴァージョンを使用している場合は、
「pip3.5 install モジュール名」 と、コマンドプロンプトで入力すれば
指定したPythonのバージョンにpip installが出来ているのかなと。
0077デフォルトの名無しさん2016/03/05(土) 03:48:48.53ID:ppTUK35o
あとは、conda で python の環境つくり  というのもあって、

ttps://gist.github.com/aphlysia/d5fcee79ff81b8272faf


「プログラミングをしていると、いろいろなバージョンの環境を行ったり
来たりしたくなることがあります。たとえば言語処理は python 2 へ
nltk を入れてやりたい。シミュレーションは python 3 へ numpy 入れてやりたいとか。

そういうふうに言語やモジュールのバージョンをいろいろ組合せた環境を
気軽に切り替えられると便利です。実際そういうことを可能にするツールは
たくさんあります。virtualenv, pyenv など。

ここで紹介する conda というツールもその1つです。
virtualenv などでは、モジュールを入れるときは通常の python の流儀で
インストールするのですが、インストールがうまくいかないというのはよくあることです。conda ではあらかじめビルドされたものを入れるので、楽です。もちろん conda に用意されていないモジュールもありますが、そういうのは pip 等通常の方法で入れて共存できます。

ではさっそく conda で python の環境を作る方法です。」


と紹介されていました。
0078デフォルトの名無しさん2016/03/05(土) 08:28:12.79ID:ppTUK35o
pip3.5 install モジュール名  という風に、pythonのバージョンを指定して
コマンドプロンプトで入力すれば、その指定バージョンにpipインストールされるん
じゃないかと書いたけど、

実際に自分でその方法を試してみると、インストールされている表示は出て、
環境パスを設定してあるpython3系の方のディレクトリの方に
pip3.5 install モジュール名(twitter)で指定したモジュールがインストール
されているようなのだけど、でも、それを確認するためにpython3.5.1の方の
ipythonで、import twitterをしてみると、入らないんだよね。

2系のpythonだと、普通にimport twitterが出来る。つまり、その3系の
カレントディレクトリにはtwitterモジュールがインストールされていない
らしい。pwd でカレントディレクトリが出るけど、ユーザー名のところまで
しか表示されない。


たぶん微妙に、pip3.5 install モジュール名 でインストールされている
場所がずれているような感じがする。2系の方は普通にimport twitterが入って
問題ないのだから…。まあ、API関連のモジュールは使う予定はないので、
別にいいのだけど、でも、pipで3系のバージョン指定で、ちゃんと入れられる
ようにしないと、今、Anacondaでデフォルトで入っているモジュールしか使えない
感じがする。まあ、それでも、結構使えるのだけど…
0079デフォルトの名無しさん2016/03/05(土) 08:48:56.66ID:OuxWCN0r
・質問したいなら要点を簡潔に
・女々しい愚痴はアロエリーナに言え
・condaみたいな発展的なツールはよく分かってない奴が使うものじゃない
・どこかの記事を読んで結果がおかしいのなら、その記事を書いた奴に質問しろ
ここはそいつのケツを拭くところじゃねえんだ
0080デフォルトの名無しさん2016/03/05(土) 09:44:11.61ID:ZCCa5WO9
最小の部分から検証しろ
基本だ

まずAnacondaもpython2も3もアンインストールしてまっさらな環境にしろ
次にpython2.7を入れろ
コマンドプロンプトでpython2と打って起動するか確かめろ
コマンドプロンプトでpip2と打って起動するか確かめろ
次にpython3.5を入れろ
コマンドプロンプトでpython3と打って起動するか確かめろ
コマンドプロンプトでpip3と打って起動するか確かめろ
コマンドプロンプトでpython2と打って起動するか確かめろ
コマンドプロンプトでpip2と打って起動するか確かめろ
コマンドプロンプトでpip2 install twitterと打ってインストールできるか確かめろ
(ipythonでなく)python2を起動してimport twitterできるか確かめろ
コマンドプロンプトでpip3 install twitterと打ってインストールできるか確かめろ
python3を起動してimport twitterできるか確かめろ
ここまでできたらその環境で1年生活しろ
1年後anacondaをインストールしろ
0081デフォルトの名無しさん2016/03/05(土) 10:34:23.88ID:ppTUK35o
>>80

アンインストールはしていないですが、アドバイス通り動かして
みると、発見がありました。3系指定でpip installしたもの(twitter)が、
3系設定にしてあるAnacondaのipythonでimport出来ないのがおかしい、
と思っていたんですが、ご指摘のように、3系の対話シェルの>>>の方で
import twitterを入れたら、import出来る状態になっていました。

だから、3系のipythonの方でなく、>>>コマンドの対話シェルの方へ、
pip3 install モジュール がなされていたようです。これが検証できた
だけでも大きい。感謝です。でも、2系だとipythonと>>>対話シェルの
両方にimport twitterが出来ている。

Anacondaは、3種類入れているんですけど、なぜか最新のAnacondaだけ、
Anaconda Promptが入っていない。前の2つのは、ちゃんとAnaconda
Promptが入っているのに…

コマンドからpython2, あるいは、python3と入力しても起動しません。
pythonと入力すると2系の>>>コマンドの対話シェルが起動します。
だから、やはり2系を呼び出す設定になっている。あと不思議なのは、
環境パスで2系を消去したのに、なぜか普通に2系が使えていること。

Anacondaの一年断食は無理ですね。Anacondaのipythonを中心に使いたいので…。
0082デフォルトの名無しさん2016/03/05(土) 13:01:20.11ID:OuxWCN0r
じゃあ愚かな自殺ってことで終了ですね
0083デフォルトの名無しさん2016/03/05(土) 13:17:03.93ID:ZCCa5WO9
Anaconda環境の質問はAnaconda使ってますって書けよ
スレテンプレにも入れて欲しい
0084デフォルトの名無しさん2016/03/05(土) 13:41:46.75ID:YrgdO5eg
>>81
Condaのドキュメントには、異なるバージョンのpythonが使いたいなら仮想環境を作成して使えと書いてある。
Anaconda2とAnaconda3を両方入れて共存は不可。

標準のpythonなら簡単にできるのになあ。
Anacondaって便利を謳うくせにこんなこともできないの?

使ってる人かわいそう。
0085デフォルトの名無しさん2016/03/05(土) 13:51:49.37ID:YrgdO5eg
あ、でも僕は今日からAnaconda使うことにしました。
だってPython3以外要らないから。
0086デフォルトの名無しさん2016/03/05(土) 15:51:15.95ID:cQ14RgjJ
スレ違いでしたらすいません。sqlite3で他のプロセスがロックを掛けているかを知る方法はないでしょうか

どうも連続して処理をすると、前の別プロセスが終了する前に変更を実行しようとして、書き込めないことがあるようで

悩んでいます。
0087デフォルトの名無しさん2016/03/05(土) 17:05:45.81ID:6Q7B0eK6
アルファベットと数字で構成されている文字列から1文づつ文字コードを取り出して処理に使いたいのですが、
良い方法がなかなか見つかりません。
ヒントをいただけると助かります。
0088デフォルトの名無しさん2016/03/05(土) 18:08:33.74ID:OfFAzhIz
>>86
事前に確認するような方法だとtocttou問題と同じ理屈で書き込めないので無駄
素直にリトライしよう
0089デフォルトの名無しさん2016/03/05(土) 18:12:38.69ID:OfFAzhIz
>>87
文字列にordを作用させると文字コードになるが、そういうことではないのか?
print(list(map(ord, 'あいうえお')))
0090デフォルトの名無しさん2016/03/05(土) 18:21:56.78ID:gTchn+Mo
>>88
わかりました。ありがとうございます
0091デフォルトの名無しさん2016/03/06(日) 00:24:03.11ID:OgxzOe/C
>>81
>>74-75 にも書いたように、
端末(シェル)を別に起動すると、環境変数は共有しない

環境変数を共有するには、
そのシェルからコマンド(子プロセス)を起動して、export した場合のみ

対話シェルにて、bashが起動されるたびに、
設定ファイル、~/.bashrc か、~/.bash_aliases が読み込まれる

そこに、python-2.7.11 を使う、環境変数が定義されているとして、
export PYTHON_HOME=/usr/local/python-2.7.11
export PATH=$PATH:$PYTHON_HOME/bin:

仮想環境はたぶん、python系の環境変数で、
実ディレクトリを切り替えているから、
端末を起動したら、常にすべての、
python系の環境変数を、チェックすべき

まず、仮想環境の仕組みを学ぶ
0092デフォルトの名無しさん2016/03/06(日) 00:39:19.62ID:O4spCoyd
>>81
Anaconda Prompt なんてものはありません。
0093デフォルトの名無しさん2016/03/06(日) 01:18:16.22ID:qE3TWZVE
>>74>>75

シェル内で、そういうコマンド書いて設定するのはLinuxとかじゃないんですか。
自分はwindowsユーザーなので、少し違うかもしれない。

誰かが教えてくれたコマンドプロンプトからPython2 実行で2系対話シェル、
Python3 実行で3系対話シェル起動の仕様も、OS X/Linuxで使う場合の仕様で、
windowsでは、>pythonで、設定されているバージョンの対話シェルが
起動する仕様になっている感じです。

つまり、ここでの話が噛み合わないのは、OS X/Linuxユーザーとwindowsユーザーで
使用方法が異なること。あと、Ancondaをひとつだけ使っているユーザーと
複数使っているユーザーで、設定なり、出来ることがたぶん異なること。

2系と3系では後方互換性が低くて、両者の仕様が別の言語に感じるくらいに
異なることもあるので(たとえば、文字コード関係など)、ややこしくなる。
2系のバージョンで出来ることが、3系で出来ない、あるいは、その逆も然り、
といった感じですね。
0094デフォルトの名無しさん2016/03/06(日) 01:21:56.27ID:qE3TWZVE
新しいパソコン買ったら、3系PythonとAnaconda1つだけで統一して、
すっきりした状態で使う予定なので、それまで、この2系と3系による股裂きの刑を
しばらく楽しんでみようと思いますw 4系のPythonが出来たら、またループ状態ですがw
でも、まだ買って1年も経っていない、新しいパソコンだから、しばらくは
この半端に2系と3系のPythonを使う状態が続くのかなw

>>91
仮想環境は、使ったことないので分かりません。なるべく、シンプルに
使いたいんですよね。ヴァージョンの切り替えが面倒な感じがするのですが、
機会があったら、言われたように、仮想環境を学んで使ってみようかな。


>>92

Anacond Command Promptで、入ってます。
新しいAnacondaでは、それがないのでPython3系のコマンドに入れなくて、
困っているのです。仕方がないので、3系のAnacondaは、
Anaconda IPython だけで使っています。3系のNotebook(Jupyter)は
使えます。
0095デフォルトの名無しさん2016/03/06(日) 01:43:51.57ID:hANsEkzf
>>93
windowsでも環境変数は同じように設定するよ
そもそもパソコンの使い方から勉強しなおした方がいいのでは?
0096デフォルトの名無しさん2016/03/06(日) 02:11:29.68ID:OgxzOe/C
推測だけど、たぶん、Windowsでも同じじゃないの?
python系の環境変数で、実ディレクトリを切り替えているんじゃないの?
Windowsでの、python系の環境変数をすべて見てみ

python-2.7.11、3.5.1 の実行ファイルは、
どのディレクトリにインストールされているか、
そこを、PYTHON_HOME に設定して、
python2系・3系で切り替えているわけだろ?

export PYTHON_HOME=何々/python-2.7.11
export PYTHON_HOME=何々/python-3.5.1

その仕組みを理解すべき
0097デフォルトの名無しさん2016/03/06(日) 02:19:16.52ID:qE3TWZVE
96

今、パソコン開いてないので、あとで、見てみるけど、windowsの環境変数は、
システムから入って、そこで使うPythonのバージョンのパスを入れるだけ。
あと、その環境変数の中には、Anacondaのそれぞれのバージョンのパスも
入っているので、pythonシェルからの呼び出しが、もしかしたらAnacondaのパス
を通じて為されているのかもしれないし…
0098デフォルトの名無しさん2016/03/06(日) 04:39:01.56ID:OgxzOe/C
Anaconda の仕組みを解説した、日本語のサイトは見つからないね

MacOSXだけど、以下のサイトが参考になるかも

Anaconda 環境に独自にモジュールを追加する
ttp://datalove.hatenadiary.jp/entry/python/anaconda/how-to-install-3rd-party-module-into-anaconda
0099デフォルトの名無しさん2016/03/06(日) 04:59:34.75ID:OgxzOe/C
Anaconda の環境変数PATHって、通常のPATHよりも、前に置いているから、
システムの挙動が変わってしまうのじゃないか?
export PATH="/Users/user_name/anaconda/bin:$PATH"

普通は、今までのPATHの後に追加するけど
export PATH="$PATH:/Users/user_name/anaconda/bin"


以下のサイトでは、pyenv でエラーが出るようになったとある。
pyenv: curl: command not found

ttps://teratail.com/questions/23057
0100デフォルトの名無しさん2016/03/06(日) 05:42:24.62ID:qE3TWZVE
さっきwindowsアプリの方を確認していたら、
2番目に導入したAnaconda2に、なぜかNEWの表示と共に
Python3系が使えるAnaconda Promt(py35con)というのが
彗星のように輝かしく追加されていて、それで3系のPython
を使えるか幾つかのpyファイル実行などで動作検証してみたら、
ちゃんと使えるようです。

[py35con] C:\Users\User名> で、Python3系設定がされた
Anacondanoのコマンドプロンプトが表示されるようになった
ので、そこからPython3系のpip installも無事出来る
ようになりました。IPythonも>>>コマンドの対話シェルもちゃんと使える。


前の書き込みで、pip install twitterで、3系のIPythonに
それが反映されていないらしく、import twitterが入らなくて
困ると書いたけど、今回は、ちゃんと3系のIPythonにもpip install
したものがimportで入るようになっていました。

ああ、良かった。これで問題は解決された。色々アドバイス
してくれた人達にも感謝です。

2系と3系のPythonを使い分けるには、Anaconda Promtで操作 出来るので
あれば、Pythonの2系用と3系用のAnacondaを2つ入れて、
それぞれ使い分けて使えばいい感じがする。ちょっとした動作テスト
をするだけなら、virtualenvみたいな仮想環境を設定・有効化/無効化
して使えばいい感じがする。
0101デフォルトの名無しさん2016/03/06(日) 05:43:04.61ID:qE3TWZVE
>>98>>99 ありがとうございます。解決出来ました。

前に環境変数で、2系のPythonパスを消去したのに、なんで2系Pythonが
そのまま普通に動くのだろうか、と不思議だったのだけど、Anacondaの
パスが入っているので、それを通じて動くようになっているのかな、
と推測したんだけど、真相は定かではない。怖いから、また、念のため
Python2系のパスも再度、入れておいたけれど、Anaconndaのパスが入って
いれば大丈夫そう。
0102デフォルトの名無しさん2016/03/06(日) 10:34:47.40ID:h6QpGbpa
本末転倒感がすごいですね
0103デフォルトの名無しさん2016/03/06(日) 13:00:56.36ID:jIkAers3
Windowsでもpy.exe経由で実行すればシバンで指定できるよ
普通にインストールすれば .pyファイルはpy.exeに関連付けされるし
py.iniでシバンに何書かれてるときどのバージョン実行するかも指定できる
0104デフォルトの名無しさん2016/03/06(日) 13:36:18.01ID:9p8a7DdE
アホな質問orスレ違いだったら申し訳ありません
Raspberry Piでpythonを使ってるのですが
.pyのなかで他のディレクトリにある.pyを実行するにはどうすればいいですか?
ggると
commands.getoutputしか出てこなくてこれだと変数に値を代入するだけだと思うのですが・・・
0105デフォルトの名無しさん2016/03/06(日) 13:49:21.74ID:h6QpGbpa
どういうググり方だとそれにたどり着くんだろう…?

そういう場合はsubprocess.call使う
0106デフォルトの名無しさん2016/03/06(日) 13:54:26.02ID:h6QpGbpa
もしかして#include(のようなこと)をしたいんです?
だとしたら、「他のディレクトリ」が正しいpythonのパッケージ(またはモジュール)の構造をしていて、
かつpythonがimport時に発見できる場所(sys.pathの直下)にないと無理です
初心者には厳しいのではないでしょうか?
0107デフォルトの名無しさん2016/03/06(日) 14:22:03.27ID:ehayewiV
入門 Python 3 買った
早くも第2刷になってる
0108デフォルトの名無しさん2016/03/06(日) 14:44:04.24ID:9p8a7DdE
>106
ありがとうございます
subprocessを使ってみます。python2年目の小5には少々難易度が高そうですが
0109デフォルトの名無しさん2016/03/06(日) 14:44:09.08ID:9p8a7DdE
>106
ありがとうございます
subprocessを使ってみます。python2年目の小5には少々難易度が高そうですが
0110デフォルトの名無しさん2016/03/06(日) 14:56:01.23ID:6EHt/C22
importしたいということであれば、呼び出す*.pyファイルが

/path/to/sample.py

のように配置されているなら

import sys
sys.path.append('/path/to')
import sample

とすればimportできる
名前がかち合ったりすると動かないかも知れないが
その場合は質問するよりモジュールの基本を勉強した方よか
0111デフォルトの名無しさん2016/03/06(日) 15:05:03.40ID:e89tqiOX
よくできた小5だ
頑張れ
0112デフォルトの名無しさん2016/03/07(月) 23:31:48.77ID:Ut9DwT6U
>>111

お前は頭が小5のままで止まった、おっさんだなww
0113デフォルトの名無しさん2016/03/08(火) 07:43:40.22ID:8RQ2bRCe
ストレス貯まってるんですね
ご冥福をお祈りいたします
0114デフォルトの名無しさん2016/03/09(水) 08:56:06.36ID:3W3JogKR
https://ideone.com/fork/84F6Zw

やっぱり、Pythonは2系よりも3系の方が言語仕様やグラフが洗練されて見える。
もっと早く、3系の良さに気付くべきだった。上記に書いたコードも2系だと
import import seaborn as sns as sns 部分のグラフ処理が入らなかったりするけど、
3系だと綺麗なseabornのグラフが入って、心地良い。
0115デフォルトの名無しさん2016/03/09(水) 10:01:38.59ID:FHx2+hCK
言語仕様が洗練されたのは当たり前だろ(退化してたらキチガイじゃねえか)
グラフが表示されないのは2系3系の差というより
ただのバグのような気がする
0116デフォルトの名無しさん2016/03/09(水) 12:25:03.48ID:xIqR/5Nm
(変なカッコ書きする奴って頭が悪そうだよな)
0117デフォルトの名無しさん2016/03/09(水) 12:38:00.41ID:/NJSTcae
>>116
参考になります
0118デフォルトの名無しさん2016/03/09(水) 13:08:37.80ID:Xq+i7VCr
(ワロタ)
0119デフォルトの名無しさん2016/03/09(水) 15:00:08.60ID:01BFUa+0
(大抵のソフトウェアはバージョンアップすると退化するよね。)
0120デフォルトの名無しさん2016/03/09(水) 15:56:25.91ID:3jrP1VBb
んなこたない

ある程度以上普及して枯れてきたやつに限り
惰性的なバージョンアップで堕落する
0121デフォルトの名無しさん2016/03/09(水) 16:00:11.42ID:poRZGeKa
有料のソフトウェアは、新OSでも動作を保証しなければならないだろう
0122デフォルトの名無しさん2016/03/09(水) 18:11:20.47ID:U2csdxnD
PythonでPandasのPlot機能を使えばデータ加工からグラフ作成までマジでシームレス
http://goo.gl/WtDWAZ
0123デフォルトの名無しさん2016/03/10(木) 13:52:44.40ID:Y8XXBR6y
python2.7 pyinstaller最新版でビルドしてコマンドプロンプトから作ったアプリ起動すると
ascii codec cannot encodeって出てきて起動できない
なんかu"ああああ"って日本語のとこでおかしくなります
0124デフォルトの名無しさん2016/03/10(木) 14:32:58.70ID:EeoAGdLe
そうですか
pyinstallerなんか使ってるからですね
馬鹿みたいでイイよ
0125デフォルトの名無しさん2016/03/10(木) 18:59:26.94ID:r2FPz58s
pyinstallerは、パイインストーラーって読むの?
じゃあ、PyPyは…
0126デフォルトの名無しさん2016/03/10(木) 20:11:16.59ID:ymoy5mgn
そりゃパイパイよ
ππ
0127デフォルトの名無しさん(玉音放送)2016/03/10(木) 21:23:20.25ID:0JQd2A1b
シミュレーションくらいしかやらないから
データ加工でエクセルに比べてどう優位性があるのかわからん
0128デフォルトの名無しさん2016/03/10(木) 23:09:37.51ID:A4gGRzzJ
pywinautoでのコンテキストメニューの操作方法わかる方教えて下さい。
目的のメニュー位置のテキストは取得できましたが、
clickやselectを実行してみるとメニューは閉じるけど実行されません。
環境:Python 2.7.11 pywinauto 0.5.4

from pywinauto.application import Application
app = Application().Start(
01291282016/03/10(木) 23:18:21.87ID:A4gGRzzJ
コードが切れてしまいました。
コードは下記となります。よろしくお願いします。
ttp://codepad.org/xfxKhvS8
0130デフォルトの名無しさん2016/03/10(木) 23:53:00.88ID:nS2MfweZ
Rからpythonを呼び出すいい方法はありますか?
0131デフォルトの名無しさん2016/03/11(金) 00:05:45.18ID:sWFF5c5F
>>128
app.Notepad.MenuSelect(u"編集->貼り付け")
0132デフォルトの名無しさん2016/03/11(金) 07:51:48.96ID:HJn33USj
>>131
コンテキストメニューを操作したいのです。
メモ帳でテストしているだけで貼り付けをしたい訳ではありません。
わかるづらくてすみません。
0133デフォルトの名無しさん2016/03/12(土) 12:43:16.37ID:AlbUYP0L
短いスコープで変数や関数宣言のためにif 1:を使っていますが
バッドノウハウではないかと危惧しています
かわりに良い方法は何でしょうか?

if 1:
  pass
0134デフォルトの名無しさん2016/03/12(土) 12:49:59.37ID:lGqei3yA
そもそもpythonはdefとclass以外スコープを作らないから
if 1は何の意味もねーぞ
0135デフォルトの名無しさん2016/03/12(土) 12:51:56.03ID:lGqei3yA
ブロックと勘違いしてる?
0136デフォルトの名無しさん2016/03/12(土) 13:51:08.06ID:AlbUYP0L
>>134-135
ありがとうございました
クラス、きちんと書いておきます
0137デフォルトの名無しさん2016/03/16(水) 10:59:23.54ID:q/6RNJn3
GUIから文字列を入力させたいんだけど、

from tkinter.simpledialog import askstring
res = askstring("title", "message")
print(res)

こうすると、AttributeError: 'NoneType' object has no attribute 'winfo_viewable' というエラーになる。
この前に

import tkinter
root = tkinter.Tk()

を入れるとちゃんと動作はするけれど、いらないウインドウが余計に一つ現れる。
なんとかならないですか?

環境は、Windows7にPython 3.5.1 :: Anaconda 2.5.0 (64-bit)です。
0138デフォルトの名無しさん2016/03/16(水) 11:07:12.56ID:CZzGqLtG
python 3.3でprint (["こんに ちは"])を実行すると['こんに\u3000ちは']と表示されてしまいます。
全角スペースをそのままさせるにはどうしたら良いのでしょう?
0139デフォルトの名無しさん2016/03/16(水) 13:31:48.16ID:MRtgESvf
>>137
つ root.withdraw()
0140デフォルトの名無しさん2016/03/16(水) 18:10:10.17ID:Rbdxk85U
>>138
>>> print (*["こんに ちは"])
こんに ちは
0141デフォルトの名無しさん2016/03/16(水) 20:53:56.04ID:ru4VtbP0
以下ような空行で区切られたテキストデータを読むときに
aの部分は無視して2つ目のブロックのbの部分からリストにしたいのですが
なにかいい方法はないでしょうか。

aaaaaaaaa
aaaaaaaaa

bbbbbbbbb
bbbbbbbbb
0142デフォルトの名無しさん2016/03/16(水) 21:10:42.54ID:NYy+u6T+
>>141
普通に空行まで読み飛ばせばいいだけだろ
0143デフォルトの名無しさん2016/03/16(水) 21:35:43.43ID:ru4VtbP0
空行の位置を特定してそこまで読み飛ばすという操作が分からないのです。
0144デフォルトの名無しさん2016/03/16(水) 22:00:59.65ID:kmHz5x2E
ifは?
0145デフォルトの名無しさん2016/03/16(水) 22:05:58.14ID:/j2iEmJk
>>143
適当に書いているのでバグってたらごめん。

import sys
f = False
lst = []
for line in sys.stdin:
__stripped = line.strip()
__if f: lst.append(stripped)
__if not stripped: f = True
print(*lst)
0146デフォルトの名無しさん2016/03/16(水) 22:07:11.80ID:iNKCnWDy
普通読み飛ばすというのは
「読み込み」をすっとばす
ではなく
「読み込み」するけど読んだ内容はすてる
という意味なんやで
0147デフォルトの名無しさん2016/03/17(木) 06:54:02.01ID:iTg3Mqjt
上から1行ずつ読んでいって、空行があれば、

次の行から、リストに格納する
01481382016/03/17(木) 09:26:15.84ID:1s2Sxj3z
>>140
ありがとうございます。調べてみるとタプルってやつでしょうか?
このパターンではうまくいくのですが実際にはリストをリストのままテキスト出力したいのです。
リストと同じテキストを作成して出力しても良いのですが、
全角スペースだけ出ないのも不思議に思いまして。
print ([[\"こんに ちは\"],[\"こ んにちは\"]])
01491382016/03/17(木) 09:30:14.48ID:1s2Sxj3z
別件で、pandasでcsvから取り出したデータの一部を
リストなり文字列なりに変換するのはどうすればいいのですか?
0150デフォルトの名無しさん2016/03/17(木) 09:59:14.92ID:yAA5+Veb
148は難しいと思いますよ
149はDataFrame.as_matrix(ndarrayを返す)経由でリストやらなにやらにできるでしょう
0151デフォルトの名無しさん2016/03/17(木) 10:10:26.85ID:1s2Sxj3z
>>150
ありがとうございます。rubyだとpで簡単に出力できるんですけどねぇ。
どうして全角スペースだけ化けるんでしょう?

149は英語で探してみたらありました。
mydata.values.T.tolist()でできました。
0152デフォルトの名無しさん2016/03/17(木) 11:00:23.80ID:ls5F9gX1
>>151
「リスト」として出力してるので非表示の文字は適宜エスケープされてる
むしろSPACE (U+0020)が特別扱いだよ

LINE FEED (LF) (U+000a)は"\n"になるし
NO-BREAK SPACE (U+00a0)などもエスケープされる
0153デフォルトの名無しさん2016/03/17(木) 11:15:05.25ID:3vycg2Fh
全角スペースだけ気になるなら置換してしまおうw
print(str(['こんに ちは']).replace('\\u3000', ' '))
0154デフォルトの名無しさん2016/03/17(木) 11:20:47.07ID:1s2Sxj3z
>>152
解説ありがとうございます。基本リストをそのままにテキスト化は難しいということですね。

>>153
ありがとうございます。
確かに特定文字列なので置換するのも有りですね。若干釈然としませんがw
0155デフォルトの名無しさん2016/03/17(木) 20:07:12.94ID:0eEUF0R8
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Dog(object):
____def __init__(self, name):
______ self.name = name
class UltraDog(Dog):
____def __init__(self, name, type):
__________super(UltraDog, self).__init__(name)
__________self.type = type
__________def bar():
____________print '%s says "wan!".' % (name)
foo=UltraDog("Taro", "akita")
print '%s is %s.' % (foo.name, foo.type)
###↓でbar()を呼びたいのですが、どう書いたらいいかわかりません…###
foo.bar()
0156デフォルトの名無しさん2016/03/17(木) 21:31:25.10ID:ls5F9gX1
1. barのインデントを下げて__init__と同じレベルにする
>>155だと__init__の中でbarを定義している、インデントは重要
2. barの引数にselfを加える
selfを明示しないとメソッドにならない、クラス定義のお約束
3. barの中のnameはselfから取り出す
selfはインスタンス自身をあらわす引数、これもお約束
0157デフォルトの名無しさん2016/03/17(木) 21:50:37.00ID:0eEUF0R8
>>156
123総てそのとおりしたら、無事動きました!!!
ご回答ありがとうございました!
0158デフォルトの名無しさん2016/03/18(金) 22:53:40.23ID:XviCrBsE
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#####img2pyがうまく動作してくれません#####
##環境は wxPython3.0-win32-py27 32-bit Python 2.7です。
import sys
from wx.tools import img2py
command_lines = ["-i myicon.ico IcoImages.py"]
for line in command_lines:
args = line.split()
img2py.main(args)
###エラーの文面↓
###UnicodeDecodeError: 'utf8' codec can't decode byte 0x81 in position 12: invalid start byte
###コマンドプロンプトで python img2py.py -i myicon.ico IcoImages.py とやっても同じエラーがでマス。
###日本語英語中国語で一通りぐぐりましたが、皆さんカンタンに↑のコマンドで.pyを得られているようで、情報がみつかりませんでした。
0159デフォルトの名無しさん2016/03/18(金) 22:54:57.45ID:XviCrBsE
連投すみません
インデントが消えてしまいました;
半角スペースを_で置換しておきます

import sys
from wx.tools import img2py
command_lines = ["-i myicon.ico IcoImages.py"]
for line in command_lines:
____args = line.split()
____img2py.main(args)
0160デフォルトの名無しさん2016/03/19(土) 04:40:36.30ID:5djHDgqa
「文字コード 0x81」で検索!
ascii文字は、0x7F までじゃないの?
0x80以上は、Shift-jisの全角文字かな?

ファイルを、UTF-8 で保存せず、Shift-jisを使っているとか。

メモ帳を使うと、BOM付きUTF-8になって、バグるとか、
TeraPadだと、UTF-8N(BOM無し)で保存できる

>for line in command_lines:
そもそも、1行しか無いのに、for を使うのはおかしいだろ

>command_lines = ["-i myicon.ico IcoImages.py"]
なんで、[ ]を使うの? 普通に文字列を使ったらアカンの?

ひょっとして君は、Pythonの本を読まずに、プログラミングしているのか?
0161デフォルトの名無しさん2016/03/19(土) 10:11:26.87ID:/ZaLB4zI
>>158
たぶんUnicodeDecodeErrorはwx内部で発生してる
だからエラー原因は最後の行だけではわからない
"Traceback (most recent call last):"から始まる全部があれば手がかり増える

エラーが長いなら>>1のコード貼り付けるサービスを使ってほしい
0162デフォルトの名無しさん2016/03/19(土) 11:00:08.13ID:Ngg3+V62
>>160
>ファイルを、UTF-8 で保存せず、Shift-jisを使っているとか。
>メモ帳を使うと、BOM付きUTF-8になって、バグるとか、
秀丸でBOMナシUTF-8で保存しています

>なんで、[ ]を使うの? 普通に文字列を使ったらアカンの?
もとはもっと一杯同様の処理があったのですが、うまくいかないので1つに減らしました
01631592016/03/19(土) 11:08:24.52ID:Ngg3+V62
>>160-161
1つのファイルを対象にコマンドプロンプトを直接叩いても、↓のようにまったく同じエラーが出ます
http://pastebin.com/Rfb6Jn9a
 ※対象ファイルはC:\Python27\Lib\site-packages\wx-3.0-msw\wx\toolsのなかにもってきています。
0164デフォルトの名無しさん2016/03/19(土) 11:09:59.06ID:VZJ2bs3a
差し支えない範囲でスタックトレースも貼れるといいですな
0165デフォルトの名無しさん2016/03/19(土) 11:14:21.63ID:VZJ2bs3a
あ、スタックトレース貼ってあるね
良好良好
0166デフォルトの名無しさん2016/03/19(土) 12:28:29.86ID:VZJ2bs3a
>>163
スタックトレースの範囲ではUnicodeDecodeErrorが発生する余地なさそう
wxWidgetsのソースコードまで読む気にはならなかったので正確な原因は分かんない

ここからは予想
カレントディレクトリパスに日本語含んでない?

ImageMagickっていうプログラムで相対パスを使うと内部で絶対パスに直そうとしてて
その時にエンコーディングの考慮を忘れているためにエラーを起こすってのがあった
それに似ている気がする
0167デフォルトの名無しさん2016/03/19(土) 12:30:46.96ID:/ZaLB4zI
>>163
c++のソースまでいくやつだね・・・
https://github.com/wxWidgets/wxPython

_gdi_.Bitmap_SaveFileをたどっていくと
https://raw.githubusercontent.com/wxWidgets/wxPython/master/src/msw/_gdi_wrap.cpp
のc++ソースコードの
SWIGINTERN PyObject *_wrap_Bitmap_SaveFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs)
の関数の
wxStringに絡んだ操作でエラー発生していると思うけどwxWidgets詳しくないので追求できん
01681592016/03/19(土) 12:56:47.65ID:Ngg3+V62
>>166
>カレントディレクトリパス
C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools
です。
「.」がいかんのかと思い、
C:\にターゲットファイルとpyファイルをもってきて
コマンドプロンプトをc:\で開いてから
img2pyを実行しても同じエラーになります

>>167
私ごときではどうしようもないということですね…


お二方とも、ご回答ありがとうございました。
0169デフォルトの名無しさん2016/03/19(土) 13:37:22.43ID:GpBZpbUt
>>168
iconファイルに問題あるのでは?

VM上のXPに
https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi
をインストール
PATH、PYTONPATHを設定
https://sourceforge.net/projects/wxpython/files/wxPython/3.0.2.0/wxPython3.0-win32-3.0.2.0-py27.exe
をインストール
適当なファイルを
http://www.google.com/favicon.ico
拾ってきて

C:\tmp\PyProject>python C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools\img2py.py favicon.ico favicon.py
Warning: -n not specified. Using filename (favicon) for name of image and/or catalog entry.
Embedded favicon.ico using
01701592016/03/19(土) 14:45:21.51ID:Ngg3+V62
>>169
http://www.google.com/favicon.ico 使ってやってみても
>163同様のエラーを吐いてうまくいきませんでした。

wxpythonを入れなおしてみます
01711592016/03/19(土) 14:52:41.10ID:Ngg3+V62
入れ直してグーグルのファビコンでやってみましたが
やはり同じエラーが出ました。。。

申し上げ遅れてしまいましたが、
>>169さん ありがとうございます。
0172デフォルトの名無しさん2016/03/19(土) 16:52:59.50ID:rc40nbIH
>>171
Windowsのユーザ名が日本語を含んでいないか?
img2py.py内で
https://github.com/wxWidgets/wxPython/blob/master/wx/tools/img2py.py#L153
tempfile.mktempが使われている

>>> import tempfile
>>> tempfile.mktemp()
を実行してみて
01731592016/03/19(土) 18:02:27.83ID:Ngg3+V62
>>172
あああああその通りです!
このマシンだけ、軽い気持ちでユーザー名に全角を使ってました! (・ω・`)
今から半角に変えてきます
それからまたためします

ありがとうございます!
0174デフォルトの名無しさん2016/03/19(土) 18:10:57.55ID:VZJ2bs3a
天才か
tempfileは盲点だった
0175デフォルトの名無しさん2016/03/19(土) 18:20:35.57ID:IgDWXiAc
URLのファイル名だけを変更したいのですが、どのようにやるのがスタイリッシュでしょうか
01761592016/03/19(土) 18:33:50.38ID:Ngg3+V62
半角英数だけでユーザーを作って実行したら無事動きました!
ついでに、pipで似たようなエラーを吐かれてインスコできなかったパッケージもインスコできました!!
ありがとうございます
ありがとうございます
回答してくださったみなさまに(‐人‐)感謝!!!
01771592016/03/19(土) 18:39:51.22ID:Ngg3+V62
>>175
すたいりっすではないかもしれませんが

URLを「.」で区切ってリスト作成
できたリストの長さを求めて
ケツから二番目だけを書き換え処理して
joinで連結してURLに戻す

というのはどうでしょうか。
ただ↑だと拡張子なしだったり、hogehoge.tar.gzとかなってると通用しないので、

URLの区切り文字を「/」にしてリスト作成
リストの長さを求め
ケツになってるとこを書き換えて
joinで元に戻す

になりますが。
0178デフォルトの名無しさん2016/03/19(土) 20:30:22.01ID:5djHDgqa
>>173
外人は、日本語でテストをしていないから、
ユーザー名、パス・ファイル名には、半角英数字のみを使う。
半角空白・ハイフンも使ってはいけない。

ただし、パス・ファイル名には、_ も使えるかも?

tempfile.mktemp まで突き止めた、猛者がおったのか
0179デフォルトの名無しさん2016/03/19(土) 20:45:09.95ID:5djHDgqa
>>175
http:// スキーム
localhost サーバー名
:3000 ポート番号
/abc/def パス
?xyz=123 クエリー
#ghi フラグメント

URLのパス内のファイル名だけを、取り出すメソッドが、
たぶん、ネット関連のライブラリ内にあるはず
01801592016/03/19(土) 23:11:34.01ID:Ngg3+V62
>>178
ダメなファイル名の大原則、メインマシンでは守ってたのですが
うちのぱそこん は、うちのだから…と 手を抜いてました…
とても反省しています。
そして回答者の皆さんに感謝しています。
0181デフォルトの名無しさん2016/03/20(日) 00:20:28.05ID:ItLnGc5W
>>175
URL ファイル名 python
でぐぐって一番上か二番目にくる方法がテラスタイリッシュ
0182デフォルトの名無しさん2016/03/20(日) 14:46:34.49ID:uZE/skHK
from urllib.parse import urlparse, urljoin, urlunparse
url = 'http://aaaaaa.aaa/bbbb/cccc.html?q=qqq#hhh'
newfilename = 'ああああ'
L = list(urlparse(url))
L[2] = urljoin(L[2], newfilename)
newurl = urlunparse(L)
print(url)
print(newurl)

クエリとフラグメントが不要なら
newurl = urljoin(url, newfilename)
0183デフォルトの名無しさん2016/03/20(日) 21:56:35.15ID:+8VWrZbF
ここで聞くことじゃないけど教えてください
str = 'ああああああ【x】いいいいいい【xx】'
re.sub(r'【.*】', '', str)


文章中の【】をすべて削除したいんだけどこれだと全部消えちゃうのでかっこと中身だけ消す方法教えてください?
上の例だとあといだけを残したい
0184デフォルトの名無しさん2016/03/20(日) 22:23:59.59ID:QxKIfwds
>>183
r'【[^】]*】'
0185デフォルトの名無しさん2016/03/20(日) 22:27:12.14ID:4YbzTNUZ
>>183
r'【.*?】'
詳しくは最短一致でググれ
0186デフォルトの名無しさん2016/03/20(日) 22:28:50.51ID:+8VWrZbF
>>184
ありがとう神様
0187デフォルトの名無しさん2016/03/20(日) 22:30:18.42ID:+8VWrZbF
>>185
あー、これでもいけました
勉強なります
0188デフォルトの名無しさん2016/03/20(日) 23:08:03.89ID:eZFsmBRg
正規表現はデフォルトでは、最長一致(どん欲)だから、

.*? のように、? を付けると、最短一致になる
0189デフォルトの名無しさん2016/03/21(月) 15:07:38.39ID:Ofx+igvx
あかん俺には向かん、パイソンやら基本の数学からやり直してるがやっぱり向き不向きがあるなこの数値の世界は
クリエイティブコーディング始めようとProcessing弄ってるときは脳汁出まくりだったんだがなぁ
俺には視覚表現の世界が向いてるみたいだw糞残念orz
0190デフォルトの名無しさん2016/03/21(月) 16:44:53.28ID:e399YEBR
コピペ乙
0191デフォルトの名無しさん2016/03/21(月) 22:24:48.12ID:lctU7n/4
「Pythonista」iOS上で動作するPython統合開発環境がv2.0にアップデート!その物凄い内容とは
http://hitoriblog.com/?p=34268
Python 3.5.1ベースのiOS用Python IDE「Pythonista 3.x」がβプログラムの登録受付開始
http://hitoriblog.com/?p=36156
0192デフォルトの名無しさん2016/03/21(月) 22:37:51.22ID:CjJQ3DZR
もっと別でいい名前なかったのか
0193デフォルトの名無しさん2016/03/21(月) 22:41:39.15ID:+Ck/lweO
何故オッパイソンにしなかったのか謎
0194デフォルトの名無しさん2016/03/21(月) 23:36:38.82ID:b4wXoPlv
だから、なぜ玩具で開発する必要がある
MacBookも買えねえのか貧乏人よ
0195デフォルトの名無しさん2016/03/22(火) 00:49:52.12ID:K9F4/b6Q
いつでもどこでも思いついたら即出来るのはよろしいことよー
それがスクリプトの醍醐味ー
0196デフォルトの名無しさん2016/03/22(火) 14:32:51.09ID:n1wW92zx
最近Pythonのプロジェクトか増えている気がする
0197デフォルトの名無しさん2016/03/22(火) 20:38:22.67ID:l/yPeJSW
>>177-182
あざす
0198デフォルトの名無しさん2016/03/24(木) 15:48:42.57ID:2XlRu0Fd
wxPythonにて
ウインドウのサイズを不変にするのに、
root_panel =wx.Frame.__init__(self, parent, id, title=u' Print your environment GUI', size=(400, 150))
self.SetMinSize((400, 150))
self.SetMaxSize((400, 150))
とやると、境界にカーソルもっていったとき、あたかもリサイズできるかのように見えてばっちいです。
何かスマートな方法がありましたら、ご教示ください。
尚Windowsでやってます。
0199デフォルトの名無しさん2016/03/24(木) 16:34:51.96ID:iMhXoYci
>>198
, style=wx.DEFAULT_FRAME_STYLE & ~wx.RESIZE_BORDER
0200デフォルトの名無しさん2016/03/24(木) 16:43:41.80ID:2XlRu0Fd
>>199
000000000000000
ありがとうございます!!!
0201デフォルトの名無しさん2016/03/25(金) 12:02:28.83ID:+u485WkF
macのターミナルで前に打ち込んだ命令をコピペしないでもう一度よびだせるショートカットってある?
0202デフォルトの名無しさん2016/03/25(金) 12:25:50.39ID:jyxl5n4n
macのターミナルの話は知らねえよ
Ctrl+rでも押せ
0203デフォルトの名無しさん2016/03/25(金) 16:40:04.05ID:YdCtjjSr
上矢印押してけば出るんじゃないの?
0204デフォルトの名無しさん2016/03/25(金) 18:09:21.98ID:Wnw1/rBy
http://docs.python.jp/2/tutorial/interactive.htmlによると
ctrl+p
0205デフォルトの名無しさん2016/03/25(金) 22:31:37.40ID:JfxqIODW
俺の前で2度とmacの話はするな
0206デフォルトの名無しさん2016/03/27(日) 01:08:10.21ID:YOyz7BtG
いやですん♪
0207デフォルトの名無しさん2016/03/28(月) 17:51:10.23ID:UY/1J++g
tcp(socket)で
recv待機してる状態の時
sendすることって出来ますか?

上手く表現できない…エスパー案件ですが分かる方居られましたら返信下さい
0208デフォルトの名無しさん2016/03/28(月) 17:58:05.34ID:iwMnXPkq
別にエスパーな内容じゃないよ
非同期でソケット使いたいってのはごく一般的な要求だから
0209デフォルトの名無しさん2016/03/28(月) 21:36:43.03ID:R0Y4IqfI
ドッカーでチェイナーのテンソーフローはナンピーできますか?
0210デフォルトの名無しさん2016/03/29(火) 14:27:38.44ID:s2d9MdaN
私女なんだけど、pythonとapacheでweb開発してるの。
Windows環境下でパソコン変えたら本当に困ったことになったわけ。

#!/usr/bin/python

で、動かないわけ。
エラー → couldn't create child process: 720005

でもね、でもね
#!c:/python25/python.exe

にしたら動くわけ。

unix環境でも動かしたいから前者で動くようにしたいんだけど
何が原因なんでしょうか!(#c#)!
pythonのpathも通ってるし、原因がさっぱりわからないので、教えてください><
0211デフォルトの名無しさん2016/03/29(火) 14:48:06.82ID:9tm0veaP
モンティパイソンを視聴してからジョークを飛ばしてくれ
これは義務だ
02122102016/03/29(火) 16:31:23.16ID:s2d9MdaN
自己解決しましたぁ
0213デフォルトの名無しさん2016/03/29(火) 17:14:07.03ID:jXmv7K5P
自己解決したなら、内容を書け
0214デフォルトの名無しさん2016/03/30(水) 10:22:02.13ID:bwqK1s1q
拡張子.cgiならブラウザで実行・表示出来るのに.pyだとコードが表示されるんだが理由は何に?
0215デフォルトの名無しさん2016/03/30(水) 10:58:57.29ID:e9vUc8Q2
サーバー(ここではhttpdの意味)に何使ってるか知らないがサーバーの設定による
0216デフォルトの名無しさん2016/03/30(水) 19:32:43.27ID:bwqK1s1q
>>215
アパチです
0217デフォルトの名無しさん2016/03/30(水) 19:47:04.22ID:3Gah955h
>>216
AddHandler cgi-script .py
0218デフォルトの名無しさん2016/03/30(水) 19:59:09.15ID:bwqK1s1q
>>217
出来ました。ありがとござる
0219デフォルトの名無しさん2016/03/31(木) 16:56:04.61ID:SeJDeb5F
PythonでWebアプリ作ろうって時にCGIスクリプトに行き着くもんなの?
検索してもdjangoなりflaskなり使う方法の方がヒットすると思うが
0220デフォルトの名無しさん2016/03/31(木) 17:51:23.91ID:nLkxSPQr
お前らが嫁嫁って小うるさい公式ドキュメントの標準ライブラリを
上から順に眺めていくと途中でcgiが出てくるで
0221デフォルトの名無しさん2016/03/31(木) 20:05:00.89ID:X9odj4Io
素人向けなら、perlとかphpの方がサンプル多くない?
0222デフォルトの名無しさん2016/04/01(金) 23:21:54.84ID:GcEc4u3E
3系がいまだに主流にならない糞コミュニティ
0223デフォルトの名無しさん2016/04/02(土) 00:07:04.05ID:P5rnm/V1
>>219
>djangoなりflask
これは何て読むの?
どジャンゴ?
0224デフォルトの名無しさん2016/04/02(土) 07:07:47.13ID:96hBhgbU
ジャンボー!!
0225デフォルトの名無しさん2016/04/02(土) 07:32:47.42ID:NNNMR5YM
Bottle(ボトル)Django(ジャンゴ)Flask(フラスク)Pyramid(ピラミッド)Plone(プローン)
0226デフォルトの名無しさん2016/04/02(土) 13:03:52.14ID:thGUj6UI
>>219
WSGI でぐぐれ
django いらん
0227デフォルトの名無しさん2016/04/02(土) 19:58:12.66ID:0ml0OmOR
mod_wsgiもええよ
0228デフォルトの名無しさん2016/04/02(土) 20:25:10.98ID:WMAcYlEn
以前3.5.1をインストールして、少しだけ勉強しました。
今日久々にやろうとしたら、以前開いたファイルが実行できません。
あれこれやったのですが、ダメでした。
階層とかの問題なのかと思い、インストールしたときに、変な場所にインストールしたので、
この際、C直下に置きなおしました。
すると、今度はコマンドプロンプトで、python自体を認識しなくなりました。

環境変数をいじればよいのでしょうか?
またいじる場合はどのようにいじればよいのでしょうか?

超初歩的な問題で申し訳ありませんが、何卒宜しくお願い致します。
0229デフォルトの名無しさん2016/04/02(土) 20:48:39.16ID:kmgIO7wN
一回Pythonをアンインストールしてください
Python3.5.1とPython luncherってのがプログラムの削除で選べるはずなので両方消すこと

環境変数PATHを確認してPython関連のものを消す
しかる後にもう一度インストールを行う
0230デフォルトの名無しさん2016/04/02(土) 20:58:25.96ID:cgCmjNww
一般的には、アプリをインストールしてから、アプリの場所を変えたら、ダメ。
なぜなら、インストールしたディレクトリで、様々な環境変数・レジストリに登録されているから

ただし、ポータブル版のように、
環境変数・レジストリに登録していないアプリは、移動できる

システムのスナップショットを取っているなら、過去に戻してから、アンインストールすべき。
アンインストールせずに、フォルダを削除すれば、環境変数・レジストリに何かが残ってしまう
0231デフォルトの名無しさん2016/04/02(土) 21:20:39.25ID:NNNMR5YM
anaconda使え。以上
02322282016/04/02(土) 21:52:42.35ID:WMAcYlEn
>>229-231
ご回答ありがとうございます。

過去の場所が分からなかったので、戻さずにアンインストールしてしまいました。
環境変数には、システム環境変数の「Path」にpython残っています。
ユーザー環境変数のPATHは削除されていました。

レジストリとかは見方もわかりません。
システム復元ポイントは存在しませんでした。

ここから綺麗に削除する方法はあるのでしょうか。
02332282016/04/02(土) 22:20:55.21ID:WMAcYlEn
システム環境変数の「Path」です。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\Common Files\Roxio Shared\DLLShared\;
C:\Program Files\DigiOn\DiXiM Media Client for Media Center;
C:\Program Files\Common Files\Ulead Systems\MPEG;
c:\Program Files\Microsoft SQL Server\90\Tools\binn\;
C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;
C:\Program Files\Common Files\Roxio Shared\DLLShared\;
C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\python34;

これは無視して、再度pythonをインストールしてもよいのでしょうか。
先に最後の「c:\python34;」だけでも削除した方がよいのでしょうか。
0234デフォルトの名無しさん2016/04/02(土) 22:22:30.20ID:t/XyQGNF
クリーンインストールすればいいんじゃないかな
0235デフォルトの名無しさん2016/04/02(土) 22:44:02.96ID:jcoL2fd7
>>233
c:\python34; だけでも消した方が安心だは
0236デフォルトの名無しさん2016/04/02(土) 23:09:53.47ID:dUD/zXrG
コンソールの事とか環境変数の事とかもっと知っといた方がいいかも

もし今解決したとしても後々詰まるよ
0237デフォルトの名無しさん2016/04/02(土) 23:41:39.31ID:WMAcYlEn
>>234-235
ご回答ありがとうございます。
一応再インストールしましたが、やはりファイル実行ができません。
超初歩的ですが、ディレクトリはどうやって指定するのでしょうか。

IDLEだけでやっていきたいのですが、ディレクトリはコマンドプロンプトで指定するのでしょうか?

この辺のことが初心者にわかりやすく書いてあるサイトはないでしょうか?
0238デフォルトの名無しさん2016/04/02(土) 23:45:03.04ID:WMAcYlEn
>>236
ご回答ありがとうございます。

コンソールなるものもあるんですね。
レジストリ、環境変数等は聞いたことは今までもあったのですが、
ハイレベルなものだと思い避けていました。
そもそもプログラミングをやるのが、pythonが初めてなので。
先日挫折しそうになっていたのですが、なんとかコードになれようと、
とにかくサンプルを色々実行させてみようと思った矢先に
ファイルの読み込みができなくなりました。
習うより慣れろで、まずは色々動かしてみて、プログラミングに抵抗感をなくしたいのです。
02392282016/04/02(土) 23:48:10.77ID:WMAcYlEn
C:\User\Owner\AppData\Local\Programs\Python\Python35-32\test

ここに「test1」というファイルを入れています。
コマンドプロンプト、IDLE、それぞれに
python test1.py
と入力しても「SyntaxError: invalid syntax」のエラーになります。
test1が赤く表示されています。
0240デフォルトの名無しさん2016/04/03(日) 00:06:14.54ID:HxRwKELn
コンソールはコマンドプロンプト、DOSプロンプトとほぼ同義
「コマンドプロンプト 使い方」等でググれば情報はいくらでも出てくる

自分はWindowsのコンソールはしょぼいと思っているのでcygwinのminttyなど併用している

ハイレベルってプログラミングはそのハイレベルな事をやろうとしてるんだよ
コンソールはプログラムの1行1行を手で打ち込んでやってるようなもの

カレントディレクトリとかパスの相対・絶対指定とかその辺の概念がわからないと
ファイル操作のプログラミングのときにキツイと思う

あと拡張子の表示は行うようにエクスプローラの設定変えた方がいい
02412282016/04/03(日) 00:15:58.28ID:k3PVC/oR
>>240
ご回答ありがとうございます。

なんとか頑張ってみます。

アドバイス感謝します。
0242デフォルトの名無しさん2016/04/03(日) 00:21:53.51ID:Xmt6tiYL
SyntaxError: invalid syntaxだったらtest1.pyの中身が間違ってるんじゃないの?
0243デフォルトの名無しさん2016/04/03(日) 01:02:24.12ID:HxRwKELn
初心者の場合とにかく、自分がいま、何をしようとしてるのかがわからない人が多いね

一つ一つの概念をしっかり学んでいくのが結局は一番の近道のように思える
0244デフォルトの名無しさん2016/04/03(日) 01:27:20.83ID:k3PVC/oR
>>242-243

コマンドプロンプトでのディレクトリ移動が理解できました。
コマンドプロンプトで実行ができました。
IDLEも「F5]での実行はできました。
が、IDLEで「python test1.py」を実行しても、「SyntaxError: invalid syntax」エラーのままです。
0245デフォルトの名無しさん2016/04/03(日) 02:18:55.43ID:pvdfhL1n
SyntaxErrorは実行環境ではなく実行しようとしてるソースコードに問題がある
ソースコードは>>1にあるコード貼り付けサイトなどで示してくれると回答の手がかりになる
0246デフォルトの名無しさん2016/04/03(日) 08:51:08.58ID:HxRwKELn
>>244
そりゃpython test1.pyってのをコードとして実行しようとしてるんじゃないかい?

エラー、つうか出ているものを、ありのまま手を加えずに示さないと誰もエスパーするしかなくなるよ?
0247デフォルトの名無しさん2016/04/03(日) 09:04:49.52ID:HxRwKELn
初心者の入門ならこちらがおすすめだ
http://dotinstall.com/lessons/basic_python_v2

pythonのインストールならweb platform installerが楽
https://www.microsoft.com/web/downloads/platform.aspx

プログラム言語の勉強はwindowsよりlinux環境の方が何かと楽
疑似環境としてはgnupack(cygwin)が一番導入しやすい
https://osdn.jp/projects/gnupack/

慣れたらcygwinのインストーラでそのまま使うのがいい

もっともwindows10の次のアップデートではbashが組み込まれるのが予定されているので
もっと楽になるかも
0248デフォルトの名無しさん2016/04/03(日) 10:26:17.10ID:KExQ0utW
a = [
[1,"1"],
[1,"1"],
]

2次元リストで文字列型のみbyte型に変換する方法を教えてください
0249デフォルトの名無しさん2016/04/03(日) 13:20:39.12ID:2fqjABR1
混ぜるな危険
0250デフォルトの名無しさん2016/04/03(日) 16:02:43.08ID:OaDtSrzO
>>238
システムをいじる時は、必ず正常な復元ポイントを取っておく

アプリのインストールで、環境変数・レジストリに書き込むものは、
うかつに削除したり、フォルダごと移動したり出来ない。
必ずアンインストールの手順をすべき

アンインストールせずに、フォルダごと削除しても、
環境変数・レジストリに書き込んだものが残ってしまう

こういうアプリは危険だから、漏れは出来る限り、ポータブル版のように、
システム環境に書き込まないアプリを使うことにしている

特に全アプリが共通で使っている、環境変数PATHは危険!
Linuxで説明するなら、こういうもの
/usr/local/sbin/:/usr/local/bin:/usr/sbin/:/usr/bin/:/sbin:/bin

例えばシステムアプリが、/usr/bin/python を使っている場合に、
自分が、/usr/local/bin/python を追加して使おうとすると、

コマンド探索パスでは、より左側で見つかったコマンドが起動されるから、
バージョン違いのアプリを起動することもある。
例えば、python27 で起動していたアプリが、python34 で起動されるなど

こういう環境構築が難しいから、初心者は、
paiza.IO, codepad などで、ブラウザを使って、
オンラインでプログラミングを試すのもよい
0251デフォルトの名無しさん2016/04/03(日) 17:43:38.44ID:OaDtSrzO
>>244
>python test1.py
これは、シェルなどの端末で実行するコマンド

IDLE では、1 + 1 とか、直接Pythonの命令文を書けばいい

.py ファイルに、Pythonの命令文を書いて、IDLEで実行したいのなら、
そのファイルを読み込んで実行すればいい。
そういう機能がメニューに無い?

IDLEの説明書を読んで
0252デフォルトの名無しさん2016/04/03(日) 17:58:19.49ID:RddheNRl
COBOL BASIC世代でも入り易い言語ですかな?
0253デフォルトの名無しさん2016/04/03(日) 18:45:50.77ID:HxRwKELn
>>252

頭柔らかくしてまっさらな気持ちで臨めば子供でも習得できる

逆にガチガチにそれらの言語の常識で縛られていると難しい
0254デフォルトの名無しさん2016/04/03(日) 19:46:50.45ID:yp/d6Zz1
>>252
COBOLやBASICやってたのならRubyのほうがいいですよ。
0255デフォルトの名無しさん2016/04/03(日) 19:57:50.90ID:HxRwKELn
え?それってRubyはBASICやCOBOLに近いって事?
0256デフォルトの名無しさん2016/04/03(日) 20:41:57.79ID:MEGmAVsa
バカに優しいということ
0257デフォルトの名無しさん2016/04/03(日) 21:30:48.98ID:w3ZPKyEL
モジュールのimpot文でこんなのを見かけたんですが

from . import json

この「from . 」はどういう意味合いでしょうか????
0258デフォルトの名無しさん2016/04/03(日) 21:38:17.29ID:WiDVimJr
ぜんぶ
0259デフォルトの名無しさん2016/04/03(日) 21:49:42.93ID:pvdfhL1n
>>257
このモジュールと同じ階層(ディレクトリ)にあるjsonモジュールを明示的に相対importしてる
0260デフォルトの名無しさん2016/04/03(日) 21:56:55.15ID:w3ZPKyEL
>>259
なるほど、つまり通常の import json と効果は同じなんですね
ありがとうございました
0261デフォルトの名無しさん2016/04/03(日) 22:06:02.06ID:pvdfhL1n
>>260
いやいや違うよ、勘違いしてる
import jsonと書くと標準ライブラリにあるやつをimportするから
同じパッケージにあるjsonをimportするためにfrom .をつけて明示的に相対importしてるんだ
0262デフォルトの名無しさん2016/04/03(日) 22:22:57.15ID:451mPNNS
ああそうか、つまり通常のimport jsonと同じって事か、つか早くそれ言ってくれよw
0263デフォルトの名無しさん2016/04/03(日) 22:30:49.09ID:pmKqsZPg
横からで申し訳ないですが、同じディレクトリにある物を呼び出す場合は from ./ でも良いのでしょうか?
0264デフォルトの名無しさん2016/04/03(日) 22:40:15.37ID:lvXQ86xx
駄目
.はカレントディレクトリじゃないしファイルシステムパスを示している訳じゃない
以下を読むべし
http://docs.python.jp/3/tutorial/modules.html
0265デフォルトの名無しさん2016/04/07(木) 17:27:58.55ID:nyWOTQ02
a = [1,2,3,4,5,6,7]
b = [8,9,10,11,12,3]

def ttt(a, b):
for n in a:
if n in a:
return True
return False

print(fooBar(a, b))
# True

こういうの(def fooBar())する場合、何かいいライブラリかメソッドってなかったっけ?
もっと簡単に、2つの配列を比較して処理するライブラリ
0266デフォルトの名無しさん2016/04/07(木) 17:39:20.29ID:X8GQhpV7
>>265
要するに diff やりたいってこと?
0267デフォルトの名無しさん2016/04/07(木) 19:20:57.39ID:Ogy8aWrP
>>265
bが使用されていないが…
基本的な集合演算なら
組み込み型のsetが対応してるよ
0268デフォルトの名無しさん2016/04/07(木) 19:45:47.00ID:nyWOTQ02
>>266
aの中の要素がbの中に入ってたらTrue、入っていなかったらFalseを出したいだけなんだけど、
なんかforを2回まわさなくても、関数で処理できたような記憶があったもので

>>267
for n in a: if n in b:でした
0269デフォルトの名無しさん2016/04/07(木) 19:47:09.64ID:nyWOTQ02
x forを2回まわさなくても
o forを回さなくても
0270デフォルトの名無しさん2016/04/07(木) 20:41:07.81ID:gGuEIMKu
> 組み込み型のsetが対応してるよ
こうかな?
return 0 < len(set(a) & set(b))
2.6 以降なら
return not set(a).isdisjoint(b)
でもいいかも
0271デフォルトの名無しさん2016/04/07(木) 20:56:12.12ID:qhI2bqCd
空のシーケンスは偽だ
確実に真偽値にしたければboolに渡せ
0272デフォルトの名無しさん2016/04/07(木) 22:03:34.10ID:nyWOTQ02
>>270
なるほど
上の方しか試してないけれど、set()でやるならforで回すより早いかも
ありがとう

>>271

> 空のシーケンスは偽だ
ごめん、どこのこと言ってるの?
0273デフォルトの名無しさん2016/04/08(金) 07:49:13.79ID:R25zKOdT
Rubyだと、nil, false の2つだけが偽だけど、

Python, JS などは、数字の0・空のコンテナなども偽になるから、ややこしい。
すべての可能性をチェックしないと、間違うよ
0274デフォルトの名無しさん2016/04/08(金) 08:04:36.79ID:pA/3IygY
nilが偽であることに疑問はないのか
0275デフォルトの名無しさん2016/04/08(金) 09:16:15.01ID:8p/r4dwr
bool(set(a) & set(b))
でおk
0276デフォルトの名無しさん2016/04/09(土) 01:09:41.41ID:czVLbMzO
a = 1
b = 2
c = 3
a and b or c
これはなぜ結果が2になるの?
0277デフォルトの名無しさん2016/04/09(土) 01:43:06.10ID:ze8HeZ8A
>>276
言語リファレンス(Python3.5.1)の6.11 ブール演算(boolean operation)を読むと理由が分かるよ。
a and b or c
は、
(a and b ) or c
の順に評価される。
a and b
は、
if bool(a) == False:
__return a
else:
__return b
のように評価される。
bool(a)=bool(1)=True!=False だから、
a and b は b=2 と評価される。Trueでなくて、2であることに注意。

x or yは
if bool(x)==True:
__return x
else:
__return y
のように評価される。

bool(a and b)=bool(2)==True だから
(a and b) or c は (a and b)=b=2と評価される。

よって、2になる。
ビット演算とは違うんだね。
0278デフォルトの名無しさん2016/04/09(土) 03:13:04.71ID:rWTHbHCd
>>276
Pythonは真偽値を要求する文や式でTrueとFalse以外の値が現れてもエラーにしない
その値を一時的に真偽値として良しなに評価して処理を続ける

そういう箇所で数値は0はFalse、0以外はTrueとして評価される

例えば a, b, c = 1, 0, 3 なら a and b or c は3を返す
0279デフォルトの名無しさん2016/04/09(土) 12:50:14.11ID:arHNwwOt
.
0280デフォルトの名無しさん2016/04/09(土) 20:21:27.11ID:O/pryQpb
pythonでopenGLを扱う必要が出てきました。
調べてみるとvpythonとpyopenglに行き着きました。
両者の違いをお願いします。
0281デフォルトの名無しさん2016/04/09(土) 21:12:14.63ID:i1c+sypU
vpythonはopenglを利用してるだけでopenglライブラリじゃないのでは?
openglを利用しつつguiアプリを作りたいならpygletと言う選択肢もある
0282デフォルトの名無しさん2016/04/09(土) 22:21:06.45ID:KOaWU5bX
pygame は?
0283デフォルトの名無しさん2016/04/09(土) 22:35:57.82ID:/Lxd5kvH
思ったけどPythonって何でもありだな
これは俺の知識不足なせいかな?
0284デフォルトの名無しさん2016/04/09(土) 23:15:29.67ID:O9j9lH5Y
なんでもありだよ
Pythonは世界的に言語人口多いから
0285デフォルトの名無しさん2016/04/09(土) 23:35:15.84ID:OhfpbXnv
なんだろね

スクリプト(インタプリタ)言語じゃ速い部類だし拡張性、柔軟性の高さが受けてるのかな?
0286デフォルトの名無しさん2016/04/09(土) 23:36:39.98ID:O9j9lH5Y
Rubyと同じようなことできて
英語情報豊富だからじゃね
0287デフォルトの名無しさん2016/04/10(日) 02:22:00.21ID:5uNrLDgL
関数ラムダコンストラクタの呼び出し記法が同じ
記号が多くない
1ファイル=1モジュール
classにprotected、privateがない
lambdaには式しか書けない

便利な構文だけもらってシンプルに作ってあるのが良いところだと思う
0288デフォルトの名無しさん2016/04/10(日) 08:29:01.87ID:8xWMgpIq
クラスを継承して新しいクラスを作る時、メソッドのごく一部(例えばメソッド内で使われているある特定の辞書のキー)だけを書き換える方法はありますか?
メソッドをまるごと定義し直さないと無理ですか?
0289デフォルトの名無しさん2016/04/10(日) 10:18:44.57ID:5uNrLDgL
パラメーターの変更なら継承するまでもない
コンストラクターで使用する辞書のキーを渡せばいいよ
0290デフォルトの名無しさん2016/04/10(日) 11:30:50.62ID:CzCrMX8W
>>280 >>282
pygameが一番いいよね
わりとまじで
0291デフォルトの名無しさん2016/04/10(日) 18:01:46.63ID:Abj5deZo
el capitanにしたらpipがインストールできないというなぞが・・・
0292デフォルトの名無しさん2016/04/10(日) 19:41:32.37ID:ClY0znlz
macは最初からpip入ってるだろう。
あなたのそれが単なる愚痴でなく質問であるなら、
どこにどうやって入らなかったのか正確に書いた方がいい。
pythonのバージョンは?homebrewやmacportsを使っているか、
ディストリビューションは公式か、それともpyenv、anacondaなど使っているか云々。
0293デフォルトの名無しさん2016/04/10(日) 20:58:36.42ID:7dkt6eiV
>>291
Rootlessなる新機能が犯人っぽいぞ と 先週それでハマった俺が推理してみる
解除方法を調べレ
0294デフォルトの名無しさん2016/04/10(日) 20:59:55.12ID:7dkt6eiV
>>292
カピタソにしたトタン アップデートもアンインストールもできなくなるんだなこれが
rootでsudoしても権限がないっていわれるw
0295デフォルトの名無しさん2016/04/10(日) 21:20:14.82ID:8xWMgpIq
>> 289
ありがとうございます。
ご回答が理解できないのでもっと勉強してから出直します。
0296デフォルトの名無しさん2016/04/10(日) 21:25:57.02ID:Abj5deZo
>>293
disableしてsudoして入れられた
pip install ***でもsudo入れるのはしょうがないのかな
mac恐るべし
0297デフォルトの名無しさん2016/04/10(日) 21:31:08.58ID:DjaNIQO9
>>295
辞書のキーみたいなパラメータは引数で受け取れば済むって話じゃないの?
メソッドの処理を変更したいなら話は別だけど
0298デフォルトの名無しさん2016/04/10(日) 23:21:54.72ID:8xWMgpIq
>> 297
すみません、辞書のキーを引数で受け取るというところまでは分かる気がするんですが、その後元のキーをその新しいキーで書き換えるにはどうすればいいのか分からなくて…。
メソッドの中で
some_setting = self.settings['orignal_key']
という感じで書かれている箇所で、自分で追加した新しいキーと値のペアを使いたいので(元のキーと値のペアは辞書に残したままで)、
some_setting = self.settings['my_key']
と書き換えたいです。この箇所以外は元のクラスのメソッドをそのまま使いたいです。
辞書自体は設定ファイルから設定名と設定値を読み込んで作られていて、自分で使う新しいキーと値のペアは、設定ファイルで追加します。
また辞書は私が継承したクラスのさらにスーパークラスのスーパークラスの_init__メソッドに引数として渡されています。
0299デフォルトの名無しさん2016/04/10(日) 23:25:05.25ID:Dy3kx/Xc
http://denshi.blog.jp/control/python/微分要素のボード線図
こちらのサイトのサンプルコードを試した結果
ipyshon consoleにてfrom control.matlab import * の行が
TypeError: zip argument #2 must support iterationというエラーが出てしまいます

WinPython-64bit-3.4.4.1をインストールしてideはSpiderを使っています
よろしくお願いします
0300デフォルトの名無しさん2016/04/10(日) 23:36:51.08ID:/5ZjYfnG
このページは存在しないかすでに削除されています

matlabなんて持ってる奴は稀だろうな
それpython3サポートしてます?

エラーメッセージはzipの第二引数にイテレートできない値を指定してんぞ!って言ってます
0301デフォルトの名無しさん2016/04/10(日) 23:42:17.42ID:ClY0znlz
https://pypi.python.org/pypi/control/0.7.0
と思ったらこれかよ
どこかの大学で作ってるようだけど、
それにしては恐ろしく頭が悪そうで愚かしい名前の付け方してるな
controlって
0302デフォルトの名無しさん2016/04/11(月) 00:51:26.65ID:OwO3FuPu
>>297-298
Javaでは、Hash系の等価判定は、2段階になっている。
まず、Object.hashCode()で、高速に不一致のみを判定する。
次に、ここで衝突があったもののみ、equals()で時間をかけて判定する。
つまり、この2つをオーバーライドする

Pythonはよく知らないけど、特殊メソッド、object.__hash__(self) かな?
Hash系の等価判定のメカニズム・特殊メソッドなどを調べて

>>299-301
「python typeerror zip argument #2 must support iteration」で検索!
0303デフォルトの名無しさん2016/04/11(月) 02:03:49.17ID:ZFHEpugs
>>299
plt.legend(["k=1"],3)
とあるところを
plt.legend(["k=1"], loc=3)
としてみたらどうですか
0304デフォルトの名無しさん2016/04/11(月) 03:49:44.22ID:lRmSB7Lh
ここで聞いてよいのかわかりませんが、ウェブフレームワークは何が良いでしょうか?
Pythonにはいっぱいあってよくわかりません
0305デフォルトの名無しさん2016/04/11(月) 06:56:20.81ID:4CkanXgX
実用性の面で選べるものはそんなにない
djangoかflaskかbottleくらい

いずれにしても英語は読めないと駄目です
日本語ドキュメントは古すぎて役に立たないでしょう
0306デフォルトの名無しさん2016/04/11(月) 07:02:52.15ID:mNOWqBq7
djangoかflaskかpyramidで迷っていたのですが、djangoにします:D
0307デフォルトの名無しさん2016/04/11(月) 16:49:50.72ID:mtVFRznW
https://github.com/rbgirshick/py-faster-rcnn
これをどうしてもWindowsで使いたいんですが、
何をしてもnms_kernel.cuでbuildが止まってしまって困ってて
Windowsでは何をしても使えないのでしょうか?

setup.py
http://codepad.org/cJ6I3TXo

Error
http://codepad.org/cIGtMDpx
0308デフォルトの名無しさん2016/04/11(月) 17:42:42.93ID:KLWDT4Re
codepad落ちてる
0309デフォルトの名無しさん2016/04/11(月) 18:04:18.80ID:zL4rBumh
>>307
落とすなよw
0310デフォルトの名無しさん2016/04/11(月) 19:17:00.42ID:ZFHEpugs
>>307
setup.pyの51行目の条件判定と真の場合の処理はWindows環境を想定しているように思えますので、Windowsだから使えないっていうことはないんじゃないですかね。
0311デフォルトの名無しさん2016/04/11(月) 19:20:22.38ID:QDq24+1J
>>296
うまくいってよかった
そうだよ pipはlistするとき以外いつでもsudo
0312デフォルトの名無しさん2016/04/11(月) 19:30:56.10ID:5R0/uaTi
>>307
MinGW経由してみてもだめかな

>>299
matplotlibだけじゃなくて
controlとnumpyも入れた?
ipythonだっけかな も入れないとグラフ描画でつっかかった記憶ががが
0313デフォルトの名無しさん2016/04/11(月) 19:45:53.19ID:mtVFRznW
>>307ですが
setup.pyはカスタム済みで元ファイルはこれです
https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/setup.py
0314デフォルトの名無しさん2016/04/11(月) 20:20:02.13ID:4LRnZQiu
codepadは落とすわフェイクのファイルを挙げるわ…
ふてぇ野郎だな
0315デフォルトの名無しさん2016/04/11(月) 21:57:27.36ID:/4tKcoWK
男女って何よ?
簡単に教えてくれ
0316デフォルトの名無しさん2016/04/12(火) 01:43:29.40ID:iN7RaFvn
>>298
何を言っているのか、さっぱりわからないから、

ソースコードを書いて説明して
0317デフォルトの名無しさん2016/04/12(火) 10:24:19.14ID:qFdHr0ZJ
pyramid使ってる人いますか?
djangoよりよさそうに見えるんですが
0318デフォルトの名無しさん2016/04/12(火) 10:50:38.68ID:YZS1m95E
一年前の俺がいる
君と同じ印象を抱いたので使ってみたくクチだ

実際に使ってみると、コンポーネントが全部入りで悩まなくて済む
Djangoの有り難みが分かる偉大なプロジェクトだ
時間の無駄だった
0319デフォルトの名無しさん2016/04/12(火) 11:52:10.02ID:VaA8AA0v
>>307です
MinGWでビルドしようとすると
distutils.errors.CompileError: command ['C:Program', 'FilesNVIDIA', 'GPU', 'Computing', 'ToolkitCUDAv7.5binnvcc.exe'
failed: No such file or directory
が出て困ってます
何が原因でしょうか?

ソース(ほとんど変わっていない)
http://codepad.org/5PZpQS5p

Error
http://codepad.org/XZjMrukm
0320デフォルトの名無しさん2016/04/12(火) 12:11:01.91ID:S/1D0MSq
そりゃMinGWで実行しようとしてるからだろ
多分君がそれをビルドできるようになるまでは3ヶ月くらい掛かるぞ
畑でも耕してたら?
0321デフォルトの名無しさん2016/04/12(火) 12:13:17.20ID:8UWAtsZ/
codepad落ちてる
0322デフォルトの名無しさん2016/04/12(火) 12:17:38.10ID:MlmCnlCJ
え、落ちてないけど
このエラーの原因は、MinGWでビルドしてるのにパスがWindowsフォーマットのまんまなこと
このエラーが解決してもビルドできるとは思えんが…
0323デフォルトの名無しさん2016/04/13(水) 21:17:47.92ID:Fx7IkZaQ
>>307
Requirements: softwareとRequirements: hardwareは足りてるのか?

どっちも足りてるならGNU make とかいうのをインスコすると
makeコマンドがwindowsでも使えるようになるから人柱になって結果を報告してくれ
0324デフォルトの名無しさん2016/04/14(木) 12:40:17.24ID:5I9WHGj5
PysideのQFileSystemWatcherでテキストファイル更新を監視したいです。
他のテキストエディタでの更新だと随時受け取れているのですが
PyCharmでの更新が一度きりしか受け取れません。
登録パスが消えてしまうようなのですが、原因分からないでしょうか。
0325デフォルトの名無しさん2016/04/14(木) 20:55:31.35ID:XBdahEDN
wxPythonの公式サイトもググると
「このサイトは第三者によってハッキングされている可能性があります。」
と表示される。ハッキングされているの? 怖くてリンクをクリックできない。
0326デフォルトの名無しさん2016/04/14(木) 21:17:28.96ID:i3uogHdN
いつから警告メッセージの段階なら安全だと錯覚していた?
0327デフォルトの名無しさん2016/04/15(金) 12:21:49.41ID:YbOE2eZX
いつから2ちゃんがハッキングされてないと錯覚していた?
0328デフォルトの名無しさん2016/04/15(金) 12:48:50.29ID:y7MrEC/r
ハッキングから夜のおかずまでカバーするくらいなので
0329デフォルトの名無しさん2016/04/15(金) 16:05:47.94ID:T9breHyk
ここにある
http://blanktar.jp/blog/2013/04/python-crypto-aes.html
AESの複合化のやり方を参考にm3u8に付いているキーファイルから
tsファイルを複合化したいのですが、m3u8に記載されているキーファイルをダウンロードしてみると
バイナリでした。
参考のページではテキストになっているのですが、これは関係なく動きますでしょうか
0330デフォルトの名無しさん2016/04/15(金) 16:44:05.17ID:DT9Q+kCC
>>329のURLはPython2を使って説明してる
文字列の型はPython2のstr≒Python3のbytes

web検索でPyCryptoのドキュメントを探したら
https://www.dlitz.net/software/pycrypto/api/current/
AES.new()の第一引数keyはbyte stringを受け入れると書いてある

たぶんPython2ならstr型、Python3ならbytes型のデータをkeyとして渡す
0331デフォルトの名無しさん2016/04/15(金) 17:05:21.11ID:T9breHyk
>>330
それはまずいですね
実行したいのはpython2.6です。

バイナリは無理なのかとりあえずバイナリ入れてやってみます
0332デフォルトの名無しさん2016/04/15(金) 18:19:59.22ID:DT9Q+kCC
説明が悪かった
バイナリがユニコード文字列ではなくバイト文字列を指しているならばPython2のstr型はバイナリだよ

2と3の間で文字列の型が下のように変わった
Python2はバイト文字列=str、ユニコード文字列=unicode
Python3はバイト文字列=bytes、ユニコード文字列=str
0333デフォルトの名無しさん2016/04/16(土) 11:08:41.80ID:kAejHcPL
おそらくShift-JISで書かれているcsvファイルがあるんだけど、
Python3で文字比較をするにはどうすればいい?

例えば、if row[4][2] ==
0334デフォルトの名無しさん2016/04/16(土) 11:11:02.35ID:kAejHcPL
例えば、if row[4][2] == '山下':とすると
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x8f in position 0: invalid start byte
と出て処理できないんだけど
0335デフォルトの名無しさん2016/04/16(土) 11:17:03.28ID:47uue4xh
python3のcsvモジュールのドキュメントにエンコード指定で読み込む方法が書いてある
python2のcsvモジュールは
インターフェースの設計がマヌケなのでpython3若干面倒くさい
0336デフォルトの名無しさん2016/04/16(土) 11:24:22.06ID:kAejHcPL
>>335
ありがとう

こういう風に書いて上手くいかないんだけど、どういう風に変えたらいい?
https://ideone.com/fYBp69
0337デフォルトの名無しさん2016/04/16(土) 11:31:14.65ID:kAejHcPL
>>336の場合のエラー内容は、
SyntaxError: Non-UTF-8 code starting with '\x8c' in file name.py on line 13,
but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details


encoding='utf-8'に変えた場合(https://ideone.com/jmGWFK)のエラー内容は、
SyntaxError: Non-UTF-8 code starting with '\x8c' in file name.py on line 13,
but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
0338デフォルトの名無しさん2016/04/16(土) 11:48:05.23ID:47uue4xh
ソースコードをshiftjisで保存している疑惑がある
0339デフォルトの名無しさん2016/04/16(土) 12:53:46.80ID:kAejHcPL
>>338

ありがとう
確かにWindows使ってたので、Shift_JISになってました
0340デフォルトの名無しさん2016/04/17(日) 18:22:10.41ID:NP0lUQO1
windowsなのに#!/usr/bin/env pythonを書く意味まったくない
0341デフォルトの名無しさん2016/04/17(日) 21:10:36.54ID:Ddro+2fw
他に持ってっても使えるやん
0342デフォルトの名無しさん2016/04/18(月) 11:08:46.25ID:xGL32HoF
今時シバン行なんて書いて実行する機会なんてほとんどないよ
pythonのライブラリでもシバンなんて書いてあるのほぼ見かけない
linuxでpython使ってるけど別にそんなの書かない
日本語扱うなら1行目に書くのは# -*- Coding: utf-8 -*-だけでいいし、扱わないなら何も書かなくてもいい
0343デフォルトの名無しさん2016/04/18(月) 11:35:52.63ID:15lk0eIz
シバンがあればスクリプトとして実行可能と表明できる
setup.py書くようなライブラリのモジュールには書かないからね
0344デフォルトの名無しさん2016/04/18(月) 11:46:45.77ID:zfy2v2Zo
setup.pyを書くならentry_points使ってるっしょ
(知らないのはド素人だから引っ込んでろ)
こいつがシバン行生成しとるよ

手書きすることがなくなっただけで、相変わらず存在はしてる
0345デフォルトの名無しさん2016/04/18(月) 12:59:36.84ID:oQvn+vlE
>>344
>知らないのはド素人だから引っ込んでろ

このスレでこれ言うか
0346デフォルトの名無しさん2016/04/18(月) 13:13:51.22ID:oZqrBUah
Windows10にしてから、pythonスクリプトを、ドロップレットに出来ず、困っています。
Windows7 の時は、レジストリにキーを追加することでドロップレットに出来ていたのですが。
どなたか、対応策をご存知でしたら、ご教示下さい。
0347デフォルトの名無しさん2016/04/18(月) 14:12:28.73ID:nSIPXSMy
>>342
UTF-8がデフォじゃん
0348デフォルトの名無しさん2016/04/18(月) 15:45:30.15ID:NxXedIF3
>扱わないなら何も書かなくてもいい

この書き方だと本人は誤解してるのが見て取れるなー
0349デフォルトの名無しさん2016/04/19(火) 14:09:17.08ID:+UVrubM8
最近Pythonをいじり始めた初心者なんだけど、
ファイルを読み込んでその内容を1行ずつPyQT4のウィジェット上(コンソールではなくて)に表示させるためには
どうすればいいんでしょうか?

シグナルとスロットとかを使うのかと思ったんですが、どれを使えばいいのかさっぱりわかりません。
0350デフォルトの名無しさん2016/04/19(火) 20:49:43.84ID:X1zaZ+P/
>>346
assocで*.pyの関連付けを削除してから
レジストリキー追加してみて
0351デフォルトの名無しさん2016/04/19(火) 22:47:23.04ID:N6CIFExd
>>350

ありがとうございます。
ドロップレットとして動作するようになりました。
0352デフォルトの名無しさん2016/04/19(火) 23:21:31.32ID:X1zaZ+P/
へー上手く行ったんだ
正直成功すると思ってなかったけど
0353デフォルトの名無しさん2016/04/19(火) 23:55:14.92ID:N6CIFExd
>>352
実際には、あれこれやっているうちに上手く動くようになりました。

コマンドブロンプトで、
assoc .py
として、関連付けをみたところ、何も関連付けされてませんでした。
その後、regedit で、.pyをPython.File に関連付けました。
regeditで、HKEY_CLASS_ROOT\Python.File/shellex/DropHandler に、60254以下略の値を設定。
この段階で、スクリプトファイルにドロップしましたが、うまく動作しませんでした。
Anacondaだと上手くいかないのかと思い、python.orgからダウンロードした標準版?もインストールし、再起動しました。
すると、スクリプトファイルへのドロップが動作するようになりました。

再起動したから、上手くいったのか、python再インストールしたのが良かったのか、.pyをPython.Fileに関連付けたのが良かったのか、あるいはそれらのうち、複数が必要だったのか、、、今となっては、よく分かりません。

が、諦めかけていたところ、お返事頂いた事がきっかけでアレコレ試す事が出来ました。
感謝しております。
0354デフォルトの名無しさん2016/04/20(水) 00:40:38.52ID:59Aeov/b
もしかすると月末ぐらいからPythonをやることになるかもしれないんだけど
電車通勤の時間を利用して、軽く勉強しておきたい。
なにか手頃な書籍は無いかな。

・C/C++/C#/Perl/PHP/JSは仕事で使った経験あり。
・予算は3000円台くらい。現時点では、5000円超えると厳しい。
・仕事で使うPythonのバージョンは未定。
・電車内で読むことになりそうなので、あまりに大きすぎるとちょっと困る。

「Pythonチュートリアル」は、それとは別に公式サイトにあるものを読むつもり
0355デフォルトの名無しさん2016/04/20(水) 00:40:40.83ID:oj6NjU7C
Python3を入れるとpylancherってのが一緒にインストールされる
これのおかげっぽい
0356デフォルトの名無しさん2016/04/20(水) 00:42:35.14ID:oj6NjU7C
>>354
そんだけやったことがあるなら基本で躓くってことはないのでは
仕事で何すんの
Web製作?データマイニング?
0357デフォルトの名無しさん2016/04/20(水) 06:36:36.82ID:UfNx2Znx
>>354
みんパイ+専門の本がオススメ

まず『みんなのPython』で全体の雰囲気をつかむ
アマゾンで旧版の中古なら千円しない
少し厚いがイヤならバラして読み捨てにする

それからたとえば機械学習とか
仕事で使う分野の本命の本を1冊買う
これが個人的にコスパ良いと思う
03583542016/04/20(水) 08:05:22.18ID:59Aeov/b
>>356
Webベースのアプリケーションと、それに伴うデータ処理を予定。
データマイニングというほど大げさなもんではないけどね。

>>357
みんなのPythonか。ありがとう。
プログラミング自体の初心者向けって書評もあったから、ちょっと迷ってたんだ。
0359デフォルトの名無しさん2016/04/20(水) 08:41:04.10ID:r07pzD8i
python 指定の仕事なんてあるんだな
0360デフォルトの名無しさん2016/04/20(水) 23:00:26.22ID:59Aeov/b
自由に言語を選べることって、そんなに無いと思うんだ
0361デフォルトの名無しさん2016/04/21(木) 15:08:52.79ID:DN7N6cz4
一般社団法人Pythonエンジニア育成協会だって
ちょー胡散臭いw
0362デフォルトの名無しさん2016/04/21(木) 16:47:29.44ID:9Ocgrhnl
予算もらってドローン
0363デフォルトの名無しさん2016/04/21(木) 18:40:53.38ID:lMrhGQ0g
社団法人ってすごく簡単に作れるんだな
http://ippanshadan.solicitoroffice.com/
0364デフォルトの名無しさん2016/04/21(木) 19:47:20.50ID:R9dun5S+
資格商法でもやるのかな?
0365デフォルトの名無しさん2016/04/22(金) 01:40:28.10ID:4Xj+EYUC
ドローン墜落
0366デフォルトの名無しさん2016/04/24(日) 13:51:51.89ID:KQN682y5
Python初心者です!
応用力を伸ばすにはどの本がおすすめですか?
0367デフォルトの名無しさん2016/04/24(日) 14:01:50.25ID:yMXAuegD
初心者を脱してから考えれば?
0368デフォルトの名無しさん2016/04/24(日) 16:32:24.28ID:75gzdZLs
まず書き捨てのスクリプトから始める
使うものを書くのが一番力が付くと思う

コーディングに慣れたら、なんかライブラリとかソフトを作る
スクリプトを書くからソフトを作るに変化していれば結構な力があるはず

やりたいことが思い浮かばないなら競技プログラミングとかを利用する
他のプログラミング言語の経験があるならライブラリやソフトのPython移植でもいい
それも無理なら分からん
0369デフォルトの名無しさん2016/04/25(月) 02:54:29.59ID:ouB2BnTZ
>>366
みんなのPython
0370デフォルトの名無しさん2016/04/26(火) 18:59:18.91ID:jjglOp68
>>368 やりたいこと。深層学習です。
0371デフォルトの名無しさん2016/04/26(火) 19:14:27.52ID:6sXX5nQB
その目的だとPythonは(目的からすると非常に些細な)手段でしかない
応用は学術的な勉強が必要だろ
大学に行け
0372デフォルトの名無しさん2016/04/26(火) 22:10:18.46ID:KUbgmjPe
深層学習で何をやりたいかまで考えておいた方がよさそう
0373デフォルトの名無しさん2016/04/26(火) 22:37:40.84ID:Aa1dX/el
プログラミング技術って大学へ行ったからと言って身につく物とは違う気がする
周り、大卒のプログラマーあまりいない・・・
0374デフォルトの名無しさん2016/04/26(火) 22:40:17.59ID:Aa1dX/el
あ、大卒や院卒は多いけど
専攻が文系だったりプログラムまともに履修してないって意味ね
みんなの周りってプログラム専攻してた人ばかり?
0375デフォルトの名無しさん2016/04/26(火) 23:11:05.45ID:34JYrqL0
自分は材料系出身でプログラム経験は一般教養レベルだった。
研究開発で物理シミュレーション作成が必要になったんで、
昨年からプログラム作ってる。
三十代半ばだげど何とかなるもんだな。
0376デフォルトの名無しさん2016/04/27(水) 02:25:00.69ID:vpv25bM3
「Rubyの女神」池澤あやか
慶応大学環境情報学部卒業

在学中、プログラムの授業で、単位を荒稼ぎしていた
0377デフォルトの名無しさん2016/04/27(水) 12:55:02.43ID:DvInQ2rz
事務処理から物理シミュレーションまで
簡単に出来るから使ってるだけだからなぁ
普通に製造業だから機電物理ばかりよ
0378デフォルトの名無しさん2016/04/27(水) 21:48:52.00ID:8VC19aOZ
そのうち、ビジュアルプログラミング言語だけでいい時代がくる。
0379デフォルトの名無しさん2016/04/27(水) 22:43:09.28ID:Igjc9VOL
作りたいものがあるか、必要に迫られないと続かないし身につかないと思っている
0380デフォルトの名無しさん2016/04/28(木) 09:51:24.03ID:R8DnYLQU
propertyで作ったgetterに対して+=しようとするとsetterが呼び出されるんだけどどうなってるんだろ
propertyに対して+=を定義したい時はどうすれば良いのか教えて下さい
0381デフォルトの名無しさん2016/04/28(木) 10:14:40.41ID:k1aARqjb
>>380
ここに書いてある
http://stackoverflow.com/questions/11987949/how-to-implement-iadd-for-a-python-property
0382デフォルトの名無しさん2016/04/28(木) 14:43:54.13ID:D/VFt/W7
質問です。
py2exe で作った exe の関数を外部の .py ファイルから呼び出すことはできますか?

具体的には
プラグインは .py で追加し、本体は exe にしたいのですが、
exe の中に含まれる関数をプラグインでも使う必要があります。

ヒントなどありましたらよろしくお願いします。
0383デフォルトの名無しさん2016/04/28(木) 16:56:02.95ID:k1aARqjb
exeにしたpyからimportできるモジュールは
プラグインとやらの側でもimportできる
必要な関数をモジュールにまとめておけばいい

それが嫌なら知らん
死ね
0384デフォルトの名無しさん2016/04/28(木) 17:15:35.45ID:D/VFt/W7
モジュール Distutils で調べてみます。
ありがとうございます。
0385デフォルトの名無しさん2016/04/28(木) 17:32:55.44ID:sy/A9cxw
exe側からプラグインの関数を呼ぶときにコールバック用のオブジェクトなり渡すのが素直かな

無理矢理なら
・プラグイン側から sys.modules[exe側のモジュール名] 使って呼び出す
・exe側で plugin_module.func1 = func1 とグローバル空間に突っ込む
0386デフォルトの名無しさん2016/04/28(木) 18:21:41.58ID:D/VFt/W7
>>385
なるほど、これもわかりやすくていいですね。ありがとうございます。
0387デフォルトの名無しさん2016/04/28(木) 23:30:45.59ID:YA55GjNH
>>381
クラスを作らなきゃいけないのか……
ありがとうございます
0388デフォルトの名無しさん2016/04/29(金) 01:01:36.58ID:FtHCzag5
>>380-381
a += 1 は、a = a + 1 のことだろ。
つまり一旦、a を読み込んでから、書き込んでいる。
read & write

だから、setter も呼ばれる
0389デフォルトの名無しさん2016/04/29(金) 07:31:38.24ID:PbNRaORu
Perlで無名関数を定義してそこですぐに呼び出す処理
sub {...} -> ();
のようなことをPythonでやるにはどうしたらいいでしょうか?
03903892016/04/29(金) 07:40:55.50ID:PbNRaORu
(lambda ... : ...)(...)
これでいいのですね、失礼しました
0391デフォルトの名無しさん2016/04/29(金) 07:43:03.58ID:bfDxxaAZ
注意としてlambdaの中は式しか書けないので、
if文for文while、with、def、class…などステートメントが書けない(ループや分岐の代替手段はあることはある)
代替手段がない例外処理は難しい
0392デフォルトの名無しさん2016/04/29(金) 07:49:37.84ID:PbNRaORu
>>391
なぜそのような不自由な仕様になっているのでしょう?
0393デフォルトの名無しさん2016/04/29(金) 08:12:21.60ID:Iep7JOlc
主な理由はバカ避けやな
0394デフォルトの名無しさん2016/04/29(金) 08:37:15.08ID:bfDxxaAZ
>>392
理由は混ぜて書けないから
lambdaは式だからインデントを無視して書ける
forなどのステートメントはインデントの高さに縛られている

Python言語の設計としてはインデント構文の一貫性がlambda式の利便性より優先されたのであろう
0395デフォルトの名無しさん2016/04/29(金) 09:32:27.66ID:PbNRaORu
>>393
ラムダ計算について少しは勉強したほうがいいのでしょうか
>>394
Pythonは式と文を構文上でも明確に区別してる言語ということなのですね
0396デフォルトの名無しさん2016/04/29(金) 10:14:59.46ID:7xJ0b0th
長い関数なら別に作ったほうが良い
0397デフォルトの名無しさん2016/04/29(金) 11:36:39.36ID:2NhEQh2x
lamdaを変数に代入しようとするとpep8はキレる
0398デフォルトの名無しさん2016/04/29(金) 12:58:16.94ID:yIWTKkJ0
Perlの田舎者がクソコード書かないようにだよ
0399デフォルトの名無しさん2016/04/29(金) 17:49:24.68ID:qRN5QO0n
Jupyter notebookの破壊力パナイ
研究者の必須ツールになってる
0400デフォルトの名無しさん2016/04/29(金) 17:58:35.32ID:J4woZ2qQ
texにコンバートするときに日本語使ってるとアウトなのが面倒臭い
0401デフォルトの名無しさん2016/04/30(土) 09:05:39.78ID:2PEUr7Ko
Pythonの勉強をしていますが、オブジェクト指向が難しすぎます
クラスとは何ぞや、インスタンスとは何ぞや、そもそもオブジェクトとは・・・と
調べていくだけで人生が終わりそうな気がしています
みなさんはPythonを使って何年でオブジェクト指向を身に着けたのでしょうか
0402デフォルトの名無しさん2016/04/30(土) 09:13:11.03ID:y91PofS5
>>388
あ、なるほど。そういうことだったのですが
納得しました。ありがとうございます
0403デフォルトの名無しさん2016/04/30(土) 09:59:02.01ID:xcr8nx4M
>>401
他言語使ってたからPythonでオブジェクト指向覚えたわけじゃないけど
人生終わるのはかかりすぎw

別に手続き型的に使ってもいいんだしボチボチ行けばいいと思う
関連する変数と手続きをまとめたもの程度に考えればいいよ
0404デフォルトの名無しさん2016/04/30(土) 10:03:28.94ID:BgzVxY9x
C++だったら構造体+関数と覚えりゃ十分だし
それで数年経ってからMoreEffectiveC++とかGoF読めばええ
0405デフォルトの名無しさん2016/04/30(土) 11:05:28.67ID:+IKIlF8v
四半世紀、オブジェクト指向の影を追っているが未だその背すら見えない。日暮れて道遠し。
0406デフォルトの名無しさん2016/04/30(土) 11:25:18.18ID:xcr8nx4M
作れないにしても使う分には普通に恩恵にあずかってると思うが
何らかのAPIで
0407デフォルトの名無しさん2016/04/30(土) 11:40:36.52ID:LjSxWXAc
オブジェクト指向も不便を感じた先人が作ったものだし
今までのやり方で不便を感じない限りはいらないんじゃないのかな
0408デフォルトの名無しさん2016/04/30(土) 11:52:47.07ID:hdth9551
>>401
プログラミングやってるからって
プログラミング言語全部覚えてるわけじゃないし
オブジェクト指向の全概念を理解してなくても組める

さしあたりグローバル変数を
なるべく使わないだけでも
メリットは大きいと思う

後は慣れていくにしたがって
関数的な引数を減らしていくとか
ポリモーフィズムを使うとかいろいろ
0409デフォルトの名無しさん2016/04/30(土) 12:09:41.81ID:ATOMDdkU
pythonで科学技術計算してるけど、オブジェクト指向とか意識してないわ。
数値計算関係のライブラリとかは詳しくなったけど、
一般的なことはほとんど知らないし。
0410デフォルトの名無しさん2016/04/30(土) 12:16:19.64ID:d3VauDgB
Python始めようしたらコメントでめげた
複数行選択して一気に行等に#つけたり
とったりできるエディタってないですか?
'''とかだと色がコメントでなくてリテラルの色に
なるのでイヤです
0411デフォルトの名無しさん2016/04/30(土) 12:18:29.27ID:d3VauDgB
>>410
MacとWinどっちかで
もし両方あればその方がいいです
0412デフォルトの名無しさん2016/04/30(土) 12:31:57.93ID:xcr8nx4M
>>410

自分はサクラエディタとvimだけど矩形選択>入れたい文字を挿入(この場合#)で
どちらでも行ける
0413デフォルトの名無しさん2016/04/30(土) 12:52:20.30ID:19cestnd
いっそのことPyCharmで行こう
0414デフォルトの名無しさん2016/04/30(土) 13:03:21.00ID:ATOMDdkU
ずっとpycharm使ってたんだけど、jupyterってどう?
pycharmと何が違うの?
0415デフォルトの名無しさん2016/04/30(土) 13:28:10.54ID:MuB39WXy
PyPyには夢があるよね(*´ω`*)
0416デフォルトの名無しさん2016/04/30(土) 13:30:36.83ID:hDm1v4cX
jupyterってweb上でやるから
ファイル生成したらどうなるんだろって思うことがある
0417デフォルトの名無しさん2016/04/30(土) 15:09:01.67ID:ayXNqxnF
インターフェースがブラウザなだけで裏で動いてるのは普通のPythonだし
普段通りにファイル生成されるがな
0418デフォルトの名無しさん2016/04/30(土) 15:55:28.52ID:FuZy8SxD
>>416
ブラウザのプライベートストレージ領域にうんたらかんたら
0419デフォルトの名無しさん2016/04/30(土) 16:02:34.13ID:39QHwzY8
あんまり巨大なプログラムになって把握しきれなくなってきたり
使い回し頻繁にしたりしないかぎりは
オブジェクト指向なんか無視してるなぁ
動けばいいんだよ別に
0420デフォルトの名無しさん2016/04/30(土) 18:31:51.70ID:YS3y6fmo
ともだちのいないやつは
うらやましい
0421デフォルトの名無しさん2016/04/30(土) 18:36:37.31ID:6oLpSGXE
心の友よ
0422デフォルトの名無しさん2016/04/30(土) 19:33:07.10ID:d3VauDgB
>>412
>>413
ありがとです
その辺でやってみます
0423デフォルトの名無しさん2016/04/30(土) 21:26:56.17ID:uVz81x78
GitHubで匿名通信(Tor、i2p等)ができるBitComet(トラッカーサイト不要でDHTだけで日本語検索可能)
みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
q
0424デフォルトの名無しさん2016/04/30(土) 23:14:50.17ID:ONUYw0tw
さすがアスペ
0425デフォルトの名無しさん2016/05/01(日) 01:47:31.05ID:z9wiiFYv
>>378
ビジュアルプログラミング言語ってまともに使ったことある?
普通のプログラミング言語に比べて頭の使い方が違うってだけで、結局結構頭使わなきゃいけないのは同じだと思うけど
0426スッキリ厨2016/05/01(日) 01:54:22.59ID:e+z55mXR
>>401
Cを20年やっていた中年プログラマでも、C++へ移行できない。
それくらいオブジェクト指向は難しい

推薦図書/必読書のためのスレッド 79
http://echo.2ch.net/test/read.cgi/tech/1460389470/162

これの上から3冊を、この順番で読む
0427デフォルトの名無しさん2016/05/01(日) 02:00:55.12ID:CGU8Z7az
あーC++は無駄に言語仕様広げ過ぎたところがあるからなー
JavaやC#経験者でも怪しいかも
0428デフォルトの名無しさん2016/05/01(日) 16:14:48.81ID:7h4ESd0D
Python用IDE「Pythonista」がv2.0へアップデート。iPad Proに対応し、Pythonスクリプトを共有メニューから実行可能に。
http://applech2.com/archives/47504515.html
0429デフォルトの名無しさん2016/05/01(日) 19:17:25.44ID:RQlLJ5E+
Jupyterでサーバー立ててそれ使ってるわ
0430デフォルトの名無しさん2016/05/02(月) 11:32:11.94ID:p/GOapYL
オブジェクト指向はオブジェクトとメッセージの組み合わせとしてとらえないとね
メッセージをどう扱うかをちゃんと考えないと片手落ち
入門書はクラスの話ばっかりでメッセージについてちゃんと考えない本ばっかりだよね
0431デフォルトの名無しさん2016/05/02(月) 12:00:20.93ID:/vArbXlW
メソッドをコールするのをメッセージとか変な例え話とか持ち出されると余計わからなくなるんじゃないかな?

新しい概念を前触れなく新しい用語で解説するものも少なくないな
0432デフォルトの名無しさん2016/05/02(月) 12:14:29.07ID:p/GOapYL
オブジェクト指向はオブジェクトとメッセージの組み合わせを中心とする
一つの考え方で、プログラミング言語の話は本当はどうでもいいんだよね
だけどみんな学習するときは言語を通してオブジェクト指向を勉強しようと
するからややこしいことになってる
最初はCORBAとかCOMを通して学んだ方がまだいいのかも
0433デフォルトの名無しさん2016/05/02(月) 12:19:27.33ID:/HEiP4n3
objective-cやろう
0434デフォルトの名無しさん2016/05/02(月) 12:22:08.00ID:my4Bhrqr
添削とか誰かしてくれれば良いんだがなぁ
0435デフォルトの名無しさん2016/05/02(月) 12:25:12.55ID:VQNjIHNC
メッセージにこだわるとかSmalltalk原理主義者か?
今どき誰も言わねーだろ
0436デフォルトの名無しさん2016/05/02(月) 12:51:29.56ID:B3EvcS9w
オブジェクト指向のメッセージとは何ぞ?
0437デフォルトの名無しさん2016/05/02(月) 13:55:37.05ID:/vArbXlW
ほらね、ややこしくなったw
0438デフォルトの名無しさん2016/05/02(月) 14:15:04.30ID:9pVsELBu
OOPにしてもなんにしても、すぐにそれは真の○○ではないみたいなノリになるから話すだけ不毛。
0439デフォルトの名無しさん2016/05/02(月) 14:31:29.95ID:JMz+Fiea
>>436
腹ぺこにゃーとcatオブジェクトが鳴くことだよ。
0440デフォルトの名無しさん2016/05/02(月) 14:42:33.72ID:3YV7E0Ft
>>431
> メソッドをコールするのをメッセージとか変な例え話とか持ち出されると余計わからなくなるんじゃないかな?
俺がその被害者だわ
2 にprint を送る ...
はあ?
なんのこっちゃ
ってなってた
0441デフォルトの名無しさん2016/05/02(月) 15:13:39.68ID:aR8AOrvI
メッセージなんて言葉でごまかしていいのは Erlang だけだぜ
0442デフォルトの名無しさん2016/05/02(月) 16:18:31.60ID:/HEiP4n3
本質がどうたらなんてのは衒学趣味の奴だけやってりゃいいのよ
0443デフォルトの名無しさん2016/05/02(月) 19:10:44.37ID:fPSF/RLG
>>439
かわいい
0444デフォルトの名無しさん2016/05/03(火) 00:49:50.32ID:At+YDHai
メッセージというとQtのシグナル/スロットが思い浮かぶけどそれとはまた違うの?
0445デフォルトの名無しさん2016/05/03(火) 03:43:01.38ID:jJjwOdKF
オブジェクト指向は何ぞやって考えるよりも、
クラスという箱に変数や関数をまとめられるから便利程度に考えてるかなぁ。

実行速度のこと気になるけど、仕事上で実行速度を少しでも速くと求められることもないし・・・。
0446デフォルトの名無しさん2016/05/03(火) 05:49:02.36ID:1U/0N7SV
>>444
それは、GUIのウィジェットのイベント

obj.method()

Smalltalk 流では、主体(obj)をレシーバーと言って、
送られたメッセージ(method)を受け取るもの、と考える
0447デフォルトの名無しさん2016/05/03(火) 10:04:03.33ID:uj5UEuxV
学術的なこととか歴史的経緯とか持ち出されると初心者には余計にわからなくなるよな

元々は大規模なプログラムに対して上手くまとめられないかで考え出された
ところが初心者は大規模なプログラムなんて経験してないんだからその有難みなんてものは解らなくて当然

だからある程度慣れてきて、作っていたプログラムが肥大化してきた、さてどうしよう、からで良いのでは?
必要になれば自ずと覚えるよ
0448デフォルトの名無しさん2016/05/03(火) 11:43:35.27ID:/riA19CI
>>436
> オブジェクト指向のメッセージとは何ぞ?

ちょっと長いですが説明を試みます。
まずひとくちに「オブジェクト指向」といっても、発案者の違う2つの考え方があります。
ひとつはC++を作ったビャーネ・ストラウストラップという人が考えた抽象データ型のオブジェクト指向。
もともとSIMULA67という言語にあった「クラス」という言語機能を使って
バーバラ・リスコフという人の考えた「抽象データ型」つまり「ユーザー定義型」を扱えるようにするアイデアです。

ひと昔前のオブジェクト指向の解説には必ず載っていた
「カプセル化、継承、ポリモーフィズム」の三点セットはこのアイデアを端的に説明したものです。
(カプセル化=抽象データ型。継承+ポリモーフィズム=クラスの特徴)
なおこのオブジェクト指向では「メッセージ」はいっさい関係ありません。

メッセージが絡むのはもうひとつのアイデアの方で、
アラン・ケイという人が考えたメッセージングのオブジェクト指向です。
クラス同様にSIMULA67の「オブジェクト」という言語機能をメッセージの受け手として機能させることで、
徹底した動的遅延結合性をソフトウエアの設計から実装レベルまで徹底させよう
というアイデア、というか指針です。

すでに出てきたレスにもあるように、しかるべき文法(SmalltalkやObjective-Cのようなメッセージ式)、
あるいはErlangのような非同期でなければ「メッセージングのオブジェクト指向」の実践は困難であるかのような
主張をする人もいますが、これらはあまり本質ではなく、あればベターという程度です。
強いていうなら、処理系自体が動的遅延結合性を「良し」としていないとツライことが多くなりますが…。

Pythonは前者の考え方をよくサポートする言語なので、後者の「メッセージ」という
考え方は意識する必要はまったくありません。ただ、後者の目指す「動的遅延結合性の徹底」を
実践するのに十分な動的性は処理系として持っていますので、メッセージングを意識して
プログラムを組むこと自体は、他の遅延結合性の言語を使うよりははるかに容易です。

参考までケイがメッセージングで目指した動的遅延結合性のメリットはこちらで述べられています。
http://metatoys.org/oxymoron/oxymoron.html
0449デフォルトの名無しさん2016/05/03(火) 11:48:42.86ID:jFXKOt8Z
SIMULA USILO
0450デフォルトの名無しさん2016/05/03(火) 12:49:08.54ID:F7Orkgnr
オブジェクト指向⊂プログラミングの基礎やで
狭い範囲にばかり固執するから分からんようになんねん
0451デフォルトの名無しさん2016/05/03(火) 13:33:03.92ID:pcOhaWKy
>>445
スレを問わず「オブジェクト指向は難しい」「Cのベテランでも分からない」的なやつが沸くけど
そいつはCの構造体すら理解できなかったのかなと思ってしまうw
0452デフォルトの名無しさん2016/05/03(火) 13:39:46.39ID:iS9xrQ6W
Jupyter Notebook熱いなProcessingも動かせたわwwwww
環境はMac El Capitan、Python3、Processing3と全て最新でイケた!
ブラウザで全部いけるのは良いし、Jupyter Notebookのインタラクティブ性とクリエイティブコーディングの雄Processingとのマッチ具合はまさに妙技
Atomも捨て難いが、、、ね

Jupyter上でProcessingを動かす - Qiita
http://qiita.com/yohki/items/30839aef747158da0321
0453デフォルトの名無しさん2016/05/03(火) 13:41:48.67ID:QStWokjr
動的結合遅延性でググったらこのコピペばっかりヒットして草だ
0454デフォルトの名無しさん2016/05/04(水) 10:33:46.91ID:PLBcNQ3k
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
え
0455デフォルトの名無しさん2016/05/04(水) 10:45:50.68ID:c7vIrIvG
>>454
死ね
0456デフォルトの名無しさん2016/05/04(水) 11:07:15.44ID:auyxFsfH
こっちが現スレなのかな・・C言語でスレチかもだが教えてほしい。
Fermi世代のfloat型変数の演算速度はdouble型変数の2倍のはずなのに、
全てfloat型宣言に書き換えてもわずかしかスピードアップしない・・どうして?
0457デフォルトの名無しさん2016/05/04(水) 11:15:35.89ID:c7vIrIvG
>>456
GPGPUのスレあるぞ

【GPGPU】くだすれCUDAスレ part7【NVIDIA】 [転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1416492886/

ただ今のような状況が全く見えない質問されても俺なら無視するわ
GPUの型とCUDAのバージョンと検証したソースコードとコンパイルオプションは書け
0458デフォルトの名無しさん2016/05/04(水) 18:01:54.44ID:cRuVDbfJ
>>454
死ね
0459デフォルトの名無しさん2016/05/05(木) 08:26:28.22ID:67iI6TkB
タイトルワロタ

Learn Python the Hard Way
http://learnpythonthehardway.org/book/
0460デフォルトの名無しさん2016/05/05(木) 10:50:52.87ID:RN/AG29Z
a = '\n'.join(["a", "\n", "b"])
print(a)
なんでこれ

a

b
じゃなくて
a


b
って真ん中が2行の空行になるんですか?
0461デフォルトの名無しさん2016/05/05(木) 10:52:20.73ID:RN/AG29Z
a = '\n'.join(["a", "^M", "b"])
print(a)
print(len(a))

制御コードだと
a

b
ってなってくれました
どうして"\n"だけ2行連続空行なんですか?
0462デフォルトの名無しさん2016/05/05(木) 11:02:54.54ID:FPsu4mkg
>>460-461意味がわからん
3回改行したら2行空くだろ
\n\r\nだとLF,CR+LFでしょ
0463デフォルトの名無しさん2016/05/05(木) 11:06:41.73ID:Iu1YAr+H
>>> a = '\n'.join(["a", '\n', "b"])
>>> a
'a\n\n\nb'

\nは改行を表す文字
joinによって\nのあとにもう一つ\nが付加されたから、printすると2回改行される
制御コードは良く知らないが、^M はpythonでは改行文字ではないと思う
0464デフォルトの名無しさん2016/05/05(木) 11:11:52.26ID:RN/AG29Z
^MはどのOSでも改行ですよ
http://ash.jp/code/ctrltbl.htm
0465デフォルトの名無しさん2016/05/05(木) 11:21:41.43ID:l/2+Jb+M
LFとCRの区別出来てない香具師大杉
0466デフォルトの名無しさん2016/05/05(木) 11:33:14.62ID:qzGbsflZ
>>464
0D CR ^M Carriage Return(復帰)
って書いてますけど?
0467デフォルトの名無しさん2016/05/05(木) 12:28:01.52ID:194bItSc
簡単な足し算の問題も分からず突然制御コードとか言い出す馬鹿w
0468デフォルトの名無しさん2016/05/05(木) 13:55:19.47ID:Iu1YAr+H
Pythonの文字列に^M系の制御コードって埋め込めないよね?
0469デフォルトの名無しさん2016/05/05(木) 14:26:05.27ID:nzEy2CvZ
すげー超初心者スレっぽいぞ
0470デフォルトの名無しさん2016/05/05(木) 14:26:16.12ID:l/2+Jb+M
へ?
0471デフォルトの名無しさん2016/05/05(木) 14:27:56.55ID:l/2+Jb+M
わざととぼけて解答を引き出すパターンか?
0472デフォルトの名無しさん2016/05/05(木) 14:45:41.89ID:nzEy2CvZ
お前の答えは合ってるよw
反応すんな
0473デフォルトの名無しさん2016/05/05(木) 14:56:58.46ID:nzEy2CvZ
>>468
埋められるよ
^Gでベル鳴らせる(¥aと同じ)
まさかキャレット記法を本当に^Mってタイプするんだと思ってないよね
0474デフォルトの名無しさん2016/05/05(木) 15:15:30.34ID:Iu1YAr+H
>>473
そもそもエディタで入力できん
メモ帳でCtrl+Mってやると改行してしまう
0475デフォルトの名無しさん2016/05/05(木) 16:12:49.95ID:cADj9vKm
リストの要素を出力するときは
print("\t".join(l)) 派?
print(*l, sep="\t") 派?
0476デフォルトの名無しさん2016/05/06(金) 09:35:34.52ID:4+GdDbvH
>>474
なんでメモ帳?
メモ帳以外のエディタ使うと値を吹き出して死ぬ病気でも患ってるの?
0477デフォルトの名無しさん2016/05/06(金) 09:45:24.88ID:5/reRbc7
おもわぬ返り値をあびたwww
0478デフォルトの名無しさん2016/05/06(金) 10:30:26.17ID:hnSqOdnK
Windows使ってると制御コードとは無縁なイメージ
0479デフォルトの名無しさん2016/05/06(金) 11:12:41.02ID:roD8SP44
そう言えば、昔、膨大なHTML読み込ませたら
その中に偶々制御コードが混じっていたのかPCがバグった事があるな
0480デフォルトの名無しさん2016/05/07(土) 23:08:50.37ID:mX4DtE1g
質問させていただきます。
theanoを使ってcpuとgpuの速度を比較したく、以下のようなプログラムを書きました。
mat1 = np.random.rand(10000, 1000)
mat2 = np.random.rand(1000, 10000)

x = theano.shared(mat1, name='x')
y = theano.shared(mat2, name='y')
f = theano.function([], T.dot(x, y))
t1 = datetime.datetime.now()
for i in xrange(5):
t = np.dot(mat1, mat2)
t2 =datetime.datetime.now()
for i in xrange(5):
t = f()
t3 = datetime.datetime.now()
print (t2-t1).seconds
print (t3-t2).seconds

実行すると、cpu, gpuそれぞれどちらも11秒かかっており、gpuでもcpuでも変わらない結果になりました。
cpuはi7 2700, gpuはGTX560です。かなり古いものですが。。。

出力には
Using gpu device 0: GeForce GTX 560 (CNMeM is enabled)
とでているので、基本的な導入はできているはずなのですが、gpuが遅い原因はどこを調べればわかるでしょうか。
0481デフォルトの名無しさん2016/05/08(日) 10:39:49.92ID:UPr+QHpV
PythonからPHPへの言語を置き換えていってます

以下の内容が具体的に何をしているのかわかりません

----------------------------------------
import rsa

key = rsa.PublicKey(m, n)
crypt = rsa.encrypt(message, key).encode('hex')
----------------------------------------

keyを出力してみたら「PubliKey(10000000000000000, 65537)」
のような出力結果でしたが、文字列ではないようです…。

これは具体的に何の型なのでしょうか
またPHPで作成は可能でしょうか
0482デフォルトの名無しさん2016/05/08(日) 11:27:11.15ID:s53yK2zr
PHPのことなんざ知らねえよ
営業に安請け合いするなって言っとけ
0483デフォルトの名無しさん2016/05/08(日) 11:40:48.74ID:pwQcqOb7
<<囲まれてるのはクラス>>
0484デフォルトの名無しさん2016/05/08(日) 11:41:43.43ID:pwQcqOb7
help(key)
とか
key.__dict__
で色々判るよ
0485デフォルトの名無しさん2016/05/08(日) 11:42:01.96ID:a6za2jQ4
rsa モジュールの説明・ソースコードでも見たら?
0486デフォルトの名無しさん2016/05/08(日) 13:56:18.44ID:UHT13Q5F
業務でpythonつかうとかコワクね?

自慰メールみたくベータ版なら
いざしらず
0487デフォルトの名無しさん2016/05/08(日) 14:02:53.45ID:Vy26MRcU
もうすでに恐るべき事態になってるだろ
素人に移植させるとかどうかしてるわ
0488デフォルトの名無しさん2016/05/08(日) 20:37:15.31ID:UHT13Q5F
マイナンバ
jr東北新幹線
ana
jal

ほぼ日本滅亡してるな

まじでグリーンカード
0489デフォルトの名無しさん2016/05/09(月) 16:32:31.15ID:kFMtfNT1
ミロク
0490デフォルトの名無しさん2016/05/09(月) 22:01:31.61ID:JUFQim+w
文字列を反転する関数を作りました

reverse(text):
a = len(text)
b = ""
while a >= 0:
b = b + str(text[a-1])
a -= 1
return b

reverse(python!)
とすると"!nohtyp!"がreturnされるんですがなんで!が二回になるんですか
0491デフォルトの名無しさん2016/05/09(月) 22:06:10.45ID:3ReMOMtT
>>490
1. ループの中身が最後に実行されるときの a の値は?
2. そのときの a-1 の値は?
3. そのときの text[a-1] の値は?
0492デフォルトの名無しさん2016/05/09(月) 22:06:54.72ID:JUFQim+w
一行目の頭def抜けてました
0493デフォルトの名無しさん2016/05/09(月) 22:19:38.10ID:JUFQim+w
>>491
ありがとうございます

1. 0

2.-1

3.text[-1] ="!"
[-1]だと一番後ろの文字をいみするんですか?
0494デフォルトの名無しさん2016/05/09(月) 22:57:26.55ID:3ReMOMtT
>>493
そういうこと
だからそのコードだと text の一番後ろの文字が余分にくっつくことになる
while の条件を a > 0 にすれば期待通り動く
http://ideone.com/FR5XZ8
0495デフォルトの名無しさん2016/05/10(火) 01:27:57.44ID:2K7FCYkV
>>490
余計な事をするなシンプルにやれ
s = 'abcde'
print(s[::-1])
0496デフォルトの名無しさん2016/05/10(火) 10:37:26.97ID:RD5Ksiop
reverse(python!)

ネタかと思った
0497デフォルトの名無しさん2016/05/10(火) 22:00:19.75ID:/QNXu+5M
C APIで質問です。
スクリプトが書かれた文字列を、実行前に

・文法エラーが無く実行可能
・文法エラーで実行不可
・エラーは無いが不完全

いずれかを判断したいのですが、そんなことは可能でしょうか。
PyParser_SimpleParseString()でできるかもしれないと思って調べているのですが、
公式ドキュメントの説明は1行だけでそもそも使い方がよくわかりません。
また、市販の書籍で C API が詳しく説明されているものってあるでしょうか?
0498デフォルトの名無しさん2016/05/10(火) 22:07:46.52ID:P8g7ANcx
>・エラーは無いが不完全

なにこの曖昧な質問
0499デフォルトの名無しさん2016/05/10(火) 22:28:04.08ID:8687BtrK
pyflakesとかjediがやってるようなランタイムエラー予測だろうか?
でもあれはC APIじゃなくて自前のはず
0500デフォルトの名無しさん2016/05/10(火) 22:41:27.11ID:/QNXu+5M
>・エラーは無いが不完全

要は複合文のヘッダだけとか、実行するのに後続の文が必要かどうか判断したいということです。
0501デフォルトの名無しさん2016/05/11(水) 01:01:40.75ID:a0ZX6bAM
それは自分でコードを書けば出来ます
都合のいいAPIなんてありませんよ
05024972016/05/11(水) 08:33:31.12ID:AfFgGj2Z
pythonのインタラクティブシェル自体が似たようなことをしているので何か用意されているかなと
思ったんですが、どっちにしてもPyParser_*とか使ってる人はあまりいなさそうですね。
0503デフォルトの名無しさん2016/05/11(水) 09:38:42.64ID:CTBQMbBK
こちらのスライドで
http://www.slideshare.net/ysakaguchi/python-61826640

こういう書き方をしてたのですが
def main() -> bool:

-> bool
はどういった意味なのでしょうか?
boolなのでTrueまたはFalseはわかるのですが
->
は初めて見ました。
0504デフォルトの名無しさん2016/05/11(水) 10:06:29.08ID:XQZcTmLW
Python3から導入された関数のアノテーション(Python2では構文エラー)
引数や返り値の情報を記述しておくとプログラム実行中に参照できる仕組みだ

->と:の間にある識別子は戻り値の型を表している
05055032016/05/11(水) 10:20:52.74ID:CTBQMbBK
>>504
どうもありがとうございます。
戻り値の型ですね勉強してみます。
0506デフォルトの名無しさん2016/05/11(水) 10:42:00.28ID:hUFeoSc3
>>502
int startにはPython.hの
#define Py_single_input 256
#define Py_file_input 257
#define Py_eval_input 258
あたりを使う…が

やりたいのはこんな所?
ttp://docs.python.jp/3/faq/extending.html#how-do-i-tell-incomplete-input-from-invalid-input
0507デフォルトの名無しさん2016/05/11(水) 15:40:20.77ID:qkI+/TV/
>>497
アルゴリズムの不備まで発見してくれるプログラムなら歓迎
0508デフォルトの名無しさん2016/05/11(水) 20:41:16.85ID:AfFgGj2Z
>>506
ありがとうございます!まさにこれです。
0509デフォルトの名無しさん2016/05/14(土) 20:30:32.83ID:hY9hPc0m
C-APIのPyRun_String()に"help()"を渡すとstdinの入力待ちになって関数から戻って
来ないんですが、事前に文字列をチェックする以外の回避策ってありますか?
引数ありのhelpはできれば使いたいです。
0510デフォルトの名無しさん2016/05/14(土) 21:19:00.00ID:6U2mx8Ru
Dockerって無料でつかえますか?
0511デフォルトの名無しさん2016/05/15(日) 06:19:37.74ID:LUAg82cd
どっかな〜。
0512デフォルトの名無しさん2016/05/15(日) 13:42:25.50ID:u1VrDpYp
たぶんここで聞くよりStackoverflowの方がいいと思うよ
0513デフォルトの名無しさん2016/05/15(日) 18:33:38.17ID:bWyGoEC1
>>509
stdinをcloseしてみ
0514デフォルトの名無しさん2016/05/17(火) 16:45:01.41ID:PkSWSfDh
pycharmのコマンドライン引数に改行を含む文字列を入れたいのですが、コピペすると空白に置換されてしまいます。
どうやったら改行として認識してくれるのでしょうか?
pycharm 4.5 osx 10.6.8
0515デフォルトの名無しさん2016/05/17(火) 16:48:43.39ID:NWTAtPGB
"\\n"
0516デフォルトの名無しさん2016/05/17(火) 17:01:39.13ID:PkSWSfDh
>>515
それは試しました。見た目的は\nとして入るのですが、
\nではなく\\nとして扱われてしまうようです。
0517デフォルトの名無しさん2016/05/17(火) 18:14:23.89ID:NWTAtPGB
サニタリーされてるのかな
0518デフォルトの名無しさん2016/05/17(火) 18:46:50.08ID:vucfexP9
""" """
0519デフォルトの名無しさん2016/05/18(水) 09:05:35.95ID:fo4ZKjj5
>>518
それも試しましたが結局コピペした時点でスペースに変換されてしまっているのでダメなようです。
0520デフォルトの名無しさん2016/05/18(水) 10:29:02.16ID:fa/lKbSr
>>514
コピペ元のツールは何を使っていますか?
htmlやpdf等でレンダリングした文字列をコピペしても動作は再現されますか?
05215142016/05/18(水) 10:42:15.03ID:fo4ZKjj5
>>520
コピペ元はテキストエディタ(coteditor)ですが、
pycharmのscript parametersで直接改行を入れても駄目みたいです。
プリファレンスとかで設定があるのでしょうか?
05225142016/05/18(水) 15:36:09.97ID:fo4ZKjj5
シングルクォートで囲むか、全く囲まなければ改行を入力(コピペも)可能でしたが
改行自体が引数のセパレータになってしまいます。
'a
b'
を与えると'a','b'となってしまいます。どこかに設定があるのでしょうか?
0523デフォルトの名無しさん2016/05/18(水) 18:18:31.66ID:fa/lKbSr
Pycharmユーザーではないので、外していたらごめんなさい。以下URL
https://www.jetbrains.com/help/pycharm/2016.1/general.html

Rich-text copy という設定項目があります。
改行の問題が解決できるかは不明ですm(__)m
0524デフォルトの名無しさん2016/05/18(水) 18:28:55.55ID:u7J2zmgl
rlwrap
0525デフォルトの名無しさん2016/05/19(木) 09:31:17.04ID:0vHf503H
joinの結合についていい方法があれば教えてください。

str = [''a,'b']
'|'.join(str)
a|b

片方が空や両方が空の場合は結合したくないのですが
str = [''a,'']
a
str = ['','b']
b
str = ['','']
''
よろしくお願いいたします。
0526デフォルトの名無しさん2016/05/19(木) 09:39:15.78ID:RzKKX7lE
joinだけでは無理なのでfilterを噛ますか
リスト内包表記で空文字列を削除してください
05275142016/05/19(木) 10:02:40.00ID:Qymn/Hz4
>>523
ありがとうございます。残念ながら関係ないようです。
>>524
入れてませんが、調べてみると関係なさそうな気がするのですが…。
0528デフォルトの名無しさん2016/05/19(木) 10:05:22.19ID:Qymn/Hz4
>>525
もっとスマートに書けそうな気もしますが、こういう事ですよね?
jt='|'
if "" in str: jt=''
jt.join(str))
0529デフォルトの名無しさん2016/05/19(木) 10:06:50.14ID:Qymn/Hz4
あ、最後に余計なパーレンが…。
0530デフォルトの名無しさん2016/05/19(木) 10:41:33.07ID:xPvCxnYp
>>525
('|' if all(str) else '').join(str)
0531デフォルトの名無しさん2016/05/19(木) 10:51:59.50ID:0vHf503H
>>530
ありがとうございます。
内容がわからないのですができました。
勉強します。

>>528
ありがとうございます
joinするとくっついてしまうので
0532デフォルトの名無しさん2016/05/19(木) 10:59:34.46ID:Qymn/Hz4
>>530
なるほど。こんな書き方もできるんですね。
05335312016/05/19(木) 11:25:13.21ID:0vHf503H
ありがとうございます。
複数個の文字結合もできるようになりました。

from functools import reduce

def str_join(a, b):
return ('|' if all([a, b]) else '').join([a, b])

items = ['a', 'b', 'c', '', 'e', 'f']

str = reduce(str_join, items)

print(str)
0534デフォルトの名無しさん2016/05/19(木) 12:21:38.58ID:5BRHv2Pr
内包表記でフィルターすれば空文字列を取り除けるのでreduceいらないよ
'|'.join(s for s in items if s)
05355312016/05/19(木) 14:51:00.71ID:0vHf503H
>>534
本当だ1行になるなんて
勉強になりましたありがとうございます。
ありがとうございます。
0536デフォルトの名無しさん2016/05/19(木) 14:53:28.20ID:FRZhj0SU
リストの縦と横を逆にするにはどうすればいいでしょうか?
集合をリストに変えて、csvで出力するのに、そのままだと横に長い一行のcsvができてしまいます
これを縦一列に変えたいです
よろしくお願いします
0537デフォルトの名無しさん2016/05/19(木) 15:09:12.89ID:Hoylg+9/
'\n'.join(list)
0538デフォルトの名無しさん2016/05/20(金) 23:32:55.64ID:2BTm9IiX
jupiter notebookって1行 1cellで書くものなんですか?
0539デフォルトの名無しさん2016/05/21(土) 00:04:33.00ID:bzA4Z8om
誰がそんなこと言いましたか
私が成敗して差し上げよう
0540デフォルトの名無しさん2016/05/21(土) 04:12:57.81ID:9rcxhiEb
class super: 
def __init__(self, x, y): 
self.x = x 
self.y = y 
def see(self): 
print self.x, self.y 

これがあってtest.pyとして保存して 
import test 
class sub(test): 
def __init__(self, x, y, z): 
test.super.__init__(self, x, y) 
self.z = z 

これを実行するとmodule.__init__() takes at most 2 arguments (3 given)が出て 
エラーになる意味がわからないんだがなんで?
0541デフォルトの名無しさん2016/05/21(土) 04:14:56.29ID:9rcxhiEb
インデントが消えた
class super: 
def __init__(self, x, y): 
self.x = x 
self.y = y 
def see(self): 
print self.x, self.y 

これがあってtest.pyとして保存して 
import test 
class sub(test): 
def __init__(self, x, y, z): 
test.super.__init__(self, x, y) 
self.z = z 

ターミナルで直接打ってこれを実行するとmodule.__init__() takes at most 2 arguments (3 given)が出て 
エラーになる意味がわからないんだがなんで?
0542デフォルトの名無しさん2016/05/21(土) 05:17:28.05ID:nhWaRjb3
class sub(test.super):
0543デフォルトの名無しさん2016/05/21(土) 08:40:39.13ID:FusMkK2d
https://docs.python.org/2/library/test.html

testは標準ライブラリのパッケージ名と被るため
自分で書いたtestのimportを試みてはいけない
0544デフォルトの名無しさん2016/05/21(土) 09:48:35.85ID:vO9Gsi6F
トンクス
0545デフォルトの名無しさん2016/05/21(土) 20:10:50.35ID:W+CoeO47
pythonのイントネーションって、ぱ↑い↓そ↓ん↓でいいよね?
暇潰しにpaizaのpythonの動画の講座観てみたら
イントネーションが名古屋人っぽくて違和感しか感じなかった
0546デフォルトの名無しさん2016/05/21(土) 21:07:32.70ID:FusMkK2d
お前も味噌漬けにしてやろうか
0547デフォルトの名無しさん2016/05/21(土) 22:16:41.59ID:ke/4mTTc
ドットインストールの人もおかしなアクセントだったなパイソン⤴みたいな語尾上げ もしかして日本ではそれが標準なのか?
0548デフォルトの名無しさん2016/05/21(土) 22:44:40.45ID:yD2dQWIJ
北関東風かな
0549デフォルトの名無しさん2016/05/22(日) 11:46:08.99ID:AP+PWcpr
アホな質問ですが、pandas ってどう発音するの?
パンダス? パンダ?
0550デフォルトの名無しさん2016/05/22(日) 12:05:17.72ID:7hG4VCWt
苺で決定しないあれじゃね
0551デフォルトの名無しさん2016/05/22(日) 21:58:01.86ID:u54IYjt6
Python学び始めて約1ヶ月
プログラミング初学者ゆえに視覚的かつインタラクティブなアウトプットじゃないと身に入らず集中も出来ずでこういった作品を試しに作ってみた
批評バシバシくだされ
http://codepad.org/TENg0I0N
0552デフォルトの名無しさん2016/05/22(日) 22:08:06.50ID:u54IYjt6
因みに>>551はiOSのTestFlight、Pythonista 3で作成してるのでよろしく
手持ちのiPhoneでどこでもインタラクティブなプログラミングが出来るからPythonを選んだ
正直日本人としてはRubyを選びたかったのだけども遊び心取り入れながらやらないと挫折すると思って
0553デフォルトの名無しさん2016/05/22(日) 22:21:02.23ID:ev2tBHTu
gmailを送信しようと試行錯誤していますが、例外が発生します

■コード
smtpobj = smtplib.SMTP('smtp.gmail.com', 587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.ehlo()
smtpobj.login(ADDRESS, PASSWORD)
smtpobj.sendmail(ADDRESS, ADDRESS, msg.as_string())
smtpobj.close()

■エラーログ
File "xxxx.py", line 61, in send_mail
smtpobj.starttls()
File "C:\Python27\lib\smtplib.py", line 635, in starttls
raise SMTPException("STARTTLS extension not supported by server.")
smtplib.SMTPException: STARTTLS extension not supported by server.

smtpの知見がなく、原因の特定ができません
どなたか有識者がいましたら、ご教示お願いいたします
0554デフォルトの名無しさん2016/05/22(日) 22:31:19.91ID:FTGg1fS8
一個目のehlo抜いてみ
俺もsmtpは詳しくないよ
ただ検索はできる
0555デフォルトの名無しさん2016/05/22(日) 22:53:55.66ID:n1Qbyn6p
>>551
へえ、一ヶ月のヒヨッコにしては上出来じゃん。
0556デフォルトの名無しさん2016/05/22(日) 22:56:39.34ID:ev2tBHTu
>>555
ご回答ありがとうございます

検索はしており、既に色々試しております
�@555さんの言うとおりの実装
→smtplib.SMTPServerDisconnected: Connection unexpectedly closed

�Asmtpobj.starttls()しない実装
→smtplib.SMTPException: SMTP AUTH extension not supported by server.

�BSMTP_SSLを使う実装(ポート:465でehlo→login→mail→rcpt→data→quit)
→smtplib.SMTPException: SMTP AUTH extension not supported by server.

色々試してみたのですが、小手先の実装では対処できないと判断し、
有識者の方に問い合わせている次第です
0557デフォルトの名無しさん2016/05/23(月) 10:26:53.15ID:ZswRR6pu
>>553
STARTTLS使ってるのにポートが587だったり
どうせどうせ意味も分からずコピペで適当に書いたんだろ?
0558デフォルトの名無しさん2016/05/23(月) 11:12:58.52ID:eNC/GJ27
STARTTLS AND BIBLE BLACK
0559デフォルトの名無しさん2016/05/23(月) 13:24:06.10ID:09vKggRU
AppEngine使えば良いのに
0560デフォルトの名無しさん2016/05/24(火) 01:07:55.77ID:qcT4oCcB
csvファイルの内容を丸ごと読み込んだ文字列があるとき、これをパースしてDictReaderのように
行/フィールドの単位でアクセスする簡単な方法ってあるでしょうか?
csv.readerに渡すイテレータを自分で用意するにしても、単に改行でsplitすればいいというわけでも
ないですし。
0561デフォルトの名無しさん2016/05/24(火) 01:49:04.79ID:8i7LxfwV
whooshの検索ってどのくらいメモリ食いますか?
インデックス全部メモリに載せる?
0562デフォルトの名無しさん2016/05/24(火) 06:59:15.34ID:gog9csGh
>>560
内容の文字列をすでに持っているけどファイルオブジェクトが必要な場合はio.StringIOを使う
文字列をio.StringIO()でラップしてそれをcsv.reader()やcsv.DictReader()へ渡せばよい
0563デフォルトの名無しさん2016/05/24(火) 07:48:55.75ID:qcT4oCcB
>>562
なるほど、ありがとうございます。
0564デフォルトの名無しさん2016/05/25(水) 09:55:49.94ID:CQJrAuJk
ウェブ上のテーブルからデータをスクレイピングしpymysqlでMySQLに格納するコードを書き実行していたのですが、突然
File
0565デフォルトの名無しさん2016/05/25(水) 09:59:33.62ID:CQJrAuJk
ウェブ上のテーブルからデータをスクレイピングしpymysqlでMySQLに格納するコードを書き実行していたのですが、突然
File
0566デフォルトの名無しさん2016/05/25(水) 11:14:48.15ID:i9J+cwEM
書き込み中に突然死すんの止めろ
怖いだろ
0567デフォルトの名無しさん2016/05/25(水) 11:46:39.14ID:JU/bPfqT
このスレは以降>564-565を悼むレスでお願いします( ̄人 ̄)
0568デフォルトの名無しさん2016/05/25(水) 13:12:05.51ID:pZYZ14wu
悼む面々

  __  ___
 /ヽ ヽ \  \
∠/|  |  )´∀`)
  |  | / つ つ
  ヽ ヽ/   /
   \∠__/
0569デフォルトの名無しさん2016/05/25(水) 13:26:50.66ID:lB/0pCrv
突然死タプルに追加しとくね
0570デフォルトの名無しさん2016/05/25(水) 14:48:40.46ID:JMqhkYJX
書き込み中に死亡で連投は珍しいな
0571デフォルトの名無しさん2016/05/25(水) 18:06:21.90ID:Lglpj/WS
pythonをC++に埋め込もうとしていてpipで取得したgoogleapiのパッケージを
importすると取得できないんだけどなんで?
具体的にはPyRun_SimpleString関数で「from apiclient.discovery import build」を渡しても-1を返してくる
python.exeでpyを実行したら正常に実行されるのに
0572デフォルトの名無しさん2016/05/25(水) 18:16:27.96ID:JMqhkYJX
sys.path.add
0573デフォルトの名無しさん2016/05/25(水) 21:37:20.09ID:v4k3nQfb
Py_DEBUGを有効にしたデバッグビルドって、やっぱり自分で作らないとならないんですかね?
Windows版のバイナリがどこかで配布されていたらありがたいんですが。
0574デフォルトの名無しさん2016/05/26(木) 10:14:46.13ID:e1Baxn87
ビルドも出来ない小僧とか恥ずかしいよ
0575デフォルトの名無しさん2016/05/26(木) 17:14:51.86ID:AWGPXuPV
class Foo(object):
def __init__(self, bar):
for k, v in bar.items():
self.k = v


bar = {'name': 'Yamada', 'occupation': 'whore',
'phone_number': '000-0000-0000', 'email_address': '[email protected]', }

me = Foo(bar)
print(me.name)

こんな感じで、インスタンス変数selfを自動的に次々と設定出来ないんだっけ?
自分の書き方が悪いだけだろうけど 👀
Rock54: Caution(BBR-MD5:a57c1d1a78137720f7406602f719afd4)
0576デフォルトの名無しさん2016/05/26(木) 17:37:09.73ID:PPtVZd97
setattr(self, k, v)
0577デフォルトの名無しさん2016/05/26(木) 17:42:46.95ID:AWGPXuPV
>>576
ありがとう
0578デフォルトの名無しさん2016/05/26(木) 17:58:40.86ID:PPtVZd97
__import__()
とかも便利
0579デフォルトの名無しさん2016/05/26(木) 19:47:19.69ID:AWGPXuPV
ごめん、もう一つ

class内メソッドで全てのインスタンスプロパティを取得するにはどうすればいい?
上の例で言えば、
self.name, self.email, self.phone_numberなど全部
def getInfo(self):
for info in self.__class__:
のようなマジックメソッドで取れるかと思ったんだけど、ドキュメント見ても見つからなかったもので
0580デフォルトの名無しさん2016/05/26(木) 19:59:31.64ID:n5TjTPB6
>>579
プロパティ…その文脈だとフィールドで良いの?構造的には
ttp://docs.python.jp/3/library/stdtypes.html#special-attributes
しかし普通に参照する分にはこっちか?
ttp://docs.python.jp/3/library/functions.html#vars

ちなみにお行儀的には知らんがself.__dict__をupdate()とか代入も出来る
0581デフォルトの名無しさん2016/05/26(木) 20:13:11.91ID:AWGPXuPV
>>580
ありがとう
self.__dict__で表示できた
0582デフォルトの名無しさん2016/05/26(木) 22:37:01.70ID:ChKgTt8t
今pythonでゲーム開発する場合はPySDL2の一択ですか?
他に使えそうなものがあれば教えてください。
0583デフォルトの名無しさん2016/05/27(金) 00:54:47.18ID:Drz4UeTd
複数の任意のスクリプトをロードして実行できるホストアプリケーションを作ろうとしているんだけど、
PyQtなんかのGUIライブラリはイベント待ち中にGILを解放してくれるようになってるのかな?
単にC++APIのQApplication::exec_()呼んでるだけだとしたら望み薄だけど。
0584デフォルトの名無しさん2016/05/27(金) 11:41:54.10ID:+931Hxzr
pygame
0585デフォルトの名無しさん2016/05/27(金) 11:53:48.47ID:Lkh9WQnY
pygame開発終了してるしょ
0586デフォルトの名無しさん2016/05/27(金) 12:19:34.82ID:AZKYjFu+
>>582
どんなゲーム用ライブラリがあるのかチェックして自分で見て決めたまえ
https://wiki.python.org/moin/PythonGames
0587デフォルトの名無しさん2016/05/27(金) 17:11:44.55ID:a5zDK+Zd
PyDX3D
0588デフォルトの名無しさん2016/05/27(金) 18:14:43.22ID:2oLBi80w
unityにC++でええやろ
0589デフォルトの名無しさん2016/05/27(金) 19:32:57.80ID:GxBEhPY2
SL4Aでpython動かすって仮想ソフト上で動かすってことですか?
0590デフォルトの名無しさん2016/05/28(土) 00:24:17.56ID:PtZBoQp9
PyQt, kivy はどうなの?
0591デフォルトの名無しさん2016/05/28(土) 06:30:56.63ID:Y6pmFgbo
GUIツールキットとゲームに特化したフレームワークとは違う気がする
0592デフォルトの名無しさん2016/05/28(土) 11:39:59.16ID:YkPoIoOS
ゲームに特化したフレームワークでGUI作ると
速くてさくさくクールなエクスペリエンスアプリになる
0593デフォルトの名無しさん2016/05/28(土) 14:31:32.05ID:MiXBDbnH
おれ、芸術がエクスプロージョンしそうでつ
0594デフォルトの名無しさん2016/05/30(月) 00:47:29.95ID:fXfXrHtR
python3を使用しています。

python2系だと使えない構文があるり、新しい環境で実行するときにエラーになるので、
実行時に最初に3未満のバージョンの場合には、ソッコーで「バージョンが古いので実行できない」的な出力を出して落ちるようにしたいです。

version < 3 みたいな書き方ができるのでしょうか?
0595デフォルトの名無しさん2016/05/30(月) 01:42:05.43ID:W9bpgmir
import sys
if sys.version_info < (3, 0):
 sys.exit('python2以下ではダメ、python3以上で使え')
0596デフォルトの名無しさん2016/05/30(月) 01:45:56.23ID:tfgp+jfD
platformモジュールで取れる
が、同じモジュール内でSyntaxErrorより先にチェックすることはできないので、ちょっと工夫が要る
05975942016/05/30(月) 01:56:13.97ID:fXfXrHtR
>>595,596

できました!
ありがとうございました。
0598デフォルトの名無しさん2016/05/30(月) 08:27:35.61ID:PEdp0QjP
>>589
bionic用にコンパイルしたのを動かす感じ
0599デフォルトの名無しさん2016/05/31(火) 22:52:27.26ID:mtPUDASJ
世界中の言語が全てPythonだったらと思うことはありますか?
PHPのプロジェクトでPHP死ねと無意識につぶやいてしまうことはありますか?
VBA殺すもあると思いますがどうですか?
0600デフォルトの名無しさん2016/05/31(火) 22:57:22.26ID:mtPUDASJ
でもスネークはタイプしづらいから嫌いなんです
なんでペップではスネーク強制なんでしょうか?
疑問です
0601デフォルトの名無しさん2016/05/31(火) 23:02:35.23ID:4be7k8LA
超初心者です。超初心者用の言葉を信じて簡単なことを質問しますが、

出力結果として、jpgの画像を新しいウィンドウで表示する方法を教えて下さい。
Pillowとtkinterで試しているのですがよくわかりません。

Python 3.5.1でPyCharm Community Edition 2016.1.4を使っています。
0602デフォルトの名無しさん2016/05/31(火) 23:03:29.17ID:kZBDyKkq
株式市場や天気予報のシステムがPythonだったりOSがPythonで書かれてたりしたら文明が崩壊しかねない
0603デフォルトの名無しさん2016/05/31(火) 23:14:41.59ID:wbCptivn
>>601
ggrks
0604デフォルトの名無しさん2016/05/31(火) 23:25:46.92ID:mtPUDASJ
>>602
そりゃあ、速さが必要なとこはCとか必要なのかもしれない

でも、ペチプ〜の助や頭がパーッルやオモチャのルビーで地獄を見るくらいなら
Pythonの方がいいと思いませんか?
でもPython唯一のWebFW選択肢であるディージャンゴはパフォーマンス悪いんでしたっけ
なんとかならないのかなあ
0605デフォルトの名無しさん2016/05/31(火) 23:29:56.89ID:zJkVcFRt
Sphinxで自作モジュールのドキュメントを書いています。
定数代わりのモジュール変数があるとき、py:data:: で値を記述することってできるんでしょうか?
help()で表示されるように値もドキュメントに記述したいのですが。
0606デフォルトの名無しさん2016/06/01(水) 10:14:23.95ID:dn+cRXR4
pythonって全然updateされないね
3.5.1がリリースされている間にphpで何回updateがあったと思ってるんだよ
0607デフォルトの名無しさん2016/06/01(水) 10:15:52.34ID:dn+cRXR4
軽量系フレームワークでflaskとbottleが持ち上げられるけど
どう考えてもflaskは軽量なんかじゃない
0608デフォルトの名無しさん2016/06/01(水) 11:54:54.82ID:vYL3prSX
必要な機能はモジュールで提供される
からな
0609デフォルトの名無しさん2016/06/01(水) 15:39:23.00ID:Eelfp7Ua
>>604
なんで、perlやrubyがディすられてるの?
Cなんて余程上手に書かないと必ず嫌なエラー混じるよ
そこまで言うなら言語ではなくハードウェアから組み立てないと信頼性は得られないと思うけどな
0610デフォルトの名無しさん2016/06/01(水) 15:40:55.41ID:c7aWQBRE
下手なんですねわかります
0611デフォルトの名無しさん2016/06/01(水) 17:02:27.80ID:8r6+eogE
ハードウェアから組み立てると信頼性が得られると、ナゼ思ったのか。
0612デフォルトの名無しさん2016/06/01(水) 17:24:22.06ID:JmeWQFIS
python専用のアーキテクチャでも作るのか
0613デフォルトの名無しさん2016/06/01(水) 18:49:42.62ID:vYL3prSX
パールで地獄をみた俺様が通りますよ
0614デフォルトの名無しさん2016/06/01(水) 21:28:23.78ID:2Qe8pgiu
地獄は見てないけど今時 perl とか無いだろ
0615デフォルトの名無しさん2016/06/01(水) 21:44:39.61ID:2PlyjRlv
ふぉっふぉっふぉっ、
お若いの、perlはまだまだ使われておるぞ、
pythonの影響も受けながら醜くもじわじわしぶとく進化しておるぞ
0616デフォルトの名無しさん2016/06/01(水) 22:01:50.49ID:ot033K/9
>>609
perlは言うまでもないが
そのperlの後継として作られたrubyも十二分にゴミだよ
perlが腐ったゴキブリのウンコだとしたら
rubyは腐った生ゴミぐらいだけど
0617デフォルトの名無しさん2016/06/01(水) 22:03:42.33ID:ot033K/9
>>606
なぁ、屁チプ〜の助でさえ倍速化の神アプデしてるのに(ゴミに違いはないが)

あー、ほんと、ああいう糞言語メンテしてる連中みんな豆腐に頭打ち付けて死なねえかな
0618デフォルトの名無しさん2016/06/01(水) 22:08:05.62ID:ot033K/9
だいたいよお
PythonでExcelさえまともに扱えるライブラリがないとか
まともにシェア獲得する気ねえのかよと
シェアって大事だぞ
焦げたウンカスみたいなペチプ〜でも世にはびこって未だこびりついてるからな
ああああああああ死ね死ね死ね死ね死ね殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す
0619デフォルトの名無しさん2016/06/01(水) 22:30:44.91ID:Eelfp7Ua
>>616,613
ruby別に後継でもないけどな
具体的にどこで躓いたんだ?

>>610
上手ければperlでも上手に扱えるんじゃない?
ま俺はどっちでもキッチリエラーでまくるけどw

>>611
どの言語もダメだといって、バグ突き詰めると回路の設計からってなるから
0620デフォルトの名無しさん2016/06/01(水) 22:35:47.15ID:ot033K/9
>>619
歴史のお勉強してくださぁいおばかさぁん
ルビィはねえーゴミだよーゴォーミぃー しーね しーね
0621デフォルトの名無しさん2016/06/02(木) 01:49:39.20ID:/eeP37sY
ぶっちゃけ地獄パールには感謝している
まだまだパール全盛だったっころ
死ぬよりましとpythonと出会うきっかけに

パールがもうすこしまともだったと
思うとゾッとする

パールのばったもんのルビーには
鼻から興味ない
0622デフォルトの名無しさん2016/06/02(木) 01:52:17.83ID:/eeP37sY
>>620
パールで地獄をみたから
さんざん提灯記事で太鼓持ちされた
後釜ルビーにだまされることもなく

れーるず何チャラで書いちゃった
システムって一体どーなってるんだろうね(他人事
0623デフォルトの名無しさん2016/06/02(木) 07:06:06.68ID:kcfh/1/v
>>619
それは誰かが組み立てたハードウェアの信頼性が得られない例ではないか!
>>609の主張と全然関係ないではないか!!
!を多用しているが怒っているのではないぞ!!!
0624デフォルトの名無しさん2016/06/02(木) 12:26:51.09ID:kBgl6uD2
>>615
pythonにもこんなのほしいな
http://qiita.com/mattn/items/b7889e3c036b408ae8bd
0625デフォルトの名無しさん2016/06/02(木) 16:36:22.53ID:JBET2xlv
Python3.5(Windows7@x64)で自作したDLLを呼び出そうとしています。

extern
0626デフォルトの名無しさん2016/06/02(木) 16:39:49.56ID:JBET2xlv
Python3.5(Windows7@x64)で自作したDLLを呼び出そうとしています。

__stdcall Data_Read( DWORD id, DWORD FileSize, LPVOID pBuf );
3個目の引数「LPVOID pBuf」はどうやって渡せば良いのでしょうか?
↓この様にしたのですが、TypeErrorが発生してどうすれば良いのかわかりません。
どなたかアドバイス頂けないでしょうか?

memr = [0 for i in range( FileSize )]

if dll.Data_Read( _ID, FileSize, memr ) == 0:

ctypes.ArgumentError: argument 3: <class 'TypeError'>: Don't know how to convert parameter 3
0627デフォルトの名無しさん2016/06/02(木) 17:04:04.64ID:hUHQWxw2
>>626
エクスポート関数にそのまま渡せるPythonオブジェクトは
None、整数、バイト列オブジェクトおよび (Unicode) 文字列だけ
create_string_buffer(FileSize)や(c_ubyte*FileSize)()で確保して
0628デフォルトの名無しさん2016/06/02(木) 18:03:50.38ID:kBgl6uD2
ctypes.string_buffer だっけ
0629デフォルトの名無しさん2016/06/02(木) 22:14:38.34ID:aIEnZs2U
>>624
キムチ大好きパイチョンニダくんとかどう?
0630デフォルトの名無しさん2016/06/03(金) 04:10:13.98ID:9Oc63jCU
range()のargumentってなんで終わりの数指定すると一個前で終わるんですか?紛らわしくない?
0631デフォルトの名無しさん2016/06/03(金) 04:44:32.32ID:JpJSwfFi
個人的にrange()のstop仕様は馴染みがあった
Cのfor文でよく見かけるイディオムから引き継がれたのだと思う
for (i = start; i < stop; i += step) { ... }
06326262016/06/03(金) 12:06:37.18ID:oGfTLMwn
627様有り難う御座います。

memr = create_string_buffer( FileSize )

とする事でDLLを呼び出す事はできました。
DLLは読み出せたのでDLLから戻ってきたデータを参照したいのですが、
create_string_buffer( FileSize )と定義したmemrの各要素にバイト単位でアクセスするにはどうしたら良いのでしょうか?

memrの1番最初の要素には、0x6Aが入っています。
これを以下の様にif文で判定すると

if memr[0] == 0x6A:  ←偽判定
if memr[0] == b'j':  ←真判定

バイト文字列?をバイトにキャストするにはどうすれば良いのでしょうか?
0633デフォルトの名無しさん2016/06/03(金) 12:13:25.61ID:tUMDOVAV
ord()
0634デフォルトの名無しさん2016/06/03(金) 12:20:05.71ID:JpJSwfFi
バッファからバイト文字列(書き換え不可)を取り出すには
memr.value(ヌル文字終端)かmemr.raw(用意したバッファ全て)を参照する
バイト文字列にすれば添え字で数値を参照できる
0635デフォルトの名無しさん2016/06/03(金) 13:18:20.58ID:m9/J43Do
androidにsl4aとpythonを入れたいのですが、インストールのやり方を説明しているHPにはapkというファイルがあると書かれているのに
最新のgithubにはapkというファイルがありません、どうしたらインストールできますでしょうか
06366262016/06/03(金) 13:45:46.14ID:oGfTLMwn
有り難う御座います。
希望の動作をさせる事ができました。

if memr.value[0] == 0x6A:
if ord( memr[0] ) == 0x6A:

これでできました。
0637デフォルトの名無しさん2016/06/03(金) 16:37:50.90ID:tUMDOVAV
>>635
うちにあるのあげようか?
0638デフォルトの名無しさん2016/06/03(金) 16:45:48.22ID:tUMDOVAV
誰のか知らんけどメモ
https://github.com/kuri65536/python-for-android/releases
http://stackoverflow.com/questions/34059691/how-to-install-sl4a-from-the-new-website
https://github.com/kuri65536/python-for-android/blob/master/README.md
ありがたや
0639デフォルトの名無しさん2016/06/03(金) 16:47:52.34ID:tUMDOVAV
more
https://code.google.com/archive/p/python-for-android/downloads
0640デフォルトの名無しさん2016/06/03(金) 17:27:57.11ID:m9/J43Do
>>637-639
あざす
0641デフォルトの名無しさん2016/06/03(金) 19:22:32.56ID:m9/J43Do
androidにpythonは入りましたが、pythonをroot権限で実行するにはどうしたらいいのでしょうか、
SuperSUでroot化まではできましたが、それでは不十分のようで
chmodでこけているようです
0642デフォルトの名無しさん2016/06/03(金) 21:29:56.80ID:6QnOC8gI
どこ産かもわからんパカチョンをスマホにつっこんでルート化しちゃう池沼の人っておる?
0643デフォルトの名無しさん2016/06/03(金) 23:02:45.32ID:INRuOLc6
一度読み込みが終わったジェネレータを
再度先頭に巻き戻す方法を教えてください
0644デフォルトの名無しさん2016/06/04(土) 03:32:23.79ID:eSRbunGZ
ここで質問しちゃうような奴はroot化なんてしないほうがいい
0645デフォルトの名無しさん2016/06/04(土) 11:49:49.09ID:9idbSXvO
>>643
リストに格納しておく
0646デフォルトの名無しさん2016/06/04(土) 12:45:00.32ID:2idQR+vq
root化はここにあるshを実行してandroidでコンパイルしたいだけなのですが
https://github.com/kuri65536/python-for-android/tree/master/python-modules/PyCrypto
0647デフォルトの名無しさん2016/06/04(土) 17:38:42.38ID:ZYjMkIKS
python 3.6のリリースは今年の12月の予定だ
こういう書き方が出来るようになるから便利
a = "hello"
print(f"{a} world") # hello world
str.formatの出番はなくなる
0648デフォルトの名無しさん2016/06/04(土) 17:44:34.36ID:+BUygQLa
pythonとrubyのフォーマット書式はクソ
0649デフォルトの名無しさん2016/06/04(土) 18:33:30.47ID:a6qGPK3q
コマンドラインから渡す引数の処理をしています。
下記でオプションの値を制限できますが、これをリストではなく、正規表現で制限するにはどうすればよいですか?

import argparse
p = argparse.ArgumentParser()
p.add_argument("--hoge", help="hogehoge.", type=int, choices=[1,2,3])
0650デフォルトの名無しさん2016/06/04(土) 18:44:22.91ID:DlnDvjYz
>>642
kuriちゃんは信用できる
0651デフォルトの名無しさん2016/06/04(土) 20:02:59.37ID:+uxdUKW6
>>649
リストを返す関数を渡せばいいだろ
06526492016/06/04(土) 20:08:01.47ID:a6qGPK3q
>>651

コメントありがとうございます。

r"\.py$"

これをリストで表現するのは難しいと思っています。
0653デフォルトの名無しさん2016/06/04(土) 20:12:40.99ID:+uxdUKW6
python argparse regex
でぐぐれば解決方法が沢山でたけど
06546492016/06/04(土) 21:08:48.40ID:a6qGPK3q
ありがとうございます。

この辺でしょうか?

ttps://groups.google.com/forum/#!topic/argparse-users/tAC1eH1a29c

この対応が必要ということはargparseの標準機能にはなく、正規表現させる部分をカスタマイズしないとできないということでしょうか?
0655デフォルトの名無しさん2016/06/05(日) 00:06:44.31ID:ug/2sx2v
ドキュメントに書いてないんならないんだよ
0656デフォルトの名無しさん2016/06/05(日) 00:16:00.44ID:XSqqkbkB
>r"\.py$"

>これをリストで表現するのは難しいと思っています。


何が難しいのかさっぱりわからないというより説明をしっかりしないからやりたいことが伝わらない
0657デフォルトの名無しさん2016/06/05(日) 00:18:35.55ID:ZvqErOlJ
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん
0658デフォルトの名無しさん2016/06/05(日) 01:36:25.92ID:X+8v2WhO
>>652
add_argument()のtypeキーワードに引数をチェックする関数を指定すればいい
チェックが通ったら煮るなり焼くなりしてreturnすればおk

def hoge_type(value):
 if not re.search(r'\.py$', value):
  raise ValueError('invalid extension')
 return value

このhoge_typeを下のように指定する

parser.add_argument('--hoge', type=hoge_type)
0659デフォルトの名無しさん2016/06/05(日) 01:43:16.69ID:X+8v2WhO
ここに書いてあった
http://docs.python.jp/3/library/argparse.html#type
0660デフォルトの名無しさん2016/06/05(日) 02:36:07.72ID:b0qHmmcL
不出来なのは頭だったか
無念
0661デフォルトの名無しさん2016/06/05(日) 07:53:31.52ID:X+8v2WhO
argparseは多才だからなんでもやらせたい誘惑に駆られる
でもdocoptのようにコマンドライン引数の構文解析程度にとどめるべきかもね
値の評価や機能の実行までやらせるのは役割を与えすぎかなと感じる
0662デフォルトの名無しさん2016/06/05(日) 08:53:22.93ID:6AZT6oQ7
最近ちょっと思ったのは、もしかしたらPythonは関数型言語の入口かもしれん
Pythonでmap,filter,reduce,内包表記とか慣れると関数型言語に割とすんなり移行できる
そして、関数型言語はより短く効率的に書けて、大抵コンパイル型言語だからより高速
故に、PythonもできますがhaskellなりscalaなりF#もできますってのが普通で、
Pythonしかできませんってのは、頭の中身が手続き型のロートル脳なんだな
0663デフォルトの名無しさん2016/06/05(日) 09:21:18.13ID:b0qHmmcL
ごめんそれ100万回くらい聞いた
0664デフォルトの名無しさん2016/06/05(日) 09:28:26.30ID:VJ6TUrY4
for i in range(1000000):
  print ">>662"
0665デフォルトの名無しさん2016/06/05(日) 09:43:09.21ID:zUwxY7yt
if >>662 == バカ:
  for i in range(1000000):
    print("map,filter,reduceもpythonではdeprecatedですよ")
0666デフォルトの名無しさん2016/06/05(日) 09:50:18.72ID:RIWhlWWt
君達ってfor使う必要ないところで使ってるしレベル低そうだね
"a" * nこれ知らなさそう
0667デフォルトの名無しさん2016/06/05(日) 09:54:11.86ID:b0qHmmcL
ごめんそれ100万回くらい聞いた
0668デフォルトの名無しさん2016/06/05(日) 10:02:23.09ID:ZvqErOlJ
>>661
詰め込みすぎだよな
業務の現場でちゃちゃっとコマンドラインツールを作りたいだけなのに
印刷するとけっこうなページ数になるargparseなんか学んでられるかっての
inputでオプション一個ずつ入力させるやり方で逃げたわ

str.formatやpathlibなんかもそうだが、堅苦しく冗長な機能拡張が目立つようになってきた
シンプルお手軽っていう特長を捨ててJavaのようなカオスな方向に向かうのなら
言語として先は長くないだろう
0669デフォルトの名無しさん2016/06/05(日) 10:13:50.73ID:6AZT6oQ7
>664-665
Pythonと関数型言語も両方ともって話なのに、
こんなに過剰反応とは・・・ウププ、あ、いや、なんでもないですw
0670デフォルトの名無しさん2016/06/05(日) 10:27:46.84ID:b0qHmmcL
自分の理解できない物を無駄と評するのはどうなんでしょ
超初心者っぽくていいけどね

ここから引用
多くの初心者は自身が習得した一部の言語機能に拘泥しがちであり、知識を広げようとはしない。
引用終わり
0671デフォルトの名無しさん2016/06/05(日) 12:44:27.04ID:Xgwcc4Sq
class 意味分からない
codecademyで 90%まできたけどclassの章で詰みそう
0672デフォルトの名無しさん2016/06/05(日) 13:17:15.51ID:Dac8LcQl
python使う上でclassなんていらんやろ
classとannotation使い始めるとコードがとたんに汚くなる
0673デフォルトの名無しさん2016/06/05(日) 13:27:42.56ID:fcicNZfN
また超初心者っぽい極論ですね。
0674デフォルトの名無しさん2016/06/05(日) 13:41:15.94ID:lZ/qTWvV
argparse優しすぎるのにドキュメント呼んで理解できないのはアスペ
0675デフォルトの名無しさん2016/06/05(日) 13:45:13.11ID:sTpf+U42
理解できないとは書かれてないな
文意に沿った回答をするべき
0676デフォルトの名無しさん2016/06/05(日) 13:47:18.82ID:lZ/qTWvV
657 :デフォルトの名無しさん [↓] :2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ (1/2)
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん

657 :デフォルトの名無しさん [↓] :2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ (1/2)
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0677デフォルトの名無しさん2016/06/05(日) 14:07:24.43ID:MNddmiLP
あのドキュメントは嫌い
リファレンスとHowToは分けろよ
というかHowToページ別にあるのに
0678デフォルトの名無しさん2016/06/05(日) 14:08:14.27ID:MNddmiLP
途切れた

というかHowToページ別にあるのに、なんでリファレンスにまでHowTo書くんだよ
0679デフォルトの名無しさん2016/06/05(日) 14:42:07.25ID:b0qHmmcL
他言語と比べると異質なリファレンスではあるね
Djangoやrequestsと比べでも何か異質
無駄とは言わないけど読みづらい
0680デフォルトの名無しさん2016/06/05(日) 15:34:55.87ID:Xgwcc4Sq
classの
def __init__ (self)のこのselfは何者ですか?
なんで消えるの?いんすうではないの?
0681デフォルトの名無しさん2016/06/05(日) 15:39:59.71ID:sTpf+U42
>>676
「よくわからん」と「理解できない」は違うぞ
0682デフォルトの名無しさん2016/06/05(日) 15:41:07.77ID:sTpf+U42
>>680
消えるとは?
06836492016/06/05(日) 15:43:57.55ID:7j5k7Q75
>>658

できました!
参考URLもありがとうございました。
0684デフォルトの名無しさん2016/06/05(日) 15:48:12.51ID:VJ6TUrY4
>>680
いんすう?ああ、ひきすうね

selfは自分自身の参照
javaとかはthisキーワードで明示しなくても勝手に作られるがpythonは何故か
指定しないと嫌だったらしい

あと消えてない
>>> class A:
... def __init__(self):
... self.a = 120
...
>>> a = A()
>>> print a.a
120
>>>
0685デフォルトの名無しさん2016/06/05(日) 16:04:21.50ID:Xgwcc4Sq
>>682
消えるというかほかの引数と挙動が違うといいますか、
>>684
selfもメンバー変数として使えるということですか?
この場合の参照する自身とは何を指すのでしょう?class?
0686デフォルトの名無しさん2016/06/05(日) 16:17:02.02ID:b0qHmmcL
クラスとインスタンスの対比を理解してないんじゃないかなー
0687デフォルトの名無しさん2016/06/05(日) 17:33:23.51ID:VJ6TUrY4
頭の中だけで考えるんじゃなくてとにかく手を動かして
自分で確かめるのがいいよ

バグでつまる度に他人はいちいち付き合ってはくれない

class A:
  def __init__(self, a, b):
    self.a = a
    self.b = b
  def sum(self):
    return self.a + self.b


instance_a = A(12, 3)
instance_b = A(5, 16)

print instance_a.sum()
print instance_b.sum()
0688デフォルトの名無しさん2016/06/05(日) 18:02:01.24ID:zUwxY7yt
なぜPythonにはfinalやconstがないのか
なぜタプルなんて中途半端なもんで諦めたのか
可読性(藁)
0689デフォルトの名無しさん2016/06/05(日) 18:10:10.42ID:Xgwcc4Sq
>>687
一語1語意味を考えるよりも
まず形にすることが重要なんですかね
この例文をそらで書けるように写経してみます。ありがとうございます
0690デフォルトの名無しさん2016/06/05(日) 18:14:31.56ID:b7IP4BCr
>>689
オブジェクト指向について少し勉強すると良いよ
0691デフォルトの名無しさん2016/06/05(日) 19:21:21.29ID:odhU5/tC
>>688
Pythonは動的言語なので結局実行してみてコケるまではミスに気付けない
だからそういうのはあまり意味がないの
0692デフォルトの名無しさん2016/06/05(日) 19:30:41.98ID:ZvqErOlJ
座標x,yを扱うメソッドの宣言がself,x,yてなるのは違和感あるよねえ
せっかくのデートにお邪魔虫が一人付いてくるような感じ
何でこんな仕様にしたのか設計者に小一時間問い詰めたい
0693デフォルトの名無しさん2016/06/05(日) 19:39:19.34ID:IN+Q8fDx
座標x,yを与えるには平面が必要。selfは、平面のこと考えている。
0694デフォルトの名無しさん2016/06/05(日) 21:04:41.72ID:IuZ3TLQW
プログラムは写経が最高の教科書って誰か言ってたな
0695デフォルトの名無しさん2016/06/05(日) 21:22:06.74ID:VJ6TUrY4
それもいいが自分なりに何か変えてみるともっと理解は早くなるはず

書いてみて、結果を予想する 予想が違えば何が違ったのかを考える
そうすればだんだんとパターンが見えてくるよ
0696デフォルトの名無しさん2016/06/05(日) 22:57:33.42ID:bEHxSIM9
>>658
Groovy なら、クロージャを渡して、フィルタリングできる

(1..6).grep{ it % 2 == 0 } → [2, 4, 6]

>>685
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版

オブジェクト指向は難しいから、必ず、この順番で勉強するように言われている
0697デフォルトの名無しさん2016/06/06(月) 01:30:22.89ID:xte0zwCj
sexメソッドはmaleとfemaleを引数に取ればいいだけなのに
なぜかselfとかいう謎の人が付いてくる

これは言語設計に失敗してると言って過言ではないのでは??
0698デフォルトの名無しさん2016/06/06(月) 02:01:00.51ID:i3B2Q/oE
>>697
面倒といえば面倒だが、
関数ではなくメソッドであることを明確に示すことができるので、
アリだと思っている
0699デフォルトの名無しさん2016/06/06(月) 02:14:17.67ID:4oDFfzZn
デスクリプタHowToでも読んで
設計思想が理解できないのなら
失敗してる言語はやめれば良い
0700デフォルトの名無しさん2016/06/06(月) 02:14:21.66ID:xG6oh14B
selfのおかげでクラスとインスタンスの関係が簡単になるから良い設計だと思うけどな
0701デフォルトの名無しさん2016/06/06(月) 02:19:56.88ID:XLITscU6
>697
言語設計が悪いのではなく、あなたのsexメソッドや、male female オブジェクトの設計が変なだけだと思うよ。
たとえば、整数同士の二項演算子__add__ や__mul__は、引数にselfとotherをとる設計になっている。self, left_hand_side, right_hand_side の3つの引数をとるような設計にはなっていない。
sexメソッドも、humanオブジェクトの二項演算子のように定義すればいい。male female なんて無駄な区別も必要ない。LGBTにも対応可能だ。
二人が対等な関係で無いのが嫌というなら、couple オブジェクトを作って、couple オブジェクトのメソッドとしてsexメソッドを実装すればいい。__init__に登場するselfは他人ではなく、他ならない二人のカップルそのものを指している。

class Couple():
__def __init__(self, a, b):
____self.a=a
____self.b=b
__def sex(self):
____pass

tsukkomi=Human('Hanako')
boke=Human('Daisuke')
miyagawa_fusai=Couple(tsukkomi, boke)
miyagawa_fusai.sex()
0702デフォルトの名無しさん2016/06/06(月) 02:22:39.56ID:C/umrOnE
>>697

def sex(self, male, female):
  self.female.say("No thanks.")
  self.male.say("oh... my god...")
  self.male.onani()
0703デフォルトの名無しさん2016/06/06(月) 05:00:17.45ID:QbKl1YZH
超初心者ってか厨房スレみたい
0704デフォルトの名無しさん2016/06/06(月) 10:07:50.49ID:PqDnUBGZ
>>697は明らかにオブジェクト指向のオの字も理解してないからどうでもいいけど
selfは暗黙に定義して欲しかったわ
関数がどうかなんて定義位置とデコレータの有無で一目瞭然だし
0705デフォルトの名無しさん2016/06/06(月) 11:37:26.92ID:Eh/3Xe+J
self明示はOOPが後付であるのとOOPにどっぷり依存する気がないからだと思う
アクセス制御機能は未実装だし、メソッドはインスタンス無関係に関数として呼び出せる
0706デフォルトの名無しさん2016/06/06(月) 16:40:02.89ID:/qKSCvxc
>>692
気に入らないなら
def hogemethod(w, x, y):
とか書いても良いんだぜ
0707デフォルトの名無しさん2016/06/06(月) 16:42:44.32ID:/qKSCvxc
>>703
同じ人間って書き方みたら判るもんなんだな
http://hissi.org/read.php/tech/20160606/UWJLbDFZWkg.html
0708デフォルトの名無しさん2016/06/06(月) 16:51:39.69ID:B7qEBb4m
680以降の半分以上は俺のレスだけどね
見て分かったかな
0709デフォルトの名無しさん2016/06/06(月) 17:06:45.96ID:/qKSCvxc
680以降の半分以上は読んでなかったからちょうど良かった
0710デフォルトの名無しさん2016/06/06(月) 17:16:22.11ID:gOmKNf/3
ここまでチンパンジーアイちゃんの自…
いやなんでもないです
0711デフォルトの名無しさん2016/06/06(月) 22:56:40.40ID:xte0zwCj
>>704
male extends human
def sex (self, female)
      ↑誰だお前

すまんのか?
0712デフォルトの名無しさん2016/06/06(月) 22:59:16.48ID:xte0zwCj
>>701
miyagawa_fusai.sex()とか気持ち悪い喩え持ち出すなボケェ!
0713デフォルトの名無しさん2016/06/06(月) 23:12:01.83ID:1e9MzW/h
>712
ちゃんとCoupleのsexメソッドの定義を見て下さい。
pass
としか書いてませんから、何も起きません!
0714デフォルトの名無しさん2016/06/07(火) 01:13:46.40ID:i5smxfKl
>>713
なんてこった・・・あんたさては未踏タイトル保持者だな?
俺の負けだよ、完敗さ、君の瞳に乾杯
0715デフォルトの名無しさん2016/06/07(火) 03:05:33.76ID:41OqMrsx
Pythonは、Rubyよりもキーワードを少なくした。
thisをキーワードにしたくなかったんだろう

selfを渡しておけば、キーワードにならないし、thisなど、self以外を使ってよい

逆に、Rubyから言えば、実装上の詳細が、プログラマーに見えるのは、おかしい
0716デフォルトの名無しさん2016/06/07(火) 05:15:36.17ID:No9ZP2EK
>>697
君は第三者の立場が好きなんだな
0717デフォルトの名無しさん2016/06/07(火) 07:06:02.26ID:N3u46K1k
>>711
何この言語
0718デフォルトの名無しさん2016/06/07(火) 09:28:21.23ID:y1uFD4iG
ちくわ大明神
0719デフォルトの名無しさん2016/06/07(火) 12:58:53.24ID:iYzT2OEj
誰かアンタッチャブル柴田をpythonで書いてください
0720デフォルトの名無しさん2016/06/07(火) 13:00:05.91ID:Ts73h3EG
設計書はあるんですか?
0721デフォルトの名無しさん2016/06/07(火) 17:10:40.05ID:0rvA4F4X
●AI技術で起業したい方へ3000万円まで投資します●

経験と情熱のある方のみ、お願いします。
http://good-hill.xsrv.jp/?id=789122

『 グッドエンジェル 』
投資家と起業家のマッチングサービス
0722デフォルトの名無しさん2016/06/07(火) 22:37:02.43ID:i5smxfKl
>>720
設計もおまえの仕事やぞ
0723デフォルトの名無しさん2016/06/08(水) 02:17:13.72ID:x3ey/7l2
argp = argparse.ArgumentParser(description="さんぷる",formatter_class=argparse.RawDescriptionHelpFormatter)
argp.add_argument("--file-path", help="file path.", dest="--file-path", metavar="FILE_PATH", type=str, required=True)

上記のように書いて実行すると下記のように、helpの表示で、 --file-path の説明部分が改行されます。

% ./sample.py -h
usage: sample.py [-h] --file-path FILE_PATH --files FILE

さんぷる

optional arguments:
 -h, --help      show this help message and exit
 --file-path FILE_PATH
             file path.

改行されると見づらいので、ここを参考に→ttp://d.hatena.ne.jp/yuheiomori0718/20120125/1327494051
試しに下記のように書いたのですが、同じく改行されました。
(実際には100カラム以下の設定にするとは思いますが、テストで大きくしています)

os.environ['COLUMNS'] = "1000"

help時に改行を防ぐにはどうすればよいでしょうか?
0724デフォルトの名無しさん2016/06/08(水) 06:43:53.48ID:UrL3khAu
>>723
オプションとヘルプの間に改行が入るか否かは
HelpFormatterクラスのmax_help_positionキーワードで決まる

max_help_positionを変更した自作HelpFormatterクラスを
ArgumentParser()のformatter_classキーワードに指定する方法で
長い名前のオプションでもヘルプを続けて表示できる

この方法ではヘルプ全体は80桁で折り返しになる
表示を調整するならos.environ['COLUMNS']を変えるか
HelpFormatter()のwidthキーワードに折り返しの桁数を指定する
0725デフォルトの名無しさん2016/06/08(水) 06:45:48.76ID:UrL3khAu
>>723
自作HelpFormatterクラスの手抜き実装
max_help_positionでヘルプの表示位置、widthで全体の折り返しを指定する

class MyHelpFormatter(argparse.HelpFormatter):
 def __init__(self, prog):
  indent_increment = 2
  max_help_position = 50
  width = 100
  super().__init__(indent_increment, max_help_position, width)
0726デフォルトの名無しさん2016/06/08(水) 06:51:59.28ID:UrL3khAu
>>725の最後を間違えた
super().__init__(prog, indent_increment, max_help_position, width)が正しい

HelpFormatterクラスのインターフェースがドキュメントになっていないのは困ったもんだ
0727デフォルトの名無しさん2016/06/08(水) 07:13:37.13ID:dpHglwEd
人が楽をするために作られたはずのライブラリが
逆に人を振り回すようになってきたな・・・
0728デフォルトの名無しさん2016/06/08(水) 07:26:15.84ID:zEmhDMcI
プログラミングそのものがバグを注入する作業に違いないと言われて久しいのに今更だな
0729デフォルトの名無しさん2016/06/08(水) 07:32:30.53ID:3hYUw3qX
コンピュータに限らず
人間の文明そのものがそうだな
0730デフォルトの名無しさん2016/06/08(水) 07:53:30.49ID:V7RBddf9
俺たちの存在そのものがバグだった・・・?
0731デフォルトの名無しさん2016/06/08(水) 08:08:57.04ID:zEmhDMcI
UTSLもたまにはいいけど
標準ライブラリからこの体たらくだとやる気が削がれるのは確か
0732デフォルトの名無しさん2016/06/08(水) 08:13:51.28ID:yLejXJHl
この世界でAPIリファレンスがまともなのはMSくらいだろ
Pythonはまだマシな方
0733デフォルトの名無しさん2016/06/08(水) 13:46:40.83ID:78Tk8wL/
多重ループを抜ける方法を教えてください
0734デフォルトの名無しさん2016/06/08(水) 14:34:13.74ID:G2ArSS3q
def f(c):
__c[0] = 0
__return c
a = [1, 2, 3]
b = f(a)
print(a)
print(b)

なんでaも値が変わっちゃうんですか?
どうしたらaの値をキープできますか?
0735デフォルトの名無しさん2016/06/08(水) 14:46:42.43ID:5Ujr+av3
listはミュータブルだから
0736デフォルトの名無しさん2016/06/08(水) 14:59:27.47ID:N9K6PozS
>>734
b = f(a[:])

>>733
python 多重ループ 抜ける でぐぐる
0737デフォルトの名無しさん2016/06/08(水) 15:02:24.00ID:vAuk/aLa
http://www.amazon.co.jp/dp/B01GF018UY python入門書(英語)タダ

http://www.amazon.co.jp/dp/B01GK955A4 スレ違いだけどおまけ SQL入門書もタダ
0738デフォルトの名無しさん2016/06/08(水) 15:59:39.11ID:G5w4BYim
ちらみしたけど確かにただ同然の
内容だった
0739デフォルトの名無しさん2016/06/08(水) 16:31:19.44ID:c99ZJOB9
>>733
returnとかraiseとか色々楽出来る
0740デフォルトの名無しさん2016/06/08(水) 21:02:27.73ID:DyDwul9e
>>737
オライリーのパクリっぽい装丁だな、今見たら500円になってる
0741デフォルトの名無しさん2016/06/08(水) 21:34:29.83ID:G5w4BYim
>>740
みたけど0円の価値すらないほん
0742デフォルトの名無しさん2016/06/08(水) 21:47:34.78ID:DyDwul9e
>>741
英語読めないから?
0743デフォルトの名無しさん2016/06/08(水) 22:26:52.19ID:R7wKDA60
>>736
b = f(a[:])
>> [0, 2, 3]
a
>> [0, 2, 3]
0744デフォルトの名無しさん2016/06/08(水) 22:54:39.05ID:V7RBddf9
>>742
おまえと違ってビギナーじゃないからじゃボケなす
0745デフォルトの名無しさん2016/06/08(水) 22:56:16.19ID:G5w4BYim
>>742
小防かよ
義務教育で必修なんだから
おまえみたく不登校児でもないかぎい
0746デフォルトの名無しさん2016/06/08(水) 22:57:08.97ID:G5w4BYim
>>744
ビギナーこそヨンジャだめだめ
07477232016/06/09(木) 00:08:40.81ID:G0dYhsWN
>>724,725

具体的なコメントまでありがとうございます。

添付のHelpFormatterクラス使ったら改行なしでできました!
0748デフォルトの名無しさん2016/06/09(木) 00:09:46.60ID:G0dYhsWN
改行のコントロールくらいデフォルトでついててもいいのになー。

改行のコントロールは少数派なんだろうか。
0749デフォルトの名無しさん2016/06/09(木) 00:22:10.35ID:dIu2vu4F
モジュールを書いた人の意識の差かね
argparseは徹底的な抽象化、モジュール化、カスタマイズ性に理想の高さを感じる
途中で収拾がつかなくなって投げた感もある
0750デフォルトの名無しさん2016/06/09(木) 00:53:51.91ID:G0dYhsWN
シンプルな汎用性と、カスタマイズすればで何でもできるよの両方を突き詰めた感じですかね。
0751デフォルトの名無しさん2016/06/09(木) 01:58:39.37ID:iYl+3gJl
>>747
>>725はHelpFormatter()のキーワードを変えてるだけなのでサブクラス必要なかった
lambdaか関数でラップして実引数で指定すればいい
クラスのドキュメントに気を取られて簡単な方法が思いつかなかったよ

def my_help_format(prog):
 return argparse.HelpFormatter(prog, max_help_optision=50, width=100)

parser = argparse.ArgumentParser(formatter_class=my_help_format)
0752デフォルトの名無しさん2016/06/09(木) 09:03:10.80ID:a9ttoeJ0
>>743
>>> def f(c):
... c[0] = 0
... return c
...
>>> a = [1, 2, 3]
>>> b = f(a[:])
>>> print(a)
[1, 2, 3]
>>> print(b)
[0, 2, 3]
07537232016/06/10(金) 01:24:23.76ID:nGW8B2Ze
>>751

おお!
マニュアルからそんなことを読み解けるようになるんですね。

max_help_optision とあって訳の分からないエラーが出てしばらく悩みました笑max_help_position
07547232016/06/10(金) 01:25:17.67ID:nGW8B2Ze
max_help_optision → max_help_position

ですね。
シンプルになり良かったです。
補足情報ありがとうございました。
0755デフォルトの名無しさん2016/06/10(金) 02:25:16.04ID:QVZq31aG
タイポすまなかった
愚痴だけどmax_help_positionはマニュアルには載ってなかった
だからソース読んだけどその前にpydoc3 argparseでインターフェースを見るべきだったな
0756デフォルトの名無しさん2016/06/10(金) 21:36:58.19ID:C3wbvOhp
初学者ですが質問があります
いまpyqtのいろいろなサンプルソースを見て回ってるところですがある疑問があります
クラスには何を書けばいいのか、
またどういう時にsuper(ほげほげ, self).__init__()
を使えばいいのかわかりません
浅はかな知識を振りかざしてる感を醸し出し出るかもしれませんが回答よろしくお願いします
0757デフォルトの名無しさん2016/06/10(金) 21:39:11.89ID:C3wbvOhp
super(ほげほげ, self).__init__() は親クラスのコンストラクタを呼び出したいときですね
自己解決しました
0758デフォルトの名無しさん2016/06/10(金) 21:46:34.21ID:C3wbvOhp
親クラスのコンストラクタが何をするかは
各自調べる必要あったのですね
0759デフォルトの名無しさん2016/06/10(金) 23:50:47.28ID:/tU4zyGw
initはコンラトクタスじゃないぞ
0760デフォルトの名無しさん2016/06/11(土) 00:00:29.48ID:QMDbOLDD
どういうタイプミスするとそうなるの?
0761デフォルトの名無しさん2016/06/11(土) 00:10:00.93ID:Y6AcCgvN
def f():
__print(n)

n = 1
f()

どうして関数の中からnを参照できるんですか
0762デフォルトの名無しさん2016/06/11(土) 00:36:06.66ID:Ls4SHB7Y
LEGB
07637232016/06/11(土) 00:49:52.08ID:pKKUOpIX
>>755

そうなんですね。
色々調べていただいてありがとうございました。
0764デフォルトの名無しさん2016/06/11(土) 06:39:02.84ID:nfdvatZN
>>761
Linuxくだ質スレで回答を貰っていたろう。
0765デフォルトの名無しさん2016/06/11(土) 09:41:24.79ID:GfH/yQPm
PyPyって何て読むのでしょうか?
おっぱいぱい?
0766デフォルトの名無しさん2016/06/11(土) 10:20:37.77ID:tfXoOcFv
>>740
中国製のipodのぱくり200円プレーヤー
おもいだした

よんだというか見た感想

これ500円だしたひとはごし
0767デフォルトの名無しさん2016/06/12(日) 14:23:05.25ID:syjnKRGS
AnacondaとPycharmを併用している人に聞きたいんだけど、自分の環境だと標準Pythonの時には機能してた
PycharmのCreate VirtualEnvが使えなくなったんですけど他の方は使えてます?
代わりにCreate Conda Envが使えるけど仮想環境の容量が200M以上あってちょっと使う気になれない
0768デフォルトの名無しさん2016/06/13(月) 22:26:39.80ID:GnM3NsPs
リスト内包表記で代用可能なmapやfilterが残されて
代用不可能なreduceだけが削除されたのはなぜなんです?

というかreduceみたいなことがしたいときはimport functoolsとかいうダサいことをしないといけないんですか?
0769デフォルトの名無しさん2016/06/13(月) 22:58:53.73ID:8GFDeHqz
>768
Guido のブログに理由が書いてあるよ。
The fate of reduce() in Python 3000
で検索すると出てくる。
reduce() が何やってるか理解しにくく、明示的にループを書いた方が分かりやすいから、というのが理由。
加算とか乗算、and or などの、結合則が成り立つ場合は、まだ分かりやすいのだけど、結合則が成り立つ演算はそもそも少ない。
加算については既にsum() があるし、
乗算についてはproduct() をreduce() の代わりに追加してもいい(実際には、itertools.product は乗算じゃなくて、直積集合をかえすことになったが)、
and or には、all() や any() を提案する。。ってなことが書いてあった。
0770デフォルトの名無しさん2016/06/13(月) 23:09:49.27ID:GnM3NsPs
>>769
つまり・・・どういうことだってばよ?

reduceを使いたい時、sumとかitertools.hogeが思い付かなかったらforで書けっていう認識でGoodGuido?
0771デフォルトの名無しさん2016/06/13(月) 23:52:18.29ID:8GFDeHqz
>770
要領を得ない回答でごめんね。

reduce を使いたいときの対応法
1) sum any all とかで代用出来るとき、これらを使う。
2) sum any all とかで代用出来ないとき、
2)-a 適用したい関数に結合則が成り立つとき(たとえば、最大公約数を求めるmath.gcdとか)、import functools して、functools.reduce を使う
2)-b 結合則が成り立たないとき、素直にループ書く。

っていうのが、可読性と記述のコンパクトさの点から、良いんじゃないかな。
0772デフォルトの名無しさん2016/06/14(火) 03:53:30.49ID:jIzmg/lR
>>768
ステートメント縛りするときはいつもlambda式で書いてるよ

(lambda r, f, a, b: r(r, f, a, b))(
(lambda r, f, a, b: r(r, f, a[1:], f(a[0], b)) if a else b),
(lambda a, b: a * b),
range(1, 11, 3),
1)
0773デフォルトの名無しさん2016/06/14(火) 09:40:34.74ID:GERzBoUX
芸人か
0774デフォルトの名無しさん2016/06/14(火) 11:32:57.90ID:lOmoIVUi
予定通りなら今月の26日に3.5.2リリース
0775厚切りパイソン2016/06/14(火) 19:45:44.49ID:w/vbqBPi
WHYーーーーーーーーー
0776デフォルトの名無しさん2016/06/14(火) 23:02:27.90ID:M59B2msj
>>771
あなたがパイソニスタの神か
俺の聖典に丸々コピペさせていただきました サンキューゴッド

>>772
わからん
そのコードは何をしてるんです?
あとPEP8によればlambdaは非推奨ですよね
0777デフォルトの名無しさん2016/06/14(火) 23:20:02.00ID:awjEpHAv
PEP8のどこに書いてあるのさ
引用してみ?

lambdaを変数に代入するなって項目はあるけど
0778デフォルトの名無しさん2016/06/14(火) 23:25:16.86ID:awjEpHAv
>Always use a def statement instead of an assignment statement that binds a lambda expression directly to an identifier.

lambda式を識別子を割り当てる代わりに、常にdefステートメントを使用します。
0779デフォルトの名無しさん2016/06/14(火) 23:47:37.65ID:i7IdVRVP
半端な知識ほど足を引っ張る物はない
0780デフォルトの名無しさん2016/06/14(火) 23:59:01.42ID:M59B2msj
カスみたいな可読性のlambdabdaabaは使うなって俺が決めたんだよボケナスゥ!
0781デフォルトの名無しさん2016/06/15(水) 00:08:22.57ID:EyWhNnq2
>776

772のコードは以下のと同じようなことをしているはず。
1, 4, 7, 10 の積を求めている。

ans = 1
for a in range(1, 11, 3):
____ans *= a
print(ans)

あるいは、reduce 使うなら、

from functools import reduce
from operator import mul
ans = reduce(mul, range(1, 11, 3))
print(ans)


772では、リストの要素を1つずつ取り出しながら再帰的に処理しているのだけど、
a[1:]っていう部分がO(1)でなくO(n)かかるから、
全体の計算量がO(n^2)になってしまって、
ループ処理がO(n)で済むのと比べると、計算量的にも不利。
長さが10,000くらいのリストを処理すると、速度差が体感出来るようになるはず。
0782デフォルトの名無しさん2016/06/15(水) 00:39:56.39ID:GTwf6ete
>>780
涙拭けよ
0783デフォルトの名無しさん2016/06/15(水) 05:00:01.85ID:gwOweTiR
rangeの計算量についてはiterとnextで全体の再計算を回避できそう

まあ根っこの問題として>>772は1000回以上の再帰呼び出しでエラーになる
上限を変えてもどこかで落ちるだろうな
0784デフォルトの名無しさん2016/06/15(水) 12:56:12.12ID:fmEMUNkj
質問があるのでスレ立てていいですか?
0785デフォルトの名無しさん2016/06/15(水) 14:00:28.52ID:mNffmdFf
最近のアイちゃんは賢くなったな
0786デフォルトの名無しさん2016/06/15(水) 14:09:54.18ID:InIhFQ3U
アイちゃんはAI
0787デフォルトの名無しさん2016/06/15(水) 17:11:27.58ID:nbWqp8MO
jupyter(ipython)でEOFを入力する方法教えて下さい。
try:
while True:
a=input()
except EOFError:
pass
をすると、EOFが入力できないので延々と入力を求められます。
0788デフォルトの名無しさん2016/06/15(水) 17:22:21.59ID:Kr03vYZJ
ボットの書き込みに真面目にレスしてるブログみると切なくなるのはおれだけ?

ボットやでっておしえるボットでも
つくったらありがとうってりちぎに
レスされるのだろうか

ああ切ない
0789デフォルトの名無しさん2016/06/15(水) 17:23:54.95ID:Kr03vYZJ
おまえこそぼっとやろと
ボット同士でレスがっせん
0790デフォルトの名無しさん2016/06/15(水) 18:48:44.36ID:d2Xou3GL
>>788
このスレのレスもおまい以外ボットかも知れんな
0791デフォルトの名無しさん2016/06/15(水) 20:15:30.85ID:0mM4GVOG
そういう話はなろうとかカクヨムにメモっといて
0792デフォルトの名無しさん2016/06/15(水) 23:43:32.67ID:3UTMPd21
ちなみに、俺なんかぼっちなんだぜ?
0793デフォルトの名無しさん2016/06/16(木) 07:23:27.91ID:bg0t1qL+
android用のpycryptoがほしいので、ここにあるやり方でビルドしようとしてるのですが
うまくいきません

https://github.com/kuri65536/python-for-android/blob/master/docs/building_modules.md

ubuntu64bitにandroid ndkを入れてここにあるバイナリのpythonを設置してビルドしようとしているのですが、

やり方間違っているのでしょうか
0794デフォルトの名無しさん2016/06/16(木) 07:57:51.93ID:nNGtHwkM
C++のビルドは誰がやっても地獄を見るもんだ
解決するためにどういう情報が必要かを想像することすらできないレベルじゃ、たまたま今回うまくいったとしても後で破綻するよ
0795デフォルトの名無しさん2016/06/16(木) 08:09:41.59ID:tOwQ8tvq
Androidのビルドって、Gradleか?

ライブラリは所定のディレクトリに入れるなど、
ディレクトリ構成・設定ファイルなど、Gradleのやり方を見たら?

エラーメッセージで検索すれば?
また、エラーメッセージが無いと、僕らにはわからない
0796デフォルトの名無しさん2016/06/16(木) 09:06:20.67ID:bg0t1qL+
>>794
そのgitに書いてある説明通りやっても、様々なところでエラーになって
たぶんこういう間違いだろと自分で修正してやろうとしています。
パスの指定がところどころおかしくて、いろいろ試したのですが
いいところまで行ったところでビルド中にライブラリのマジックナンバーが違いますってエラーが出て
お手上げになっています。

このgitの説明があてにならないので、通常android用のpythonのライブラリを
ビルドする場合に皆さんがどうやっているのかを聞きたいです

>>795
Gradleってなんでしょうか、それを使うのが普通ですか?
0797デフォルトの名無しさん2016/06/16(木) 09:22:45.80ID:dX5NIqBg
AndroidでPythonとかいう愚かな時間の浪費は選ばないもので
0798デフォルトの名無しさん2016/06/16(木) 09:41:18.33ID:tOwQ8tvq
Androidのビルドシステムは、Groovyで書ける、Gradleに変わったんじゃないの?

よく知らん。Androidゲームを作っている人に、聞いて
0799デフォルトの名無しさん2016/06/16(木) 09:52:14.54ID:tOwQ8tvq
>>796
>ビルド中にライブラリのマジックナンバーが違います、ってエラーが出て

1文字1句違わない、正確な(英語の)エラーメッセージで、検索すれば?
ここにも、正確な(英語の)エラーメッセージを書かないと、漏れらには調べられない

スレで質問する際の、基本事項
0800デフォルトの名無しさん2016/06/16(木) 10:46:30.46ID:9O5kucbJ
自分で解決できる能力がない奴が背伸びするなよというのが僕の感想
0801デフォルトの名無しさん2016/06/16(木) 11:47:45.52ID:hLUHI1zp
糞ボッチの相手するなよというのが以下(ry
0802デフォルトの名無しさん2016/06/16(木) 15:29:14.49ID:BQaqbwNO
javaいれたらpython使えなくなった・・・
だれかたすけて
0803デフォルトの名無しさん2016/06/16(木) 15:37:52.81ID:tOwQ8tvq
環境変数PATHとか、何かが変わったのだろう。
前の状態に戻すか、OSを初期化する

でも、JavaとPythonは、関係あるのかな?
0804デフォルトの名無しさん2016/06/16(木) 15:39:59.74ID:BQaqbwNO
>>803
javaいれるときにpathいじったのが原因かも
ちゃんとpythonの環境変数はあるんだけどね
0805デフォルトの名無しさん2016/06/16(木) 16:02:09.49ID:utSF68V1
それは今はやりの浮気問題だな。初期対応が肝心。
0806デフォルトの名無しさん2016/06/16(木) 17:00:52.87ID:W/JPyy0H
彼女に不適切な設定をしました
0807デフォルトの名無しさん2016/06/16(木) 22:41:07.70ID:2/CJjoFN
pypy momimomi
0808デフォルトの名無しさん2016/06/17(金) 11:47:19.74ID:urcicmS9
pyenv否定派って一々activateコマンド手動で実行してるの?
面倒くさくないの?
pyenvどうして嫌われてるの?
0809デフォルトの名無しさん2016/06/17(金) 11:55:37.73ID:X6auPuAJ
僕はpyenv使ってますけどいちいちactivateしてますぜ
いちいち対立煽りしないでくれますかカス野郎
0810デフォルトの名無しさん2016/06/17(金) 11:58:17.70ID:WSjlHFjC
ログイン面倒なのでパスワード無しにしています
ログイン画面もスキップできるようにレジストリも変更しました
0811デフォルトの名無しさん2016/06/17(金) 12:03:12.62ID:DI+4eENR
暗黙的より明示的を選ぶというThe Zen of Pythonの思想に乗っ取り、activateは手動にしています。
0812デフォルトの名無しさん2016/06/17(金) 14:05:23.07ID:959kZ+zc
androidでpycryptoビルドするのはやめて、androidsslPy.pyっての拾ってきて使うことにしました。

結局のところデフォルトでandroidに入っているlibcrypto.soにバイパスすればpycryptoと同様のことができるようです。
0813デフォルトの名無しさん2016/06/17(金) 14:11:56.52ID:2S6lsYgq
>>809
それはpyenv使ってる意味ないんじゃないですか?
pyenvを否定しているようなものですよね
0814デフォルトの名無しさん2016/06/17(金) 14:25:17.32ID:6iHxGekt
>>811
これが正しい信者

>>813
明示的より暗黙的を選ぶような愚か者がPython使うな
0815デフォルトの名無しさん2016/06/17(金) 17:34:08.85ID:0whAilEW
>>813
意味なんて使う本人が決めることだよ
勝手に代表気取りしやがって、お前どこかの国王様か?
今すぐ死んで生き返ってもういっぺん死ね
0816デフォルトの名無しさん2016/06/17(金) 19:23:06.52ID:H8Xe5wdg
pythonユーザーは集合体やろ
0817デフォルトの名無しさん2016/06/17(金) 22:01:02.04ID:AU9HrtR9
そもそもvirtualenvって暗黙のカレント環境を切り替えるわけだろう。
明示的な方が優れているというなら、それぞれの環境を明示的に異なる場所に
インストールして絶対パスで指定して使うくらいせんと。
0818デフォルトの名無しさん2016/06/17(金) 23:21:03.00ID:BYFz07iM
virtualenvは隔離環境を作るためのパッケージだ
隔離環境にインストールしたスクリプトはactivateしなくても絶対パス指定で動くよ
0819デフォルトの名無しさん2016/06/18(土) 01:46:20.88ID:xeNfB77u
動けばええねん
0820デフォルトの名無しさん2016/06/18(土) 05:13:49.59ID:osVH1ch8
頭の悪い俺には環境もう一個作って使い分けるとか無理ゲー
実行単位が環境に縛られるというのはスクリプト言語の弱点の一つか
0821デフォルトの名無しさん2016/06/18(土) 10:36:29.72ID:maDePoef
リストのグループ集計をしたいのですが

data = [['a',1],['a',2],['a',3],['b',4],['b',5],['c',6]]

'a',6
'b',9
'c',6

のように集計したいのですがどうすればいいのでしょうか
08228212016/06/18(土) 10:45:58.80ID:maDePoef
>>821

すみませんできました。

data = [['a',1],['a',2],['a',3],['b',4],['b',5],['c',6]]

key = set([i[0] for i in data])

for x in key:
n = sum([y[1] for y in data if y[0] == x])
print(x, n)
0823デフォルトの名無しさん2016/06/18(土) 11:14:01.55ID:xeNfB77u
たかが数分考えればできることを質問するってなんなん?
ウチらのことバカにしてんの?
0824デフォルトの名無しさん2016/06/18(土) 12:00:19.30ID:v/91x4mv
>>822
collectionsモジュールのdefaultdictやCounter使ったほうがすっきり書けるよ
0825デフォルトの名無しさん2016/06/18(土) 13:53:33.75ID:z5tqSjVb
ウチら、って何だよ
勝手にお前ごときと一緒に扱うな
0826デフォルトの名無しさん2016/06/18(土) 13:55:43.84ID:KW1ldxBL
pythonユーザーは集合体

なにも間違ってない
0827デフォルトの名無しさん2016/06/18(土) 13:57:37.23ID:xeNfB77u
変なこと言う人は帰って
0828デフォルトの名無しさん2016/06/18(土) 13:59:48.07ID:kSrDRIJu
>>827
見本をみせてくれ
五十六もそういっている
0829デフォルトの名無しさん2016/06/18(土) 14:01:07.00ID:z5tqSjVb
>>826
俺はPythonユーザーではなく暇つぶしにスレを見ているだけだ
間違いに決まっているだろう
0830デフォルトの名無しさん2016/06/18(土) 14:06:23.21ID:xeNfB77u
帰って!
0831デフォルトの名無しさん2016/06/18(土) 14:14:54.80ID:SWKescPq
イールドってどういう時につかうんですか?
0832デフォルトの名無しさん2016/06/18(土) 14:47:42.89ID:AGMP56Qn
generatorとか
0833デフォルトの名無しさん2016/06/18(土) 14:49:39.08ID:SWKescPq
ジェネレーターは何をジェネレートしますか?リスト?
0834デフォルトの名無しさん2016/06/18(土) 14:53:06.51ID:AGMP56Qn
def AhoGenerator():
while True: yield "Aho"

a=AhoGenerator()
a.next()
a.next()
a.next()
a.next()
0835デフォルトの名無しさん2016/06/18(土) 15:39:15.59ID:KW1ldxBL
>>829
なん部外者かよ

1を嫁
0836デフォルトの名無しさん2016/06/18(土) 15:40:16.46ID:KW1ldxBL
にしてもひさびさ変なのきたね>みんな
0837デフォルトの名無しさん2016/06/18(土) 17:48:48.45ID:xeNfB77u
ほんと困るよ・・・こういうの
0838デフォルトの名無しさん2016/06/18(土) 18:16:11.56ID:ILccywKN
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0839デフォルトの名無しさん2016/06/18(土) 18:16:28.78ID:1DZABHRM
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0840デフォルトの名無しさん2016/06/18(土) 18:16:38.12ID:8wQkc7nF
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0841デフォルトの名無しさん2016/06/18(土) 18:16:47.29ID:YX10A6fb
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0842デフォルトの名無しさん2016/06/18(土) 18:16:58.52ID:5Iwo83CF
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0843デフォルトの名無しさん2016/06/18(土) 18:17:07.67ID:QIm1V++6
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0844デフォルトの名無しさん2016/06/18(土) 18:17:17.01ID:M2nvDjoD
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0845デフォルトの名無しさん2016/06/18(土) 18:17:30.77ID:h03S/imo
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0846デフォルトの名無しさん2016/06/18(土) 18:17:39.77ID:PacZaDW9
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0847デフォルトの名無しさん2016/06/18(土) 18:18:03.41ID:HCoHWljr
>>835
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
http://peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

よみました。
で、どうしましょう?
0848デフォルトの名無しさん2016/06/18(土) 18:19:14.24ID:yEBAqYo9
7秒以内にはできないんすねえ
0849デフォルトの名無しさん2016/06/18(土) 18:21:28.10ID:OiE6Yemr
ちゃんと次にどうすればいいか返事してくれないと
次は毛の壁のワードサラダ使って連打するからね
正規表現あぼーんできないように
0850デフォルトの名無しさん2016/06/18(土) 18:45:41.50ID:SWKescPq
>>834
.next()のメソッドがよくわからないんですが
yieldはreturnみたいに値を返すけど関数を終わらないでそのまま続けるみたいな物ですかね
0851デフォルトの名無しさん2016/06/18(土) 19:00:09.50ID:rIyWM5rz
>>850
returnは制御を返す、yieldは内部状態を保持して制御を譲る
続けるといっても並列実行ではなく再開できるという事ね
リスト返すのを要素ジェネレートでスケーラブルにするとか
0852デフォルトの名無しさん2016/06/18(土) 19:24:28.71ID:AGMP56Qn
>>850
list(AhoGenerator()) やってみ
0853デフォルトの名無しさん2016/06/18(土) 20:08:12.47ID:DsuexIyj
>>850
一見普通の関数定義に見えて、yieldが含まれているとジェネレータという全然別物になる
という点を押さえておく必要がある。Pythonの非常にわかりにくい仕様。
0854デフォルトの名無しさん2016/06/18(土) 20:13:33.96ID:osVH1ch8
yieldは初心者泣かせの機能の一つだね
メリットが実感できないふわふわした機能の割に
ドキュメントのサンプルコード中にけっこう出てくるため
完全無視もできない困り者
0855デフォルトの名無しさん2016/06/18(土) 20:24:08.92ID:Au7MFafK
Pythonってジェネレータを簡単に書ける割には遅延リストの操作が貧弱だからな
インデックスを多用する文化だからあえて不便にしてあるのかもしれないけど
メリットを感じにくいのは仕方ない
0856sage2016/06/18(土) 20:27:48.10ID:mwKkMiOA
https://www.youtube.com/watch?v=L46IUTOiomA

https://www.youtube.com/watch?v=nZDsMPhj4p4

https://www.youtube.com/watch?v=cP9TJjOqChg

https://www.youtube.com/watch?v=quIHgwuF6r4
0857デフォルトの名無しさん2016/06/18(土) 23:00:21.88ID:QKdVDmdU
Python, Rubyのyieldは、Java8のStream
遅延・無限ジェネレータ

必要な分だけ、その都度データを作るから、最初からすべてのデータを作らなくていい。
使用メモリを節約できる
0858デフォルトの名無しさん2016/06/18(土) 23:31:17.26ID:aNvZce14
フレームワークのスレってどこだっけ
0859デフォルトの名無しさん2016/06/18(土) 23:36:45.38ID:QKdVDmdU
Webプログラミング板に、Django スレある
0860デフォルトの名無しさん2016/06/18(土) 23:48:40.02ID:SWKescPq
>>852
やって見たんですがエラーで動かないです
https://imgur.com/oJijhxZ

yieldというかジェネレーターはまだ自分の力量では使えなさそうなので後回しにします。みなさん解答ありがとうございます
0861デフォルトの名無しさん2016/06/19(日) 00:11:13.46ID:AK/S93IS
nextじゃなくて__next__だと思うんですけど
0862デフォルトの名無しさん2016/06/19(日) 00:12:09.35ID:c3rTAFVS
>>860

横から失礼します。
a.next()
の呼び出しでエラーが出ていますね。
Python3とPython2の違いによるのだと思います。
Python2 では、 a.next() と書いていたのを、
Python3 では、a.__next__() あるいは、next(a) と書きます。
お使いのバージョンがPython3なのだろうと思います。

なお、Python2で実行した場合や、Python3向けに書き換えた場合も、
list(a) のところで、無限ループに入ってしまうと思います。while Trueですからね。

以上、ご参考まで。
0863デフォルトの名無しさん2016/06/19(日) 00:35:41.13ID:oY7TlxuV
2乗して合計する
sum(i*i for i in range(3))

( ) を使って、ジェネレータ式を使えば?
[ ] を使う、リスト内包表記より、使用メモリが少ない
0864デフォルトの名無しさん2016/06/19(日) 02:12:03.95ID:NRkB597J
Python始める場合2.x3.xどちらを勉強したらいい?
普段の使い方は簡単なデータ処理とCGI
あと3年以内にtensorFlowも使ってみたい
あとは失業した時にとりあえず食いつなげる程度の人気があると嬉しい
perl長らく使ってたけど久しぶりに求人見たら田舎では驚くほど求人無くて泣けてきた
昔はこれだけでも結構食べれてた気がしたんだけどな・・・
0865デフォルトの名無しさん2016/06/19(日) 02:34:03.80ID:IkWgEN3M
ペールとかいう旧石器時代のクソゴミ使ってるお爺ちゃんがまだ生きてるのか

失業の心配しなくても、定年の方が早いんじゃないか?
0866デフォルトの名無しさん2016/06/19(日) 02:36:57.47ID:IkWgEN3M
我ながら言い得て妙だと思わんか?草群生www

https://www.google.co.jp/search?q=%E3%83%9A%E3%83%BC%E3%83%AB
0867デフォルトの名無しさん2016/06/19(日) 02:50:45.66ID:akbrVJQo
import numpy as np
print(np.pi)
っていうpyfileをexefileにしたくてcx_freezeを使ったんだが
0868デフォルトの名無しさん2016/06/19(日) 02:54:49.13ID:akbrVJQo
途中で送信してしまった スマソ

コンパイル環境なら動作するんだが,他の環境だとエラーがでる
ImportError : DLL load failed: 指定されたモジュールが見つかりません

たぶん,mklのせいかなと思ってたりする
だれか解決策をご教授ください

環境 python3.5 anaconda3 cx_freeze5.0
0869デフォルトの名無しさん2016/06/19(日) 03:53:30.03ID:akbrVJQo
連投すいません
事故解決しました
/Anaconda3/Library/binにある
libiomp5md.dll
mkl_def.dll
mkl_core.dll
ビルド後のファイルに入れたら動きました

お騒がせしました
0870デフォルトの名無しさん2016/06/19(日) 07:55:14.78ID:BOku3+hz
>>864
やめとけ
日本は国策でRubyを推進しているから、Rubyが何かやらかして
コケない限り、同じ土俵に立つPythonは普及しない
0871デフォルトの名無しさん2016/06/19(日) 08:29:35.68ID:eutKor4/
>>870
ほんときもいよね

なんとかレールも大庫家だし
0872デフォルトの名無しさん2016/06/19(日) 08:31:41.91ID:eutKor4/
ただボードがらみはさすがの提灯記者さんたちもpython

せめてrubyにかきなおしてやれよ
0873デフォルトの名無しさん2016/06/19(日) 08:35:08.11ID:WYRQAbrA
求人ならペチペやジャヴァの方が良くね?
Pythonの案件なんてあるかなあ?
0874デフォルトの名無しさん2016/06/19(日) 08:39:11.39ID:IkWgEN3M
pythonの中途半端なOOも大概酷いが
rubyなんてさらにロクでもない糞だわ
人によって書き方が違いすぎて読めたもんじゃない
糞仕様すぎうち
0875デフォルトの名無しさん2016/06/19(日) 11:12:30.74ID:FiqN+bVa
そりゃrubyは楽しさを追求した言語だから
見た目も楽しいんだ
コードを読む第三者の目も楽しませてくれる
0876デフォルトの名無しさん2016/06/19(日) 11:21:01.49ID:IkWgEN3M
逝ってよし
0877デフォルトの名無しさん2016/06/19(日) 11:22:50.79ID:BOku3+hz
>>875
字下げ2文字スタイルはPythonに慣れた目にはつらい
駅のトイレに駆け込んだら満員だったみたいな圧迫感
0878デフォルトの名無しさん2016/06/19(日) 11:51:03.84ID:5KvSKdL/
>>854
+と−は引き合うのにどうして陽子のある原子核に電子が落ちないのですか?
0879デフォルトの名無しさん2016/06/19(日) 12:10:06.82ID:eutKor4/
>>877
tabの意味わかってなかったんだろうね

素人が設計したみたいだから
しかたないけど
0880デフォルトの名無しさん2016/06/19(日) 13:03:38.26ID:D+cvxmoX
rubyは看板とは違って驚き最大化の原則なんだよなぁ。
「こんな書き方ができちゃうなんて凄い!楽しい!」とか思う人達には楽しいんだろうが。
0881デフォルトの名無しさん2016/06/19(日) 13:55:19.70ID:oY7TlxuV
>>864
この2冊をこの順に読むと、わかりやすい。
たのしいRuby 第5版、2016
みんなのPython 第3版 (Python 3)

ハローワークでは、Pythonの求人は見ない。
まだRubyの方がマシだけど、あまり多くはない
0882デフォルトの名無しさん2016/06/19(日) 14:22:34.06ID:NRkB597J
レスありがとう
求人の方は二の次で将来Tensorflowやchainer触ってみたいと思ってる
2〜3年後を見越した場合、どのバージョンをインストールすべきか悩んでる
とりあえずWindowsにインストールして慣れたらUbuntuで使う予定

>>870
rubyだとTensorflowやchainerとか使えそうにない
あとperl使ってるからそれで良いかなと思ってみたり

>>873
求人は二の次で
2と3どっちが良いかと思って

>>881
レビューがちょっと酷いけど大丈夫?
www.amazon.co.jp/-/dp/4797371595
0883デフォルトの名無しさん2016/06/19(日) 14:29:36.73ID:IkWgEN3M
>>882
お前のキャリアの方が酷いから安心しろw
0884デフォルトの名無しさん2016/06/19(日) 14:33:15.43ID:WYRQAbrA
有料でもあるまいにとにかく使ってみるという発想は無いのだろうか?w
0885デフォルトの名無しさん2016/06/19(日) 14:35:05.36ID:uAZi1A5C
>>864
>あとは失業した時にとりあえず食いつなげる程度の人気があると嬉しい

>>882
>求人は二の次で

おまえ頭イカれてんな
0886デフォルトの名無しさん2016/06/19(日) 14:37:35.46ID:nAj3LYim
2つの値、例えば A=113670、B=113024
このA-Bの間に500の倍数が含まれているかどうかを判定したい。
上の例だと、A-Bの間に113500が含まれるのでこれを検出したい。
こういう風に判定文を書いたらいいでしょう?
0887デフォルトの名無しさん2016/06/19(日) 14:41:05.13ID:FiqN+bVa
>>885
クソ笑った
0888デフォルトの名無しさん2016/06/19(日) 14:42:32.77ID:FiqN+bVa
>>886
差が500以上なら最低一つは500の倍数あるでしょ
頭働いてる?今日はそんな暑くないやろ
0889デフォルトの名無しさん2016/06/19(日) 14:43:57.38ID:ZUpk0clL
>>886
if A - B >= 500:
0890デフォルトの名無しさん2016/06/19(日) 14:54:34.01ID:oUdzgjZc
例えば
 A=113499、B=113501
のときは
0891デフォルトの名無しさん2016/06/19(日) 14:54:48.78ID:Pvc+naRU
>>886
算数の問題じゃね?
A 以下で最も大きな 500 の倍数 A'(この場合なら 113500)と
B 以上で最も小さい 500 の倍数 B'(この場合なら 113500)を
求めて
B' <= A' なら間に存在するってことでしょ
0892デフォルトの名無しさん2016/06/19(日) 14:55:41.52ID:5KvSKdL/
>>890
if B - A >= 500:
0893デフォルトの名無しさん2016/06/19(日) 15:09:39.26ID:WYRQAbrA
確かに>>886をそのまま読めば>>889になるなw
文章表現って大事だね
0894デフォルトの名無しさん2016/06/19(日) 15:09:54.76ID:AxaSqYGu
B-A>B%500
かな
0895デフォルトの名無しさん2016/06/19(日) 15:11:42.40ID:AxaSqYGu
あ、B-A>=B%500 か
0896デフォルトの名無しさん2016/06/19(日) 15:17:22.69ID:oY7TlxuV
499, 501 の間に、500 があるけど、これはどうやって見つける?
0897デフォルトの名無しさん2016/06/19(日) 15:21:49.65ID:5KvSKdL/
いいかげんスレチ
0898デフォルトの名無しさん2016/06/19(日) 15:21:56.24ID:AxaSqYGu
>>896
剰余って知ってる?

B-A=501-499=2
B%500=501%500=1

2>=1 で真
0899デフォルトの名無しさん2016/06/19(日) 15:22:11.73ID:Pvc+naRU
>>893
>「A-B(の結果)」の間に500の倍数が含まれているかどうか
って解釈したってこと?
間にっ上限と下限が要るからその解釈はかなり無理があるかと
0900デフォルトの名無しさん2016/06/19(日) 15:31:38.64ID:IkWgEN3M
このスレって
ペールお爺さんの転職相談と
うらなり級生徒の宿題スレだったの?
0901デフォルトの名無しさん2016/06/19(日) 15:33:45.28ID:AxaSqYGu
>>900
>>1を読むといいよ
0902デフォルトの名無しさん2016/06/19(日) 15:59:43.31ID:eutKor4/
えげつない本を勧めるなあ

日本で流行らない言語
その日本ローカル本って
0903デフォルトの名無しさん2016/06/19(日) 16:52:27.90ID:NYlsjoHx
読んでない本disるより読んだ本勧めりゃいい

本:Dive Into Python
無料だしそこそこ網羅的

バージョン:3系
大した違いは無いから新しい方にしとけばいいと思う
0904デフォルトの名無しさん2016/06/19(日) 17:51:06.47ID:eutKor4/
>>903
初心者になんかうらみでもある?
0905デフォルトの名無しさん2016/06/19(日) 17:57:37.97ID:NYlsjoHx
>>904
無い
なんでそう思う?
0906デフォルトの名無しさん2016/06/20(月) 01:53:53.48ID:zsm9haOo
>>903
とりあえず3系で始めてみようと思います
また、サイトの紹介もありがとう
0907デフォルトの名無しさん2016/06/20(月) 09:52:02.06ID:/pA3R+07
2次元配列があります
基点から八方向の値が1であるかチェックしたいんですがどうやって書いたらいいですか?
a = [0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]

例えばa[1][1]が基点だとしたら
[0][0],[0][1],[0][2]
[1][0],______,[1][2]
[2][0],[2][1],[2][2]
この8つの位置の値を調べれば良いんですが、
基点が[0][0]とか[0][1]とか[2][4]みたいにリストのはじっこにあるとどうやって書いたらいいのかわかりません
0908デフォルトの名無しさん2016/06/20(月) 10:17:12.46ID:OzxKuD5L
[-1]でリストの最後尾が取れるけどどうかな
0909デフォルトの名無しさん2016/06/20(月) 10:41:22.91ID:jeJ3y39u
泥臭くやれよ、初めは
起点から1引いたものが0を下回らんように判定すりゃいいだろ
起点に1足したものが、サイズを上回らんように判定しろよ
0910デフォルトの名無しさん2016/06/20(月) 12:10:35.65ID:ua80z6oi
どうしてこんなことが分からないんだか分からない
0911デフォルトの名無しさん2016/06/20(月) 12:31:07.02ID:CbWmEDay
地道に書く方法は分かってんでない?
地道には書けるんだけど、(初心者によくある)スマートさが欲しいと。
違うかな?どうかな?
0912デフォルトの名無しさん2016/06/20(月) 12:47:31.33ID:ypkylUCh
初心者の質問にも答えられないくせになに偉そうになこと言ってんだ?
わからんのなら黙ってろやチンカスどもが
0913デフォルトの名無しさん2016/06/20(月) 12:50:42.97ID:SLB3vgI0
一列および一行分のダミーの0データをaに追加すれば、境界か否かの判定を省略できるよ。
-1が末尾を示すから、ダミーデータを参照してくれる。
0914デフォルトの名無しさん2016/06/20(月) 13:02:00.28ID:jwXOgnGt
配列とインデックスを渡したら要素が返る関数を作って、その中で境界チェックすりゃいいだろ
番兵とか使ってロジックを汚すより抽象化しろってのが現代的なやり方
0915デフォルトの名無しさん2016/06/20(月) 13:08:13.83ID:ppvG3ddJ
ゲームのマスなどで使う場合、漏れは番兵を使っている。
元のマス目の上下左右に、1列ずつ追加する。
x なら、移動できない

xxxxx
x000x
x010x
x000x
xxxxx
0916デフォルトの名無しさん2016/06/20(月) 13:12:12.47ID:YDdZ/FtT
その境界チェックの書き方を伺ってるんですけど…
質問を正しく読んで答えていただけてますか?
まあ、現に間違って受け取られたようですから、聞くまでもないんですが(笑)
0917デフォルトの名無しさん2016/06/20(月) 13:19:54.27ID:txdPwvGv
だったら909で答え出てるだろ
お前のレベルを高く見積もりすぎた結果の勘違いなのになんで上から目線なんだ
0918デフォルトの名無しさん2016/06/20(月) 13:26:03.73ID:qnUK8Tck
>>916
だから境界チェックなしに判定できるように行列を追加しようというのが皆さんの回答だと思うんですけど
もしくは普通にインデックスが0〜4の間にあることを毎回愚直に調べるか
0919デフォルトの名無しさん2016/06/20(月) 13:26:48.66ID:1N7ngzZc
>>917
釣りに決まってんだろマヌケ
0920デフォルトの名無しさん2016/06/20(月) 13:29:47.79ID:rcPIVUXE
質問者を装って煽りにくるパターンほんと嫌い
0921デフォルトの名無しさん2016/06/20(月) 13:36:10.76ID:txdPwvGv
今時は番兵みたいに実装の小手先の都合でデータを汚すやり方は嫌われるよね
データより処理のほうが後で弄りやすいから、処理が少々非効率になろうが汚くなろうがなるべくデータに処理の都合は入れない
0922デフォルトの名無しさん2016/06/20(月) 16:16:38.62ID:Tr6fD51d
>>907 = >>916 とは限らんだろ
質問者になりすます輩相手にしてもしょうがない
0923デフォルトの名無しさん2016/06/20(月) 16:22:57.85ID:Vamf9KQF
>>921
マヌケが何か言ってるよ(笑)
ヌケサクアルゴリズムですか?
お前の判断力でも見直してな
0924デフォルトの名無しさん2016/06/20(月) 16:55:23.01ID:6UThxtFh
領域が四角形なら、番兵使わないでも書けるけど、
任意の形状になると、番兵使った方が柔軟に対応できて良いのではないかな?
0925デフォルトの名無しさん2016/06/20(月) 17:06:23.12ID:8bjmKhnp
なんかマインスイーパーっぽいな
0926デフォルトの名無しさん2016/06/20(月) 18:57:56.11ID:EjIgQ1yC
>>907
チェックする位置をa[x][y]としたらxかyがマイナスの時 or a[x][y]がout of rangeのときに
continueでスルーする処理書けばいいだけやで
0927デフォルトの名無しさん2016/06/20(月) 23:07:45.70ID:7e3vwBr4
checkioの問題は自分で解こうね
0928デフォルトの名無しさん2016/06/21(火) 04:21:49.61ID:vMriF4CA
matrix = [
  [1, 2, 3, 4, 5, 6],
  [2, 3, 4, 5, 6, 7],
  [3, 4, 5, 6, 7, 8],
  [4, 5, 6, 7, 8, 9],
  [5, 6, 7, 8, 9, 0],
  [6, 7, 8, 9, 0, 1]
  ]
 
def get_val(row, col):
  if row < 0 or col < 0:
    return '*'
  try:
    return matrix[row][col]
  except:
    return '*'
0929デフォルトの名無しさん2016/06/21(火) 04:23:32.42ID:vMriF4CA
def border(row, col):
  v0 = get_val(row - 1, col - 1) #左上
  v1 = get_val(row - 1, col - 0) #上
  v2 = get_val(row - 1, col + 1) #右上
  v3 = get_val(row - 0, col - 1) #左
  v4 = ' ' #基点
  v5 = get_val(row - 0, col + 1) #右
  v6 = get_val(row + 1, col - 1) #左下
  v7 = get_val(row + 1, col - 0) #下
  v8 = get_val(row + 1, col + 1) #右下
  print("{0} {1} {2}\n{3} {4} {5}\n{6} {7} {8}\n".format(v0, v1, v2, v3, v4, v5, v6, v7, v8))
 
border(1, 1)
border(5, 5)
0930デフォルトの名無しさん2016/06/21(火) 05:07:33.21ID:gYXpVnKp
tryを使えば、短く書けるけど、

そもそもこれはアプリ設計上の論理バグだから、tryで囲むような、エラーではない
0931デフォルトの名無しさん2016/06/21(火) 05:58:23.58ID:bMEVyfY6
おはやうございます
Pillowをインポートしたプログラムをpyinstallerでフローズンバイナリ化したんですが,エラーになります.
.pyのファイルはちゃんと動きます.
windows7 64 bit python2.7
pyinstallerとpillowはpipで入れたので最新版だと思います

【エラー内容】
Traceback (most recent call last):
File "Original\Convert2JPG_3.py", line 10, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\Image.py", line 66, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\_imaging.py", line 7, in <module>
File "PIL\_imaging.py", line 6, in __bootstrap__
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
Failed to execute script Convert2JPG_3

_imaging,pyは実行ファイルを作ると作成されるファイルで,いかが記述されていました.
def __bootstrap__():
global __bootstrap__, __loader__, __file__
import sys, pkg_resources, imp
__file__ = pkg_resources.resource_filename(__name__, '_imaging.pyd')
__loader__ = None; del __bootstrap__, __loader__
imp.load_dynamic(__name__,__file__)
__bootstrap__()


よろすくおながいします(´・ω・`)
0932デフォルトの名無しさん2016/06/21(火) 06:09:02.82ID:TLVP6mSb
>>931
__bootstrap__()の_imaging.pydを読み込むところで失敗したのだと推測
__file__ = の行の前後にtry-except文を付け足してImportErrorを捕捉できるか確かめてみて
0933デフォルトの名無しさん2016/06/21(火) 06:12:22.33ID:bMEVyfY6
>>932
さっそくありがとうございます.
try-except文を使ったこと無いのですが,以下のようにすれば宜しいのでしょうか?

try:
__file__ = pkg_resources.resource_filename(__name__, '_imaging.pyd')
except:
print "unko"
0934デフォルトの名無しさん2016/06/21(火) 06:17:22.05ID:TLVP6mSb
>>933
他の例外を捕まえないようにexcept ImportError:にした方がいい
あと情報引き出せるかもしれないので捕まえた例外オブジェクトをprintしたい
except ImportError as err: print err
0935デフォルトの名無しさん2016/06/21(火) 06:22:00.02ID:bMEVyfY6
>>934
返信ありがとうございます.
やってみましたが,>>931と同じエラーが出るだけでエラーの内容がわかりませんでした.
0936デフォルトの名無しさん2016/06/21(火) 06:26:49.25ID:bMEVyfY6
関係ないかも知れませんが,_imaging.pyだけをpythonで走らせたら以下のエラーが出ました

Traceback (most recent call last):
File "C:\Python27\Scripts\build\Convert2JPG\pillow-3.2.0-py2.7-win-amd64.egg\P
IL\_imaging.py", line 12, in <module>
__bootstrap__()
File "C:\Python27\Scripts\build\Convert2JPG\pillow-3.2.0-py2.7-win-amd64.egg\P
IL\_imaging.py", line 11, in __bootstrap__
imp.load_dynamic(__name__,__file__)
ImportError: dynamic module does not define init function (init__main__)
0937デフォルトの名無しさん2016/06/21(火) 06:35:19.71ID:TLVP6mSb
>>935,936
いや、エラーは_imaging.pydの読み込みに失敗してることが原因だと目星がついた
フローズンバイナリ化してない状態で動くなら_imaging.pydは正常、動かないなら異常があるだろう
0938デフォルトの名無しさん2016/06/21(火) 06:42:16.57ID:bMEVyfY6
>>937
ありがとうございます.
ただちょっと良くわからなくなってきました(´・ω・`)

おおもとのPythonのファイルはフローズンバイナリ化してない状態(.py)だとちゃんと動きます.
フローズンバイナリ化すると>>931のエラーがでます.

_imaging.pyはpythonで動かしても>>936のエラーが出ています.
なおこのファイルは実行ファイル化はしていません.
0939デフォルトの名無しさん2016/06/21(火) 06:53:08.19ID:TLVP6mSb
>>938
それならバイナリ化した実行ファイルが_imaging.pydを探すのに失敗していると思う
試しに_imaging.pydを作った実行ファイルと同じディレクトリに置いて実行してみて

_imaging.pyを実行して失敗するのは_imagingの__name__が"__main__"に変わっているからだろう
実行したモジュールの__name__書き換えは仕様なので_imaging.pyは直接実行を想定してないな
0940デフォルトの名無しさん2016/06/21(火) 07:23:19.42ID:bMEVyfY6
すみませんうんこしてました(´・ω・`)
作った実行ファイルと同じディレクトリに_image.pyと.pycと.pydを全部コピペしたらちょっとエラーの様子が変わりました.

Traceback (most recent call last):
File "Convert2JPG.py", line 10, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\Image.py", line 66, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\_imaging.py", line 7, in <module>
except ImportError as err:
File "PIL\_imaging.py", line 6, in __bootstrap__
__file__ = pkg_resources.resource_filename(__name__, '_imaging.pyd')
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
0941デフォルトの名無しさん2016/06/21(火) 07:32:36.25ID:cH8ioJG/
ともぐいか
0942デフォルトの名無しさん2016/06/21(火) 07:40:24.28ID:TLVP6mSb
>>940
うーんピンとこない、Makespec.pyとBuild.pyを使って全部まとめて1ファイル化する作戦はどうだろう
0943デフォルトの名無しさん2016/06/21(火) 07:44:46.02ID:bMEVyfY6
>>942
朝っぱらからわざわざありがとうございました.
Makespec.pyとBuild.pyはちょっと良くわからないので
少し調べてからまたレスしますね.
(ヽ´ω`)というかお仕事いかなきゃいけないので
0944デフォルトの名無しさん2016/06/21(火) 07:48:43.75ID:TLVP6mSb
https://pythonhosted.org/PyInstaller/spec-files.html
上をチラ見したところ、素の設定で作った実行ファイルは外部のモジュールを探さないみたい
pyi-makespecを実行して実行に必要なファイルを調べ上げる必要があるみたいだ
0945デフォルトの名無しさん2016/06/21(火) 13:44:57.00ID:bMEVyfY6
>>944
http://qiita.com/yasuraok/items/22494e36fa1bbfb515ec
このサイトで書いてあることも関係しそうですかね?
このサイトではMacでやっているようですが・・・

流れ的には
>>944さんの仰るように必要なファイルを探して,その後にspecファイル(上記のサイトに従って)で読み込ませる見たいな感じになるんでしょうか・・・
あとでやってみます.
0946デフォルトの名無しさん2016/06/22(水) 10:47:39.41ID:WY4NwvpY
クラスメソッドで、getterを動的にするため、
def getter(self, arg): return getattr(self, arg)
としたら、
m.getter(name)のようにすると
NameError: name 'name' is not defined
とエラーが出るんだけど
どうしたらいい?
0947デフォルトの名無しさん2016/06/22(水) 11:05:36.51ID:cPBiM+UJ
>>946
すいませんおれ初心者です
一緒に解決したいんですサンプルコード貰えませんか?
0948デフォルトの名無しさん2016/06/22(水) 11:50:46.10ID:bzot/4gT
舐めんな
その前にお前が書いたコードideoneに貼れ
再現できる奴な
0949デフォルトの名無しさん2016/06/22(水) 11:57:05.63ID:yBOVYSwe
20レスくらい読み飛ばしても良い流れになるに100ペロ
0950デフォルトの名無しさん2016/06/22(水) 12:00:46.67ID:4L+LG/Dz
>>946
エラーが出ない
https://ideone.com/5pO0V5

nameが未定義ならNameErrorになるけど、そんなのはメソッドと何の関係もない
0951デフォルトの名無しさん2016/06/22(水) 12:17:40.06ID:2L4hxAA9
>>946
Pythonでいうclassmethodって、@classmethodで定義する奴だけど
その認識は合っているか?
あなたが書いているのはインスタンスメソッドに見えるが
可能なら「どの言語で言うところの」クラスメソッドを意図しているかも教えてくれ
0952デフォルトの名無しさん2016/06/22(水) 12:42:13.57ID:fGzAXq+W
python初心者です。、関数を複数使う場合、データの流れは下から上になるんでしょうか?
ぱっと思いついたので読みにくいコードですいません。
このような流れで、上から下に流すことはできますか?また、それは一般的なことでしょうか?
初歩的な質門で申し訳ないのですが、調べても出てこなくて、ご教授いただけると嬉しいです。

def calc3(num):
num3 = num ** num
print(num3)


def calc2(num):
num2 = num * num
print(num)
calc3(num2)

def calc1(num):
num1 = num + 1
print (num)
calc2(num1)

calc1(2)
0953デフォルトの名無しさん2016/06/22(水) 12:58:47.71ID:jDuUCazS
普通はmain関数を書いて上から下に流す
0954デフォルトの名無しさん2016/06/22(水) 13:38:52.06ID:tv9kEjc6
次です

くだすれPython(超初心者用) その30
http://echo.2ch.net/test/read.cgi/tech/1466569767/
0955デフォルトの名無しさん2016/06/22(水) 14:37:04.49ID:fGzAXq+W
>>953
main関数ってそういう使い方をするんですね
解決しました。ありがとうございました
0956デフォルトの名無しさん2016/06/22(水) 19:50:08.57ID:7Jjhovtc
>>928
おもしろい
例外使うって発想はなかったわ
0957デフォルトの名無しさん2016/06/22(水) 20:24:24.30ID:IY0n16Gr
実際に書いたらクソカス扱いだけどな

>例外的状態にのみ例外を使用する
>通常の制御フローに例外を使用しない

超有名書籍から引用しました
さらに0未満とインデックス範囲外で分けるのは対象性がなくて美しくない
片端を大なり小なりで判定したなら、もう片端も大なり小なりで判定しろ
審美眼とか存在しないのかお前は
0958デフォルトの名無しさん2016/06/22(水) 20:43:07.80ID:qkL5gr67
審美眼うんぬん言う手間があるなら>>955の誤解でも解いてやればいいのに

>>952 のコードが動くか? → 動く。関数の定義順が入れ替わってもok

>>952 の書き方が一般的か? → 一般的では無い
最終行は
if __name__=='__main__': calc1(2)
と書く
理由はimport文でこのモジュールを読み込んだ際に、最後のcalc1(2)が実行されないようにするため
0959デフォルトの名無しさん2016/06/22(水) 20:47:42.16ID:7Jjhovtc
>>957
なんでクソカス扱いなの?
超有名書籍の一部だけ切り取って引用しても説得力ないよ
なんで対称性があって美しくないといけないの?
審美眼www
0960デフォルトの名無しさん2016/06/22(水) 20:49:04.88ID:ofvZVk35
>>958
ちゃんと改行しましょうね
0961デフォルトの名無しさん2016/06/22(水) 20:54:13.42ID:qkL5gr67
>>960
まあ、そうね
0962デフォルトの名無しさん2016/06/22(水) 21:12:43.41ID:y7gXzd/l
>>957って仕事できなそーだな
しかも、年下にすごい偉そうで、年下からは使えない奴だって見透かされてそう
0963デフォルトの名無しさん2016/06/22(水) 21:33:25.97ID:0/EZPEiE
処理を揃えるのは抽象化への観点から考えても良いようには思うが…
0964デフォルトの名無しさん2016/06/22(水) 21:35:40.24ID:V3koZGgU
>>959
それは人が創造性があり美学追求する種だからさ坊や^^
0965デフォルトの名無しさん2016/06/22(水) 21:41:16.22ID:WovEop+Q
質問に回答せず、回答に「クソカス」評価する見苦しさって感じないの?
0966デフォルトの名無しさん2016/06/22(水) 22:24:14.19ID:8WEYlCRn
結局、pythonの@classmethodと@staticmethodって何が違うの?
0967デフォルトの名無しさん2016/06/22(水) 22:39:16.93ID:NB9kokiV
まぁ正直使いみちはあんまりないよな
0968デフォルトの名無しさん2016/06/22(水) 23:10:59.35ID:7Jjhovtc
>>963
ごもっともですがマジレスされると困っちゃうのです
まあこの場合トリッキーなコードを実現するためインデックスが負数だとまずいからでしょう
>>964
バカにするな!!僕チンは妄想性の塊だ!!お前を追求して種付けしてやる!!
0969デフォルトの名無しさん2016/06/22(水) 23:50:23.17ID:LkuDFUcb
>>966
継承時の差
その差をどうやって生かすのかって?
んーとね、わかんない

8年近く書いててもunittest.TestCaseでclassSetUpを書くのに使った記憶しかない
0970デフォルトの名無しさん2016/06/22(水) 23:56:10.20ID:LkuDFUcb
インスタンスメソッドが継承できるのに
スタティックメソッドが継承できない
その非対称性が気に入らないって理由で追加された

…なんてことはあるまいが
メーリングリスト漁ったら書いてあるかもね、理由
夏休みの自由研究に探してみる?
0971デフォルトの名無しさん2016/06/23(木) 00:14:22.64ID:TXzyvG6Q
ORマッパーなんかでクラス=テーブル、インスタンス=レコードの見立てをしてるやつは、基底クラスにテーブル操作のためのクラスメソッド使ってるよね
スタティックメソッドは・・・何に使ってるんだろ?
0972デフォルトの名無しさん2016/06/23(木) 00:23:40.35ID:d22W27L3
とりま全部@classmethodにすればおkってこと?
0973デフォルトの名無しさん2016/06/23(木) 00:37:09.79ID:2/aHKLQO
Class methods are passed the calling class, static methods aren't.
0974デフォルトの名無しさん2016/06/23(木) 00:44:42.74ID:I3dr80e2
Class内のインスタンスプロパティのキーと値を全て取得する方法ってなかったっけ?
以前__class__とか使ってた気がするけど忘れた

class hage(object):
def __init__(self, name, age):
self.name = name
self.age = age
a = hage("Tarou", 12)

とかのコードがあって、{"name": "Tarou", "age": 12}のような感じで返したいんだけど
0975デフォルトの名無しさん2016/06/23(木) 00:46:40.60ID:d22W27L3
12歳でハゲさせられた太郎氏カワイソス(´・ω・)
0976デフォルトの名無しさん2016/06/23(木) 00:48:22.00ID:gZ3R/FkP
>>974
ホラヨゥ!
ttp://docs.python.jp/3/library/stdtypes.html#special-attributes
0977デフォルトの名無しさん2016/06/23(木) 01:06:31.71ID:I3dr80e2
>>975
ワラタw

>>976
あ、そうだった
__dict__だった
サンクス
0978デフォルトの名無しさん2016/06/23(木) 09:12:17.04ID:OHzt3FwC
くだすれPython(超初心者用) その30
http://echo.2ch.net/test/read.cgi/tech/1466569767/
0979デフォルトの名無しさん2016/06/23(木) 11:25:44.82ID:332nxUAD
>>966
引数

>>969
超初心者に嘘教えるな
0980デフォルトの名無しさん2016/06/23(木) 14:24:38.35ID:WHONV8a+
Python3で、
def foo(): return u
0981デフォルトの名無しさん2016/06/23(木) 14:27:36.47ID:WHONV8a+
Python3で、
def foo(): return u'Hello'
print(foo())
は普通にHelloと出力されるけど、

def expression(func):
# f = func
return u'{0} \n{1} \n{2}'.format(u'apple', func, u'banana.')

@expression
def message(): return u'orange'

だとTypeError: 'str' object is not callableが出るんだけど
これどこが悪いのか教えてくれない?
0982デフォルトの名無しさん2016/06/23(木) 14:28:55.29ID:O6DvkpvP
>>966
上から順によくまとまってると思うサイト
http://jutememo.blogspot.jp/2008/09/python-classmethod-staticmethod.html
http://www.lifewithpython.com/2014/02/python-difference-between-staticmethod-and-classmethod.html
http://yuku-tech.hatenablog.com/entry/20100328/1269774244
http://mojix.org/2012/07/21/python-staticmethod
0983デフォルトの名無しさん2016/06/23(木) 14:30:46.61ID:O6DvkpvP
>>981
君の頭が悪い
0984デフォルトの名無しさん2016/06/23(木) 14:32:58.95ID:SmyboeHH
>>981
def expression(func):
return lambda: u'{0} \n{1} \n{2}'.format(u'apple', func(), u'banana.')
0985デフォルトの名無しさん2016/06/23(木) 15:12:38.48ID:WHONV8a+
>>984
なるほど、ありがと
でも何でlambda式使わないといけないの?
0986デフォルトの名無しさん2016/06/23(木) 15:49:23.48ID:x8Tq2OJc
文字列は、callableオブジェクトじゃないのだろう

@expression はよく知らないけど、こういうアノーテーションを付けるのが、良くないのかも

よく知らないけど、Rubyでは、callableは、Proc, lambda, block など、
コード・処理を、後で呼ぶために、持ち運びできるように、まとめたもの
0987デフォルトの名無しさん2016/06/23(木) 15:53:06.87ID:SmyboeHH
>>984
凸れーた(の定義)は函数を返す必要がある
0988デフォルトの名無しさん2016/06/23(木) 15:56:26.50ID:O6DvkpvP
>>986
超初心者に嘘を教えるなっつの
0989デフォルトの名無しさん2016/06/23(木) 15:57:57.12ID:p90DXoh9
>>986
知らないなら回答しないでください。
うざいだけです。
0990デフォルトの名無しさん2016/06/23(木) 15:58:21.53ID:O6DvkpvP
くだすれPython(超初心者用) その30
http://echo.2ch.net/test/read.cgi/tech/1466569767/
0991デフォルトの名無しさん2016/06/23(木) 15:59:26.16ID:rRWn9u3y
>>985
そもそもデコレータはcallableを返さなければならないという仕様
頭悪いって言われたのは仕様も読まずに使ってるからでしょう

あとアホで出しゃばりで知ったかぶりのrubyistが何か囀ってますが、これは目に入れる必要なし
0992デフォルトの名無しさん2016/06/23(木) 21:18:35.27ID:d22W27L3
とりま全部@classmethodにすればチョベリグなんですか? アンサープリーズメーン
0993デフォルトの名無しさん2016/06/23(木) 21:29:24.29ID:tUUAKy7L
クラスじゃなくてモジュールに関数定義でよし
それで不都合を感じたときに改めて考えるくらいでいいよ
0994デフォルトの名無しさん2016/06/23(木) 21:33:20.55ID:TXzyvG6Q
まあクラスにインスタンス不要なユーティリティ関数をオマケで付けたいときにスタティックメソッド使うかな
0995デフォルトの名無しさん2016/06/23(木) 21:33:36.21ID:d22W27L3
>>993
Pythonではインタスンスのことは考えなくていいってこと?
0996デフォルトの名無しさん2016/06/23(木) 21:34:24.69ID:d22W27L3
>>994
それはOOOPの思想に違反していると、僕は思うな
0997デフォルトの名無しさん2016/06/23(木) 21:36:04.17ID:TXzyvG6Q
>>996
わかる
正しいと思う
0998デフォルトの名無しさん2016/06/23(木) 21:40:28.02ID:d22W27L3
>>997
         l;;llllll||lll从从WWWl||ll,,ツ从ツツノlイノ'彡ヽ
         イ从、从从从从从ll|| |リ从////ノノ彡;j
        jl从从从从;;;;;;;;;;;;从;;;;;/;;;;;;;;;、、、;;-ー、イ彡:}
       (ミミ;;ッ''"゙ ̄ '、::::゙`゙''ー、/"´:::  :::: |;;;;;彡|
        }ミミ;;;} :::  {:: ゙:::::、:::    :::ィ ,,:::: };;;;イ;;l
        jミミ;;;;} :::  ヽ::::ミヽ::  |  ノ  W::  |;;;;彡:|
          }ミ;;;;;;} ::: ヾ {:::::ミ ヽ j イ|从 ":::: };;;;;;彡{
         iミ゙;;;ノ::::::  \'、 }}: l||イ /,ィ;;、、-ーーヾ'ァ;;イ、
        {;;;;リ:レ彡"三三ミヽ,,リ{{,,ノ;;;;ィ≦==ミ'" |;;〉l.|
        l"';;;l ゙'''<<~(::) >>::)-ら::ィ'ー゙-゙,,彡゙  .:|;l"lリ
          |l ';;', ::: ー` ̄:::::::ミ}゙'~}彡ィ""´   .:::lリノ/
         l'、〈;', :::    :::::::t、,j iノ:::、::..    ..::::lー'/
   ,、,,,/|  ヽヽ,,', ::.、    :::::(゙゙(  ),、)、ヽ::.  イ ::::l_ノ
)ヽ"´   ''''"レl_ヽ,,,', ヾ'ー、:::;r'"`' ゙'';;""  ゙l|  ::j ::: |: l,,,,
         ゙''(,l ', l| リ {"ィr''''' ーー''ijツヽ  l| :" l  |',`ヽ,
   き 利    (l :'、 `',. 'l| |;;゙゙゙゙"""´ー、;;| ノ:  / /リヽ \
.    く  い    Z::::ヽ '、 ゙'t;ヽ ` ´ ノ;;リ   ,r' //  |
   な. た     >; :::ヽ  ::ヽミニニニ彡'"  , '::::://  |
   ┃ ふ     フヽ ::\ : ミー―― "ノ , ':::: //:   |
   ┃ う      }ヽヽ :::::\::( ̄ ̄ ̄ /:::://:    |
   ┃ な     }| ヽヽ :::::`'-、竺;;ニィ'::://    |    l
   // 口    (: |  ヽ ヽ :::: ::::::...  :://     |    |
)  ・・.  を    (  |  ヽ ヽ::  ::::::... //      リ.    |
つ、       r、{  |   ヽ ヽ   //      /     |
  ヽ      '´    |   ヽ  ヽ //      /     |
0999デフォルトの名無しさん2016/06/23(木) 21:41:47.67ID:fg4AG+yt
馬鹿はRubyでOOOOPでもやっとけ
1000デフォルトの名無しさん2016/06/23(木) 21:42:10.40ID:TXzyvG6Q
>>998
おっさんダレだよ?
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 126日 9時間 8分 48秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。