当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合は、
表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。
【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
探検
くだすれPython(超初心者用) その52【まず1嫁】
レス数が1000を超えています。これ以上書き込みはできません。
2021/01/09(土) 05:22:25.24ID:IpHIsox4
948デフォルトの名無しさん
2021/03/14(日) 20:17:47.87ID:7GI/Bfny p=[0,0,1,0,1,1,1,1,1,1]
q=[0,0,0,0,1,1,1,1,1,1]
for i, (x,y) in enumerate(zip(p,q)):
__if x==y==1:
____print(i)
____break
内包表記でpとqの和を取ってindexで検索したほうが速い気がする
q=[0,0,0,0,1,1,1,1,1,1]
for i, (x,y) in enumerate(zip(p,q)):
__if x==y==1:
____print(i)
____break
内包表記でpとqの和を取ってindexで検索したほうが速い気がする
949デフォルトの名無しさん
2021/03/14(日) 20:27:29.09ID:0UiyZ0sn >>946
できました。ありがとうございました!
できました。ありがとうございました!
950デフォルトの名無しさん
2021/03/14(日) 20:27:54.91ID:Y6CmRV5p こんなモンが欲しいのかと思った
https://ideone.com/q2rCBm
https://ideone.com/q2rCBm
951デフォルトの名無しさん
2021/03/14(日) 21:00:32.45ID:NVyYwYtr >>947
0から1に切り替わってる箇所は対象だけど
1から0に切り替わってる箇所は対象外ってことなのか
def foo(arr):
__for i, pair in enumerate(zip(arr[0], arr[0][1:])):
____if pair == (0, 1) and (arr[1][i], arr[1][i+1]) == (0, 1):
______return i+2
4つの値を確認しないといけくてビット演算で簡略化できそうにないので
O(n)でやる以外にはないんじゃないかな
0から1に切り替わってる箇所は対象だけど
1から0に切り替わってる箇所は対象外ってことなのか
def foo(arr):
__for i, pair in enumerate(zip(arr[0], arr[0][1:])):
____if pair == (0, 1) and (arr[1][i], arr[1][i+1]) == (0, 1):
______return i+2
4つの値を確認しないといけくてビット演算で簡略化できそうにないので
O(n)でやる以外にはないんじゃないかな
952デフォルトの名無しさん
2021/03/15(月) 03:21:26.79ID:p7hcxdJK プログラム組んでいるんだけどさあ
一週間で出来ないとモチベが下がってそのまま放置になること多いんだよな、、
自分が楽をするためが動機だから、もういいわ!ってなる
一週間で出来ないとモチベが下がってそのまま放置になること多いんだよな、、
自分が楽をするためが動機だから、もういいわ!ってなる
953デフォルトの名無しさん
2021/03/15(月) 08:40:22.27ID:fwcCfhlr そういうなやみは板違いだな
954デフォルトの名無しさん
2021/03/15(月) 10:49:08.64ID:A7Nxi+Hm 設計が終わったら脳内では不具合無く動いてるから満足してしまうよな
955デフォルトの名無しさん
2021/03/15(月) 10:54:19.57ID:EoZWZldm 実際にちゃんと動いているのを見たら満足するよ
956デフォルトの名無しさん
2021/03/15(月) 11:05:59.67ID:Cx70J+M+ 自分の過去作のゴミ設計の無駄を探して再設計するの好き
957デフォルトの名無しさん
2021/03/15(月) 11:11:24.43ID:FrmPLjBr 雑に書いた手続き型のプログラムをオブジェクト指向で書き直して自己満足することはよくあるけど
ぶっちゃけ個人開発なら手続き型で十分だよな
ぶっちゃけ個人開発なら手続き型で十分だよな
958デフォルトの名無しさん
2021/03/15(月) 11:59:51.90ID:G5zjQeOc スケベみたいな継続的なモチベがいるんだよな
959デフォルトの名無しさん
2021/03/15(月) 12:06:27.25ID:JMxBUfb9 手続き型(Imperative)の反対は宣言型(declarative)だぞ。
手続き型かどうかはオブジェクト指向かどうかとまるで関係がない(直交する)
CもC++もC#もJavaもJavaScriptもPythonもPHPもGoもRustもみんな手続き型。
Prolog属などが宣言型。
Prologはパフォーマンス上カットなどの仕組みがあって純粋な宣言型ではないが。
数理証明系のドマイナー言語には純粋な宣言型のものもあるとか。
メジャー言語はほぼ100%手続き型。
HTMLやCSSはプログラミング言語ではないので除く。
たまにメジャー言語で宣言的に書けるのがどうのこうのという話が出てくるが宣言「的に」って言ってる時点で気づこうな。
手続き型かどうかはオブジェクト指向かどうかとまるで関係がない(直交する)
CもC++もC#もJavaもJavaScriptもPythonもPHPもGoもRustもみんな手続き型。
Prolog属などが宣言型。
Prologはパフォーマンス上カットなどの仕組みがあって純粋な宣言型ではないが。
数理証明系のドマイナー言語には純粋な宣言型のものもあるとか。
メジャー言語はほぼ100%手続き型。
HTMLやCSSはプログラミング言語ではないので除く。
たまにメジャー言語で宣言的に書けるのがどうのこうのという話が出てくるが宣言「的に」って言ってる時点で気づこうな。
960デフォルトの名無しさん
2021/03/15(月) 12:27:55.07ID:OEM1rmYt 手続き型プログラムってProcedural programming(procedure:手続き)だと思ってたけど。
厳密には手続き型とオブジェクト指向は対義ではないけど、
「関数を呼び出す」っていう手続き型の根本的な構造の限界に対して
オブジェクト指向がもてはやされてきた歴史があるから、あながち間違いではないと思う
厳密には手続き型とオブジェクト指向は対義ではないけど、
「関数を呼び出す」っていう手続き型の根本的な構造の限界に対して
オブジェクト指向がもてはやされてきた歴史があるから、あながち間違いではないと思う
961デフォルトの名無しさん
2021/03/15(月) 12:35:01.36ID:EubElJsa 一生COBOLでも使っていろ
962デフォルトの名無しさん
2021/03/15(月) 13:31:40.79ID:fwcCfhlr >>956
わかるw
わかるw
963デフォルトの名無しさん
2021/03/15(月) 14:14:35.81ID:DXCJp1HT 正確にはimperativeは命令型。
その反対が宣言型(declarative)。
手続き型(procedural)は命令型(Imperative)の派生概念。
手続き型であれば必ず命令型である、という関係。
よく同義語として用いられがちだが、ブロックもスコープも備えていない言語は命令型言語であると言えても手続き型言語であるとはふつう言わない。
ところがオブジェクト指向は手続き型言語の標準装備となってきている一方で宣言型言語にも取り入れることは可能なので、やはり直交概念ではないかと思う。
その反対が宣言型(declarative)。
手続き型(procedural)は命令型(Imperative)の派生概念。
手続き型であれば必ず命令型である、という関係。
よく同義語として用いられがちだが、ブロックもスコープも備えていない言語は命令型言語であると言えても手続き型言語であるとはふつう言わない。
ところがオブジェクト指向は手続き型言語の標準装備となってきている一方で宣言型言語にも取り入れることは可能なので、やはり直交概念ではないかと思う。
964デフォルトの名無しさん
2021/03/15(月) 14:38:22.84ID:W4mhVG7e 1つのプログラミング言語が両方の要素を持ってることはよくあることだけど
手続き型プログラミングとオブジェクト指向プログラミングは直交した概念ではないよ
手続き型プログラミングとオブジェクト指向プログラミングは直交した概念ではないよ
965デフォルトの名無しさん
2021/03/15(月) 15:42:44.98ID:DJgBM63I オブシコ
966デフォルトの名無しさん
2021/03/15(月) 15:52:07.88ID:JMxBUfb9 クラス定義時はメソッドの中身は手続き書いてるし、
メソッドコール時はイチ手続きとして記述してるじゃん。
つまり手続き型にオブジェクト指向加えることも可能だし、加えないことも可能というだけで、オブジェクト指向だから手続き型じゃないというのは完全に間違っている。
これはCもC++もC#もJavaもJavaScriptもPythonもPHPもGoもRustもCommon LISPもObject PascalもSwiftもKotlinも同じ。
詭弁を弄してる暇があったら勉強するべき。
メソッドコール時はイチ手続きとして記述してるじゃん。
つまり手続き型にオブジェクト指向加えることも可能だし、加えないことも可能というだけで、オブジェクト指向だから手続き型じゃないというのは完全に間違っている。
これはCもC++もC#もJavaもJavaScriptもPythonもPHPもGoもRustもCommon LISPもObject PascalもSwiftもKotlinも同じ。
詭弁を弄してる暇があったら勉強するべき。
967デフォルトの名無しさん
2021/03/15(月) 16:02:22.13ID:JMxBUfb9 オブジェクト指向だから手続き型じゃないというのは、
Qちゃんはピッチ走法だから走ってない
真央ちゃんはフィギュアしてるからスケーティングしてない
こう言ってるのと同じです。
修辞的にはありかとも思いますがね。
Qちゃんはピッチ走法だから走ってない
真央ちゃんはフィギュアしてるからスケーティングしてない
こう言ってるのと同じです。
修辞的にはありかとも思いますがね。
968デフォルトの名無しさん
2021/03/15(月) 16:05:00.75ID:EubElJsa XVIEW なんてC言語だがオブジェクト指向を
名乗っているぞ
名乗っているぞ
969デフォルトの名無しさん
2021/03/15(月) 16:08:14.29ID:W4mhVG7e970デフォルトの名無しさん
2021/03/15(月) 19:29:01.34ID:hStQFS2o 定義じゃなくてパラダイムだから
分類に使うと失敗する
分類に使うと失敗する
971デフォルトの名無しさん
2021/03/15(月) 19:42:13.68ID:EoZWZldm >>969
一般的でない定義を考えるのは自由だが、他人との議論で使うなら事前にそう定義すると断って話を進めないと他の人は混乱するだけだろう
一般的でない定義を考えるのは自由だが、他人との議論で使うなら事前にそう定義すると断って話を進めないと他の人は混乱するだけだろう
972デフォルトの名無しさん
2021/03/15(月) 20:48:13.18ID:qjY4XCPb973デフォルトの名無しさん
2021/03/15(月) 23:44:25.76ID:Po+lVn5y 関数型∩オブジェクト指向 とか、
宣言型∩オブジェクト指向 とか、
具体的な言語実装の例はあるのかな?
オブジェクト指向でよく言われるオブジェクト指向たりうる要素が直感的には
割と手続き型に依存してるような気がするが、あまり深く考えたことないのでよくわからん
宣言型∩オブジェクト指向 とか、
具体的な言語実装の例はあるのかな?
オブジェクト指向でよく言われるオブジェクト指向たりうる要素が直感的には
割と手続き型に依存してるような気がするが、あまり深く考えたことないのでよくわからん
974デフォルトの名無しさん
2021/03/15(月) 23:49:07.06ID:Po+lVn5y975デフォルトの名無しさん
2021/03/15(月) 23:57:52.44ID:M0xOqYlK976デフォルトの名無しさん
2021/03/16(火) 00:11:33.94ID:g8baptpk 参照透過性のメリットを実感できない
977デフォルトの名無しさん
2021/03/16(火) 00:12:31.36ID:NvntMOXY978デフォルトの名無しさん
2021/03/16(火) 00:16:11.47ID:Y5UwQrqj CでADT使ってればすぐオブジェクト指向って言うやつも大差ない
979デフォルトの名無しさん
2021/03/16(火) 00:56:17.98ID:6YThIMgd じゃあオブジェクト指向と関数ベタ書き比較する時はなんて言えばいいんだ?
980デフォルトの名無しさん
2021/03/16(火) 01:36:57.64ID:giEPecL9981デフォルトの名無しさん
2021/03/16(火) 02:01:29.83ID:WgCwoiox 定義で揉めやすいのは名前が悪いから
それぞれ手続き中心指向、オブジェクト中心指向、関数中心指向に脳内変換しとけばどうでもよくなる
それぞれ直交した概念でもなければ排他的な分類でもない
それぞれ手続き中心指向、オブジェクト中心指向、関数中心指向に脳内変換しとけばどうでもよくなる
それぞれ直交した概念でもなければ排他的な分類でもない
982デフォルトの名無しさん
2021/03/16(火) 03:45:18.19ID:6arf77iJ 言語の方が複合的なパラダイムに対応していても覚える頭が1ビットしかないから其れだと困るねん
983デフォルトの名無しさん
2021/03/16(火) 04:14:50.86ID:K4E4Nbs9 宣言型∩オブジェクト指向は実験的prolog拡張実装がいくつかあった気がする。
関数型はオブジェクト指向と相性悪いつか関数型勢からは唾棄すべき害悪として忌み嫌われてる印象。
世の中でオブジェクト指向といったら実質99%は手続き型∩オブジェクト指向だと思う。
C++以前から、smalltalkからこのタイプだもん。
関数型はオブジェクト指向と相性悪いつか関数型勢からは唾棄すべき害悪として忌み嫌われてる印象。
世の中でオブジェクト指向といったら実質99%は手続き型∩オブジェクト指向だと思う。
C++以前から、smalltalkからこのタイプだもん。
984デフォルトの名無しさん
2021/03/16(火) 04:15:37.06ID:K4E4Nbs9985デフォルトの名無しさん
2021/03/16(火) 07:21:55.10ID:PfTIXkDh 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
986デフォルトの名無しさん
2021/03/16(火) 07:22:43.55ID:lT7Xpsz1 >>974
時代が違うでしょw
時代が違うでしょw
987デフォルトの名無しさん
2021/03/16(火) 10:37:00.38ID:xULngIlE988デフォルトの名無しさん
2021/03/16(火) 11:20:57.40ID:XtVeGAkv a = hoge()
a.hogeset(1)
こんな感じてコンストラクタと別メソッドで初期設定しなきゃいけないクソめんどい部品があるんたけど1行でやる方法ない?
a = hoge().hogeset(1)
イメージはこんな感じで書いてメソッド呼び出しつつ変数aにはオブジェクトhoge本体を収めたい(hogesetは何も返さない)
a.hogeset(1)
こんな感じてコンストラクタと別メソッドで初期設定しなきゃいけないクソめんどい部品があるんたけど1行でやる方法ない?
a = hoge().hogeset(1)
イメージはこんな感じで書いてメソッド呼び出しつつ変数aにはオブジェクトhoge本体を収めたい(hogesetは何も返さない)
989デフォルトの名無しさん
2021/03/16(火) 11:42:56.27ID:kT+EpOUV >>988
そういうクラスを作ればいいだけじゃね?
そういうクラスを作ればいいだけじゃね?
990デフォルトの名無しさん
2021/03/16(火) 12:25:58.91ID:ja5zi908 オブジェクトhoge本体
991デフォルトの名無しさん
2021/03/16(火) 12:46:56.08ID:Zc215ysF GUI部品でsetVisible(True)とかなら略しない方がいい
992デフォルトの名無しさん
2021/03/16(火) 15:01:49.92ID:qZ3Xge1G >>988
特に何もせず1行で書くのは無理じゃないかな
selfをreturnするようなデコレータを作って
各種set系のメソッドを上書きするか別名で定義してやれば1行で書けるようにはなる
やる価値があるかどうかは状況次第
https://techiedelight.com/compiler/?G6Nb
特に何もせず1行で書くのは無理じゃないかな
selfをreturnするようなデコレータを作って
各種set系のメソッドを上書きするか別名で定義してやれば1行で書けるようにはなる
やる価値があるかどうかは状況次第
https://techiedelight.com/compiler/?G6Nb
993デフォルトの名無しさん
2021/03/16(火) 15:17:05.62ID:z+A8n8B9 3.8以降なら代入式でいいんじゃね
994デフォルトの名無しさん
2021/03/16(火) 15:32:45.88ID:XtVeGAkv995デフォルトの名無しさん
2021/03/16(火) 15:40:26.02ID:ZzxG4K64996デフォルトの名無しさん
2021/03/16(火) 15:57:44.34ID:RaDf8rd1 >>988
クラスメソッドでググれ
クラスメソッドでググれ
997デフォルトの名無しさん
2021/03/16(火) 17:09:12.14ID:CHhu1vGO gzipか普通のテキストファイルかを名前で判別して読み込みたいんで下記のように書いてるんですが、read_fileがif/elseで2回出てくるのが冗長っぽいのでif/elseの後にread_file()をしようと思うとI/O operation closedとエラーが出ます。
with open後にインデント変えたので閉じられたたのかなと思うのですが、
gzipかそうじゃないかのファイルオブジェクトとやらをif文で決めた後に、1回の関数で処理するようなスマートな書き方出来ないものでしょうか?
現状
def read_file(f):
data = f.read()
…
name = 'hoge.txt.gz'
if '.gz' in name:
with open(name, mode='rt') as f:
read_file(f)
else:
with open(name) as f:
read_file(f)
with open後にインデント変えたので閉じられたたのかなと思うのですが、
gzipかそうじゃないかのファイルオブジェクトとやらをif文で決めた後に、1回の関数で処理するようなスマートな書き方出来ないものでしょうか?
現状
def read_file(f):
data = f.read()
…
name = 'hoge.txt.gz'
if '.gz' in name:
with open(name, mode='rt') as f:
read_file(f)
else:
with open(name) as f:
read_file(f)
998デフォルトの名無しさん
2021/03/16(火) 17:24:18.02ID:Z3x27iQ0 mode="rt" if ".gz" in name else "r"
999デフォルトの名無しさん
2021/03/16(火) 18:56:39.01ID:YZCX5YV2 func = gzip.open if name.endswith(".gz") else open
with func(name, mode="rt") as f:
read_file(f)
with func(name, mode="rt") as f:
read_file(f)
1000デフォルトの名無しさん
2021/03/16(火) 19:18:47.34ID:PfTIXkDh 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 66日 13時間 56分 22秒
新しいスレッドを立ててください。
life time: 66日 13時間 56分 22秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 本当の問題は高市がバカなことじゃなくて高市みたいなバカを支持するバカが大量にいることだよな [314039747]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
- 高市首相「自らの命は自らが守るという原則で、行動とっていただきたい」 [256556981]
- メモリ不足、ジャガイモ農家が原因だった [422186189]
- 【ひまわり内閣】ネトウヨ「国会に高市さんが封筒と書類の束持ち込んでる!🤩用意周到!すごい!」6万いいね [359965264]
- ゲソ専門店『あしざんまい』を開こうと思うのだが
