★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その40
http://mevius.5ch.net/test/read.cgi/tech/1542874174/
◆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(超初心者用) その41【Ruby禁止】
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2019/02/04(月) 21:22:10.08ID:9MrdxUVg892デフォルトの名無しさん
2019/03/16(土) 00:53:29.77ID:lomlnXfv !?
893デフォルトの名無しさん
2019/03/16(土) 06:12:09.99ID:MtyeuN+5 可能
pythonに不可能は無い
pythonに不可能は無い
894デフォルトの名無しさん
2019/03/16(土) 10:56:59.10ID:Eza8KstC >>891 iOS なら、Pythonista で簡単にアプリを作れるぞ。
Androidでもできるだろ。
そもそもiOSだと、C#じゃなくObjective-C やSwift になるからかなり垣根は高いぞ。
因みにPythonista からはObjective-C のライブラリを使うこともできるし自由に呼び出すこともできる。
なお、scikit-learn そのものをPythonistaで使うことはできない。 numpy は使えるが、scipy がインストールできない。
Androidでもできるだろ。
そもそもiOSだと、C#じゃなくObjective-C やSwift になるからかなり垣根は高いぞ。
因みにPythonista からはObjective-C のライブラリを使うこともできるし自由に呼び出すこともできる。
なお、scikit-learn そのものをPythonistaで使うことはできない。 numpy は使えるが、scipy がインストールできない。
895デフォルトの名無しさん
2019/03/16(土) 11:10:13.00ID:INaBYg0f いやC#つってんだからUnityで作るんだろJK
あれゲーム作るの簡単だからいいよな〜
あれゲーム作るの簡単だからいいよな〜
896デフォルトの名無しさん
2019/03/16(土) 11:18:22.65ID:mXGVm9Ao897デフォルトの名無しさん
2019/03/16(土) 11:20:10.33ID:mXGVm9Ao Unityって物理エンジンですよね?
scikit-learnのように機械学習もできるのですか?
scikit-learnのように機械学習もできるのですか?
898デフォルトの名無しさん
2019/03/16(土) 11:31:31.62ID:Slvebd/s 学習機能は通信を介したサービスとして提供したら
scikit-learnはサーバー側で動いてりゃ良いんだし
scikit-learnはサーバー側で動いてりゃ良いんだし
899デフォルトの名無しさん
2019/03/16(土) 11:44:44.11ID:+8YpvTs6900デフォルトの名無しさん
2019/03/16(土) 11:48:05.65ID:d/4KgbH7 じゃんけんするのにサーバーと通信するのは草
でもいまどきそんなもんなのか?
でもいまどきそんなもんなのか?
901デフォルトの名無しさん
2019/03/16(土) 11:52:33.53ID:+8YpvTs6 さすがに半分テストアプリだと思うけど、既に超敷居が高い
902デフォルトの名無しさん
2019/03/16(土) 11:53:42.85ID:mXGVm9Ao 機械学習の移植は難しいものなんですね。
サーバーにPythonを置けばいいのですね。
ありがとうございます。
サーバーにPythonを置けばいいのですね。
ありがとうございます。
903デフォルトの名無しさん
2019/03/16(土) 11:58:21.60ID:eO5a7zjy 学習からC#でやり直すわけにはいかないの?
オブジェクト指向の機械学習ライブラリなんて言語によらず使い方似てるからそっちのが楽じゃない?
オブジェクト指向の機械学習ライブラリなんて言語によらず使い方似てるからそっちのが楽じゃない?
904デフォルトの名無しさん
2019/03/16(土) 12:01:14.33ID:eO5a7zjy 「Unity 機械学習」
でググってもいろいろでてくるし
でググってもいろいろでてくるし
905デフォルトの名無しさん
2019/03/16(土) 12:05:08.07ID:mXGVm9Ao C#で機械学習ですか!
scikit-learnがすごく簡単だったのでscikit-learnで出来たらと考えてました。
使い方が似ているのならその選択も検討してみます。
ありがとうございます。
scikit-learnがすごく簡単だったのでscikit-learnで出来たらと考えてました。
使い方が似ているのならその選択も検討してみます。
ありがとうございます。
906デフォルトの名無しさん
2019/03/16(土) 12:12:34.74ID:Eza8KstC せっかくPython の勉強を始めたんだから、Python でゲーム開発までやれば良いのに、じゃんけんアプリなんて簡単でしょ。
どんなPython ゲームライブラリが適切なのかは知らないけど。
どんなPython ゲームライブラリが適切なのかは知らないけど。
907デフォルトの名無しさん
2019/03/16(土) 12:14:27.10ID:SlIDoTSl selfについて何度も聞いてるカスなんですが、まだ意味が理解できてません
このコードの場合どういった意味を持ちますか?
インスタンス自身と言われてもイメージがつきません
記憶領域という説明も見たことがありますが、これはどういう意味でしょうか
http://codepad.org/rOzHcmIX
class apple:
def __init__(self,price,weight):
self.p = price
self.w = weight
def print(self):
print(self.p)
print(self.w)
s = apple("100yen","300g")
s2 = apple("1000yen","1000g")
s.print()
s2.print()
このコードの場合どういった意味を持ちますか?
インスタンス自身と言われてもイメージがつきません
記憶領域という説明も見たことがありますが、これはどういう意味でしょうか
http://codepad.org/rOzHcmIX
class apple:
def __init__(self,price,weight):
self.p = price
self.w = weight
def print(self):
print(self.p)
print(self.w)
s = apple("100yen","300g")
s2 = apple("1000yen","1000g")
s.print()
s2.print()
908デフォルトの名無しさん
2019/03/16(土) 12:15:53.61ID:SlIDoTSl 訂正です
×このコードの場合どういった意味を持ちますか?
○このコードのようにselfを使うメリットはなんですか?
×このコードの場合どういった意味を持ちますか?
○このコードのようにselfを使うメリットはなんですか?
909デフォルトの名無しさん
2019/03/16(土) 12:24:28.76ID:Eza8KstC Android ならQpython にはKivy がバンドルされてるらしいし、kivy で良いんじゃないの?
910デフォルトの名無しさん
2019/03/16(土) 12:29:58.42ID:+8YpvTs6 >>907
コードが変なので修正した
http://codepad.org/L0lJBrzg
メモリ上のデータをイメージできれば簡単に理解できるんだけどね
インスタンスとか言っても逆に分からんだろうな
https://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/C++2/09/09-02.html
http://cpp.aquariuscode.com/class-memory-layout
コードが変なので修正した
http://codepad.org/L0lJBrzg
メモリ上のデータをイメージできれば簡単に理解できるんだけどね
インスタンスとか言っても逆に分からんだろうな
https://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/C++2/09/09-02.html
http://cpp.aquariuscode.com/class-memory-layout
911デフォルトの名無しさん
2019/03/16(土) 12:38:34.92ID:mXGVm9Ao >>906
Pythonは機械学習やディープラーニングを始めたくて最近勉強し始めました。
勉強してくうちにアプリを公開したいと思うようになった次第ですw
GUIはC#の方が簡単そうなので2つの言語をうまく連携できればと思ったのですが、
難しいようですね。
もちろんPythonはこれからも使いたいと思います!
Pythonは機械学習やディープラーニングを始めたくて最近勉強し始めました。
勉強してくうちにアプリを公開したいと思うようになった次第ですw
GUIはC#の方が簡単そうなので2つの言語をうまく連携できればと思ったのですが、
難しいようですね。
もちろんPythonはこれからも使いたいと思います!
912デフォルトの名無しさん
2019/03/16(土) 12:58:16.11ID:Cc4OYSLe >>907
まず自分でクラス書く前にライブラリでクラス使ってみたらわかるだろ
pandasのチュートリアルとか何でもいいけどインスタンス作ってメソッド使ってインスタンス変数参照したらself何なのかも見えてくる メモリ上の何とかなんか意識しなくていい
まず自分でクラス書く前にライブラリでクラス使ってみたらわかるだろ
pandasのチュートリアルとか何でもいいけどインスタンス作ってメソッド使ってインスタンス変数参照したらself何なのかも見えてくる メモリ上の何とかなんか意識しなくていい
913デフォルトの名無しさん
2019/03/16(土) 13:11:48.23ID:eO5a7zjy 「入門python3」を一冊買ってやろう。
914デフォルトの名無しさん
2019/03/16(土) 18:05:24.13ID:fe/BGgDT vscodeとintellijのpython機能で試したのですが
awsのsdk boto3でインスタンス化したクライアントに対してオートコンプリートを働くようにするのってどうしたらよいでしょうか?
以下のようにして変数cを作っても、変数cをBaseClient型としか認識してくれないので、s3関連のメソッドがオートコンプリートで出てきてくれません。
c = boto3.client('s3')
もちろん実行時はちゃんとs3の型になるのでコードを動かす事は出来るのですが、オートコンプリート無しはちょっときついので、なんとかして出す方法があれば教えてください。
awsのsdk boto3でインスタンス化したクライアントに対してオートコンプリートを働くようにするのってどうしたらよいでしょうか?
以下のようにして変数cを作っても、変数cをBaseClient型としか認識してくれないので、s3関連のメソッドがオートコンプリートで出てきてくれません。
c = boto3.client('s3')
もちろん実行時はちゃんとs3の型になるのでコードを動かす事は出来るのですが、オートコンプリート無しはちょっときついので、なんとかして出す方法があれば教えてください。
915デフォルトの名無しさん
2019/03/16(土) 18:30:45.43ID:SlIDoTSl916デフォルトの名無しさん
2019/03/16(土) 18:36:03.43ID:YxxaJZky >>914
型アノテーションで変数の型を明示的に指定する
型アノテーションで変数の型を明示的に指定する
917デフォルトの名無しさん
2019/03/16(土) 18:53:42.59ID:+8YpvTs6 >>915
・インスタンスを作成
・メモリ領域を確保
・self=インスタンス
この辺はもう全部イコールで考えても構わない
例外的にstaticやglobalでインスタンス外にメモリ領域を確保することも出来るけど
図で言うとこんな感じ
https://i.imgur.com/gNRp6HQ.png
・インスタンスを作成
・メモリ領域を確保
・self=インスタンス
この辺はもう全部イコールで考えても構わない
例外的にstaticやglobalでインスタンス外にメモリ領域を確保することも出来るけど
図で言うとこんな感じ
https://i.imgur.com/gNRp6HQ.png
918デフォルトの名無しさん
2019/03/16(土) 19:28:51.03ID:sQCNGdE3 >>915
インスタンスを作った時点でメモリが確保は良い。でも確保にselfは関係ない
内部だと__init__より前に__new__が呼び出され、そこでメモリ確保が行われる
語弊を恐れずに言ってしまえば、selfはそのメモリがどこか位置を示すものだ
メリットがどうとかじゃない、sとs2は同じ型だが別物だろう、それを区別するために必要なんだ
インスタンスを作った時点でメモリが確保は良い。でも確保にselfは関係ない
内部だと__init__より前に__new__が呼び出され、そこでメモリ確保が行われる
語弊を恐れずに言ってしまえば、selfはそのメモリがどこか位置を示すものだ
メリットがどうとかじゃない、sとs2は同じ型だが別物だろう、それを区別するために必要なんだ
919デフォルトの名無しさん
2019/03/16(土) 19:33:23.24ID:1feDyboY920デフォルトの名無しさん
2019/03/16(土) 20:16:22.51ID:SlIDoTSl >>917
>>918
ありがとうございます
あれ?これってもしかしてポインタというやつなんですか?pythonの場合そういった呼ばれ方は見たことがありませんが
https://wa3.i-3-i.info/word12815.html
>>918
ありがとうございます
あれ?これってもしかしてポインタというやつなんですか?pythonの場合そういった呼ばれ方は見たことがありませんが
https://wa3.i-3-i.info/word12815.html
921デフォルトの名無しさん
2019/03/16(土) 20:31:38.84ID:INaBYg0f 山椒
922デフォルトの名無しさん
2019/03/16(土) 21:47:12.09ID:+8YpvTs6 >>920
似たようなもんで「参照」
ポインタと参照の違い
https://qiita.com/agate-pris/items/05948b7d33f3e88b8967
http://cocodrips.hateblo.jp/entry/2015/12/08/221722
メモリ上にインスタンスが展開されてるイメージができれば大体ok
似たようなもんで「参照」
ポインタと参照の違い
https://qiita.com/agate-pris/items/05948b7d33f3e88b8967
http://cocodrips.hateblo.jp/entry/2015/12/08/221722
メモリ上にインスタンスが展開されてるイメージができれば大体ok
923デフォルトの名無しさん
2019/03/16(土) 22:04:48.14ID:/h3gEsxd C言語使わない人にその教え方はどうなのよ。悪いことは言わないから「入門python3」を買って一通りやろう。
924デフォルトの名無しさん
2019/03/16(土) 22:11:31.40ID:431M+yCA 入門python3ってあんまりレビューが良くないね
925847
2019/03/16(土) 23:16:52.98ID:1E15fsAJ インスタンスや、self がわからないの?
オブジェクト指向の基本だよ
self は、そのインスタンスを指す。
Ruby では、
class Cat
def initialize( name, weight )
@name = name
@weight = weight
end
end
p bob = Cat.new( "bob", 5 )
p alice = Cat.new( "alice", 4 )
new で、Cat というひな形から、各インスタンスを作る(実体化)
bob は、<Cat: @name="bob", @weight=5>
alice は、<Cat: @name="alice", @weight=4>
Rubyの、@name = name が、Python では、self.name = name になる。
Rubyではインスタンス変数は、@ で表すけど、pythonではself を付ける
インスタンス変数とは、各インスタンスで異なる部分。
一方、クラス変数とは、そのクラス(すべてのインスタンス)で共通の部分。
Rubyでは一々、selfを付けなくても良いように、Rubyの実装を、かなり頑張って作っている。
self.name よりも、@name の方がわかりやすいから!
オブジェクト指向・関数型は、Rubyで学んだ方がよい。
Python, JavaScript, Kotlin にも応用できるから
オブジェクト指向の基本だよ
self は、そのインスタンスを指す。
Ruby では、
class Cat
def initialize( name, weight )
@name = name
@weight = weight
end
end
p bob = Cat.new( "bob", 5 )
p alice = Cat.new( "alice", 4 )
new で、Cat というひな形から、各インスタンスを作る(実体化)
bob は、<Cat: @name="bob", @weight=5>
alice は、<Cat: @name="alice", @weight=4>
Rubyの、@name = name が、Python では、self.name = name になる。
Rubyではインスタンス変数は、@ で表すけど、pythonではself を付ける
インスタンス変数とは、各インスタンスで異なる部分。
一方、クラス変数とは、そのクラス(すべてのインスタンス)で共通の部分。
Rubyでは一々、selfを付けなくても良いように、Rubyの実装を、かなり頑張って作っている。
self.name よりも、@name の方がわかりやすいから!
オブジェクト指向・関数型は、Rubyで学んだ方がよい。
Python, JavaScript, Kotlin にも応用できるから
926デフォルトの名無しさん
2019/03/16(土) 23:27:14.53ID:DylECkfT >>925
> self.name よりも、@name の方がわかりやすいから!
アピールポイントそれだけ?
@がメンバ変数を表すなんて知らなきゃ分からんし、直感でも何となく察せるself.〜の方が分かりやすいと思うが
> self.name よりも、@name の方がわかりやすいから!
アピールポイントそれだけ?
@がメンバ変数を表すなんて知らなきゃ分からんし、直感でも何となく察せるself.〜の方が分かりやすいと思うが
927デフォルトの名無しさん
2019/03/16(土) 23:28:24.96ID:1G1aklbm 自分もPython初心者だけど
ttps://www.python-izm.com
ここのサイトめちゃくちゃわかり易かったので載せときたす。
ttps://www.python-izm.com
ここのサイトめちゃくちゃわかり易かったので載せときたす。
928デフォルトの名無しさん
2019/03/16(土) 23:35:31.32ID:8PxPizsB929デフォルトの名無しさん
2019/03/17(日) 00:17:39.16ID:oRKycfKe >>925
なんでJavaないの? 理解できなかったの?
なんでJavaないの? 理解できなかったの?
930デフォルトの名無しさん
2019/03/17(日) 01:42:26.25ID:ttbbgHOa chromeの拡張機能を自動操作することは可能ですか?
931デフォルトの名無しさん
2019/03/17(日) 02:01:28.71ID:QLspzkYx >>937 ちらっとのぞいてみたが、目次が良くないね。
最初から順を追って進めて行く人にとっては良いかもしれないけど。
最初から順を追って進めて行く人にとっては良いかもしれないけど。
932デフォルトの名無しさん
2019/03/17(日) 02:05:09.07ID:nMZPqZIX 937に期待
933デフォルトの名無しさん
2019/03/17(日) 02:05:36.23ID:pyRBRMBz >>924
どこのレビュー?Amazon見る限りは良さそうだけど…
どこのレビュー?Amazon見る限りは良さそうだけど…
934デフォルトの名無しさん
2019/03/17(日) 05:27:50.39ID:nAjwMdDd >>922
ありがとう
ありがとう
935デフォルトの名無しさん
2019/03/17(日) 07:33:20.83ID:nAjwMdDd https://wa3.i-3-i.info/word16070.html
こういう説明がわかりやすいのに、、、
こういう説明がわかりやすいのに、、、
936デフォルトの名無しさん
2019/03/17(日) 07:39:55.25ID:nAjwMdDd 変数がメモリ上にあって、その変数の場所を渡すのが参照わたし=self
ということでいいんですか?
ということでいいんですか?
937デフォルトの名無しさん
2019/03/17(日) 08:24:23.53ID:HhaziKqA 参照渡しがどうこうはとりあえず忘れろ
今までの流れには全く関係ないから
今までの流れには全く関係ないから
938デフォルトの名無しさん
2019/03/17(日) 08:25:15.86ID:HhaziKqA 今までの流れってのはselfの話な
939デフォルトの名無しさん
2019/03/17(日) 08:37:05.58ID:Udd8jK7+940デフォルトの名無しさん
2019/03/17(日) 08:41:05.15ID:nAjwMdDd >>937
えっ?関係ないのですか、、、
えっ?関係ないのですか、、、
941デフォルトの名無しさん
2019/03/17(日) 11:18:35.50ID:oeP02mQD Pythonではすべてが値渡しだ
そしてすべての値が所謂参照型だってだけ
そしてすべての値が所謂参照型だってだけ
942デフォルトの名無しさん
2019/03/17(日) 11:41:11.52ID:R43k4iG5 内部的に参照渡しみたいなもんなんだからメモリの概念教えないと永久に理解できなく内科?
943デフォルトの名無しさん
2019/03/17(日) 11:57:02.77ID:X1cUtWYO 参照渡しってどこが
944デフォルトの名無しさん
2019/03/17(日) 12:00:59.08ID:X1cUtWYO 参照渡しについて
C#のrefみたいなのを参照渡しと呼ぶ勢と
C++のhoge&みたいなのを参照渡しと呼ぶ勢がいるので
ややこしい
C#のrefみたいなのを参照渡しと呼ぶ勢と
C++のhoge&みたいなのを参照渡しと呼ぶ勢がいるので
ややこしい
945デフォルトの名無しさん
2019/03/17(日) 12:08:17.15ID:iuUxAYpH 一子相伝究極奥義「参照渡し」
946デフォルトの名無しさん
2019/03/17(日) 12:11:50.92ID:Udd8jK7+ 値渡しと参照渡しと参照の値渡しがあるんだっけ
947デフォルトの名無しさん
2019/03/17(日) 12:12:20.76ID:nAjwMdDd >>941
値渡しということはコピーということですかね
値渡しということはコピーということですかね
948デフォルトの名無しさん
2019/03/17(日) 12:14:55.90ID:7j/Zhhp5 大地参照も変換できない糞スマホの糞IME
949デフォルトの名無しさん
2019/03/17(日) 12:15:53.60ID:vfP8HMqf 大地讃頌
950デフォルトの名無しさん
2019/03/17(日) 12:21:40.62ID:XvGPMByn951デフォルトの名無しさん
2019/03/17(日) 15:27:46.05ID:9wVKFPUf >>935-936
いやさ、記憶領域の話をし出すから皆メモリの話をした訳だけど
ポインタとか言い出すと、Python上にはポインタは無いけど
CPython等の実装は変数が全てポインタで実体に対する参照なの
参照渡しというと普通は変数に対する参照を言うので関係ないし
変数が入れ物とはC言語などのスタック変数を前提としてしまってる
そもそも実装以前に、OOPどころか構造体的な概念も分かってないのでは?
いやさ、記憶領域の話をし出すから皆メモリの話をした訳だけど
ポインタとか言い出すと、Python上にはポインタは無いけど
CPython等の実装は変数が全てポインタで実体に対する参照なの
参照渡しというと普通は変数に対する参照を言うので関係ないし
変数が入れ物とはC言語などのスタック変数を前提としてしまってる
そもそも実装以前に、OOPどころか構造体的な概念も分かってないのでは?
952デフォルトの名無しさん
2019/03/17(日) 18:00:19.80ID:oeP02mQD >>936
こういう簡単なクラスで考えてみる
class MyClass:
def __init__(self, name):
self.name = name
def getname(self):
return self.name
コンストラクタで名前を受け取って、自身のnameプロパティにセットする
getnameメソッドでは自身の名前を返す簡単なクラス
このクラスの使い方は以下
a = MyClass("John")
a.getname() // 出力 'John'
ただしこういう風にも書ける
a = MyClass("John")
MyClass.getname(a) // 出力 'John'
Pythonのインスタンスメソッドは単なる関数もしくはスタティックメソッドみたいなものだということがわかる
a.getname() は暗黙的に MyClass.getname(a) に置き換えられてると考えてもいい
こういう簡単なクラスで考えてみる
class MyClass:
def __init__(self, name):
self.name = name
def getname(self):
return self.name
コンストラクタで名前を受け取って、自身のnameプロパティにセットする
getnameメソッドでは自身の名前を返す簡単なクラス
このクラスの使い方は以下
a = MyClass("John")
a.getname() // 出力 'John'
ただしこういう風にも書ける
a = MyClass("John")
MyClass.getname(a) // 出力 'John'
Pythonのインスタンスメソッドは単なる関数もしくはスタティックメソッドみたいなものだということがわかる
a.getname() は暗黙的に MyClass.getname(a) に置き換えられてると考えてもいい
953デフォルトの名無しさん
2019/03/17(日) 18:01:31.22ID:oeP02mQD >>936
さらにselfというものがわかりやすいようにこのクラスを普通の関数と辞書型で再現してみる
def MyClass(name):
self = {}
__init__(self, name)
return self
def __init__(self, name):
self["name"] = name
def getname(self):
return self["name"]
a = MyClass("John")
getname(a) // 出力 'John'
これでだいたい再現できる
何が言いたいかというとMyClass()という関数が空のインスタンス(ここでは辞書だが)を作成して__init__に引数として渡している
たぶんPythonのクラスでも暗黙的にMyClass()という関数が生成されて間接的に__init__を呼び出している
つまりself(=MyClassのインスタンス)というのは暗黙的に作られたMyClass()関数内で作られているオブジェクトだと考えればいい
Pythonほとんどやったことないから想像で適当に言ってるだけだけどな
さらにselfというものがわかりやすいようにこのクラスを普通の関数と辞書型で再現してみる
def MyClass(name):
self = {}
__init__(self, name)
return self
def __init__(self, name):
self["name"] = name
def getname(self):
return self["name"]
a = MyClass("John")
getname(a) // 出力 'John'
これでだいたい再現できる
何が言いたいかというとMyClass()という関数が空のインスタンス(ここでは辞書だが)を作成して__init__に引数として渡している
たぶんPythonのクラスでも暗黙的にMyClass()という関数が生成されて間接的に__init__を呼び出している
つまりself(=MyClassのインスタンス)というのは暗黙的に作られたMyClass()関数内で作られているオブジェクトだと考えればいい
Pythonほとんどやったことないから想像で適当に言ってるだけだけどな
954デフォルトの名無しさん
2019/03/17(日) 19:53:26.49ID:UUXyH29G >>952
self.name = name
部分はself変数にnameプロパティがついている状態なんですか?
nameのほうが変数名かとおもっていましたが
self.nameとすることでnameプロパティを定義している という感じですかね
なんのためにあるのかわからないですが
self.name = name
部分はself変数にnameプロパティがついている状態なんですか?
nameのほうが変数名かとおもっていましたが
self.nameとすることでnameプロパティを定義している という感じですかね
なんのためにあるのかわからないですが
955デフォルトの名無しさん
2019/03/17(日) 21:13:22.59ID:pWnkPEfA >>953
デタラメな回答するの辞めーや
デタラメな回答するの辞めーや
956デフォルトの名無しさん
2019/03/17(日) 21:52:19.70ID:oeP02mQD >>955
詳しいなら教えてくれ
詳しいなら教えてくれ
957847
2019/03/17(日) 22:22:14.14ID:QeX4wN+m self.name = name
Ruby では、@ がインスタンス変数です。
@name = name
インスタンスや、インスタンス変数は、オブジェクト指向の基礎。
クラスはひな形で、実体化するには、個々のインスタンスを作らないといけない
これがわからないのなら、Rubyをみっちり勉強した方がよい。
Python から始めるのは無理
オブジェクト指向・関数型は、Rubyで学んだ方がよい。
Python, JavaScript, Kotlin にも応用できる
Ruby では、@ がインスタンス変数です。
@name = name
インスタンスや、インスタンス変数は、オブジェクト指向の基礎。
クラスはひな形で、実体化するには、個々のインスタンスを作らないといけない
これがわからないのなら、Rubyをみっちり勉強した方がよい。
Python から始めるのは無理
オブジェクト指向・関数型は、Rubyで学んだ方がよい。
Python, JavaScript, Kotlin にも応用できる
958デフォルトの名無しさん
2019/03/17(日) 22:28:34.62ID:Ea7K77ki 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
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
959デフォルトの名無しさん
2019/03/17(日) 22:29:45.96ID:Ea7K77ki def、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
960デフォルトの名無しさん
2019/03/17(日) 22:31:54.89ID:Ea7K77ki 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の &:: は極めて驚きが大きく醜悪な機能の一つだね
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の &:: は極めて驚きが大きく醜悪な機能の一つだね
961デフォルトの名無しさん
2019/03/17(日) 22:33:19.32ID:Ea7K77ki クロージャって何がいいの? [転載禁止]©2ch.net
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
962デフォルトの名無しさん
2019/03/17(日) 22:50:20.65ID:vwxCn2J+ 必死すぎるw
963デフォルトの名無しさん
2019/03/17(日) 22:58:46.72ID:Ea7K77ki Rubyを長く使い続けることを僕がお薦めしない理由を説明します - YouTube
https://www.youtube.com/watch?v=2wfQ3iG08UI
https://www.youtube.com/watch?v=2wfQ3iG08UI
964デフォルトの名無しさん
2019/03/17(日) 22:59:12.36ID:Ea7K77ki 「Railsは終わった」と言われる理由
https://qiita.com/klriutsa/items/86ac5e94ec99c0d95b61
https://qiita.com/klriutsa/items/86ac5e94ec99c0d95b61
965デフォルトの名無しさん
2019/03/17(日) 23:07:59.19ID:Ea7K77ki GitHub、2018年の人気プログラミング言語を概観できる「The State of the Octoverse」を発表
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
日本人が作ったプログラミング言語がランクイン!
誇らしい!!
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
日本人が作ったプログラミング言語がランクイン!
誇らしい!!
966デフォルトの名無しさん
2019/03/17(日) 23:13:16.15ID:Ea7K77ki GitHubのRails離れと、迫りくるMicrosoft
https://yakst.com/ja/posts/5290
https://yakst.com/ja/posts/5290
967デフォルトの名無しさん
2019/03/17(日) 23:20:10.39ID:Ea7K77ki 世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/
さあ何なのか!?日本の埃、Rubyかな?
https://gigazine.net/news/20181116-top-programming-languages-2018/
さあ何なのか!?日本の埃、Rubyかな?
968デフォルトの名無しさん
2019/03/17(日) 23:23:45.80ID:Ea7K77ki 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
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
969デフォルトの名無しさん
2019/03/17(日) 23:24:59.24ID:Ea7K77ki970デフォルトの名無しさん
2019/03/17(日) 23:39:56.92ID:vwxCn2J+ この調子で1000まで埋めてくれwww
971956
2019/03/18(月) 00:32:48.76ID:QSJWNz5N なんとなくわかったわ
__new__でインスタンス生成して__init__で初期化されてるのはいいとして
それらの関数がどこから呼ばれるかが分からなかったけど
type.__call__(cls, *args, **kwarg)から呼ばれてるんだな
class MyClass:
def __new__(cls, name):
return object.__new__(cls)
def __init__(self, name):
self.name = name
def getname(self):
return self.name
a = MyClass("Mike") # これは
a = type.__call__(MyClass, "Mike") # これの糖衣構文と
type.__call__はざっくり以下のような実装らしい
class type:
def __call__(cls, *args, **kwarg):
obj = cls.__new__(cls, *args, **kwargs)
obj.__init__(*args, **kwargs)
return obj
一番元になるオブジェクトを生成するであろうobject.__new__()がどういう風に実装されてるのかは分からなかった
Cで実装されてるらしい
__new__でインスタンス生成して__init__で初期化されてるのはいいとして
それらの関数がどこから呼ばれるかが分からなかったけど
type.__call__(cls, *args, **kwarg)から呼ばれてるんだな
class MyClass:
def __new__(cls, name):
return object.__new__(cls)
def __init__(self, name):
self.name = name
def getname(self):
return self.name
a = MyClass("Mike") # これは
a = type.__call__(MyClass, "Mike") # これの糖衣構文と
type.__call__はざっくり以下のような実装らしい
class type:
def __call__(cls, *args, **kwarg):
obj = cls.__new__(cls, *args, **kwargs)
obj.__init__(*args, **kwargs)
return obj
一番元になるオブジェクトを生成するであろうobject.__new__()がどういう風に実装されてるのかは分からなかった
Cで実装されてるらしい
972デフォルトの名無しさん
2019/03/18(月) 00:34:09.24ID:GvvOJgHh 破産者マップに出てるぞお前さん
973デフォルトの名無しさん
2019/03/18(月) 01:21:38.93ID:HYm9qYKJ Rubyに興味も失ってたが、調べたらRuby3から頑張るっぽいね。
JITは今現在はオンにしてもRails遅くなるっぽい。
型検査はツールの提供と精度向上の方針。
“Rubyは死んだ”のか?
まつもとゆきひろ氏が語る「プログラミング言語サバイバル」とRubyの未来 - Part1
https://logmi.jp/tech/articles/320752
かと思えば、こんな深刻な記事も。
想定してなかったくらい大規模な開発に使われて、つぎはぎ継ぎ接ぎで開発して行ったら行き詰まったって話になるのかな?
Pythonも、同類になる可能性はあるが時期が早く来たのはRubyだったと。
Rubyは滅びゆく言語なのか?
https://qiita.com/baban/items/a5a9819a4020f92e27e2
JITは今現在はオンにしてもRails遅くなるっぽい。
型検査はツールの提供と精度向上の方針。
“Rubyは死んだ”のか?
まつもとゆきひろ氏が語る「プログラミング言語サバイバル」とRubyの未来 - Part1
https://logmi.jp/tech/articles/320752
かと思えば、こんな深刻な記事も。
想定してなかったくらい大規模な開発に使われて、つぎはぎ継ぎ接ぎで開発して行ったら行き詰まったって話になるのかな?
Pythonも、同類になる可能性はあるが時期が早く来たのはRubyだったと。
Rubyは滅びゆく言語なのか?
https://qiita.com/baban/items/a5a9819a4020f92e27e2
974デフォルトの名無しさん
2019/03/18(月) 01:32:41.95ID:TDQy6vox Redmonk言語ランキングがKotlinとSwiftの急上昇を明らかにした
https://www.infoq.com/jp/news/2018/05/RedmonkLanguageRankingsQ118
> Rubyは5位から8位に下がりはしたが、他のトップ10言語はほとんど同じ順位にとどまっている。
独り負けwwww
https://www.infoq.com/jp/news/2018/05/RedmonkLanguageRankingsQ118
> Rubyは5位から8位に下がりはしたが、他のトップ10言語はほとんど同じ順位にとどまっている。
独り負けwwww
975デフォルトの名無しさん
2019/03/18(月) 01:33:16.80ID:TDQy6vox 日本生まれのクソ言語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
https://japan.zdnet.com/article/35109803/
おめでとうクソ言語!🎊
おめでとう日本の恥!!www
https://japan.zdnet.com/storage/2017/11/02/e28392adae17a191547db083133339eb/171106-zdnet-1-01-languages-1-900x675.png
976デフォルトの名無しさん
2019/03/18(月) 01:56:22.04ID:TDQy6vox Ruby is dead.
https://rubyisdead.science/
https://rubyisdead.science/
977デフォルトの名無しさん
2019/03/18(月) 02:01:08.34ID:TDQy6vox Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察
https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
978デフォルトの名無しさん
2019/03/18(月) 07:48:49.96ID:C9BGuQ42 self.name = name
みたいな変数は
self変数にnameプロパティを定義しているということなんですか?
init内に書かれる事が多いですが、プロパティはどのような使われ方をするのでしょうか
みたいな変数は
self変数にnameプロパティを定義しているということなんですか?
init内に書かれる事が多いですが、プロパティはどのような使われ方をするのでしょうか
979デフォルトの名無しさん
2019/03/18(月) 11:21:28.47ID:vyVf53oQ Pythonでアニメーションムビーって作れますか?
教えてエロい人
教えてエロい人
980デフォルトの名無しさん
2019/03/18(月) 11:42:29.94ID:GvvOJgHh981デフォルトの名無しさん
2019/03/18(月) 13:43:14.45ID:+MPRGO7m くだすれPython(超初心者用) その42【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1552884175/
http://mevius.5ch.net/test/read.cgi/tech/1552884175/
982デフォルトの名無しさん
2019/03/18(月) 13:50:09.52ID:HYm9qYKJ 乙
983デフォルトの名無しさん
2019/03/18(月) 14:39:32.03ID:3zrU7iIi Pythonなら音声合成も機械学習でできるよ!
984デフォルトの名無しさん
2019/03/18(月) 14:59:40.24ID:vyVf53oQ985デフォルトの名無しさん
2019/03/18(月) 16:32:01.12ID:8JXxWTh8 Pythonなら毛糸洗いに自信が持てるよ!
986デフォルトの名無しさん
2019/03/18(月) 17:23:25.93ID:LuaAQ2Ag >>985
それはボールドだろ
それはボールドだろ
987デフォルトの名無しさん
2019/03/18(月) 17:23:44.99ID:LuaAQ2Ag お、IDがlua永久にアゲだ
988デフォルトの名無しさん
2019/03/18(月) 17:33:08.14ID:1Gq1ACAN Python(Jupyter)で、複数の行をループさせることって出来ますか?
やりたいことはIn[5]〜In[8]を10回繰り返す、みたいな感じです
やりたいことはIn[5]〜In[8]を10回繰り返す、みたいな感じです
989デフォルトの名無しさん
2019/03/18(月) 20:07:37.57ID:C9BGuQ42 selfわかんないよぉ(´;ω;`)
990デフォルトの名無しさん
2019/03/18(月) 20:25:52.07ID:3zrU7iIi >>989
class className():
def methodName(self):
print("Hello World!")
instance = className()
instance.methodName()
class className():
def methodName(self):
print("Hello World!")
instance = className()
instance.methodName()
991デフォルトの名無しさん
2019/03/18(月) 20:30:41.38ID:jiPExRTx >>988
forループとかwhileループをさがしてるのか?
forループとかwhileループをさがしてるのか?
992デフォルトの名無しさん
2019/03/18(月) 20:34:08.67ID:C9BGuQ42 self.name=nameみたいなやつは、変数名はnameなのですが、selfなのですか?
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 【悲報】ネトウヨが大田實中将の「沖縄県民斯く戦えり」って訣別電出しながら昔の沖縄県民は立派だったって嘆いてた😰 [616817505]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
