15/09/04 07:09:43.39 x7fRT8f0.net
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
| i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
|( ´∀`) < きのこ のこーのこ げんきのこ ♪
|(ノ |つ
| |
⊂ _ ノ
""U
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
(´∀` )| < エリンギ まいたけ ブナシメジ ♪
⊂| (ノ |
| |
ヽ _ ⊃
.U""
|
| ミ
| ミ サッ!
| ミ
|
3:デフォルトの名無しさん
15/09/04 07:10:37.53 x7fRT8f0.net
┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
4:デフォルトの名無しさん
15/09/04 10:18:55.12 efXmgHpK.net
ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
5:デフォルトの名無しさん
15/09/04 20:27:20.54 x7fRT8f0.net
君ら初心者いじめるの好きだねw
6:デフォルトの名無しさん
15/09/05 05:28:45.51 ZKXW4+L0.net
辛辣な人・意地悪な人多いよね
日本じゃマイナーな言語なのに
その中で知識を誇っても虚しいだけだ
7:デフォルトの名無しさん
15/09/05 05:45:34.94 xb8mS1yp.net
で
>>973 は
どうすればよかった?
8:デフォルトの名無しさん
15/09/05 07:07:24.04 SHK8Doz8.net
前スレ984に書かれてる対処方法でFA
9:デフォルトの名無しさん
15/09/05 09:14:00.49 DTTTMVx9.net
numpy.splitの逆をやるルーチンってないですか?
ndarrayのリストを渡して任意のaxisで結合してほしい。
10:デフォルトの名無しさん
15/09/05 11:25:39.64 yNAOhLZf.net
numpy.stack系関数かな
11:デフォルトの名無しさん
15/09/06 08:28:38.97 0LRHIEGw.net
バイナリデータを読み込み、指定したバイト区間ごとに区切って
リストやタプルに格納する方法を知りたい
Cの構造体定義みたいな感じで指定できると嬉しい
12:デフォルトの名無しさん
15/09/06 08:45:32.50 rNg8wlTp.net
>>11
struct.unpack()
struct.pack()
でできるのでは。
13:デフォルトの名無しさん
15/09/06 09:22:56.63 2A7JkPdq.net
>>> import struct
>>> a='\x01\x02\x03\x04\x05\x06\x07\x08'
>>> a
'\x01\x02\x03\x04\x05\x06\x07\x08'
>>> struct.unpack('8c', a)
('\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08')
>>> struct.unpack('2i', a)
(67305985, 134678021)
>>> struct.unpack('i4c', a)
(67305985, '\x05', '\x06', '\x07', '\x08')
>>> map(hex, struct.unpack('2i', a))
['0x4030201', '0x8070605']
14:デフォルトの名無しさん
15/09/06 09:32:31.32 2A7JkPdq.net
>>> map(hex, struct.unpack('4h', '\x01\x02\x03\x04\x05\x06\x07\x08'))
['0x201', '0x403', '0x605', '0x807']
>>> map(hex, struct.unpack('i2h', '\x01\x02\x03\x04\x05\x06\x07\x08'))
['0x4030201', '0x605', '0x807']
>>> map(hex, struct.unpack('hhhh', '\x01\x02\x03\x04\x05\x06\x07\x08'))
['0x201', '0x403', '0x605', '0x807']
>>> map(hex, struct.unpack('hih', '\x01\x02\x03\x04\x05\x06\x07\x08'))
struct.error: unpack requires a string argument of length 10
>>> map(hex, struct.unpack('hih', '\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a'))
['0x201', '0x8070605', '0xa09']
15:デフォルトの名無しさん
15/09/07 21:32:31.39 4CGTGSEX.net
失礼いたします。
Webスクレイピングをしたいと思ってPython2.7をインストールし、次のサイト通りに試したんですが、
text_content属性がないとのエラーが起こるので、対処方法を教えていただけると嬉しいです。
URLリンク(qiita.com)
(ちょうど最下のコメントと同じ状況です)
もう一つ、cssselectorの代わりにXPathを使う方法も試したのですが、
出力結果が"[]"だったのでこっちも失敗してしまったようです。
ソース:print root.xpath('//*[@id=news_body]')
一応、ターゲットのHTMLソースも確認してみましたが、
記述したCSSセレクタが間違っているということもなさそうです。
以下はpip freezeで調べたパッケージのバージョン情報のコピーです。
cssselect==0.9.1
lxml==3.4.4
requests==2.7.0
16:デフォルトの名無しさん
15/09/07 22:04:59.68 9ljv166A.net
なんでそこで聞かないの?コメント欄あるでしょ?
17:デフォルトの名無しさん
15/09/07 22:27:39.09 M58p8v+F.net
その記事の頃とサイトの構造が変わったんだろう。
サイトの構造の変化を調べて動くように直すだけ。
その手間が嫌なら(あるいは自力で解決できないなら)
スクレイピングなんてやるべきじゃない。
18:デフォルトの名無しさん
15/09/07 22:28:21.93 LXZrJgTO.net
>>15
エラーは例外
XPathはchromeで抽出できるんだから勝手にやればいい
19:15
15/09/08 00:22:09.29 LVYNmHjh.net
>>16
レスにも含んでますが、同じ内容のコメントが数カ月前にあります。
>>17
これも最初に書いた通りですが、一応再確認してきました。
セレクタは#news_body > pで間違いありません。
>>18
あ、chromeで抽出して気づいたんですが、
XPathの方はidを二重引用符で囲んでなかったのが原因みたいです。失礼しました。
っていうかcssselect('body')でもxpath('//*')でも結果は同じなんですが、
このチュートリアルは正しいんですか?
20:デフォルトの名無しさん
15/09/08 01:36:04.31 WpGjOpsu.net
CSSセレクタでは、#はidを、> は子要素を表すので、
#news_body > p で、
<div class="maintext" id="news_body">タグの子要素の<p>タグを表す
text_content()メソッドは、
そのタグ以下にある、すべてのテキストを取得するから、
root.cssselect('#news_body > p').text_content()
<id="news_body">タグの子要素の<p>タグの、テキストを取得する
このソースコードは、そのサイトを書いた時点では、
正しく動作していたが、その後、
URL(テレ朝)のHTMLの内容が変わったのだろう
IEの開発者ツール(F12を押す)などで、
使われているタグを確かめながら、デバッグするべし。
それとHTML, CSSの基礎も勉強した方がよい
21:15
15/09/08 02:06:30.22 LVYNmHjh.net
>>20
22: CSSセレクタも開発者ツールから該当する要素のを引っ張ってきたんですが、 これって「#news_body > p」で示されているテキストですよね? <div class="maintext" id="news_body"> <p> 安倍総理大臣は国会で、(略) </p> </div> (09/08現在のテレ朝の記事から抜粋)
23:デフォルトの名無しさん
15/09/08 02:26:01.65 WpGjOpsu.net
root.cssselect('#news_body > p').text_content()
これで取得できないの?
print文で、内容を見てみたら?
どの命令文でおかしくなるのか、
すべての文を、printしていくなど、
地道に順番に、デバッグしていくしかない
24:デフォルトの名無しさん
15/09/08 02:54:38.44 G+naPLuH.net
>>21
"'list' object has no attribute 'text_content'"
っていうことは「リストオブジェクトにはtext_contentなんてメソッドはないよ」ってことだよね
print(type(root.cssselect('#news_body > p')))
してみると確かに
<type 'list'>
ってなってる
print(root.cssselect('#news_body > p'))
してみると
[<Element p at 0x101baeaf8>]
ってなってて、リストの中にlxmlのオブジェクトがひとつ入ってる
一方ネットで見かけたtext_contextの使用例をそのまま使わせてもらうけど
>>> p = lxml.html.fromstring(u'<p>はじめ<strong>注意</strong>おわり</p>')
>>> print p.text_content()
はじめ注意おわり
>>> print(type(p))
<class 'lxml.html.HtmlElement'>
>>> print(p)
<Element p at 0x10156b4c8>
この違いの原因をどこに見つけるかだよね
25:15
15/09/08 03:03:56.29 LVYNmHjh.net
obj = root
for attr in dir(obj):
if callable(getattr(obj, str(attr))):
print attr
ダンプ代わりにこれで最初に調べたときは、rootそのものはtext_contentを持ってますが、
root.cssselect(...)やroot.xpath(...)にはcountとかinsertとか一見配列のプロトタイプっぽいメソッドしかありませんでした。
rootも含めて、どれもprintすると<Element at なんたら>と表示されるのでエラーではなさそう……と悩んでいたんですが、
今さっき、それに[]が付いてたり付いてなかったりするのに気が付きました。
最初は飾りだと思って意識していなかったんですが、きっとリスト?を表す記号ですね。
root.cssselect('#news_body > p')[0].text_content() だと成功しました。
となるとやはりサンプルソースの書き間違いだったようです。
26:デフォルトの名無しさん
15/09/08 03:23:05.25 WpGjOpsu.net
ああ、そういうことか、
list は、複数のオブジェクト(コンテナ)だから、
[0]で最初の要素を取れる
for で、全要素にもアクセスできる
27:デフォルトの名無しさん
15/09/08 03:55:50.81 haPw6oSa.net
sshでリモートマシンにログインして
pyhton main.py
で実行しているのですが、sshでの接続が切れるとpythonスクリプト自体も止まってしまいます
これを回避する方法は無いのでしょうか
28:デフォルトの名無しさん
15/09/08 05:10:52.55 WpGjOpsu.net
端末から起動したシェルスクリプトでも、
その端末を終了したら、そのシェルスクリプトも終了する
それは、端末が親プロセスになっていて、
端末から起動したシェルスクリプトが子プロセスだから、
親プロセスが終了すると、子プロセスも終了してしまう
つまり、親亀こけたら、子亀もこける
たぶん、それと同じで、sshが親プロセスで、
そこから起動したパイソンスクリプトが、
子プロセスになっているのだろう
sshにプロセス間の親子関係を切る、
オプションは無いかね?
29:デフォルトの名無しさん
15/09/08 06:27:30.26 uyQlx19r.net
>>26
$ nohup python main.py &
って実行するのが一番手っ取り早い方法かな。
処理に時間がかか�
30:驍ゥら実行しといてログアウトしたいだけで、 サーバみたいに常時起動しときたいわけじゃないよね?
31:デフォルトの名無しさん
15/09/08 08:36:07.19 LW57ufqa.net
tmuxとかscreenとかの仮想端末使うって手もある
32:デフォルトの名無しさん
15/09/08 22:10:29.11 QvAVInF0.net
urllib.request.urlopenにtimeoutを指定しても効かないんですが何故ですか?
33:デフォルトの名無しさん
15/09/08 22:40:41.81 XiTHgORh.net
手元ではtimeout利いてるけど
・環境の問題
・コードの問題
・君の問題
さあどれだ
34:デフォルトの名無しさん
15/09/08 23:32:13.22 UfRS9P/L.net
requestsを使う
35:デフォルトの名無しさん
15/09/09 07:24:03.26 WpKwoiR8.net
おれいっつもatコマンド使ってたわ
36:デフォルトの名無しさん
15/09/09 08:04:42.08 kfehcr7u.net
>>32
正解
pythonで最も覚える価値がないのがurlopenと一連のハンドラ
唯一認められる価値は
下手くそな抽象化がどれだけユーザビリティを損ねるかという教材になる、その一点だけ
37:デフォルトの名無しさん
15/09/09 13:31:50.70 n+TAyw9X.net
sqlite3にjsonの値をそのまま入れて使いたいのですが
クォートとかもそのまま入れるのに、どのような処理を入れたら良いでしょうか
keyとjson文字列のテーブルを作って使いたいと思っています。
38:デフォルトの名無しさん
15/09/09 13:48:05.45 cLSarNth.net
そのままjson形式で保存すればいいけど何が問題あるの?
39:デフォルトの名無しさん
15/09/09 14:05:57.50 9XF7xRTw.net
>>28
ありがとうございます!nohupかなりいいです
pythonだけじゃなくてlinux/unix系の勉強もしていこうと思います
40:デフォルトの名無しさん
15/09/09 14:28:09.61 kfehcr7u.net
>>35
まさかクエリの組み立てでどうエスケープするか聞いているのか?
それなら手作業でやるな
プレースホルダ使え
というかkey-valueならshelve使えば?
dictと互換だから下手な考え起こさなくて済むし
41:デフォルトの名無しさん
15/09/09 17:10:08.25 n+TAyw9X.net
>>38
はいエスケープさせたいのですが、華麗にやる方法はないかと思いききました。
sqlite3よりshelveのほうが便利ですか?2.7で標準なら使ってみようかと思います。
テーブル作成とかも必要なさそうですし
42:デフォルトの名無しさん
15/09/09 17:12:53.82 n+TAyw9X.net
ん?もしかしてshelveならエスケープする必要もない?
43:デフォルトの名無しさん
15/09/09 18:31:31.79 z0dYPSvJ.net
shelveすばらしい
44:デフォルトの名無しさん
15/09/09 18:51:47.12 kfehcr7u.net
エスケープの必要どころか
pickleできる型なら何を突っ込んでもいい
45:デフォルトの名無しさん
15/09/09 22:23:26.23 pI2H1r76.net
テキストファイルを一行ずつ読み
改行のみの行を判定するコードを書いています
ifの条件部分の line[0] っていうのがやや泥臭く感じるんですけど
望ましい書き方があるなら教えてください
with open('fileread.txt','r') as f:
for line in f:
if line[0] == '\n':
print('改行のみ')
else:
print(line)
46:デフォルトの名無しさん
15/09/09 22:34:07.87 gU9sAx8f.net
こっちの方が良いんでない?
with open('fileread.txt') as f:
for line in f:
line = line.strip()
if not line:
print('空行です。')
else:
print(line)
47:デフォルトの名無しさん
15/09/10 02:47:46.05 OdK7pfyp.net
あくまで'¥n'を使うとしても
line == '¥n'でいいように見える
48:デフォルトの名無しさん
15/09/10 05:48:45.58 nqOdWtep.net
ありがとうございます
聞いて良かった
自己流は恐い
49:デフォルトの名無しさん
15/09/10 20:22:09.14 KmumwdfO.net
失礼します.
YosemiteでJupyterというのを入れたのですが、
線とか円とかテキスト程度の簡単な2Dをやるモジュール
(独立ウィンドウがた立ち上がるのではなくブラウザ内に出るような)
があれば使いたいのですがデフォルトで何が入ってるのかわからず
ivisualやmatplotlibもオーバースペックなので何かよいのがあれば
教えていただけないでしょうか。
50:デフォルトの名無しさん
15/09/10 21:37:03.46 VH/iB+Cq.net
processing使えば?
51:デフォルトの名無しさん
15/09/10 22:25:58.69 t/qMnqiP.net
tkinterでいいんじゃない?
標準で付いてくるし
52:デフォルトの名無しさん
15/09/11 00:07:02.78 VUYanu//.net
ありがとうございます.
Tkintetはブラウザ内にブラウザのセルとおなじようにたてつづけに出力できるのでしょうか。
53:デフォルトの名無しさん
15/09/11 00:32:52.66 7w0dDVba.net
tkinterなら、turtle モジュールで、亀で遊べる
54:デフォルトの名無しさん
15/09/11 01:10:41.50 lS37PnBX.net
>>50
tkinterをJupyterでブラウザ内に埋め込むとか聞いたことないなあ。
turtleの描画を埋め込むのはやってる人いるみたいだけど機能を拡張したIPython使ってるみたいだからあなたには敷居が高いんじゃないかな。
俺も前同じこと調べかけて放置してたんで改めて調べたけど、Pythonで気軽に使える2Dグラフィックスライブラリって意外にないね。JupyterのセルでJavaScriptも使えたらprocessing.jsとか使えるんだけど。
目的は何かな?グラフとかを描画するんだったらオーバースペックとか言わずmatplotlib使うのが一番いいんだけど。
jupyterにとってmatplotlibは不可分の一部と言っていいような存在だし、もちろんブラウザ内で表示できるしね。
いちおう図形の描画もできるみたいよ。テキストの描画は厳しそうだけど。
URLリンク(matplotlib.org)
55:デフォルトの名無しさん
15/09/11 01:18:21.77 WbJ+VPpl.net
標準入出力を用いた独自のコンソールを持つソフトを、pythonのスクリプトから制御するにはどうすればいいのでしょうか?
例(標準入出力で制御する必要がありませんが)
mysqlを起動し、mysqlのコンソールでshow databases;コマンドを実行したい
自分の考えたコード
>import commands
>return = commands.getoutput("mysql -u aaa -p bbb")・・・・ちゃんと起動する
>return = commands.getoutput("show databases;")・・・・上手くいかない!
56:デフォルトの名無しさん
15/09/11 02:31:50.28 KoJW2sNo.net
標準入力をパイプしてコマンドをbytesで流し込む
>>> import subprocess
>>> args = ['mysql', '-u', 'aaa', '-p', 'bbb']
>>> proc = subprocess.Popen(args, stdin=subprocess.PIPE)
>>> proc.communicate(b'show database;')
>>> proc.returncode
57:デフォルトの名無しさん
15/09/11 03:48:03.80 WbJ+VPpl.net
>>54
ありがとうございます
何時間も分からなくて困っていたので本当に助かりました
58:デフォルトの名無しさん
15/09/11 12:59:26.56 +0sGE2Zy.net
list1 = [
{"b":1},
{"c":3},
{"a":2},
]
これを数字で昇順にソートする方法を教えてください
59:デフォルトの名無しさん
15/09/11 13:07:18.29 Eesd1ubK.net
python2
list1.sort(key=lambda d:d.values()[0])
python3
list1.sort(key=lambda d:list(d.values())[0])
60:デフォルトの名無しさん
15/09/11 20:27:40.65 KFEb2g7z.net
hoge.shape=(3, x, y, z)
という4次元numpy.arrayから
要素数3の1次元numpy.arrayのlistを内包表記で得るには、
どうしたらいいのでしょうか?
61:デフォルトの名無しさん
15/09/11 22:55:06.94 VUYanu//.net
>jupyterにとってmatplotlibは不可分の一部と言っていいような存在だし、もちろんブラウザ内で表示できるしね。
有難うございます。ちょっとやってみます。
62:デフォルトの名無しさん
15/09/12 00:38:03.31 Y0QkDcDu.net
2次元のリスト内包表記なら、
vec = [[1,2,3],[4,5,6]]
res = [num for elem in vec for num in elem]
print(res)
#=> [1, 2, 3, 4, 5, 6]
[num (for elem in vec) (for num in elem)]
まず最初の( )が実行されて、
次に次の( )が実行されて、それが先頭のnumに入る
63:デフォルトの名無しさん
15/09/12 09:33:30.79 ZU+GZSdr.net
Python3ってsortメソッド無くならなかったっけ?
>>57
64:デフォルトの名無しさん
15/09/12 09:35:13.10 ypYaVLmK.net
は?(威圧)
65:デフォルトの名無しさん
15/09/12 09:53:07.89 Y0QkDcDu.net
vec = [[1,'a','b','c'],[2,'x','y','z']]
not_num = [elem[1:] for elem in vec]
print(not_num)
#=> [['a', 'b', 'c'], ['x', 'y', 'z']]
elem[1:]は、インデックス1~最後の要素までを、取り出す
ちなみに質問とは関係ないが、
Pythonには、インデックス0以外の要素を取り出す、
elem[not 0]のような表記はあるのか?
66:デフォルトの名無しさん
15/09/12 09:55:20.42 J6pfiWXJ.net
>>60
>>> import numpy as np
>>> a = np.mgrid[0:4,0:5,0:6]
>>> a.shape
(3,4,5,6)
>>> b = [x for z in a for y in z for x in y]
>>> len(b)
60
>>> b[0].shape
(6,)
となりまして、望む結果は得られませんでした。
67:デフォルトの名無しさん
15/09/12 10:06:26.07 J6pfiWXJ.net
>>> b.shape
(3,4,5,6)
>>> b = [a[:,i,j,k] for i in range(a.shape[1]) for j in range(a.shape[2]) for k in range(a.shape[3]) ]
これでとりあえず望んだ結果が得られました。
これと等価な結果が得られるコードをもっとシンプルで高速に書けませんか?
68:デフォルトの名無しさん
15/09/12 16:04:27.55 EVegchqE.net
>>65
list(a.transpose(1,2,3,0).reshape(a.strides[1],a.shape[0]))
これで良いと思うけど内包表記じゃないといかんの?
69:デフォルトの名無しさん
15/09/12 22:44:40.18 J6pfiWXJ.net
>>66
実際は
b = [ myfunc(a[:,i,j,k]) for i in range(a.shape[1]) for j in range(a.shape[2]) for k in range(a.shape[3])]
という処理をやりたいんです。
次にようなループはpythonでは遅いと評判ですので、
内包表記だと速いと聞いて試したいと考えています。
for k in range(a.shape[3]):
for j in range(a.shape[2]):
for i in range(a.shape[1]):
b.append(myfunc(a[:,i,j,k]))
70:デフォルトの名無しさん
15/09/12 22:54:47.78 ypYaVLmK.net
普通は内包表記なんかよりvectorizeを使うと思う
71:デフォルトの名無しさん
15/09/12 23:46:18.84 EVegchqE.net
>>67
内包表記のが速いといっても多少効率的なくらいです
素直にnumpyに用意されている物を使いましょう
…ところでそれだと順序が違うんですが…たぶんこの辺のどちらか?
b = np.apply_along_axis(myfunc, 1, a.T.reshape(-1, a.shape[0]))
b = np.apply_along_axis(myfunc, 1, np.rollaxis(a, 0, a.ndim).reshape(-1, a.shape[0]))
72:デフォルトの名無しさん
15/09/13 00:11:21.34 3BsRFwaL.net
内包表記では、List.append()の、
呼び出しコストを、軽減できる
73:デフォルトの名無しさん
15/09/13 00:21:30.45 gbWUhzZU.net
forも内包も所詮スクリプト言語の速度範疇だし俺はあんまり気にしないな
行数増えるのが嫌なときはとことん内包で書くぐらいで、
そもそも内包で事足りるぐらいの処理ならforでもあんま変わらないし
それに比べてnumpyはそれこそ処理の桁が2~4個違う
ユニバーサル関数とかでちゃんと書ければの話だけど、難しいよね…まだ慣れなくてささっと書けない
74:デフォルトの名無しさん
2015/09/
75:13(日) 00:53:31.30 ID:tUSkN1m6.net
76:デフォルトの名無しさん
15/09/13 00:53:55.70 0P9tp9Bt.net
>>69
ありがとうございます。
b = np.apply_along_axis(myfunc, 1, a.T.reshape(-1, a.shape[0]))
これを使うのが妥当そうですね。
np.apply_along_axisの存在は知りませんでした。
.Tと.reshapeの組み合わせもまったく考えてませんでした。
あとはargsの扱いがわかればいろいろできそうです。
ありがとうございました。
77:デフォルトの名無しさん
15/09/13 01:27:57.78 gbWUhzZU.net
自分使ってますよ
バージョン2と古いけど
78:デフォルトの名無しさん
15/09/13 11:25:09.70 8QNbCh1F.net
pycharmって使いやすいの?
79:デフォルトの名無しさん
15/09/13 12:31:02.93 wQ68FTxr.net
Python3.5のWindows版はコンパイラがVC++2015なのね
2010からずいぶん飛んだな
80:デフォルトの名無しさん
15/09/13 14:37:01.47 PRQtmn5E.net
numpyのitemsizeがイマイチわかりません
なんで値が1つしか含まれないで8バイトを返すんですか?
from numpy import arange
a = arange(1).reshape(1, 1)
print(a.itemsize)
81:デフォルトの名無しさん
15/09/13 14:53:19.49 +IlipKsH.net
エラーが起きた箇所のソースコードのパスを確認する方法ありませんか?
82:デフォルトの名無しさん
15/09/13 15:43:23.53 wQ68FTxr.net
>>77
そのnumpyarrayの要素の型が8バイトなのでは(int64とか)
書いてて思ったけど、きみ、itemsizeの意味を勘違いしてないか?
>>78
お前のプログラムに書いてあるtry~exceptを全部外せ
83:デフォルトの名無しさん
15/09/13 16:30:01.00 tUSkN1m6.net
>>75
・メソッド書く時にselfを自動で書いてくれる
・docstringにsphinx形式のコメント入れとくと、型を推論して、「.」後に候補出してくれたり、型のミスマッチで警告出しくれたり
・virtualenv対応
でも重い
84:デフォルトの名無しさん
15/09/13 16:51:27.34 7OO4CwOO.net
>・docstringにsphinx形式のコメント入れとくと、型を推論して、「.」後に候補出してくれたり、型のミスマッチで警告出しくれたり
これは確かに便利。他のIDEでもあるのかもしれないけど
おかげでdocstringやannotationちゃんと書く癖がついた
85:デフォルトの名無しさん
15/09/13 21:24:08.38 gbWUhzZU.net
numpyって型指定しないとint64かfloat64になるよ
86:デフォルトの名無しさん
15/09/14 07:26:20.71 FgrvG3+J.net
3.5はXP不可か。。。
87:デフォルトの名無しさん
15/09/14 07:31:56.77 tOm8GBtx.net
oh goodnews!
ドザーと言うだけでアレなのに
XPなんて救済しようがないもんね
88:デフォルトの名無しさん
15/09/14 07:45:37.19 pXK5pJDJ.net
XP不可は困る
まだまだ使うんだ
89:デフォルトの名無しさん
15/09/14 08:09:20.42 tOm8GBtx.net
2015にもプラットフォームツールセットv140_xpがあるのにxp対応しないってことは
90:デフォルトの名無しさん
15/09/14 08:28:56.52 tOm8GBtx.net
* いい加減に死ね貧乏人という意思表示
* v140_xpで使えない機能を使っているためやむを得ず
1番なら自分でビルドすればまだ使える
2番だと自分で該当部分のコードを(副作用が出ないように)取り除かなければならない
ActiveStateはxp対応すると思うから待ってれば?
ただ商用利用するならライセンス買わないとだけど
xp更新するよりは安いだろうたぶん
91:デフォルトの名無しさん
15/09/14 10:35:57.05 mCvgVIil.net
xp使ってるようなカスは開発陣の邪魔でしか無い
さっさと別の言語にいってくれ
92:デフォルトの名無しさん
15/09/14 12:54:41.78 9k/gGGx4.net
多分、pythonのバージョン3以上向けに書かれててエンコードエラーみたいなのでるんだけど、どうしたらいいんですかね
Traceback (most recent call last):
File "2kyoku.py", line 72, in <module>
text_pn.pn(s)
File "/home/fuj
93:iiiiiiiiiiiiiiiiiiiiiiiiiiiin/2kyoku.py", line 64, in pn print('{0}\npoint = {1}'.format(s, avg_point)) File "/usr/lib/python2.7/codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
94:デフォルトの名無しさん
15/09/14 13:00:21.02 9k/gGGx4.net
多分、pythonのバージョン3以上向けに書かれててエンコードエラーみたいなのでるんだけど、どうしたらいいんですかね
Traceback (most recent call last):
File "2kyoku.py", line 72, in <module>
text_pn.pn(s)
File "/home/fujiiiiiiiiiiiiiiiiiiiiiiiiiiiin/2kyoku.py", line 64, in pn
print('{0}\npoint = {1}'.format(s, avg_point))
File "/usr/lib/python2.7/codecs.py", line 351, in write
data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
95:デフォルトの名無しさん
15/09/14 14:31:52.59 tOm8GBtx.net
python3で使えよ
96:デフォルトの名無しさん
15/09/14 14:35:45.43 tOm8GBtx.net
エラー自体は
print('{0}\npoint = {1}'.format(s, avg_point))
の行でsにunicodeが入ってるせいで、
asciiへの自動エンコードが働いてエラーになってる
ここにstrが入るように使用側のコードを修正すればいい
できない場合はやはりpython3を使え
それも出来ないならお前は力不足だ
すべてを諦めろ
97:デフォルトの名無しさん
15/09/14 14:39:00.35 tOm8GBtx.net
ライブラリ側を修正していいのなら
print(u'{0}\npoint = {1}'.format(s, avg_point))
とする手もあるが、おそらくこれは
sys.stdout内でエラーを発生させるので、更にもう一工夫要る
98:デフォルトの名無しさん
15/09/14 15:21:15.73 6vR7q2Zm.net
2to3使っても駄目だったのですか?
99:デフォルトの名無しさん
15/09/14 16:59:49.83 c4/y2sTK.net
webにあるpythonファイルをそのままimportはさすがに無理ですかね
githubでテスト実装されてるのをちょこっと試したい時に
import http:~~.py
のようにできたら便利だなあと
100:デフォルトの名無しさん
15/09/14 17:13:10.00 NxoyOIVd.net
それは危険過ぎて、二の句が継げない
101:デフォルトの名無しさん
15/09/14 17:19:37.00 tOm8GBtx.net
昔このスレで書いたような気がするが
module loaderを実装すればgithubのモジュールをimpoptすること自体は不可能じゃない
君の希望しているシンタックスでは無理だがな
102:デフォルトの名無しさん
15/09/14 20:18:49.71 cXb4kIiN.net
Cのfwriteに相当するpythonのルーチンってありませんか?
103:デフォルトの名無しさん
15/09/14 20:30:56.48 6vR7q2Zm.net
>>> import os
>>> f = open("a.bin", "wb")
>>> f.fileno()
3
>>> os.write(f.fileno(), "hello world!".encode())
12
>>> f.close()
$ cat ./a.bin
hello world!%
104:デフォルトの名無しさん
15/09/14 21:04:32.25 cXb4kIiN.net
>>99
fwriteはポインタとサイズ、数を指定できますが
型とサイズ、要素数はどう処理しますか?
105:デフォルトの名無しさん
15/09/14 21:22:17.80 6vR7q2Zm.net
違うんだ。
bytes書き込みたいって話かと思ったのに。
f.write()
も意味ないっぽいな。
型とサイズ、要素数は、
type(obj), obj.__sizeof__(), len(obj)
で頑張るんですね。
一体全体何をしたくて、fwrite相当の関数を知りたいんです?
ないと思う。が答えだけど。
どうしても、fwrite相当が欲しいなら、C 拡張書いた方が賢いよ。
絶対。
106:デフォルトの名無しさん
15/09/15 01:48:36.14 OASNotDF.net
ご指導ありがとうございます。
sの中身のテキストをutf-8にしていたので元に戻したのですが以下の様なエラーが出て
戸惑っているんですがわかりますか?
Traceback (most recent call last):
File "/home/fujiiiiiiiiiiiiiiiiiiiiiiiiiiiin/2kyoku.py", line 72, in <module>
text_pn.pn(s)
File "/home/fujiiiiiiiiiiiiiiiiiiiiiiiiiiiin/2kyoku.py", line 45, in pn
for line in self.mecab_list(s):
File "/home/fujiiiiiiiiiiiiiiiiiiiiiiiiiiiin/2kyoku.py", line 40, in mecab_list
s = self.m.parse(s)
File "/usr/local/lib/python2.7/dist-packages/mecab_python-0.996-py2.7-linux-x86_64.egg/MeCab.py", line 281, in parse
def parse(self, *args): return _MeCab.Tagger_parse(self, *args)
NotImplementedError: Wrong number or type of arguments for overloaded function 'Tagger_parse'.
Possible C/C++ prototypes are:
MeCab::Tagger::parse(MeCab::Model const &,MeCab::Lattice *)
MeCab::Tagger::parse(MeCab::Lattice *) const
MeCab::Tagger::parse(char const *)
107:デフォルトの名無しさん
15/09/15 02:37:49.32 8nVq9fpM.net
argsにunicodeを食わせてるせいで
C++の関数呼び出し時にwchar_t*になってる
で、オーバーロードの解決に失敗してる
何が起きているか自体は一目で分かるが
これはこのまま続けでも時間の無駄だろ
108:デフォルトの名無しさん
15/09/15 02:45:20.70 8nVq9fpM.net
だいたい初心者がいきなりこんなことに手を出すなよ
登山初体験で雪山チャレンジしてるような感じだ
そんなに死にたいのか?
109:デフォルトの名無しさん
15/09/15 03:59:55.46 Yag5SRe5.net
>>104
君は病院行ったほうがいいよ
昨日から酷すぎ
110:デフォルトの名無しさん
15/09/15 04:09:06.42 XNHa+TUY.net
u"日本".encode('utf-8')
Unicode文字列型から、
ByteStr(8bit文字列)へ、encodeすれば?
111:デフォルトの名無しさん
15/09/15 08:37:54.75 tzZBlg8k.net
>>105
ゴミ虫が人間様に一丁前の口を聞くんじゃねえ
中央線に突き落とすぞ
112:デフォルトの名無しさん
15/09/15 09:57:27.75 8nVq9fpM.net
俺は他人をこき下ろすのは大好きだが
そんな通報されそうな発言しねえよ
不用意な奴
113:デフォルトの名無しさん
15/09/15 10:17:50.34 mcggslDF.net
>>107
関係ない人が巻き込まれる恐れがあるためJR東日本に念の為連絡しました
114:デフォルトの名無しさん
15/09/15 20:55:08.78 J59fOGwQ.net
初めてのpython(ver2.71、3版P475)を読んでいるのですが、再帰インポートの動きがわかりません。
#rrecur1.py
x = 1 #①
import recur2 #②
y = 2 #③
#recur2.py
from recur1 import x #④
from recur2 import y #⑤
A:対話型シェルで import recur1 を実行すると ①②④⑤となり、⑤でエラー ←なんとなくわかる
(④の後に①②と③が実行されないのは、recur1のオブジェクトが不完全でも既にあるから?)
B:対話型シェルで import recur2 を実行すると ④①②③⑤となる ←怪しい
(A同様、②はオブジェクトがあるので、④①②④⑤にはならない?)
C:python recur1.pyを実行すると ①②④①②③⑤となる ←ものすごく怪しい
(①②は2回実行され、②の2回めは④でオブジェクトができるからそのまま?)
D:python recur2.pyを実行すると ④①②(④)⑤となり、⑤でAと同じエラー ←だいぶ怪しい
理解が間違ってる、足りなさそうな所を指摘してもらえると助かります。
115:デフォルトの名無しさん
15/09/15 20:58:49.38 XjGjWAl2.net
機種依存文字か何か知らないが読めない文字を貼るな
116:デフォルトの名無しさん
15/09/15 21:15:56.27 Jw4sxLAi.net
これで試して、出力をご自分でご確認下さい。
#rrecur1.py
print("0 in recur1.py")
x = 1 #①
print("1 in recur1.py")
import recur2 #②
print("2 in recur1.py")
y = 2 #③
#recur2.py
print("0 in recur2.py")
from recur1 import x #④
print("1 in recur2.py")
from recur2 import y #⑤
print("2 in recur2.py")
117:デフォルトの名無しさん
15/09/15 21:40:23.07 J59fOGwQ.net
>>112
確認しました。
最初からprint文挟めばよかったですね、ありがとうございます。
118:デフォルトの名無しさん
15/09/15 22:33:38.30 RlUnFo2M.net
>>69
>np.apply_along_axis
これじゃ全然速くなんなかったよ
バーカバーカ
119:デフォルトの名無しさん
15/09/15 22:39:17.01 8nVq9fpM.net
apply_along_axisが速いなんて一言も言ってないレスに安価つけて何言ってんだヌケサク
120:デフォルトの名無しさん
15/09/16 02:29:05.06 aiEEwWsO.net
プログラミング未経験者です。
学校にjavaの授業しかありません。
javaを学ぶとpythonを理解しやすくなったりしますか?
逆に混乱するでしょうか?
121:デフォルトの名無しさん
15/09/16 03:23:01.55 2Yj1o+46.net
違いはあるから混乱や困惑、勘違いは当前のこと
そこで挫けるか、違いを理解して乗り越えるかが分かれ道
でJava→Pythonのハードルは低くはないと思う
初見のインパクトとして、インデント構文が人を選ぶ曲者
122:デフォルトの名無しさん
15/09/16 06:33:05.21 Aossrj8U.net
>>116
基本的にプログラミング言語はひとつ覚えたら次はめっちゃ楽になるよ
条件分岐とかループなどの基礎的な概念はほぼ変わらないからね
ただ理想はPythonからのJavaかなあ
自分は色々やってきたけど初学者に最適なメジャー言語としてPythonはかなり優秀だと思う
JavaはPythonと違って重厚なんで、ちょっとした事をやるにしてもコードを書く量が半端なく多い
普通はIDEっていう支援ソフトを使う言語だけど授業では全部手打ちだろうし「むきー!」ってなりそう
123:デフォルトの名無しさん
15/09/16 15:13:00.75 BdvYksDF.net
俺はJavaを初めにやるべきだと思うな
このスレの住人はJavaでもC#でも何でもできるから最初はPythonでいいと思ってるかもしれないけど・・・・
普通の人は飽きて一つしか習得しない可能性もあるわけで、それを考慮したらJAVAをやるべきだろう
124:デフォルトの名無しさん
15/09/16 15:46:15.28 X4VHrapa.net
その辺の最終的な問題もあるよな、Pythonは学習用にも汎用としても悪くない思うけど
やはりC/C++、C#、Javaなんかの方が向いてる事もある、しかし覚える必須事項も多い
とりあえず言語を通じて原理を学ぶなら、まずは取っ付き易いPythonだけってなるけど
自分は簡便なPHPからPythonに乗り換えC#を経て速度に取り付かれC++/x86まで逝ったが
Pythonは文法が少なく抑えられている一方、トリック的にプロパティを実装していたり
self引数など内部的にどう作用しているのかも教えてくれる、学習用には最適だと思う
125:スッキリ厨
15/09/16 15:54:45.41 9fL6Ueyi.net
漏れは、短時間で読める、簡単な本をすすめる。
以下が漏れの定番
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊を順に読む
たのしいRuby 第4版、2013
みんなのPython 第3版
オブジェクト指向を学ぶと、
C#, JavaScriptも理解しやすいし、
Ruby,Pythonは、お互いに影響を受けているから、
同時に学ぶと、共通点が多い
126:デフォルトの名無しさん
15/09/16 19:56:17.21 yg+sr1CP.net
Javaってint()をわざわざInteger.parseInt()って書く基地外言語だからなあ
誰がどう設計するとあんなことになるのだろう
127:デフォルトの名無しさん
15/09/16 20:38:43.26 6/Mj4kG1.net
こんな時代にプログラミングを本で勉強するバカって
まだ生き残ってるんだな
128:デフォルトの名無しさん
15/09/16 23:18:03.83 CBuGCxGj.net
俺も本で勉強してるよー(^-^)/
129:デフォルトの名無しさん
15/09/16 23:21:41.06 awIPWlQA.net
は? 本で学んで何がバカなんだよ
あと、何が悪い?
130:デフォルトの名無しさん
15/09/16 23:23:14.44 9fL6Ueyi.net
文字列 → 整数を、Rubyでは、String.to_i。
"123".to_i
と、Stringのメソッドだが、
Javaでは、Integer.parseInt()と、
Integerのメソッドに、違和感を覚える
131:デフォルトの名無しさん
15/09/16 23:55:42.75 jnCVqJ3t.net
ノウハウ系の本は読むかな
奥村先生のアルゴリズム入門以外で入門とかいてある本は買ったことがない
132:デフォルトの名無しさん
15/09/17 00:38:19.54 196gWGO2.net
>>116です
まずはjavaを学んで、同一事項もできれば
133:pythonで勉強しようと思います。 皆さん回答ありがとうございました!
134:デフォルトの名無しさん
15/09/17 08:15:31.21 SBwAu0s0.net
本は情報がすぐ古くなるので
135:デフォルトの名無しさん
15/09/17 14:55:21.13 ku8KDabs.net
>>89です。
あの後、うまくいかないのpython3から実行してみたのですが、うまくいきませんでした。
内容としては、URLリンク(naokiwatanabe.blogspot.jp)
のサイトに載っているソースコードを実行したいのですが、、、
エラー内容は
/usr/lib/python3/dist-packages/numpy/core/_methods.py:55: RuntimeWarning: Mean of empty slice.
warnings.warn("Mean of empty slice.", RuntimeWarning)
とでています。
python2から実行すると、いろいろ試したのですが文字コードのエラーで実行できませんでした。
知識不足というのは重々承知なのですが解決方法を教えてもらえると幸いです。
136:デフォルトの名無しさん
15/09/17 14:59:40.79 ku8KDabs.net
pn_ja.dicの中身はこんな感じです。
URLリンク(www.lr.pi.titech.ac.jp)
137:デフォルトの名無しさん
15/09/17 16:46:48.82 iMuV3iOg.net
>>130
2to3.pyはもう実行済みなの?
実行済みという前提でだけど、
48: points_of_s = np.array(points_of_s)
49: avg_point = np.mean(points_of_s)
numpy 使ってるのってここの行だけでしょ?
48行目のpoints_of_s に何が入っているかを確かめて、
meanを計算するfunctionを自分で実装すれば?
つnumpy.mean
URLリンク(docs.scipy.org)
138:デフォルトの名無しさん
15/09/17 16:48:53.78 iMuV3iOg.net
>>132の続き
>>130
なんか、points_of_s が空で文句言ってそうだけど。
多分、40行目の行が上手くいってない
ここもword, i['kanji'], i['yomi'] の中身をprintで見てみるんだね
40: if word == i['kanji'] or word == i['yomi']:
139:デフォルトの名無しさん
15/09/17 19:26:17.87 JmTKZ5WP.net
cygwin上のutf-8の漢字入力が処理できないので
漢字が混ざっても大丈夫にして欲しい
English onlyならば動作する
エラー文によればは以下の部分に間違いがある
for line in exif_out:
key_and_value = line.partition(':')
if key_and_value[0].strip() == "File Name":
name.append(key_and_value[2].strip())
if key_and_value[0].strip() == "Duration":
play_time.append(key_and_value[2].strip())
140:デフォルトの名無しさん
15/09/17 19:51:59.85 JmTKZ5WP.net
python に問題はなかったので取り下げます
pythonスクリプトに接続する前のコマンドの一つが shift-jisで文字を返してきたことが原因で
nkf -w を挟むことで修正無く正常に動作しました
141:デフォルトの名無しさん
15/09/17 20:15:35.92 CxP5vej7.net
許さん
タイガーアッパーカットの刑だ
142:デフォルトの名無しさん
15/09/18 20:10:21.07 STdqpX+z.net
MATLABをずーっと使ってたんですが、簡単にPythonに乗り換えられますか?(´・ω・`)
143:デフォルトの名無しさん
15/09/18 20:48:38.78 tgrC/XXe.net
はい、scilabとPython3の組み合わせでPythonまでお越し下さい。
144:デフォルトの名無しさん
15/09/18 21:00:47.36 iv+WFVpk.net
py2appもしくはcx_freezeでOS Xの配布ファイルを作ろうとしてるのですが、
ある依存モジュールの*.jsonファイルがlibrary.zipアーカイブ下に置かれてしまって、openができなくなってしまいます。
なんとかこれを回避する手段はありませんか?
145:デフォルトの名無しさん
15/09/19 14:16:36.35 zRSvfcVs.net
スクリプトが長くなってきたので、分割したくなってきたのですが、
importを使うとスコープ
146:でグローバルを拾ってくれないので困っていますが こういう時どうするのが普通でしょうか
147:デフォルトの名無しさん
15/09/19 14:22:56.25 EhBxb2se.net
良い機会と捉えて、global変数をなくす設計を考える。
148:デフォルトの名無しさん
15/09/19 14:37:57.81 zRSvfcVs.net
グローバルにある一つのオブジェクト中に必要なものを全部入れてあるので
引数で渡してやれば、いちょう解決はするんですが、
これだと必ずその引数を付けなくてはいけなくて、シンプルではないと感じています。
149:デフォルトの名無しさん
15/09/19 14:59:47.59 c6kn+dRM.net
python未経験、大学の情報系学科2年でCの経験ありです。
pythonの参考書で迷っています。
『みんなのPython』『プログラミング超初心者が初心者になるためのPython入門』
『Pythonスタートブック』
の3つなのですが、どれがおすすめでしょうか。
また、他にもおすすめがあったら教えていただきたいです。
150:デフォルトの名無しさん
15/09/19 15:12:57.41 9MmBL6K2.net
>>143
プログラミング経験あるならみんなのPython。他のは初歩すぎると思う
あとこのサイト読むだけで十分だったりもする
URLリンク(diveintopython3-ja.rdy.jp)
151:デフォルトの名無しさん
15/09/19 15:51:56.79 rqtLrpco.net
>>140
分割したいほど長くなった時点で、もはやスクリプト言語を使う利点は失われている
今後の保守を考えて、Javaなど大規模プロジェクトに対応できる言語へ移行すべきだ
152:デフォルトの名無しさん
15/09/19 15:55:05.11 zRSvfcVs.net
>>145
pythonがやりたいことの条件なのでしょうがありません
クラス作って__init__の引数で渡して使うことにしようと思います。
153:デフォルトの名無しさん
15/09/19 15:57:04.47 IG+tqa6Q.net
著者の自演きめえ
154:デフォルトの名無しさん
15/09/19 16:24:59.93 zRSvfcVs.net
クラスのselfって呪文、短くできないでしょうか
155:デフォルトの名無しさん
15/09/19 17:27:54.66 KApqc+U6.net
できるよ
156:デフォルトの名無しさん
15/09/19 18:14:50.96 iv6k6MQz.net
教えてください、よろしくお願いします
157:デフォルトの名無しさん
15/09/19 19:25:03.83 vrCh8asH.net
もうselfって打ちたくないです…
秘匿するの以外はぜんぶインスタンス変数でいいじゃないか
158:デフォルトの名無しさん
15/09/19 19:57:54.93 WfpuSZ1G.net
>>143
俺も144さんと同意見です。
『みんなのPython』と『Dive into Python日本語版』。
あとは公式のドキュメントを調べる癖をつけとくといいと思います。
URLリンク(docs.python.jp)
本当は『初めてのPython』もおすすめしたいところだけど、いかんせん内容が古いので…。
でもちゃんとPython2とPython3の違いを勉強した後でなら、挑戦する価値はあると思います。特に情報系の学科の学生さんなら。
Python2とPython3の違いは上記2冊にも説明があります。
159:デフォルトの名無しさん
15/09/19 20:09:50.25 jbS3DGgI.net
宣伝きめえ
160:デフォルトの名無しさん
15/09/19 20:52:50.71 vrCh8asH.net
>>152
>あとは公式のドキュメントを調べる癖をつけとくといいと思います。
これ以外必要ない。
161:デフォルトの名無しさん
15/09/19 22:47:02.90 3d9rW/SJ.net
最近の大学生って頭悪いんだね
別に煽ってるつもりはないよ
率直な感想
162:デフォルトの名無しさん
15/09/20 00:55:26.23 hPx7plFD.net
URLリンク(jun.2chan.net)
163:デフォルトの名無しさん
15/09/20 01:28:28.89 Nh5TR33w.net
>最近の大学生って頭悪いんだね
古代エジプトの遺跡にも、そう書いてあったらしいね( ・ω・)y─┛~~
164:デフォルトの名無しさん
15/09/20 01:37:06.96 NJwlDPWn.net
>>157
それガセネタだってば
まだ信じてる人いたんだ
165:デフォルトの名無しさん
15/09/20 02:14:36.98 Itn3Bpzp.net
>>158
もっと古いけどな。
せっかくのレスだが、ポイントはそこじゃない。
166:スッキリ厨
15/09/20 03:31:11.34 vBjKt0IW.net
宣伝じゃなくて、漏れが編み出した、
プログラミング最速
167:メソッドでも、 この3冊をこの順番で読むよ まずこの本で、オブジェクト指向を学ぶ スッキリわかる Java入門 第2版、2014 その後、この2冊を順に読む たのしいRuby 第4版、2013 みんなのPython 第3版
168:デフォルトの名無しさん
15/09/20 04:37:13.68 iy8xPLn/.net
>>145
わけわかんない
こういう戯言を初心者は真に受けないように
169:デフォルトの名無しさん
15/09/20 11:10:20.99 c50Q0ipw.net
>>143
>>152
英語が苦にならないなら、"初めてのパイソン"の原著 Learning Python もお薦めします。原著は2013年に第5版が出ています。改定版を重ねているのは、売れている証。
Learning Python では、mutable と imutable の違いや、変数は参照であるといったあたりの説明が丁寧で良いです。みんなのPython や、codecademy の python コースでは、これらの説明が不十分だったように思います。
m = 1
n = m
m = 2
print(m, n) # 2 1
a = [1]
b = a
c = a[:]
a[0] = 2
print(a, b, c) # [2], [2], [1]
a = [3]
print(a, b, c) # [3], [2], [1]
170:デフォルトの名無しさん
15/09/20 11:46:23.95 zfBSqDqL.net
辞書アクセスについて質問です。
設定ファイルにかかれているキーとなる文字列のみを読み取って
辞書(値の中にさらに辞書やリストが定義されています)アクセスを行いたいのですがどのようなコードを書けば実現可能でしょうか。
171:デフォルトの名無しさん
15/09/20 11:57:36.33 UBP8lCYf.net
ほいさ。
$ cat tech163.py
if __name__ == "__main__":
d = {"a": 1, "b": 2}
with open("tech163-keys.txt") as f:
for line in f:
key = line.strip()
value = d[key]
print("key={}, value={}".format(key, value))
$ cat tech163-keys.txt
b
a
b
b
b
a
172:デフォルトの名無しさん
15/09/20 12:04:06.29 vBjKt0IW.net
辞書の中にさらに、辞書やリストが入っているのは、
何階層ネストするかなど、複雑だから難しい
XML,JSONなど、ライブラリがある、
既成のデータ構造を使うべき
173:デフォルトの名無しさん
15/09/21 14:36:46.18 3JRegwp7.net
numpy.ctypeslib.load_libraryってなんのためにあるんですか?
ctypes.cdll.LoadLibraryじゃダメなケースが?
174:デフォルトの名無しさん
15/09/21 16:15:55.92 QY3cLhl9.net
ソース読むと普通にreturn ctypes.cdll[libpath]を返してるな
ということは, そこまでの過程に意味があるということ
175:デフォルトの名無しさん
15/09/21 16:58:58.71 o0er9rYI.net
意味ある過程を解説しろという事
176:デフォルトの名無しさん
15/09/21 17:18:00.57 QY3cLhl9.net
いやずら
177:デフォルトの名無しさん
15/09/21 17:43:45.00 o0er9rYI.net
シッタカすんなずら
178:デフォルトの名無しさん
15/09/21 17:52:42.15 QY3cLhl9.net
ふええ
179:デフォルトの名無しさん
15/09/22 22:51:54.28 w0LnM0Y7.net
初歩的な質問で申し訳ないです。Yahooにログインしたいのですがうまくいきません
import requests
payload = {'username':'user_id','passwd':'user_pass'}
r = requests.post('URLリンク(login.yahoo.co.jp)',data=payload)
これで実行したんですがエラーログも表示されず困っております。助けてください<(_ _)>
180:デフォルトの名無しさん
15/09/22 22:56:03.50 w0LnM0Y7.net
補足です
print rとしたら<Response[200]>と返ってきました。ggっても出てこないんですが
これって何を表しているのでしょうか?ログイン自体は成功していませんが成功と捕らえても良いのでしょうか?
181:デフォルトの名無しさん
15/09/22 23:31:22.08 0pZRAY1l.net
Response[200]は、OKのこと
>payload = {'username':'user_id','passwd':'user_pass'}
payload = {'username':'本当のユーザー名',
'passwd':'本当のパスワード'}
そこに本当のユーザー名・パスワードを入れないと、
ログインできない
でも、それらをそのまま、暗号化せずに送るのかな?
暗号化しなかったら、危険な気もする <
182:デフォルトの名無しさん
15/09/22 23:35:00.63 +lAdjAEI.net
>>173
200はHTTPステータスコードというものでこの場合は「成功」
ただしこの場合の成功とはログインに成功じゃなくてたんにそのページヘのアクセスが成功したというだけ
一般的にログイン失敗の場合は40*系が返ってくることが多い
r.textなどを見たらエラー文というかブラウザに表示されてるはずの文がでるはずです
「現在お使いのブラウザの設定ではログインできません。クッキーの設定を確認し、クッキーを有効にしてください。」
なぜそれでログインできると思ったのか、どこの情報を参考にしたのかわからないけども、それはログインを試みてすらもいない
たんにpostでusernameとpasswordを送ってログインできる仕様になってない
ログインページにアクセス、ログインフォームを読み取り、そこに値を入力、ログインボタンを押す、ページ遷移後の処理
という一連の流れでやる必要があるので最初はわりと敷居高いです
ログイン後のページ遷移等を処理したい場合はそれ専用のライブラリ使ったほうがいいと思います
自分はmechanicalsoupとかでログインしてます
あんまり日本語の情報無いからおすすめしづらいけどpython3系対応って少ないんだよね
元気があったら後でログインできるそのまんまのコード書くかも 眠いから書かないかも
183:デフォルトの名無しさん
15/09/22 23:39:07.37 w0LnM0Y7.net
>>174
回答ありがとうございます
自分はただログインができればそれで良いです。
>>175
回答ありがとうございます
書いていただければ参考にさせてもらいます。勿論書いてもらわなくても大丈夫です!
184:デフォルトの名無しさん
15/09/22 23:39:44.08 w0LnM0Y7.net
まずは自力でがんばってみます ノシ
185:デフォルトの名無しさん
15/09/22 23:42:41.04 +lAdjAEI.net
ちなみにこれじゃダメなんでしょうか?
URLリンク(gist.github.com)
自分はmechanize入れてないから試せないけど
こういうのはログイン画面の仕様が変わるとダメになるので2年前の記事だとそのまんま使えないかも
186:デフォルトの名無しさん
15/09/22 23:44:38.87 0pZRAY1l.net
>payload = {'username':'user_id','passwd':'user_pass'}
それにそのサイトのHTMLを分析してから、やっているのか?
'username','passwd'も正しいのか?
それに、クエリ文字列は、その2つだけなのか?
本・サイトに書いてある通りに、
プログラミングしても動かないよ
187:デフォルトの名無しさん
15/09/22 23:54:17.74 +lAdjAEI.net
178のやってみたけど成功した
なんとなくusernameとpasswordをpostしたらログインできるんじゃ?って最初思うのはしょうがない気が
実際は人間と同じようにページにアクセスしてフォームの場所を特定してusername等を打ち込んで…という泥臭いコードを書く必要が
188:デフォルトの名無しさん
15/09/22 23:58:50.34 w0LnM0Y7.net
>>178
ありがとうございます。参考にさせてもらいます
>>179
そこらへんはしっかりとソースを見てやっています
>>180
ほうほう なるほど。
初心者に付き合っていただいて有難うございました、では失礼します<(_ _)>
189:デフォルトの名無しさん
15/09/23 08:34:14.30 DOrhv1Zg.net
>>181
wireshark でパケット見た方が早いと思う
190:デフォルトの名無しさん
15/09/23 12:08:54.96 bddtCb1z.net
入れ子のリストで、中のリストごと削除する事って可能ですか?
[["a","b"],["c","d"],["e","f"],["g","h"]]
↓
[["a","b"],["e","f"],["g","h"]]
としたいんですが、delやpopで消しても以下のように空要素が残ってしまいます
[["a","b"],[],["e","f"],["g","h"]]
191:デフォルトの名無しさん
15/09/23 12:37:13.95 gS0ZJsKt.net
>>> L = [["a","b"],["c","d"],["e","f"],["g","h"]]
>>> L.remove(L[1])
>>> L
[['a', 'b'], ['e', 'f'], ['g', 'h']]
192:デフォルトの名無しさん
15/09/23 12:43:08.41 YxG82JoQ.net
>>> outer = [[1, 2], [3, 4], [5, 6], [7, 8]]
>>> del outer[1]
>>> outer
[[1, 2], [5, 6], [7, 8]]
>>> outer.pop()
[7, 8]
>>> outer
[[1, 2], [5, 6]]
193:デフォルトの名無しさん
15/09/23 13:02:38.50 bddtCb1z.net
>>184-185
できましたありがとうございます.
194:デフォルトの名無しさん
15/09/23 18:05:24.51 mJPpIkis.net
画像から文字の部分を認識させたいのですが、なにかいい方法があったら教えていただきたいです
195:デフォルトの名無しさん
15/09/23 19:38:01.53 fW96BSwR.net
バージョン2.7です。
辞書をリストにしたものから、あるキーを持つものだけを拾い出して、リストにしたいんです。
具体的には
mylist = [{'a':12, 'b':8},{a':5, 'b':19}]
とあるものから、キーがaのものだけを取って、(12, 5)という配列を作りたいのです。
map(lambda x:x[キー用の変数]), mylist)
もしくは、
map(lambda x:x.get(キー用の変数)), mylist)
と書いてみたのですが、どちらも
None
という値が返ってきます。
もう半日これで悩んでいます。
どなたかお詳しい方、教えてください。
196:デフォルトの名無しさん
15/09/23 20:00:36.15 2XlOP4Gj.net
>>188
>>> mylist = [{'a':12, 'b':8},{'a':5, 'b':19}]
>>> [d["a"] for d in mylist]
[12, 5]
どの辞書にも"a"がある前提だけど
197:デフォルトの名無しさん
15/09/23 20:03:59.03 YxG82JoQ.net
mapでできる
>>188のmapについてはカッコが合ってないから何もいえない
>>> L = [{'a': 12, 'b': 8}, {'a': 5, 'b': 19}]
>>> map(lambda d: d['a'], L)
[12, 5]
>>> map(lambda d: d['a'], filter(lambda d: 'a' in d, L))
[12, 5]
>>> [d['a'] for d in L if 'a' in d]
[12, 5]
198:デフォルトの名無しさん
15/09/23 20:04:10.98 2XlOP4Gj.net
>>188
あと,map使いたいんだったら
>>> list(map(lambda x:x["a"], mylist))
[12, 5]
199:デフォルトの名無しさん
15/09/23 20:33:24.83 IBQotI2X.net
日時をマイクロ秒まで取る方法を教えてください
200:デフォルトの名無しさん
15/09/23 20:46:03.49 fW96BSwR.net
お二方、こんなに短い時間のうちに、どうもありがとうございます。
190様の、一番最初のコードが、自分の意図したものでした。
括弧の間違いなどは直して、再度書いてみたのですが、動きません。
(問題の切り分けのために簡略化してしまったのですが、実際は
def mapping(self, key_hensu):
map(lambda d: d[key_hensu], self.list)
とし、
これに基づいて作ったインスタンスの
self.listに辞書を含む配列を入れた後、
newlist = hug_ instance.mapping('a')
Print newlist
としても、noneが帰ってくるのです)
教えていただいた式で、コードを組み直してみようと思いますが、動かないのはmap以外の部分の問題かもしれません…
201:デフォルトの名無しさん
15/09/23 21:18:05.32 VUzU7jGH.net
ひょっとしてmappingからreturnしてないとかいうオチじゃなかったりしない
ちなみに特定メンバー抽出だけならlambdaを書くより
operatorモジュールに複数指定も可能な専用クラスがあったりするよ
>>192
time.time()#POSIXタイムスタンプ(float)
datetime.datetime.now()#datetimeインスタンス(microsecond)
とかそういうのではなく?
202:デフォルトの名無しさん
15/09/23 22:35:52.54 fW96BSwR.net
>>194
お恥ずかしいかぎりです。
Return文がありませんでした。
pythonで本格的にプログラムを組むのが初めてだっので、お騒がせいたしました。
ちなみに、return文は、この場合、MAPの結果を変数に格納し、return その変数、
とやるのでいいのでしょうか。
このメソッドを多用する場合、変数は、プライベート変数にした方がいいですか?
203:デフォルトの名無しさん
15/09/24 01:08:23.75 1RjIiiuu.net
mylist = [ {"a":12 , "b":8} , {"a":5 , "b":19} ]
L = []
for m in mylist:
for key , value in m.items():
if key == "a":
L.append(value)
これが当然読み書きできた上で、もっとシンプルにor高速にという人ならい
204:いんだけどさ いきなりワンライナー目指そうとして何時間も時間使っちゃうもはもったいない気がする mapとか内包とかlambda使って長時間悩むよりforでシンプルにやってもいいと思うんだよね まあ多分これは書けた上で短く洗練したいという人だと思われるので余計なお世話かもしれんが一応
205:デフォルトの名無しさん
15/09/24 03:21:21.13 KIwTvfAf.net
関数のIn/Outを確認するのは、
WhiteBox Test の基本だよ
rtn = func()
func(out)
戻り値・引数のどちらで、結果を返しても、
それらをチェックするのは当然
206:デフォルトの名無しさん
15/09/24 09:07:42.02 oyhXYwpr.net
シリアル通信をしたいんだけど、
hoge = serial.Serial('/dev/ttyACM0', 9600, timeout = 0.1)
で文法エラー吐くんだけど、どんな理由が考えられる?
import serialはしてある
207:デフォルトの名無しさん
15/09/24 09:19:04.50 XLoPykDH.net
serialという名前の関係ないモジュールをimportしているとか
真っ先に文法エラーの内容を貼るべきだったな
208:デフォルトの名無しさん
15/09/24 17:56:16.23 7vafZHZr.net
コーンフレークか
209:デフォルトの名無しさん
15/09/24 18:02:55.63 7vafZHZr.net
>>194
それはミリ秒までしか取れなくね
210:デフォルトの名無しさん
15/09/24 18:18:35.45 O2om78VJ.net
PHPでいうmicrotimeみたいなものが使いたいんです
URLリンク(php.net)
211:デフォルトの名無しさん
15/09/24 19:20:18.31 3LIOVMIk.net
>>201
>>194は小数点以下6桁表示だからmicro秒まで取ってるよ
212:デフォルトの名無しさん
15/09/24 20:52:58.68 2Vopl4xt.net
Windows版2系はミリ秒精度っぽいねぇ…しかし本当に必要なのは日時なのか?
パフォーマンスカウンタならtime.perf_counter()とか、time.clock()で代用とかだけど
213:デフォルトの名無しさん
15/09/25 01:12:24.27 tuRmYaRB.net
>>198
全角文字を使っているとか、
SerialのSが、小文字の間違いとか、
timeout = 0.1 を、辞書にするとか、
' 'で囲むとか、0.1だけにするとか
まあ、エラーメッセージで検索すれば?
214:デフォルトの名無しさん
15/09/25 04:44:01.92 tuRmYaRB.net
>>198
「timeout = 0.1」のように、引数の中で、= を使って、
代入されているものを、デフォルト引数といって、
省略可能な引数のこと
引数を省略すると、0.1を渡したのと同じ扱いになる。
この2つは、どちらも同じ
hoge = serial.Serial('/dev/ttyACM0', 9600)
hoge = serial.Serial('/dev/ttyACM0', 9600, 0.1)
もちろん引数を省略せず、任意の数値を渡してもよい
hoge = serial.Serial('/dev/ttyACM0', 9600, 0.2)
それより、この本でも読んでから、プログラミングしなよ
「みんなのPython 第3版」
215:デフォルトの名無しさん
15/09/25 07:40:45.23 OdLQBYES.net
著者のステマきめえ
216:デフォルトの名無しさん
15/09/25 08:12:39.72 EM2/ouOX.net
>>206
> デフォルト引数といって、
名前つき引数だろ
ちゃんと覚えておかないと恥ずかしいぞ
217:デフォルトの名無しさん
15/09/25 08:31:28.74 rmMgHZ3n.net
キーワード引数だろ
Language Referenceにくらいは目を通して喋ってるのか?
もちろん英語版な
日本語版は公式でない上に訳がゴミなのは常識だぞ
218:デフォルトの名無しさん
15/09/25 08:32:15.00 rmMgHZ3n.net
URLリンク(docs.python.org)
まだ読んでなくて読めるなら読んでおきたまえ
219:デフォルトの名無しさん
15/09/25 08:38:33.98 rmMgHZ3n.net
あと、キーワード引数は呼び出し時に特定の引数を指定する方法を指すのであって
def文中にある parameter = expression 形式の引数の正しい呼び方は “default parameter values” だ
混同しないように
あとステマ野郎は死ね
ここ数日しつこいぞお前
220:デフォルトの名無しさん
15/09/25 0
221:9:35:38.22 ID:pvZibk7r.net
222:デフォルトの名無しさん
15/09/25 10:54:47.14 KIr5Cth6.net
しつこい宣伝野郎の本はamazonで悪評価つけんぞ
223:デフォルトの名無しさん
15/09/25 11:01:44.67 rmMgHZ3n.net
Twitter(やってたら)荒らすぞ
224:デフォルトの名無しさん
15/09/25 11:58:30.93 0lz/blt5.net
>>212
pythonの代入は文であって式ではないので動作を変更するのは不可能です
「何かいい方法」はありません
pythonのコレクションは大抵イテレータを受け取るようになっていますので
そのスタイルに従うなら
t = Arei([1, 2])
などと書くことになるでしょう
くどいようですが、あなたの希望は叶いませんのであきらめてください
225:デフォルトの名無しさん
15/09/25 17:46:42.43 KRQogbtQ.net
u = [1,2]
みたいには出来ないです。
諦めてください。
[] を使いたいのであれば、
u.extend([1, 2])
としてください。
226:デフォルトの名無しさん
15/09/25 18:38:53.08 APxH2mFV.net
numpyではa[1,...]みたいにしてアクセスできますけど
この...っていうのはPythonのなんて機能なんですか?
227:デフォルトの名無しさん
15/09/25 18:43:08.84 BcpKoy3C.net
>>203
気付いてるひともいるみたいだけど
123.456000
って感じで6桁あっても下3桁が常に000なんで
実質ミリ秒なんですよ
228:デフォルトの名無しさん
15/09/25 19:29:40.05 PrLLHSVR.net
>>217
...はellipsisと呼ぶ
その文法自体は拡張スライス構文(extended slicing syntax)と呼ぶ
229:デフォルトの名無しさん
15/09/25 19:42:42.20 ktFzwPFO.net
>>218
それはtime.time()の実装しだい、例を挙げると
win版2.7.9ではtime()の小数点以下は3桁だった
win版3.4.3では6桁計算されてる
230:デフォルトの名無しさん
15/09/25 19:55:16.04 EAOTXXYi.net
そんな所で2を差別するとは
231:220
15/09/25 20:58:57.37 ktFzwPFO.net
いや、2.xの問題ではない
debian 8 jessieの2.7.9のtime.time()は小数点以下6桁でる
232:デフォルトの名無しさん
15/09/26 00:10:21.83 bNSOOO19.net
pip install でいろいろとパッケージがインストールできないんですが
先輩方は出来てますか?
233:デフォルトの名無しさん
15/09/26 00:14:31.09 uTIKCoPr.net
pythonのバージョンと
pipのバージョンと
OSと
インストールできなかったパッケージの一例を
書 い て ね
234:デフォルトの名無しさん
15/09/26 00:19:25.04 bNSOOO19.net
windows 7
pip 7.1.2
python 2.7.10
です
235:デフォルトの名無しさん
15/09/26 00:23:00.51 uTIKCoPr.net
何か足りないんだが
きみ、人の話を半分に聞いていると指摘されたことはないか?
236:デフォルトの名無しさん
15/09/26 00:26:09.13 bNSOOO19.net
とりあえずあなたができてるのだけ教えて頂けますか?
237:デフォルトの名無しさん
15/09/26 00:29:22.09 uTIKCoPr.net
知らねえよクソ雑
238:魚虫 踏切に飛び込んで死ねや …windowsでは基本的にC拡張を含むパッケージを pipでpypiからインストールすることはできない (コンパイル環境を整えればインストールできるが、かなり面倒) 下記などからコンパイル済みパッケージを入手し、pip install <ファイル名>とやってインストールする http://www.lfd.uci.edu/~gohlke/pythonlibs/
239:デフォルトの名無しさん
15/09/26 00:29:55.36 bNSOOO19.net
pip installできるかどうか自体を聞いてるから>>224の一部ははスルーしましたよ
ちなみに1番最初に書いた内容でわからないのでしたら無理に書き込みしなくてもいいんですよ?
240:デフォルトの名無しさん
15/09/26 00:30:00.09 SlXJkQSm.net
んっと変数をリストにいやらしくぶち込みたいときって何使うのがいいんですかね
241:デフォルトの名無しさん
15/09/26 00:31:21.58 uTIKCoPr.net
>>229
本当に期待を裏切らないなw
殺すぞチンカス
242:デフォルトの名無しさん
15/09/26 00:53:44.20 VnXY6/gA.net
>>212
uには、Areiオブジェクトのインスタンスが入る
u = Arei()
uには、リストオブジェクトのインスタンスが入る
u = [1,2]
そもそも、最初にuに代入された、Areiオブジェクトは、
使われないオブジェクトになってしまって、
どこからも参照されていない
Pythonを基本から勉強すべし。
初心者用の本を読め
243:デフォルトの名無しさん
15/09/26 01:11:01.94 IUg2r09A.net
書名を挙げてもいいのよ?
遠慮なさらずに。
罵倒されるかもしれないけど。
244:デフォルトの名無しさん
15/09/26 01:22:48.90 ycKW7TV1.net
このスレでよく名前の出る本って実際どうなの
245:デフォルトの名無しさん
15/09/26 01:40:34.00 VnXY6/gA.net
たのしいRuby 第4版、2013
みんなのPython 第3版
どちらも、いい本だよ
図書館では、「みんなの」は常に、
誰かが借りている状態だから、
何年も見たことはない
246:デフォルトの名無しさん
15/09/26 08:22:07.31 uTIKCoPr.net
オライリーの奴は2冊ともあまり推奨しない
片方は簡潔すぎ片方はくどすぎ
247:デフォルトの名無しさん
15/09/26 09:19:45.50 nnT9rfzZ.net
Rubyのオライリーのまっつが書いたのはいいんだけどな
あんな感じのがPythonには無い
248:デフォルトの名無しさん
15/09/26 09:28:15.51 YULo0X4G.net
Pythonの和書なんて、書店の本棚一段くらいしかないだろ
悩んだり選んだりしてる暇があったら全部買って片っ端から読破すりゃいい
技術を学ぶのに金は惜しむな時間を惜しめ
249:デフォルトの名無しさん
15/09/26 09:37:35.10 K7CQzQ4M.net
初めてのPythonでもやってろ
250:デフォルトの名無しさん
15/09/26 09:52:23.29 sS2VkfxB.net
>>212
ここの回答者は馬鹿が多いから、
そんなのに目を付けられたら運が悪かったと思ってね
複数の要素を追加したい時、u.append()ばかり何行も書くのは嫌だから、
[]を使って、複数の要素を一行で追加したいという事だろうけど、
それなら、>>216で書いたように、u.extend()を使えば、
[]の表記を使って複数の要素を追加する事が出来ます。
251:デフォルトの名無しさん
15/09/26 10:17:36.27 uTIKCoPr.net
微妙に元の質問から飛躍している気がするなあ
本人が戻ってこないからどうしようもないけど
252:デフォルトの名無しさん
15/09/26 13:58:51.24 SlXJkQSm.net
因みにLinuxだったらコマンドだけでパッケージインストールできるからおぬぬめするよ
初心者さん
253:デフォルトの名無しさん
15/09/26 15:55:00.04 /Er1ur9S.net
唐突に何の話してんだこいつ
254:デフォルトの名無しさん
15/09/26 16:02:42.71 T6SMaGA2.net
ID:bNSOOO19の話でしょ。
環境より別の問題を抱えてそうだけど。
主に頭に。
255:デフォルトの名無しさん
15/09/26 16:28:15.94 ARPouMbC.net
その質問鯖が落ちてるかどうかって質問じゃないの?
それに噛み付いた奴も頭悪いけど。
256:デフォルトの名無しさん
15/09/26 16:33:54.02 PeXvMpg9.net
>その質問鯖が落ちてるかどうかって質問じゃないの?
お前の予想なんか聞いてないから無理に書き込みしなくてもいいんですよ。
断定できるようになったらどうぞ。
257:デフォルトの名無しさん
15/09/26 16:41:56.09 uTIKCoPr.net
当事者で
258:もないのに何を煽ってんだか
259:デフォルトの名無しさん
15/09/26 17:58:48.50 A0xbZm86.net
初心者スレで威張ってる奴もその程度だ
260:デフォルトの名無しさん
15/09/26 19:16:59.29 z8a3JaoE.net
pip使うためにLinux使うやつもバカだと思うが
261:デフォルトの名無しさん
15/09/26 19:47:50.72 nnT9rfzZ.net
>>240
あんた質問の意味わかってんの?
リストを拡張したclassでも完全にリストっぽく扱いたいって話なんだけど
262:デフォルトの名無しさん
15/09/26 20:01:43.67 jMWgOOyZ.net
Python人口が増えたお陰か揚げ足鳥とか喧嘩腰の解凍しか出来ないカスが増えたな
PHPスレみたいになってきた
263:デフォルトの名無しさん
15/09/26 21:58:24.07 6OIyVqiT.net
そうそう
加えて一歩引いた目線で意識高く冷静に事を傍観する俺様系クズとかな
264:デフォルトの名無しさん
15/09/26 23:01:17.56 uTIKCoPr.net
251は定期レスだよ
半年に一回くらいは同じ内容のレスを見るね
265:デフォルトの名無しさん
15/09/26 23:23:51.88 P25DxxnJ.net
馬鹿には無理とpassが短くて好き
266:デフォルトの名無しさん
15/09/27 10:32:38.05 ChKmlAhY.net
お前らは黙って質問に答えてりゃいいんだよ
267:デフォルトの名無しさん
15/09/27 10:58:22.61 8A5jeRhu.net
1~3年くらい前のWin32APIスレのように,
知らないなら黙っててください. ウザイだけです」
の応酬で埋め尽くされるのも時間の問題か
268:デフォルトの名無しさん
15/09/27 11:08:50.48 Oa1I2Bnn.net
答えるから状況確認の質問には正確に応答しろよ
(バージョンは? 表示されてるエラーを貼れ etc)
素人の判断力で勝手に端折るな
269:デフォルトの名無しさん
15/09/27 12:13:27.45 ChKmlAhY.net
俺をあの頭唐澤と一緒にすんなや
270:デフォルトの名無しさん
15/09/27 17:11:01.07 OFhEpgzS.net
黙って答えるの難しそう。
271:デフォルトの名無しさん
15/09/27 17:50:14.04 8A5jeRhu.net
(このように回答するのです)
272:デフォルトの名無しさん
15/09/27 18:04:52.67 V6V0Y/p4.net
Pythonが国内でメジャーにならないからみんな苛立ってんのさ
自分以外のPythonユーザーに出会うことなんてまずないからな
273:デフォルトの名無しさん
15/09/27 18:13:58.17 8A5jeRhu.net
(カラコロ民までPython使ってるとは思わなんだ)
274:デフォルトの名無しさん
15/09/27 18:27:22.29 v7AofSm8.net
django 1.8が無料で使えるクラウドがあれば流行る
railsが盛り上がったのはherokuのお陰
275:デフォルトの名無しさん
15/09/27 18:39:32.12 8A5jeRhu.net
(herokuみたいに料金体系変更した途端
フリーライダーにdisられるのは嫌だろう)
276:デフォルトの名無しさん
15/09/27 21:03:25.98 JhPkHi9i.net
virtualenvで仮想環境を切り替える時ってdeactivateを実行してから別の仮想環境に切り替えないと何かトラブルになりますか?
277:デフォルトの名無しさん
15/09/27 21:19:21.14 8A5jeRhu.net
(activeの中で最初にdeactivateを実行してるはず…)
278:デフォルトの名無しさん
15/09/28 10:43:08.25 0RjOK4Zp.net
>>261
それな
プログラマでもpythonなにそれ?っていうのが日本人には多い
279:デフォルトの名無しさん
15/09/28 10:43:41.72 0RjOK4Zp.net
>>263
GAEとは何だったのか
280:デフォルトの名無しさん
15/09/28 13:43:06.22 JfTylyW8.net
スレ立て失敗
やっぱりocnってクソだわ
281:デフォルトの名無しさん
15/09/28 14:52:33.76 izcdLHq/.net
LinuxとWindowsではPythonでの開発環境に差はある?
今まで基本的には開発はlinux派だったんだけど、iTunesとか他のソフトを使いながら出来ないからWindows環境に興味を持ってる
フレームワークはDjango、DBはMySQLを使おうと思ってる
PHP、MySQL、ApacheのLAMP環境は結構WindowsとcentOSでは差があったけれど
282:デフォルトの名無しさん
15/09/28 14:55:29.22 JfTylyW8.net
WindowsでVirtualBoxでも使えばいいんでは
283:…
284:デフォルトの名無しさん
15/09/28 15:31:14.44 izcdLHq/.net
>>271
使った事ないんだけど、重くならないの?
以前VMWare使ってた時は、便利と思ったけど個人使用にはオーバースペックすぎたw
ってか皆どんな開発環境でやってるの?
俺はcentOSでLinuxなんだけど、macはまだしも、Windowsの人も多いのかな?
結構、関連ソフト入れに苦労しそうな気がするけど
285:デフォルトの名無しさん
15/09/28 15:42:48.17 d6SLnFcK.net
重いとかて何を気にしてのことなの?
開発だけならギリギリのパフォーマンスみたいなのは関係ないだろうし…
テキストエディタだけならWinがなれてるとか?
統合開発環境みたいなのが欲しいてこと?
286:デフォルトの名無しさん
15/09/28 15:45:06.76 dlMXkm1Y.net
windowsをサポートしていないライブラリ使わないならwindowsでもいいんじゃないっすか
おれはgunicornを使いたいからlinuxを選んだだけ
287:デフォルトの名無しさん
15/09/28 16:01:44.58 izcdLHq/.net
>>273
個人的にコンピューターの動作が遅いのは苛々するんよ
例えばEclipseを起動させる、同時に画像処理ソフトを起動させるとか
ソフトウェアでの仮想環境ってことはCPUやメモリのリソースも使うだろうし
Linuxだけだと、他にExcelでの仕事やAdobe系を呼び出す際に再起動しなくちゃいけないもので
今デュアルブートでやってるから
でもWindowsで開発環境をもしできたら再起動いらずに楽かなと
まぁLinux環境には敵わないだろうけれども
288:デフォルトの名無しさん
15/09/28 16:04:58.41 izcdLHq/.net
ちなみに今挑戦したsetuptools, pipからのDjangoインストールは、
import django
でinvalid syntaxエラーが出た
めんどくさいなぁ...
289:デフォルトの名無しさん
15/09/28 16:05:51.54 d6SLnFcK.net
開発をやってるのに今時デュアルブート?
2,3台は常時稼働しておくのが普通じゃないのか?
#今現在、4台を自分専用に稼働中、ディスプレイも3台あるよ?
290:デフォルトの名無しさん
15/09/28 16:07:12.31 izcdLHq/.net
>>277
暫くプログラミングから離れてたのよ
291:デフォルトの名無しさん
15/09/28 16:07:36.37 s7G6tMwD.net
>>275
> まぁLinux環境には敵わないだろうけれども
答え出てるじゃん
292:デフォルトの名無しさん
15/09/28 16:13:44.68 izcdLHq/.net
今度surface pro 4買おうと思って、じゃぁWindows環境で試してみるかと思ったのよ
持ち運び便利そうだからどこでも出来るな、と
なんかWindowsに慣れていないせいか、Djangoの件もエラーの詳細が分かりにくい
環境構築はほんとWindowsはめんどくさい気がする
ここの人達は流石にWindows環境の人はいないか
293:デフォルトの名無しさん
15/09/28 16:23:21.76 s7G6tMwD.net
基本的にエディタあればどんな環境でもコーディングできるんだから
好きなのにすりゃいいと思うよ
まさかSurfaceで(本番環境として)django動かす訳じゃないんだろ?
294:デフォルトの名無しさん
15/09/28 16:50:55.17 dlMXkm1Y.net
仕事としてないのに見え張るなよ
295:デフォルトの名無しさん
15/09/28 20:32:49.45 91/ACm3S.net
>>275
> 個人的にコンピューターの動作が遅いのは苛々するんよ
とか言ってる奴が
> 今デュアルブートでやってるから
ってネタか余程の間抜けにしか見えない…
296:デフォルトの名無しさん
15/09/28 20:54:33.35 EuxVMsYV.net
仕事をしているような人が聞くレベルの質問じゃねえな
297:デフォルトの名無しさん
15/09/28 21:00:24.89 OmBgfqlE.net
動作のもたつきとデュアルブートの煩雑さは別の問題だろ
デュアルブートの煩雑さを解消するためにWindows1本にしたいが重くならないか心配だって言ってんだからまったく矛盾はない
298:デフォルトの名無しさん
15/09/28 21:02:13.54 EuxVMsYV.net
>surface pro 4買おうと思って
こういうやつだしな
299:デフォルトの名無しさん
15/09/28 21:07:00.43 JfTylyW8.net
疲れた
2時間も遅れて来るなよクソックソッ
重くなるに決まってるが、許容できるかどうかは本人次第だろう
嫌なら我慢
300:してデュアルブート続けるか、意味不明なエラーと死ぬまでつきあってろ
301:デフォルトの名無しさん
15/09/28 21:11:04.78 OmBgfqlE.net
重くならないかっていうのは仮想マシンの話の流れか
そこは訂正
302:デフォルトの名無しさん
15/09/29 10:34:31.22 5DFpZmVK.net
最近気づいたこと
・PythonでWebサイトを作るな
・コマンドラインツールや機械学習でのみPythonを使うべき
303:デフォルトの名無しさん
15/09/29 10:48:20.13 9FBYnxt5.net
CGIがどんな言語や仕組みかって事を気にする人?
そんな事気にする前にバグを直せよ…
304:デフォルトの名無しさん
15/09/29 12:02:07.30 5DFpZmVK.net
CGIwwwwwww今時CGIはねえわ
305:デフォルトの名無しさん
15/09/29 12:52:29.49 qVFuDZbI.net
芝は心の贅肉
306:デフォルトの名無しさん
15/09/29 14:05:42.97 Up7l2XRn.net
>>289
最近全く同じこと思ったわ
307:デフォルトの名無しさん
15/09/29 16:19:17.26 9FBYnxt5.net
むう、コマンドラインツールとか言ってるから、それと対応するWeb用のPythonという
前提でCGIという単語を敢えて使ったんだが…
>>299 は自分が書いたことを覚えていないのだろうか?
それともWSGIはゲートウェイインターフェイスではないと言い張る為だろうか?
変な奴の考える事は謎だ…
308:デフォルトの名無しさん
15/09/29 16:30:36.57 qVFuDZbI.net
オトコの未練は醜い
309:デフォルトの名無しさん
15/09/29 17:03:47.09 9Cv+9YBr.net
コマンドラインツールから何故CGIが出てくるのか謎杉・・・
CGI==WGSIと考えてるところも理解できない・・・
ちょっとググって間違った知識を植え付けられたか
310:デフォルトの名無しさん
15/09/29 17:17:36.56 kWYiG2HY.net
コマンドラインの標準出力をブラウザに返せばCGIでしょ
311:デフォルトの名無しさん
15/09/29 18:17:12.76 cUhHTA84.net
>>289
どうしてなんですか
Webに手を出すつもりはない初心者ですが
理由がちょっと気になるので参考までに教えてください
312:デフォルトの名無しさん
15/09/29 20:55:53.94 tsybo51+.net
>>289
ちゃんとフレームワーク使ってる?
313:デフォルトの名無しさん
15/09/29 20:56:26.09 r6tWHKV4.net
Python3でファイルを操作する方法を調べてるんだけど
機能があちこちのモジュールに分散していて覚えづらい
歴史を重ねながら拡張してきたからかな?
コピー
shutil.copyfile
shutil.copy
shutil.copy2
リネーム
os.rename
os.replace
移動
shutil.move
削除
os.remove
os.unlink
存在確認
os.access
os.path.exists
ファイル一覧取得
os.listdir
glob.glob
314:デフォルトの名無しさん
15/09/29 22:10:12.45 Pz1/YzO9.net
ライブラリがたくさんあって困っているそこの奥さん!
実はオブジェクト指向で設計されたpathlibがあります!
今(3.4以降)ならなんと標準ライブラリに入っています!
315:デフォルトの名無しさん
15/09/29 22:26:18.69 38981mSj.net
でもお高いんでしょう?
316:デフォルトの名無しさん
15/09/29 22:36:08.60 Pz1/YzO9.net
argparseのようにOOP推しなのでPythonに不慣れな方でも使えます!
※個人の感想だけどpathlibはOOP全力なインターフェースで少々くどい
でもRubyからライブラリを移植するときに物凄く便利だった
317:デフォルトの名無しさん
15/09/29 22:45:21.06 kWYiG2HY.net
一度使うと次々別のライブラリ勧められて、
いつの間にか引き返せなくなりそうですね
引き返すなら今のうち・・・
318:デフォルトの名無しさん
15/09/29 22:45:59.57 xmaTIn9P.net
ほほう…「便利」の意味合いをもう少し具体的に知りたいね
319:デフォルトの名無しさん
15/09/29 22:51:16.84 WyeI8SJL.net
>>297
知ったかしたいだけでしょ
スルーでいいと思うよ
320:デフォルトの名無しさん
15/09/29 22:56:57.65 qVFuDZbI.net
pathlibはもう少し標準ライブラリのサポートをなんとかしてくれませんかね
strしないと使えないモジュール�
321:スすぎますよ
322:デフォルトの名無しさん
15/09/29 22:57:22.54 R456hPpB.net
自演おつかれ
323:デフォルトの名無しさん
15/09/29 23:10:32.65 Pz1/YzO9.net
>>305
RubyのPathnameっぽい、というか考え方が同じだからコピペ手直しで大体動く
>>307
open()への引数くらいは対応しろとよく思う
関数やオブジェクトを超えてやりとりすると必然的に他も強制されるから嫌い
324:デフォルトの名無しさん
15/09/30 03:47:27.46 EX9JFA6F.net
>>289
Pythonには、標準ライブラリだけで動作する、
Bottle というWEBアプリ・フレームワークがある
でも、Rubyでsinatraなら、何も考えなくても、
これだけで、hello というWEBサイトが表示されるw
require 'sinatra'
get '/' do
'hello' // ここに処理を書く
end
325:デフォルトの名無しさん
15/09/30 04:23:57.36 w7SPUet/.net
型の扱いがいいかげん言語ってこわくない?
初心者はなんとなく使えて便利だけど
遅かれ早かれ全部確認しないと気が済まなくなる。
326:デフォルトの名無しさん
15/09/30 05:20:59.27 YJQV+FkT.net
次のうちエラーになってほしい式を選べ
1+"1"
1+True
1+1.1
全部選んだ人:演算子オーバーロードは許さないよ派(OCaml)
1+"1"を選んだ人:真偽値ってぶっちゃけ0か1でしょ派(C、Python)
1+"1"と1+Trueを選んだ人:式文の意味を重視するよ派(Haskell、Ruby)
1+Trueを選んだ人:真偽値リテラルはないよ派(Perl5)
327:デフォルトの名無しさん
15/09/30 06:18:59.36 4e29nm1y.net
>>309
なるほどありがとう
328:デフォルトの名無しさん
15/09/30 06:39:52.37 7Lys9n7q.net
>>304
童貞乙
329:デフォルトの名無しさん
15/09/30 08:00:23.13 BGePcDbg.net
>>311
理解がめちゃくちゃだな
330:デフォルトの名無しさん
15/09/30 08:02:02.39 BGePcDbg.net
>>275
色んな人に突っ込まれてるけど
君は読解力が無いねってよく言われない?
331:デフォルトの名無しさん
15/09/30 08:02:52.14 9ZgwE0tZ.net
pathlibのドキュメントを調べてみた
メソッドにファイルのコピーと移動がないっぽい
パスを1つのオブジェクトとして扱うクラスがゆえに
コピー元、コピー先の2つを指定する必要のある機能は想定していないのか?
>>300の表がますますカオスになる…
332:デフォルトの名無しさん
15/09/30 08:02:58.84 BGePcDbg.net
>>272
>以前VMWare使ってた時は、便利と思ったけど個人使用にはオーバースペックすぎたw
オーバースペックの意味を間違ってるね
まるっきり逆の意味で使ってるよ
333:デフォルトの名無しさん
15/09/30 08:48:55.48 +AX0hMMC.net
Surface Pro4欲しい君を弄るのはそろそろヤメタマエ
334:デフォルトの名無しさん
15/09/30 09:20:28.89 YJQV+FkT.net
>>317
rename()とreplace()で移動はある
コピーはない、バグトラッカーでの追加の要望には否定的な回答が付いてる
335:デフォルトの名無しさん
15/09/30 12:51:24.45 g5Kwg8L4.net
>>317
ファイルの rename や削除はOSの機能だけどコピーや移動は違うからでしょ
336:デフォルトの名無しさん
15/09/30 12:53:57.81 g5Kwg8L4.net
>>318
オーバースペックで重たかったと言ってるんだろ
何も間違えてないと思うが
337:デフォルトの名無しさん
15/09/30 13:21:14.91 v45HhpVr.net
>>275
文句を言う前に金払って開発環境を揃えればいいだけ
12万で買えるクラスののデスクトップ買ったばかりだけどストレスを感じたことはない
338:デフォルトの名無しさん
15/09/30 13:36:32.56 DDo+L8wA.net
CoreMと噂のsurface pro4が欲しいとか言ってる時点で
プログラミングはファッションレベルに決まってるで
開発に使うようなマシンじゃねー
339:デフォルトの名無しさん
15/09/30 17:34:03.91 EKYNYvpv.net
うむ
340:デフォルトの名無しさん
15/09/30 21:19:52.50 upKJw7Zd.net
デスクトップで開発とかダセーw
341:デフォルトの名無しさん
15/09/30 22:17:31.18 4e29nm1y.net
342:俺はノートでやってるよっ☆ (^-^)/
343:デフォルトの名無しさん
15/09/30 23:13:40.03 NW4C2hiZ.net
俺はコンピューター持ってないから脳内で
344:デフォルトの名無しさん
15/09/30 23:36:34.92 aEcL3JaV.net
スレリンク(internet板:107番)
↑ ↑ ↑ ↑ ↑
345:デフォルトの名無しさん
15/10/01 01:20:40.78 jlLOirXX.net
よくnote pcなんかに無駄金払えるなw
346:デフォルトの名無しさん
15/10/01 06:28:28.23 NYBY5O+J.net
タマネギ無しでカレー作るなら甘み出すためにリンゴ入れた方がいいですかね?
っていう質問に、タマネギ入れろよって答えるような人が多いよねここ
色々な制約が人によってあってその範囲内での質問回答が求められてるのにタマネギ入れろよしか言えない人
馬鹿だと思う
347:デフォルトの名無しさん
15/10/01 07:26:15.35 r8teaEYT.net
>>331
ITってとりあえず自分で試せよってのが基本じゃないかなぁ
やったことないことにまともな答えなんてできねーじゃん
「俺の質問に答えてくれないから糞」ってのはバカな人の思考だよね
348:デフォルトの名無しさん
15/10/01 07:37:18.85 /jpbfw6N.net
>>332
>>331のいう、それ、そのものやないかい
相手の言う事を理解できてなくて、
自分の思う事を言ってるだけって事なんだよね。
要するに。
349:デフォルトの名無しさん
15/10/01 08:34:30.11 f5gJwSlF.net
とりあえず>>332は社会不適合者のバカだという事でw
まぁ学校とかでも友達や彼女もいないで一人暗く過ごしてたような奴らが多いからなましてやここは2ch
350:デフォルトの名無しさん
15/10/01 10:39:30.62 ZcWNnYYP.net
>>331
スレタイ読めよw
お前さんの例えで言えば
質問が「お米は洗剤で洗ったあと何回すすげばいいんですか?」
だとすると、それの答えが「水で洗え、お湯で洗う人もいる」
これの何が悪い?
351:デフォルトの名無しさん
15/10/01 11:04:54.82 mpdw7HPU.net
無洗米買えよ
352:デフォルトの名無しさん
15/10/01 11:21:52.65 Td7LqfLC.net
surface君が荒らしてるのか
353:デフォルトの名無しさん
15/10/01 12:24:39.57 9rEn1f0E.net
わざわざ下手くそな例えで話を混乱させる人が多いよねここ。
354:デフォルトの名無しさん
15/10/01 12:28:09.16 VU6YL+ln.net
>>332,335 以外は特に混乱してないように見えるが。
355:デフォルトの名無しさん
15/10/01 12:33:38.49 9rEn1f0E.net
つまり混乱してるんだなw
356:デフォルトの名無しさん
15/10/01 12:41:46.95 /jpbfw6N.net
レスするか迷ったけどレスしちゃう
>>335
質問の内容がおかしいだろ
「米を洗剤で洗った」と聞けば、あなた頭おかしいんじゃないの?
と普通の人はなる
だから、「水で洗え、お湯で洗う人もいる」
という答えになる。
「タマネギ無しでカレー作る」と聞いても、あなた頭おかしいんじゃないの?
とはならない
質問を聞いて「あなた頭おかしいんじゃないの?」と、
なる・ならないの前提が違うので話にならない
357:デフォルトの名無しさん
15/10/01 13:25:17.91 dS12aCbL.net
>>331-341
タマネギだの米だのスレ違いだろ
続きはここでやってくれ
スレリンク(tech板)
358:デフォルトの名無しさん
15/10/01 13:28:37.33 BBaRIJcZ.net
>>341
なるほど一理ある
359:デフォルトの名無しさん
15/10/01 14:42:14.05 Td7LqfLC.net
最近はモバイルと固定回線とスマホがあるお陰で自演も楽勝だな
360:デフォルトの名無しさん
15/10/01 14:55:28.04 /jpbfw6N.net
お前がそう思うんならそうなんだろう お前ん中ではな
361:デフォルトの名無しさん
15/10/01 16:59:38.46 5+pXOgtK.net
>>341
お前さんが想像力がないやつだと言うのがよくわかったよ
超初心者は米を洗剤で洗うような質問をする
Pythonに詳しいやつからみればな
お前さんは、米を洗剤で洗わないのは常識だ、というのがただの思い込みだということにそもそも気づいてないだろ
だから理解できないんだよ
362:デフォルトの名無しさん
15/10/01 17:27:16.41 /jpbfw6N.net
何言ってんだぁ
こ�
363:「つ
364:デフォルトの名無しさん
15/10/01 19:15:47.64 AxFWNbqN.net
あんまり例え話好きじゃないから読んでないや
365:デフォルトの名無しさん
15/10/01 19:46:08.96 M/7MGMo6.net
悔しいのならアンカー打って反論すればいいと思うの
366:デフォルトの名無しさん
15/10/01 21:36:59.41 s3U6j/Jt.net
米は研げよ、洗うな馬鹿タレ。
367:デフォルトの名無しさん
15/10/01 21:53:03.78 6DvvsA2I.net
米洗ふ 前に蛍の 二つ三つ
368:デフォルトの名無しさん
15/10/02 06:41:28.52 AkqrFCcI.net
>>351
pythonで書けよ。
369:デフォルトの名無しさん
15/10/02 07:47:24.13 gd9xqVj7.net
print()使うだけ
370:デフォルトの名無しさん
15/10/02 09:35:38.01 8oryoHg9.net
負けてるやつ、そろそろ諦めろ
畳み掛けてるやつ、そろそろやめておけ
ところで、いま初心者にすすめるんだったら2.7?3?
371:デフォルトの名無しさん
15/10/02 11:19:05.47 KgiramNs.net
I wish to wash come with me zoo
372:デフォルトの名無しさん
15/10/02 11:50:00.62 yPSgHmJT.net
>>354
3系
と答えたいが、どっちがいい?ときいてくる人には
最初に学習に使う書籍やWEBサイトを決めて、使っているバージョンに従えと答える
あとPythonがプログラミング初学ではないからおススメの書籍とかは分からない
373:デフォルトの名無しさん
15/10/02 12:27:15.25 7uxKcXjP.net
そもそも初心者が初心者に何かを勧める行為をお勧めしない
374:デフォルトの名無しさん
15/10/02 17:08:55.30 x7S/CcUO.net
>>310
bottleでHello Worldを出すのも同じぐらい簡単だったと思うのですが。
実際に運用する際はuwsgiやrackなどを使うので全体で比較するとファイルを置くだけでインストールが完了するbottleの方が楽なのではないかと。
375:デフォルトの名無しさん
15/10/02 19:06:49.68 m/wHrWte.net
>>354
3でしょ
2でしか使えないライブラリがあって,どうしてもそれを使いたいのなら別だけど
376:デフォルトの名無しさん
15/10/03 08:59:26.91 fomIpGMD.net
#coding: cp932
import networkx as nx
from matplotlib import pyplot
def main():
g = nx.Graph()
g.add_edge(10,20)
g.add_edges_from([(30,40),(40,50),(1,2)])
print(g.edges())
nx.draw(g, node_color = 'b')
pyplot.show()
if __name__ == '__main__':
main()
377:デフォルトの名無しさん
15/10/03 08:59:56.37 fomIpGMD.net
というコードを書いて実行すると、
○-○
○‐○
○‐○-○
とノード付きのグラフが表示されるのはいいのだけど、
○の中に肝心の数字が何も入らなくて困っています。
くぐっても分からないので、知っている方はご解答、よろしくお願いします。
使っているpythonは、2.7系です。windowsユーザーです。
378:デフォルトの名無しさん
15/10/03 09:10:26.14 fomIpGMD.net
'''☆★で出来たピラミッドを表示するコード'''
def pyramid(n): # nでピラミッドの段数を指定する
i = 0
while i < n:
pad = ' ' * (n - i - 1)
block = '★' * (2 * i + 1)
print pad + block
i += 1
def pyramid2(n):
i = 0
while i < n:
pad = ' ' * (n - i - 1)
block = '☆' * (2 * i + 1)
print pad + block
i += 1
379:デフォルトの名無しさん
15/10/03 09:10:58.08 fomIpGMD.net
def pyramid3(n): # 逆ピラミッド
print '\n'
i = 0
while i < n:
block = '★' * (n - i)
pad = ' ' * i
print pad + block
i += 1
def pyramid4(n): #逆ピラミッド
print '\n'
i = 0
while i < n:
block = '☆' * (n - i)
pad = ' ' * i
print pad + block
i += 1
380:デフォルトの名無しさん
15/10/03 09:16:04.36 RHKUDZj0.net
>>361
たぶんnodeの追加が足りない
ライブラリに詳しくないから検索してヒットしたページを張っとく(@はrockよけ)
URLリンク(oceanmarine.sak)@ura.ne.jp/sphinx/group/group_networkx
381:.html#networkx-node
382:デフォルトの名無しさん
15/10/03 09:22:53.10 RHKUDZj0.net
あ、nodeじゃなくてpath_graphの追加だな
383:デフォルトの名無しさん
15/10/03 09:52:32.56 fomIpGMD.net
>>364 >>365
ありがとうございます。教えて頂いたサイトの最後の箇所にあったコードを文字コードをwin用に
変えて実行してみたところ、同じグラフがノードに数字入りで出ました。まだ初心者なので、少し
コードを見ただけでは全然分からないのですが、あとで、じっくり検証してみます。ありがとうございました。
windowsユーザーの方もいるかもしれないので、一応、その変更コードも一応、貼っておきます。
384:デフォルトの名無しさん
15/10/03 09:53:14.04 fomIpGMD.net
#coding: cp932
import networkx as nx
import pylab as plt
import matplotlib
from pylab import *
import matplotlib.font_manager
prop = matplotlib.font_manager.FontProperties(fname=r'C:\Windows\Fonts\meiryo.ttc', size=15)
385:デフォルトの名無しさん
15/10/03 09:53:45.59 fomIpGMD.net
def graph():
G = nx.Graph()
nodes = G.add_nodes_from([0, 1, 2, 3])
G.add_edges_from([(0, 1), (0, 2), (0, 3)])
pos = nx.spring_layout(G)
degree_dic = nx.degree(G)
print(degree_dic)
degree_pos = {}
for k, (x, y) in pos.items():
degree_pos[k] = (x+0.05, y+0.05)
nx.draw_networkx_nodes(G, pos, node_color='b', alpha=0.5)
nx.draw_networkx_edges(G, pos, alpha=0.5)
nx.draw_networkx_labels(G, pos)
nx.draw_networkx_labels(G, degree_pos, degree_dic)
plt.title(u'各ノードの枝数をノードの右上に表示してみた',fontproperties=prop)
plt.axis(u'off',fontproperties=prop)
plt.show()
def main():
graph()
if __name__ == '__main__':
main()
386:デフォルトの名無しさん
15/10/03 10:46:52.36 2BaZKaXa.net
def 関数1:
…
def 関数2:
…
def 関数3:
…
def main:
関数1()
関数2()
関数3()
…
if __name__ == '__main__':
main()
という風に関数を上から順に呼び出していく定型処理のスクリプトがあったとして
開始時のユーザー選択により、関数1でなく任意の関数から開始する、という
フロー制御は、どう書けば実現できるだろう
関数が20個くらいあるので、呼び出しパターン全てをmainにifで書くのはできればやりたくない
GOTOのある言語なら、ラベルを付けておいて各々に飛ばせば済むんだが
387:デフォルトの名無しさん
15/10/03 11:04:10.76 tCbgZp8x.net
自分自身を返す関数のとき,アノテーションはどうかけばいいですか?
クラス名を書くとエラーになってしまいます
class Test:
def func(self) -> Test:
return self
Test().func()
Traceback (most recent call last):
File "a.py", line 2, in <module>
class Test:
File "a.py", line 3, in Test
def func(self) -> Test:
NameError: name 'Test' is not defined
388:デフォルトの名無しさん
15/10/03 11:06:58.47 tCbgZp8x.net
>>369
すごい適当ですけど,関数をリストにいれればいいんじゃないですか?
389:デフォルトの名無しさん
15/10/03 12:04:35.06 jyP1OZ7g.net
>>369
>開始時のユーザー選択により
どう選ばせるかはもう決まってる?