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


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

Pythonのお勉強 Part54



1 名前:デフォルトの名無しさん [2017/09/01(金) 16:44:47.30 ID:igIE9hK/.net]
Pythonオフィシャルサイト
www.python.org/

テンプレ等は2以降で

■前スレ
Pythonのお勉強 Part53
mevius.2ch.net/test/read.cgi/tech/1494683284/

119 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 19:52:21.47 ID:LeiVPv27.net]
google playでandroid版のqpython3入れたんだけど、
pipでnumpyインストールしようとしたら、versionが2.7か3.4以上じゃないとダメと怒られた。
ちなqpython3は3.2.2らしい
どうやればいい?

120 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 20:27:13.33 ID:eO+K9X9n.net]
オモチャでプログラムなど書こうとしなければいい

121 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 20:30:03.98 ID:eO+K9X9n.net]
>>115
質問の重点がプログラム寄りならいいんじゃねえの
機械学習寄りでも駄目ではないだろうが、機械学習スレの方が回答率はいいだろう

122 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 01:50:30.66 ID:/scI4GeO.net]
numpyで配列のサイズが[100, 50, 5]のがあった時に
for文で回して要素を取るにはどうすればいいですか?
イメージこんなです

for elem in array:
elem[0] += 1
elem[1] += 2
elem[2] += 3
elem[3] += 4
elem[4] += 5

こんな感じで行列毎に取り出して100,50の部分の要素を別々にインクリメントしたり

for elem in array:
elem += 1

こんな感じで全要素を順に取り出したり
これをforでやる方法ありますか?

123 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:02:12.24 ID:FQzxPdXr.net]
>>119
2重もしくは3重ループじゃダメなの?

124 名前:デフォルトの名無しさん [2017/09/22(金) 12:35:11.18 ID:+ztvQQeL.net]
>>118ありがとうございます

https://gist.github.com/odashi/8d21f8fc23c075cd3042#file-chainer_encoder_decoder-py
ここのencoder_decoderをchainer2に対応できるように書き換えていたんですが、
100行目のmake_modelのFunctionSetの書き換えで詰まってしまいました。
何か打開策はないですかね?

125 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:22:32.57 ID:/scI4GeO.net]
>>120
やっぱそれしかないですよね。
せっかくpythonなのでオブジェクトでfor回してスマートにしたいなと思ったのですが
ベタに多重することにします。

126 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:37:37.85 ID:LctYwK3Y.net]
>>115
まあとりあえず質問内容を書いてみ?
だいたい答えられないから

127 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:07:46.82 ID:FQzxPdXr.net]
>>122
質問のニュアンスが良くわからないんだけど、こういうのか?
https://docs.scipy.org/doc/numpy/reference/generated/numpy.nditer.html



128 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:57:35.09 ID:/scI4GeO.net]
>>124
arrayを[100, 50, 3]として全要素をいじりたい時に例えば

rows, cols = array.shape[:2]
for y in rows:
for x in cols:
array[y][x][0] += 1
array[y][x][1] += 2
array[y][x][2] += 3

こんな処理があったとして、これをarrayオブジェクトに対するforで回したい、こんな感じで

for elem in array:
elem[0] += 1
elem[1] += 2
elem[2] += 3

変数elemにarray[y][x]が順に入るイメージ。このままじゃ無理なのは分かってるけど、上のコードと下のコードが等価になるにはどうすればいいかな?

129 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:31:13.29 ID:v2IrJydm.net]
こういう感じ?

>>> a = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,0],[1,2]]])
>>> a
array([[[1, 2],
[3, 4],
[5, 6]],

[[7, 8],
[9, 0],
[1, 2]]])
>>> a + np.array([1,2])
array([[[ 2, 4],
[ 4, 6],
[ 6, 8]],

[[ 8, 10],
[10, 2],
[ 2, 4]]])

130 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 01:03:29.60 ID:sifN4c3b.net]
ああ、確かにこの例だとそれでも出来るのですが
本当は各要素に対して関数を適用したいので、全要素を順に取得したいです。

131 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 03:24:55.65 ID:fKr0IULB.net]
情報を小出しにするといいことないですよ

132 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 08:21:08.80 ID:lzsxMVjf.net]
バカ「こういう風にしたいのですが、何か良い方法はありませんでしょうか?」
親切「うーん、こうすればできるよ」
バカ「ああ、確かにこれならできますが、本当はこうしたいのです」
親切「・・・じゃあ、こうすればどうかな?」
バカ「なるほど、でも実はこうしたいので、これではチョット・・」
親切「・・・(なんじゃこいつ)」

133 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 09:05:36.29 ID:lzsxMVjf.net]
奥さん、多重ループしたくないならproductですよー
>>> import itertools
>>> elem = itertools.product(range(100), range(50), range(3))
>>> for x, y, z in elem:
print(x,y,z)


0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2

でも、numpyでforループ使うのはイケてないらしいですよ、meshgrid使うんだってさ
ttp://nasing-i.hatenablog.jp/entry/2014/04/13/192446

134 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 09:30:18.64 ID:sifN4c3b.net]
>>128>>129
小出しというか、ただの例を出しただけであって
やりたいことは全要素の取得のためにforループを回すことってちゃんと書きましたよね?
変な例を出したこっちも悪いですけど揚げ足取るように違うやり方でやられましても。

135 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 09:36:01.95 ID:Uq1a1A6T.net]
まあ、質問の仕方が悪かったよね
ほんとスイマセンでした

136 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 09:46:00.39 ID:RM5wdVZL.net]
>>130
>でも、numpyでforループ使うのはイケてないらしいですよ、meshgrid使うんだってさ
ま、まじか。こんなもんあるとは

137 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:08:09.73 ID:m/zLXFdu.net]
>>131
謝るより死んだ方がいいよお前



138 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:12:07.93 ID:sifN4c3b.net]
まだ死にませんよ!

139 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 15:01:39.17 ID:Dvp9BlYO.net]
>>131

140 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 22:14:37.07 ID:a8WpPeB5.net]
なんで聞く立場でこうも上から行けるんだか。。
自己解決して情報展開もせず立ち去る連中と同じように、質問系では向いてない性格なんだろうな。

141 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:27:48.04 ID:lzsxMVjf.net]
これが質問スレの日常! どんどん質問してネタ投下してねっ☆

142 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:28:39.23 ID:nAanI8EG.net]
スルーしようよ...

143 名前:デフォルトの名無しさん [2017/09/23(土) 23:43:10.17 ID:UvR7p8sn.net]
>>137
そもそも質問スレってのは質問者がまわすもんだし
得てして回答者はバカばかりなのだから
普通の人が質問すると自然に立場が上のようになるもんだ

144 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:45:02.09 ID:+YpHx5nV.net]
pyinstallerで実行したファイルくっそ初回起動遅くて苛ついてたけど
--onefileオプション取れば普通に速いのな

フォルダ容量500MBくらいになったけど
不要っぽいファイル消したら70MBくらいになったしようやくexe化捗ってきた

145 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 01:41:24.19 ID:wQofQkTQ.net]
pyconJPで英語で発表してるやつ死ねばいいのに
下手くそな英語聴くくらいなら海外の見るわ

146 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 03:02:10.84 ID:cmc+LxR1.net]
低学歴嫉妬乙

147 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 19:28:04.35 ID:p9VBQVfJ.net]
日本語で発表すると馬鹿にされるんだもん!



148 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 21:29:13.46 ID:YVsG5GQU.net]
質問ッス!
Pythonでパッケージを書くときに、(C++でしばしばみられるような)1クラス1

149 名前:ファイルというスタイルでやったとします
例:
 some_package\__init__.py: (空)
some_package\Foo.py:
  class Foo: ...(中略)...
some_package\Bar.py:
  class Bar: ...(中略)...

Q1. このパッケージで使う側のコードで直に(パッケージ名またはそのエイリアスの修飾無しで)FooとかBarを使いたい場合、
from some_package.Foo import Foo
from some_package.Bar import Bar
とか使う側のコードにどうしてもずらずら書かなければならんのでしょうか…
「impot some_package」一発とか、簡単な記述で済ませる方法とか無し?

Q2. そもそも1クラス1ファイルに代わる良い推奨スタイルってあります?
[]
[ここ壊れてます]

150 名前:145 mailto:sage [2017/09/24(日) 21:32:51.48 ID:YVsG5GQU.net]
Q3. >>145のパッケージ構成において、class Barがclass Fooに依存している
 (かつ、パッケージ名の修飾無しで「Foo」と書かれている)という場合、
 やっぱりBar.pyの中に「from Foo import Foo」と手動で書かねばならないのでしょうか。
 同一パッケージ内の依存関係を自動で解決してくれるようなしくみは無し?

151 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 21:43:58.55 ID:RilD+rrv.net]
numpyに入れられるならnumpy.ndenumerateじゃだめなのけ?

152 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 22:55:00.61 ID:b3LhVHrq.net]
A1. __init__.pyに
 from . import Foo
 from . import Bar
 と書いておけば一発じゃよ

153 名前:デフォルトの名無しさん [2017/09/25(月) 08:06:35.04 ID:qYcgX0il.net]
インタラクティブシェルで
import pyperclip
pyperclip.copy('Hello World!')
pyperclip.paste()
ってやると'Hello World!'って出したいところ
''ってブランクが返って来ちゃうんですけど何がいけないんですかね?
pythonのversionは3.6.1です

154 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 09:46:14.22 ID:35B1P/qq.net]
pythonよりosの方が怪しい
os何よ
Macだと以下のようなissueがopenになっているがどうか

https://github.com/asweigart/pyperclip/issues/76

155 名前:デフォルトの名無しさん [2017/09/25(月) 17:59:38.58 ID:Xnx02yFE.net]
>>150
おおーまさにmac sierraです
頂いたURL確認しますありがとうございます!

156 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 22:01:32.24 ID:iGYisupr.net]
>>148
ホンマや!ホンマにできた!
ありがとうおっちゃん!!

157 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 22:31:21.18 ID:2AMXc3+5.net]
pythonを業務で使用したいと思っているのですが(オープンソース商用利用可!!)
勝手にパソコンにインストールするとバレて怒られるのでやりたくないです

自宅pcでjupyterを公開で起動して(もちろんパスワードかける)会社からアクセスして使用するのはセーフですよね?



158 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 23:09:15.98 ID:h5viRmHi.net]
初歩的な質問ですいません
変数
aで0(1234)56となっています="(1234)"

159 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 23:12:32.84 ID:h5viRmHi.net]
途中で書き込んでしまいました
a="0(123:4)56"
この文字列aから"("と")"を削除するにはどうすれば良いのでしょうか
半角の括弧だけ全て削除したいのです
Python3を使っています
初歩的な質問ですいません

160 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 23:23:44.70 ID:h5viRmHi.net]
すいません
自己解決しました
re.subで上手く行かなかったため書き込んだのですが、
どうやら取得していた文字列に問題があったようです
失礼しました

161 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 03:11:58.16 ID:0+WFHGuU.net]
プログラミング入門者におすすめソフト教えてつかぁさい
今現在は geany+python です。

ゼロからはじめて、やっと任意のテキストファイルに書かれた日本語を.pyで読み上げさせる事が出来たレベルのホヤホヤです。
次はLチカに

162 名前:ァ戦しようかと。

ラズベリーパイゼロでやってるので
動作の軽いソフトでおすすめお願いします。
[]
[ここ壊れてます]

163 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 09:08:48.48 ID:jnkw0HvM.net]
python本体に付属しているturtleとかでいいんじゃないか
幾何学模様作るのそこそこ楽しいぞ

164 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 10:16:31.53 ID:PJxaABWy.net]
>>153
アウト
死ね

165 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 10:17:36.24 ID:PJxaABWy.net]
>>157
加速度検出とかしたいよな

166 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 11:32:43.22 ID:eTm8mB/K.net]
pythonでhtmlをmysqlに挿入しようとしているんですが、
htmlに#が含まれているとそこから先がコメント扱いになってしまいうまく処理できません。
対応方法ご存知の方はいらっしゃりませんか?

167 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 12:23:51.98 ID:PJxaABWy.net]
スレチ
もしくは板違い



168 名前:デフォルトの名無しさん [2017/09/28(木) 12:27:16.44 ID:S/iCH99m.net]
何を参考にしたら>>161みたいな作り方してしまうの

169 名前:デフォルトの名無しさん [2017/09/28(木) 12:36:25.85 ID:jI3aCg9x.net]
#がコメントなのはunixのシェルに準じてるのだと思うが

170 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 13:33:47.39 ID:eTm8mB/K.net]
>>163
何も参考にしてないけど、
htmlタグも一緒に保存できると、リンクとか装飾とかも再現できるんでそうしました。
レス番の頭やURL等にに「#」が使われてるんで、うまく稼働しませんでした。
何か変ですか?

171 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:01:22.69 ID:33/YCI2Z.net]
文字列中の「#」がコメント扱いされるわけないよ

172 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:32:38.00 ID:9F6QyTaM.net]
>>165
何か参考にした方がいいね
自分が扱ってるデータがPythonのコードなのかHTMLなのかごっちゃになってるんでしょ
わざわざMySQLに入れないで普通のファイルとしてディスクに書き出せば

173 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:39:22.41 ID:eTm8mB/K.net]
'[<a href="keijiban.com/#pos_box" title="#951へ返信">#951</a>]',
URLは変えてるけど、atomで見ると、最後の#951 の #以降からグレーアウトされる。(その前の#は問題ないのに)
atomの問題かもしれないが、mysqlで対話式にこのSQLを実行すると正常に完了するが、python から cursor.executeで実行するとsyntax Errorになる。
変数使わずに固定文字でやってるんだけどな。良く分からん。
別の方法で回避してみる。

174 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:41:00.28 ID:eTm8mB/K.net]
>>167
そうしてみます。

175 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:55:55.01 ID:33/YCI2Z.net]
分かった! raw文字列でやってみーや たぶん/がエスケープ悪さしてるんやでぇー
↓r付けてやってみなさい

r'[<a href="keijiban.com/#pos_box" title="#951へ返信">#951</a>]',

176 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 20:59:38.26 ID:jleL80is.net]
ソース開かないで簡単にドキュストリングだけ見る方法教えて下さい

177 名前:デフォルトの名無しさん [2017/09/28(木) 21:04:17.93 ID:S/iCH99m.net]
>>165
最低限使ってるライブラリのリファレンスはちゃんと読んだ方ががいい
そしたら、そんなことにはならんから



178 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 23:35:01.50 ID:omWYe6un.net]
>>171
つhelp

179 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:51:23.55 ID:cAqSFHn1.net]
リファレンス嫁とかいうレベルの話ではなくただのsyntax Error

180 名前:デフォルトの名無しさん [2017/09/29(金) 18:06:12.42 ID:8aksHpnt.net]
(´・ω・`)アマゾンでオライリー検索したらpython系の本がむちゃくちゃ多いね
なんでやろ?
時代の流れ的にpython習ったほうがいいんやろか?

181 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 18:58:06.36 ID:Q6glRyOo.net]
printと打つつもりがついprintfと打ってしまう。
改行打つ直前についセミコロンを打ってしまう。
コロンはつい2連打してしまう。
勉強し始めはストレスたまるわ。

182 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:25:00.72 ID:h7v1g30P.net]
pythonスタートブックなみに評価高い3.x系の入門書ってあるん?

183 名前:デフォルトの名無しさん [2017/09/29(金) 21:04:42.72 ID:ISmjFide.net]
ウェブのチュートリアルで十分

184 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 21:27:50.89 ID:c3tXL9dl.net]
みんなのPython 第4版、2017

185 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:14:28.68 ID:6Nj+nMkb.net]
自分もPython3の教科書を探してて「実践力を身につける Pythonの教科書」が良さそうと思い
著者名で検索したらマイナビに連載企画があったので読んでみた
「ゼロからはじめるPython」
news.mynavi.jp/series/zeropython/001/
ところがパート9で出てきたライフゲーム眺めてるのが楽しくてPythonの勉強はやめてしまった
「9 生物集団の栄枯盛衰"ライフゲーム"を作ってみよう」
news.mynavi.jp/series/zeropython/009/
このライフゲームをマス目付きにする方法を教えて下さい

186 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:23:03.87 ID:vhSDrOfc.net]
はまったからさらにpython進めたくなったじゃなくて?やめちゃったん?

187 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:25:38.34 ID:h7v1g30P.net]
pythonの教科書知り合いだれも持ってないし見たことないんだよな...



188 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:32:18.42 ID:l6DgfNNU.net]
pythonの教科書よりtubeでいろんな講義聴いたほうが最初はいいよ
pandas, numpy, matplotlibくらいなら幾らでも外人が講義してるやろ
まぁmatplotlibとかbokehとか近いうち死語になるけど

189 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:44:38.93 ID:9gXX4Dyt.net]
.py 1ファイルでクールな事をやってる
初心者が参考になるサンプルがおいてるサイト紹介しろ下さい

190 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:36:23.07 ID:5FWi1qeK.net]
>>180
Libre Office のマクロを、Python で書けば?

Godot ゲームエンジンは、Python 風言語。
Godot をJavaScript にしたものが、Cocos Creator

191 名前:35歳 mailto:age [2017/09/30(土) 22:05:00.79 ID:y8lb5R8S.net]
こんばんは。頭の悪い皆さん。
setをintに変換するにはどうしたら良いのか教えて下さい。

192 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:37:39.98 ID:bdWiGd6R.net]
HAHAHA >>186 are very stupid
{'a', 'b', 'c'} ← This is set. It is never possible to convert set into int.

193 名前:デフォルトの名無しさん [2017/09/30(土) 22:44:23.88 ID:V09SfC5o.net]
型ヒントに関する質問です

自分と同じクラスのオブジェクトを返すメソッドの返り値の型ヒントはどう書けばいいのでしょうか>

class Hoge():
def huga(self) -> Hoge:
return self

とか書くと、mypy のチェックは通るのですが、実行時に

Traceback (most recent call last):
 File "hoge.py", line 3, in <module>
  class Hoge ( ):
 File "hoge.py", line 4, in Hoge
  def huga( self ) -> Hoge:
NameError: name 'Hoge' is not defined

とエラーになります。

型ヒントを書かなければ当然エラーにはならないのですが

194 名前:35歳 mailto:age [2017/09/30(土) 22:46:32.33 ID:y8lb5R8S.net]
意思疎通が図れないアスペの方ですか?
悪いんですけどコード出してくれます。

知能が低い人と会話すると疲れます。

195 名前:デフォルトの名無しさん [2017/09/30(土) 22:48:18.26 ID:V09SfC5o.net]
188 です。
クラス定義の方のコード、行頭の半角スペースが消されてしまいました。
全角で書き直すと
class Hoge():
  def huga(self) -> Hoge:
    return self
です。

196 名前:35歳 mailto:sage [2017/09/30(土) 22:53:15.34 ID:y8lb5R8S.net]
真面目に質問してるのに、訳の解らないコードを貼らないで下さい。
怒りますよ?

197 名前:デフォルトの名無しさん [2017/09/30(土) 22:55:43.99 ID:1jTnlOmW.net]
set = int



198 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 23:07:09.43 ID:BzLQ0tVY.net]
setをintでっていうのは、
intをビット配列に見立てて、
i番目の要素があればi番目のビットを立て、i番目の要素がなければビットをオフにする、
ってことだと思う。
setに入りうるものが事前に分かっていて、0から順に連番を割り当てることが出来るなら、setのかわりにintで管理出来る。
競技プログラミングだと、bitDPとかで良く使う手法。
setに入り得る要素が沢山ある時は実用的でない。せいぜい60個くらいまでだと思う。

199 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 23:46:15.54 ID:0FcI7aTY.net]
>>190
そもそも return self ってオブジェクトのメソッドを呼び出して自分自身を返すの?それとも呼び出されるごとに新しくインスタンス作って返すの?

前者の場合、huga を呼び出せるってことは Hoge のインスタンスにアクセスしてる訳だから意味的におかしい
ファクトリみたいに呼び出されるたびに新しいオブジェクトを作るのか、シングルトンみたいに毎回同じオブジェクトへの参照を返すのか区別をつけなきゃならんと思う

ちょっと調べると似たような質問はあるけど..
https://stackoverflow.com/questions/40149768/python-type-hinting-to-return-class-in-function

200 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 23:47:25.21 ID:Kp0KYdLM.net]
順序があるset……?

201 名前:デフォルトの名無しさん [2017/09/30(土) 23:57:41.26 ID:V09SfC5o.net]
>> 194
huga()は、例が悪かったかもしれません。
元々書きたかったのは、ちょっと中身を変えた自分自身のコピーを返す関数です。

なので、新しいオブジェクトを返す関数です。

202 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:16:58.79 ID:OHbSOJFd.net]
>>195
set は重複を許可しない集合であって、順序がついててもおかしくない
他の言語にもOrderd Setみたいなコレクションがあるし、Python用にも作ってる人がいる
https://pypi.python.org/pypi/ordered-set

203 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:37:55.38 ID:K0lZBGAK.net]
>195
コンテナの中の順序があるかないかと、要素自体が順序比較をサポートするかどうかは別の話だよ。
setには、順序比較できる要素を入れることも出来る。

listに順序があるというのは、
[1, 2, 3]と[3, 2, 1]が区別されるということ。コンテナに入っている順番を区別している。
setに順序が無いというのは、コンテナに入っている順番が区別されないということ。

これらは、listやsetの要素が大小関係を持つ持たないということとは違う。
listか、setかに関係なく、1<2という順序関係はある。(この順にコンテナに入っている問
ことでは無い)
また、順序関係を持たない要素(たとえば複素数)であっても、listやsetに入れることはできる。

以上のように、コンテナに入れた順序を保持するかどうかと、要素自体が順序比較をサポートするかどうかは、別の話。

で、ビットマスクで集合を管理するときは、
コンテナに入れた順番は勿論記録されない。(なので、巡回セールスマン問題で訪問済みの頂点だけでなく、最後に訪問した頂点の情報も必要なときは、ビットマスクの他に、最後に訪問した頂点の情報もべっと保持する。)
要素に対しては、どこのビットがその要素を表すかを決める必要があるので、何らかの方法で要素に順序をつけることが必要になる。

204 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 01:22:03.33 ID:6PWiZt35.net]
Pythonでタブキー押すとエラーが出るんだけどググってもよく分からん
誰か解決法教えてエロい人!
エラー最後の部分がこれ
File "C:\Program Files\Anaconda3\lib\rlcompleter.py", line 80, in complete
readline.redisplay()
AttributeError: module 'readline' has no attribute 'redisplay'

205 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 01:22:27.98 ID:6PWiZt35.net]
ちな環境は
Python 3.6.2 |Anaconda custom (64-bit)| (default, Jul 20 2017, 12:30:02) [MSC v.
1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

206 名前:デフォルトの名無しさん [2017/10/01(日) 05:04:37.95 ID:Q7WarGyN.net]
>>199
これと似たような問題な気が
まだopenだから未解決かも...
https://github.com/pyreadline/pyreadline/issues/49

207 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:45:14.35 ID:aVSvWtqd.net]
Python は、半角空白の数が、文法的に意味を持つ

タブ文字を使っちゃ、ダメだろ



208 名前:デフォルトの名無しさん [2017/10/01(日) 09:49:36.32 ID:xDsv9kMn.net]
タブ一個と空白一個で数があってりゃ問題ないよ

209 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:05:50.87 ID:a+6SxdIf.net]
タブはタブ、空白は空白で数と並びが合ってなきゃダメだろ。

210 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:40:49.76 ID:6PWiZt35.net]
サンクス
治らないからアナコンダ最新版に入れ直したら一応治った
で、pip-review入れたけど何故かちゃんと動かないからアナコンダアンインスコした
生pythonにした

211 名前:デフォルトの名無しさん [2017/10/01(日) 11:05:40.95 ID:Yfu5RE6T.net]
>>205
でもそれだと、anacondaで入るデータ解析とか科学計算のライブラリが入らないですけどいいんですか?

212 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:29:12.10 ID:coFT7XLp.net]
PEP8ではスペースが望ましいとの見解
ttp://pep8-ja.readthedocs.io/ja/latest/#id7

Atomエディターにatom-beauty(とautopep8)入れたら悩まずに済む
※ 個人の感想です

213 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:33:46.89 ID:6PWiZt35.net]
>>206
え?入ったけど?
何のライブラリ?

214 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:36:18.24 ID:soYJ1KBc.net]
必要ないのにAnaconda入れてトラブってるとか微笑ましすぎるわ

215 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 12:03:49.83 ID:6PWiZt35.net]
>>209
ええ…
アナコンダ入れるのがオススメって結構あちこち書いてあるじゃん
俺が勝った本には書いてあった

216 名前:デフォルトの名無しさん [2017/10/01(日) 12:44:23.64 ID:Q7WarGyN.net]
Anacondaは計算ライブラリとか色々入ってるから初学者にはオススメだとは思う。

ただ、
pipがあるのにcondaという独自パッケージ管理システムをつくっていてややこしいし(pipにはあるのにcondaにはないライブラリがあったり)、
pyenvとの衝突問題もあるので、後で別のpython環境を構築しようとすると苦労する。
あとAnaconda特有のライブラリ間の依存関係とかあったりするけど、初学者には自分のコードが引き起こしたエラーなのかAnacondaのバグなのかわからない。
ので、209の言いたいことはわかるなぁという気持ち。

217 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:05:17.56 ID:4xl9+nd3.net]
俺もオススメとか見て、アナコンダ試してみたけど
かえって面倒くさかった。速攻止めた。生がイチバン。



218 名前:デフォルトの名無しさん [2017/10/01(日) 13:11:25.35 ID:kGcvTs6z.net]
初学者が何も考えずにAnacondaをインストールして問題ないって気があんまりしない
相場が分かっている方が環境を作るのが面倒だからって入れるものかなあって

219 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:24:44.89 ID:RQrxfsBp.net]
アナコンダでええよ
でもアップデートや追加インストールや
カスタマイズしようとしてはいけない
それだけ守れば何のトラブルも起きないよ






[ 続きを読む ] / [ 携帯版 ]

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

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