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


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

くだすれPython(超初心者用) その32



1 名前:デフォルトの名無しさん mailto:sageteoff [2017/02/04(土) 11:01:07.30 ID:koQjiQcQ.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その31
echo.2ch.net/test/read.cgi/tech/1476246889/
関連スレ
Pythonのお勉強 Part52
echo.2ch.net/test/read.cgi/tech/1483756857/
◆関連リンク Python の Home Page
ttp://www.python.org/
◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/
ttps://try.jupyter.org/
◆まとめwiki
ttp://python.rdy.jp/

ネットにはデマ情報がいっぱい残ってるので正しい情報をメモ
cmd で UTF-8 使える方法 (chcp 65001 について) ttp://nazochu.blogspot.jp/2011/08/blog-post_26.html
mintty ttp://dogmap.jp/2011/11/15/mintty/
mintty ttp://tanakh.jp/posts/2011-11-15-windows-terminal.html

色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい
https://git-for-windows.github.io/

596 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 17:56:56.73 ID:ViiM6aCK.net]
>>583
とりあえず以下で検出できた
import re
s = '猫50匹犬10匹の合計体重は321.5kgです。先月より2.2kg増えました。'
pat = r'(\d+\.\d+)|(\d+)'
match = re.findall(pat, s)
if match:
____print(match)

検出できればmatchは(小数,整数)のtupleのlistが返る
matchからの取り出し方は自分で考えるよろし

597 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 20:18:08.34 ID:ay/7q+Qm.net]
print(”y:{}”.format(y.data))
ってしたら
y:[0.1 , 0.3 , 0.1 , ..... , 11.1 , 0.97]
みたいに出力されたのですが
なんで....で省略されるのですか??

598 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 20:41:28.06 ID:ggNFKtYB.net]
>>588
それが省略するよう実装されたクラスだったから

どんな風に文字列化するかはメソッド__str__の実装次第
ttp://docs.python.jp/3/reference/datamodel.html#object.__str__

599 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 20:47:47.14 ID:JV/Gzrk0.net]
>>586
ありがとうございました。理

600 名前:解できないことは理解できました
いずれ理解できるときが来ると良いのですが
[]
[ここ壊れてます]

601 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 21:06:06.93 ID:GCbZW7KC.net]
>>590
簡単に言うと、引数が1つのときは
ゼロから引数の一つ前までの整数のリストを返すのがrange()

602 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 21:12:35.83 ID:11f4Xsre.net]
>>588
理由は>>589だと思うけど{!r}を試してみるという手もある

>>590
内部的な話は少しアレだったかな…ともかくPythonのfor文は各要素をループ変数に代入するんだ
そしてrange()はPython2だとrangeインスタンスを返すのではなく、ただのリストを返すものだった
その頃の話だと単純で、range(10)は[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]になるという感じ
これはrange(0,10,1)と同等で、0以上10未満を1間隔で返すというもの、今は少し違うけど大筋は同じ

603 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 21:42:59.88 ID:ViiM6aCK.net]
>>590
range(10)の10は繰返し回数ではなくて終了値
rangeの引数の指定は
range(stop) と
range(start, stop[, step])の2通りあって
range(10)は10までの数の集まりを用意しろって意味になる
開始値(どこから)が指定されないと0からになるので0~9の数字が用意される
同じ10回の繰返しでも100~109の数字でループさせたければ
range(100,110)って書く

604 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 21:58:11.57 ID:H6yYJeTo.net]
>>571-582
Python の exit(), sys.exit(), os._exit() の違い
uchanote.blogspot.jp/2015/01/python-exit-sysexit-osexit.html



605 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 22:39:41.57 ID:iVVLUimo.net]
exit()はsys.exit()の省略形(sysモジュールはデフォルトでimportされているから)で
同じものだろうと思っていたのだが違うのか
ややこしいのう

606 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 03:26:04.28 ID:Uljnsbub.net]
ちょっとPythonマジ何なん

a_list.join(‘,’)じゃなくて’,’.join(a_list)… はあ? Joinに使う文字列は主役じゃないだろ
def prime_factors(n, factors=[]):ってデフォルト引数書いてると関数呼ばれるたびに同じリストインスタンスを… はあ!?
そんなところケチって意味あるの?

って思った
中途半端なオブジェクト指向を合わさって結構辛い

607 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 08:05:18.77 ID:+VCDT32q.net]
参考までにstr.join(sep, iterable)とも書ける(まあ書かないけど)
str.joinはメソッドなのでまだ序の口、次の踏み絵はlenだ

608 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 08:31:52.10 ID:7c7kdLeu.net]
イテラブルごとにjoinメソッド実装しなくていいよ

C++やC#などでも引数のデフォルトに指定できるのは静的なデータのみ。遅延評価する言語は少数派

609 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 08:58:32.01 ID:0v48o5TS.net]
さいきんGoをdisって50人くらいから袋叩きにされてる人を見ましたが
それに比べるとPythonって大したことないですね

610 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 09:00:18.69 ID:U5noIHdN.net]
>>599
そういう価値観でプログラミング言語を比較した事ないけども
たいしたこと無いと思うならそうなんじゃないかな

611 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 09:40:10.97 ID:GBU/SbS8.net]
マウント取りたい奴が今はGoやってる感じなので仕方がない

612 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:03:07.98 ID:w7Nnu6Qd.net]
vs2017でたよ〜pythonもつかえるよ〜

613 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:28:08.44 ID:icCtDpEn.net]
(パイチャで)いいです

614 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 14:53:33.95 ID:Uljnsbub.net]
>>597
>str.join(sep, iterable)
こっちのほうがまだいいね
lenはそういう言語なんだなってまだ諦めがつく

>>598
イテラブルごとにjoinメソッド実装する必要なんてないでしょ



615 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 15:04:06.59 ID:CceDL3fb.net]
その辺は昔から議論の的になって散々語り尽くされてた気がする

しかしVS2017正式版でもPTVSはインストーラに復活せなんだか
ローカライズ要件を満たしてないだか…更新で駆除された思い出

616 名前:デフォルトの名無しさん [2017/03/08(水) 15:13:53.82 ID:LioYldeQ.net]
>>596
C/C++ 以外のすべての言語は、参照渡しだから、

関数の引数に、配列を渡すと、その配列が使いまわされる

617 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 15:21:45.57 ID:dkUU6S15.net]
最新のアナコンダでパイソン3.6がついてきました。
テンソルフローを入れたいのでパイソン3.5.2に下げたいのですが、どうすればいいですか?
3.5.2じゃないとインストールできないみたいなので困ってます、最初から入れ直しでしょうか??

618 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 16:08:16.03 ID:pbXo4yfr.net]
300〜330あたりで既出
入れ直しが早い

619 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 19:36:15.50 ID:IHnyd3av.net]
>>607
Anaconda入ってるなら$conda create
で仮想環境作れるから3.5の環境作ってsource activate すればオケ

620 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 20:05:30.87 ID:tb3FKLip.net]
みんなanacondaとかpyenvとか使っているんだ
なんか結局そのまま入れるのが一番楽だった
Macです

621 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 20:10:51.16 ID:jS0zQn/F.net]
初心者向けみたいなツラしてる割にいざトラブルが起きると100万倍ツケを払わされるのがAnaconda

622 名前:デフォルトの名無しさん [2017/03/08(水) 21:50:31.44 ID:uKS2Y9wL3]
すみません超初心者です
pyOpenSSLをインストールしようと思ってそこでつまずいています
コマンドプロントからpip install pyopensslと打って実行すると
Collecting pyopenssl
  Could not fetch URL https://pypi.python.org/simple/pyopenssl/: There was a pro
blem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificat
e verify failed (_ssl.c:749) - skipping
  Could not find a version that satisfies the requirement pyopenssl (from versio
ns: )
No matching distribution found for pyopenssl
となります。どうすればいいですか?

623 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 22:04:12.29 ID:U2hs0gzk.net]
すみません超初心者です
pyOpenSSLをインストールしようと思ってそこでつまずいています
コマンドプロンプトからpip install pyopensslとうって実行すると
Collecting pyopenssl
  Could not fetch URL https://pypi.python.org/simple/pyopenssl/: There was a pro
blem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificat
e verify failed (_ssl.c:749) - skipping
  Could not find a version that satisfies the requirement pyopenssl (from versio
ns: )
No matching distribution found for pyopenssl
となります。どうすればいいでしょうか

624 名前:デフォルトの名無しさん [2017/03/08(水) 22:22:59.35 ID:bTjeQvLi.net]
普通に入ってしまった・・・



625 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 22:25:46.28 ID:rHvscfbf.net]
あなた疲れてるのよ

626 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 22:45:53.56 ID:tb3FKLip.net]
ググって一番上に出てくるやつを読むと
macで3.6だとダメみたいだね。

627 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 00:01:05.15 ID:P5CyRR/n.net]
numpyで2*3の配列をprintしたら
[[ 0. 0. 0.]
[ 0. 0. 0.]]
こうなると思いますが
0 0 0
0 0 0
と表示するにはどうしたらいいでしょうか
要素はすべて2桁か1桁の整数であると仮定しています

628 名前:デフォルトの名無しさん [2017/03/09(木) 00:43:40.39 ID:ojEANMvi.net]
>>617
>>> for row in arr:
... print(*map(int, row))
...
0 0 0
0 0 0

629 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 01:54:46.91 ID:9+K5Dr1K.net]
鯖の中落ち

630 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 10:54:49.61 ID:Ui0PqFi6.net]
サーバちゃんの中、大トロなりぃ・・・

631 名前:デフォルトの名無しさん [2017/03/09(木) 12:55:36.74 ID:4L4opgUu.net]
九九を

632 名前:\示させるプログラムで躓いています
改行しないで、表示させるにはどうしたら良いでしょうか?

for i in range(1,10):
for n in range(1,10):
print i*n
[]
[ここ壊れてます]

633 名前:C2Q信者 [2017/03/09(木) 13:01:02.02 ID:AotXJL+d.net]
ここ数日間の雷禅祭り間の反応見てる限り
Core2からCoreiに乗り換えないでいた奴がやっぱ正解だったんだな。

なんかこういう時って本音ハッキリ出るし色んな所でマジレス飛ぶよね。
Coreiは確かに性能の上り方が微妙だしCPU内蔵GPUとか迷走してたもんな。

買い換えだのサブ扱いだのしてた奴がバカだったのがハッキリわかった

634 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 13:21:33.82 ID:yD6uOEYO.net]
最近はこの手の書き込みに「貧乏って辛いよね」以上の感想が出てこない

余裕のある収入って素敵だね



635 名前:デフォルトの名無しさん [2017/03/09(木) 13:24:01.31 ID:ojEANMvi.net]
>>621
>>> for i in range(1, 10):
... for j in range(1, 10):
... print(i * j, end=' ')

636 名前:デフォルトの名無しさん [2017/03/09(木) 13:50:36.42 ID:6hqIxzkr.net]
>>624
それ全部横一列になるじゃろ

637 名前:デフォルトの名無しさん [2017/03/09(木) 13:58:55.76 ID:ojEANMvi.net]
横一列も捨てたもんじゃないぞ

638 名前:デフォルトの名無しさん [2017/03/09(木) 13:58:55.83 ID:4L4opgUu.net]
>>621
for i in range(1,10):
for n in range(1,10):
s=i*n
print i,n,s

639 名前:デフォルトの名無しさん [2017/03/09(木) 14:06:06.24 ID:4L4opgUu.net]
質問者はエスパーを求め、回答者は限りなく正解に近い解決案を提示する
しかし、両者の意見は極限の様に決して交じり合う事は無い

640 名前:デフォルトの名無しさん [2017/03/09(木) 16:00:20.09 ID:6+0zD1Ul.net]
>>628
それを書きたいがために自演してるの?

641 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 00:30:52.07 ID:2xwb+bja.net]
pythonってprint周りが貧弱だね

642 名前:デフォルトの名無しさん [2017/03/10(金) 00:36:01.31 ID:laK4a1KX.net]
why?

643 名前:デフォルトの名無しさん [2017/03/10(金) 01:53:05.75 ID:NYdKDrgC.net]
>>631
印刷って意味なんだろうな

644 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 05:01:36.75 ID:j91K0HTy.net]
pdf化は簡単



645 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 09:41:37.20 ID:ccNaYHW5.net]
スクリプトで印刷することがあるのか
プリンターでも壊すの?

646 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 10:28:40.52 ID:aPYjQr+s.net]
(プログラミングそのものも)ちょうしょしんしゃなんですが、質問があります
関数を定義するとき、普通は関数内にprintとreturnを混在させないもんなんでしょうか?
基本的にはprintしつつ、たまに戻り値だけ取り出したいんですが、できませんよね

647 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 12:13:01.25 ID:6bgFp/KF.net]
どちらか一方ってやり方はあまりしませんね
常に戻り値を返しておいて、受け取った方で制御するのが、関数の責務を最小にする観点では正しいでしょう

648 名前:デフォルトの名無しさん [2017/03/10(金) 12:20:43.47 ID:Tn2RsuVd.net]
副作用がある関数で処理をしないのは基本
文字列生成と出力を同じ関数でやるとかありえない

649 名前:デフォルトの名無しさん [2017/03/10(金) 12:36:43.20 ID:PqU1AHi2.net]
受け取った返り値をprintじゃいかんのか?

650 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 13:03:53.28 ID:xlZkokSc.net]
>>635
こんな関数書けますか、ってかんじ?

def f(a):
__if a>5:
____print(a)
__else:
____return a

651 名前:デフォルトの名無しさん [2017/03/10(金) 14:14:11.58 ID:wwCDmvkp.net]
うんこ

652 名前:デフォルトの名無しさん [2017/03/10(金) 14:48:04.06 ID:NYdKDrgC.net]
うんち

653 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 14:52:21.11 ID:5Gzd391i.net]
>>636-639
勉強になります
pythonの書き方は本読んで覚えたんですが
関数とは何ぞやというような根本的な部分を知らないままきたせいで
妙ちきりんな書き方をするところでした

654 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 15:37:17.96 ID:7gwT/agc.net]
小林さんちのメイドラゴン
i.imgur.com/00hZ4R1.jpg



655 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 16:04:57.37 ID:y8xCqliG.net]
Qiitaにまとめてる人いたよ
そのコードの出自も含めて

656 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 16:42:28.71 ID:7rf1zsAW.net]
そうかそうか。入門にpythonですか。
良いことだ。
焦らずゆっくりやるといいよ。

657 名前:デフォルトの名無しさん [2017/03/10(金) 17:17:30.54 ID:wwCDmvkp.net]
>>644
https://qiita.com/tags/%E5%B0%8F%E6%9E%97%E3%81%95%E3%82%93%E3%81%A1%E3%81%AE%E3%83%A1%E3%82%A4%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3
qiita.com/ygkn/items/0d0d5a451a09c8034637
qiita.com/ygkn/items/272324aa3ec3a29e2cea
qiita.com/ygkn/items/6b3be1afa31e4092826e

658 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:03:34.39 ID:7YjECCcV.net]
ドキュメントのshelveの項目
Because of Python semantics
は「Pythonの構造上」であって「Pythonの意味論により」ではないだろう…
噂のGoogle翻訳による訳文ではないかと思ったが、Google翻訳はセマンティクスを訳出しなかった

659 名前:デフォルトの名無しさん [2017/03/10(金) 20:42:08.90 ID:1gLE1C/J.net]
(1)evalを使ってhoge.pyをimportして関数aを使う方法を教えてください
■hoge.py
def a(n):
__return n * 2
■main.py
import hoge
print(eval('hoge.a(%d)' % 5))
実行するとTypeError: not enough arguments for format string


(2)上のhoge.pyの関数aをeval()を使わずlocals()かglobals()で実行する方法を教えてください
動的に実行したいのでモジュール名hogeと関数名aは文字列として扱います
■main.py
import hoge
print(locals()['hoge'].a(5)) # これはいけるけどaが文字列じゃないのでダメ
print(locals()['hoge'].locals()['a'](5)) # こんな感じでhogeもaも文字列でしたいけどこれはエラー

660 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 21:10:45.57 ID:tsZNvBFI.net]
ペアプロしたいよ

661 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 22:14:52.94 ID:tYHwWFlR.net]
>>648
(1) それでできるはず、エラーの理由がわからない

(2) getattrを使う
import hoge
print(getattr(hoge, "a")(5)) # => 10

(3) importlibを使って動的にimportする
import importlib
hoge = importlib.import_module("hoge")
print(hoge.a(5)) # => 10

662 名前:647 [2017/03/10(金) 23:06:21.90 ID:RlygWM/c.net]
>>650
先輩詳しくありがとうございます

663 名前:デフォルトの名無しさん [2017/03/10(金) 23:43:24.32 ID:IjVf1zYz.net]
def a():
__pass


def aa():
__pass

i = 1
f = 'a' * i
while f in locals():
__f = 'a' * i
__print(f)
__i += 1

存在する関数の名前を表示したいのに
なんで3回もループするんですか?
3回目はwhileの条件式がFalseになるのに何故3回目も実行されてるんですか?

664 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 23:59:30.13 ID:BkPIKCxb.net]
そりゃそのコードじゃ3回目に突入しないとfが'aaa'にならないからだよ(´・ω・`)



665 名前:651 [2017/03/11(土) 00:02:06.18 ID:Zr2FrbrS.net]
あっ
i += 1をwhileの次の行に書いたら解決しました
先輩のツッコミのおかげです

666 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 04:22:15.44 ID:6BNQXKpF.net]
アー

667 名前:デフォルトの名無しさん [2017/03/11(土) 04:26:22.74 ID:7W6dDd5l.net]
ネスト文だけで、最後まで仕上げたい
だけど、できない

サーバー∩ユーザー操作入れると積んじゃう
ウワァァ-----。゚(゚´Д`゚)゚。-----ン!!!!

破棄していっても、ネスト文20個が限界
どうしたらええの?(;一_一)

668 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 06:45:19.40 ID:aLw+/MXn.net]
>>647
Pythonの和訳ドキュメントは直訳が多く質が悪い
おそらくプログラミング経験のない人がやってる
まあ普通に考えれば、英語ができるプログラマーが
ボランティアで翻訳に参加してくれるわけがないんだけどね
そんな暇はないし、本人はそのドキュメントを必要としないのだから

669 名前:デフォルトの名無しさん [2017/03/11(土) 06:55:32.28 ID:xoJttF1n.net]
>>657 菅野良二訳さないかな?

670 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:55:43.67 ID:uN3WuySc.net]
君たちの会社にもいるだろう
参考書は沢山持っているが翻訳が悪いと難癖ばかりの使えないプログラマーが

671 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:11:51.14 ID:anHHKoFL.net]
>>647>>657
おかしな翻訳だとは思わないんだかなあ
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E6%84%8F%E5%91%B3%E8%AB%96

672 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:35:39.28 ID:PkZJ5MPX.net]
和田英一訳さないかな?

673 名前:デフォルトの名無しさん [2017/03/11(土) 10:14:52.21 ID:bAyT8ysx.net]
vimの和訳よりはましだよ
あっちは英語出来ない人がgoogle翻訳使ってマージしてるから

674 名前:デフォルトの名無しさん [2017/03/11(土) 11:21:17.33 ID:l7ncF0gw.net]
>>647は見識が広まって良かったね



675 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:26:17.05 ID:ERGKVRiV.net]
えらすとてねすの篩をpythonで書くとどうなります?

676 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 11:28:19.55 ID:36z8PDHE.net]
print "えらすとてねすの篩"

677 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 12:47:14.58 ID:xuFZEUQC.net]
い…筏

678 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 12:55:48.69 ID:JsoExgwj.net]
>>657
ほんそれ

679 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 12:56:01.36 ID:JsoExgwj.net]
>>662
ひどいな

680 名前:デフォルトの名無しさん [2017/03/11(土) 13:09:46.26 ID:l7ncF0gw.net]
く・・・櫛

681 名前:デフォルトの名無しさん [2017/03/11(土) 13:18:12.84 ID:l7ncF0gw.net]
翻訳おかしいと思って原文みたら、結局は妥当な翻訳かなってなるんよね

682 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:30:29.94 ID:6BNQXKpF.net]
>>664
かなりテキトー
ideone.com/wFlLXl

683 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:31:00.02 ID:BuFLSVmP.net]
メソッドが破壊的かどうか区別できるセマンティクスを知らないのはいいけど
意訳で直訳を批判するならその根拠を出すべきだと思う

684 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:37:21.71 ID:ERGKVRiV.net]
>>671 ナンパイ使うと何やってるかさっぱりですが ありがとうございました😊



685 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:49:18.59 ID:JsoExgwj.net]
>>671
tupleにする意味無くね?

686 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:50:51.92 ID:6TyVoHd3.net]
numpyの配列で全要素が0以上ならtrueを返すというのがやりたいのですがどうやればいいでしょうか

687 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:01:15.66 ID:qCTmGWaI.net]
pandas使ったらさあ、ちょっと前なのにパラメータがrows, colsからindexとcolumnに変わってたりと
大して意味のない気まぐれな変更多くて修正めんどくさくて大変だった。
いったん決めたインターフェースは簡単に変えるなよ

688 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:06:13.79 ID:JsoExgwj.net]
> . 675
またおまえか

689 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:28:55.88 ID:PdJucnY4.net]
>>677
なんか必死そうで笑えるw

690 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 16:42:08.91 ID:pb1mdVVd.net]
関数内でグローバル変数の書き換えには宣言が必要なはずですが、リストや辞書の場合、x[0]+= 1のような操作が可能なのは何故ですか?

691 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 17:08:24.87 ID:JsoExgwj.net]
参照が先だからじゃね

692 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 18:06:36.27 ID:HkKeM3nW.net]
俺も不思議に思ってた
参照だからってglobal宣言もなしにグローバル変数書き換えできるって整合性が取れてないんじゃないの

693 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 18:15:26.35 ID:BuFLSVmP.net]
>>679
globalは構文的な曖昧さを解決してるだけ
https://docs.python.jp/3/faq/programming.html#what-are-the-rules-for-local-and-global-variables-in-python

694 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 18:16:42.55 ID:JsoExgwj.net]
>>681
「参照だから」
ではなく
「参照が先に実行されてるから」
ということが重要



695 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 18:26:16.40 ID:sUFiWX+J.net]
参照を書き換えてるんじゃなくて
参照先の値を書き換えてるからだろ

参照が先に実行されてるってどゆこと?

696 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 18:48:02.84 ID:aLw+/MXn.net]
これ怖いなあ
自分はケチだから変数名は基本一文字なんだけど
今まで作ったもののうちどこかでバグってるものがあるかもなあ

697 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:01:29.57 ID:HkKeM3nW.net]
いやいや、俺が言ってるのは整合性の話
関数内でグローバル宣言しない限りローカルと見做されるわけなんだから
関数内で x[0]=1 ってやったら NameError: name 'x' is not defined になったほうが整合性がとれるんじゃないかと

>>681
参照が先に実行されてるってどゆこと?

698 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:17:07.88 ID:JsoExgwj.net]
自身にレスするとか
いつもの自演ですか

699 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:18:11.96 ID:gqEvvPBC.net]
>関数内でグローバル宣言しない限りローカルと見做される

この認識が間違いだっつー話

700 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:19:03.12 ID:sFjld79D.net]
>>686
>関数内でグローバル宣言しない限りローカルと見做される
前提を端折るでない、関数内で代入していたら、だよ
代入してなけりゃ暗黙的にグローバルだ

701 名前:デフォルトの名無しさん [2017/03/11(土) 19:25:32.26 ID:7t46mzeU.net]
x[0]=1 は x.__setitem__(0, 1) だからxを参照してるだけ

702 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:29:44.70 ID:HkKeM3nW.net]
>>687
アンカ間違えただけじゃないw
で、参照が先に実行されてるってどゆこと?
>>688
どういうこと?
https://docs.python.jp/3/faq/programming.html#what-are-the-rules-for-local-and-global-variables-in-python
>>689
たしかに言葉足らずでしたね
でも代入しちゃってグローバル変数書き換えられちゃってるんですよ
変だと思いませんか?

703 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:45:32.67 ID:7t46mzeU.net]
アクセス保護が目的ではなく
構文解析機にローカル変数/グローバル変数どちらとして扱うべきかを明示するための構文

704 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 19:51:59.26 ID:BuFLSVmP.net]
「意図しない副作用」って単純に名前衝突でのことだと思ってたけど
まあ広義に捉えられなくもないか



705 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 20:03:52.38 ID:sFjld79D.net]
>>691
意味が分からない、それは参照先メンバに対する変更だし、変数自体への代入ではない
今のスコープになければ外のスコープを参照するのは至って普通、メンバへはカプセル化の話になる
実装元のCだってローカル宣言なければグローバル参照だし、ローカル宣言の代わりが変数代入ってだけでしょ

706 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 20:38:31.56 ID:sUFiWX+J.net]
>>691
>でも代入しちゃってグローバル変数書き換えられちゃってるんですよ
書き換えられちゃってません
言いたいことはわからなくもないんだけどね

707 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 21:06:34.59 ID:HkKeM3nW.net]
ああなるほど、確かに変数への代入じゃないですね
>グローバル変数書き換えられちゃってるんですよ
我ながらひどい表現だと思いましたw
変数名とかスコープとか参照の理解が少しだけ深まったような気がします
付き合ってくれてありがとう

708 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 21:48:30.25 ID:pb1mdVVd.net]
解答ありがとうございました
根本的な理解が足りてないようなので学習を進めます

709 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 21:55:20.97 ID:G4RDUkFD.net]
>>657
読める奴は翻訳しない
読めない奴は翻訳できない

悲しい世界

710 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:02:21.44 ID:G4RDUkFD.net]
pythonのスコープはガバガバ
なんでこんなビッチ仕様にしてしまったのか?

711 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:13:25.94 ID:cq7m28T0.net]
グローバル変数を使うと面倒だな→グローバル変数は使わない設計にしよう
これ

712 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:18:19.34 ID:9ePUQEo0.net]
インタープリター、お手軽仕様だろ

713 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:28:35.13 ID:qRrPVhhX.net]
>>700
使いにくさを指摘するとこういう主張するpython信者多いよな。
他言語でも似たようなのは見かけるけど、pythonがダントツに多い印象。

714 名前:デフォルトの名無しさん [2017/03/11(土) 22:33:40.23 ID:VPCZQ4CC.net]
それがZen of Pythonだからな



715 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:35:13.02 ID:G4RDUkFD.net]
>>700
そんなん最初から使えなくていいよね
バカナん?

716 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:57:09.76 ID:vF75T+Pv.net]
collectionsのnamed tupleってinstance作る時に使う子?
classの定義要らない?

717 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 23:12:01.81 ID:bce8XLS9.net]
>>704
高脳が多かった時代は問題なかったが、低脳がいっぱい使うようになって
低脳仕様にしないといけなくなった。

718 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 00:39:17.69 ID:T4N3k6YJ.net]
誰が書いても同じようになるようにっていう考え方自体が低脳仕様だと思うんだが
良し悪しは別にして

719 名前:resumi [2017/03/12(日) 01:03:40.10 ID:f0Kjw9v5.net]
これ普通にショックだね。。
本当なの??
https://goo.gl/RB0asw

720 名前:デフォルトの名無しさん [2017/03/12(日) 01:08:07.94 ID:S7hZubyl.net]
コードの貼り付けはこれでいいのかな?
https://gist.github.com/anonymous/89aee831d0f744e2c7a97f41489d4174
例外の種類で戻る位置を変えたりという、gotoとかジャンプ的な動きのできる多重ループを作りたいんですが
素人すぎて上記のようなバカ正直っぽいのしか分かりません。普通はどういう書き方するんでしょうか

721 名前:デフォルトの名無しさん [2017/03/12(日) 01:15:37.69 ID:2xIVaz8I.net]
>>705
collections.namedtuple自体は関数で、呼び出すととサブクラスを定義して返してくれる
そのサブクラスを使ってインスタンスを生成する

722 名前:デフォルトの名無しさん [2017/03/12(日) 01:18:08.87 ID:AQn8N+kp.net]
低脳仕様だから科学者から支持されてるんだぞ
愛用しているFortranの仕様すら抑えてない科学者は多い

723 名前:デフォルトの名無しさん [2017/03/12(日) 01:23:38.06 ID:2xIVaz8I.net]
>>705
>>> # Basic example
>>> Point = namedtuple('Point', ['x', 'y']) #namedtupleを使って、Pointというサブクラスを定義する
>>> p = Point(11, y=22) #そのサブクラスPointを使って、pというインスタンスを作る
(docs.python.jp/3/library/collections.html#collections.namedtuple)

724 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 01:26:45.33 ID:T4N3k6YJ.net]
>>709
普通は関数化してそれを呼び出すんじゃないかな
多重ループをサクッと抜ける方法はないかも

ところでhots[]はなんで入れてるの?



725 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 01:46:26.39 ID:m/AGujgk.net]
>>710
>>712
はいはいnamedtuple自体がクラスを定義する関数なんですか、なるほど

継承してオーバーライドすればmethodを使うこともできるんですね

726 名前:デフォルトの名無しさん [2017/03/12(日) 02:13:50.47 ID:S7hZubyl.net]
>>713
hots[]は最初のinputがターゲットのリスト(food[])に存在するか、の答え合わせにつかってます。10行目〜12行目くらいです

ちなみに、多重ループは関数化して〜、というのはググると結構出てくるんですが
具体的にどこを関数化するんでしょうか…?
全体?それとも、ごちゃごちゃしたとこを関数化してコンパクトに見えるようにする、という意味ですか?
(上記のでいうと、3カ所のif depthブロック単位で関数化するみたいな)

727 名前:デフォルトの名無しさん [2017/03/12(日) 02:34:31.65 ID:2xIVaz8I.net]
>>709
注文を受けたか、注文は有効か、確認済みかどうかをプロパティに持って、それを操作する関数を持つクラスを実装するのがいいと思う
あと、例外っていう言葉は例外処理がまず浮かぶから、条件分岐の時には使わんといて

728 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 11:04:47.14 ID:zE2Y9N2c.net]
windows10でpython3.5.2使ってます
python -p 9999 pydoc.py
でローカルにpythonドキュメントのwebサーバーが立ち上がりますが一緒に出てくるコマンドプロンプトが

Server ready at localhost:9999/
Server commands: [b]rowser, [q]uit
server>

と出て入力待ちの状態です
動作に問題はないんですが目障りで邪魔で気分がよくないです
コマンドプロンプトを表示させずに実行する方法はないでしょうか
pythonw.exeで試したけれどだめでした

729 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 11:11:33.98 ID:zE2Y9N2c.net]
python pydoc.py -p 9999の間違いです
pythonw pydoc.py -p 9999はダメでした

730 名前:デフォルトの名無しさん [2017/03/12(日) 11:26:02.43 ID:j2SMNxxS.net]
>>711 なんでこんなのgoogleこんなの使っているの?

731 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 11:44:40.61 ID:gSAHEv2e.net]
>>675お願いします

732 名前:デフォルトの名無しさん [2017/03/12(日) 11:49:17.73 ID:OGxRMYSq.net]
>>717
from subprocess import *
Popen("python -m pydoc -p 9999", shell=True, stdin=PIPE).wait()
をpythonwで

733 名前:デフォルトの名無しさん [2017/03/12(日) 12:10:01.45 ID:2xIVaz8I.net]
>>675
ideone.com/JyWro0

734 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 12:20:44.85 ID:OGxRMYSq.net]
numpy.arrayなら.min()を使う方が速いかもね



735 名前:デフォルトの名無しさん [2017/03/12(日) 12:25:11.64 ID:2xIVaz8I.net]
>>723の方がいいな
minの存在忘れてた

736 名前:デフォルトの名無しさん [2017/03/12(日) 12:25:39.80 ID:gi0lLEKK.net]
np.all(ary>=0)ではいかんのけ?
np.min(ary)>=0のほうが確かに速そうだけど

737 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 12:41:49.26 ID:T4N3k6YJ.net]
>>715
注文を確認したときに”N”の回答を繰り返すとhots[]が
どんどんappendされていくので何か別の意図があるのかと思ったのよ
不要な外部状態への依存は無くしたほうがメソッドとして抽出しやすくて読みやすいコードになる

def is_valid(choice)
return choice in [format(x, 'd') for x in range(len(food))]

738 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 12:42:32.61 ID:T4N3k6YJ.net]
>>715
関数化するってのは処理の塊に名前を付けてそれを呼び出すようにするっていう意味と
塊ごとのループのネストを浅くするっていう意味と両方
例えばこんな感じ

order = Order()
while not order.placed:
ask(order)
confirm(order)
if not order.confirmed:
continue
place(order)

739 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 12:51:04.90 ID:T4N3k6YJ.net]
>>715
ただPythonにはラベルもgotoもないしdo-while/do-untilやcase文もないから
こういうどこかへジャンプしたいっていうモデルをプログラミングするときは
標準だとwhile/continue/breakとif-elseで頑張るか例外で代用するかしかない
良くも悪くもそういう制約の強い言語

740 名前:デフォルトの名無しさん [2017/03/12(日) 13:17:38.37 ID:WG9HLLmd.net]
残念だがどこかへジャンプしたいっていうモデルなどない
ヘタクソなモデリングの結果
どこかへジャンプしたいコードを書きたくなるのだよ

741 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:26:46.87 ID:1AEjxjTb.net]
beginとendのログを書きたがるジャップソフトハウスだとよくある光景

742 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:26:59.89 ID:zE2Y9N2c.net]
>>721
できました、ありがとうございます!
シェルを通してpydocを実行してstdinを接続した子プロセスを作ってその終了を待つという
スクリプトを窓のでないpythonwで実行するという解釈であっているでしょうか?

743 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:29:19.02 ID:RdGtMQ3H.net]
>>729
どこにジャンプするんだw

744 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:38:05.72 ID:q89zFEcE.net]
水平線の彼方へさ



745 名前:デフォルトの名無しさん [2017/03/12(日) 13:43:42.94 ID:WG9HLLmd.net]
プログラマーのジャンプする先は彼岸に決まってんだろ
dive into heavenだよ

746 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 14:08:40.77 ID:S7hZubyl.net]
>>716
>>726-728
詳しくありがとうございます <

747 名前:br> 参考にしながら、書き直してみます []
[ここ壊れてます]

748 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 14:31:17.78 ID:T4N3k6YJ.net]
>>729
どうモデリングするかは人の自由だよ
一般的な業務プログラミングではそういうのはないだろうけど
ゲームブックみたいに何ページに行くってのが頻出するやつはジャンプするモデルのほうが自然
言語の制約で思考が凝り固まるのが良い場合もあれば悪い場合がある

749 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 14:35:02.33 ID:T4N3k6YJ.net]
>>735
>>727の例だけどcontinueよりも
whileをネストさせたほうが意図が伝わりやすくていいかもね

while not order.placed:
____while not order.confirmed:
________ask(order)
________confirm(order)

____place(order)

750 名前:デフォルトの名無しさん [2017/03/12(日) 14:46:32.11 ID:B7xQW+GI.net]
>>734 3月20日は彼岸の中日。

751 名前:デフォルトの名無しさん [2017/03/12(日) 15:40:33.95 ID:WG9HLLmd.net]
>>736
なに意地張っちゃんてんのw可愛いのうw
そういうのはモデリングとは言わんのだよヘタクソなコーディングなw
せっかくだし彼岸にダイブでもしてみたら?w

752 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 15:44:16.45 ID:58WNQxmr.net]
彼岸じゃなくて涅槃だろ

753 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 15:53:54.89 ID:T4N3k6YJ.net]
>>739
最近の言語の実装でもgotoやラベルへのジャンプは普通に使われてるしLinuxのコードなんかgotoだらけだぞ
リーナスより君のほうがコーディングが上手いんだなw
いまだにgotoが常にharmfulだと信じてるのってパイチョンしか知らないやつだけ

754 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 15:56:43.14 ID:T4N3k6YJ.net]
このスレはPython使ってる素人の知ったかぶりが痛い



755 名前:デフォルトの名無しさん [2017/03/12(日) 16:08:26.12 ID:PMaU+xiL.net]
そして、高度な事を聞かれると沈黙する

756 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 16:09:23.02 ID:1AEjxjTb.net]
休みの日にID真っ赤にして9回も書き込んでる奴ほどではないさ

757 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 16:47:28.12 ID:OGxRMYSq.net]
>>731
うん
shell=Trueなのはコマンド書式のため

758 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 17:25:31.13 ID:NGwa4vbi.net]
>>709
実質的にはgotoをやっている書き方もできるよ
codepad.org/sGSrAUmZ

759 名前:デフォルトの名無しさん [2017/03/12(日) 17:35:25.52 ID:PMaU+xiL.net]
os linux() python2.7.3

マウス操作 クリック及び絶対値によるマウス移動
Kona Linux 2.3 black(LXDE)

どうしたらええの?

760 名前:デフォルトの名無しさん [2017/03/12(日) 17:45:00.75 ID:WG9HLLmd.net]
>>741
ハイハイw最近のガキはどうしてこう素直じゃないかねw
自分の何が間違っているのかも分からんのだろお前w

761 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 17:48:12.69 ID:87+SaKG+.net]
goto
ttps://pypi.python.org/pypi/goto-statement/
ttps://github.com/snoack/python-goto/#usage

762 名前:デフォルトの名無しさん [2017/03/12(日) 18:16:41.37 ID:r/LAIW7C.net]
>>740
もうすぐですね

763 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 18:17:25.45 ID:87+SaKG+.net]
>>747
ttps://pypi.python.org/pypi/PyAutoGUI/
ttps://github.com/asweigart/pyautogui#example-usage

764 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 18:17:47.60 ID:r/LAIW7C.net]
>>743
そう
うかつなレスすると突っ込まれるから
えろいひとが回答するのを待ってる



765 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 18:51:37.38 ID:6iMHIBm5.net]
>>746
分かりにくいだけやん...

766 名前:デフォルトの名無しさん [2017/03/12(日) 19:03:33.93 ID:aQjVbvnT.net]
pytz使わずにdatetime.now()でとった現在日時(GMT+9)をGMT-5の時刻に変換するコードをください

767 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 20:33:55.19 ID:mNviceIe.net]
>>722-725
ありがとうございます!

768 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 21:32:05.82 ID:T4N3k6YJ.net]
>>746
お、おう これはharmfulやね
抽象度ごとのコントロールフローがまとまってないと辛い

769 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 00:02:54.74 ID:RYBEx06L.net]
>>746
関数内ループなくしたのは良いが、分かりにくいな
この場合はenum使ったステートマシンでオーダー状態/遷移先を管理したほうが良いのかもな
これCだけど、qiita.com/saltheads/items/8331e14f4d3b37f511aa
な感じに

770 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 01:13:39.27 ID:Hmz5iRTa.net]
>>746
デバッグした?

771 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 02:47:10.13 ID:A9v11X3F.net]
>>754
-16*3600

772 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 03:06:26.63 ID:/3oucZHe.net]
>>759
-14

773 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 03:17:09.94 ID:A9v11X3F.net]
そういえばサマータイムあるところだっけ

774 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 03:25:50.93 ID:/3oucZHe.net]
この場合世界標準時からの差のみだからサマータイムは考慮しなくていい
-9 + -5



775 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 09:25:01.24 ID:9DicF29x.net]
>>709
いくらPythonが統一した書き方を強制しやすいと言っても
やはりずば抜けたアホに対しては無力なようだな

776 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 09:59:32.96 ID:qHoGQ2gO.net]
くだスレってくだらないスレ?くだまくスレ?

777 名前:デフォルトの名無しさん [2017/03/13(月) 10:08:55.92 ID:5P5C0Ekt.net]
CUDAスレ

778 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 10:28:05.73 ID:PY1C8/Xh.net]
GOTOは悪だとおもってるくだらない奴のスレ

多重ループ抜けられない、多重ループかけないって致命的じゃね

779 名前:デフォルトの名無しさん [2017/03/13(月) 10:37:26.98 ID:aew42WlW.net]
多重ループする状況でPythonみたいな遅い言語使うな

780 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 11:07:19.72 ID:W+gruSmy.net]
例外投げて抜けるんだろ

781 名前:デフォルトの名無しさん [2017/03/13(月) 11:23:13.57 ID:7VMyUxLV.net]
それならreturnで抜けたほうがいいだろ

782 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 13:40:55.09 ID:N3DmujAP.net]
どっちでもin

783 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 17:38:51.44 ID:WQPH0UXu.net]
breakさん「」

784 名前:デフォルトの名無しさん [2017/03/13(月) 18:55:41.02 ID:BnQlNWII.net]
for i in range(5):
_for j in range(5):
__break
_print(i, j)
print(-1)

親のforも込みでbreakの部分でループを抜ける方法を教えてください
下のようにフラグを用意して親forのスコープでbreakを実行するやりかたはNGです
for i in range(5):
_for j in range(5):
__f = 1
__break
_if f:
__break
_print(i, j)
print(-1) 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)




785 名前:デフォルトの名無しさん [2017/03/13(月) 18:57:42.02 ID:BnQlNWII.net]
グローバルなスコープでforを使います
関数の中じゃないので次のコードもNGです
def f():
_for i in range(5):
__for j in range(5):
___return
__print(i, j)

786 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 19:05:35.74 ID:WQPH0UXu.net]
まぁ無理だから他の方法考えろと言うしかないけど、お前さんがbreak嫌いってことはよく分かったわ
一発で多重ループ抜けするようなコードになるならもっと良いやり方が存在する可能性が高いぞ

787 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 19:12:53.60 ID:voNf4d3r.net]
まぁ正道のelse: continue; break…もスコープ的にダメって言いそうだし
例外ジャンプは邪道やろし、break 2のような物は無いものな

788 名前:デフォルトの名無しさん [2017/03/13(月) 19:42:59.99 ID:xj6UKIPj.net]
for i in range(5):
_for j in range(5):
__break
_else:
__break
_print(i, j)
print(-1)

789 名前:デフォルトの名無しさん [2017/03/13(月) 19:45:17.95 ID:xj6UKIPj.net]
逆か
for i in range(5):
_for j in range(5):
__break
_else:
__print(i, j)
print(-1)

790 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 19:50:16.50 ID:WfgCl99Q.net]
俺的には labeled break ぐらいとっとと実装しろよって思うけどなぜか却下されてるんだよな
https://www.python.org/dev/peps/pep-3136/

791 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 20:08:29.57 ID:tf/p3QRT.net]
ラベルドブレイク!
技名みたいでかっこいいな

792 名前:デフォルトの名無しさん [2017/03/13(月) 20:12:38.89 ID:7VMyUxLV.net]
return使えって書いてるな
まあそのほうがいいわな

793 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 21:33:20.30 ID:N714JDKq.net]
for i,j in ((i,j) for i in range(5) for j in range(5)):
_break

794 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 22:02:17.64 ID:h57/U2+3.net]
>>772
一段階ずつbreakするか関数にしてreturnを使うか例外を使うかの3択
どれもキレイなコードにはならないから自分の表現したい内容に一番近いのを選ぶほかない



795 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 22:12:24.08 ID:0Fbbs/T/.net]
こういう奴にはPHPでもPerlでもお勧めしとけ

796 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 22:18:43.04 ID:gT7cCjLG.net]
いやいや勧めるのはC++だろ

797 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 23:18:55.60 ID:wkEXVPnf.net]
>>772
いろいろと度外視したもの、見た目よくないし邪道でくだらないし俺は責任取れない
pastebin.com/KDvc0c4F

798 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 02:04:14.08 ID:vIMzEjCF.net]
goto使おうぜ
https://github.com/snoack/python-goto

799 名前:デフォルトの名無しさん [2017/03/14(火) 05:37:50.88 ID:bQth80Jl.net]
>>786 なんで、tf gotoで書けないだろう。

800 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 10:23:07.89 ID:vbV/Jpv3.net]
for に else とか変態仕様やろ

801 名前:デフォルトの名無しさん [2017/03/14(火) 12:20:17.99 ID:UFDW2I+S.net]
for elseは非推奨だっけ?

802 名前:デフォルトの名無しさん [2017/03/14(火) 12:24:23.70 ID:iJqYjMUp.net]
変態てのはお前が知らない馴染みがないって意味じゃないよ

803 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 12:42:15.09 ID:Bmc3j2Q1.net]
知ってても書いたことはない筆頭がfor~else
フォーラムで「何のしがらみもなく構文を一つ削除してよいのなら何を削除する?」って聞いたら上位に来そう

804 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 12:58:29.09 ID:EHnwNQwM.net]
多少ツッコミどころがある仕様の方が面白いからセーフ
いつか難解コードを書きたくなる時があったらきっと使うでしょ



805 名前:デフォルトの名無しさん [2017/03/14(火) 15:32:18.71 ID:5xEA7Y6K.net]
for elseは一回もループしなければとかならまだ使い道あったのに

806 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 19:24:17.42 ID:qHSOlZCd.net]
for else 普通に便利だと思うけどなあ
python.civic-apps.com/else-loop/

807 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 19:47:08.71 ID:EHnwNQwM.net]
他の言語にも手を出すつもりならfor elseはあまり多用しない方がよさそう

808 名前:デフォルトの名無しさん [2017/03/14(火) 19:49:28.11 ID:CJRugdQQ.net]
ボク頭が弱いから使いどころがイマイチわかんないっす!(意訳)

809 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 19:59:36.65 ID:EHnwNQwM.net]
大体あってる
俺と同じような低脳が沢山いるからできるなら使わない方が良いってなるんだが

810 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 20:13:15.76 ID:SxrvnFMh.net]
戻り値の概念がいまいち理解できずに困っています

def gauss(n):
sum = 0
for i in range(1, n+1):
sum += i
return sum

print (gauss(100))

とするじゃないですか。そうすると1〜100の和の5050が返ってきますよね
でもreturn使う理由がよく分からないんですよ。関数に引数入れたときの計算結果は一つに定まってるじゃないですか
だからreturnなんか使わなくてもgauss(100)と入力すれば5050が出るんじゃないかと。でも出ないんですよね

811 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 20:37:27.43 ID:hCSBa/z+.net]
数学の関数とは違う。結果が一つに定まるとは限らない、例えばinput関数
input('何か適当に入力しろよ>')

812 名前:デフォルトの名無しさん [2017/03/14(火) 20:44:36.81 ID:JZnTb5HD.net]
関数ってファイル処理だけさせたりもするから
返り値なんてなくても・・・

813 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 20:47:50.22 ID:ZhDhc0/i.net]
>>796-797
Pythonは高脳をターゲットに開発された言語だからな。
低脳にはfor elseの素晴らしさは理解不可能

>>798
あとdef gauss(n)
もnつけなくて正しく動作する気がするよね
def gaussでOKだよね

814 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 20:53:57.47 ID:gIyZXesU.net]
>>801
guidoは今後のPython初学者のために複雑性を増やしたくないって言ってんだろがゲロカス
板橋まで走って逃げるな死ね
https://www.python.org/dev/peps/pep-3136/



815 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 13:06:43.36 ID:kWoiZWut.net]
パイソンは超ヌーブなんですけど
アナコンダ入れるかパイソンそのまま入れるかどっちがオススメですか??

816 名前:デフォルトの名無しさん [2017/03/15(水) 13:18:54.12 ID:1B/djtP8.net]
>>803
どういう環境を構築したいか書いてくれないと答えようがない

817 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 13:36:37.62 ID:7YWEdixI.net]
太いのが好き

818 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 13:42:28.24 ID:kWoiZWut.net]
>>804
テンソルフローとかいうのを触ってみようと思います

819 名前:デフォルトの名無しさん [2017/03/15(水) 13:55:07.15 ID:1B/djtP8.net]
>>806
公式のインストールに関するドキュメントは読みましたか?
https://www.tensorflow.org/install/install_windows

820 名前:デフォルトの名無しさん [2017/03/15(水) 14:03:28.57 ID:mmE2Q0nO.net]
>>803 アナコンダ入れた方がいいだろう。

821 名前:デフォルトの名無しさん [2017/03/15(水) 14:04:23.54 ID:1B/djtP8.net]
個人的には

#Python3.5.3入れる
https://www.python.org/downloads/release/python-353/

#仮想環境をつくり、アクティベートする
python -m venv tf
tf\Scripts\activate.bat

#tensor flowを入れる
pip3 install --upgrade tensorflow

がいいっと思います

822 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 15:27:54.58 ID:kWoiZWut.net]
>>808
なんか上の方で、アナコンダ入れるとなんかあった時に大変みたいなのを見たのですか大丈夫ですかね・・?
>>809
ありがとうございます、
2ブロック目の仮想環境を作り、アクティベートのところですが、ここの役割は何でしょうか??これがないと動かないのでしょうか?

823 名前:デフォルトの名無しさん [2017/03/15(水) 16:22:40.13 ID:71YRh3pu.net]
超ヌーブならアナコンダ一択やろ

824 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 16:51:50.83 ID:D4lD2LgX.net]
逆でない?
判ってる人とかお試しで触る程度ならanacondaでいいだろうけど
python自体が初めてでanacondaから入ると後々苦労するのが目に見えるが

>>809のやり方ならそんなに手間変わらんのだから
そっちの方がいいと思う



825 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:02:57.88 ID:kWoiZWut.net]
なるほど、 仮想環境のアクティベートはおまじないと思ってやっちゃった方がよかですか?

826 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:13:13.53 ID:nVuVQrDL.net]
うん、イイヨー
anacondaはちゃんと最新版のを煎れるようにね

827 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:15:06.68 ID:kWoiZWut.net]
え、この流れやとアナコンダはダメなのでは・・・?どっちが正しいと?

828 名前:デフォルトの名無しさん [2017/03/15(水) 17:29:32.79 ID:rl+wZjWB.net]
まずpythonを学ぶべきだ
こんなクソクエスチョンするようなカスがいきなりtensorflowなんて使えるかよ

829 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:32:02.39 ID:D4lD2LgX.net]
混乱させてすまんね

pythonで今後もやってく人 = >>809
機械学習メインでpythonメインでない人 = anaconda

みたいなイメージ?

python今後もやってくなら基本的な環境の作り方ぐらい知らないと苦労するから
俺はどうせやるならちゃんとやった方がいいよねーって思ってんだけど
機械学習をやるのが目的でpythonは手段でしかないならanacondaは
お手軽だよねーって思う人もいる

やれる事は変わらんからお好きな方で

830 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:33:21.58 ID:kWoiZWut.net]
ごめんなさい。。超初心者って書いてるけん許されるかと思いました。。

831 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:35:58.71 ID:kWoiZWut.net]
>>817
なるほど!分かりやすかったですー!
ホントはテンソルフロー動かせたらいいのだけど、パイソン出来たらいろいろ便利そうなのでこの機会にちゃんとしてみようと思います!ありがとうございます!

832 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:38:18.14 ID:lNG1lg3A.net]
いや初心者ほど環境を気にせず使えるanacondaにすべき
嘘教えるな

833 名前:デフォルトの名無しさん [2017/03/15(水) 17:44:17.93 ID:AGhEyNXo.net]
とりあえず初心者は動かしてみて遊ぶべき
環境構築はその後で問題はない

834 名前:デフォルトの名無しさん [2017/03/15(水) 17:52:06.03 ID:3u79xgLU.net]
動かした所で使い道がない事に気づく



835 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 17:58:44.65 ID:1Y+2q/Q/.net]
今ってウェブ上でコード書いてそのまま実行できるサービスもある環境だからまず最初はそう言うサービスを利用するのをオススメするかな
しばらく遊んでりゃ大体文法も把握できるからそこから環境整えてサイトやら参考書見てお勉強

836 名前:デフォルトの名無しさん [2017/03/15(水) 18:03:59.74 ID:3u79xgLU.net]
初心者の頃とかは公式ドキュメント見てたら4日過ぎてました
とか、良くある事なので

1日4〜5時間は寝た方が良いよ
  (むしろ、眠れなくて草生える)

837 名前:デフォルトの名無しさん [2017/03/15(水) 18:08:01.29 ID:1B/djtP8.net]
サードパーティ製のものを使うより、できる限り公式なもので環境構築できるようにしておいた方がいいよ
ていうか、インストーラでPython入れて、pipでtensorflow入れるだけやん
手間かわらん

仮想環境を使う理由はグローバルな環境にゴチャゴチャ突っ込むのが好きじゃないから
別に構わないなら、Pythonインストールしてpipでtensorflow入れるだけでいいよ

838 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 18:17:10.79 ID:lNG1lg3A.net]
>>824
すげえな
公式ドキュメント見てたら4〜5分で寝れるわ

839 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 18:30:32.51 ID:nVuVQrDL.net]
>>820
初心者がいま普通にanaconda入れるとtensorflow動かない(もうfixされたのかな?

840 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 19:35:03.95 ID:mGKxIZbB.net]
初心者なんか罠踏んで爆発して死んだらええねん
生き残った奴こそ素質がある

841 名前:デフォルトの名無しさん [2017/03/15(水) 19:45:59.62 ID:1B/djtP8.net]
>>828


842 名前:デフォルトの名無しさん [2017/03/15(水) 20:28:31.96 ID:IsHCJowS.net]
>>828
死んだのにまだ未練残してるんですね
一刻も早く成仏出来ることをお祈りしています

843 名前:デフォルトの名無しさん [2017/03/15(水) 20:55:46.33 ID:KVS3OOCo.net]
print([i * 10for i in range(2)])
これがエラーにならないって糞なパース処理だな

844 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 20:55:53.65 ID:dhTQXuE0.net]
機械学習やるんならいきなりライブラリ使うんじゃなくて
最低でも線形回帰,主成分分析,NNあたりはフルスクラッチできるようになってからの方がいいと思う



845 名前:デフォルトの名無しさん [2017/03/15(水) 20:56:59.45 ID:KVS3OOCo.net]
こうかくとちゃんとエラー出してくれるのに
print([i * 0xafor i in range(2)])
もちろんこうかけばエラーはでない
print([i * 0xa for i in range(2)])

846 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 21:31:48.90 ID:XYUUle5Y.net]
パイソンをインストールしたんだけど、VSみたいにデバッグできると便利だなと思うんだけど、どしたらええかな?
今はコマンドプロンプトから実行してるんだけど、どこでなぜエラーしてるかとかさっぱり分からない

847 名前:デフォルトの名無しさん [2017/03/15(水) 21:52:20.25 ID:1B/djtP8.net]
>>834
VS+PTVSで開発する
仮想環境の構築もpipからのインストールもVSでできる

848 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 22:41:22.15 ID:HXSORuM9.net]
標準で付いてくるIDLEでいいんじゃない

849 名前:デフォルトの名無しさん [2017/03/17(金) 00:45:53.48 ID:cvnYh8La.net]
import curses
def f(screen):
pad = curses.newpad(2, 2)
pad.addstr(0, 0, 'a')
pad.addstr(1, 0, 'b')
for i in range(2):
pad.refresh(0, 0, 0, 0, 1, 2)
pad.getkey()
pad.refresh(1, 0, 0, 0, 1, 2)
pad.getkey()
curses.wrapper(f)

キーを押した時にリフレッシュして
a
b

b
と繰り返して表示されるようにしたいのに
a
b

b
b
ってなってしまいます。
リフレッシュしてbだけ表示したいときに2行目に表示されるbが消えません
これは何でですか?

850 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 11:12:56.54 ID:is7goi9i.net]
>>709
https://gist.github.com/anonymous/0e784ef30407afdba925627e4a459e75
流石にもうちょいマシな書き方があるだろうと思って書いてみた
ただ仕様がもうちょい複雑になるとコードが煩雑になりそうだけど

851 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 13:11:57.91 ID:W1rhDyUi.net]
これ以上に複雑なときは、もう変数ジャンプ組み込む方がまだマシと思う

852 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 13:36:34.43 ID:YJtvdDES.net]
set_jmp

853 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 18:19:46.14 ID:4a5+BdOt.net]
>>838
これってよく使われるパターンなの?
def order():
…return order()

このくらいの長さのメソッドになるともう分かりにくいなって感じるんだが

854 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 19:41:57.57 ID:dpI1G6OF.net]
>>838
俺ならこうかな
foods = ['和食', '洋食', '中華']
def choiceInput(prompt, choices):
 while True:
  print(prompt)
  choice = input('>')
  if choice in choices:
   return choice
  print('入力エラー')

def order():
 while True:
  print('和食, 洋食, 中華')
  choice = choiceInput('どれを食べますか (0/1/2)', ['0','1','2'])
  yesNo = choiceInput(f'{foods[choice]}で本当にいいですか(Y/N)', ['Y', 'y', 'N','n'])
  if yesNo in ['Y', 'y']:
   return choice



855 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 20:25:35.68 ID:is7goi9i.net]
>>841
これくらいだったら分かりにくくならないかと思ったけどやっぱり分かりづらいか

>>842
なるほど
そっちの方がシンプルでいいな

856 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 20:42:07.88 ID:SRILy9AU.net]
無限ループでwhile Trueを書いていいのはゲームプログラミングぐらいです
このように書くべきです
def choiceInput(prompt, choices):
 print(prompt)
 choice = input('>')
 while choice not in choices:
  print('入力エラー')
  print(prompt)
  choice = input('>')

whileの横に条件式を書くことで第三者が見てもわかりやすいリーダブルコードになります

857 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 20:45:06.83 ID:by7KsFNN.net]
シンプルだけど一瞬え?ってなる

858 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:25:30.72 ID:4a5+BdOt.net]
>>844
こっちはちょっと冗長な気がするけどdo-whileとかdo-untilがないから致し方ないね

859 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:54:06.09 ID:1b+nwuRS.net]
>>844
>無限ループでwhile Trueを書いていいのはゲームプログラミングぐらいです
どういう理由でそうなんですか?

860 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:56:06.37 ID:8d4DwhQ0.net]
def choiceInput(prompt, choices):
 choice = -1
 while choice not in choices:
  print(prompt)
  choice = input('>')
if choice not in choices:
   print('入力エラー')

こうじゃいかんの?

861 名前:デフォルトの名無しさん [2017/03/17(金) 23:04:53.49 ID:scRdPl5f.net]
書いてあるやん

862 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 23:05:23.72 ID:woddruPm.net]
>>844
同じ内容を2回書くのは修正があったときに修正漏れしそうで嫌

863 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 23:19:30.39 ID:AOLqOhzC.net]
def choiceInput(prompt, choices):
  choice = None
  while choice not in choices:
    if choice is not None:
      print('入力エラー')
    print(prompt)
    choice = input('>')
  return choice

864 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:25:09.78 ID:nckgi/Sy.net]
>>850
同じ内容を関数にまとめるのは常識



865 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:27:37.34 ID:iWX2QE0o.net]
>>851
これが一番しっくりきた

866 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:33:37.63 ID:1jN6Nl4i.net]
>>852
それは >>844 に言って欲しいし
あの程度の奴でいちいち関数化するのもどうかと思う

867 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:59:15.66 ID:njmdr4yw.net]
>>846
横だけどご存知なら教えて下さい
do〜系の処理系を持たないのはpythonのポリシーか何かですか?

868 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 12:55:48.59 ID:1jN6Nl4i.net]
>>855
Do
 ...
Loop
って言うのが構文的に難しいからでしょ

869 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 14:20:38.66 ID:IfcuZKcb.net]
>>855
https://mail.python.org/pipermail/python-ideas/2013-June/021610.html
Guidoが「馬鹿にはあまりに高度すぎる機能だから拒否する」と述べたので入っていない

プログラミング言語のデザインにポリシーなんて高度なものはなく、基本的に開発者の腹具合だけである
思想というほど成熟したものでもない
俺は嫌いだと言われたら入らない

870 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 14:31:30.97 ID:IfcuZKcb.net]
そうじゃない言語はどれかというとC++とかJavaとか
あれらは委員会による設計をしている
(Javaは怪しいが)独裁者に振り回されることは減る
一方で自分の提案を通そうとするための馴れ合い
仕様の肥大化、策定の長期化を招く

871 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 18:40:35.06 ID:vEldA4mj.net]
python3のクラスで
import unittest
class TestCap(unittest.TestCase):
def test_one_word(self):
text = 'Duck'
self.assertEqual(text, 'Duck')

の場合self.assertEqualはsuper()で呼び出しちゃダメなの?
そもそもどうしてselfが出てくるの?

872 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 20:20:43.59 ID:IfcuZKcb.net]
宗教的な理由のため

873 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 21:48:13.72 ID:G3oyudm3.net]
まあOO自体が一つの宗教
誰が書いても同じようになるというPythonの売りが
OOで見事に消し潰されているのは罪深いことだ

874 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 22:02:42.41 ID:vEldA4mj.net]
つまりどういうことだ



875 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 22:27:57.82 ID:NEZ4wluv.net]
>>862
つまり、そんなこと気にすんなってこと
test ができればオケ

876 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 09:28:19.12 ID:CiiadJVM.net]
>>856
>>857
ありがとう、そうむずかしい構文とは思わなくも思惑は思惑だから仕方ない

>>857
Ritchieにも聞かせたい言葉だな

877 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 10:28:59.82 ID:IinMJCLx.net]
>>864
Python の構文は('_' は空白のつもりね)
1: aaaa
2: __bbbb
3: __cccc
4: dddd
となっていたら 1〜3 をブロックと認識するからブロックの終端の記述がない
なので Do〜While みたいに終端に条件を書かないといけない構文は難しいって話
他の言語は終端があるからそう言う問題は発生しない

878 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 12:32:09.54 ID:xRIvmzBZ.net]
"2017/03/19"みたいな日付とその日の値段が記録されたcsvをパースしてmatplotlibでグラフにしたいんだけど
日付の部分をstrじゃなくて時間の軸として扱うにはどうすればいい?

879 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 12:42:04.00 ID:LWm6dPWw.net]
>>866
strからdatetimeに

880 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 12:59:35.56 ID:xRIvmzBZ.net]
>>867
datetimeのオブジェクトならそのままx軸につっこめる?

881 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 13:13:33.92 ID:LWm6dPWw.net]
>>868
できる

882 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 13:27:30.74 ID:x ]
[ここ壊れてます]

883 名前:RIvmzBZ.net mailto: >>869
ありがとう、strptimeメソッドを使えば文字列から変換できるのね
[]
[ここ壊れてます]

884 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 14:27:32.69 ID:zGHcaEct.net]
tzに注意



885 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 22:28:25.85 ID:Lj5IhMr8.net]
>>865
if-elseと同じじゃない?

886 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 23:52:17.84 ID:W8FwC9AB.net]
print(' '.join(map(str, sorted(set(tmp)))))
#tmp = [3, 4, 2, 1,...N]
#重複削除、並び替え、文字列に変更、つなげて出力


上のようなコードがあるとして、
()のネストはどの位までが許容範囲ですか?

887 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 00:02:48.06 ID:G9+XvfW+.net]
括弧2つまで
toolz.functoolzのpipeとか使う

888 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 00:05:54.26 ID:sXp84j6l.net]
>>873
人それぞれ、ただスタイルガイドには一行は79文字までというのはあるから長すぎるとアウト

889 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 00:14:08.40 ID:3ZZI/KAX.net]
()の数を減らしつつ変数も無いの良いですね!
標準ライブラリとかでも同じ事可能ですか?

890 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 00:26:32.61 ID:G9+XvfW+.net]
>>876
pipeのこと? 自分でpipeメソッドとかpipeオペレータみたいの作ればできるよ
toolz.functoolzのpipeのソース
toolz.readthedocs.io/en/latest/_modules/toolz/functoolz.html#pipe

>>873のコードはこんな感じに
pipe(tmp, set, sorted, partial(map, str), ' '.join, print)

891 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 08:41:28.66 ID:A6CX4sNJ.net]
A= 1:a 2:b 3:c 1:d
B= 1:e 2:f
C= 1:a:e 2:b:f 3:c 1:d:e

Aの数字部分をBの数字で検索して
該当する数字があったらBのアルファベットをAに追加して
Cのような結果を得たいのですが
Aの数字が重複していて辞書が使えなくて
どうすればいいのかわかりません。
ご指導よろしくお願いします。
python2.7です。

892 名前:デフォルトの名無しさん [2017/03/20(月) 10:20:35.47 ID:Ia6BH4Hf.net]
ideone.com/G8bzYg

893 名前:854 mailto:sage [2017/03/20(月) 10:42:07.11 ID:nRwuUvF6.net]
>>865
そうか、インデントに意味ある言語でしたっけ
ブロック構造の明示って結構悩ましいですね
重ねてありがとう

894 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 11:01:45.40 ID:6RAbChbA.net]
>>872
else は else ブロックの開始だから終端ではないでしょ

>>880
やってやれなくはないと思うけど見易さとの両立は簡単じゃないと思う



895 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 13:35:45.83 ID:4V6fNJEd.net]
>>878
Aをいっこずつの辞書たちで作ってマージ

896 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 17:16:42.51 ID:l4MXbYf5.net]
>>878
https://gist.github.com/anonymous/c6225d9299726b47ae4e03189ad8ad0f
一応動くものはできたけどけっこう面倒くさいな
python2.7.13で動作確認

897 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 17:22:42.32 ID:c+tYojiZ.net]
素直に改行した方が見やすいと思う

print(' '.join(
  map(str, sorted(
    set(tmp)))))

898 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 17:27:48.11 ID:G9+XvfW+.net]
>>881
>else は else ブロックの開始だから終端ではないでしょ

do-untilにしてuntilブロックの開始として認識しても同じことじゃない?
untilはその後にインデントされたブロックを受け取らないっていうルールを課せばいいだけで
インデント記法の言語だからってdo-while系の実装が他言語より難しいってのは理解できない

899 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 17:43:29.84 ID:XdgtrFwn.net]
>>878
codepad.org/83uNtpXa

900 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 18:33:03.42 ID:LcNjV7jZ.net]
>>885
いや、だからできないって話じゃなくて
> untilはその後にインデントされたブロックを受け取らないっていうルールを課せばいいだけ
と言うような特殊ルールが必要でしょって話
実際の見た目も...
1: do
2: __aaaa
3: __bbbb
4: until ...
5: while ...
6: __cccc
7: __dddd
8: if ...
9: __eeee
人によるんだろうけど俺には6行目が until ブロックの始まりのように見えてしまう

901 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 18:35:52.50 ID:sXp84j6l.net]
まあGuidoは心の中で普通のwhileで十分やろとか思ってそうだな

902 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 18:58:19.86 ID:MXp+WHcu.net]
1: do
2: __aaaa
3: __bbbb
4: __until ...

なら、そう不自然でもないでしょ。関数のdef~returnと似た感じで。
まあ必要だとは思わんが。

903 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 19:03:55.76 ID:sXp84j6l.net]
untilがブロックの中にあるのはキモすぎるなと、主観だけど

904 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 19:10:07.12 ID:MXp+WHcu.net]
じゃあキーワードを breakif にするとか。



905 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 19:57:03.67 ID:LcNjV7jZ.net]
>>891
それなら
while True:
__aaaa
__if condition:
____break
で充分なような気がする

906 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 20:18:16.81 ID:A6CX4sNJ.net]
>>882 >>883 >>886
みなさん
ありがとうございます!
勉強しながらトライしてみます。

907 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 20:38:40.38 ID:MXp+WHcu.net]
>>892
だから、それ必要ないってポリシーなんでしょ。構文的に難しいって理由じゃなくて。

908 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 20:42:18.91 ID:G9+XvfW+.net]
>>887
インデントされたブロックを受け取らない文なんてPython書いてればいくらでも使うじゃん 特殊じゃないよ
それにuntilの下に必ず空行入れるから6行目がuntilブロックの始まりに見えるなんてこともまずないでしょ

俺は>>889のほうが不自然に感じるかな
for-elseやif-elseを考えるとuntilだけブロック内ってなんか違う気がする

909 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 20:57:25.03 ID:kRRsPMR+.net]
プログラムの先頭でimportしたモジュールを使うクラスをほかのプログラムから呼ぶ時って
呼び出す側のプログラムでもimportしなきゃならないの?

910 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 21:09:14.26 ID:6EO7QiL7.net]
試せよと言いたいが結論から言えばimportしなくていい

911 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 21:09:25.37 ID:LcNjV7jZ.net]
>>895
> インデントされたブロックを受け取らない文なんてPython書いてればいくらでも使うじゃん 特殊じゃないよ
具体的によろしく

912 名前:854 mailto:sage [2017/03/20(月) 21:10:05.29 ID:nRwuUvF6.net]
>>883
w(゚∀゚)
殿下は永遠だ

913 名前:854 mailto:sage [2017/03/20(月) 21:15:18.73 ID:nRwuUvF6.net]
>>889-892
機能としての繰り返し構造で「一度は処理する」流れはある!
あるにはあるが、コーディング上の特質まで拘る言語だと存在が難しいかもしれない
アセンブラ時代では普通に処理・判断・分岐の流れで繰り返す事があったが
pythonの見栄えを含めたルールに今ひとつしっくり来ないね

言語って難しいと別な意味で思う

914 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 21:28:14.72 ID:6EO7QiL7.net]
どうでもいい
話してる暇があったら僕の考えた最強の言語でも作ってみろ
誰もお前の妄想なんか体現してやらねーよ



915 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 21:54:45.70 ID:G9+XvfW+.net]
>>898
print(“foo”)
__print(“bar”)

916 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 12:53:28.65 ID:l9q4915F.net]
クラスに実装したメソッドが増えすぎて読みづらくなってきたので、C++のように別ファイルに分割しようとおもうのですが、Pythonだとどうやるのが一般的なのでしょうか?

917 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 13:00:44.91 ID:RBsv5qkl.net]
>>902
そうか、
(制御フロー文で)インデントされたブロックを受け取らない文
って書いてないとダメな人もいるのね...

918 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 13:54:42.63 ID:Z6nDRQUG.net]
>>903
できない
Pythonにおいては一般的ではない

919 名前:デフォルトの名無しさん [2017/03/21(火) 14:09:34.83 ID:6WWBsw/3.net]
>>900
while True:
..hoge
..fuga
..if until==False: break

920 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:11:41.64 ID:ymW1yDlu.net]
>>903
---file hoge.py---
class Hoge:
...method1

---file fuga.py---
class Fuga(Hoge):
...method2

---file hage.py--
class Hage(Fuga):
...method3

921 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:32:22.05 ID:l9q4915F.net]
>>905,907
レスありがとうございます。
別のオブジェクトからコマンドを受けて、各コマンドに対応したメソッドで処理をするコマンドプロセッサのようなクラスを作っています。
同じ階層の機能を実装したメソッドが増えすぎた場合というのはどのような形で管理するのでしょうか?

922 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:37:22.69 ID:6WWBsw/3.net]
各コマンドに対応したメソッドを定義したオブジェクトを作って call かな
そのオブジェクトはメソッドごとに違うクラスで
全て共通の抽象クラスから派生したものにするとかね

923 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 15:47:09.08 ID:U/W71QG6.net]
あのすいません、hogeとは何ですか?
調べても意味が分かりませんでした。

924 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 15:50:43.25 ID:uzSvvu2S.net]
>>910
メタ構文変数と言って特に意味はない、名前付けに困ったらとりあえずあてはめておくもの



925 名前:デフォルトの名無しさん [2017/03/21(火) 16:28:28.16 ID:F9uzFhK1.net]
>>910
穴がほげる事

926 名前:デフォルトの名無しさん [2017/03/21(火) 16:28:49.49 ID:F9uzFhK1.net]
穴=セキュリティホールな
つまり脆弱性が出来る事をhogeという

927 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 16:58:01.02 ID:jV0Y+t/Y.net]
>>903
モジュールに分割
次点でMixin
Single Inheritanceで継承構造を深くするのはオススメしない

928 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 17:32:09.44 ID:jV0Y+t/Y.net]
>>904
インデントは字句解析のレベル
インデントされたブロックを受け取らないかどうかは構文解析のレベル

インデントされたブロックを受け取らないかどうかは
制御フロー文かどうかとは全く関係なく決められるルール

結局>>865の主張には全く根拠がない

929 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:12:46.26 ID:72kEtT2Q.net]
>>915
> 見易さとの両立は簡単じゃないと思う
の意味が理解できてないのかなぁ
まあ、感覚的なものだから俺はそうは思わないって言うんだろうな
もう引っ込みつかなくなってるみたいだし

930 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:31:01.92 ID:l9q4915F.net]
>>909
やはりそうなりますよね。
ちなみになんですが、私、オブジェクト指向を始めたばかりでそのようなオブジェクトやクラスを呼ぶ名称がとんと見当がつかないのですが、
抽象クラスやその具象クラス、オブジェクトにつける名前と言うのはどういった名前になるのでしょうか……
少し例を教えていただけると有り難いです。

>>914
Mixinというのは初めて知りました。これは何故次点なのですか?
またモジュールに分割というのは>>909と同じような作り方でしょうか?

931 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:47:37.03 ID:2crVP7Yr.net]
hogeって書くとジジィ扱いされるよな。。実際、ジジィなんだけど。

932 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:59:09.85 ID:3q/SWegZ.net]
こんなのどうかな
do:
  aaa
  bbb
:until ccc == ddd
while True:
  eee
  fff

933 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 20:02:36.48 ID:zOC6lCjq.net]
hooとかfooはノリノリな感じがして好き

934 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 20:10:29.82 ID:Wm5e28fx.net]
私「フッ、こういうのはメタ構文変数と言って、ノリノリな感じが語源になったわけではないのだよ」
私「どれWikipediaで調べてからマウンティングするか」

https://ja.wikipedia.org/wiki/メタ構文変数
>プログラミング言語Pythonでは、メタ構文変数に spam, ham, eggs などを使う。

私「!?」



935 名前:デフォルトの名無しさん [2017/03/21(火) 20:11:48.49 ID:Abf9RIR5.net]
Pythonを使う前に空飛ぶモンティパイソンを100回見よう!

936 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 20:12:00.13 ID:uzSvvu2S.net]
hage

937 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 20:40:10.13 ID:wMSmjxpw.net]
>>917
Rubyは多重継承できない単一継承モデルだから、親クラスは1つのみ。
継承関係にない、便利な関数・utilityなどは、横からmixinする。
mixinされたモジュールも、継承チェーンに入れられる

Object ← 親 ← 子
Object ← utility ← 親 ← 子

Pythonでも、調べてくれ

938 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 20:51:30.07 ID:jV0Y+t/Y.net]
>>916
もう恥ずかしいからやめてくれよ〜
>>889の形式だって>>892とパーサーの処理はそう変わらないんだから何も難しいことなんてないだろ?

indentがブロックの開始でdedentがブロックの終端
そういうルールなだけで括弧やdo/end使ってる言語と基本同じだよ
python使ってるやつはそんなことも知らないのかって思われる

939 名前:デフォルトの名無しさん [2017/03/21(火) 21:55:47.37 ID:kMyYv3zx.net]
なんかKeyErrorってコンパイルしたら出てくるけど考えられる原因って何かある?

940 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 21:57:34.32 ID:uzSvvu2S.net]
>>926
辞書型オブジェクトから存在しないキーを取ろうとすると出るエラー、解決策はググれ

941 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:02:37.33 ID:5glqzG46.net]
while ループ中で最初にa=0という変数を作っての最後でa+=1しても
2周目で0に戻らないためにはどうすればいいですか?

942 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:03:59.43 ID:uzSvvu2S.net]
>>928
aの宣言をループの外でやるかその目的ならforループに置き換えるのが分かりやすいかなと

943 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:11:03.98 ID:5glqzG46.net]
>>929
外で宣言してもなぜか0に戻るんですよね

944 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:13:18.30 ID:uzSvvu2S.net]
>>930
pastebin辺りかこのスレでもいいからソース貼ってみて?



945 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:18:12.79 ID:72kEtT2Q.net]
>>925
誰もパーサーの処理なんて問題にしてないのに何を必死になってるんだい?
マジで引っ込みつかなくなってるじゃん w

946 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:21:21.56 ID:5glqzG46.net]
pastebin.com/bmD2DHrn

これでいいです?まだ作りかけだけど

947 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:22:46.16 ID:jV0Y+t/Y.net]
>>932
インデントがパーサー以外の何に関係してんの?
息吐くように嘘をつくなよホント

948 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:32:09.98 ID:uzSvvu2S.net]
>>933
ループ内に既に存在するaと変数名が被ってるからどちらかの変数名を変えないと

949 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 22:48:38.55 ID:EOakUJK/.net]
いつまでdo-whileの話してんだよ
いい加減死ねよADHD野郎

950 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:02:57.79 ID:72kEtT2Q.net]
>>934
嘘?
意味わからん
誰も実装の話なんてしてないのに w

951 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:07:50.55 ID:jV0Y+t/Y.net]
>>917
Mixinが次点なのは一つのクラスにメソッドを定義する必然性を感じなかったから

モジュール分割はこの場合は各コマンドの意味的カテゴリ別にクラスを分割するイメージで書いたけど
>>909の人が書いてるようなコマンドパターン的なやり方もいいと思う
その場合でもある程度のまとまりでモジュールにすることになるんじゃないかと

952 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:18:48.13 ID:2crVP7Yr.net]
>>921
ファーー!

953 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:31:39.75 ID:5glqzG46.net]
>>935
動きました。ありがとう

954 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:01:29.44 ID:hOsz3hmd.net]
>>938
なるほど……。最早スレチかもしれませんが、
「コマンドの処理部を一つのオブジェクトにまとめて、コマンド受付用の公開インターフェイスを用意して内部で各コマンドに対応するメソッドに振り分ける」
みたいな感じで作っていたのですが、pythonというかオブジェクト指向っぽくするにはどうしたら良いのでしょうか?
この辺はもうデザインパターンを学べという感じでしょうか?



955 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:34:58.08 ID:vhfzvoEm.net]
>>941
その作り方で別にいいと思うけど?
例えばこのサンプルでcat/dog/bearに対応するメソッドが各クラスになってるのが普通に分割するイメージ
https://www.safaribooksonline.com/library/view/python-cookbook-2nd/0596007973/ch04s17.html

こっちはコマンドパターンのイメージ
python-3-patterns-idioms-test.readthedocs.io/en/latest/FunctionObjects.html
Undo/Redoとかも必要ならこっちのほうがいいかもね

956 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 00:51:52.54 ID:hOsz3hmd.net]
>>942
参考URLありがとうございます。
今のところコマンドパターンが使いやすそうではあるのですが、まだ作り始めたばかりなので一度アプリケーション全体の設計も見直してみようと思います。
遅くまで皆様ありがとうございました。

957 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 17:02:16.91 ID:/LjNvXVg.net]
pythonにopencvを入れたいです
VSからc++で使うためにソースからcmakeで前にビルドしたのですが
pythonに入れるにはまた最初から入れ直しですか?
今あるopencvのソース拾って動いてくれたりしませんか??

958 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 17:32:47.40 ID:vhfzvoEm.net]
pythonバインディング付きでビルドしてるなら
PYTHONPATHにopencvのパスを追加するかPYTHONPATHが通ってるところに必要なファイルのリンクをはるか

959 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 17:36:21.25 ID:/LjNvXVg.net]
ありがとうございます。
バインディングが付いているか調べる方法はありますか??

960 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 17:41:33.53 ID:MH0mX7xP.net]
ビルド済みDLL同梱のがあるでしょ

961 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 17:51:32.15 ID:/LjNvXVg.net]
DLLだけ拾ってできますか??
opencv自体はもうあるので重複を避けたいです。

962 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 18:27:50.62 ID:vhfzvoEm.net]
少し調べればすぐ分かることなんだから
聞く前にまず自分で調べなよ

963 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 20:02:01.65 ID:pQEBF+SX.net]
>>948
初心者のくせに欲張りだね君は

964 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 22:12:43.36 ID:MH0mX7xP.net]
おそらく数年前の導入方法を引きずってるんでしょう
現在では、パッケージマネージャから簡単にインストールできるのに



965 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 22:18:25.20 ID:E3vl/zz6.net]
そのパッケージマネージャをマネージするパッケージマネージャをマネージするパッケージマネージャをマネージするのはパッケージマネージャ?

966 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 02:01:24.38 ID:hMrdA28p.net]
もしかして全般的に3.6より2.7の方が速い?

967 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 12:19:32.96 ID:JkO5l9za.net]
>>923
hage
hige
mage
を支持します

968 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 12:41:45.82 ID:AyyVp0Pm.net]
>>944
>pythonに入れるにはまた最初から入れ直しですか?
>今あるopencvのソース拾って動いてくれたりしませんか??

python用のcvモジュールが「ソースからcmakeで前にビルドした」ときに造ってあればOK

969 名前:デフォルトの名無しさん [2017/03/23(木) 12:43:03.50 ID:39r6GGlR.net]
>>953
プログラミングをする上でよくもこんな糞な質問が出来たな
速いかどうかは自分でベンチマーク取って確かめろ

970 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 13:29:43.51 ID:dT4NbpKb.net]
>>954
tingeは?

971 名前:デフォルトの名無しさん(霧の向こうに繋がる世界) [2017/03/23(木) 18:36:24.71 ID:ijnHsh0m.net]
みなさんHTTP/2への対応はお済みですか?
nghttp2がないとHTTP/2が使えないPythonってダメですね
Goにユーザー取られちゃいますよ

972 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 19:04:11.68 ID:atuvna0D.net]
使えますが

973 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 19:42:39.16 ID:J2eFkRx5.net]
Goは舎弟なので、取られるとか言う間柄にはない

974 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 19:46:18.43 ID:qu7cQuqJ.net]
GoもPythonも使ってるけど言語としての性格が根本的に違うのに取られるも何も無いと思うが



975 名前:デフォルトの名無しさん [2017/03/23(木) 19:51:41.15 ID:xoR/oCcH.net]
どう違うんだ?なんなら詳しく聞いてやろうか?

976 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 19:53:19.53 ID:10TW5lfi.net]
何様だよ
ご教示くださいかプリーズって言え

977 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 19:57:30.18 ID:10TW5lfi.net]
というか本当に新参の半分は引き取って貰えると助かる
機械学習ブームのせいで出来損ないばかり増えすぎだ

978 名前:デフォルトの名無しさん [2017/03/23(木) 19:58:23.66 ID:xoR/oCcH.net]
じゃあ聞いてやるからご教示くださいかプリーズ

979 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 20:15:04.23 ID:WvFZIAo6.net]
>>964
すまんな、パイソンのこと何もよう分からんけど見よう見まねでコード書いてるわ

980 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 20:49:30.79 ID:Q5D12GoP.net]
>>964
ここは初心者スレ、嫌なら去るのはおまえだ

981 名前:デフォルトの名無しさん [2017/03/23(木) 20:52:13.77 ID:8mLShO/C.net]
>>967 禿同。

982 名前:デフォルトの名無しさん [2017/03/23(木) 22:29:57.12 ID:xoR/oCcH.net]
無能なベテランの俺は居てもいいんか?

983 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) ]
[ここ壊れてます]

984 名前:23:03:49.08 ID:dT4NbpKb.net mailto: ええんやで []
[ここ壊れてます]



985 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 18:02:09.03 ID:yAGaZT8A.net]
パイソンのプログラムの中で、コマンドを実行したい時
例えばプログラムの中でコンソールを起動してpipを実行したい時はどうすればいいですか?

986 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 18:07:03.42 ID:39OHyuzh.net]
>>971
標準ライブラリのsubprocess使う
https://docs.python.jp/3/library/subprocess.html

987 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 18:16:24.02 ID:yAGaZT8A.net]
>>972
記入漏れすみません。
使い方としては、別のコンソールを立ち上げてメインプログラムとは別で走らせたいのですが、無理ですか??

988 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 18:22:21.87 ID:39OHyuzh.net]
>>973
窓出したいってこと?それとも非同期で走ってればおk?

989 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 18:28:33.70 ID:yAGaZT8A.net]
>>974
窓は出来れば出したいです。
メイン起動→サブ呼び出し→同時進行→メイン終了→サブはまだ止まらない→サブ側の窓でctrl-c押された時でサブ終了
という形が理想なのですが。

990 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:21:03.39 ID:FFzzXdlf.net]
てす

991 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:22:46.85 ID:FFzzXdlf.net]
>>975
とりあえずこんなもんでどうかな
ttp://pastebin.com/9K6PLv5A

992 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:23:24.24 ID:FFzzXdlf.net]
長文打ったら何かが規制に引っかかって全俺が泣いた

993 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:26:17.69 ID:FFzzXdlf.net]
あーそうそう窓を出すって動作が環境依存だからWinでしか動かんよ

994 名前:974 mailto:sage [2017/03/24(金) 19:30:45.29 ID:Ixoq+e04.net]
>>977
これです、ありがとうございました!



995 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:31:41.62 ID:Ixoq+e04.net]
あ、書いてなかったですね、すみません。
winなので大丈夫です、ありがとうござます!

996 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:44:11.88 ID:FFzzXdlf.net]
>>980
startで別窓出せるから覚えとくといいよ、後こいつcmdの組み込みだからshell=True無いと実行できないから気をつけて

997 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 15:01:15.96 ID:dW0T51Nu.net]
pythonのリストで

def dice():
....return (random.randint(1, 601) % 6) + 1

status = []
for lp_0 in range(5):
....status.append(dice())

上記のような方法で関数からのretuen値を5回リストに入れる場合for文でまわさないで書く方法ありますか?

998 名前:デフォルトの名無しさん [2017/03/25(土) 15:09:28.97 ID:5MnOmzEx.net]
np.random.random_integers(1, 6, 5)

999 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 15:38:20.94 ID:dW0T51Nu.net]
>>984
random_integersは初めて知りました
ありがとうごさいます

1000 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 15:47:29.60 ID:5MnOmzEx.net]
私も初めて知りました

1001 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 15:54:15.22 ID:ZSinSYil.net]
くだすれPython(超初心者用) その33
echo.2ch.net/test/read.cgi/tech/1490424742/

1002 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 18:23:32.35 ID:EmT9w5Dp.net]
rrule(YEARLY, bymonth=(1,7), dtstart=from, until=to)

上記のように明示的に変数に値を入れて渡すタイプの関数について
text = 'bymonth=(1,7), dtstart=from, until=to'として
rrule(YEARLY, text)的なことをやりたいのですがこのままではできず。。
何かできる方法はありますでしょうか?

1003 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 18:31:58.35 ID:AXTU3a0H.net]
>>988
ちょっと違うけどこれでどう?
qiita.com/yoichi22/items/e9e8b7fa8704c3dfd000

1004 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 18:40:43.97 ID:5MnOmzEx.net]
そういう問題じゃなくて本気でテキストを渡したいみたいなので
jsonとかじゃだめなの?



1005 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 18:45:18.29 ID:AXTU3a0H.net]
パーサー通して辞書にしちゃえばいける、そのままは無理

1006 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 18:46:31.43 ID:AXTU3a0H.net]
いや関数側いじれるなら可変長引数使えばできるな

1007 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 20:11:45.64 ID:++OH//Pd.net]
自分だけで使うプログラムならexecやevalに頼るのもありか
人に使わせるのはやめとけ

1008 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 20:12:38.04 ID:LRDwX3vu.net]
textをstringで受け取って関数内でsplitする

1009 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 20:13:27.03 ID:EmT9w5Dp.net]
>>989-992
回答ありがとうございます。

www.yoheim.net/blog.php?q=20160609
www.yoheim.net/blog.php?q=20160610
色々調べていたのですが、上記の話であっていますでしょうか?
勉強がてらコーディングしています。
もし違う話とかでしたら参考URL教えていただけると助かります。

1010 名前:デフォルトの名無しさん [2017/03/25(土) 20:15:37.56 ID:MW++xTd7.net]
>>987
たておつ!

1011 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 20:24:08.31 ID:EmT9w5Dp.net]
>>989-992
text = {
'bymonth':(1,7),
'dtstart':from_date,
'until':to_date,
}
rrule(freq, **test_text)

上記のようにしたらできました!
色々教えていただいてありがとうございました。勉強になりました。

1012 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 13:38:04.98 ID:WjbALPaU.net]
うめ

1013 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 14:02:36.05 ID:eOEOi6dr.net]


1014 名前:デフォルトの名無しさん [2017/03/26(日) 14:10:42.99 ID:bcDXrrDg.net]
おかか



1015 名前:854 mailto:sage [2017/03/26(日) 14:33:34.16 ID:9Nbedpcg.net]
皆よろ昆布1000
次スレ
>くだすれPython(超初心者用) その33
>echo.2ch.net/test/read.cgi/tech/1490424742/

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






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

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

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