★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その41【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1549282930/
◆PythonのHome Page
http://www.python.org/
◆まとめwiki
ttp://python.rdy.jp/
◆Pythonのソースコードをそのまま5ちゃんにコピペすると
インデントが崩れるので
こういうところ↓にはってきてください
ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
探検
くだすれPython(超初心者用) その42【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/03/18(月) 13:42:55.36ID:+MPRGO7m201デフォルトの名無しさん
2019/03/23(土) 11:21:18.94ID:sBAP9hOD >>200
でも完全にスレタイ通りなのだ
でも完全にスレタイ通りなのだ
202デフォルトの名無しさん
2019/03/23(土) 11:21:59.29ID:oN2Crbw2203デフォルトの名無しさん
2019/03/23(土) 11:22:14.02ID:ZeoqDrwt >>195
じゃ仮に変数をまとめて入れられる変数があるとする(変数の中に変数が入っている)
a = {
hensu1 = "ABC"
hensu2 = 22
}
b = {
hensu1 = "DEF"
hensu2 = 55
}
変数にアクセスするためにはこうやるとする
print(a.hensu1) // ABCが出力される
b.hensu2 = 44 // bの中のhensu2に44が入る
もう一つ仮に、関数をまとめられる変数があるとする(変数の中に関数が入っている)
funcs = {
def func1(hikisu):
print(hikisu.hensu1)
def func2(hikisu, var):
hikisu.hensu2 = var
}
中の関数を呼び出すにはこうやるとする
funcs.func1(a) // ABCが出力される
funcs.func2(b, 87) // b.hensu2 に87が入る
じゃ仮に変数をまとめて入れられる変数があるとする(変数の中に変数が入っている)
a = {
hensu1 = "ABC"
hensu2 = 22
}
b = {
hensu1 = "DEF"
hensu2 = 55
}
変数にアクセスするためにはこうやるとする
print(a.hensu1) // ABCが出力される
b.hensu2 = 44 // bの中のhensu2に44が入る
もう一つ仮に、関数をまとめられる変数があるとする(変数の中に関数が入っている)
funcs = {
def func1(hikisu):
print(hikisu.hensu1)
def func2(hikisu, var):
hikisu.hensu2 = var
}
中の関数を呼び出すにはこうやるとする
funcs.func1(a) // ABCが出力される
funcs.func2(b, 87) // b.hensu2 に87が入る
204デフォルトの名無しさん
2019/03/23(土) 11:29:25.52ID:7srBUnhE205デフォルトの名無しさん
2019/03/23(土) 11:34:13.97ID:hJSauuzM206デフォルトの名無しさん
2019/03/23(土) 11:34:24.50ID:7srBUnhE どう実装されていますかっていう質問でしょ
ソース見るのが一番早いよ
C分からなくてソース読めないっていうなら、これ以上の説明も理解できないよ
ソース見るのが一番早いよ
C分からなくてソース読めないっていうなら、これ以上の説明も理解できないよ
207デフォルトの名無しさん
2019/03/23(土) 11:41:58.39ID:VYeUbhBG >>199
引数として渡されているだけなんだから何らおかしくない
> testクラスの中にさらにクラスのインスタンスがあるという状態はおかしくないでしょうか?
自分の中で「こうあるべき」って感情的に決めつけてない?
それの何がどうおかしいのか論理的に説明してみて
引数として渡されているだけなんだから何らおかしくない
> testクラスの中にさらにクラスのインスタンスがあるという状態はおかしくないでしょうか?
自分の中で「こうあるべき」って感情的に決めつけてない?
それの何がどうおかしいのか論理的に説明してみて
208デフォルトの名無しさん
2019/03/23(土) 11:48:53.36ID:oN2Crbw2 >>205
import pandas as pd
abc =[["a", 1, 2], ["b", 3, 4], ["a", 5, 6], ["b", 7, 8]]
df = pd.DataFrame(abc)
df.query("0=='a'")
pandasで上記コードを実行すると
KeyError: False
というエラーが出てしまいます。
import pandas as pd
abc =[["a", 1, 2], ["b", 3, 4], ["a", 5, 6], ["b", 7, 8]]
df = pd.DataFrame(abc)
df.query("0=='a'")
pandasで上記コードを実行すると
KeyError: False
というエラーが出てしまいます。
209デフォルトの名無しさん
2019/03/23(土) 12:24:51.07ID:ydnViaEq210デフォルトの名無しさん
2019/03/23(土) 12:28:48.09ID:ydnViaEq211デフォルトの名無しさん
2019/03/23(土) 12:33:20.28ID:jhd39dfA >>209
クラスとインスタンスの違いが分かっていなかったのか
>クラスの中のselfではなくて、生成されたインスタンスの中にあるselfに渡されているということでしょうか?
そう
クラスはあくまで設計図
実体を作って何かを行うのは全てインスタンス
クラスとインスタンスの違いが分かっていなかったのか
>クラスの中のselfではなくて、生成されたインスタンスの中にあるselfに渡されているということでしょうか?
そう
クラスはあくまで設計図
実体を作って何かを行うのは全てインスタンス
212デフォルトの名無しさん
2019/03/23(土) 12:41:08.01ID:7srBUnhE クラスにも実体はあるし、クラス内の関数を呼び出したりもするけどね
213デフォルトの名無しさん
2019/03/23(土) 12:43:45.55ID:jhd39dfA >>212
staticも考えたけど、もう終わらせた方がいいんじゃないかなって
staticも考えたけど、もう終わらせた方がいいんじゃないかなって
214デフォルトの名無しさん
2019/03/23(土) 13:55:46.82ID:f3qHSm8q >>212
超初心者にあれこれ詰め込んでも混乱するだけだろうし、多少の嘘は許容してまずは本当に基本的なことを大雑把に理解させないと一歩も先に進まないんじゃないかな。
超初心者にあれこれ詰め込んでも混乱するだけだろうし、多少の嘘は許容してまずは本当に基本的なことを大雑把に理解させないと一歩も先に進まないんじゃないかな。
215デフォルトの名無しさん
2019/03/23(土) 15:46:32.76ID:A1HHpCkB 口だけは立派な先生方
self がなにか説明できない
self がなにか説明できない
216デフォルトの名無しさん
2019/03/23(土) 15:55:15.05ID:VsaUG60l 説明はもう済んでるよ、理解出来てないだけ。
それも当然で、基礎知識が無いからどうしようもない
このまま行けばC言語に手を出すことになるのだろう
それも当然で、基礎知識が無いからどうしようもない
このまま行けばC言語に手を出すことになるのだろう
217デフォルトの名無しさん
2019/03/23(土) 15:59:25.81ID:hJSauuzM218デフォルトの名無しさん
2019/03/23(土) 16:06:51.30ID:zpuBZ1ay マジで小学校で教えといて欲しい
219デフォルトの名無しさん
2019/03/23(土) 17:31:55.04ID:ydnViaEq ↑ありがとうございます
最後に一つ
self.n= name
とあったらself側が変数名で、nは属性という扱いでいいんですか?
最後に一つ
self.n= name
とあったらself側が変数名で、nは属性という扱いでいいんですか?
220デフォルトの名無しさん
2019/03/23(土) 17:35:56.63ID:oN2Crbw2221デフォルトの名無しさん
2019/03/23(土) 17:50:28.72ID:A1HHpCkB222デフォルトの名無しさん
2019/03/23(土) 18:15:49.99ID:ydnViaEq 道標とは?
self.nで
インスタンス化されたクラス/その中にある変数n
というフォルダのような構造になっているという意味でしょうか?
self.nで
インスタンス化されたクラス/その中にある変数n
というフォルダのような構造になっているという意味でしょうか?
223デフォルトの名無しさん
2019/03/23(土) 18:22:35.82ID:ydnViaEq インスタンスの構造を出力してくれる関数とかないでしょうか?
これがあれば理解できるかも
これがあれば理解できるかも
224デフォルトの名無しさん
2019/03/23(土) 19:16:34.22ID:iMO+WCpL ppront
pydoc
pydoc
225デフォルトの名無しさん
2019/03/23(土) 20:15:49.89ID:abrpiqJH >>185
Python詳しく無いけど、Haskellで言うfilter関数見たいのが有るんじゃ無いのか?
自作しても良いと思うけど。
def filter(f,lst):
newlst = []
for i in lst:
if f(i) then:
newlst.append(i)
return newlst
Haskellとの比較用にしか使ってないから、クラスとか知らんで悪いけど。
Python詳しく無いけど、Haskellで言うfilter関数見たいのが有るんじゃ無いのか?
自作しても良いと思うけど。
def filter(f,lst):
newlst = []
for i in lst:
if f(i) then:
newlst.append(i)
return newlst
Haskellとの比較用にしか使ってないから、クラスとか知らんで悪いけど。
226デフォルトの名無しさん
2019/03/23(土) 20:30:07.59ID:abrpiqJH227デフォルトの名無しさん
2019/03/23(土) 20:31:20.91ID:ydnViaEq instance = test("hge")
pprint.pprint(instance)
pprintしてもメモリの場所しか表示されないのですが、何か設定が必要でしょうか
pprint.pprint(instance)
pprintしてもメモリの場所しか表示されないのですが、何か設定が必要でしょうか
228デフォルトの名無しさん
2019/03/23(土) 20:43:03.84ID:ydnViaEq もしかしてクラスを設計図としたインスタンス(の構造)には、クラスの宣言部分は含まれていないのですか?
class testclass():
def __init__(self,hoge):
self.h = hoge
def func(self):
print(self.h)
instance = testclass("output")
instance.func()
とあったら、instance部分の構造は
def __init__(self,hoge):
self.h = hoge
def func(self):
print(self.h)
となってるわけですか?
class testclass():
def __init__(self,hoge):
self.h = hoge
def func(self):
print(self.h)
instance = testclass("output")
instance.func()
とあったら、instance部分の構造は
def __init__(self,hoge):
self.h = hoge
def func(self):
print(self.h)
となってるわけですか?
229デフォルトの名無しさん
2019/03/23(土) 20:50:14.72ID:A1HHpCkB >>222
ご明察のとおり
だから、メモリ空間上に実体として存在するのは、
変数名.n
なので、外部からアクセスするときには、
変数名.n
でアクセスする。
self.n
で朝とできるのは、同じ変数名インスタンス内部からだけという仕掛け
ご明察のとおり
だから、メモリ空間上に実体として存在するのは、
変数名.n
なので、外部からアクセスするときには、
変数名.n
でアクセスする。
self.n
で朝とできるのは、同じ変数名インスタンス内部からだけという仕掛け
230デフォルトの名無しさん
2019/03/23(土) 20:59:31.58ID:gtm/8/iL rubyのヘイトが溜まっていく…
231デフォルトの名無しさん
2019/03/23(土) 21:17:04.29ID:VsaUG60l この子にはもしかしてrubyが似合うんじゃないかなって思っちゃった
232デフォルトの名無しさん
2019/03/23(土) 21:18:50.51ID:I3Pj7rcK >>228
難しく考えすぎ
self(正確には第1仮引数名).変数名があると、下記の順番で処理されるだけ
1. インスタンス変数が定義されていれば、それにアクセス
2. クラス変数が定義されていれば、それにアクセス
3. どちらも無ければインスタンス変数を作成 (参照だったら例外発生)
Pythonインタープリタは、そう実装されているってだけ
だから概念とか考えてもしょうがない
はっきり言って、「selfに意味はない」
難しく考えすぎ
self(正確には第1仮引数名).変数名があると、下記の順番で処理されるだけ
1. インスタンス変数が定義されていれば、それにアクセス
2. クラス変数が定義されていれば、それにアクセス
3. どちらも無ければインスタンス変数を作成 (参照だったら例外発生)
Pythonインタープリタは、そう実装されているってだけ
だから概念とか考えてもしょうがない
はっきり言って、「selfに意味はない」
233デフォルトの名無しさん
2019/03/23(土) 21:21:25.01ID:lUpPBvQP234デフォルトの名無しさん
2019/03/23(土) 21:22:53.90ID:lUpPBvQP235デフォルトの名無しさん
2019/03/23(土) 21:30:04.14ID:CpiI5eIt 【人類は一つです(バカウヨ除外)】 世堺教師マiトレーヤ 【ユダヤから富を奪還し分ち合おう】
http://rosie.5ch.net/test/read.cgi/liveplus/1553306560/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1553306560/l50
236デフォルトの名無しさん
2019/03/23(土) 22:04:22.60ID:abrpiqJH >>232
selfはローカル変数かフィールド(クラス変数)かを見分けると言う意味はある。
メソッドの引数にする意味はないと思うけど。(他の引数と一貫性を保つ為?)
class Myclass:
def func(str):
name = str #nameはローカル変数かフィールドか見分けられない。
そこでrubyは@nameとし、pythonはself.nameにした。
静的型言語だとクラス定義の時点でメソッドよりフィールドを先に定義するから、クラスで何個のフィールドが有るのか分かるけど、
動的型言語だと全メソッド見ないとフィールドが何個あるのか把握出来ない。
同じ使われ方してるフィールドが複数あっても気付きにくい。
__init__にフィールドの宣言と初期化を集約するとか、セオリー頼り。
class Myclass:
def func1(self,str):
self.name = str
def func2(self,str):
self.myname = str
selfはローカル変数かフィールド(クラス変数)かを見分けると言う意味はある。
メソッドの引数にする意味はないと思うけど。(他の引数と一貫性を保つ為?)
class Myclass:
def func(str):
name = str #nameはローカル変数かフィールドか見分けられない。
そこでrubyは@nameとし、pythonはself.nameにした。
静的型言語だとクラス定義の時点でメソッドよりフィールドを先に定義するから、クラスで何個のフィールドが有るのか分かるけど、
動的型言語だと全メソッド見ないとフィールドが何個あるのか把握出来ない。
同じ使われ方してるフィールドが複数あっても気付きにくい。
__init__にフィールドの宣言と初期化を集約するとか、セオリー頼り。
class Myclass:
def func1(self,str):
self.name = str
def func2(self,str):
self.myname = str
237デフォルトの名無しさん
2019/03/24(日) 00:18:34.34ID:9O9Vp0iS238デフォルトの名無しさん
2019/03/24(日) 00:26:51.70ID:aL5blMH8 >>236>>237
開発者からの言葉
・self不要論は死ぬほど聞いている
・以下が大きい理由
'foo'が 'C'のインスタンスであることを考えると、
パラメータリストで明示的な 'self'を必要とすることは、メソッドを呼び出すこれら2つの方法の間の理論的等価性を強化することになります。
foo.meth(arg)== C.meth(foo、arg)
俺には分からんかった
以下ソース
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
https://coreblog.org/ats/translation-of-why-explicit-self-has-to-stay/
開発者からの言葉
・self不要論は死ぬほど聞いている
・以下が大きい理由
'foo'が 'C'のインスタンスであることを考えると、
パラメータリストで明示的な 'self'を必要とすることは、メソッドを呼び出すこれら2つの方法の間の理論的等価性を強化することになります。
foo.meth(arg)== C.meth(foo、arg)
俺には分からんかった
以下ソース
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
https://coreblog.org/ats/translation-of-why-explicit-self-has-to-stay/
239デフォルトの名無しさん
2019/03/24(日) 00:52:27.28ID:9O9Vp0iS バカな開発者だ
C なんてどうでもいいだろうが
C なんてどうでもいいだろうが
240デフォルトの名無しさん
2019/03/24(日) 00:54:37.72ID:aL5blMH8 >>239
pythonはCのラッパーなんだけど
pythonはCのラッパーなんだけど
241デフォルトの名無しさん
2019/03/24(日) 02:14:23.76ID:zpFoB+Fk Yo! yo! みんな喧嘩すんなYO!
242デフォルトの名無しさん
2019/03/24(日) 02:59:34.53ID:byiyxNX1 レペゼンpython、yeah
243デフォルトの名無しさん
2019/03/24(日) 05:01:07.62ID:XxZqoAge >>237
いあ、個人的にはメソッドの引数からフィールドを生成または使用してるのが分かって便利だから残してて欲しいが。
いあ、個人的にはメソッドの引数からフィールドを生成または使用してるのが分かって便利だから残してて欲しいが。
244デフォルトの名無しさん
2019/03/24(日) 05:39:07.49ID:NAaHZN6A pythonのC-APIは
CallObjectとか
CallFuncとか
CallMethodとか
使い分けてるよな
CallObjectとか
CallFuncとか
CallMethodとか
使い分けてるよな
245デフォルトの名無しさん
2019/03/24(日) 08:33:50.69ID:XvYqXbWf dive into python3を読んでIterator作ってみたら少し理解が進んだ気がする
dive into python3を何とか理解したレベルで次に読むべきものって何なんやろ
dive into python3を何とか理解したレベルで次に読むべきものって何なんやろ
246デフォルトの名無しさん
2019/03/24(日) 09:23:31.67ID:1qlluyio つくれ
247デフォルトの名無しさん
2019/03/24(日) 09:28:16.68ID:IeawwFp1 Fluent Python
248デフォルトの名無しさん
2019/03/24(日) 10:49:21.59ID:0uhW8miJ anacondaで個別に環境作ってsqlite3入れたがそれらを個別にイジるにはどうすればいい?コマンドプロンプトでsqlite3と叩いても違うバージョンのsqlite3が表示される
249デフォルトの名無しさん
2019/03/24(日) 10:51:56.82ID:lF8x/C3u activateでsqliteを入れた環境に切り替える
250デフォルトの名無しさん
2019/03/24(日) 11:22:47.21ID:0uhW8miJ >>249
ありがとうできた
PowerShellでactivate出来なかったから調べてみると使えるようにするにはconda install -n root -c pscondaenvs pscondaenvsで使えるように出来た
ありがとうできた
PowerShellでactivate出来なかったから調べてみると使えるようにするにはconda install -n root -c pscondaenvs pscondaenvsで使えるように出来た
251デフォルトの名無しさん
2019/03/24(日) 11:37:43.08ID:0uhW8miJ ごめんvscodeのmicrosoft.python.languagesserver.exeってのが13gbくらいメモリ食っててメモリ使用率とディスクが99%なんだけどこれウィルス?
252デフォルトの名無しさん
2019/03/24(日) 11:55:24.22ID:0uhW8miJ 解決したっぽい
253デフォルトの名無しさん
2019/03/24(日) 12:04:20.29ID:byELi1J1 1人みたら100人いるとの格言の通り
self概念を理解できない人間はそれくらいいる
pythonに限らず他の言語でも
self概念を理解できない人間はそれくらいいる
pythonに限らず他の言語でも
254デフォルトの名無しさん
2019/03/24(日) 12:45:59.87ID:6XL2+Wvk 実装がどうなってようが俺の要求する通りの出力結果が得られれば
細かいことはどうでもいい
細かいことはどうでもいい
255デフォルトの名無しさん
2019/03/24(日) 12:50:28.94ID:aL5blMH8256デフォルトの名無しさん
2019/03/24(日) 12:51:31.88ID:XnubZNlX //なんかわかんないけど動いた
257デフォルトの名無しさん
2019/03/24(日) 12:54:55.93ID:aL5blMH8 それはちょっと違う
258デフォルトの名無しさん
2019/03/24(日) 14:19:15.63ID:m/EdUsLf .sort()がマージソートだろうがクイックソートだろうが気にしないって事やろ
259デフォルトの名無しさん
2019/03/24(日) 14:51:12.18ID:9O9Vp0iS そうそうそーとしてくれりゃいいのよ
アルゴの違いなんて、CPU命令セットの違いで成績は簡単に逆転しちゃうんだから
アルゴの違いなんて、CPU命令セットの違いで成績は簡単に逆転しちゃうんだから
260デフォルトの名無しさん
2019/03/24(日) 15:03:55.28ID:aL5blMH8261デフォルトの名無しさん
2019/03/24(日) 16:24:16.54ID:w1PFw/Sy webkit2+gtk3でimport threadingで子プロセスからwebkit2.webview.run_javascriptでjavascriptを呼ぶと下記のようなエラーが出てしまうのですが、
仕様なんでしょうか?
1 0x7f4853d050f9 /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x9) [0x7f4853d050f9]
2 0x7f4860cdfeda /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(+0x792eda) [0x7f4860cdfeda]
3 0x7f4860cbc8a4 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(+0x76f8a4) [0x7f4860cbc8a4]
4 0x7f4860d68cf3 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(webkit_web_view_run_javascript+0xc3) [0x7f4860d68cf3]
仕様なんでしょうか?
1 0x7f4853d050f9 /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x9) [0x7f4853d050f9]
2 0x7f4860cdfeda /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(+0x792eda) [0x7f4860cdfeda]
3 0x7f4860cbc8a4 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(+0x76f8a4) [0x7f4860cbc8a4]
4 0x7f4860d68cf3 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(webkit_web_view_run_javascript+0xc3) [0x7f4860d68cf3]
262デフォルトの名無しさん
2019/03/24(日) 16:27:03.66ID:w1PFw/Sy multiprocessingだと、javascriptだけ読み込まれないようです。(printや他の関数呼び出しなどは機能します)
これだと常時子プロセスでページのスクロール位置を記録するスクリプトが組めないので困っています。
どなたか原因がわかる方、お助けください。
これだと常時子プロセスでページのスクロール位置を記録するスクリプトが組めないので困っています。
どなたか原因がわかる方、お助けください。
263デフォルトの名無しさん
2019/03/24(日) 16:34:22.71ID:C+SYacul264262
2019/03/24(日) 16:59:44.36ID:w1PFw/Sy >>263
レスありがとうございます。
本来はアプリ終了時にページの既読位置を記録したかったので、gtk windowのdestroy
シグナルからjavascriptを書いたコールバック関数を呼ぼうと思ったのですが、
gtk windowがdestroyされるとwebviewも消えてしまって、値が取得できなかったので、
常時スクロール位置を記録する無限ループを作り、その中でjavascriptを呼ぶ子プロセスを作ろうと思ったのです。
マルチプロセスにせずクラスのdef __init__()にループの関数を書くと無限ループなのでwebviewが読み込まれず、
仕方がなくマルチプロセスにしました。子プロセスから親プロセスの変数を書き換えられないなどの基本的なことは
検索してわかったのですが、なぜ子プロセスから親プロセスのdefに書いてあるjavascriptを呼べないかがわからんのです。
普通の関数なら呼べるようですが。
レスありがとうございます。
本来はアプリ終了時にページの既読位置を記録したかったので、gtk windowのdestroy
シグナルからjavascriptを書いたコールバック関数を呼ぼうと思ったのですが、
gtk windowがdestroyされるとwebviewも消えてしまって、値が取得できなかったので、
常時スクロール位置を記録する無限ループを作り、その中でjavascriptを呼ぶ子プロセスを作ろうと思ったのです。
マルチプロセスにせずクラスのdef __init__()にループの関数を書くと無限ループなのでwebviewが読み込まれず、
仕方がなくマルチプロセスにしました。子プロセスから親プロセスの変数を書き換えられないなどの基本的なことは
検索してわかったのですが、なぜ子プロセスから親プロセスのdefに書いてあるjavascriptを呼べないかがわからんのです。
普通の関数なら呼べるようですが。
265デフォルトの名無しさん
2019/03/24(日) 17:47:09.22ID:C+SYacul266262
2019/03/24(日) 17:59:04.80ID:w1PFw/Sy >>265
スクロール位置の記録はjavascript(y_pos_js ="var y; y = window.scrollY;")
とそれのresultを保管する変数でやっています。
変数の共有は
from multiprocessing import Value
のshared_double = Value('d', 0.0)などとやっています。
スクロール位置の記録はjavascript(y_pos_js ="var y; y = window.scrollY;")
とそれのresultを保管する変数でやっています。
変数の共有は
from multiprocessing import Value
のshared_double = Value('d', 0.0)などとやっています。
267デフォルトの名無しさん
2019/03/24(日) 18:04:17.78ID:C+SYacul りかい
それでうまくいかないんだ。。。
それでうまくいかないんだ。。。
268デフォルトの名無しさん
2019/03/24(日) 18:17:51.34ID:TV2Tiiuq self野郎です
とりあえずありがとうございます
とりあえずありがとうございます
269デフォルトの名無しさん
2019/03/24(日) 18:29:35.04ID:TV2Tiiuq >>232
クラス変数にselfは使えないですよね?
クラス変数にselfは使えないですよね?
270デフォルトの名無しさん
2019/03/24(日) 18:32:34.26ID:TV2Tiiuq self.nはだたのurlと考えることにしました
http://self/n
http://self/n
271デフォルトの名無しさん
2019/03/24(日) 19:00:06.76ID:C+SYacul272デフォルトの名無しさん
2019/03/24(日) 20:26:00.05ID:TV2Tiiuq 要はselfに自分自身を入れると、class.nみたいな感じで変数だとかにアクセス出来るってだけのことじゃないですか
273262
2019/03/24(日) 20:36:20.90ID:w1PFw/Sy >>267
Process(target=self.js_run(y_pos_js))
としたら今度はスクリプトを読み込んでくれました。
別プロセスにしたのが原因ではないようです。
もうちょっと考えてみます。レスありがとうございました。
Process(target=self.js_run(y_pos_js))
としたら今度はスクリプトを読み込んでくれました。
別プロセスにしたのが原因ではないようです。
もうちょっと考えてみます。レスありがとうございました。
274デフォルトの名無しさん
2019/03/24(日) 20:48:22.92ID:C+8PS15Z >>272
そこにきづくとはやはりてんさいか
そこにきづくとはやはりてんさいか
275デフォルトの名無しさん
2019/03/24(日) 21:04:17.61ID:C+SYacul276デフォルトの名無しさん
2019/03/24(日) 21:15:19.44ID:Pci4stVg >>272
もう完璧やん
もう完璧やん
277デフォルトの名無しさん
2019/03/24(日) 21:45:14.19ID:aL5blMH8 >>272
100点!
100点!
278232
2019/03/24(日) 21:45:45.89ID:LjSh6l07279デフォルトの名無しさん
2019/03/24(日) 23:12:03.48ID:3fqiTHWE >>236
Python, JavaScript は、クロージャが関数スコープだから、
スコープ外の変数を取り込んでしまう。
第1級関数の欠点
一方、Ruby は、C と同じ。
関数スコープの内側に、クロージャのブロックスコープがある
関数は外側の変数を取り込まないで、
ブロックスコープは、関数内の変数を通す
第1級関数にしなかったことで、スコープが強固!
だから、this がwindow を指したり、non local とか、ややこしい問題がない
第1級関数を使っている言語は、バグりやすい
Python, JavaScript は、クロージャが関数スコープだから、
スコープ外の変数を取り込んでしまう。
第1級関数の欠点
一方、Ruby は、C と同じ。
関数スコープの内側に、クロージャのブロックスコープがある
関数は外側の変数を取り込まないで、
ブロックスコープは、関数内の変数を通す
第1級関数にしなかったことで、スコープが強固!
だから、this がwindow を指したり、non local とか、ややこしい問題がない
第1級関数を使っている言語は、バグりやすい
280デフォルトの名無しさん
2019/03/24(日) 23:18:14.51ID:9O9Vp0iS281デフォルトの名無しさん
2019/03/24(日) 23:19:28.32ID:9O9Vp0iS282デフォルトの名無しさん
2019/03/25(月) 00:04:18.17ID:3q1td1jR クロージャって何がいいの?
http://mevius.5ch.net/test/read.cgi/tech/1415419907/261
261 デフォルトの名無しさん sage 2014/12/15(月) 23:02:52.91 ID:BuhXHDiL
さらに言えば、Rubyのブロック変数のスコープの扱いが1.9で仕様変更されてるけど、
それについてmatz自身が
> それは、Rubyが最初から関数型言語としてスタートしてないからであって、言語が違うからですよね。
と語っているね
http://www.atmarkit.co.jp/news/200907/24/ruby.html
http://mevius.5ch.net/test/read.cgi/tech/1415419907/261
261 デフォルトの名無しさん sage 2014/12/15(月) 23:02:52.91 ID:BuhXHDiL
さらに言えば、Rubyのブロック変数のスコープの扱いが1.9で仕様変更されてるけど、
それについてmatz自身が
> それは、Rubyが最初から関数型言語としてスタートしてないからであって、言語が違うからですよね。
と語っているね
http://www.atmarkit.co.jp/news/200907/24/ruby.html
283デフォルトの名無しさん
2019/03/25(月) 00:11:34.45ID:Cuu19DCp >>280
>>238でpython設計者が語っている。正直良くわからん
>>281
開発者に良いなよ。普通に意見出来る場があるぞ?
ここで言っても何も変わらないよ?
http://neopythonic.blogspot.com/
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
>>238でpython設計者が語っている。正直良くわからん
>>281
開発者に良いなよ。普通に意見出来る場があるぞ?
ここで言っても何も変わらないよ?
http://neopythonic.blogspot.com/
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
284デフォルトの名無しさん
2019/03/25(月) 00:49:10.28ID:gQLXATRQ このサイトに書いてあるsqlalchemyの使い方について教えて欲しいんだけど
user = User('hoge')
と
db.create_all()
の所について誰か分かる?
sqlalchemyは全くの初心者
とりあえず自分でsqliteのdbとテーブルを手動で作ってから始めるのかな?
https://www.smartbowwow.com/2018/07/flaskdbsqlite-sqlalchemy.html?m=1
user = User('hoge')
と
db.create_all()
の所について誰か分かる?
sqlalchemyは全くの初心者
とりあえず自分でsqliteのdbとテーブルを手動で作ってから始めるのかな?
https://www.smartbowwow.com/2018/07/flaskdbsqlite-sqlalchemy.html?m=1
285デフォルトの名無しさん
2019/03/25(月) 01:26:03.22ID:25q5twYk286デフォルトの名無しさん
2019/03/25(月) 01:35:57.61ID:NiC3aEm8 個人的な意見を言われてもねえw
287デフォルトの名無しさん
2019/03/25(月) 03:12:34.36ID:SOhENsRU >>279
Cにはクロージャの概念は無いよ。
毎度毎度、rubyしか分からない(それすらちゃんと分かってるか怪しい)のに他の言語のスレにわざわざ出てきて無理矢理ruby推ししては、頓珍漢なことしか言えないのだから二度と書き込むな。
Cにはクロージャの概念は無いよ。
毎度毎度、rubyしか分からない(それすらちゃんと分かってるか怪しい)のに他の言語のスレにわざわざ出てきて無理矢理ruby推ししては、頓珍漢なことしか言えないのだから二度と書き込むな。
288デフォルトの名無しさん
2019/03/25(月) 03:52:06.06ID:VCx1LmIq C言語でクロージャを実装すると
https://pineapple.blog/c%E8%A8%80%E8%AA%9E%E3%81%A7%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%81%A8-535e0a5afd36
struct make_plus_n_context_t {
int _n;
int (*_func)(const struct make_plus_n_context_t *, int);
};
typedef struct make_plus_n_context_t MAKE_PLUS_N_CONTEXT_T;
https://pineapple.blog/c%E8%A8%80%E8%AA%9E%E3%81%A7%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%81%A8-535e0a5afd36
struct make_plus_n_context_t {
int _n;
int (*_func)(const struct make_plus_n_context_t *, int);
};
typedef struct make_plus_n_context_t MAKE_PLUS_N_CONTEXT_T;
289デフォルトの名無しさん
2019/03/25(月) 05:03:23.28ID:M3aMg8kF pandasのread_csvで列名「size」のデータを読み込んで利用したいのですが、うまく行きません。
usecols=['size']と指定しても
df.sizeだと要素数が出てきてしまうし
df.rename(colms=['size':'_size'])とした上で
df._sizeを見ようとしても
object has not attribute '_size' のエラーになってしまいます。
size列は位置が変わる可能性があるので、
できれば列番号ではなく列名sizeを指定して読み込みたいです。
良い方法はないでしょうか。
usecols=['size']と指定しても
df.sizeだと要素数が出てきてしまうし
df.rename(colms=['size':'_size'])とした上で
df._sizeを見ようとしても
object has not attribute '_size' のエラーになってしまいます。
size列は位置が変わる可能性があるので、
できれば列番号ではなく列名sizeを指定して読み込みたいです。
良い方法はないでしょうか。
290289
2019/03/25(月) 05:38:00.91ID:0OHWqjaj 自己解決しました。
https://teratail.com/questions/149045
上記ページを参考に
col = df.columns.values
col[size列を読み込んだ場所] = '_size'
df.columns = col
とした上でdf._sizeを見たらOKでした。
https://teratail.com/questions/149045
上記ページを参考に
col = df.columns.values
col[size列を読み込んだ場所] = '_size'
df.columns = col
とした上でdf._sizeを見たらOKでした。
291デフォルトの名無しさん
2019/03/25(月) 05:43:57.44ID:M0EtypdC 結局、インスタンス変数にselfをつけると、クラス内で共有できるよという
そういう仕組なんだよってことどすか?
そういう仕組なんだよってことどすか?
292デフォルトの名無しさん
2019/03/25(月) 06:51:32.25ID:SOhENsRU293デフォルトの名無しさん
2019/03/25(月) 08:05:46.84ID:25q5twYk >>286
rubyだと、どのメソッドでフィールドが使われてるかはクラスの全メソッドチェックしないと分からないけど、
pythonは引数にselfがあるか無いかで判断出来るんだから、立派な優位点だと思うけど。。。
規模大きくなってツール作った時、省けるチェックがある分、速度的にも優位だし。
rubyだと、どのメソッドでフィールドが使われてるかはクラスの全メソッドチェックしないと分からないけど、
pythonは引数にselfがあるか無いかで判断出来るんだから、立派な優位点だと思うけど。。。
規模大きくなってツール作った時、省けるチェックがある分、速度的にも優位だし。
294デフォルトの名無しさん
2019/03/25(月) 08:59:23.51ID:Y6FhyNNn トランプじゃなくても
this is a country where we speak about python not rubyyyy
って言いたくなるわ
this is a country where we speak about python not rubyyyy
って言いたくなるわ
295デフォルトの名無しさん
2019/03/25(月) 12:02:16.14ID:WvC7Th65 >>284
Djangoもそうだけど、基本的に自分でSQL文を叩く必要はないよ
端末2つ開いて片方Pythonシェルでモデル操作しつつ、もう片方でSQL文でデータベースに行われる操作を確認すると良い
Flask+SQLAlchemyならここのblogを順を追って行くのが良いと思う。その拡張版であるオライリー本に行くのも良い
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
https://www.amazon.co.jp/dp/1491991739/
Djangoもそうだけど、基本的に自分でSQL文を叩く必要はないよ
端末2つ開いて片方Pythonシェルでモデル操作しつつ、もう片方でSQL文でデータベースに行われる操作を確認すると良い
Flask+SQLAlchemyならここのblogを順を追って行くのが良いと思う。その拡張版であるオライリー本に行くのも良い
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
https://www.amazon.co.jp/dp/1491991739/
296デフォルトの名無しさん
2019/03/25(月) 12:22:46.15ID:7aW5s/71297デフォルトの名無しさん
2019/03/25(月) 15:09:33.90ID:limoBn15 multiprocessingで子プロセスを作成しています
子プロセスでエラーが起きた場合に親と子の両方を終了するにはどうしたらいいのでしょうか?
子プロセスでエラーが起きた場合に親と子の両方を終了するにはどうしたらいいのでしょうか?
298デフォルトの名無しさん
2019/03/25(月) 16:06:05.01ID:OMoEyPHb299デフォルトの名無しさん
2019/03/25(月) 17:51:52.14ID:HtPR7z5p webkit2+gtk3でepubビューアを作ってるものですが、
javascriptでのスクロール量計測は諦めて、webkit2webextensionを使おうと思って、
WebKit2WebExtension.WebExtensionInitializeFunction(WebKit2WebExtension.WebExtension)
とやったのですが、
raise NotImplementedError(info)
NotImplementedError: gi.CallbackInfo(WebExtensionInitializeFunction)
と出てしまいました。pygobjectにはWebKit2WebExtension.WebExtensionInitializeFunctionはまだ実装されていないのでしょうか・・・
https://lazka.github.io/pgi-docs/index.html#WebKit2WebExtension-4.0/callbacks.html#WebKit2WebExtension.WebExtensionInitializeFunction
ここにはこの関数がありそうなことが書いてあったのですが。
これも使えないんじゃ現在スクロール位置を記録することができなくて詰んでます。
javascriptでのスクロール量計測は諦めて、webkit2webextensionを使おうと思って、
WebKit2WebExtension.WebExtensionInitializeFunction(WebKit2WebExtension.WebExtension)
とやったのですが、
raise NotImplementedError(info)
NotImplementedError: gi.CallbackInfo(WebExtensionInitializeFunction)
と出てしまいました。pygobjectにはWebKit2WebExtension.WebExtensionInitializeFunctionはまだ実装されていないのでしょうか・・・
https://lazka.github.io/pgi-docs/index.html#WebKit2WebExtension-4.0/callbacks.html#WebKit2WebExtension.WebExtensionInitializeFunction
ここにはこの関数がありそうなことが書いてあったのですが。
これも使えないんじゃ現在スクロール位置を記録することができなくて詰んでます。
300デフォルトの名無しさん
2019/03/25(月) 17:58:47.42ID:OMoEyPHb scrolling increment Python で検索はもうしてる?
してたらすまん >>299
してたらすまん >>299
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- 【テレビ】石破前首相 中国レーダー照射「フェーズ上がってる」と指摘も「日本の世論が激高するのは避ける必要が…」 [少考さん★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 小泉防衛大臣「事前通報の認識無し」 [163661708]
- 【悲報】中国メディア「高市が撤回して済む話ではなくなった。わざと戦闘機をレーダー照射距離に来させる戦争扇動者だ」 [359965264]
- 【画像】GACKTプロデュースの7800円弁当、めちゃくちゃ美味そう🤤 [779938112]
- 女「17年毎日袋麺持ち歩いて触ってる」触り終えた袋麺は施設職員により保管されており、その数は8000
- メモリ価格が暴落、中国CXMTが「DDR5-8000」の製造に成功し即日発売、ただし1チップ2GB=最大容量16GB [422186189]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
