くだすれPython(超初心者用) その32at TECH
くだすれPython(超初心者用) その32 - 暇つぶし2ch860:デフォルトの名無しさん
17/03/17 21:56:06.37 8d4DwhQ0.net
def choiceInput(prompt, choices):
 choice = -1
 while choice not in choices:
  print(prompt)
  choice = input('>')
if choice not in choices:
   print('入力エラー')

こうじゃいかんの?

861:デフォルトの名無しさん
17/03/17 23:04:53.49 scRdPl5f.net
書いてあるやん

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

863:デフォルトの名無しさん
17/03/17 23:19:30.39 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:デフォルトの名無しさん
17/03/18 10:25:09.78 nckgi/Sy.net
>>850
同じ内容を関数にまとめるのは常識

865:デフォルトの名無しさん
17/03/18 10:27:37.34 iWX2QE0o.net
>>851
これが一番しっくりきた

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

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

868:デフォルトの名無しさん
17/03/18 12:55:48.59 1jN6Nl4i.net
>>855
Do
 ...
Loop
って言うのが構文的に難しいからでしょ

869:デフォルトの名無しさん
17/03/18 14:20:38.66 IfcuZKcb.net
>>855
URLリンク(mail.python.org)
Guidoが「馬鹿にはあまりに高度すぎる機能だから拒否する」と述べたので入っていない

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

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

871:デフォルトの名無しさん
17/03/18 18:40:35.06 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:デフォルトの名無しさん
17/03/18 20:20:43.59 IfcuZKcb.net
宗教的な理由のため

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

874:デフォルトの名無しさん
17/03/18 22:02:42.41 vEldA4mj.net
つまりどういうことだ

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

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

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

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

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

879:デフォルトの名無しさん
17/03/19 12:42:04.00 LWm6dPWw.net
>>866
strからdatetimeに

880:デフォルトの名無しさん
17/03/19 12:59:35.56 xRIvmzBZ.net
>>867
datetimeのオブジェクトならそのままx軸につっこめる?

881:デフォルトの名無しさん
17/03/19 13:13:33.92 LWm6dPWw.net
>>868
できる

882:デフォルトの名無しさん
17/03/19 13:27:30.74 x


883:RIvmzBZ.net



884:デフォルトの名無しさん
17/03/19 14:27:32.69 zGHcaEct.net
tzに注意

885:デフォルトの名無しさん
17/03/19 22:28:25.85 Lj5IhMr8.net
>>865
if-elseと同じじゃない?

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


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

887:デフォルトの名無しさん
17/03/20 00:02:48.06 G9+XvfW+.net
括弧2つまで
toolz.functoolzのpipeとか使う

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

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

890:デフォルトの名無しさん
17/03/20 00:26:32.61 G9+XvfW+.net
>>876
pipeのこと? 自分でpipeメソッドとかpipeオペレータみたいの作ればできるよ
toolz.functoolzのpipeのソース
URLリンク(toolz.readthedocs.io)

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

891:デフォルトの名無しさん
17/03/20 08:41:28.66 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:デフォルトの名無しさん
17/03/20 10:20:35.47 Ia6BH4Hf.net
URLリンク(ideone.com)

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

894:デフォルトの名無しさん
17/03/20 11:01:45.40 6RAbChbA.net
>>872
else は else ブロックの開始だから終端ではないでしょ

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

895:デフォルトの名無しさん
17/03/20 13:35:45.83 4V6fNJEd.net
>>878
Aをいっこずつの辞書たちで作ってマージ

896:デフォルトの名無しさん
17/03/20 17:16:42.51 l4MXbYf5.net
>>878
URLリンク(gist.github.com)
一応動くものはできたけどけっこう面倒くさいな
python2.7.13で動作確認

897:デフォルトの名無しさん
17/03/20 17:22:42.32 c+tYojiZ.net
素直に改行した方が見やすいと思う

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

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

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

899:デフォルトの名無しさん
17/03/20 17:43:29.84 XdgtrFwn.net
>>878
URLリンク(codepad.org)

900:デフォルトの名無しさん
17/03/20 18:33:03.42 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:デフォルトの名無しさん
17/03/20 18:35:52.50 sXp84j6l.net
まあGuidoは心の中で普通のwhileで十分やろとか思ってそうだな

902:デフォルトの名無しさん
17/03/20 18:58:19.86 MXp+WHcu.net
1: do
2: __aaaa
3: __bbbb
4: __until ...

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

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

904:デフォルトの名無しさん
17/03/20 19:10:07.12 MXp+WHcu.net
じゃあキーワードを breakif にするとか。

905:デフォルトの名無しさん
17/03/20 19:57:03.67 LcNjV7jZ.net
>>891
それなら
while True:
__aaaa
__if condition:
____break
で充分なような気がする

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

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

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

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

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

910:デフォルトの名無しさん
17/03/20 21:09:14.26 6EO7QiL7.net
試せよと言いたいが結論から言えばimportしなくていい

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

912:854
17/03/20 21:10:05.29 nRwuUvF6.net
>>883
w(゚∀゚)
殿下は永遠だ

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

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

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

915:デフォルトの名無しさん
17/03/20 21:54:45.70 G9+XvfW+.net
>>898
print(“foo”)
__print(“bar”)

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

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

918:デフォルトの名無しさん
17/03/21 13:54:42.63 Z6nDRQUG.net
>>903
できない
Pythonにおいては一般的ではない

919:デフォルトの名無しさん
17/03/21 14:09:34.83 6WWBsw/3.net
>>900
while True:
..hoge
..fuga
..if until==False: break

920:デフォルトの名無しさん
17/03/21 14:11:41.64 ymW1yDlu.net
>>903
---file hoge.py---
class Hoge:
...method1

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

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

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

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

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

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

925:デフォルトの名無しさん
17/03/21 16:28:28.16 F9uzFhK1.net
>>910
穴がほげる事

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

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

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

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

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

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

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

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

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

932:デフォルトの名無しさん
17/03/21 19:59:09.85 3q/SWegZ.net
こんなのどうかな
do:
  aaa
  bbb
:until ccc == ddd
while True:
  eee
  fff

933:デフォルトの名無しさん
17/03/21 20:02:36.48 zOC6lCjq.net
hooとかfooはノリノリな感じがして好き

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

URLリンク(ja.wikipedia.org)メタ構文変数
>プログラミング言語Pythonでは、メタ構文変数に spam, ham, eggs などを使う。

私「!?」

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

936:デフォルトの名無しさん
17/03/21 20:12:00.13 uzSvvu2S.net
hage

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

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

Pythonでも、調べてくれ

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

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

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

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

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

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

943:デフォルトの名無しさん
17/03/21 22:11:03.98 5glqzG46.net
>>929
外で宣言してもなぜか0に戻るんですよね

944:デフォルトの名無しさん
17/03/21 22:13:18.30 uzSvvu2S.net
>>930
pastebin辺りかこのスレでもいいからソース貼ってみて?

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

946:デフォルトの名無しさん
17/03/21 22:21:21.56 5glqzG46.net
pastebin.com/bmD2DHrn

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

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

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

949:デフォルトの名無しさん
17/03/21 22:48:38.55 EOakUJK/.net
いつまでdo-whileの話してんだよ
いい加減死ねよADHD野郎

950:デフォルトの名無しさん
17/03/21 23:02:57.79 72kEtT2Q.net
>>934
嘘?
意味わからん
誰も実装の話なんてしてないのに w

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

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

952:デフォルトの名無しさん
17/03/21 23:18:48.13 2crVP7Yr.net
>>921
ファーー!

953:デフォルトの名無しさん
17/03/21 23:31:39.75 5glqzG46.net
>>935
動きました。ありがとう

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

955:デフォルトの名無しさん
17/03/22 00:34:58.08 vhfzvoEm.net
>>941
その作り方で別にいいと思うけど?
例えばこのサンプルでcat/dog/bearに対応するメソッドが各クラスになってるのが普通に分割するイメージ
URLリンク(www.safaribooksonline.com)

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

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

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

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

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

960:デフォルトの名無しさん
17/03/22 17:41:33.53 MH0mX7xP.net
ビルド済みDLL同梱のがあるでしょ

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

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

963:デフォルトの名無しさん
17/03/22 20:02:01.65 pQEBF+SX.net
>>948
初心者のくせに欲張りだね君は

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

965:デフォルトの名無しさん
17/03/22 22:18:25.20 E3vl/zz6.net
そのパッケージマネージャをマネージするパッケージマネージャをマネージするパッケージマネージャをマネージするのはパッケージマネージャ?

966:デフォルトの名無しさん
17/03/23 02:01:24.38 hMrdA28p.net
もしかして全般的に3.6より2.7の方が速い?

967:デフォルトの名無しさん
17/03/23 12:19:32.96 JkO5l9za.net
>>923
hage
hige
mage
を支持します

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

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

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

970:デフォルトの名無しさん
17/03/23 13:29:43.51 dT4NbpKb.net
>>954
tingeは?

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

972:デフォルトの名無しさん
17/03/23 19:04:11.68 atuvna0D.net
使えますが

973:デフォルトの名無しさん
17/03/23 19:42:39.16 J2eFkRx5.net
Goは舎弟なので、取られるとか言う間柄にはない

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

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

976:デフォルトの名無しさん
17/03/23 19:53:19.53 10TW5lfi.net
何様だよ
ご教示くださいかプリーズって言え

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

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

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

980:デフォルトの名無しさん
17/03/23 20:49:30.79 Q5D12GoP.net
>>964
ここは初心者スレ、嫌なら去るのはおまえだ

981:デフォルトの名無しさん
17/03/23 20:52:13.77 8mLShO/C.net
>>967 禿同。

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

983:デフォルトの名無しさん
17/03/23


984:23:03:49.08 ID:dT4NbpKb.net



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

986:デフォルトの名無しさん
17/03/24 18:07:03.42 39OHyuzh.net
>>971
標準ライブラリのsubprocess使う
URLリンク(docs.python.jp)

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

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

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

990:デフォルトの名無しさん
17/03/24 19:21:03.39 FFzzXdlf.net
てす

991:デフォルトの名無しさん
17/03/24 19:22:46.85 FFzzXdlf.net
>>975
とりあえずこんなもんでどうかな
URLリンク(pastebin.com)

992:デフォルトの名無しさん
17/03/24 19:23:24.24 FFzzXdlf.net
長文打ったら何かが規制に引っかかって全俺が泣いた

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

994:974
17/03/24 19:30:45.29 Ixoq+e04.net
>>977
これです、ありがとうございました!

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

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

997:デフォルトの名無しさん
17/03/25 15:01:15.96 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:デフォルトの名無しさん
17/03/25 15:09:28.97 5MnOmzEx.net
np.random.random_integers(1, 6, 5)

999:デフォルトの名無しさん
17/03/25 15:38:20.94 dW0T51Nu.net
>>984
random_integersは初めて知りました
ありがとうごさいます

1000:デフォルトの名無しさん
17/03/25 15:47:29.60 5MnOmzEx.net
私も初めて知りました

1001:デフォルトの名無しさん
17/03/25 15:54:15.22 ZSinSYil.net
くだすれPython(超初心者用) その33
スレリンク(tech板)

1002:デフォルトの名無しさん
17/03/25 18:23:32.35 EmT9w5Dp.net
rrule(YEARLY, bymonth=(1,7), dtstart=from, until=to)

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

1003:デフォルトの名無しさん
17/03/25 18:31:58.35 AXTU3a0H.net
>>988
ちょっと違うけどこれでどう?
URLリンク(qiita.com)

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

1005:デフォルトの名無しさん
17/03/25 18:45:18.29 AXTU3a0H.net
パーサー通して辞書にしちゃえばいける、そのままは無理

1006:デフォルトの名無しさん
17/03/25 18:46:31.43 AXTU3a0H.net
いや関数側いじれるなら可変長引数使えばできるな

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

1008:デフォルトの名無しさん
17/03/25 20:12:38.04 LRDwX3vu.net
textをstringで受け取って関数内でsplitする

1009:デフォルトの名無しさん
17/03/25 20:13:27.03 EmT9w5Dp.net
>>989-992
回答ありがとうございます。

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

1010:デフォルトの名無しさん
17/03/25 20:15:37.56 MW++xTd7.net
>>987
たておつ!

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

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

1012:デフォルトの名無しさん
17/03/26 13:38:04.98 WjbALPaU.net
うめ

1013:デフォルトの名無しさん
17/03/26 14:02:36.05 eOEOi6dr.net


1014:デフォルトの名無しさん
17/03/26 14:10:42.99 bcDXrrDg.net
おかか

1015:854
17/03/26 14:33:34.16 9Nbedpcg.net
皆よろ昆布1000
次スレ
>くだすれPython(超初心者用) その33
>スレリンク(tech板)

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


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