16/06/18 19:00:09.50 rIyWM5rz.net
>>851
returnは制御を返す、yieldは内部状態を保持して制御を譲る
続けるといっても並列実行ではなく再開できるという事ね
リスト返すのを要素ジェネレートでスケーラブルにするとか
884:デフォルトの名無しさん
16/06/18 19:24:28.71 AGMP56Qn.net
>>851
list(AhoGenerator()) やってみ
885:デフォルトの名無しさん
16/06/18 20:08:12.47 DsuexIyj.net
>>851
一見普通の関数定義に見えて、yieldが含まれているとジェネレータという全然別物になる
という点を押さえておく必要がある。Pythonの非常にわかりにくい仕様。
886:デフォルトの名無しさん
16/06/18 20:13:33.96 osVH1ch8.net
yieldは初心者泣かせの機能の一つだね
メリットが実感できないふわふわした機能の割に
ドキュメントのサンプルコード中にけっこう出てくるため
完全無視もできない困り者
887:デフォルトの名無しさん
16/06/18 20:24:08.92 Au7MFafK.net
Pythonってジェネレータを簡単に書ける割には遅延リストの操作が貧弱だからな
インデックスを多用する文化だからあえて不便にしてあるのかもしれないけど
メリットを感じにくいのは仕方ない
888:sage
16/06/18 20:27:48.10 mwKkMiOA.net
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
889:デフォルトの名無しさん
16/06/18 23:00:21.88 QKdVDmdU.net
Python, Rubyのyieldは、Java8のStream
遅延・無限ジェネレータ
必要な分だけ、その都度データを作るから、最初からすべてのデータを作らなくていい。
使用メモリを節約できる
890:デフォルトの名無しさん
16/06/18 23:31:17.26 aNvZce14.net
フレームワークのスレってどこだっけ
891:デフォルトの名無しさん
16/06/18 23:36:45.38 QKdVDmdU.net
Webプログラミング板に、Django スレある
892:デフォルトの名無しさん
16/06/18 23:48:40.02 SWKescPq.net
>>853
やって見たんですがエラーで動かないです
URLリンク(imgur.com)
yieldというかジェネレーターはまだ自分の力量では使えなさそうなので後回しにします。みなさん解答ありがとうございます
893:デフォルトの名無しさん
16/06/19 00:11:13.46 AK/S93IS.net
nextじゃなくて__next__だと思うんですけど
894:デフォルトの名無しさん
16/06/19 00:12:09.35 c3rTAFVS.net
>>861
横から失礼します。
a.next()
の呼び出しでエラーが出ていますね。
Python3とPython2の違いによるのだと思います。
Python2 では、 a.next() と書いていたのを、
Python3 では、a.__next__() あるいは、next(a) と書きます。
お使いのバージョンがPython3なのだろうと思います。
なお、Python2で実行した場合や、Python3向けに書き換えた場合も、
list(a) のところで、無限ループに入ってしまうと思います。while Trueですからね。
以上、ご参考まで。
895:デフォルトの名無しさん
16/06/19 00:35:41.13 oY7TlxuV.net
2乗して合計する
sum(i*i for i in range(3))
( ) を使って、ジェネレータ式を使えば?
[ ] を使う、リスト内包表記より、使用メモリが少ない
896:デフォルトの名無しさん
16/06/19 02:12:03.95 NRkB597J.net
Python始める場合2.x3.xどちらを勉強したらいい?
普段の使い方は簡単なデータ処理とCGI
あと3年以内にtensorFlowも使ってみたい
あとは失業した時にとりあえず食いつなげる程度の人気があると嬉しい
perl長らく使ってたけど久しぶりに求人見たら田舎では驚くほど求人無くて泣けてきた
昔はこれだけでも結構食べれてた気がしたんだけどな・・・
897:デフォルトの名無しさん
16/06/19 02:34:03.80 IkWgEN3M.net
ペールとかいう旧石器時代のクソゴミ使ってるお爺ちゃんがまだ生きてるのか
失業の心配しなくても、定年の方が早いんじゃないか?
898:デフォルトの名無しさん
16/06/19 02:36:57.47 IkWgEN3M.net
我ながら言い得て妙だと思わんか?草群生www
URLリンク(www.google.co.jp)
899:デフォルトの名無しさん
16/06/19 02:50:45.66 akbrVJQo.net
import numpy as np
print(np.pi)
っていうpyfileをexefileにしたくてcx_freezeを使ったんだが
900:デフォルトの名無しさん
16/06/19 02:54:49.13 akbrVJQo.net
途中で送信してしまった スマソ
コンパイル環境なら動作するんだが,他の環境だとエラーがでる
ImportError : DLL load failed: 指定されたモジュールが見つかりません
たぶん,mklのせいかなと思ってたりする
だれか解決策をご教授ください
環境 python3.5 anaconda3 cx_freeze5.0
901:デフォルトの名無しさん
16/06/19 03:53:30.03 akbrVJQo.net
連投すいません
事故解決しました
/Anaconda3/Library/binにある
libiomp5md.dll
mkl_def.dll
mkl_core.dll
ビルド後のファイルに入れたら動きました
お騒がせしました
902:デフォルトの名無しさん
16/06/19 07:55:14.78 BOku3+hz.net
>>865
やめとけ
日本は国策でRubyを推進しているから、Rubyが何かやらかして
コケない限り、同じ土俵に立つPythonは普及しない
903:デフォルトの名無しさん
16/06/19 08:29:35.68 eutKor4/.net
>>871
ほんときもいよね
なんとかレールも大庫家だし
904:デフォルトの名無しさん
16/06/19 08:31:41.91 eutKor4/.net
ただボードがらみはさすがの提灯記者さんたちもpython
せめてrubyにかきなおしてやれよ
905:デフォルトの名無しさん
16/06/19 08:35:08.11 WYRQAbrA.net
求人ならペチペやジャヴァの方が良くね?
Pythonの案件なんてあるかなあ?
906:デフォルトの名無しさん
16/06/19 08:39:11.39 IkWgEN3M.net
pythonの中途半端なOOも大概酷いが
rubyなんてさらにロクでもない糞だわ
人によって書き方が違いすぎて読めたもんじゃない
糞仕様すぎうち
907:デフォルトの名無しさん
16/06/19 11:12:30.74 FiqN+bVa.net
そりゃrubyは楽しさを追求した言語だから
見た目も楽しいんだ
コードを読む第三者の目も楽しませてくれる
908:デフォルトの名無しさん
16/06/19 11:21:01.49 IkWgEN3M.net
逝ってよし
909:デフォルトの名無しさん
16/06/19 11:22:50.79 BOku3+hz.net
>>876
字下げ2文字スタイルはPythonに慣れた目にはつらい
駅のトイレに駆け込んだら満員だったみたいな圧迫感
910:デフォルトの名無しさん
16/06/19 11:51:03.84 5KvSKdL/.net
>>855
+と-は引き合うのにどうして陽子のある原子核に電子が落ちないのですか?
911:デフォルトの名無しさん
16/06/19 12:10:06.82 eutKor4/.net
>>878
tabの意味わかってなかったんだろうね
素人が設計したみたいだから
しかたないけど
912:デフォルトの名無しさん
16/06/19 13:03:38.26 D+cvxmoX.net
rubyは看板とは違って驚き最大化の原則なんだよなぁ。
「こんな書き方ができちゃうなんて凄い!楽しい!」とか思う人達には楽しいんだろうが。
913:デフォルトの名無しさん
16/06/19 13:55:19.70 oY7TlxuV.net
>>865
この2冊をこの順に読むと、わかりやすい。
たのしいRuby 第5版、2016
みんなのPython 第3版 (Python 3)
ハローワークでは、Pythonの求人は見ない。
まだRubyの方がマシだけど、あまり多くはない
914:デフォルトの名無しさん
16/06/19 14:22:34.06 NRkB597J.net
レスありがとう
求人の方は二の次で将来Tensorflowやchainer触ってみたいと思ってる
2~3年後を見越した場合、どのバージョンをインストールすべきか悩んでる
とりあえずWindowsにインストールして慣れたらUbuntuで使う予定
>>871
rubyだとTensorflowやchainerとか使えそうにない
あとperl使ってるからそれで良いかなと思ってみたり
>>874
求人は二の次で
2と3どっちが良いかと思って
>>882
レビューがちょっと酷いけど大丈夫?
www.amazon.co.jp/-/dp/4797371595
915:デフォルトの名無しさん
16/06/19 14:29:36.73 IkWgEN3M.net
>>883
お前のキャリアの方が酷いから安心しろw
916:デフォルトの名無しさん
16/06/19 14:33:15.43 WYRQAbrA.net
有料でもあるまいにとにかく使ってみるという発想は無いのだろうか?w
917:デフォルトの名無しさん
16/06/19 14:35:05.36 uAZi1A5C.net
>>865
>あとは失業した時にとりあえず食いつなげる程度の人気があると嬉しい
918: >>883 >求人は二の次で おまえ頭イカれてんな
919:デフォルトの名無しさん
16/06/19 14:37:35.46 nAj3LYim.net
2つの値、例えば A=113670、B=113024
このA-Bの間に500の倍数が含まれているかどうかを判定したい。
上の例だと、A-Bの間に113500が含まれるのでこれを検出したい。
こういう風に判定文を書いたらいいでしょう?
920:デフォルトの名無しさん
16/06/19 14:41:05.13 FiqN+bVa.net
>>886
クソ笑った
921:デフォルトの名無しさん
16/06/19 14:42:32.77 FiqN+bVa.net
>>887
差が500以上なら最低一つは500の倍数あるでしょ
頭働いてる?今日はそんな暑くないやろ
922:デフォルトの名無しさん
16/06/19 14:43:57.38 ZUpk0clL.net
>>887
if A - B >= 500:
923:デフォルトの名無しさん
16/06/19 14:54:34.01 oUdzgjZc.net
例えば
A=113499、B=113501
のときは
924:デフォルトの名無しさん
16/06/19 14:54:48.78 Pvc+naRU.net
>>887
算数の問題じゃね?
A 以下で最も大きな 500 の倍数 A'(この場合なら 113500)と
B 以上で最も小さい 500 の倍数 B'(この場合なら 113500)を
求めて
B' <= A' なら間に存在するってことでしょ
925:デフォルトの名無しさん
16/06/19 14:55:41.52 5KvSKdL/.net
>>891
if B - A >= 500:
926:デフォルトの名無しさん
16/06/19 15:09:39.26 WYRQAbrA.net
確かに>>887をそのまま読めば>>890になるなw
文章表現って大事だね
927:デフォルトの名無しさん
16/06/19 15:09:54.76 AxaSqYGu.net
B-A>B%500
かな
928:デフォルトの名無しさん
16/06/19 15:11:42.40 AxaSqYGu.net
あ、B-A>=B%500 か
929:デフォルトの名無しさん
16/06/19 15:17:22.69 oY7TlxuV.net
499, 501 の間に、500 があるけど、これはどうやって見つける?
930:デフォルトの名無しさん
16/06/19 15:21:49.65 5KvSKdL/.net
いいかげんスレチ
931:デフォルトの名無しさん
16/06/19 15:21:56.24 AxaSqYGu.net
>>897
剰余って知ってる?
B-A=501-499=2
B%500=501%500=1
2>=1 で真
932:デフォルトの名無しさん
16/06/19 15:22:11.73 Pvc+naRU.net
>>894
>「A-B(の結果)」の間に500の倍数が含まれているかどうか
って解釈したってこと?
間にっ上限と下限が要るからその解釈はかなり無理があるかと
933:デフォルトの名無しさん
16/06/19 15:31:38.64 IkWgEN3M.net
このスレって
ペールお爺さんの転職相談と
うらなり級生徒の宿題スレだったの?
934:デフォルトの名無しさん
16/06/19 15:33:45.28 AxaSqYGu.net
>>901
>>1を読むといいよ
935:デフォルトの名無しさん
16/06/19 15:59:43.31 eutKor4/.net
えげつない本を勧めるなあ
日本で流行らない言語
その日本ローカル本って
936:デフォルトの名無しさん
16/06/19 16:52:27.90 NYlsjoHx.net
読んでない本disるより読んだ本勧めりゃいい
本:Dive Into Python
無料だしそこそこ網羅的
バージョン:3系
大した違いは無いから新しい方にしとけばいいと思う
937:デフォルトの名無しさん
16/06/19 17:51:06.47 eutKor4/.net
>>904
初心者になんかうらみでもある?
938:デフォルトの名無しさん
16/06/19 17:57:37.97 NYlsjoHx.net
>>905
無い
なんでそう思う?
939:デフォルトの名無しさん
16/06/20 01:53:53.48 zsm9haOo.net
>>904
とりあえず3系で始めてみようと思います
また、サイトの紹介もありがとう
940:デフォルトの名無しさん
16/06/20 09:52:02.06 /pA3R+07.net
2次元配列があります
基点から八方向の値が1であるかチェックしたいんですがどうやって書いたらいいですか?
a = [0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
例えばa[1][1]が基点だとしたら
[0][0],[0][1],[0][2]
[1][0],______,[1][2]
[2][0],[2][1],[2][2]
この8つの位置の値を調べれば良いんですが、
基点が[0][0]とか[0][1]とか[2][4]みたいにリストのはじっこにあるとどうやって書いたらいいのかわかりません
941:デフォルトの名無しさん
16/06/20 10:17:12.46 OzxKuD5L.net
[-1]でリストの最後尾が取れるけどどうかな
942:デフォルトの名無しさん
16/06/20 10:41:22.91 jeJ3y39u.net
泥臭くやれよ、初めは
起点から1引いたものが0を下回らんように判定すりゃいいだろ
起点に1足したものが、サイズを上回らんように判定しろよ
943:デフォルトの名無しさん
16/06/20 12:10:35.65 ua80z6oi.net
どうしてこんなことが分からないんだか分からない
944:デフォルトの名無しさん
16/06/20 12:31:07.02 CbWmEDay.net
地道に書く方法は分かってんでない?
地道には書けるんだけど、(初心者によくある)スマートさが欲しいと。
違うかな?どうかな?
945:デフォルトの名無しさん
16/06/20 12:47:31.33 ypkylUCh.net
初心者の質問にも答えられないくせになに偉そうになこと言ってんだ?
わからんのなら黙ってろやチンカスどもが
946:デフォルトの名無しさん
16/06/20 12:50:42.97 SLB3vgI0.net
一列および一行分のダミーの0データをaに追加すれば、境界か否かの判定を省略できるよ。
-1が末尾を示すから、ダミーデータを参照してくれる。
947:デフォルトの名無しさん
16/06/20 13:02:00.28 jwXOgnGt.net
配列とインデックスを渡したら要素が返る関数を作って、その中で境界チェックすりゃいいだろ
番兵とか使ってロジックを汚すより抽象化しろってのが現代的なやり方
948:デフォルトの名無しさん
16/06/20 13:08:13.83 ppvG3ddJ.net
ゲームのマスなどで使う場合、漏れは番兵を使っている。
元のマス目の上下左右に、1列ずつ追加する。
x なら、移動できない
xxxxx
x000x
x010x
x000x
xxxxx
949:デフォルトの名無しさん
16/06/20 13:12:12.47 YDdZ/FtT.net
その境界チェックの書き方を伺ってるんですけど…
質問を正しく読んで答えていただけてますか?
まあ、現に間違って受け取られたようですから、聞くまでもないんですが(笑)
950:デフォルトの名無しさん
16/06/20 13:19:54.27 txdPwvGv.net
だったら909で答え出てるだろ
お前のレベルを高く見積もりすぎた結果の勘違いなのになんで上から目線なんだ
951:デフォルトの名無しさん
16/06/20 13:26:03.73 qnUK8Tck.net
>>917
だから境界チェックなしに判定できるように行列を追加しようというのが皆さんの回答だと思うんですけど
もしくは普通にインデックスが0~4の間にあることを毎回愚直に調べるか
952:デフォルトの名無しさん
16/06/20 13:26:48.66 1N7ngzZc.net
>>918
釣りに決まってんだろマヌケ
953:デフォルトの名無しさん
16/06/20 13:29:47.79 rcPIVUXE.net
質問者を装って煽りにくるパターンほんと嫌い
954:デフォルトの名無しさん
16/06/20 13:36:10.76 txdPwvGv.net
今時は番兵みたいに実装の小手先の都合でデータを汚すやり方は嫌われるよね
データより処理のほうが後で弄りやすいから、処理が少々非効率になろうが汚くなろうがなるべくデータに処理の都合は入れない
955:デフォルトの名無しさん
16/06/20 16:16:38.62 Tr6fD51d.net
>>908 = >>917 とは限らんだろ
質問者になりすます輩相手にしてもしょうがない
956:デフォルトの名無しさん
16/06/20 16:22:57.85 Vamf9KQF.net
>>922
マヌケが何か言ってるよ(笑)
ヌケサクアルゴリズムですか?
お前の判断力でも見直してな
957:デフォルトの名無しさん
16/06/20 16:55:23.01 6UThxtFh.net
領域が四角形なら、番兵使わないでも書けるけど、
任意の形状になると、番兵使った方が柔軟に対応できて良いのではないかな?
958:デフォルトの名無しさん
16/06/20 17:06:23.12 8bjmKhnp.net
なんかマインスイーパーっぽいな
959:デフォルトの名無しさん
16/06/20 18:57:56.11 EjIgQ1yC.net
>>908
チェックする位置をa[x][y]としたらxかyがマイナスの時 or a[x][y]がout of
960: rangeのときに continueでスルーする処理書けばいいだけやで
961:デフォルトの名無しさん
16/06/20 23:07:45.70 7e3vwBr4.net
checkioの問題は自分で解こうね
962:デフォルトの名無しさん
16/06/21 04:21:49.61 vMriF4CA.net
matrix = [
[1, 2, 3, 4, 5, 6],
[2, 3, 4, 5, 6, 7],
[3, 4, 5, 6, 7, 8],
[4, 5, 6, 7, 8, 9],
[5, 6, 7, 8, 9, 0],
[6, 7, 8, 9, 0, 1]
]
def get_val(row, col):
if row < 0 or col < 0:
return '*'
try:
return matrix[row][col]
except:
return '*'
963:デフォルトの名無しさん
16/06/21 04:23:32.42 vMriF4CA.net
def border(row, col):
v0 = get_val(row - 1, col - 1) #左上
v1 = get_val(row - 1, col - 0) #上
v2 = get_val(row - 1, col + 1) #右上
v3 = get_val(row - 0, col - 1) #左
v4 = ' ' #基点
v5 = get_val(row - 0, col + 1) #右
v6 = get_val(row + 1, col - 1) #左下
v7 = get_val(row + 1, col - 0) #下
v8 = get_val(row + 1, col + 1) #右下
print("{0} {1} {2}\n{3} {4} {5}\n{6} {7} {8}\n".format(v0, v1, v2, v3, v4, v5, v6, v7, v8))
border(1, 1)
border(5, 5)
964:デフォルトの名無しさん
16/06/21 05:07:33.21 gYXpVnKp.net
tryを使えば、短く書けるけど、
そもそもこれはアプリ設計上の論理バグだから、tryで囲むような、エラーではない
965:デフォルトの名無しさん
16/06/21 05:58:23.58 bMEVyfY6.net
おはやうございます
Pillowをインポートしたプログラムをpyinstallerでフローズンバイナリ化したんですが,エラーになります.
.pyのファイルはちゃんと動きます.
windows7 64 bit python2.7
pyinstallerとpillowはpipで入れたので最新版だと思います
【エラー内容】
Traceback (most recent call last):
File "Original\Convert2JPG_3.py", line 10, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\Image.py", line 66, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\_imaging.py", line 7, in <module>
File "PIL\_imaging.py", line 6, in __bootstrap__
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
Failed to execute script Convert2JPG_3
_imaging,pyは実行ファイルを作ると作成されるファイルで,いかが記述されていました.
def __bootstrap__():
global __bootstrap__, __loader__, __file__
import sys, pkg_resources, imp
__file__ = pkg_resources.resource_filename(__name__, '_imaging.pyd')
__loader__ = None; del __bootstrap__, __loader__
imp.load_dynamic(__name__,__file__)
__bootstrap__()
よろすくおながいします(´・ω・`)
966:デフォルトの名無しさん
16/06/21 06:09:02.82 TLVP6mSb.net
>>932
__bootstrap__()の_imaging.pydを読み込むところで失敗したのだと推測
__file__ = の行の前後にtry-except文を付け足してImportErrorを捕捉できるか確かめてみて
967:デフォルトの名無しさん
16/06/21 06:12:22.33 bMEVyfY6.net
>>933
さっそくありがとうございます.
try-except文を使ったこと無いのですが,以下のようにすれば宜しいのでしょうか?
try:
__file__ = pkg_resources.resource_filename(__name__, '_imaging.pyd')
except:
print "unko"
968:デフォルトの名無しさん
16/06/21 06:17:22.05 TLVP6mSb.net
>>934
他の例外を捕まえないようにexcept ImportError:にした方がいい
あと情報引き出せるかもしれないので捕まえた例外オブジェクトをprintしたい
except ImportError as err: print err
969:デフォルトの名無しさん
16/06/21 06:22:00.02 bMEVyfY6.net
>>935
返信ありがとうございます.
やってみましたが,>>932と同じエラーが出るだけでエラーの内容がわかりませんでした.
970:デフォルトの名無しさん
16/06/21 06:26:49.25 bMEVyfY6.net
関係ないかも知れませんが,_imaging.pyだけをpythonで走らせたら以下のエラーが出ました
Traceback (most recent call last):
File "C:\Python27\Scripts\build\Convert2JPG\pillow-3.2.0-py2.7-win-amd64.egg\P
IL\_imaging.py", line 12, in <module>
__bootstrap__()
File "C:\Python27\Scripts\build\Convert2JPG\pillow-3.2.0-py2.7-win-amd64.egg\P
IL\_imaging.py", line 11, in __bootstrap__
imp.load_dynamic(__name__,__file__)
ImportError: dynamic module does not define init function (init__main__)
971:デフォルトの名無しさん
16/06/21 06:35:19.71 TLVP6mSb.net
>>936,936
いや、エラーは_imaging.pydの読み込みに失敗してることが原因だと目星がついた
フローズンバイナリ化してない状態で動くなら_imaging.pydは正常、動かないなら異常があるだろう
972:デフォルトの名無しさん
16/06/21 06:42:16.57 bMEVyfY6.net
>>938
ありがとうございます.
ただちょっと良くわからなくなってきました(´・ω・`)
おおもとのPythonのファイルはフローズンバイナリ化してない状態(.py)だとちゃんと動きます.
フローズンバイナリ化すると>>932のエラーがでます.
_imaging.pyはpythonで動かしても>>937のエラーが出ています.
なおこのファイルは実行ファイル化はしていません.
973:デフォルトの名無しさん
16/06/21 06:53:08.19 TLVP6mSb.net
>>939
それならバイナリ化した実行ファイルが_imaging.pydを探すのに失敗していると思う
試しに_imaging.pydを作った実行ファイルと同じディレクトリに置いて実行してみて
_imaging.pyを実行して失敗するのは_imagingの__name__が"__main__"に変わっているからだろう
実行したモジュールの__name__書き換えは仕様なので_imaging.pyは直接実行を想定してないな
974:デフォルトの名無しさん
16/06/21 07:23:19.42 bMEVyfY6.net
すみませんうんこしてました(´・ω・`)
作った実行ファイルと同じディレクトリに_image.pyと.pycと.pydを全部コピペしたらちょっとエラーの様子が変わりました.
Traceback (most recent call last):
File "Convert2JPG.py", line 10, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\Image.py", line 66, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py",
line 389, in load_module
exec(bytecode, module.__dict__)
File "PIL\_imaging.py", line 7, in <module>
except ImportError as err:
File "PIL\_imaging.py", line 6, in __bootstrap__
__file__ = pkg_resources.resource_filename(__name__, '_imaging.pyd')
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
975:デフォルトの名無しさん
16/06/21 07:32:36.25 cH8ioJG/.net
ともぐいか
976:デフォルトの名無しさん
16/06/21 07:40:24.28 TLVP6mSb.net
>>941
うーんピンとこない、Makespec.pyとBuild.pyを使って全部まとめて1ファイル化する作戦はどうだろう
977:デフォルトの名無しさん
16/06/21 07:44:46.02 bMEVyfY6.net
>>943
朝っぱらからわざわざありがとうございました.
Makespec.pyとBuild.pyはちょっと良くわからないので
少し調べてからまたレスしますね.
(ヽ´ω`)というかお仕事いかなきゃいけないので
978:デフォルトの名無しさん
16/06/21 07:48:43.75 TLVP6mSb.net
URLリンク(pythonhosted.org)
上をチラ見したところ、素の設定で作った実行ファイルは外部のモジュールを探さないみたい
pyi-makespecを実行して実行に必要なファイルを調べ上げる必要があるみたいだ
979:デフォルトの名無しさん
16/06/21 13:44:57.00 bMEVyfY6.net
>>945
URLリンク(qiita.com)
このサイトで書いてあることも関係しそうですかね?
このサイトではMacでやっているようですが・・・
流れ的には
>>945さんの仰るように必要なファイルを探して,その後にspecファイル(上記のサイトに従って)で読み込ませる見たいな感じになるんでしょうか・・・
あとでやってみます.
980:デフォルトの名無しさん
16/06/22 10:47:39.41 WY4NwvpY.net
クラスメソッドで、getterを動的にするため、
def getter(self, arg): return getattr(self, arg)
としたら、
m.getter(name)のようにすると
NameError: name 'name' is not defined
とエラーが出るんだけど
どうしたらいい?
981:デフォルトの名無しさん
16/06/22 11:05:36.51 cPBiM+UJ.net
>>947
すいませんおれ初心者です
一緒に解決したいんですサンプルコード貰えませんか?
982:デフォルトの名無しさん
16/06/22 11:50:46.10 bzot/4gT.net
舐めんな
その前にお前が書いたコードideoneに貼れ
再現できる奴な
983:デフォルトの名無しさん
16/06/22 11:57:05.63 yBOVYSwe.net
20レスくらい読み�
984:ホしても良い流れになるに100ペロ
985:デフォルトの名無しさん
16/06/22 12:00:46.67 4L+LG/Dz.net
>>947
エラーが出ない
URLリンク(ideone.com)
nameが未定義ならNameErrorになるけど、そんなのはメソッドと何の関係もない
986:デフォルトの名無しさん
16/06/22 12:17:40.06 2L4hxAA9.net
>>947
Pythonでいうclassmethodって、@classmethodで定義する奴だけど
その認識は合っているか?
あなたが書いているのはインスタンスメソッドに見えるが
可能なら「どの言語で言うところの」クラスメソッドを意図しているかも教えてくれ
987:デフォルトの名無しさん
16/06/22 12:42:13.57 fGzAXq+W.net
python初心者です。、関数を複数使う場合、データの流れは下から上になるんでしょうか?
ぱっと思いついたので読みにくいコードですいません。
このような流れで、上から下に流すことはできますか?また、それは一般的なことでしょうか?
初歩的な質門で申し訳ないのですが、調べても出てこなくて、ご教授いただけると嬉しいです。
def calc3(num):
num3 = num ** num
print(num3)
def calc2(num):
num2 = num * num
print(num)
calc3(num2)
def calc1(num):
num1 = num + 1
print (num)
calc2(num1)
calc1(2)
988:デフォルトの名無しさん
16/06/22 12:58:47.71 jDuUCazS.net
普通はmain関数を書いて上から下に流す
989:デフォルトの名無しさん
16/06/22 13:38:52.06 tv9kEjc6.net
次です
くだすれPython(超初心者用) その30
スレリンク(tech板)
990:デフォルトの名無しさん
16/06/22 14:37:04.49 fGzAXq+W.net
>>954
main関数ってそういう使い方をするんですね
解決しました。ありがとうございました
991:デフォルトの名無しさん
16/06/22 19:50:08.57 7Jjhovtc.net
>>929
おもしろい
例外使うって発想はなかったわ
992:デフォルトの名無しさん
16/06/22 20:24:24.30 IY0n16Gr.net
実際に書いたらクソカス扱いだけどな
>例外的状態にのみ例外を使用する
>通常の制御フローに例外を使用しない
超有名書籍から引用しました
さらに0未満とインデックス範囲外で分けるのは対象性がなくて美しくない
片端を大なり小なりで判定したなら、もう片端も大なり小なりで判定しろ
審美眼とか存在しないのかお前は
993:デフォルトの名無しさん
16/06/22 20:43:07.80 qkL5gr67.net
審美眼うんぬん言う手間があるなら>>956の誤解でも解いてやればいいのに
>>953 のコードが動くか? → 動く。関数の定義順が入れ替わってもok
>>953 の書き方が一般的か? → 一般的では無い
最終行は
if __name__=='__main__': calc1(2)
と書く
理由はimport文でこのモジュールを読み込んだ際に、最後のcalc1(2)が実行されないようにするため
994:デフォルトの名無しさん
16/06/22 20:47:42.16 7Jjhovtc.net
>>958
なんでクソカス扱いなの?
超有名書籍の一部だけ切り取って引用しても説得力ないよ
なんで対称性があって美しくないといけないの?
審美眼www
995:デフォルトの名無しさん
16/06/22 20:49:04.88 ofvZVk35.net
>>959
ちゃんと改行しましょうね
996:デフォルトの名無しさん
16/06/22 20:54:13.42 qkL5gr67.net
>>961
まあ、そうね
997:デフォルトの名無しさん
16/06/22 21:12:43.41 y7gXzd/l.net
>>958って仕事できなそーだな
しかも、年下にすごい偉そうで、年下からは使えない奴だって見透かされてそう
998:デフォルトの名無しさん
16/06/22 21:33:25.97 0/EZPEiE.net
処理を揃えるのは抽象化への観点から考えても良いようには思うが…
999:デフォルトの名無しさん
16/06/22 21:35:40.24 V3koZGgU.net
>>960
それは人が創造性があり美学追求する種だからさ坊や^^
1000:デフォルトの名無しさん
16/06/22 21:41:16.22 WovEop+Q.net
質問に回答せず、回答に「クソカス」評価する見苦しさって感じないの?
1001:デフォルトの名無しさん
16/06/22 22:24:14
1002:.19 ID:8WEYlCRn.net
1003:デフォルトの名無しさん
16/06/22 22:39:16.93 NB9kokiV.net
まぁ正直使いみちはあんまりないよな
1004:デフォルトの名無しさん
16/06/22 23:10:59.35 7Jjhovtc.net
>>964
ごもっともですがマジレスされると困っちゃうのです
まあこの場合トリッキーなコードを実現するためインデックスが負数だとまずいからでしょう
>>965
バカにするな!!僕チンは妄想性の塊だ!!お前を追求して種付けしてやる!!
1005:デフォルトの名無しさん
16/06/22 23:50:23.17 LkuDFUcb.net
>>967
継承時の差
その差をどうやって生かすのかって?
んーとね、わかんない
8年近く書いててもunittest.TestCaseでclassSetUpを書くのに使った記憶しかない
1006:デフォルトの名無しさん
16/06/22 23:56:10.20 LkuDFUcb.net
インスタンスメソッドが継承できるのに
スタティックメソッドが継承できない
その非対称性が気に入らないって理由で追加された
…なんてことはあるまいが
メーリングリスト漁ったら書いてあるかもね、理由
夏休みの自由研究に探してみる?
1007:デフォルトの名無しさん
16/06/23 00:14:22.64 TXzyvG6Q.net
ORマッパーなんかでクラス=テーブル、インスタンス=レコードの見立てをしてるやつは、基底クラスにテーブル操作のためのクラスメソッド使ってるよね
スタティックメソッドは・・・何に使ってるんだろ?
1008:デフォルトの名無しさん
16/06/23 00:23:40.35 d22W27L3.net
とりま全部@classmethodにすればおkってこと?
1009:デフォルトの名無しさん
16/06/23 00:37:09.79 2/aHKLQO.net
Class methods are passed the calling class, static methods aren't.
1010:デフォルトの名無しさん
16/06/23 00:44:42.74 I3dr80e2.net
Class内のインスタンスプロパティのキーと値を全て取得する方法ってなかったっけ?
以前__class__とか使ってた気がするけど忘れた
class hage(object):
def __init__(self, name, age):
self.name = name
self.age = age
a = hage("Tarou", 12)
とかのコードがあって、{"name": "Tarou", "age": 12}のような感じで返したいんだけど
1011:デフォルトの名無しさん
16/06/23 00:46:40.60 d22W27L3.net
12歳でハゲさせられた太郎氏カワイソス(´・ω・)
1012:デフォルトの名無しさん
16/06/23 00:48:22.00 gZ3R/FkP.net
>>975
ホラヨゥ!
URLリンク(docs.python.jp)
1013:デフォルトの名無しさん
16/06/23 01:06:31.71 I3dr80e2.net
>>976
ワラタw
>>977
あ、そうだった
__dict__だった
サンクス
1014:デフォルトの名無しさん
16/06/23 09:12:17.04 OHzt3FwC.net
くだすれPython(超初心者用) その30
スレリンク(tech板)
1015:デフォルトの名無しさん
16/06/23 11:25:44.82 332nxUAD.net
>>967
引数
>>970
超初心者に嘘教えるな
1016:デフォルトの名無しさん
16/06/23 14:24:38.35 WHONV8a+.net
Python3で、
def foo(): return u
1017:デフォルトの名無しさん
16/06/23 14:27:36.47 WHONV8a+.net
Python3で、
def foo(): return u'Hello'
print(foo())
は普通にHelloと出力されるけど、
def expression(func):
# f = func
return u'{0} \n{1} \n{2}'.format(u'apple', func, u'banana.')
@expression
def message(): return u'orange'
だとTypeError: 'str' object is not callableが出るんだけど
これどこが悪いのか教えてくれない?
1018:デフォルトの名無しさん
16/06/23 14:28:55.29 O6DvkpvP.net
>>967
上から順によくまとまってると思うサイト
URLリンク(jutememo.blogspot.jp)
URLリンク(www.lifewithpython.com)
1019:.html http://yuku-tech.hatenablog.com/entry/20100328/1269774244 http://mojix.org/2012/07/21/python-staticmethod
1020:デフォルトの名無しさん
16/06/23 14:30:46.61 O6DvkpvP.net
>>982
君の頭が悪い
1021:デフォルトの名無しさん
16/06/23 14:32:58.95 SmyboeHH.net
>>982
def expression(func):
return lambda: u'{0} \n{1} \n{2}'.format(u'apple', func(), u'banana.')
1022:デフォルトの名無しさん
16/06/23 15:12:38.48 WHONV8a+.net
>>985
なるほど、ありがと
でも何でlambda式使わないといけないの?
1023:デフォルトの名無しさん
16/06/23 15:49:23.48 x8Tq2OJc.net
文字列は、callableオブジェクトじゃないのだろう
@expression はよく知らないけど、こういうアノーテーションを付けるのが、良くないのかも
よく知らないけど、Rubyでは、callableは、Proc, lambda, block など、
コード・処理を、後で呼ぶために、持ち運びできるように、まとめたもの
1024:デフォルトの名無しさん
16/06/23 15:53:06.87 SmyboeHH.net
>>985
凸れーた(の定義)は函数を返す必要がある
1025:デフォルトの名無しさん
16/06/23 15:56:26.50 O6DvkpvP.net
>>987
超初心者に嘘を教えるなっつの
1026:デフォルトの名無しさん
16/06/23 15:57:57.12 p90DXoh9.net
>>987
知らないなら回答しないでください。
うざいだけです。
1027:デフォルトの名無しさん
16/06/23 15:58:21.53 O6DvkpvP.net
くだすれPython(超初心者用) その30
スレリンク(tech板)
1028:デフォルトの名無しさん
16/06/23 15:59:26.16 rRWn9u3y.net
>>986
そもそもデコレータはcallableを返さなければならないという仕様
頭悪いって言われたのは仕様も読まずに使ってるからでしょう
あとアホで出しゃばりで知ったかぶりのrubyistが何か囀ってますが、これは目に入れる必要なし
1029:デフォルトの名無しさん
16/06/23 21:18:35.27 d22W27L3.net
とりま全部@classmethodにすればチョベリグなんですか? アンサープリーズメーン
1030:デフォルトの名無しさん
16/06/23 21:29:24.29 tUUAKy7L.net
クラスじゃなくてモジュールに関数定義でよし
それで不都合を感じたときに改めて考えるくらいでいいよ
1031:デフォルトの名無しさん
16/06/23 21:33:20.55 TXzyvG6Q.net
まあクラスにインスタンス不要なユーティリティ関数をオマケで付けたいときにスタティックメソッド使うかな
1032:デフォルトの名無しさん
16/06/23 21:33:36.21 d22W27L3.net
>>994
Pythonではインタスンスのことは考えなくていいってこと?
1033:デフォルトの名無しさん
16/06/23 21:34:24.69 d22W27L3.net
>>995
それはOOOPの思想に違反していると、僕は思うな
1034:デフォルトの名無しさん
16/06/23 21:36:04.17 TXzyvG6Q.net
>>997
わかる
正しいと思う
1035:デフォルトの名無しさん
16/06/23 21:40:28.02 d22W27L3.net
>>998
l;;llllll||lll从从WWWl||ll,,ツ从ツツノlイノ'彡ヽ
イ从、从从从从从ll|| |リ从////ノノ彡;j
jl从从从从;;;;;;;;;;;;从;;;;;/;;;;;;;;;、、、;;-ー、イ彡:}
(ミミ;;ッ''"゙ ̄ '、::::゙`゙''ー、/"´::: :::: |;;;;;彡|
}ミミ;;;} ::: {:: ゙:::::、::: :::ィ ,,:::: };;;;イ;;l
jミミ;;;;} ::: ヽ::::ミヽ:: | ノ W:: |;;;;彡:|
}ミ;;;;;;} ::: ヾ {:::::ミ ヽ j イ|从 ":::: };;;;;;彡{
iミ゙;;;ノ:::::: \'、 }}: l||イ /,ィ;;、、-ーーヾ'ァ;;イ、
{;;;;リ:レ彡"三三ミヽ,,リ{{,,ノ;;;;ィ≦==ミ'" |;;〉l.|
l"';;;l ゙'''<<~(::) >>::)-ら::ィ'ー゙-゙,,彡゙ .:|;l"lリ
|l ';;', ::: ー` ̄:::::::ミ}゙'~}彡ィ""´ .:::lリノ/
l'、〈;', ::: :::::::t、,j iノ:::、::.. ..::::lー'/
,、,,,/| ヽヽ,,', ::.、 :::::(゙゙( ),、)、ヽ::. イ ::::l_ノ
)ヽ"´ ''''"レl_ヽ,,,', ヾ'ー、:::;r'"`' ゙'';;"" ゙l| ::j ::: |: l,,,,
゙''(,l ', l| リ {"ィr''''' ーー''ijツヽ l| :" l |',`ヽ,
き 利 (l :'、 `',. 'l| |;;゙゙゙゙"""´ー、;;| ノ: / /リヽ \
. く い Z::::ヽ '、 ゙'t;ヽ ` ´ ノ;;リ ,r' // |
な. た >; :::ヽ ::ヽミニニニ彡'" , ':::::// |
┃ ふ フヽ ::\ : ミー― "ノ , ':::: //: |
┃ う }ヽヽ :::::\::( ̄ ̄ ̄ /:::://: |
┃ な }| ヽヽ :::::`'-、竺;;ニィ':::// | l
// 口 (: | ヽ ヽ :::: ::::::... ::// | |
) ・・. を ( | ヽ ヽ:: ::::::... // リ. |
つ、 r、{ | ヽ ヽ // / |
ヽ '´ | ヽ ヽ // / |
1036:デフォルトの名無しさん
16/06/23 21:41:47.67 fg4AG+yt.net
馬鹿はRubyでOOOOPでもやっとけ
1037:デフォルトの名無しさん
16/06/23 21:42:10.40 TXzyvG6Q.net
>>999
おっさんダレだよ?
1038:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 126日 9時間 8分 48秒
1039:1002
Over 1000 Thread.net
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
──────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
──────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
URLリンク(premium.2ch.net)
URLリンク(pink-chan-store.myshopify.com)
1040:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています