くだすれPython(超初心者用) その42【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/18(月) 13:42:55.36ID:+MPRGO7m
★当スレに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/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
78デフォルトの名無しさん
垢版 |
2019/03/20(水) 00:51:59.36ID:D6kxNzj1
>>72 int(n//10)*10
2019/03/20(水) 01:43:22.87ID:6ln9W50J
>>77
>初心者は、Rubyから始めろって言われるわけ
昔言われてたな。誰もやってなかった
あれがステマだったと最近気づいた
2019/03/20(水) 02:13:49.59ID:oK7gZRvl
Rubyは最も一般的な方法で定義した関数(関数じゃないw)が値として取り回せない(第一級関数でない)クソ言語wwwww
def add(a, b)
a + b
end
def opTwo(a, b, func)
func(a, b)
end
p opTwo(1, 2, add)
=> Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError)
from t.rb:9
プギャーm9(^Д^ )

ちなみにPython:
def add(a, b):
return a + b

def opTwo(a, b, func):
return func(a, b)

print(opTwo(1, 2, add))
=> 3

ちなみにJavascript:
function add(a, b) {
return a + b;
}
function opTwo(a, b, func) {
return func(a, b);
}
console.log(opTwo(1, 2, add))
=> 3
2019/03/20(水) 02:18:32.13ID:oK7gZRvl
def、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
2019/03/20(水) 02:19:24.94ID:oK7gZRvl
Ruby 初心者スレッド Part 64
http://mevius.5ch.net/test/read.cgi/tech/1535797516/658
658 デフォルトの名無しさん sage 2018/10/15(月) 10:09:06.69 ID:r7U1tD/N
擬似コードがそのまま動くのはPythonじゃね
関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select ((>) 0) みたいに書けたりするね
ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける
Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね
2019/03/20(水) 02:19:58.52ID:oK7gZRvl
クロージャって何がいいの?
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
2019/03/20(水) 02:20:31.17ID:oK7gZRvl
Pythonが2018年も人気ナンバーワン言語に - Rubyは13位へ
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/

>日本生まれのプログラミング言語Rubyの順位は昨年の12位から13位へと一つ順位を落としています。


https://findy-code.io/engineer-lab/github-programming-language-ranking
↑「衰退するかもしれない言語」のRubyのグラフ凄すぎwww
2019/03/20(水) 02:51:31.38ID:oK7gZRvl
大人気言語るっピぃが実践する驚き最大の勝利の大法則!!!
お前らションベンチビんなよ!?

Python:
def double(x):
return x * 2

double(3) #=> 6
同等ラムダ
(lambda x: x * 2)(3) #=> 6

JavaScript:
function double(x) {
return x * 2;
}
double(3); //=> 6
同等ラムダ
(x => x * 2)(3); //=> 6

Rubz(笑)ころん
def double(x)
x * 2
end
double 3
#=> 6
同等?ラムダ?www
(lambda {|x| x * 2}) 3 #=> エラー(笑)
(lambda {|x| x * 2})(3) #=> エラー()
(lambda {|x| x * 2}).call(3) #=> 6
うわぁ〜さすがるっびすごくわかりやすいですぅ〜wwww
8673
垢版 |
2019/03/20(水) 03:00:25.17ID:RdYQnT9u
KENTA / 雑食系エンジニアTV と言う人が、
YouTube で、初心者は、Ruby から勉強するように勧めている

多くの人が、初心者には、Rubyを勧めている

Dir.glob( 'C:/Users/Owner/Documents/test/*.txt' ) do |file|
end

Rubyでは、Windows/Linux の両方で、パス区切りに、/ が使えるから、\ を使わなくてもよい

Python では、\, \\ を使っているから、ややこしくてたまらん!
2019/03/20(水) 03:02:42.97ID:oK7gZRvl
これだね!

Rubyを長く使い続けることを僕がお薦めしない理由を説明します - YouTube
https://www.youtube.com/watch?v=2wfQ3iG08UI
2019/03/20(水) 03:04:18.73ID:oK7gZRvl
日本生まれのクソ言語Ruby『最も嫌われているプログラミング言語』堂々ランクイン!!
https://japan.zdnet.com/article/35109803/

おめでとうクソ言語!🎊
おめでとう日本の恥!!www
https://japan.zdnet.com/storage/2017/11/02/e28392adae17a191547db083133339eb/171106-zdnet-1-01-languages-1-900x675.png
2019/03/20(水) 03:14:48.95ID:oK7gZRvl
Ruby のココがダメ
https://qiita.com/scivola/items/17470c52641d3ffa1650
・メソッド名の別名がありすぎ
・何かにつけて「nil にそんなメソッドねえよ」
・ローカル変数なのかメソッド呼び出しなのか
・ブロックなのかハッシュなのか
遅い
・ドキュメントが不十分
・用語集が無いよ
・Windows ユーザーがいつも置き去り
・既定の文字コード
・フリップフロップ ワケわかめ
2019/03/20(水) 03:20:23.93ID:wCjkLEuI
速度に関してはどんぐりの背比べ
2019/03/20(水) 03:22:38.74ID:oK7gZRvl
「Railsは終わった」と言われる理由
https://qiita.com/klriutsa/items/86ac5e94ec99c0d95b61#5-rubyという柔軟性の高い言語によって開発することができる

> Rubyは以下のような弱点があり、コードに問題のあるRailsプロダクトが多く生まれてしまいました。

・読みにくい
・Rubyしか触っていないエンジニアはある一定レベルで成長が止まる
・美しく書くという文化でしか質を担保する仕組みが無い
・Rubyの将来性
2019/03/20(水) 03:24:19.47ID:oK7gZRvl
1. 読みにくい
Rubyのコードは引数や返り値の定義がないため、実際に読んでみないと何が帰ってくるのかわからないです。
なのでコードリーディングに時間がかかりますし、バグの混入確率も高いです。
2019/03/20(水) 03:25:58.59ID:oK7gZRvl
2. Rubyしか触っていないエンジニアはある一定レベルで成長が止まる

Rubyという言語は型を全く定義しなくても動きますが、型を意識して書かなければ簡単に崩壊してしまいます。
しかし、型を意識する書き方というのはRubyでは学ぶことはできません。(一応学べるかもしれませんが、Rubyの型は他言語に比べて挙動の把握が難しいです)
このパラドックスにより、質の悪いRailsプロジェクトが生まれやすくなっています。
そのためRubyしか触っていないエンジニアは一定のレベルで成長が止まると考えています。

その他、クラスの継承、インターフェース、ビルダーパターン、リアクティブプログラミング、ジェネリクス、ラムダなどのパラダイムはRubyでは学ぶことはできません。
2019/03/20(水) 03:27:13.16ID:oK7gZRvl
3.美しく書くという文化でしか質を担保する仕組みが無い
Rubyは他人が書いたコードを読むのにエネルギーが要る言語だと思います。
型定義がある言語では入力と出力の形式がある程度定まっているので、比較的読みやすいです。
Rubyは返り値がどのような型になるかわからないので、メソッド名が妥当であるか?であったり、美しくわかりやすく書かれているかもしくは、テストを書いているか?が重要になってきます。

熟練者のコードは非常に読みやすいかもしれませんが、そうでない場合、コードリーディングが大変です。
こうしたコールドリーディングを簡単にするために、美しく書く文化やテストを書くという文化があるのですが、
どこまで美しく書くか、どの程度テストを書くかは属人的であるので、質が担保しにくいです。
追い打ちをかけるようにRubyは様々な書き方ができてしまうので、よりコードリーディングが難しくなります。
ダメなプログラミング言語の代名詞としてPHPが挙げられますが、それがRubyに置き換わる時が来るかもしれません
2019/03/20(水) 03:28:06.49ID:oK7gZRvl
4. Rubyの将来性
これは個人的な愚痴に近いのですが、Rubyの開発の方向性と現場で必要なものがだんだんと違ってきているのではないかと最近は感じています。

Ruby3では速く動作することが頻繁に取り上げられますが、実際にそれでいまエンジニアが抱えている問題が解決するのか・・・?と思ってしまいます。

Rubyでチーム開発しやすいように、型宣言などの開発者を支援するような機能もほしいなという声もあるのではないでしょうか。
2019/03/20(水) 03:30:23.84ID:oK7gZRvl
Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察
https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
2019/03/20(水) 03:37:06.36ID:oK7gZRvl
Rubyが今のPythonの地位にいない理由
http://shinh.skr.jp/m/?date=20160616
さて、本来PHPを学ぶべきだった人たちが、Railsファンになり、Rubyのカンファレンスに行き、エモい発表を聞いて二世三世になったのである。
こういう人達の中には残念ながら、技術的な背景が足りない人もいて、そういう人達が人類がコンピュータサイエンスとして培ってきた歴史とかをある程度把握しないままに、なんだか適当な発言をするのである。例えば「テストファーストはRuby発祥」的な。

そういう人達はどこの世界にもいるものだけど……Rails界隈には許容量を越える量で発生してしまった。で技術がわかるRails関係ない人の感想は残念ながら、「Ruby?あれなんかキモい。
Pythonで十分だし」みたいな感じになってしまったのであった。Hacker Newsから一例をひいてみよう。

https://news.ycombinator.com/item?id=5157886

"To me the biggest annoyance about the Ruby community is the belief that they invented everything"
「Rubyコミュニティの連中はヤツラが全てのことを発明したと信じてやがってムカつく」

"People don't hate ruby, people hate the ruby on rails community" "This" "+1 to this"
「Rubyが嫌いなんじゃなくて、Railsコミュニティが嫌いなんだよ」「それな」「ほんこれ」

いやあ……ひどい言われようである。こんな謎宗教みたいな扱いを受けてれば、ある程度規模の大きい企業、まぁデカいのではマイクロソフトとか、の人が採用しよう、って感じにはならない。
Webアプリフレームワークならともかく、他の分野ではPythonという十分に強い代替があるならなおさら。というわけで、Rubyが今のPython地位を確立できてない理由は「なんかキモそうだから」なのである。

一方で、Railsの勃興とエモい人の流入みたいなのが無ければRubyが今ほど流行ってたかというと……それもあやしいと思う。
この文章の前半部分でムダに書いた通り、Rails以前は知名度ゼロに近かったので、むしろRailsのおかげでRubyは本来集める予定だった以上の注目を集めている、という感もある。
2019/03/20(水) 03:37:20.12ID:6ln9W50J
もうちょっとまとめて
2019/03/20(水) 03:42:42.67ID:oK7gZRvl
Rubyの死?開発者はどの言語を学ぶべきか?
http://www.softantenna.com/wp/software/death-of-ruby/
Rubyの人気が低下している現在、開発者は別のプログラミング言語を習得したほうが良いという趣旨の考察を展開しています。

同記事はRubyの人気低下の証拠として、Indeedによる求人数でRubyの人気が9番目にまで低下しているとのこと、
IEEE Spectrumのプログラミング言語ランキングで、Rubyの順位が2014年の8位から2017年の12位まで低下していること、さらにCoding DojoでRubyコースが終了したことなど、幾つかの事実を挙げています。

またコンピューターサイエンス分野で関心が低いことや、Twitterを始めとした巨大企業がRailsの採用をやめたこと、Stack Overflowで関心が低下していることなども、Ruby人気が低下している具体例としてリストアップしています。

同記事では「Python」と「JavaScript」を学ぶべき言語として推奨しています。

Pythonは、Web開発やデータサイエンス、その他分野でここ数年急激に広まっており、Rubyと似たシンタックスを採用している部分もあるため、Ruby開発者にとっても習得しやすいプログラミング言語であると説明されています。

またJavaScriptは、全世界で最も使用されている言語であり、Node.js、AngularやReactといった強力なフレームワークによって、
バックエンドからフロントエンドまで幅広くカバーした、価値のあるプログラミング言語であるとされています。

IEEE Spectrumの2017年ランキングでもPython言語は1位となっていてこの主張はある程度納得できるところかもしれません。

同様に、JavaScriptの応用範囲の広さも、誰もが認めるところだと思います。
2019/03/20(水) 03:44:38.64ID:oK7gZRvl
RubyはPerlのようになる?
Rubyの今後に関しては、2008年頃から人気が低下したPerlを例にとって、人気は低下していくものの、完全になくなることはないと結論づけられています。
101デフォルトの名無しさん
垢版 |
2019/03/20(水) 09:01:56.76ID:nJGjaI7U
Rubyどうでもいいよ。Pythonの話しようよ。
2019/03/20(水) 09:14:33.76ID:wCjkLEuI
RubyをディスらなければPythonにメリットを見いだせない人なのでしょう
2019/03/20(水) 09:21:48.45ID:KzgtImdp
pythonの人気に嫉妬しながらも摺寄り、騙し、利用して宣伝しなければ生きていけない死にかけクソ言語とそれにハエ信者
2019/03/20(水) 10:43:32.91ID:24ejKjWR
pyautoguiであいまいな画像認識は可能でしょうか?
2019/03/20(水) 10:52:19.77ID:Y7BJ+cKS
>>104
アイデア力次第じゃね?
2019/03/20(水) 10:57:22.47ID:24ejKjWR
>>105
そういう関数があるわけではないのですね
ありがとうございます
2019/03/20(水) 12:26:41.18ID:LJEBRQCY
>>55
ありがとうございます!
パラメータを少しずつ変化させながら繰り返そうとしたら大変でしたので、
1つのクラスにまとめます
(まずPythonがネストを増やすたびにインテントを増やさなきゃいけないのは、そもそも深くするなってことでしょうし)
108デフォルトの名無しさん
垢版 |
2019/03/20(水) 12:42:35.11ID:OI8TGBSL
selfに何が出力されているのか確認できる超簡単なコードはないですか
アホですみません、、、
インスタンス自身と言われてもわからない

testclass()
↑これがインスタンス自身?
2019/03/20(水) 13:37:17.36ID:Y7BJ+cKS
>>107


>インデントについて
そのとおり
深くするな
インデントの深さは 闇の深さだ
2019/03/20(水) 13:42:32.33ID:Y7BJ+cKS
>>108
アンカーを省略するんじゃない

これ↓でも読んどけ
ttps://wa3.i-3-i.info/word1118.html
111デフォルトの名無しさん
垢版 |
2019/03/20(水) 15:43:52.30ID:jMIYtB7h
>81
rubyってperlやC++の糞なところに嫌気が差して造り始めた(Matz)のに
perlやC++以上の糞なものが出来てしまった感
112デフォルトの名無しさん
垢版 |
2019/03/20(水) 15:45:39.55ID:jMIYtB7h
>>84
「かもしれない」
じゃなくて
衰退する
断言する
2019/03/20(水) 16:00:12.64ID:xpDuuMJR
今勉強している参考書に
return;
って書いてあったんだけどこれってオカシイかな?
2019/03/20(水) 16:02:32.78ID:KzgtImdp
それだいぶ古い記事だから。
結果は出たじゃん。衰退した。
だから人気言語のスレで初心者騙して衰退世界に引擦り込もうと詐欺行為を働いてるわけ。
115デフォルトの名無しさん
垢版 |
2019/03/20(水) 16:02:42.89ID:jMIYtB7h
python系の野良ブログとかのサンプルは
余計な;ついてるコード多いよ
2019/03/20(水) 16:27:14.92ID:xpDuuMJR
>>115
ありがとう。じゃあやっぱりこの ; は要らないんだね
この12歳からはじめる、、、って本記述ミスが多いんだよなぁ
117デフォルトの名無しさん
垢版 |
2019/03/20(水) 16:38:42.98ID:jMIYtB7h
間違いの全く無い教科書より
間違ってる教科書の方が勉強になる
と言ってた先輩が居たな
2019/03/20(水) 17:03:48.50ID:JH/CIXVH
その先輩はアフォ
2019/03/20(水) 17:45:30.18ID:mjOwP74k
おかしいかどうかは自分でコード描いて実行してみれば良い

エラーが出れば、間違い(有害的記載事項)
エラーが出なければ、それでもOK
;があってもなくても動くのならOK(無害的記載事項)
;がないと動かないのなら必要的記載事項
;があるとないとで異なる動きをするのなら、その;には独自の意味があるのだから、有益的記載事項


つまり、ここで聞かなくても自分でコード描いて実行してみれば答えが得られる
120デフォルトの名無しさん
垢版 |
2019/03/20(水) 18:30:13.87ID:OI8TGBSL
>>110
python の場合は
Class()
などとしたものがインスタンスですよね?
インスタンス自身がselfに入るというのが理解できないのですが、どういった状態がselfにインスタンス自身が入るということなんでしょうか
2019/03/20(水) 18:34:05.47ID:9t7s3Kng
そんなにきになるなら
print(self)
2019/03/20(水) 18:34:31.94ID:Y7BJ+cKS
>>120
ちょっとずれてないか

クラスはクラス
クラスを召喚してきたものがインスタンス

これもよめ
ttps://qiita.com/msk02/items/60ea1bd5824fca134323
123デフォルトの名無しさん
垢版 |
2019/03/20(水) 18:36:23.30ID:OI8TGBSL
>>120
class = Class()
などとしてインスタンス化したものと同じものが入っていることがわかりましたが、それによってどういう効果があるのかイメージできませ
2019/03/20(水) 18:39:04.93ID:6ln9W50J
>>120
逆にselfが無い場合を考えてみれば良い
自分のメソッドやプロパティにアクセスできなくなり、
利便性が極端に落ちる

で、これを聞けば無くても書くことはできるって思うんだろう
そう、書くことはできるが不便
利便性のために存在する
selfがない言語とかクソ過ぎて使う気にならん

とにかく気にせずに使えば良い。そのうち分かる
2019/03/20(水) 18:43:07.68ID:Y7BJ+cKS
>>123
アンカー間違ってるぞ

124がイイ!!(・∀・)こと言ってるが

具体的にプログラム書いてみて、
ないと困る実感が生じない限り
イメージできないとか
わかんねー感覚は消えないんだろう。

とにかく何かプログラムをかけ。クラスがいくつかあるようなやつだ。
かいてみそ。
かけばわかるようになる、かもしれない。
書いてみない限りはイメージできないままだ。
126デフォルトの名無しさん
垢版 |
2019/03/20(水) 19:41:58.67ID:OI8TGBSL
↑ありがとうございました
とりあえず1つ用途がわかりました
他の関数からメンバ関数(initはメンバ関数とよんでいいんですよね?)にアクセスするために使うんですね
class MyClass:
def __init__(self):
#メンバ変数
n = 1111
def get_self_id(self):
print(n)

mc = MyClass()
2019/03/20(水) 19:46:19.10ID:Y7BJ+cKS
わかってなにより
だがしかし
5ちゃんにおけるインデントについては
まだ理解してないんだな
128デフォルトの名無しさん
垢版 |
2019/03/20(水) 20:06:20.00ID:PLP6AfKj
>>126
self.nにしないとmc.get_self_id()でエラー
2019/03/20(水) 21:32:39.53ID:sUcJ4lOd
https://i.imgur.com/TLNHRpg.jpg
2019/03/20(水) 22:01:41.47ID:SonzdXCJ
楽天って英語公用語化に続いてプログラミングを社員に強制するそうじゃん
しかも今更Javaとか
せめてPythonにしとけよ
https://web.smartnews.com/articles/fJhMxPYC7Sv
退職させたい人にアンドロイドアプリを作らせて
できなかったら退職するよう仕向ける気じゃないだろうな。
2019/03/20(水) 22:11:32.69ID:sUcJ4lOd
Google のように独自言語作らない時点でJAP企業の限界が見える
2019/03/21(木) 03:03:01.22ID:7H/hg7Lf
世界レベルで業界に影響力を持つ企業が存在しないのだから作っても意味ない
2019/03/21(木) 03:36:21.67ID:7H/hg7Lf
社内でしか使われない珍言語になって開発効率が落ちるだけ
134デフォルトの名無しさん
垢版 |
2019/03/21(木) 10:47:48.07ID:yLWBHIB/
pythonのリスト使ってみたんですが、pythonではカッコつきのまま表示されるんでしょうか?http://www.isl.ne.jp/pcsp/python/python10.html
135デフォルトの名無しさん
垢版 |
2019/03/21(木) 10:50:49.61ID:yLWBHIB/
なんだforで回すだけですか
vs codeで謎のエラーが出てました
136デフォルトの名無しさん
垢版 |
2019/03/21(木) 11:33:30.84ID:tu8B3kqR
>>134
そう
137デフォルトの名無しさん
垢版 |
2019/03/21(木) 12:04:52.08ID:jEHADO0u
>>134
そのサイト参考にしないほうがいいよ
2019/03/21(木) 15:59:11.13ID:jAL4OyhK
なんかおかしいなと思ったら2.7系のサイトだった
読むなこんなもん
139デフォルトの名無しさん
垢版 |
2019/03/21(木) 16:35:02.89ID:yLWBHIB/
はい
2019/03/21(木) 18:00:49.01ID:GE5MQuH9
はいじゃないが
141デフォルトの名無しさん
垢版 |
2019/03/21(木) 19:26:49.76ID:yLWBHIB/
http://codepad.org/hBiVOKpg
self野郎なんですが、インスタンス自身がselfに渡されることで変数が同じクラス内で共有出来るってことだと思うんですが、インスタンス自身が渡されることでなぜ共有できるようになるんですか?
なんかわかりやすい例えないですかね?

a = tes("aaa")がインスタンス
このインスタンスがどういう形で渡されているのか調べる方法はありませんか?
2019/03/21(木) 19:28:00.72ID:8bsaWjVO
>>141

print(a)
2019/03/21(木) 19:28:55.88ID:Ku3+gGvP
print(tes("aaa"))
144デフォルトの名無しさん
垢版 |
2019/03/21(木) 19:29:34.33ID:yLWBHIB/
ちなみにこのaをprintしても場所っぽいメッセージが出てくるだけです
2019/03/21(木) 19:32:20.40ID:3b986hBs
インスタンスはね、a と言うんだ本当はね
だけど小ちゃいから自分のことself って呼ぶんだよ
可笑しいな selfちゃん
2019/03/21(木) 19:32:57.10ID:3b986hBs
>>144

a は場所を参照してるから
147デフォルトの名無しさん
垢版 |
2019/03/21(木) 19:34:31.84ID:yLWBHIB/
<__main__.tes object at 0x01071D30>
といった場所?が渡されていることで、なぜクラス内で変数を共有できるようになるのかわからないのです

>>145
そっちがインスタンスということで理解します
2019/03/21(木) 19:37:23.77ID:cyLDjoYG
でもクラス外から呼ぶときは、self なんて子供が使うような呼び名を使ってはいけないぞ
ちゃんと苗字a 、関数名前 で呼べ

それが社会常識ってもんよ
2019/03/21(木) 19:37:34.32ID:VTQPNSsp
参照変数という考え方を学んだほうがいい
javaでの説明だけど、ここのサイトが分かりやすい

http://www.kab-studio.biz/Programing/OOPinJava/
2019/03/21(木) 19:42:42.24ID:susRoq6I
そこまで考え出すと、逆にかなり難しくなるんじゃないかな
pythonはCのラッパーだから、あまり低級な事を考えるとラッパーとしてどうなっているかも考える必要が出てくる
俺もラッパーとしてどう動いてるかなんて考えない。学習コストとリターンが全く見合ってない
2019/03/21(木) 19:43:35.16ID:1P02QAf5
self はjava, C のself と紛らわしいので
我が家の(wagayano)

にしてみた。


https://i.imgur.com/374iPeL.jpg
2019/03/21(木) 19:43:48.37ID:eKH7lBgF
Pythonで説明してくれてるとこあったぞぬ
ttps://crimnut.hateblo.jp/entry/2018/09/05/070000

self野郎くんはもうコテハン「self野郎」って名乗っちゃっておkだとおもうの
2019/03/21(木) 19:53:08.53ID:1P02QAf5
yamada の 2222が出てくる

https://i.imgur.com/ZRmsej3.jpg
2019/03/21(木) 19:57:56.42ID:pNXTHJSM
どうしてリストなどには属性をくっつけられないんだろう
a = []
a.x = 1
AttributeError: 'list' object has no attribute ‘x’
2019/03/21(木) 19:58:16.98ID:KkuZPOOG
>>152
セルフ野郎って違うモノを想像しちゃって嫌だわぁw
2019/03/21(木) 20:16:30.57ID:fbHrFGME
kivyを使う時にjupyter notebookだと画面が乱れてしまって上手く動きません
pyファイルを作ってコマンドからならちゃんと動くんだけど効率が悪いです。
jupyter notebookのような代替ソフトを知りませんか?m(_ _)m
2019/03/21(木) 20:23:33.14ID:eKH7lBgF
>>156
OS書けよ
158デフォルトの名無しさん
垢版 |
2019/03/21(木) 20:23:39.72ID:yLWBHIB/
ありがとう
勉強してきます
2019/03/21(木) 20:26:59.01ID:eKH7lBgF
>>155はエロいやつw
2019/03/21(木) 20:27:36.58ID:eKH7lBgF
>>154
後付け反対! ε=(`・ω・´)
2019/03/21(木) 21:01:07.00ID:/qmYOdp9
どこの串カツ屋だよ
後付けくらい許してやれよ
162デフォルトの名無しさん
垢版 |
2019/03/21(木) 21:04:49.41ID:yLWBHIB/
selfに参照渡しされるアドレスってのはインスタンスといいますが、インスタンスの引数のアドレスことではないのですか?
2019/03/22(金) 04:34:23.47ID:4np0yjmV
[100,200,-50,150,-100]

こんな感じで一日毎のFXの収支が入った配列があった時
要素を順番に足して収支が積み上がるような配列を作りたいんだけど。。。

0+100=100
100+200=300
300+(-50)=250
250+150=400
400+(-100)=300

こんな計算をして

[100,300,250,400,300]

こんな配列を作りたいんだけどいい方法教えてエロい人
forとか使わないでシンプルなので頼んます><
164デフォルトの名無しさん
垢版 |
2019/03/22(金) 05:21:41.85ID:jRDRMKF2
cumsum
2019/03/22(金) 05:29:25.13ID:4np0yjmV
>>164
うわぁ、ありがとう
僕がイメージしてた通りの関数でした!!
ぜひ使わせていただきます
166デフォルトの名無しさん
垢版 |
2019/03/22(金) 05:30:39.63ID:khPW0F9t
>>163
普通にnumpyで加算すれば良いだけでは?
2019/03/22(金) 05:36:51.58ID:4np0yjmV
>>166
numpyのcumsumですね!
できました
2019/03/22(金) 11:46:18.44ID:ZTaR0qbl
前にも書き込ませていただいたものですが、
gtk3+python+webkit2でepubビューアを作っているのですが、現在のスクロール位置を取得したいのですが、

y_pos_js ="var x; x=document.body.scrollTop"
def js_run(self, js_name, js_return=True):

run_js_finish = self._js_finish if js_return else None
self.viewer.view.run_javascript(js_name, None, run_js_finish, None);

def _js_finish(self, webview, result, user_data=None):
js_result = self.viewer.view.run_javascript_finish(result)
if js_result is not None:

value = js_result.get_js_value()
self.js_value = value.to_double()

print((self.js_value))

と書いても、0.0となってしまい、値を取得できません。
ひょっとすると、
https://havelog.ayumusato.com/develop/javascript/e332-android_scrolltop_refresh_delay.html
ここのページにあるようにdocument.body.scrollTopは即座に反映されないのかもしれませんが(情報が古い?)、
javascirptがわからずどうすることもできません。
pythonのtimeで遅延させても無駄なようで、javascirptの方で遅延させるしかないのでしょうか?
どなたかお知恵を拝借できると幸甚です。

https://stackoverflow.com/questions/52870923/webkit2-and-domdocument-javascriptcore-python3
上のpythonスクリプトの元ネタはここです。
2019/03/22(金) 12:54:11.57ID:mlxJ4y7J
document.documentElement.scrollTop
2019/03/22(金) 13:10:50.39ID:ZTaR0qbl
var x; x = window.scrollY;
としたら機能しました。どうもお騒がせしました。
171デフォルトの名無しさん
垢版 |
2019/03/22(金) 13:15:44.38ID:vKzweDfk
この本ほかの本よりメリットどこにあるですか
https://www.amazon.co.jp/dp/4873117984
2019/03/22(金) 13:21:26.19ID:g5h3mGP7
Ruby で、Selenium WebDriver なら、
execute_script で直接、JavaScript の命令文を実行できる

TOPまでスクロール
execute_script('window.scroll(0,1);')

BOTTOMまでスクロール
execute_script('window.scroll(0,10000);')
2019/03/22(金) 13:36:48.19ID:f/f2Qmpp
>>172
クソ言語ruby勧めるのやめて
2019/03/22(金) 13:59:52.41ID:E/4CSIEY
>>172
死ね
2019/03/22(金) 14:04:08.80ID:aiMUayIq
>>173
seleniumはjava製ソフトで各種言語にドライバーが出てる。
pythonやnode向けドライバーのほうがよっぽど利用者多くてよくメンテされてる。
クソ言語信者は他人のフンドシで相撲とってるだけ。
java製ソフトにjavascript実行させてるのを誇るというギャグw
176172
垢版 |
2019/03/22(金) 15:07:59.51ID:g5h3mGP7
Ruby で、Nokogiri, Selenium WebDriver なら、
execute_script で直接、JavaScript の命令文を実行できる

jQuery も実行できるから、CSS Selector で検索もできる。
複雑な検索は、Nokogiri で、Xpath でも良いし

jsCode = <<"EOT"
var text = $( "#btn1" ).text( );
$( "#parent" ).append( text );
EOT

# JavaScript を実行
driver.execute_script jsCode
2019/03/22(金) 15:13:48.49ID:E/4CSIEY
>>176
死ね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況