[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/05 00:30 / Filesize : 223 KB / Number-of Response : 1032
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part52



1 名前:デフォルトの名無しさん mailto:sageteoff [2017/01/07(土) 11:40:57.40 ID:XDvKv2Q+.net]
Pythonオフィシャルサイト
www.python.org/

まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
www.python.jp/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む

■前スレ
Pythonのお勉強 Part51
echo.2ch.net/test/read.cgi/tech/1443700103/

982 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 16:36:26.02ID:SNVl6Q5d.net]
そのためにこのスレがあるわけだな

983 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 17:38:10.27ID:/TQAsneg.net]
>>955
ですよね。
試しにボタンのクリックイベントでそのまま長い処理をしてみたら、固まりました。
multiprocessing とかいくつかあるみたいですね。
最近のはやりというか、動向のようなものはあるんでしょうか。

984 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 17:53:30.81ID:lBRx19G1.net]
>>957
multiprocessingは文字通りプロセスの複製をするので特別必要でもない限りおすすめしない、色々めんどい
ちょっと調べてみたけど最近のpythonにはfuturesってライブラリが付いてるみたいだね

985 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 18:01:17.68ID:pgL0NfN7.net]
qt使うならqt側で用意されてるQThread使ったほうが面倒ないと思うよ

986 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 22:53:59.34ID:UrL0+2Dc.net]
で、結局どの本なのよ
超初心者向けの本よ

987 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:02:11.60ID:84Td0x+H.net]
入門書レベルならググれば済むしリーダブルコードみたいなの持ってたほうがよっぽど役に立つよ

988 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:14:46.64ID:/TQAsneg.net]
ありがとうございます。有益なキーワードが得られました。
結構いろいろとあるんですねえ。Python も始めたばかりで、どの方法にどんな特徴とか
なかなかわからないんですが、この辺は試してみるしかないんでしょうね。

989 名前:デフォルトの名無しさん [2017/05/12(金) 23:19:50.58ID:rWPyWTss.net]
プログラミング経験あるならdive in to Python 3

990 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:21:33.05ID:m61B9PhQ.net]
この世界では他の人の意見を聞いているときりがない。100人いれば100通りの意見と方法がある
ある程度で区切って何も考えずに突っ込め
そうすれば101人目になれる



991 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:36:22.31ID:skCfdmlm.net]
区切るなら50人と50人だろ

992 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:42:33.39ID:2BHeKZjd.net]
超初心者ならpaizaみたいな動画学習コンテンツが良いと思うな

993 名前:デフォルトの名無しさん [2017/05/13(土) 01:17:24.61ID:8952tOHM.net]
質問。

ジェネレータの入れ子ってできないのですか?
期待した結果が返ってきません。

data = ['abc','def','ghi']
gen = (moji for moji in (words for words in data))

期待する答え
'a' 'b' 'c' 'd' 'e' …

実際の答え
'abc' 'def' 'ghi'

994 名前:デフォルトの名無しさん [2017/05/13(土) 01:36:09.20ID:PLp5Hu9G.net]
(words for words in data)のジェネレーターが返すのは
['abc','def','ghi']と同じだから、そうなる

やりたいのは、こっちじゃないのか

gen2=(moji for words in data for moji in words)

995 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 02:04:05.41ID:nrviLaTM.net]
初心者が本を読んで、簡単にプログラミングできるようになることは、あり得ない

初心者には2種類あって、プログラミングの初心者と、
プログラミングは既に知っていて、その言語だけは知らないという人

各言語の入門書は、プログラミングの入門書ではない。
Python, Ruby, JS などのスクリプト言語を、既に知っていることが前提条件で、
その言語だけは知らないという人向け

言語の入門書が分からなければ、プログラミングの入門の入門のような、
プログラミングの入門書に戻る必要がある

996 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 06:25:49.10ID:fKjxEgdl.net]
人によって馴染める学習方法違うからな
私は先ず人のプログラムを読んで理解した
本に頼るなら実践とかタイトルついてるやつになるのかな

ただプログラムという道具は使えるようになるが
どんなプログラムを作ればいいかというのはまた別だ
要求されるのがどの範囲なのか

997 名前:デフォルトの名無しさん [2017/05/13(土) 07:06:58.95ID:8952tOHM.net]
>>968
ありがとう。

gen2=(moji for words in data for moji in words)
で、望む結果が得られるのは分かりますが、

gen = (moji for moji in (words for words in data))
で、望む結果が得られない理由が分からないのです。

処理の順番として、内側のジェネレータが処理され、その部分的な結果に対して外側のジェネレータで処理される"はず"、と思っているのですが。。
そもそもは、そうすることでメモリ効率が良さそう(より一度にメモリを載せる必要がなくなる)と思ったのです。

どこが考え違いをしているのでしょう?

998 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 07:12:13.04ID:RjzTmCQE.net]
>>968
> moji for words in data for moji in words
なんか普通の文章みたい w

999 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 07:49:58.08ID:o+hva64L.net]
だって高級言語だもん

1000 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:45:42.81ID:nrviLaTM.net]
内包表記は、Guido ですら、難しいと言ってる。
C/C++ のポインタみたいに、何か、人間の直感に、逆らう事をしているのだろう

だから、Rubyの方が、簡単と言われる



1001 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:06:28.71ID:nrviLaTM.net]
Rubyのブロックの形に直してみる

words for words in data

data.each { |words| p words }

moji for moji in words

data.each do |words|
words.each_char { |moji| p moji }
end

1002 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:11:52.24ID:nrviLaTM.net]
pythonの内包表記を少し詳しく
qiita.com/y__sama/items/a2c458de97c4aa5a98e7

ジェネレータ式とタプル内包表記

構文から勘違いしやすいですが、
()で囲んでも、タプル内包表記にならずにジェネレータ式になります

1003 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:21:25.93ID:5H1qnTU0.net]
>>971
gen = [[moji for moji in words] for words in data]
では?

1004 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:48:53.86ID:fKjxEgdl.net]
>>974
lispっぽくて書きやすい

1005 名前:デフォルトの名無しさん [2017/05/13(土) 11:58:22.49ID:1iFjjcJx.net]
悪い事は言わんlispの事は忘れるんだ
奴はお前らに扱いきれるような代物じゃない

1006 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 12:26:59.03ID:fKjxEgdl.net]
関数 a(b, c) // sum(1,2)
オブジェクト指向 b.a(c) // 1.add(2)
二項演算子 b a c // 1 + 2
lisp (a b c) // (+ 1 2)

そんな違わなくない
一番シンプルでわかりやすいような

1007 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 12:39:33.28ID:T7A75EKS.net]
Lispは特にキチガイを引きつける印象がある
発達障害が電車のような秩序立った動きをするものにひきつけられるのと似ている

1008 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 14:24:05.11ID:sx55BAwu.net]
モジュール名の先頭にアンダースコアがついてるのって意味ありますか?

1009 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 14:43:44.37ID:m48zL+ZP.net]
>>982
PEP8によると
https://pep8-ja.readthedocs.io/ja/latest/#id29
>C や C++ で書かれた Python の拡張モジュールに、高レベルの (例:オブジェクト指向的な)
>インターフェイスを提供する Python モジュールが付いている場合は C/C++ のモジュールはアンダースコアで始まります

らしいっすよ

1010 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 16:36:31.86ID:hRHxdCtf.net]
>>967
iterableの入れ子を平坦にしたいときはitertools.chain.from_iterableを使っときな
https://docs.python.jp/3/library/itertools.html#itertools.chain.from_iterable



1011 名前:デフォルトの名無しさん [2017/05/13(土) 17:36:44.66ID:PLp5Hu9G.net]
>>971
外側のジェネレーターが何回ループするか考えるんだ。

内側のジェネレーターは単語を一つずつ生成する式と考えられ、外側のジェネレータはその単語を一つずつ処理する式だから、結局単語を文字として処理するループがいない。

ジェネレーターは入れ子にしなくとも、全体として遅延評価するから、ループ毎にジェネレーターを作らなければならないという考え方が誤ってる。

1012 名前:デフォルトの名無しさん [2017/05/13(土) 17:37:52.47ID:PLp5Hu9G.net]
>>977
これは、リストのリストを生成してしまうから、違うね

1013 名前:デフォルトの名無しさん [2017/05/13(土) 17:47:02.90ID:PLp5Hu9G.net]
>>971
あとpythonの内包表記は、一番最初にループの最も内側の要素を書くのに、それ以降は外側から順に書くから、字下げしないと非常に分かりにくい。
字下げすると、普通の多重ループと変わらないから逆に分かりやすくなるけど。

1014 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 19:58:36.14ID:8952tOHM.net]
ジェネレータ入れ子の件

回答ありがとうございました。よく分かりました。スッキリです。

1015 名前:デフォルトの名無しさん [2017/05/13(土) 20:17:28.09ID:Lbdw/CyI.net]
PTVSがやっとVS2017に組み込まれた

1016 名前:865 mailto:sage [2017/05/13(土) 21:34:01.84ID:PMUdnM5S.net]
>>989
お、それはめでたい。
小物はcodeで書くんだけどwxとかcvとか使い出すとインテリセンス欲しくなる。
codeも何となく出してくれるんだけど物足りない。

1017 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 21:41:11.24ID:WSGfd40J.net]
内包表記とか結局わかりにくいから使わんほうが良いよね

1018 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 21:46:52.91ID:F7kBjgw1.net]
二重ループとか初見殺し

1019 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 22:00:18.12ID:nrviLaTM.net]
>>991
内包表記は速いし、

遅延評価だから、2重ループの際、中間のリストを作らないから、
使用メモリが少ないのかな?

1020 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 22:17:33.69ID:nqy4zZB5.net]
内包表記わかりにくいってデバッグしにくいという意味か?
まさか読みにくいってことはないだろうし



1021 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 22:48:57.09ID:O7RODXwf.net]
次スレ立てたよ。

Pythonのお勉強 Part53 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1494683284/

1022 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 00:25:44.07ID:ausMvItD.net]
のりこめー

1023 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:55:08.15ID:e/yCKCsM.net]


1024 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:55:40.65ID:e/yCKCsM.net]
埋め

1025 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:55:56.37ID:e/yCKCsM.net]
埋め

1026 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:56:23.54ID:e/yCKCsM.net]
埋め

1027 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:56:39.51ID:e/yCKCsM.net]
埋め

1028 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 08:57:14.99ID:e/yCKCsM.net]
埋め

1029 名前:1001 [Over 1000Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 126日 21時間 16分 18秒

1030 名前:1002 [Over 1000Thread.net]
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php



1031 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<223KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef