Pythonのお勉強 Part52at TECH
Pythonのお勉強 Part52 - 暇つぶし2ch713:デフォルトの名無しさん
17/03/22 23:25:19.72 ThvgoSqB.net
全角と半角のスペースが混在することなんて本当にあるんかね?
変数名を全角文字使って書いてたらありうるのか
文字列リテラル以外のところで全角スペース間違って入っててもエラー出て一発でわかるだろうに

714:デフォルトの名無しさん
17/03/22 23:29:42.58 6MsxsFAP.net
初心者時代にウェッブからコピペしてたら全角スペース食らったな、原因の特定で30分消えた

715:デフォルトの名無しさん
17/03/22 23:36:31.25 tZVwD734.net
ウェッブ

716:デフォルトの名無しさん
17/03/22 23:39:50.96 ThvgoSqB.net
ああ、ゥエッブからコピペならありそうだな
初心者ならエラーメッセージ見てもよくわからんか

717:デフォルトの名無しさん
17/03/22 23:53:33.52 s6TCZGrO.net
tixは3.6で撤廃されるけどな

718:デフォルトの名無しさん
17/03/22 23:54:08.91 tZVwD734.net
しー

719:デフォルトの名無しさん
17/03/23 08:30:44.01 JsFt79NU.net
え、それ困るな。
代替は用意されないの?

720:デフォルトの名無しさん
17/03/23 09:23:26.80 HnTvYzoy.net
つttk
撤廃も代替もtixドキュメントのトップに書いてありますがな
>>690から行けまっせー

721:デフォルトの名無しさん
17/03/23 11:46:17.50 39On3zda.net
URLリンク(try.jupyter.org)
ここの
Welcome to Python.ipynb
を選んで
File - New Notebook
を作ってソースを入れると実行されるのですが
日本語の表示が可笑しいのです
どうすれば日本語を表示できますか

722:デフォルトの名無しさん
17/03/23 15:12:57.94 lMN/iAdI.net
笑えばいいと

723:デフォルトの名無しさん
17/03/23 18:31:35.04 JsFt79NU.net
>>701
ありがとう。
でも、そもそもttkではできないことをするためにtixを使っていた。
そもそもtixってそういう位置づけのものだと思う。
URLリンク(i2.wp.com)

724:デフォルトの名無しさん
17/03/25 16:38:08.73 Kx0eU1yK.net
別の某言語だと全画面しかとれなかったのですが、
Windowsのアクティブウインドウあるいは指定したアプリケーションのスクリーンショットって、
Pythonで取得できますか?

725:デフォルトの名無しさん
17/03/25 16:44:16.25 5MnOmzEx.net
とれます

726:デフォルトの名無しさん
17/03/25 16:50:45.41 Kx0eU1yK.net
>>706
ありがとうございます。
早速調べてみますね。

727:デフォルトの名無しさん
17/03/28 07:37:18.84 BRlIFiUe.net
アルゴリズム(仕組み)考えるには数学と何を勉強するの?
総計、幾何学、数学……python
グラフィックと組み合わせる?←デザイン論(視覚効果がどうとか)
調べたら、山ほど出てきて分からなく成りました
どなたか、ご教授おねがいします

728:デフォルトの名無しさん
17/03/28 08:11:20.54 0jTbPEdm.net
Pythonはおやつに入りますか?

729:デフォルトの名無しさん
17/03/28 09:54:21.79 FL01cXZa.net
いいえ、スネークの主食です

730:デフォルトの名無しさん
17/03/28 10:08:55.89 idISHk3E.net
>>708
アルゴリズムを考えるのに知識はいらない
発想力だけあれば良い
そこに挙げられているのは考えたアルゴリズムを実装する時に役に立つものでしかない
プログラマーと数学者は別物である

731:デフォルトの名無しさん
17/03/28 10:57:36.59 5Al1oUXa.net
>>708には無理

732:デフォルトの名無しさん
17/03/28 11:03:32.56 iddTGm6m.net
>>708
馬鹿には無理

733:デフォルトの名無しさん
17/03/28 11:41:44.72 pnMbSu0j.net
アルゴリズムってさあ・・・パッションなんだよ、リズム
リズムに乗ってホットなビートをコードに刻む
それがアルゴリズム
わかるやつにはわかる

734:デフォルトの名無しさん
17/03/28 12:03:02.94 lljU2zW0.net
>>708
色んなアルゴリズムを勉強すれば良いよ
最初は何でも模倣から始めよう

735:デフォルトの名無しさん
17/03/28 12:11:33.59 FL01cXZa.net
気持ち悪いの湧き過ぎ

736:デフォルトの名無しさん
17/03/28 12:38:15.89 noLFLqhs.net
とりあえずピタゴラスイッチをひたすら見る。

737:デフォルトの名無しさん
17/03/28 13:05:14.12 YukDoBMh.net
これを勉強すればあなたも簡単にアルゴリズムを作れます
猫にも分かるメタアルゴリズム 結城真央身

738:デフォルトの名無しさん
17/03/28 13:15:33.08 U8LHMV5B.net
初歩的なアルゴリズムの学習としてはソートとか最短経路問題をやればいいんでね?
ライブラリで間に合うことが多いけどね

739:デフォルトの名無しさん
17/03/28 13:21:58.74 YukDoBMh.net
車輪の再発明とは、「 広く受け入れられ確立されている技術や解決法を知らずに
(または意図的に無視して)、同様のものを再び一から作ること」を意味する。

740:デフォルトの名無しさん
17/03/28 15:21:27.52 pnMbSu0j.net
>>716
> 709 名前:デフォルトの名無しさん[] 投稿日:2017/03/28(火) 09:54:21.79 ID:FL01cXZa [1/2]
> いいえ、スネークの主食です

おっそうだな

741:デフォルトの名無しさん
17/03/28 15:33:48.98 d53nRh6U.net
ソートやみたいな初歩のアルゴリズムは発想でどうにかなるかもしらんが、
画像認識レベルになると基礎知識がないことには始まらんからな。

742:デフォルトの名無しさん
17/03/28 19:30:42.42 mCdw7Avm.net
画像認識は基礎は数学だが実務はアート

743:デフォルトの名無しさん
17/03/28 22:27:06.17 pnMbSu0j.net
そう、アートを理解できないやつがコードを語るなって感じ
ドンテルユアコードファキュー

744:デフォルトの名無しさん
17/03/28 22:35:12.69 IputLj+X.net
アルゴリズムの勉強をするなら、以下がおすすめ。
1) 書籍「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」(通称AOJ本、螺旋本)を参考にしながら、Aidzu Online Judge の問題を解く
2) ある程度慣れてきたら、yukicoder や AtCoder のコンテストに出てみる。
高度なアルゴリズムは、競技プログラミングのバイブル、「蟻本」を参照すると良い。
英語が苦手でないなら、TopCoder やCodeforces, Google Code Jam なんかに出てもいい。
Paiza や CodeIQなんかのコード転職サイトの問題は、簡単に解けるようになっているはず。
3) 体系的に、基礎からしっかりアルゴリズムの勉強をしたいなら、MITの教科書 Algorithm Introduction(和訳本もある)を使うと良い。

745:デフォルトの名無しさん
17/03/29 14:38:57.46 9B3vjVmW.net
>>712 711は真性包茎

746:デフォルトの名無しさん
17/03/29 14:41:13.94 9B3vjVmW.net
>>713 712は松沢病院へ行け。

747:あ
17/03/29 15:48:22.34 AoQaLdHc.net
いまどき、入門レベルのアルゴリズムは、
ネットで十分かなぁ。。

748:あ
17/03/29 15:50:18.04 AoQaLdHc.net
考える力を養いたいと言うなら、別だけど。。

749:デフォルトの名無しさん
17/03/30 07:38:54.36 rYGI56vL.net
仕事ではライブラリ関数を使ってね

750:デフォルトの名無しさん
17/03/30 10:31:48.05 yt8Lqqfr.net
考えないというのもひどいが

751:デフォルトの名無しさん
17/03/30 11:31:19.18 O4X45P8a.net
ブーム来ないかなぁ~

752:デフォルトの名無しさん
17/03/30 11:49:59.38 0JYM3L7z.net
今がブームの頂点だろ、機械学習の話題で。

753:デフォルトの名無しさん
17/03/30 12:09:09.62 7nYsYOYk.net
ブームメントに踊らされてるようじゃまだまだだね

754:デフォルトの名無しさん
17/03/30 13:17:48.94 Ptn18LYQ.net
pythonてどんな職場で使われてるん?
cobolとjavaとASPとVBしか扱ったことがないからわからん。使われてる職場を見たこともない

755:デフォルトの名無しさん
17/03/30 13:46:31.59 PDhBe/fU.net
r = re.compile('hoge')
このrをre.compileオブジェクトだと判定する方法を教えてください
rのクラスが<class '_sre.SRE_Pattern'>で、リンクオブジェクトなんたららしくて
_sreをインポートしてもSRE_Patternが無いんでisinstanceで指定できないっす、どうしましょ?

756:デフォルトの名無しさん
17/03/30 14:12:14.97 7nYsYOYk.net
どうしましょうね?

757:デフォルトの名無しさん
17/03/30 14:18:30.09 M4J/idZ/.net
>>736
適当に正規表現オブジェクトを作って
type(r)かr.__class__でクラスオブジェクト取れるのでこれ使えばいけるはず

758:デフォルトの名無しさん
17/03/30 15:25:56.62 m02PM+sL.net
>>736
クラスが公開されてないのだから、それのインスタンスかどうかを判定しようとするのが誤り。
なんで、判定したいの?

759:デフォルトの名無しさん
17/03/30 15:35:57.32 7nYsYOYk.net
動型言語なんだからインスタンスを生成した時は
全てのインスタンスをisinstanceして保証するのが
本当のプロの仕事

760:デフォルトの名無しさん
17/03/30 16:28:38.75 OIz9Y2z0.net
>>736
typing.Patternとtyping.Matchを使う
>>> import re, typing
>>> r = re.compile("foo")
>>> isinstance(r, typing.Pattern)
True
>>> m = r.search("foobar")
>>> isinstance(m, typing.Match)
True

761:デフォルトの名無しさん
17/03/30 17:03:31.35 PDhBe/fU.net
>>741
ありがとうございまーす。そちらの環境はPython2なのでしょうか?
私の環境はPython3しか無いので良く分からないのですが、例文の通りにするとエラーとなりましたが、
以下のようにしてできました。
>>> typing.Pattern.impl_type
<class '_sre.SRE_Pattern'>
>>> isinstance(r, typing.Pattern.impl_type)
True
>>739
文章から文字列を検索する関数を作る際に、文字列だけじゃなくて正規表現も使えるようにしたいと思いました。
しかしながら文字列を指定する引数と、正規表現を指定する引数を用意するのは格好悪い!と思いました。
よって、1つの引数で文字列と正規表現を指定できるようにして、関数内で判別しようと思ったのでした。
・・・ええ分かります!正規表現だけに対応すれば文字列指定なんて要らないと言うのは分かるのですが、
多くの場合文字列検索で事足りるのでございます。正規表現はオマケ、オマケなのでございます。
オマケなのですが非常に強力な正規表現。それらを1つの引数で指定する、、格好良いと思いました。
>>738
格好悪い
皆様ありがとうございました、また宜しくお願い致します。

762:デフォルトの名無しさん
17/03/30 17:28:35.71 OIz9Y2z0.net
>>742
それバージョンが古いな、3.5.3か3.6.1を使えばエラーでないと思う

763:デフォルトの名無しさん
17/03/30 17:32:33.77 7nYsYOYk.net
>>742
ええ分かります!あなたの発想は非常にマヌケ、マヌケなのでございます。

764:デフォルトの名無しさん
17/03/30 17:53:38.67 m02PM+sL.net
>>742
それなら、正規表現オブジェクトかどうかを判定するのではなく、matchメソッドやsearchメソッドを持ってるかを判定すればいい
あるオブジェクトが何であるかを気にするのではなく、どう振る舞うかを気にするべき
でも、俺なら文字列かどうかを判定して、文字列なら正規表現に変えてしまうけどな

765:デフォルトの名無しさん
17/03/30 18:01:39.89 HV+ddtAC.net
なんだろう。文章の書き方が生理的に嫌い。嫌いなのでございます。

766:デフォルトの名無しさん
17/03/30 18:18:50.96 VpSpOwP3.net
ですます調で下手に出た態度の質問の仕方をするとバカがいっぱい釣れて面白いのでございます。

767:デフォルトの名無しさん
17/03/30 18:20:12.03 bwQIU3h8.net
ここまで漏れの自演なのでございます。

768:デフォルトの名無しさん
17/03/30 18:22:30.18 LEwdK5Fw.net
正規表現リテラルがあるとよかったね
URLリンク(www.slideshare.net)

769:デフォルトの名無しさん
17/03/30 19:21:50.26 PDhBe/fU.net
>>745
採用! 
っと思ったんですが、、ん~~どーでぇしょう? 速度というか処理速度というかですねぇー
いわゆるそのぉ~文字列をですねぇ~正規表現にするコストといいますか、そういうのがですねぇー
いわゆるそのぉ~速度を落とすのでは無いのかとぉ~、しかしながらぁ~正規表現はCで書かれているわけですからぁ~
逆もあるのかなぁーとぉ思いましてぇ、私簡単ではありますが、比較してみましたぁ~、結果! よく分かりませんでしたぁー
いやぁー、こういう速度比較というのはぁ~なかなか難しいものでしてぇ~、しかしながら明確に差が出るパターンがありましたぁ
それは、検索文字をヒットしないパターンですぅ
文字列検索はぁーいわゆるそのぉーinを使うわけですがぁー、ヒットシない場合は限りなくゼロ、常に同じ位の結果ぁー、
しかしながらぁ~正規表現の場合はぁ~、コンパイル済みオブジェクトを使ってもぉー、幾分かは処理時間が出てくるんですなぁ~
ということでぇ~、この結果をもってぇー、誠に恐縮ならがぁー不採用となりましたぁ

770:デフォルトの名無しさん
17/03/30 19:36:17.50 kqK6AEA9.net
目障り

771:デフォルトの名無しさん
17/03/30 19:40:42.52 PDhBe/fU.net
あ、ウソw コンパイルオブジェクト更新するの忘れてたわww
検索文字ヒットしない時はどっちもゼロですわww

772:デフォルトの名無しさん
17/03/30 21:29:00.22 V/xrMXI/.net
>>747
が正解だったか。残念

773:デフォルトの名無しさん
17/03/31 11:52:45.00 AyoYibNL.net
今日、私はPythonを最新バージョンにアップデートした。
最新バージョンといえば新機能のf-stringsが楽しみだがまだ触らない。
次はパッケージのインストールなのだ。
pip install httplib2・・ターンッ! 私は得意げにエンターを叩いた。
が!?、まさかのインストール失敗。UnicodeDecodeError
なるほどググってみると対処法が書かれている、皆ここでつまづくのだな、
何々?ソースコードを書き換える? 手動でencoding指定しろ?
私はもっと良い対処法が無いのかとググった・・
良いの見つかんねぇ~、、ソースコードいじるの面倒臭ぇーなぁーと思った瞬間
ふと頭によぎった、「コマンドプロンプトを管理者として実行」
pip install httplib2・・ターンッ! 見事にインストール成功。
ああ、オレって天才かも・・

774:デフォルトの名無しさん
17/03/31 11:56:55.03 4Pnt5fnj.net
Windowsを窓から投げ捨てろ

775:デフォルトの名無しさん
17/03/31 12:07:33.84 S+dmZ2B6.net
うち窓ないんだよね

776:デフォルトの名無しさん
17/03/31 13:04:49.25 dz0AvjH3.net
Windowsから窓を投げ捨てろ

777:デフォルトの名無しさん
17/03/31 17:38:00.94 AoOQQKoh.net
>>754 死ね



779:デフォルトの名無しさん
17/04/01 02:47:23.17 tWWYqiUz.net
みなさんライブラリ使うときソースファイル読んでますか?
私はBeautifulSoupとかnumpyとかで関数使う時、なんとなくで使ってます。
ライブラリを調べようとソースファイル見ても
pyファイルがかなりあって簡単には調べられないです。
他の方はどうかと思ったので意見ください。

こんなのとか
BeautifulSoup(html, "html.parser")
np.median(a) ## 中央値
np.var(a)   ## 分散

780:デフォルトの名無しさん
17/04/01 03:41:35.17 FRLTAWk8.net
IPythonとかinspectとか
あとはDocにソースのリンクが貼ってる場合も多いと思う

781:デフォルトの名無しさん
17/04/01 09:14:43.45 LYj8fGS1.net
>>759
pudb3で実行されるpyファイルを確認しながら、GitHubでコード検索して色々眺めてます

782:デフォルトの名無しさん
17/04/01 18:43:42.40 7wdwEXQD.net
会社にフローチャートでプログラム説明しろ言われて困ったなぁ
単純なプログラムならいいんだけど・・

783:デフォルトの名無しさん
17/04/01 19:12:41.81 Xk39Ujbl.net
どこの土人会社だよ

784:デフォルトの名無しさん
17/04/01 20:43:56.34 aApsaYHH.net
残念日本には土人会社の方が多いのであった

785:デフォルトの名無しさん
17/04/01 21:42:39.47 FDUO6YbD.net
>>762
なにが困るの?

786:デフォルトの名無しさん
17/04/01 22:14:34.65 86o4tU/F.net
特許明細書には、フローチャートがよく記載される

787:デフォルトの名無しさん
17/04/01 22:34:33.07 Xk39Ujbl.net
ガイジがガイジに説明するためのもの
それが腐ローチャート

788:デフォルトの名無しさん
17/04/02 00:29:58.27 1uTFrCJ+.net
不労チートで楽にだらだらしたい

789:デフォルトの名無しさん
17/04/02 01:19:21.30 W6VXUIjv.net
どうせなら不老チートを得たい

790:デフォルトの名無しさん
17/04/02 02:13:43.71 1uTFrCJ+.net
アンデッドさん。略してアンディさん

791:758
17/04/02 10:37:38.23 ptKYPyCD.net
>>760
inspect.getsource() これ結構求めていたものかもしれません。もう少し勉強します。
ありがとうございます。
>>761
pudb3知らなかったですがimport pdb; pdb.set_trace()で使ってみました。
使いこなせればかなり良さそうなんで勉強します!ありがとうございます。

バージョン合わず、まだインストールできてなくて使えてないですが、
TensorFlowのTensorBoardみたいにライブラリを可視化できればかなり早く体系的に
ライブラリを理解できそうなんですけどね。

792:デフォルトの名無しさん
17/04/02 18:55:00.50 e1YbVTJa.net
n = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in n:
■if i < 5:
■■n.remove(i)
print(n)
結果が[5, 6, 7, 8, 9]ではなく[1, 3, 5, 6, 7, 8, 9]になってしまうのはなぜですか?

793:デフォルトの名無しさん
17/04/02 19:08:43.60 8RDhd+uN.net
>>772
removeしたところでイテレレータが詰まってるからだよ
std::listも同じ動きだったはず

794:デフォルトの名無しさん
17/04/02 19:09:17.62 f3S3avyq.net
>>772
for文の反復元となるnをループ内で操作しているから。
まず1回目のループでif条件に従い、0(0番目の要素)が削除される、すると1が0番目、2が1番目の要素に繰り上がる
2回目のループでfor文は1番目の要素を取り出すが、前回のループで各要素が繰り上がっており、1ではなく2が取り出される
解決策は配列を全スライス([:])でコピーするとか、条件のを削除ではなく
条件ではないのをfilter()とか新規配列に追加とかかな?(削除はコストも高い

795:デフォルトの名無しさん
17/04/02 19:10:06.89 kvWhDwYX.net
forが配列にインデックスアク�


796:Zスするからというのと配列が破壊的変更されているからというのがざっとした答えになるかな



797:771
17/04/02 20:04:23.70 e1YbVTJa.net
>>773,774,775
よくわかりました。
ありがとうございました。

798:デフォルトの名無しさん
17/04/02 21:01:30.07 ZeVnCsZh.net
ド素人質問をさせてください。ディープランニングの勉強を初めたのですが、
以下のプログラム(defから始まって省略なく全部書いてあります)で、
①出力がされない。AND(0,0)とかAND(1,0)とか表示されるようなのですが表示されない
②w1が0.5やthetaが0.7なのはわかるのですが、x1,x2の数字は何でしょうか?
すみませんが、よろしくお願いします
def AND(x1,x2):
w1, w2, theta = 0.5, 0.5, 0.7
tmp = x1*w1 + x2*w2
if tmp <= theta:
return 0
elif tmp > theta:
return 1

799:デフォルトの名無しさん
17/04/02 21:28:42.40 sej9dtoq.net
ドシロウトは初歩から学べ
いきなりマラソン始めてんじゃねえよ死ね

800:デフォルトの名無しさん
17/04/02 21:37:33.41 TvISwdcG.net
>>777
ANDは関数名、(x1, x2)は引数、def AND(x1, x2):…は関数を定義してる部分
AND(0, 0)やAND(1,0)のように引数を渡して関数を呼び出す
引数の値に応じて関数が0か1を返す
チュートリアルからどうぞ
URLリンク(docs.python.jp)

801:デフォルトの名無しさん
17/04/02 21:39:07.72 DUufkMH+.net
入門書を読めよ

802:デフォルトの名無しさん
17/04/02 21:41:43.96 9CiSXDfp.net
>>777
1. ここに書かれてるだけでは出力の表示はしない
2. x1,x2は引数。プログラムの中でお前が値を代入してこの関数を呼び出す
ディープラーニングとか言う前に本屋行って読めそうなPythonの入門書買ってこい

803:デフォルトの名無しさん
17/04/02 22:28:10.93 1YE6Z4Us.net
プログラミング初めて何年も経つけどディープラーニングなんて全く無縁の世界だわw

804:デフォルトの名無しさん
17/04/02 22:31:03.65 QS4jPCp8.net
ディープラーニング含めた人工知能ブームは3年もすれば落ち着くでしょ

805:デフォルトの名無しさん
17/04/02 22:36:33.48 a9ZyOowU.net
定着という意味で落ち着く

806:デフォルトの名無しさん
17/04/02 23:15:01.04 DUufkMH+.net
次は10年後だね

807:デフォルトの名無しさん
17/04/02 23:25:07.17 1uTFrCJ+.net
ファジィAIディープアジャイルXPプログラミングでユビキタス時代の幕上けやね

808:デフォルトの名無しさん
17/04/03 00:11:04.82 pR2kgV0t.net
>>778-781
ありがとうございます。ゼロから始めるってタイトルに釣られて買ったんですが、やっぱゼロからじゃダメだったんですね・・。
一から勉強します

809:デフォルトの名無しさん
17/04/03 00:13:40.48 RF0yvMhi.net
>>787
そのコードの意味がわからない時点で自分で気付こうか

810:デフォルトの名無しさん
17/04/03 00:22:58.29 X/rkmHGR.net
>>787
ゼロから学ぶディープラーニング、ゼロから学ぶパイソンではない

811:デフォルトの名無しさん
17/04/03 08:30:06.15 kK2KVNZF.net
>>777 のコードは本からの引用?
ANDとかtmpって……

812:デフォルトの名無しさん
17/04/03 12:39:44.15 YYggZ1T9.net
>>777 これをどうぞ。
Deep Learning 第2回:パーセプトロンを実装しよう
URLリンク(www.youtube.com)

813:デフォルトの名無しさん
17/04/03 17:40:09.61 mffgYpTE.net
マルチで済まないが、jupyter-themesを適用するとツールバーが消えてしまうんだが表示させる方法知ってる人いないかな?
ツールバーないと何気に困るからjupyter-themes削除したんだがテーマがデフォルトに元に戻らないしw
URLリンク(i.imgur.com)

814:デフォルトの名無しさん
17/04/03 18:04:15.89 0DYVHY3A.net
まるちんこ

815:デフォルトの名無しさん
17/04/03 18:08:08.38 7A6sm0Q6.net
IDEのスレ行ったほうがいい�


816:シ、俺Vim使ってるから分からんし



817:デフォルトの名無しさん
17/04/03 22:33:47.68 L/vcIjzb.net
ちょっと脈略ない質問なんだがうちのアホ上司がなに言ってんだか不明なので確認させて欲しい
集計をoverallで見せるって言ったらその全体の数字を見せる、でいいよな
で加えてそこにサブカテゴリがあるとする
サブカテゴリ表示しつつ全体の数字も見えてりゃOKだよな?
サブカテゴリ見せんのかどうか聞いてんのにあのバカoverall連呼するもんだから、は?ってなったわ

818:デフォルトの名無しさん
17/04/03 22:47:01.55 9X5RGg9p.net
スレ違い

819:デフォルトの名無しさん
17/04/03 23:54:49.23 kXNRkP4o.net
>>794
jupyterはIDEではないよ

820:デフォルトの名無しさん
17/04/04 20:12:55.87 7UoDc/QA.net
そら英語しか喋れない上司に日本語話してもわからんだろ

821:デフォルトの名無しさん
17/04/04 21:54:06.43 otFv4FlV.net
>>795
それをいうならoverwatchやで

822:デフォルトの名無しさん
17/04/04 22:01:28.56 ErOFZYLD.net
>>798
中国語の間違いだろ()

823:デフォルトの名無しさん
17/04/06 10:04:30.75 lOV6492l.net
import wx
import datetime
import time
while 1==1:
time.sleep(1)
aaa = datetime.datetime.today()
application = wx.App()
frame = wx.Frame(None, wx.ID_ANY, u"時間", size=(300,300))
panel = wx.Panel(frame, wx.ID_ANY)
s_text_1 = wx.StaticText(panel, wx.ID_ANY, u"現在時刻 %s"%(aaa))
layout = wx.BoxSizer(wx.VERTICAL)
layout.Add(s_text_1)
panel.SetSizer(layout)
frame.Show()
application.MainLoop()  ←とまる

現在時刻を1秒毎にフレームに表示したいのですが
最後のMainLoop()で止まっているのか、whileの上まで戻らず
止まったままになります。
解決方法はないでしょうか。

824:800
17/04/06 10:05:57.80 lOV6492l.net
インデントが消えてる。
while以下全部1つインデントです。

825:デフォルトの名無しさん
17/04/06 11:20:04.19 dxViEm2k.net
>>801
根本的にwxの使い方が解ってない
チュートリアルからやり直した方が良い。
端的に言うと
フレーム作る、フレームにwx.Timerを追加してStartする、タイマーイベントを捕まえてUIを更新する
そんな所にwhile書く必要ないし、FrameもAppも一つで良い。

826:デフォルトの名無しさん
17/04/06 15:05:27.04 5SVTDNg/.net
>>801
URLリンク(www.java2s.com)
を参考にちょっと変更
URLリンク(ideone.com)
application.MainLoop()が実行されるとその中でループ実行するので
元のプログラムのWhileループは機能しない
MainLoopがやってる処理を自前ループでやる方法もあるかもしれんが
多分難しくて面倒だろうからこういう書き方に慣れるのがいいと思う

827:デフォルトの名無しさん
17/04/06 17:03:44.43 R1LpNPZc.net
シッタカ乙

828:デフォルトの名無しさん
17/04/06 18:36:33.38 5SVTDNg/.net
ありがとうw じゃ大体合ってたんだなw

829:デフォルトの名無しさん
17/04/06 20:10:29.97 Cm1IEV6V.net
おいおい、デタラメはよくない

830:デフォルトの名無しさん
17/04/07 14:42:12.49 w7SQIF8/.net
python C javaを並行してやってるんだけどあぁpythonってほんと分かりやすくていいなぁ素晴らしいなぁと思う。あーもーめんどくせぇな!って思うことが特にCは多い
プログラミング上級者になってくるとCやjavaの方が読みやすいと感じるようになったりするのかな

831:デフォルトの名無しさん
17/04/07 15:02:43.42 BlXWFDtn.net
Cが読みやすい(白目)
URLリンク(mi)


832:nnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/main.c



833:デフォルトの名無しさん
17/04/07 15:06:48.54 Q3+IJtMk.net
読みやすさはそのままで、静的言語の型チェックの恩恵を感じるようになるとかなんとか
実行前にかなりのバグを潰せるのは良い事だみたいな、そんな感じじゃなーい?

でもPythonもアノテーションで型チェックができるようになったりしているからねー、
Pythonはスゴイ奴やでぇぇええええ

834:デフォルトの名無しさん
17/04/07 15:32:22.72 E9+XPTIr.net
>>808
そりゃ抽象度が違うから当たり前だよ
CやJavaのほうが読みやすくなったりはしない
もっと抽象度の高い言語をやればあーもーPythonめんどくせーなーってなるだけ

835:デフォルトの名無しさん
17/04/07 17:48:59.07 UOj2mYpB.net
コードが長いだけであって
JavaはPythonより説明的で読みやすいだろ

836:デフォルトの名無しさん
17/04/07 17:53:19.96 BlXWFDtn.net
>>812
無駄に冗長なことを読みやすいとは言わん

837:デフォルトの名無しさん
17/04/07 18:10:24.10 UOj2mYpB.net
抽象度が高いのを読みやすいとも言わんだろ
抽象度が高いってのはわかりづらいって言うことだ

838:デフォルトの名無しさん
17/04/07 18:23:08.65 sHzeoDfn.net
タグなし要素ってどうや取得すんの?
BeutifulSoapイジってみてるんやが

839:デフォルトの名無しさん
17/04/07 18:38:04.50 vepn88qs.net
text
getText
get_text
こんな感じのやつ
ドキュメントみりゃ詳しく書いてある

840:デフォルトの名無しさん
17/04/07 19:05:02.45 sHzeoDfn.net
地道にやれってことやな
サンキュー

841:デフォルトの名無しさん
17/04/08 02:20:22.40 80zcJTU3.net
>>814
ボンゴレンゴね
型なし言語は全部糞
実行するまで壊れてるかすらわからんて
今どきアボガドバナナかと

842:デフォルトの名無しさん
17/04/08 02:27:38.07 55TI/ByC.net
>>808
Cは裏で何をやっているかわかりい。pythonは見た目は簡単だけど裏で何をやっているかわかりくい。
トレードオフだよ

843:デフォルトの名無しさん
17/04/08 08:26:40.17 ba2dYx5A.net
>>804
すごい!
でたらめ?出来てるのにどゆことですか?!

844:デフォルトの名無しさん
17/04/08 11:13:48.88 XVL7f56g.net
裏で動いてる関数変数一覧って見れないの?

845:デフォルトの名無しさん
17/04/08 11:32:14.71 cUMYjXzm.net
動いてる関数変数ってなんやねん
参照カウントが1以上になっている関数やラムダのことを俺用語で表現したのか?

846:デフォルトの名無しさん
17/04/08 11:52:18.37 AY9nk+uL.net
おっそうやで

847:デフォルトの名無しさん
17/04/08 17:28:37.70 ozzc87m1.net
>>820
コード自体はでたらめじゃないよ
wxPython使った事無かったから自前のループうんぬんとか
適当に書いちゃったけどw
ノイズは気にしないでww

848:デフォルトの名無しさん
17/04/09 09:37:02.21 NhRtYFXP.net
このスレは意識高い系の人が集結してますね^^
さすが意識高い系御用達言語Pythonですよ

849:デフォルトの名無しさん
17/04/09 10:28:03.51 1d0tPbji.net
意識低い系ペチパーワオ、高級見の見物

850:デフォルトの名無しさん
17/04/09 13:00:39.33 wpOqp2mL.net
意識高い系はSwift一択!

俺は触りたくもないわ

851:デフォルトの名無しさん
17/04/09 14:05:44.69 iC3LP5eg.net
意識高いってか這いつくばって靴舐める林檎の奴隷だろ

852:デフォルトの名無しさん
17/04/09 21:44:07.17 izePfwdq.net
意識高い系だけじゃなくて煽るだけの無能も混じってるな

853:デフォルトの名無しさん
17/04/10 12:18:40.12 +cBZxqVn.net
↑煽られるだけの無能

854:デフォルトの名無しさん
17/04/10 12:51:10.96 nhQ5fous.net
無能だからオライリーの
Pocket Reference 5th Edition 買ってみたら
パパッと調べられて便利だった。
早く買えば良かったよ。
もち�


855:�ん有能な方々なら 頭に入っているから不要でしょうけど。



856:デフォルトの名無しさん
17/04/10 12:53:23.96 eVBdzDDX.net
公式サイトもしくは付属のリファレンスとREPLのhelpで十分

857:デフォルトの名無しさん
17/04/10 15:11:14.13 4B8RWyO/.net
いろんな言語使ってると全ての本持ち歩けないしな
せめて電子書籍

858:デフォルトの名無しさん
17/04/12 13:07:31.60 2UM/3MF/.net
オンライン学習サービスできたらしいぞ
URLリンク(pyq.jp)

859:デフォルトの名無しさん
17/04/12 13:08:50.09 mJY6Dj4I.net
グロ

860:デフォルトの名無しさん
17/04/13 20:24:45.05 vQWqOVix.net
毎月10万円払ってまで習いたくないです

861:デフォルトの名無しさん
17/04/13 21:30:40.48 7QcfccX8.net
仕事の研修とかで行くのは2日で十数万とかだけどな

862:デフォルトの名無しさん
17/04/14 08:56:07.95 PMH3Qr0E.net
一番やすい奴なら月3000円だし、そんなに悪く無い気もするけどな、、、試しにやってみようかな。

863:デフォルトの名無しさん
17/04/14 09:40:40.97 /OFtcWNj.net
究極的には情報商材笑と違いがない

864:デフォルトの名無しさん
17/04/15 15:18:11.44 BaqB0HFw.net
この内容でこの価格設定はなかなかおかしくないですか
追加課題とか普通に仕事の一部投げてそう

865:デフォルトの名無しさん
17/04/15 17:36:52.21 5isiJslC.net
オンラインサービスなんだから人件費かからないでしょう
要はこのサービス自体がプログラミングってこと

866:デフォルトの名無しさん
17/04/15 23:13:39.49 cyCHFfHJ.net
ある空間における直方体の各座標を簡単に取得するmethodを書きたくて
苦労しています。うまく行きません。

・・・ひらめいたっ!・・・

import itertools

def make_space(zyx_base, sizes):
zb, yb, xb = zyx_base
zs, ys, xs = sizes
zyx_flags = itertools.product(range(2), repeat=3)
# zyx_flags = ((0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), \
# (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1))
space = []
for zyx_flag in zyx_flags:
zf, yf, xf = zyx_flag
space.append([zb + zs * zf, yb + ys * yf, xb + xs * xf])
return space

if __name__ == "__main__":
zyx, sizes = (0, 0, 0), (10, 10, 10)
space = make_space(zyx, sizes)
print("space =")
print(space)
print()
zyx, sizes = (10, 20, 30), (1, 2, 3)
space = make_space(zyx, sizes)
print("space =")
print(space)

で良かったですね。
他に何か改良点があれば指摘お願いします。

867:デフォルトの名無しさん
17/04/15 23:18:30.98 cyCHFfHJ.net
一人で考えていたら2時間考えてもうまく行きませんでした。
zip, combination, product, ... いろいろ考えたんですけどね。
2chで質問しようとして本当に正解でした。
2chのおかげですわ。ほんと。
「2chは質問しようとすることに価値がある。」
ほんとですね。2chのおかげで助かりました。
皆さん,ご協力感謝感謝です。

本当は↓も書いていたんだけど改行制限で書き込みできませんでした。

format は,xyz座標の各座標の最小値と,xyz方向の大きさのtupleです。
たとえば,直方体の各座標の最小値が原点(=0, 0, 0)で,
各辺の大きさが10の立方体だった場合,
xyz, sizes = (0, 0, 0), (10, 10, 10)
として,xyz, sizes に各tupleが代入されていると考えてください。

868:デフォルトの名無しさん
17/04/15 23:21:26.30 cyCHFfHJ.net
zp, yp, xp = [zb + zs * zf, yb + ys * yf, xb + xs * xf]
space.append([zp, yp, xp])
とするべきだったというのが一つですか。

869:デフォルトの名無しさん
17/04/16 16:06:50.53 izRJN924.net
どういたしまして♪

870:デフォルトの名無しさん
17/04/16 19:33:02.59 itfp77wf.net
ワシが育てた

871:デフォルトの名無しさん
17/04/16 19:50:16.65


872:HG2s3ZeJ.net



873:デフォルトの名無しさん
17/04/18 12:38:48.27 Uw8XacGP.net
情報量0

874:デフォルトの名無しさん
17/04/19 12:20:00.83 gsNwE6fh.net
pythonアンインストールしたら
アカウント入れなくなった

875:デフォルトの名無しさん
17/04/21 17:31:52.13 2OJpdxnt.net
16進数の文字列をフロート型に変換ってできる?

876:デフォルトの名無しさん
17/04/21 17:36:55.88 u/PrWe0w.net
>>850
URLリンク(docs.python.jp)

877:デフォルトの名無しさん
17/04/21 22:26:35.26 BcyuhAkP.net
>>851
ありがとう!

878:デフォルトの名無しさん
17/04/24 11:07:35.11 DBzfvjyG.net
16進数で表されてるfloatを元の数字に戻せますか?

879:デフォルトの名無しさん
17/04/24 12:22:09.22 0TRRsoSx.net
10進数str→floatはfloat()を使う
16進数str→floatはfloat.fromhex()を使う
float→10進数strはstr()を使う
float→16進数strはfloat.hex()を使う

880:デフォルトの名無しさん
17/04/24 13:10:26.90 DBzfvjyG.net
A4 70 45 41みたいになってるやつを元の数値にしたいのですが
floatfromhex()だと0x~の形にしないとダメですよね

881:デフォルトの名無しさん
17/04/24 14:09:04.77 0TRRsoSx.net
そっちか、16進ダンプかhexdumpと言って欲しかった
それは空白文字を取り除いてint(hexdump変数, 16)でintに変換する

882:デフォルトの名無しさん
17/04/24 14:49:27.89 0SXkD0vN.net
>>> float_value = float(12.3)
>>> float_str = hex(struct.unpack("i",struct.pack("f", float_value))[0])
>>> float_str
'0x4144cccd'
>>> unpacked_fv = struct.unpack("f", struct.pack("i", int(float_str,16)))[0]
>>> unpacked_fv
12.300000190734863
>>>

もう少しいい方法が有りそうだけど、、、

883:デフォルトの名無しさん
17/04/24 15:03:41.75 DBzfvjyG.net
int()でa4~をやってみましたが、2758821185になってしまいます
a4~は12.34を変換したやつです

884:デフォルトの名無しさん
17/04/24 15:31:55.75 0SXkD0vN.net
>>858
int()に引き渡す16進文字列はビックエンディアンにしないとダメ

885:デフォルトの名無しさん
17/04/24 15:42:20.21 0TRRsoSx.net
>>857
それならbinasciiかなあ

>>> import binascii, struct
>>> f = 12.34
>>> b = struct.pack("f", f)
>>> hexdump = binascii.b2a_hex(b).decode('ascii')
>>> hexdump
'a4704541'
>>> struct.unpack("f", binascii.a2b_hex(hexdump))[0]
12.34000015258789

886:デフォルトの名無しさん
17/04/24 15:43:50.77 dShSQ1zF.net
授業中か

887:デフォルトの名無しさん
17/04/24 15:45:49.73 dShSQ1zF.net
<わからない9大理由>

5.説明できない…何に困っているのか、見せない、正確に伝わる文章が書けない。書く気も無い

888:デフォルトの名無しさん
17/04/24 16:16:07.81 DBzfvjyG.net
URLリンク(qiita.com)
ここに書いてあることがやりたいけど、ここにある00 00 D0 41ってある所の前に01が追加されてて(xbeeから送られてきたとき)、data=struct.~て所でfloatにするとき01 00 00 D0の4バイトが使われて値がおかしくなる
だからpayloadの一部を取り出してhexdumpにしてそれを元の値にしようとしてた
言ってる意味が伝わるかわからないけど

889:デフォルトの名無しさん
17/04/24 16:23:17.86 0SXkD0vN.net
>>863
元々バイナリで来てんならスライスして必要な4byteだけunpackすれば良い話なのでは?

890:デフォルトの名無しさん
17/04/24 16:33:10.80 DBzfvjyG.net
>>864
必要な部分だけ取り出すやり方がよくわかりませんでした

891:デフォルトの名無しさん
17/04/24 16:42:50.08 0SXkD0vN.net
>>865
5byteのbyte列できてるなら、rcvdata[1:5]

892:デフォルトの名無しさん
17/04/24 17:14:37.07 DBzfvjyG.net
できたっぽいです、皆さんありがとうございました!

893:デフォルトの名無しさん
17/04/24 17:35:18.44 kXh5KeNK.net
ID:0SXkD0vNは偉い、感動した

894:デフォルトの名無しさん
17/04/24 17:46:19.81 0TRRsoSx.net
うーん、ずいぶん遠回りになったな
最初の段階でくだすれに>>863を質問していれば時間を節約できたかもね

895:デフォルトの名無しさん
17/04/24 17:57:39.00 kXh5KeNK.net
質問者がプロトコルを理解していないことが問題であることを理解してないんだからしょうがない

896:デフォルトの名無しさん
17/04/25 16:09:51.82 +ad05VVs.net
python関係ないやん

897:デフォルトの名無しさん
17/04/25 16:12:00.72 /t6Fbqd1.net
お前ら凄いな

898:デフォルトの名無しさん
17/04/25 20:34:18.51 yf0URKzz.net
いや、それ程でも。

899:デフォルトの名無しさん
17/05/03 17:47:27.75 +pEqqIo3.net
ずいぶんpython押しになってるね
本もたくさん
日本でも流行らそうってか

900:デフォルトの名無しさん
17/05/03 17:47:58.34 R8GuvVXY.net
rubyを駆逐するんやろなぁ

901:デフォルトの名無しさん
17/05/03 17:52:48.29 n3jwfd5I.net
この言語は後に本当の作者であるデビッド・ハイネマイヤ・ハンソン(DHH)によりRuby on Railsと改名された。[MatzがRubyという言語を作ったというくだりは間違いだから次に改訂するときに取った方がいいよ – DHH]

らしいので, Railsが言語名でありRubyは記法の名前であるたぶん

902:デフォルトの名無しさん
17/05/03 18:05:39.88 SRRCNn4k.net
日本人ならRubyとか言ってたバカ息してるぅー? キャハハハ
Rubyは楽しいとか言ってたアホ楽しんでるぅー? キャハハハ

最初からPython選んでた我々は勝ち組ですな

903:デフォルトの名無しさん
17/05/03 18:10:26.44 WcpP86RJ.net
フレンドリーファイアで完膚なきまで圧倒的に敗北した気がするからやめてほしい。

904:デフォルトの名無しさん
17/05/03 20:38:55.35 wSFjLMka.net
両方やっとけよ

905:デフォルトの名無しさん
17/05/03 22:47:08.05 K2QrGWX4.net
>>876
ソースは?

906:デフォルトの名無しさん
17/05/03 22:59:08.24 n3jwfd5I.net
>>880
ソースも何も単なるジョークの一文だよ
URLリンク(www.aoky.net)

907:デフォルトの名無しさん
17/05/03 22:59:35.47 09q2AvRo.net
>>874
かなり昔からPython主流な気も

908:デフォルトの名無しさん
17/05/03 23:16:07.83 mJ/QVcTI.net
>>874
日経ソフトウエアも昔はRubyとPython両方一気に学ぼう!って特集が多かったけど、今はPythonしか紹介しないね。

流行らそうってか、人工知能ブームにPythonが乗っかった。

909:デフォルトの名無しさん
17/05/04 01:09:25.16 mMMu1J6y.net
人工知能ブームにPythonが乗っかったと言うより、人工知能作れる知能の持ち主はPythonを好む人が多かった

910:デフォルトの名無しさん
17/05/04 01:20:47.85 oXa5/p2c.net
Ruby遅いからしゃーない

911:デフォルトの名無しさん
17/05/04 01:26:02.36 Tihr0Uz+.net
単にgoogleが(ry

912:デフォルトの名無しさん
17/05/04 03:05:12.06 ufmsKYbO.net
世界的には最初に触る言語がrubyよりpythonなんでしょ

913:デフォルトの名無しさん
17/05/04 11:31:25.39MuPMgB2Q.net
Rubyは今までも意識高い系のアルファブロガー()が騒いでただけ

914:デフォルトの名無しさん
17/05/04 16:19:20.41622MjM8c.net
>>876
スレチ

915:デフォルトの名無しさん
17/05/06 03:59:09.73Mhw1W3G/.net
JSって書くと
女子小学生っぽくて興奮するけど
pythonは興奮しないね

916:デフォルトの名無しさん
17/05/06 06:06:04.31s7hD0CzB.net
>>890
パイパイ
URLリンク(pypi.python.org)

917:デフォルトの名無しさん
17/05/06 08:34:57.308KHHYJiC.net
おっぱいそん

918:デフォルトの名無しさん
17/05/06 12:17:04.53IVc498v7.net
昔Pyzuriってライブラリがあったな

919:デフォルトの名無しさん
17/05/06 21:40:24.07PKOn5MEE.net
「チチ、ペェズリしてくれ」

920:デフォルトの名無しさん
17/05/07 16:47:42.79 I4ZIfy7+W
ruby書けたらpythonも出来るだろ。。逆も一緒

921:デフォルトの名無しさん
17/05/09 21:46:24.976SVwW5Z6.net
プログラム書いたことないけど仕事でPythonやらなきゃならん
なんの本買えば良いの?
マジで困ってるからおしえて

922:デフォルトの名無しさん
17/05/09 21:53:33.19f1oNYywG.net
>>896仕事の内容を言ってくれますか?
でないと、睡眠学習の本とか
あさっての方向の本勧めることに成りかねんから

923:デフォルトの名無しさん
17/05/09 21:57:19.79IqZBBWLv.net
入門Python3 - 明日のために -

924:デフォルトの名無しさん
17/05/09 22:15:07.38TPUHePpo.net
まじ?睡眠学習できるんならしたい

925:デフォルトの名無しさん
17/05/09 22:32:07.665ZMal7Am.net
ほかの言語の経験者ならオライリーの入門Python3を薦めるところだが、
プログラミングしたことないならこちらを出さざるを得ない
URLリンク(www.amazon.co.jp)

926:デフォルトの名無しさん
17/05/10 02:10:34.963y8PevaP.net
既存のものを修正する
フレームワークでビジネスロジックのみ書く
フルスクラッチで書く

全然違うな

927:デフォルトの名無しさん
17/05/10 05:16:10.14h/rYjJ8M.net
>プログラム書いたことないけど仕事でPythonやらなきゃならん
もう5月も半ばなんで違うかもわからんが新入社員なら研修とかあるだろ

928:デフォルトの名無しさん
17/05/10 11:30:03.94Cp7+CNi6.net
転職の本もおすすめ

929:デフォルトの名無しさん
17/05/10 12:40:36.57O+ij3Q1f.net
>>896これ、おすすめ
URLリンク(www.amazon.co.jp)

930:デフォルトの名無しさん
17/05/10 13:42:57.88r8Nc6tb4.net
リストラ候補

931:デフォルトの名無しさん
17/05/10 15:19:08.25aKRMeu5o.net
>>896
初めて学ぶプログラミング言語はpythonが最適と常々言ってきたので、どうだったか教えて下さいね

932:デフォルトの名無しさん
17/05/10 16:32:10.16YhLiOcHu.net
>>896
無難に「みんなのPython」最新版かねぇ

一応言っておくと状況によっては2系と3系の両対応が必要になるんで
ムリポだったら上司にそういったほうが早いかもしれん

933:デフォルトの名無しさん
17/05/10 16:36:57.43YhLiOcHu.net
>>906
誰かに教えてから言ったほうがよくねえか……

934:デフォルトの名無しさん
17/05/10 16:39:56.04YhLiOcHu.net
とりあえず初学者は

× Pythonでは正しいことは一つ
〇 グイドは忙しいかめんどくさがりだから、ひとつの方法しか用意しない

とだけ思ったほうがいいかも
そう思わないとイラっとする場面が2系と3系でたびたび(いいから2.8をよこせ)

935:デフォルトの名無しさん
17/05/10 18:00:21.33qYMvKRA4.net
(3の新機能を2につっこんだtauthon(非公式)というものがありますよ)

936:デフォルトの名無しさん
17/05/10 18:19:17.126kgsyh9n.net
俺も、pythonでプログラム初めて触った
買った本はクジラ飛行船?の本
そのあとオライリーのディープラーニングの本(魚のやつ)へ行った
手を動かしながら読んでって、それぞれ1ヶ月くらいかかったかな

937:デフォルトの名無しさん
17/05/10 19:50:00.3939V1aTUU.net
「みんなのPython 第4版、2017」から勉強すると、ダメ

まず「たのしいRuby 第5版、2016」を3回読む。
そうすると、みんなのを読める基礎体力がつくから、みんなのをスラスラと読める

この2冊は表裏一体だけど、必ず、たのしいを先に読む必要がある。
逆順ではダメ

938:デフォルトの名無しさん
17/05/10 20:00:58.58B93EGmmh.net
そもそも本って買う必要あるの?
上達早かったりサイトに載ってない情報載ってたりするの?

939:デフォルトの名無しさん
17/05/10 20:14:33.34i2DxzutO.net
python.jp が糞だからだろうな

940:デフォルトの名無しさん
17/05/10 21:05:51.02VZ3BBu/a.net
なんでやPython公式ドキュメントわかりやすいやろ

941:デフォルトの名無しさん
17/05/10 21:18:56.03tch0sj1O.net
人それぞれ違うんだから、
自分自身で大きめの書店へ行って、手に取って選ぶしかないのでは。

942:デフォルトの名無しさん
17/05/10 21:24:07.15rcR3oj9w.net
パイソンの勉強とプログラミングの勉強は違う
と言うことに気づくかどうかが最初の試金石
ここが分からなかった奴はいくらやっても伸びないよ

943:デフォルトの名無しさん
17/05/10 21:37:13.80nNMVYIps.net
結局どの本なのよ

944:デフォルトの名無しさん
17/05/10 21:50:17.6839V1aTUU.net
「たのしいRuby 第5版、2016」を3回読むと、プログラミングの基礎ができる。
つまり、すべての言語で有利になる

それに加えて、Ruby, Python は、ほぼ同じだから
「みんなのPython 第4版、2017」もスラスラ読める

みんなのを先に読むと、プログラミングの基礎ができないから、何の事か、よく分からない

だから先に、たのしいを読む

945:デフォルトの名無しさん
17/05/10 21:59:01.13piQx49re.net
楽しい爺さん

946:デフォルトの名無しさん
17/05/11 00:36:08.41s9cCeBkh.net
Ruby薦めるやつってアホなんか

フランス語覚えるのに先に英語からとか言ってるようなもんだぞ

947:デフォルトの名無しさん
17/05/11 00:38:45.82jj3r533h.net
Ruby工作員の押し売りお断り

948:デフォルトの名無しさん
17/05/11 06:54:17.04H/VVixUH.net
このまえ「Pythonでは末尾最適化が行われる」ってフカシこいた奴の発言なんか
信用に値するものか
お前からまず勉強してこいよ

949:デフォルトの名無しさん
17/05/11 12:22:52.50Skv57lw3.net
初心者はPythonから始めるのが海外ではセオリー的なんじゃないのか
なぜPythonを始めるために他の言語から学ぶんだ?
PythonやったあとにRubyやれとかならわかるけど

950:デフォルトの名無しさん
17/05/11 12:29:06.88kla/SVW9.net
わからんわruby勧めるとか嫌がらせにも程がある

951:デフォルトの名無しさん
17/05/11 13:02:41.90hGHurpM2.net
ちょっと前から居る頭おかしいやつだろ
黙ってNGが吉

952:デフォルトの名無しさん
17/05/11 13:39:43.22UfRO4Mvo.net
ルビーは日本発だから日本人は学びやすいんじゃないの?
やったことないけど

953:デフォルトの名無しさん
17/05/11 14:16:40.89M68dX9hh.net
>>923
デフォルトでは末尾最適化されない、なら異論ないの?

954:デフォルトの名無しさん
17/05/11 15:46:36.49qctzK1Hm.net
ちょっとだけ、やった事が有る
最後のend文が多すぎて無理だった

955:デフォルトの名無しさん
17/05/11 16:02:21.88QOSX+n3i.net
ワッチョイ希望

956:デフォルトの名無しさん
17/05/11 16:07:46.61DjoX+azc.net
このスレもわざと荒らしてワッチョイ付けさせる流れに飲み込まれるのか

957:デフォルトの名無しさん
17/05/11 16:19:41.66eS2L0WVj.net
>>928
それならおk、このまえのアホは標準でされるような口ぶりだったのでな

958:デフォルトの名無しさん
17/05/11 23:27:12.65UV0D5efL.net
>>929
ネストさせすぎずに関数とかにしろよ

959:デフォルトの名無しさん
17/05/12 02:10:43.10lh1VWFPT.net
Pythonは、末尾再帰で書くと、スタックを使わないで、ループに直してくれる

メモ化も出来る。
関数の戻り値を、キャッシュ出来るから、再計算しない

return f(n-1) + f(n-2)
こういうフィボナッチでも、f(5) → f(4) → f(3)~などと、スタックを使わない。
関数の戻り値をキャッシュしているから、f(5) → f(4)=3 と、すぐに答えが返ってくる

他にも、ダイクストラなどのグラフや、
ディレクトリ階層を再帰的に巡回する、walk もある

Pythonは、このあたりの再帰処理が、Rubyよりも強い。
ただ、日本には「たのしいRuby」があるから、
基礎


960:力を付けるのは、外人よりも圧倒的に強い 塾と同じ。日本には塾があるから、圧倒的に勉強の効率が良い。 外国では必ず、頭の良さは、アジア人・白人・黒人の順番になるのは、そのため



961:デフォルトの名無しさん
17/05/12 02:27:55.77WAk1mqz+.net
勝手にメモ化するわけではなく、@memoize だかのデコレータを指定する必要があるんじゃなかったか?

プログラミング言語のテキストは、日本語のよりも、はるかに優れた英語のが、たくさんあるよ。

962:デフォルトの名無しさん
17/05/12 02:38:32.18kxbffAjR.net
>>934紛らわしい
形だけ末尾再帰にしても最適化かからないしメモ化もされない
最適化(標準ライブラリにはない)、メモ化(functools.lru_cache)を明示的に書けばできるってだけだ

963:デフォルトの名無しさん
17/05/12 02:50:13.68Z8esmvE1.net
>>934
囀るの止めろ
嘴を叩き折るぞ

964:デフォルトの名無しさん
17/05/12 04:02:32.44lh1VWFPT.net
一々、手取り足取り教えなくても、
興味ある人が、検索して調べてやれば、良いだけ

自分で汗をかいて調べないと、身につかない。
自分で苦しんだ事しか、経験値にならない

965:デフォルトの名無しさん
17/05/12 05:06:40.952EWsZnJS.net
その本のステマなんだろうけどさ
なんでPythonのスレでやるわけ?
Rubyのスレでやんなよ

Rubyは悪い言語だと思わないけど
あなたがそういう身勝手な行動をしてるだけで
他の言語利用者にどれだけRubyが悪印象持たれてるか自覚してる?
どんどん評判悪くなって今以上に衰退しちゃうよ

966:デフォルトの名無しさん
17/05/12 05:24:56.58lh1VWFPT.net
Python, Ruby は、GIL など仕組みも、ほとんど同じだから

しかも、日本には「たのしいRuby」があるから、
基礎力を付けるのは、外人よりも圧倒的に速い

高くジャンプするのに、一旦、しゃがむだろ。
遠回りに見える事が、実は速いことがある

「たのしいRuby」「みんなのPython」は表裏一体だから、
2つの言語を短時間で学べるし、理解も深くなる

一方「みんなのPython」だけで勉強すると、先に進めなくなる。
その後、色々なPythonの本を読んでも、理解力が違ってくる

プログラミングの基礎は「たのしいRuby」で学んで、
言語固有の部分だけを「みんなのPython」で学ぶ。
このやり方で進めば、JavaScriptにも進める

つまり各言語で、プログラミングの基礎を学ぶ必要がない。
そこは「たのしいRuby」で学べばよいから

967:デフォルトの名無しさん
17/05/12 06:50:22.8084Td0x+H.net
>>940
本の宣伝をする前に自分の誤った知識をなんとかしろ馬鹿野郎

968:デフォルトの名無しさん
17/05/12 07:57:42.92R4lpzg6G.net
誤った知識はどうでもいいけどruby勧めんなカス

969:デフォルトの名無しさん
17/05/12 08:12:52.77lh1VWFPT.net
JS, Pythonを初心者に教える場合に、良い本・良い教え方が無いから、困る。
直接、攻めるとダメ

なぜかというと初心者には、
各言語の初心者と、プログラミングの初心者の、両方の側面があるから

だから結局、JS, Pythonを勉強したいなら「たのしいRuby」で勉強すべきとなる。
そこでオブジェクト指向が分からないなら「スッキリわかるJava入門」となる。
情報処理全般の知識がないなら、情報処理資格を取れとなる

つまり、何かを勉強しようとすると、さかのぼって基礎から勉強しないといけない。
直接攻めても、ダメな事が多い

できる人は、才能や努力ではない。
自分のレベルに合った、知識を吸収しやすい、勉強の順番が大事。
つまり、子供が大人になるような、成長過程

970:デフォルトの名無しさん
17/05/12 08:16:22.172RbgVjD0.net
>>940誉めて伸ばす為には、一旦完膚泣きまでこてんぱんに落としてけなさなければならない
人格崩壊させて俺様の奴隷になれば幸福を与えるぞ
つまり、あなたほそう言いたいのですよね?分かります

971:デフォルトの名無しさん
17/05/12 08:38:20.64WAk1mqz+.net
>943
Amazonで、楽しいRubyの書評を、表示された順に上から拾ってみた。
プログラミング言語の初心者向けの本としては、あまり評価されていないようだけど。

「内容が新しくて、ある程度応用的な知識まで網羅している本だと思いますが、初心者には厳しいかな。
自分は多言語をある程度習得していたので、なんとか理解できましたが、html,cssしか知らない人が読んだらおそらく挫折するんじゃないかと思います。」

「プログラミングが全くわからん、という人にはあまり向いてない気がします。」

「最新版でもよくわからないところをちゃんと説明されてなくて、たのしいRubyの名前が反映されてないと思いました。
特にだめだと思ったのは、基本的な条件文や繰り返しがお座なりにされていて、この本だけでは習得できないところです。
結局勉強量が足りないのでネットなどで調べてやっていくしかありません。」

972:デフォルトの名無しさん
17/05/12 09:04:55.74lh1VWFPT.net
「たのしいRuby」よりも簡単な本では、プログラミングの入門の入門になってしまう。
3日・数時間で読める本とか

もっと、さかのぼって基礎から勉強しないといけない

だから「たのしいRuby」が試金石。
3回読んでも分からなければ、もっと、さかのぼって基礎から勉強しないといけない

結局、自分のレベルに合う所まで、さかのぼって行かないと、吸収できない。
食べ物と同じ。
吸収しやすい形にまで分解しないと、吸収できない

973:デフォルトの名無しさん
17/05/12 09:40:28.36oMKZ8LlO.net
>>946
嘘教える経験値なら要らないんですか自覚されていますか?
馬鹿だから分からないかな?

974:デフォルトの名無しさん
17/05/12 11:04:18.58qQs3MEiD.net
>>937
ワロタ

975:デフォルトの名無しさん
17/05/12 11:09:19.69yYwfXxc8.net
pythonで覚える「プログラミング超入門」
みたいのは無いんだっけ?
小学生でも読めるような

確かな力が身につくPython「超」入門-確かな力が身につく「超」入門シリーズ-鎌田-正浩
URLリンク(www.amazon.co.jp)

これの5章までは超入門らしいけど

976:デフォルトの名無しさん
17/05/12 12:18:52.89R4lpzg6G.net
プログラミング初心者がいきなりプログラミングを覚えようとすんなよ
まずはプログラミング言語覚えれ

977:デフォルトの名無しさん
17/05/12 12:37:43.02YDtxOZQ2.net
>>946
嘘教えるなって言ってるの見えないの?
後ここでRuby勧めんなカス

978:デフォルトの名無しさん
17/05/12 15:09:12.85yYwfXxc8.net
>>950
プログラミングを覚えるって、プログラミングが出来るようになるって意味?
プログラミング言語を覚えるって、プログラミング言語を使えるようになるって意味?

979:デフォルトの名無しさん
17/05/12 15:17:19.87A98yDNgz.net
「たのしいRuby」NG

980:デフォルトの名無しさん
17/05/12 16:23:43.09/TQAsneg.net
Qt5 を使ってちょっぴり GUI のあるプログラムを Python で作るべく勉強中です。
とりあえずちょっとした項目の入力をして、ボタンを押せば処理を開始する程度のものを作りたいのですが、
少し時間がかかる処理である上に、あまっさえその処理を中断できるようにしようとすると、
やはりスレッドとかを使う必要があるのでしょうか。

981:デフォルトの名無しさん
17/05/12 16:31:28.52lBRx19G1.net
>>954
そのためのスレッド

982:デフォルトの名無しさん
17/05/12 16:36:26.02SNVl6Q5d.net
そのためにこのスレがあるわけだな

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

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

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

986:デフォルトの名無しさん
17/05/12 22:53:59.34UrL0+2Dc.net
で、結局どの本なのよ
超初心者向けの本よ

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

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

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

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

991:デフォルトの名無しさん
17/05/12 23:36:22.31skCfdmlm.net
区切るなら50人と50人だろ

992:デフォルトの名無しさん
17/05/12 23:42:33.392BHeKZjd.net
超初心者ならpaizaみたいな動画学習コンテンツが良いと思うな

993:デフォルトの名無しさん
17/05/13 01:17:24.618952tOHM.net
質問。

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

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

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

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

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

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

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

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

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

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

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

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

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

997:デフォルトの名無しさん
17/05/13 07:06:58.958952tOHM.net
>>968
ありがとう。

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

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

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

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

998:デフォルトの名無しさん
17/05/13 07:12:13.04RjzTmCQE.net
>>968
> moji for words in data for moji in words
なんか普通の文章みたい w

999:デフォルトの名無しさん
17/05/13 07:49:58.08o+hva64L.net
だって高級言語だもん

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

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

1001:デフォルトの名無しさん
17/05/13 09:06:28.71nrviLaTM.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:デフォルトの名無しさん
17/05/13 09:11:52.24nrviLaTM.net
pythonの内包表記を少し詳しく
URLリンク(qiita.com)

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

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

1003:デフォルトの名無しさん
17/05/13 09:21:25.935H1qnTU0.net
>>971
gen = [[moji for moji in words] for words in data]
では?

1004:デフォルトの名無しさん
17/05/13 09:48:53.86fKjxEgdl.net
>>974
lispっぽくて書きやすい

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

1006:デフォルトの名無しさん
17/05/13 12:26:59.03fKjxEgdl.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:デフォルトの名無しさん
17/05/13 12:39:33.28T7A75EKS.net
Lispは特にキチガイを引きつける印象がある
発達障害が電車のような秩序立った動きをするものにひきつけられるのと似ている

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

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

らしいっすよ

1010:デフォルトの名無しさん
17/05/13 16:36:31.86hRHxdCtf.net
>>967
iterableの入れ子を平坦にしたいときはitertools.chain.from_iterableを使っときな
URLリンク(docs.python.jp)

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

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

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

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

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

1014:デフォルトの名無しさん
17/05/13 19:58:36.148952tOHM.net
ジェネレータ入れ子の件

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

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

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

1017:デフォルトの名無しさん
17/05/13 21:41:11.24WSGfd40J.net
内包表記とか結局わかりにくいから使わんほうが良いよね

1018:デフォルトの名無しさん
17/05/13 21:46:52.91F7kBjgw1.net
二重ループとか初見殺し

1019:デフォルトの名無しさん
17/05/13 22:00:18.12nrviLaTM.net
>>991
内包表記は速いし、

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

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

1021:デフォルトの名無しさん
17/05/13 22:48:57.09O7RODXwf.net
次スレ立てたよ。

Pythonのお勉強 Part53 [無断転載禁止]©2ch.net
スレリンク(tech板)

1022:デフォルトの名無しさん
17/05/14 00:25:44.07ausMvItD.net
のりこめー

1023:デフォルトの名無しさん
17/05/14 08:55:08.15e/yCKCsM.net


1024:デフォルトの名無しさん
17/05/14 08:55:40.65e/yCKCsM.net
埋め

1025:デフォルトの名無しさん
17/05/14 08:55:56.37e/yCKCsM.net
埋め

1026:デフォルトの名無しさん
17/05/14 08:56:23.54e/yCKCsM.net
埋め

1027:デフォルトの名無しさん
17/05/14 08:56:39.51e/yCKCsM.net
埋め

1028:デフォルトの名無しさん
17/05/14 08:57:14.99e/yCKCsM.net
埋め

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

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


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

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

▼ プレミアム会員登録はこちら ▼
URLリンク(premium.2ch.net)

▼ 浪人ログインはこちら ▼
URLリンク(login.2ch.net)

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


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch