当スレに★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(超初心者用) その46【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
探検
くだすれPython(超初心者用) その47【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/03/07(土) 00:40:52.77ID:k5ibAr7h21デフォルトの名無しさん
2020/03/10(火) 18:07:19.08ID:OITv6FOp 機械語じゃないから当然
2020/03/10(火) 19:58:08.31ID:3+CC2Qsy
C言語ゆらいの怪しげなマクロを使えるから
2020/03/10(火) 19:59:11.58ID:RoiJALPR
競技プログラミングってプログラミングの速度を競うのかと思ってたけど、プログラムの速度か
2020/03/10(火) 20:01:47.21ID:yxLEcfJ6
25デフォルトの名無しさん
2020/03/14(土) 10:37:29.33ID:WJJSMSr5 リスト内表記について質問なんですが
こういう代入はリスト内表記はあきらめて普通のforにしないといけないんでしょうか?
それともほかにリスト内表記する方法があったら教えてください
v=[1,2,3]
[c=c+1 for c in v if c==1]
こういう代入はリスト内表記はあきらめて普通のforにしないといけないんでしょうか?
それともほかにリスト内表記する方法があったら教えてください
v=[1,2,3]
[c=c+1 for c in v if c==1]
26デフォルトの名無しさん
2020/03/14(土) 11:11:58.61ID:+zKDV3tO ないだろ。
副作用欲しいなら、for文か無理やり関数でやるしかない。
def func(x): global y; y = x + 1; return y
[func(c) for c in v if c==1]
副作用欲しいなら、for文か無理やり関数でやるしかない。
def func(x): global y; y = x + 1; return y
[func(c) for c in v if c==1]
27デフォルトの名無しさん
2020/03/14(土) 11:27:00.67ID:WJJSMSr52020/03/14(土) 11:29:27.43ID:cJqY8aA1
v= [1, 2, 3]
v = [c+1 if c == 1 else c for c in v]
思っていたのと違うかもしれんが
v = [c+1 if c == 1 else c for c in v]
思っていたのと違うかもしれんが
2020/03/14(土) 11:32:29.19ID:eph4O7WW
filterを繋げて多段にすりゃいいんだよ
30デフォルトの名無しさん
2020/03/14(土) 12:33:03.26ID:XTUayws2 numpyとかpandas使えばもう少し気持ち良い描き方がある
2020/03/14(土) 17:09:46.58ID:NeU9D2+b
そもそもc=c+1の部分が内包表記の表現として書けない
2020/03/14(土) 17:59:18.44ID:ILPzjwAA
>>27
>副作用は怖いので普通に書き下しします
プログラミングにおける副作用の意味をググったほうがいいかも
リスト内包表記に書けるのはexpressionのみ
代入はstatementなのでエラーになる (3.8で導入されたassignment expression(:=)は可)
副作用のための処理は内包表記ではなくfor文を使うのが原則
無理やりやればできなくもないがデメリットしかない
v = [1,2,3]
[globals()['v'].__setitem__(i, x+1) for i, x in enumerate(v) if x == 1]
print(v) #=> [2,2,3]
>副作用は怖いので普通に書き下しします
プログラミングにおける副作用の意味をググったほうがいいかも
リスト内包表記に書けるのはexpressionのみ
代入はstatementなのでエラーになる (3.8で導入されたassignment expression(:=)は可)
副作用のための処理は内包表記ではなくfor文を使うのが原則
無理やりやればできなくもないがデメリットしかない
v = [1,2,3]
[globals()['v'].__setitem__(i, x+1) for i, x in enumerate(v) if x == 1]
print(v) #=> [2,2,3]
33デフォルトの名無しさん
2020/03/14(土) 19:21:24.85ID:jpfF5Ox92020/03/14(土) 22:22:03.48ID:fCAYl0fu
pip install A で実行できるようになるコマンドA
pip install B で実行できるようになるコマンドB
があって、パッケージAの依存パッケージがprogressbar、パッケージBがprogressbar2のため(どちらもimport progressbarなので)progressbar2をimportしたい方のパッケージBがprogressbarをインポートしてしまってコマンドBがエラーになってしまいます
こういう場合はコマンドA用とコマンドB用で仮想環境を分けて使うものなのでしょうか?
いちいちコマンドを実行するごとに仮想環境を切り替えるのは面倒な気がするのですが、例えば、コマンドA用とB用それぞれにバッチファイル等を作って、仮想環境の切り替えとコマンドの実行を一つのコマンドで実行できるようにしたりするのが一般的ですか?
オススメのやり方があれば教えてください
pip install B で実行できるようになるコマンドB
があって、パッケージAの依存パッケージがprogressbar、パッケージBがprogressbar2のため(どちらもimport progressbarなので)progressbar2をimportしたい方のパッケージBがprogressbarをインポートしてしまってコマンドBがエラーになってしまいます
こういう場合はコマンドA用とコマンドB用で仮想環境を分けて使うものなのでしょうか?
いちいちコマンドを実行するごとに仮想環境を切り替えるのは面倒な気がするのですが、例えば、コマンドA用とB用それぞれにバッチファイル等を作って、仮想環境の切り替えとコマンドの実行を一つのコマンドで実行できるようにしたりするのが一般的ですか?
オススメのやり方があれば教えてください
2020/03/14(土) 22:59:23.51ID:c0o9KEoN
2020/03/14(土) 23:26:36.03ID:m6CMFdp/
シェアが5%以下が何言っているんだ?
2020/03/15(日) 00:13:50.55ID:DfzvBJR/
そのシェアってAtom使った奴も入っているの?
2020/03/15(日) 00:52:51.57ID:DV1gyHVd
macでtkinterがimportエラーでて解決できなくて泣きそうやわ
ウェブで解決策が色々あるがどれもうまくいかへん
tkinter以外のGUIパッケージでフォルダダイアログだけ呼び出せるのある?
wxはウィンドウ用のクラス作らんとあかんしQtやsimpleはtkinter依存やし
Eelめっちゃええやん!からのpythonのGUI環境はマジクソ!←いまここ
ウェブで解決策が色々あるがどれもうまくいかへん
tkinter以外のGUIパッケージでフォルダダイアログだけ呼び出せるのある?
wxはウィンドウ用のクラス作らんとあかんしQtやsimpleはtkinter依存やし
Eelめっちゃええやん!からのpythonのGUI環境はマジクソ!←いまここ
39デフォルトの名無しさん
2020/03/15(日) 01:01:35.73ID:S82Gach3 >>37
Atomって何だ?おもちゃか?
Atomって何だ?おもちゃか?
2020/03/15(日) 01:34:08.16ID:ek1F76QN
MacならMS製なのがネックで未だにVSCodeに移行してない根強いAtom使いも一部いるかもしれないが、
WindowsならもうAtom使ってる奴なんてほぼいないんじゃね
WindowsならもうAtom使ってる奴なんてほぼいないんじゃね
2020/03/15(日) 01:42:21.70ID:DV1gyHVd
いや逆やろ
WindowsはVSという最強かつ世界最高のデバッガを搭載したIDEがあるからわざわざVSCode使う必要性がない
逆にMacやLinuxはまともなモダンエディタがSublimeやAtomくらいしかないからVSCodeが圧倒的
今時SublimeやAtom使ってるのなんて意固地で勘違いしたやつくらいやな
WindowsはVSという最強かつ世界最高のデバッガを搭載したIDEがあるからわざわざVSCode使う必要性がない
逆にMacやLinuxはまともなモダンエディタがSublimeやAtomくらいしかないからVSCodeが圧倒的
今時SublimeやAtom使ってるのなんて意固地で勘違いしたやつくらいやな
42デフォルトの名無しさん
2020/03/15(日) 02:37:23.76ID:S82Gach3 あん?このAtomってエディタの話だったのか?
OSのシェアがどうたらの文脈だからプロセッサの話だと思った
OSのシェアがどうたらの文脈だからプロセッサの話だと思った
2020/03/15(日) 03:48:08.37ID:7lggs81n
素人はともかくプロ開発者におけるOSシェアは
Mac+Linux > Windows
デスクトップOSシェア(StackOverflow Developer Survey 2019)
プロ開発者: Windows 45%, Mac 30%, Linux 25%
素人開発者: Windows 58%, Mac 15%, Linux 27%
開発環境のOSシェア(Python Developer Survey 2018:複数回答可)
Linux 69%, Windows 47%, MacOS 32%, BSD 1%
Mac+Linux > Windows
デスクトップOSシェア(StackOverflow Developer Survey 2019)
プロ開発者: Windows 45%, Mac 30%, Linux 25%
素人開発者: Windows 58%, Mac 15%, Linux 27%
開発環境のOSシェア(Python Developer Survey 2018:複数回答可)
Linux 69%, Windows 47%, MacOS 32%, BSD 1%
2020/03/15(日) 04:02:17.63ID:QjO8odR4
LinuxやMacで開発している現場なんて見たことない
開発用PCはWindowsがデフォでしょ
開発用PCはWindowsがデフォでしょ
2020/03/15(日) 04:34:34.23ID:gNXlAxhx
俺は受託オンリーやけど元請けの素人どもはWindowsやけど実際に開発してるチームメンバーは全員Macやなー
ウェブやアプリの場合やけど.NET環境の業務システムはVS必須やからWindowsやけどそらそうよ
ウェブやアプリの場合やけど.NET環境の業務システムはVS必須やからWindowsやけどそらそうよ
2020/03/15(日) 10:14:23.99ID:b9Qsc7j/
Ruby でも、Windows 版Docker ではバグるから、仮想OS でLinux で開発する。
本番環境に一番近いのが、Linux
今までは、Windowsでは、MSYS2/MINGW だが、日本語でバグるから皆、Mac を使っていた
ようやく最近、Windows 10, WSL, Linux で、VSCode の拡張機能、Remote WSLが出たから、
Windows 10, WSL, Linux でも出来るようになった。
WSLでは、日本語でもバグらない
これで次第に、Macから、Windowsへ戻ってくるはず。
でも、完全な互換性は、直接Linuxを使う
本番環境に一番近いのが、Linux
今までは、Windowsでは、MSYS2/MINGW だが、日本語でバグるから皆、Mac を使っていた
ようやく最近、Windows 10, WSL, Linux で、VSCode の拡張機能、Remote WSLが出たから、
Windows 10, WSL, Linux でも出来るようになった。
WSLでは、日本語でもバグらない
これで次第に、Macから、Windowsへ戻ってくるはず。
でも、完全な互換性は、直接Linuxを使う
2020/03/15(日) 10:16:57.52ID:ddHsS2vy
普通にmac少ないやんけ
2020/03/15(日) 10:31:59.34ID:35ngHCek
サーバーに合わせてLinuxにするのは分かるがMacはマジで意味わからん。副業でiOSアプリ作るからか?
4946
2020/03/15(日) 11:21:36.97ID:b9Qsc7j/ Ruby では、Windows の開発者は、WSL が出るまでは、いなかった。
Windows, MSYS2/MINGW だと、日本語でバグるから皆、Mac を使っていた
さらに、Windows版Docker でもバグるから、
Windowsでは、仮想OS でLinux しか出来なかった
Windows, MSYS2/MINGW だと、日本語でバグるから皆、Mac を使っていた
さらに、Windows版Docker でもバグるから、
Windowsでは、仮想OS でLinux しか出来なかった
2020/03/15(日) 11:29:04.06ID:g709JiKq
macはtcl/tkをそのまま使えば早いんじゃね?
51デフォルトの名無しさん
2020/03/15(日) 12:26:18.38ID:0qHq2F5s Rubyくんお友達居なそう…
2020/03/15(日) 12:34:55.72ID:DfzvBJR/
Windows使うと文字コードで苦労する
苦労してからまたMacに戻ってくる
苦労してからまたMacに戻ってくる
2020/03/15(日) 13:40:06.78ID:f0kPntOU
お友達本意の開発なのか。
2020/03/15(日) 14:45:35.84ID:tvz/ROTF
Docker のコンテナ名がコンフリクトする時はどうすればいいですか?
$docker container ps
しても動いてるコンテナないんですけど
$docker container ps
しても動いてるコンテナないんですけど
2020/03/15(日) 17:19:22.17ID:U43dmARa
やっぱり具体的に作りたいものがないのに0から勉強するのは脳が拒否反応を起こすなぁ
VBAをやってる時は実利に直結するからあれこれやるのも苦ではなかったが……
VBAをやってる時は実利に直結するからあれこれやるのも苦ではなかったが……
2020/03/15(日) 17:39:01.32ID:WBXETDOG
2020/03/15(日) 17:39:28.63ID:WBXETDOG
>>55
学生時代勉強不得手だったんけ
学生時代勉強不得手だったんけ
2020/03/15(日) 17:54:33.53ID:gNXlAxhx
>>55
自宅プログラミングしない奴の言い訳まんまで草www
そもそもプログラミング好きじゃない奴がプログラマーしてることが数ある不幸なプロジェクトの原因なんよね
学習も研鑽もしないから同じ環境でしか開発できないVBAおじを量産してしまう
俺のように楽に結果が得られるならなんでもいいからもっとええのないんか?と楽しみつつ学習してるといつの間にかC++、C#からTypeScript、Pythonまでフロントもバックエンドもなんでもござれのフルスタックの完成なんよ
自宅プログラミングしない奴の言い訳まんまで草www
そもそもプログラミング好きじゃない奴がプログラマーしてることが数ある不幸なプロジェクトの原因なんよね
学習も研鑽もしないから同じ環境でしか開発できないVBAおじを量産してしまう
俺のように楽に結果が得られるならなんでもいいからもっとええのないんか?と楽しみつつ学習してるといつの間にかC++、C#からTypeScript、Pythonまでフロントもバックエンドもなんでもござれのフルスタックの完成なんよ
2020/03/15(日) 20:07:39.50ID:1/DFOu+E
2020/03/15(日) 20:09:09.03ID:1/DFOu+E
2020/03/15(日) 22:20:35.94ID:6KRsgpGp
スクレイピングとエロ画像の自動収集くらいしかやってね―わ
それが一番プライベートの時間の節約に役立つしな
それが一番プライベートの時間の節約に役立つしな
63デフォルトの名無しさん
2020/03/16(月) 01:42:32.64ID:+IrHqAFl 楽に結果を得る方法を求めて他人より何倍も苦労する訳ですね
64デフォルトの名無しさん
2020/03/16(月) 06:17:37.04ID:IojLJcYy 苦労なんて発想しかできない脳みそだから低レベルなままなんだって判断できない時点で終わってるってわかんね
好きなら努力が努力じゃないんだからそりゃ差が生まれるに決まってますわ
好きなら努力が努力じゃないんだからそりゃ差が生まれるに決まってますわ
2020/03/16(月) 08:56:23.67ID:I/DM6IO+
?
好きでも努力は努力だぞ?
好きこそものの上手なれ とはいうが。
好きでも努力は努力だぞ?
好きこそものの上手なれ とはいうが。
2020/03/16(月) 12:57:20.59ID:L7QaMGTS
苦労というよりは、単純作業を繰り返したくないから単純作業と自動化で同じくらいの時間がかかるなら自動化していくうちに勝手に覚えるって感じだな
まあ自動化しやすいものを偶々日常的に扱っていることが多いというのが有利に働いていると思うが
まあ自動化しやすいものを偶々日常的に扱っていることが多いというのが有利に働いていると思うが
67デフォルトの名無しさん
2020/03/16(月) 14:23:07.31ID:90R/wZVM 質問です
a=[
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]]
と
b=[100,200,300]
があるとして(中身の数字は適当です)
a[0,3]=b[0]
a[1,3]=b[1]
a[2,3]=b[2]
というように縦に一部だけ変数を入力するのに
カッコいい方法を教えてください
a=[
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]]
と
b=[100,200,300]
があるとして(中身の数字は適当です)
a[0,3]=b[0]
a[1,3]=b[1]
a[2,3]=b[2]
というように縦に一部だけ変数を入力するのに
カッコいい方法を教えてください
68デフォルトの名無しさん
2020/03/16(月) 14:44:13.21ID:IaZ60aJs69デフォルトの名無しさん
2020/03/16(月) 15:11:20.17ID:90R/wZVM70デフォルトの名無しさん
2020/03/16(月) 15:24:43.89ID:05pyWuEB >>69
>>> a=[
... [1,2,3],
... [4,5,6],
... [7,8,9],
... [10,11,12]]
>>> a[0][3]=100
IndexError: list assignment index out of range
>>> a=[
... [1,2,3],
... [4,5,6],
... [7,8,9],
... [10,11,12]]
>>> a[0][3]=100
IndexError: list assignment index out of range
2020/03/16(月) 15:30:10.53ID:vjCDcJeV
深いリストをフラットにするのは何?
[1, [2, 3], 4]
↓
[3, 4, 2, 1] # 結果の順番はどうでもいい
[1, [2, 3], 4]
↓
[3, 4, 2, 1] # 結果の順番はどうでもいい
2020/03/16(月) 15:30:38.40ID:D64H19Ci
numpy使わないなら普通にfor文使うケース
縦(column wise)にデータを取り出したいだけならlist comprehension
zip(*list)はtransposeしたい場合に使う
#numpy
a = np.array(np.arange(1, 13)).reshape([4,3])
b = [100, 200, 300, 400]
a[:,2] = b
縦(column wise)にデータを取り出したいだけならlist comprehension
zip(*list)はtransposeしたい場合に使う
#numpy
a = np.array(np.arange(1, 13)).reshape([4,3])
b = [100, 200, 300, 400]
a[:,2] = b
2020/03/16(月) 15:36:25.65ID:I/DM6IO+
>>71
その例だとまったく深くないんだがw
「リスト フラット Python」あたりでぐぐれ
ちな
「リストをフラットにする作業」を英語で「flatten」っていうっぽいので
日本語使った検索で気に入る結果が出ないなら
「flatten python」みたいにしてぐぐれ
その例だとまったく深くないんだがw
「リスト フラット Python」あたりでぐぐれ
ちな
「リストをフラットにする作業」を英語で「flatten」っていうっぽいので
日本語使った検索で気に入る結果が出ないなら
「flatten python」みたいにしてぐぐれ
2020/03/16(月) 15:39:19.97ID:I/DM6IO+
(追記)
unnestも、キーワードとして使えるのではないだろうか。
unnestも、キーワードとして使えるのではないだろうか。
2020/03/16(月) 15:47:11.83ID:D64H19Ci
>>71
from more_itertools import collapse
list(collapse([1, [2, 3, [4, 5]], 6]))
#=> [1, 2, 3, 4, 5, 6]
from more_itertools import collapse
list(collapse([1, [2, 3, [4, 5]], 6]))
#=> [1, 2, 3, 4, 5, 6]
76デフォルトの名無しさん
2020/03/16(月) 18:22:58.39ID:3OE3knP82020/03/16(月) 20:21:48.58ID:I/DM6IO+
78デフォルトの名無しさん
2020/03/16(月) 21:03:18.68ID:IaZ60aJs for n, m in zip(a, b): n[2] = m
79デフォルトの名無しさん
2020/03/16(月) 21:37:30.23ID:c9Tv/g5u2020/03/17(火) 23:41:42.42ID:Cz6mauRR
plt.subplot(1, 2, 1)
plt.title('test1 score')
plt.subplot(1, 2, 2)
plt.title('test2 score')
みたいにサブプロットのグラフ毎にタイトルをつけたあとに
サブプロット1,2共通のタイトルNameを最上段、真ん中に表示させたいんですが、
なにかいい方法無いでしょうか?
Name
test1 score test2 score
graph1 graph2
みたいな感じです。
plt.title('test1 score')
plt.subplot(1, 2, 2)
plt.title('test2 score')
みたいにサブプロットのグラフ毎にタイトルをつけたあとに
サブプロット1,2共通のタイトルNameを最上段、真ん中に表示させたいんですが、
なにかいい方法無いでしょうか?
Name
test1 score test2 score
graph1 graph2
みたいな感じです。
2020/03/17(火) 23:42:43.38ID:Cz6mauRR
Name
test1 score test2 score
graph1 graph2
test1 score test2 score
graph1 graph2
2020/03/17(火) 23:43:05.59ID:Cz6mauRR
>>81
みたいな感じです。
みたいな感じです。
2020/03/17(火) 23:52:06.60ID:A6c/ap2m
ねぎ式? タンブラー@ohtsuka
パートナーさんとの面談で、同僚が「ぴとんも出来るの?
ぴとん」とか言っていたのでなんだそりゃと思っていたらPythonだった。
恥ずかしのでやめて欲しい。
パートナーさんとの面談で、同僚が「ぴとんも出来るの?
ぴとん」とか言っていたのでなんだそりゃと思っていたらPythonだった。
恥ずかしのでやめて欲しい。
2020/03/18(水) 00:33:44.85ID:Nf3sMBGq
>>80-82
上の方か前スレに、誰かが任意の場所に文字列入れる方法書いてくれてた
上の方か前スレに、誰かが任意の場所に文字列入れる方法書いてくれてた
85デフォルトの名無しさん
2020/03/18(水) 11:53:50.04ID:ita97idO86デフォルトの名無しさん
2020/03/18(水) 11:54:23.20ID:ita97idO plt.gcf().text()
87デフォルトの名無しさん
2020/03/18(水) 11:55:55.25ID:ita97idO matplotlibは直観的じゃないよね
https://python.atelierkobato.com/text/
https://python.atelierkobato.com/text/
2020/03/19(木) 09:44:17.72ID:88W4vwJ+
オブジェクト指向の勉強してるのですが、外部から新規プロパティ作れるのって何に使うんですか?
class Test:
__def __init__(self):
____self.x=1
____self.y=2
__def calc(self):
____print(self.x+self.y)
test = Tset()
test.z = 3
とかできますが、クラス作成時に言及されてない新規プロパティを使うのはどういう時ですか?
class Test:
__def __init__(self):
____self.x=1
____self.y=2
__def calc(self):
____print(self.x+self.y)
test = Tset()
test.z = 3
とかできますが、クラス作成時に言及されてない新規プロパティを使うのはどういう時ですか?
2020/03/19(木) 09:58:33.44ID:TVS3Wm7/
2020/03/19(木) 10:07:42.61ID:88W4vwJ+
なるほど、そうですよね
ありがとうございます
ありがとうございます
2020/03/19(木) 10:29:34.43ID:iYhmmwGq
え、やったらあかんかったんか。こんなん出来て便利やわ、とずっと使ってたわ……
import socket
socket.socket.is_alive = lambda self: not select.select([self], [], [], 0)[0]
import socket
socket.socket.is_alive = lambda self: not select.select([self], [], [], 0)[0]
2020/03/19(木) 20:09:33.96ID:YRL0u/U8
別に使っちゃいけない理由なんてないでしょ
2020/03/19(木) 21:29:14.12ID:9qCyS0hP
そゆことしたいなら元のクラスを継承したMyClassを作るべきでは?
2020/03/19(木) 21:32:55.80ID:DGCbzdzB
>>88
Pythonは他と言語と違いゆとり用言語だからゆとりのための機能は活用したほうが良いだろ
派生で新規プロパティ追加するのめんどーくさい、で、その場でサクッと追加できるってゆとりには超便利だろ
Pythonは他と言語と違いゆとり用言語だからゆとりのための機能は活用したほうが良いだろ
派生で新規プロパティ追加するのめんどーくさい、で、その場でサクッと追加できるってゆとりには超便利だろ
2020/03/19(木) 22:10:56.16ID:2ajU8oVE
"There's Only One Way To Do It"(草)
2020/03/20(金) 10:46:47.57ID:Cf4Df32C
dataclass便利だよな
97デフォルトの名無しさん
2020/03/20(金) 11:06:06.72ID:nAHhYb7g rubyも出来るな
むしろ推奨されてる
むしろ推奨されてる
2020/03/20(金) 11:44:13.14ID:f7C4bsky
もちろんjsでもできる
2020/03/20(金) 12:02:16.17ID:GrAunarD
jsは出来るってより出来ないと使い物にならない
10091
2020/03/20(金) 12:36:56.62ID:b0uFXDo7 >>93
分かってる、それが正当なのは分かってる。将来socketやsslが改版される度に衝突してない確認しにゃきゃならんのも分かってる
けど、socket.socketに追加すればそれだけでssl.SSLSocketでも使えるし、ssl.wrap_socketやssl.create_default_contextみたいな便利関数もそのまま使えるし
派生クラスを作るとこのあたりが圧倒的に不便
もちろん引数にsocket.socket / ssl.SSLSocketをとる独立した関数を作ってもいいけど、あるオブジェクトの状態を問い合わせる機能はそのオブジェクトにメソッドとして持たせるほうが自然だし
分かってる、それが正当なのは分かってる。将来socketやsslが改版される度に衝突してない確認しにゃきゃならんのも分かってる
けど、socket.socketに追加すればそれだけでssl.SSLSocketでも使えるし、ssl.wrap_socketやssl.create_default_contextみたいな便利関数もそのまま使えるし
派生クラスを作るとこのあたりが圧倒的に不便
もちろん引数にsocket.socket / ssl.SSLSocketをとる独立した関数を作ってもいいけど、あるオブジェクトの状態を問い合わせる機能はそのオブジェクトにメソッドとして持たせるほうが自然だし
10191
2020/03/20(金) 12:58:10.42ID:b0uFXDo7 えーと、ごちゃごちゃ続けて済まない
要は、「正当でない」「元のクラスの改版で衝突するかも」以外に、なんか実装の仕組みとか言語の根本思想とかに関わる「やったら駄目な理由」があるんなら知りたいんだ
要は、「正当でない」「元のクラスの改版で衝突するかも」以外に、なんか実装の仕組みとか言語の根本思想とかに関わる「やったら駄目な理由」があるんなら知りたいんだ
102デフォルトの名無しさん
2020/03/20(金) 13:20:45.03ID:hXZiuk0t 正当である理由も知りたいんだけど。いったい何の正当?
103デフォルトの名無しさん
2020/03/20(金) 14:28:59.42ID:kntGyf5L 衝突するかもが一番の理由だろ
使い捨てスクリプトなら好きにすればいいんじゃね
使い捨てスクリプトなら好きにすればいいんじゃね
104デフォルトの名無しさん
2020/03/20(金) 15:00:32.24ID:TN4YnPAe 近代的なPythonプログラミングにおける一番の問題は静的型検査の能力が損なわれることだろう
VSCodeで補完できないし型チェッカー使ったらエラーになる
VSCodeで補完できないし型チェッカー使ったらエラーになる
105デフォルトの名無しさん
2020/03/20(金) 17:35:32.53ID:SlgH3d1t 型チェッカーに詳しくないけど、ダックタイプなのに拡張プロパティが付いただけでエラーになるの?
106デフォルトの名無しさん
2020/03/20(金) 19:03:53.38ID:Dd0Ob2sq そりゃ型に存在しないメンバにアクセスしようとしてんだから正真正銘エラーだよ
107デフォルトの名無しさん
2020/03/21(土) 14:39:02.75ID:OHw8xLXD 凄い長いループ文の最後に取得したい値があるとして
ループの最初にp=[]するんですが最後のと距離が離れすぎてて
忘れそうor間違えて消しそうですが
p = []なしで値を集める方法ってありますか?
p = []
for v in vals:
____この間凄い長い
___p.append(s)
ループの最初にp=[]するんですが最後のと距離が離れすぎてて
忘れそうor間違えて消しそうですが
p = []なしで値を集める方法ってありますか?
p = []
for v in vals:
____この間凄い長い
___p.append(s)
108デフォルトの名無しさん
2020/03/21(土) 15:07:52.37ID:vy0ghyqx p = [ hage(v) for v in vals ]
def hage(v):
____# この間すごい長い処理
____return s
これはだめなの?
def hage(v):
____# この間すごい長い処理
____return s
これはだめなの?
109デフォルトの名無しさん
2020/03/21(土) 15:35:23.73ID:GhGCMtBr p = vals.apply(hage)
110デフォルトの名無しさん
2020/03/21(土) 15:36:06.43ID:GhGCMtBr p = list(map(hage, vals))
または
p = map(hage, vals)
または
p = map(hage, vals)
111デフォルトの名無しさん
2020/03/21(土) 15:38:22.43ID:GhGCMtBr p = list(map(hage, vals))
または
p = map(hage, vals)
または
p = map(hage, vals)
112デフォルトの名無しさん
2020/03/21(土) 15:39:38.88ID:Pnykjrh9 p = list(f(vals))
def f(vals):
____for v in vals:
________この間凄い長い
_______yield s
def f(vals):
____for v in vals:
________この間凄い長い
_______yield s
113デフォルトの名無しさん
2020/03/21(土) 16:01:06.87ID:QFmJMedv >>108
これが内包表記というやつかー!
これが内包表記というやつかー!
114デフォルトの名無しさん
2020/03/21(土) 16:04:19.63ID:He36jL2X “There should be one-- and preferably only one --obvious way to do it.”じゃないのー?
115デフォルトの名無しさん
2020/03/21(土) 19:27:49.61ID:zSmIYZQj C言語を触ってて今日からPythonを見始めたけど、クラスだメソッドだインスタンスだ横文字だらけで説明されてさっぱりだ🤔
116デフォルトの名無しさん
2020/03/21(土) 19:55:22.12ID:dPG/PKsY117デフォルトの名無しさん
2020/03/21(土) 20:07:30.13ID:9uGouKad118デフォルトの名無しさん
2020/03/21(土) 20:12:55.99ID:tuOdrSqm119デフォルトの名無しさん
2020/03/21(土) 21:47:00.81ID:gYwBfwwG120デフォルトの名無しさん
2020/03/21(土) 22:09:25.43ID:q0JXMky4121デフォルトの名無しさん
2020/03/21(土) 22:26:44.62ID:dNABuBCe C++よりJavaの方がかんたんじゃあない?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- Redditの外国人たち、なぜか日本の江戸時代の『五人組』システムに興味津々。めっちゃ↑付いてるのに日本人の俺が知らない😰 [718678614]
- おはようございます [577451214]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 置き配受け取り人さん、配達員に冷え冷えの飲み物を差し入れしネット大荒れ、ちょっとした善意なのにどうして😭 [152212454]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【悲報】高市政権、ホタテ輸出の支援検討 [834922174]
