当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
↓等のてきとうなソースコード用うpろだに貼ってきてください。
スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/
探検
くだすれPython(超初心者用) その46【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS633デフォルトの名無しさん
2020/02/13(木) 14:49:45.00ID:MOac+3r5 >>629
話すと長いから解説してるブログ貼る
簡単に言えばselfを書くことで新しい機能を追加することなく書けるからって考えらしい
https://python.ms/self/#%E3%81%95%E3%82%89%E3%81%AB%E4%BB%96%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
話すと長いから解説してるブログ貼る
簡単に言えばselfを書くことで新しい機能を追加することなく書けるからって考えらしい
https://python.ms/self/#%E3%81%95%E3%82%89%E3%81%AB%E4%BB%96%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
634デフォルトの名無しさん
2020/02/13(木) 17:35:23.50ID:r7bSHOfr pythonでオブジェクト指向やれば
selfだらけになってシグナルノイズ比が高い事は自覚しておくべき
明示的にselfを渡してる言語としてGoやRustと同列に語るのはぶっちゃけ頭おかしい
Goはどの型のメソッドが識別するためにselfを渡してる
Goの場合はそれ以外で識別する方法がないから
Rustはselfの使い方が3種類があるから
関数がどの種類なのかをシグニチャで指定するために明示的にselfを渡してる
selfだらけになってシグナルノイズ比が高い事は自覚しておくべき
明示的にselfを渡してる言語としてGoやRustと同列に語るのはぶっちゃけ頭おかしい
Goはどの型のメソッドが識別するためにselfを渡してる
Goの場合はそれ以外で識別する方法がないから
Rustはselfの使い方が3種類があるから
関数がどの種類なのかをシグニチャで指定するために明示的にselfを渡してる
635デフォルトの名無しさん
2020/02/13(木) 18:39:18.80ID:Ure0FzdD >>626
何を参考にコーディングしたらそれが生まれたのか純粋に知りたいw
何を参考にコーディングしたらそれが生まれたのか純粋に知りたいw
636デフォルトの名無しさん
2020/02/13(木) 19:02:19.46ID:qvECNN2e 条件分岐の分かり易い書き方について教えてください
通常ではa=bで
c=0の時はa=zで
d=1の時はa=yというときに
if c == 0:
__a=z
elif b==1:
__a=y
else :
__a=b
になりますがほとんどの場合a=bになって
まれにa=y やa=zになるとすると
a=bが最後に来るのはわかりにくい気がするんですが
どうしてますか?
通常ではa=bで
c=0の時はa=zで
d=1の時はa=yというときに
if c == 0:
__a=z
elif b==1:
__a=y
else :
__a=b
になりますがほとんどの場合a=bになって
まれにa=y やa=zになるとすると
a=bが最後に来るのはわかりにくい気がするんですが
どうしてますか?
637デフォルトの名無しさん
2020/02/13(木) 19:45:20.94ID:n7qjy+CZ >>633
ありがてえ!!
ありがてえ!!
638デフォルトの名無しさん
2020/02/13(木) 20:12:27.95ID:Ure0FzdD639デフォルトの名無しさん
2020/02/13(木) 20:16:27.98ID:Ure0FzdD ちなみにそんなことよりも、自分がレビューするとしたら
cが0でbが1の時は本当にa=zでいいのかとかが不安になるわ
cが0でbが1の時は本当にa=zでいいのかとかが不安になるわ
640デフォルトの名無しさん
2020/02/13(木) 21:36:32.33ID:r7bSHOfr >>636
通常ケースと通常でないケースという認識なんであれば
3つを並列に書くんじゃなくガード節を使ったりして通常ケースとそれ以外のケースを分離する
def evaluate(b, c):
____if c == 0:
________return z
____if b == 1:
________return y
____return b
通常ケースと通常でないケースという認識なんであれば
3つを並列に書くんじゃなくガード節を使ったりして通常ケースとそれ以外のケースを分離する
def evaluate(b, c):
____if c == 0:
________return z
____if b == 1:
________return y
____return b
641デフォルトの名無しさん
2020/02/13(木) 21:40:41.28ID:zu6t+bqI コメントにそう書いておく。
642デフォルトの名無しさん
2020/02/13(木) 21:59:00.84ID:n7qjy+CZ pythonてSwitch文ないの?
643デフォルトの名無しさん
2020/02/13(木) 22:08:31.25ID:Gd0xgnoa ない
644デフォルトの名無しさん
2020/02/13(木) 23:45:35.00ID:l+IDZGdn まあ変数の真名と役割をコメントしてくれないと可読性の議論は出来ないよね
順番とか記述方法云々よりそっちが先
順番とか記述方法云々よりそっちが先
645636
2020/02/13(木) 23:51:12.83ID:qvECNN2e646デフォルトの名無しさん
2020/02/14(金) 13:14:33.56ID:a5iC3cHy >>636
カルノー図を覚えろ
カルノー図を覚えろ
647デフォルトの名無しさん
2020/02/14(金) 14:54:01.70ID:/S4vU3l9 mac os 10.11.6
python 3.7.4
https://ideone.com/Mkhw9S
ターミナルから上のスクリプトを実行すると以下のようなエラーがおきます。
VScodeから実行した場合は問題なく実行されます。
Non-UTF-8 code starting with '¥xe6' in file test2.py on line 2, but no encoding declared;
https://ideone.com/D9Fkym
上のスクリプトはターミナルからも実行できます。
(リストの文字列の数のみの違いです)
以前はこんな感じのエラーは起きなかったのですが
原因がわかる方おられますか?
python 3.7.4
https://ideone.com/Mkhw9S
ターミナルから上のスクリプトを実行すると以下のようなエラーがおきます。
VScodeから実行した場合は問題なく実行されます。
Non-UTF-8 code starting with '¥xe6' in file test2.py on line 2, but no encoding declared;
https://ideone.com/D9Fkym
上のスクリプトはターミナルからも実行できます。
(リストの文字列の数のみの違いです)
以前はこんな感じのエラーは起きなかったのですが
原因がわかる方おられますか?
648647
2020/02/14(金) 14:59:14.12ID:/S4vU3l9 自己レスです。
# coding: UTF-8を入れたらターミナルからも実行できましたが、
なぜリストの内容数とVScodeからだと問題無いのかがわかりません。
# coding: UTF-8を入れたらターミナルからも実行できましたが、
なぜリストの内容数とVScodeからだと問題無いのかがわかりません。
649デフォルトの名無しさん
2020/02/14(金) 15:27:13.81ID:WtuYdkw5 atomic bomb
650デフォルトの名無しさん
2020/02/14(金) 15:34:47.45ID:+9NDg3r6 「python non-utf-8 code starting with ' xe6'」で検索!
どうせ、文字コードが異なるとか?
BOM 無しUTF-8 で保存すれば?
漏れは、Windows 10, VSCode で、Ruby, JavaScript などを使うけど、
すべてのファイルを、BOM 無しUTF-8 だけにしている!
どうせ、文字コードが異なるとか?
BOM 無しUTF-8 で保存すれば?
漏れは、Windows 10, VSCode で、Ruby, JavaScript などを使うけど、
すべてのファイルを、BOM 無しUTF-8 だけにしている!
651647
2020/02/14(金) 15:39:07.65ID:/S4vU3l9652デフォルトの名無しさん
2020/02/14(金) 15:40:45.69ID:WtuYdkw5 # coding: UTF-8 書いてなかったんだろ
653デフォルトの名無しさん
2020/02/14(金) 15:42:19.46ID:WtuYdkw5654647
2020/02/14(金) 15:52:33.27ID:/S4vU3l9655デフォルトの名無しさん
2020/02/14(金) 15:57:16.26ID:WtuYdkw5 sys.getdefaultencoding() みろ
656647
2020/02/14(金) 16:01:14.20ID:/S4vU3l9 >>> sys.getdefaultencoding()
'utf-8'
'utf-8'
657デフォルトの名無しさん
2020/02/14(金) 16:01:50.30ID:WtuYdkw5 お前は言われたことしかできないんか?
https://qiita.com/methane/items/6e294ef5a1fad4afa843
https://qiita.com/methane/items/6e294ef5a1fad4afa843
658647
2020/02/14(金) 16:07:55.64ID:/S4vU3l9 >>657
単にマウント取りたいだけなら返信不要です
単にマウント取りたいだけなら返信不要です
659650
2020/02/14(金) 17:08:51.51ID:+9NDg3r6 >>654
VSCode では、Microsoft がPython の拡張機能も作っているし、
設定ファイルにでも、UTF-8 で起動するように書いてあるのだろう
一般的には、IDE などの統合開発環境は、親切
VSCode では、Microsoft がPython の拡張機能も作っているし、
設定ファイルにでも、UTF-8 で起動するように書いてあるのだろう
一般的には、IDE などの統合開発環境は、親切
660デフォルトの名無しさん
2020/02/14(金) 17:19:37.05ID:EOtBZfN8 >>654
原因はバグ
対処は改行して1行のバイト数を減らすか
明示的にencoding指定をファイルの先頭に記述するか
https://bugs.python.org/issue34979
VSCodeで実行できるのは>>659の書いてる通り何か設定してるからだと思われる
俺の環境ではVSCodeでも同じエラーが出る
原因はバグ
対処は改行して1行のバイト数を減らすか
明示的にencoding指定をファイルの先頭に記述するか
https://bugs.python.org/issue34979
VSCodeで実行できるのは>>659の書いてる通り何か設定してるからだと思われる
俺の環境ではVSCodeでも同じエラーが出る
661647
2020/02/14(金) 17:21:58.26ID:/S4vU3l9662デフォルトの名無しさん
2020/02/14(金) 19:07:56.62ID:+2T2g9zy 要領悪いやつ
大人しくutf8宣言しときゃ動くんだからそうしろよ
お前なんかがvscodeのバグ発見したからって何になるんだ
時間のムダ
大人しくutf8宣言しときゃ動くんだからそうしろよ
お前なんかがvscodeのバグ発見したからって何になるんだ
時間のムダ
663デフォルトの名無しさん
2020/02/14(金) 19:13:36.39ID:x4GfXJj6 単に知的好奇心だろ
おまえみたいなIT土方にはわからんか
おまえみたいなIT土方にはわからんか
664デフォルトの名無しさん
2020/02/14(金) 19:39:14.54ID:+2T2g9zy 全く知的ではない
ただの"何でvscodeだと上手くいかないのムキー"でしかない
その証拠にバグと分かったらもう投げ出してる
ただの"何でvscodeだと上手くいかないのムキー"でしかない
その証拠にバグと分かったらもう投げ出してる
665デフォルトの名無しさん
2020/02/14(金) 19:44:06.77ID:x4GfXJj6 それがなんで証拠なんやろうか
バクについてまでは興味ないってだけやろうに
土方が偉そうに評価するな
バクについてまでは興味ないってだけやろうに
土方が偉そうに評価するな
666デフォルトの名無しさん
2020/02/14(金) 19:56:12.57ID:+2T2g9zy バグだったら仕方ない、
自分のせいじゃない、
よかったよかったあースッキリ。
どこに知的要素が存在するのか
自分のせいじゃない、
よかったよかったあースッキリ。
どこに知的要素が存在するのか
667デフォルトの名無しさん
2020/02/14(金) 20:00:15.70ID:x4GfXJj6 知的好奇心のない奴は動けばいいやでuft8宣言して終わりだろうな
668650
2020/02/14(金) 20:19:25.00ID:+9NDg3r6 プログラマーが日本語のバグで時間を使うのは、馬鹿らしい。
Python は、日本語対応をやってない
Ruby なら、Cookpad・マネーフォワード・Ruby 開発とか、
日本人のメンテナーが、一杯いる
Python は、日本語対応をやってない
Ruby なら、Cookpad・マネーフォワード・Ruby 開発とか、
日本人のメンテナーが、一杯いる
669デフォルトの名無しさん
2020/02/14(金) 20:23:20.50ID:+2T2g9zy670デフォルトの名無しさん
2020/02/14(金) 20:26:32.77ID:x4GfXJj6 IT土方は動けばいいだけだもんな
671デフォルトの名無しさん
2020/02/15(土) 00:24:05.85ID:GcRD3KfQ True=1,False=0じゃなくて
IFで何行も書かなくても
Trueの時は1をかけて、Falseの時はマイナス1を掛ける方法ってありますか?
IFで何行も書かなくても
Trueの時は1をかけて、Falseの時はマイナス1を掛ける方法ってありますか?
672デフォルトの名無しさん
2020/02/15(土) 00:33:48.85ID:NYbvjz3Y 普通は
*(1 if hoge else 0)
だろうな
hoge*1でもできるっぽいけど
*(1 if hoge else 0)
だろうな
hoge*1でもできるっぽいけど
673デフォルトの名無しさん
2020/02/15(土) 00:50:26.77ID:GcRD3KfQ674デフォルトの名無しさん
2020/02/15(土) 00:52:40.95ID:NYbvjz3Y よく読んでなくてすまん
675デフォルトの名無しさん
2020/02/15(土) 04:34:54.53ID:CrxoAXqf >>671
hoge*2-1
hoge*2-1
676デフォルトの名無しさん
2020/02/15(土) 07:03:08.25ID:1M8DJTak677デフォルトの名無しさん
2020/02/15(土) 07:39:54.28ID:cl/r4jK1 *[-1,1][hoge]とか
678デフォルトの名無しさん
2020/02/15(土) 08:44:35.96ID:lCqRUL4P679デフォルトの名無しさん
2020/02/15(土) 12:23:37.16ID:GcRD3KfQ680デフォルトの名無しさん
2020/02/15(土) 12:33:06.53ID:Od0WFVIs681デフォルトの名無しさん
2020/02/15(土) 12:54:17.21ID:OeWG4QMt どーでもよくて草
683デフォルトの名無しさん
2020/02/15(土) 13:09:52.19ID:a5tEBtfb それはわたしの肛門だ
684デフォルトの名無しさん
2020/02/15(土) 13:29:58.94ID:J1bovO5o 糞みたいな小手先のテクニック使うくらいなら潔く if else で書けや
685デフォルトの名無しさん
2020/02/15(土) 14:48:11.69ID:cTwFsuY/ x * [-1, 1][hoge]ってことだと思うが
流石にこれはない
評価する変数にboolしか入らない状況なら
x * (hoge or -1) でいいんじゃないかと思うが
これだと何のためにやってるかわかりにくいので
通常のif else使って関数化したほうがいい気もする
流石にこれはない
評価する変数にboolしか入らない状況なら
x * (hoge or -1) でいいんじゃないかと思うが
これだと何のためにやってるかわかりにくいので
通常のif else使って関数化したほうがいい気もする
686デフォルトの名無しさん
2020/02/15(土) 22:11:51.52ID:L3zGf310 >>684-685
俺もそう思う。
元質問をしたPythonでの三項演算の表記を知らないレベルの人は
x * [-1, 1][hoge]やx * (hoge or -1) を嬉々として・どや顔して
使いそうだが
俺もそう思う。
元質問をしたPythonでの三項演算の表記を知らないレベルの人は
x * [-1, 1][hoge]やx * (hoge or -1) を嬉々として・どや顔して
使いそうだが
687デフォルトの名無しさん
2020/02/15(土) 22:40:28.65ID:cl/r4jK1 [-1, 1][hoge]は0,1以外弾くから結構間違いが入り込みにくい実装なんだけどね。
まぁ、普通は三項演算子使うだろうな。
まぁ、普通は三項演算子使うだろうな。
688デフォルトの名無しさん
2020/02/15(土) 23:35:32.08ID:GcRD3KfQ 質問ですが
def内で使う変数名を考えるのが面倒だし
後でどれがどれか分かるように
引数と同じ変数名にしてますが
問題ないですか???
グローバル変数はほぼ使ってないです。
def内で使う変数名を考えるのが面倒だし
後でどれがどれか分かるように
引数と同じ変数名にしてますが
問題ないですか???
グローバル変数はほぼ使ってないです。
689デフォルトの名無しさん
2020/02/15(土) 23:49:52.90ID:robjZmR7 def addnumbers(a, b):
return a+b
a=10
b=5
print(addnumbers(a, b))
みたいな話?
なら別に問題はないけど。
引数じゃなくて関数内で宣言するローカル変数の話なら、頭に_をつけたりして外の環境をマスクしないようにしたほうがお行儀がいいけど。
return a+b
a=10
b=5
print(addnumbers(a, b))
みたいな話?
なら別に問題はないけど。
引数じゃなくて関数内で宣言するローカル変数の話なら、頭に_をつけたりして外の環境をマスクしないようにしたほうがお行儀がいいけど。
690デフォルトの名無しさん
2020/02/16(日) 00:44:18.75ID:S0ZkinLG691デフォルトの名無しさん
2020/02/16(日) 02:28:25.33ID:Q6srCXr2692デフォルトの名無しさん
2020/02/16(日) 09:01:43.73ID:17VZ7Cpd693デフォルトの名無しさん
2020/02/16(日) 09:35:32.63ID:xJ91WGrf 名前を考える時間がもったいない
スクリプト言語はいかに早く作り早く動かすかが命
一度動けば後は野となれ山となれ
スクリプト言語はいかに早く作り早く動かすかが命
一度動けば後は野となれ山となれ
694デフォルトの名無しさん
2020/02/16(日) 10:19:55.17ID:1yJgvEz2 どうしても名前を考えるのがめんどくさいならば
注釈で変数の意味を書いておくという方法もある
典型的な変数の値も書いておくとなおよい
注釈で変数の意味を書いておくという方法もある
典型的な変数の値も書いておくとなおよい
695デフォルトの名無しさん
2020/02/16(日) 10:26:00.98ID:6foDUZHe 関数の分割と命名が適切ならローカル変数なんて全部一文字でいいよ
そんなことで読めなくなるような長い関数を書くな
そんなことで読めなくなるような長い関数を書くな
696デフォルトの名無しさん
2020/02/16(日) 11:27:23.03ID:17VZ7Cpd697デフォルトの名無しさん
2020/02/16(日) 11:28:24.01ID:17VZ7Cpd698デフォルトの名無しさん
2020/02/16(日) 11:33:53.98ID:vdOGaRiC Goはむしろ一文字変数と引数を推奨してるね
コードが十分に構造化されていれば、長い変数名はノイズになって逆に読みにくいってのは一理ある
コードが十分に構造化されていれば、長い変数名はノイズになって逆に読みにくいってのは一理ある
699デフォルトの名無しさん
2020/02/16(日) 12:08:56.63ID:KXHJAKTO bad know howの固まりのようなスレだな
700デフォルトの名無しさん
2020/02/16(日) 12:24:10.94ID:5YcuBhUR 689だけど無次元数を扱う場合はa,bとかm,nとかを使うな
ファイルディスクリプタならfd
ループインデックスはi,j,kとかix,iy
それ以外は英単語2〜3個を繋いで変数名にして
PandasのDataFrameやNumpy Arrayみたいに実質型のないものはアプリケーションハンガリアン
ローカル変数だと頭にアンダースコアをつける感じだな
ファイルディスクリプタならfd
ループインデックスはi,j,kとかix,iy
それ以外は英単語2〜3個を繋いで変数名にして
PandasのDataFrameやNumpy Arrayみたいに実質型のないものはアプリケーションハンガリアン
ローカル変数だと頭にアンダースコアをつける感じだな
701デフォルトの名無しさん
2020/02/16(日) 12:26:02.52ID:uPTaqoVN 雑魚はせめてリーダブルコードでも読んでからコメントして
702デフォルトの名無しさん
2020/02/16(日) 12:37:40.11ID:KXHJAKTO >>701
それな
それな
703デフォルトの名無しさん
2020/02/16(日) 13:00:47.06ID:17VZ7Cpd 「最善の名前とは読み手が誤解を招かないこと」って書いてないか?
704688
2020/02/16(日) 13:04:49.24ID:S0ZkinLG ローカル変数名ですけど
例えば名古屋から広島の距離を計算するとして
def kyori(nagoya,hirosima)
___length = nagoya-hirosima
___return length
#東京からの距離
tokyo = 0
nagoya = 350
kyoto = 457
hirosima = 768
length = kyori()
っていう感じですけど
意味があって分かり易いだと
一文字だと長さはまだlで分かり易いと思うんですが
defが増えていくったときに
それぞれのdef内でもまだ個性的な名前を付けた方がいいのですか???
length_kyoto_hirosimaとか???
例えば名古屋から広島の距離を計算するとして
def kyori(nagoya,hirosima)
___length = nagoya-hirosima
___return length
#東京からの距離
tokyo = 0
nagoya = 350
kyoto = 457
hirosima = 768
length = kyori()
っていう感じですけど
意味があって分かり易いだと
一文字だと長さはまだlで分かり易いと思うんですが
defが増えていくったときに
それぞれのdef内でもまだ個性的な名前を付けた方がいいのですか???
length_kyoto_hirosimaとか???
705デフォルトの名無しさん
2020/02/16(日) 13:13:22.41ID:xJ91WGrf706デフォルトの名無しさん
2020/02/16(日) 13:19:18.43ID:vdOGaRiC >>704
まあ気持ちはわからないでもないが、慣れてくるとそのへんは問題にならなくなるから現時点でそんなに気にしなくていい
はっきり言って、同じものを多数の関数に引き回していること自体がヘタクソ
それを回避する方法は「こうすればいい」と教科書的に言えるものではなく設計センスの問題で、君にも自然にわかってくる
まあ気持ちはわからないでもないが、慣れてくるとそのへんは問題にならなくなるから現時点でそんなに気にしなくていい
はっきり言って、同じものを多数の関数に引き回していること自体がヘタクソ
それを回避する方法は「こうすればいい」と教科書的に言えるものではなく設計センスの問題で、君にも自然にわかってくる
707デフォルトの名無しさん
2020/02/16(日) 13:24:20.27ID:17VZ7Cpd >>704
そのdefのはっそうは、正直よろしくないとおもう。
使いまわせないだろw
def kyori(from, to):
にすれば、使いまわせるだろw
でもって、
引数のあとの「:」を忘れるな
+
(PEPにも書かれてるらしいが)
1ミクロンでも他人に見せる予定があるコードならば、
「kyori」はやめて、和英辞書を引いて、distanceをチョイス。
さらにいえば、
距離を計算する函数なのだから
「def calc_distance」みたいな名前にしよう。
そのdefのはっそうは、正直よろしくないとおもう。
使いまわせないだろw
def kyori(from, to):
にすれば、使いまわせるだろw
でもって、
引数のあとの「:」を忘れるな
+
(PEPにも書かれてるらしいが)
1ミクロンでも他人に見せる予定があるコードならば、
「kyori」はやめて、和英辞書を引いて、distanceをチョイス。
さらにいえば、
距離を計算する函数なのだから
「def calc_distance」みたいな名前にしよう。
708デフォルトの名無しさん
2020/02/16(日) 13:26:21.56ID:17VZ7Cpd709デフォルトの名無しさん
2020/02/16(日) 14:30:21.73ID:iNVxJNOu 関数定義や関数のことを`def`って呼ぶのちょっとモヤるんだけど一般的なのかな?
>defが増えていくったときに
>それぞれのdef内でも
>そのdefのはっそうは、正直よろしくないとおもう。
>defが増えていくったときに
>それぞれのdef内でも
>そのdefのはっそうは、正直よろしくないとおもう。
710デフォルトの名無しさん
2020/02/16(日) 14:33:43.62ID:E60C1LrQ namedtuppleのクラス継承って3.5.3じゃ無理なのですか?
無理ならバージョン何からできます?
無理ならバージョン何からできます?
711デフォルトの名無しさん
2020/02/16(日) 14:46:40.85ID:Rlzwkt+8712デフォルトの名無しさん
2020/02/16(日) 15:03:54.06ID:17VZ7Cpd713デフォルトの名無しさん
2020/02/16(日) 15:08:15.16ID:17VZ7Cpd714688
2020/02/16(日) 16:38:20.27ID:S0ZkinLG715デフォルトの名無しさん
2020/02/16(日) 16:53:49.03ID:17VZ7Cpd >>714
> ほぼほぼ作ったのが後々改造できなくて
> 投げ捨てるはめになってる
www
わかるwwwww始めたばっかりの頃のあるあるwwwwwわかるwwwww
オライリーの
リーダブルコード
ISBN-10: 4873115655
ISBN-13: 978-4873115658
(あるいは
ビューティフルコード
ISBN-10: 4873113636
ISBN-13: 978-4873113630 )
を
買って読んでみたらー
中古でも安くなってないだけのことはあるでよー
> ほぼほぼ作ったのが後々改造できなくて
> 投げ捨てるはめになってる
www
わかるwwwww始めたばっかりの頃のあるあるwwwwwわかるwwwww
オライリーの
リーダブルコード
ISBN-10: 4873115655
ISBN-13: 978-4873115658
(あるいは
ビューティフルコード
ISBN-10: 4873113636
ISBN-13: 978-4873113630 )
を
買って読んでみたらー
中古でも安くなってないだけのことはあるでよー
716デフォルトの名無しさん
2020/02/16(日) 17:07:16.29ID:05WBirzM オブジェクトがコピーなのか現物なのか、調べるにはどうすればよいですか。または全て現物で渡すには?
1. クラスの初期化時に引数として渡してselfに格納
2.クラスのgetterメソッド返り値としてselfの値を返却する
3.手順2で得られた値を演算したものをクラスのsetterメソッド引数として渡してselfに再格納
1〜3まで全て現物でいてほしいのですが、どこかでコピーになってしまうようで同期しません。
1. クラスの初期化時に引数として渡してselfに格納
2.クラスのgetterメソッド返り値としてselfの値を返却する
3.手順2で得られた値を演算したものをクラスのsetterメソッド引数として渡してselfに再格納
1〜3まで全て現物でいてほしいのですが、どこかでコピーになってしまうようで同期しません。
717デフォルトの名無しさん
2020/02/16(日) 17:11:30.05ID:05WBirzM 716、自分でも分かりにくいので追記です、
e = 1
a = Class1(e)
b = Class2(e)
tmp = a.getE()
tmp += 1
a.setE(tmp)
b.print()
このprintの結果が、2となって欲しいのです。
e = 1
a = Class1(e)
b = Class2(e)
tmp = a.getE()
tmp += 1
a.setE(tmp)
b.print()
このprintの結果が、2となって欲しいのです。
718デフォルトの名無しさん
2020/02/16(日) 17:18:43.25ID:17VZ7Cpd719デフォルトの名無しさん
2020/02/16(日) 17:44:48.94ID:05WBirzM >>718
ありがとうございます。
原因わかりました。
716で書いてるeが実際はイミュータブルだったので、書き換える際にreplace呼んでid変わってたみたいです。
eを自作クラスに変えたら動きました。ありがとう
ありがとうございます。
原因わかりました。
716で書いてるeが実際はイミュータブルだったので、書き換える際にreplace呼んでid変わってたみたいです。
eを自作クラスに変えたら動きました。ありがとう
720デフォルトの名無しさん
2020/02/16(日) 19:45:43.91ID:w90VPIvZ リーダブルコードでググったら英語版はタダで見れるのか
苦Cみたいなもんか?
苦Cみたいなもんか?
721688
2020/02/16(日) 19:51:59.66ID:S0ZkinLG722デフォルトの名無しさん
2020/02/16(日) 20:00:33.27ID:S0ZkinLG このクラスの########から########の間を
書き換えて別の子クラスを作る方法を教えてもらえませんか?
リターンはなくて条件によってどんどんpを書き換えていく感じの内容です
class coner:
__def __init__(self):
____self.angle = 0.0
____self.width = 0.0
#以下self.が沢山
__def tijimi(self):
#####################################
____if 0 <= self.angle < math.pi/3:
______#計算式色々
______p = l
____if self.angle == 0 :
______#計算式色々
______p=l
____#以下ifでangleを調べてpを上書きしていくif分沢山
#####################################################
____if self.width == 50:
______#計算式色々
______p=l
____if self.width == 80:
______#計算式色々
______p=l
書き換えて別の子クラスを作る方法を教えてもらえませんか?
リターンはなくて条件によってどんどんpを書き換えていく感じの内容です
class coner:
__def __init__(self):
____self.angle = 0.0
____self.width = 0.0
#以下self.が沢山
__def tijimi(self):
#####################################
____if 0 <= self.angle < math.pi/3:
______#計算式色々
______p = l
____if self.angle == 0 :
______#計算式色々
______p=l
____#以下ifでangleを調べてpを上書きしていくif分沢山
#####################################################
____if self.width == 50:
______#計算式色々
______p=l
____if self.width == 80:
______#計算式色々
______p=l
723デフォルトの名無しさん
2020/02/16(日) 20:56:22.89ID:05WBirzM class tijimi(coner)作ってsuperのinit呼んだ後にif文羅列じゃ駄目なの?
724デフォルトの名無しさん
2020/02/16(日) 21:14:42.57ID:iNVxJNOu >>722
>書き換えて別の子クラスを作る方法
継承してオーバーライドすること言ってるのかな?
それと
条件によってpをどんどん書き換えていくような仕様は
一般的にはものすごく悪い設計
バグりやすいしテストもしにくいので避けたほうがいい
>書き換えて別の子クラスを作る方法
継承してオーバーライドすること言ってるのかな?
それと
条件によってpをどんどん書き換えていくような仕様は
一般的にはものすごく悪い設計
バグりやすいしテストもしにくいので避けたほうがいい
725デフォルトの名無しさん
2020/02/16(日) 21:47:49.06ID:17VZ7Cpd726722
2020/02/16(日) 22:05:37.52ID:S0ZkinLG727デフォルトの名無しさん
2020/02/16(日) 22:59:10.36ID:5EL9p8ON Ruby なら、B はA から派生したクラスで、
派生クラスで、親クラスの同名のメソッドを上書きする(override)。
@ はインスタンス変数
class A
def f( ) @x = 1 end
end
class B < A
def f( ) @x = 2 end
end
p A.new.f #=> 1
p B.new.f #=> 2
派生クラスで、親クラスの同名のメソッドを上書きする(override)。
@ はインスタンス変数
class A
def f( ) @x = 1 end
end
class B < A
def f( ) @x = 2 end
end
p A.new.f #=> 1
p B.new.f #=> 2
728デフォルトの名無しさん
2020/02/17(月) 00:33:34.29ID:VGvKWI+b リーダブルコードもコードコンプリートも読んだ上で700書いてるけどねえ
PEP8とかもそうだけど、知恵とルールを混同してしまう人が結構いる
PEP8とかもそうだけど、知恵とルールを混同してしまう人が結構いる
729デフォルトの名無しさん
2020/02/17(月) 02:53:30.28ID:DyKTwZyk お前にはその両方が足りていない
730デフォルトの名無しさん
2020/02/17(月) 05:56:39.51ID:9Byn+CCQ アンカも打てないのかよ
いちいち自分で辿らせるとかどんだけ構って欲しいんだ
いちいち自分で辿らせるとかどんだけ構って欲しいんだ
731デフォルトの名無しさん
2020/02/17(月) 07:12:48.06ID:a4xzah5x >>727
endとか90年代かよダッサ無駄な記述乙
endとか90年代かよダッサ無駄な記述乙
732デフォルトの名無しさん
2020/02/17(月) 07:47:39.40ID:wxeqwMT5 裏表紙のない本
ドアのないトイレ
キャップのないペットボトル
ドアのないトイレ
キャップのないペットボトル
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★10 [BFU★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★2 [ぐれ★]
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 ★2 [蚤の市★]
- 【野球】「地上波で放送しないWBC」は2軍選手中心で十分! 今こそネットフリックスに『ノー』を突き付けてほしい 江本氏が提言 [冬月記者★]
- 【高市リスク】立民・小西洋之参院議員「高市総理がとんでもない安全保障オンチで外交オンチ」 [ぐれ★]
- 『DOWNTOWN+』会員数50万人突破で見えてきた 松本人志の“月収4ケタ万円”驚愕収入 [阿弥陀ヶ峰★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap599
- 福島競馬3回5日目
- こいせん 全レス転載禁止
- 巨専】
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1806
- とらせん IP
- 高市早苗、車のナンバーに37-77を愛用しているのが中国人に見つかる。盧溝橋事件の1937年7月7日を記念してか [624898991]
- 【悲報】高市政権関係者「閣僚には円安が何かよくわかってない人がいる」「総理もデメリットを理解してない」🤤 [359965264]
- 高市早苗、クマ対策に7400億円 [667744927]
- 【悲報】国連、日本を「先進国」から「高所得国」へ再分類、事実上の格下げ [769931615]
- 日本人「憲法9条があれば侵略されないって叫んでた売国左翼のゴミどもは今どんな気分?😂wwwwww」 [441660812]
- 【んな専🏡】三連休もんなってんなってんなりまくるのらよ🍬(・o・🍬)🏰
