Pythonのお勉強 Part71

■ このスレッドは過去ログ倉庫に格納されています
2023/09/20(水) 09:13:41.41ID:u6xixiUt0
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part70
https://mevius.5ch.net/test/read.cgi/tech/1677856680/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/11/11(土) 10:26:25.79ID:HDC3RNtv0
>>622
こういう方法もあるんだな
2023/11/13(月) 22:27:11.06ID:V0ByRftD0
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)

for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')

というプログラムで、フォルダ内の画像を作成日時順にソートできたのですが、
ここの中から上位10個を取り出してそれぞれ関数に入れたいのですが、
どのような手法でやったらいいのでしょうか?
(例:001.png→data1,002.png→data2へのような形にしたいのです。)
よろしくお願いします。
2023/11/13(月) 23:08:29.99ID:hIb2N2Ge0
>>624
https://docs.python.org/ja/3/library/stdtypes.html#list.sort
ソート載ってたこの文書にスライスってのがあるのでそれで取り出しはできる
端から公式文書に目を通すつもりないならChatGPTさんに聞くのもいいよ
2023/11/14(火) 00:03:28.13ID:3XtDLzP+0
>>625
㌧クス
公式ドキュメントは頭から抜けてたわ・・・
申し訳ない。
色々検索しても出てこなかったからどうしようかと思ってたので質問しました。
2023/11/14(火) 00:35:16.33ID:c91qDKwg0
>>622
コスパ良いポイ活だな
2023/11/14(火) 00:44:14.40ID:eAuNTGnN0
こいつ自演レス2回やるようになったんだな
以前は1回だった
2023/11/14(火) 01:34:46.08ID:KAjgCxWWM
>>624
画像ファイルを関数に入れるってどういう意味?
2023/11/14(火) 09:59:04.47ID:POS4QBLh0
スライスはpython入門の1時間目でやるだろ
2023/11/14(火) 12:04:58.19ID:a6f/tVQx0
>>629
パスを渡すってことだろ
逆になんでそれくらい読み取れないんだ?
632デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
垢版 |
2023/11/14(火) 19:06:35.65ID:xujXPfzz0
>>631
画像のバイナリを関数に渡すって考える方が普通じゃ?
2023/11/14(火) 19:12:22.18ID:POS4QBLh0
そんなアホな取り回しはせんやろ
2023/11/14(火) 20:05:40.30ID:lvDQJ2KR0
ワロタw
2023/11/15(水) 08:14:14.82ID:PY3kt1RSH
そもそも10個の関数を順番に呼び出す仕組みがPythonにはないよね
2023/11/15(水) 08:38:19.84ID:+heJlrgN0
>>624に書いてある、data1というのは関数名なのか
命名のセンスが悪い
637デフォルトの名無しさん (ワッチョイ 9f46-uMtu)
垢版 |
2023/11/15(水) 10:00:41.77ID:4ca/PT+K0
>>635
それが出来ない言語は無いのでないか。

> そもそも10個の関数を順番に呼び出す仕組みがPythonにはないよね
2023/11/15(水) 11:08:40.78ID:t2csacDc0
>>635
4つほど思いつくが
>そもそも10個の関数を順番に呼び出す仕組みがPythonにはないよね
2023/11/15(水) 11:11:13.85ID:+heJlrgN0
似たような関数が並んでるなら引数でどうにかするし、
全然違うのならテーブルで並べるか、シーケンシャルに書いちゃうか
全部画像を処理するんだから、似てると思うけど
2023/11/15(水) 15:31:22.25ID:PY3kt1RSH
>>638
あるの?
だって10個の関数だよ
同じ関数を10回呼ぶのと違うよ
例えば関数名がdata1~data10だとして、
この10個の関数に各々別のパス名を引数に渡しつつ順に呼べる?
2023/11/15(水) 15:38:36.15ID:/tSVEj7/0
そんなことする必要ないことに気がついてくれ
2023/11/15(水) 15:44:53.45ID:VGv7kGCa0
仮にやりたいって話でしょ
Pythonは関数もファーストクラスだから余裕
2023/11/15(水) 17:45:49.81ID:olanfxkjd
# 超適当に答えてみる
def data1(path):
 pass

paths = ["path1.txt","path2.txt","path3.txt",]
datas = [data1,data2,data3,]

# こっちはべた書き
data1(paths[0])
data2(paths[1])
data3(paths[2])

# こっちはグルグル
for data,path in zip(datas,paths):
 data(path)
2023/11/15(水) 20:01:43.64ID:qjPY1w3P0
配列定義する手間で全部書けるだろなにがしたいんだ
645デフォルトの名無しさん (ワッチョイ 1f27-XI6K)
垢版 |
2023/11/15(水) 21:38:54.96ID:SiUAlBQI0
>>629-643
624です。
Lineを使ってStableDiffutionで作成した画像をソートして作成日時が新しいもの10個を自分用に送り付ける方法を考えてました。
んで、関数の話としては>>643のべた書きが近く・・・というかまんまで、文字通りべた書きで10回処理を行いそれぞれ別関数へ突っ込んでます。
本当はもっといい処理方法あると思いまが、あまりプログラム系は触ったことがなく、自分でできる範囲で最適化するつもりです。
>>629 の画像ファイルを関数に入れるに関しては、
im1 = Image.open(data)
という処理を別でやっており、10枚の画像ファイルを、2列5行の画像ファイルで書き出して送信するするつもりです。(ランダムで10枚を1枚にしてLineに送る処理はできたので・・)
LINE NotifyやLineAPIを叩いても、複数画像をまとめて送る手法がなかったので、1つの画像で送る方法をとっています。
で、そのプログラムですが以下のようになってます。
(Google Colabで実行)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
このプログラムでソートした上から3つを取り出せたのですがいかがでしょうか。
また、
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
の処理があまりよくわかっていないのですが、
これは、for file in pathsでフォルダ指定したフォルダ内の全ファイルに対して、{file.stat().st_mtime:.0f} で更新日、{file.name}でファイル名の表示で会っていますでしょうか。
それか、ほかにもっとスマートな手法ありますでしょうか。 よろしくお願いします。
2023/11/16(木) 00:51:14.98ID:Q2M7jM7u0
たぶんやりたいことはこんなかんじだろ

for i in range(10):
eval("data" +i)(paths[i])
2023/11/16(木) 01:17:55.83ID:YpHIXhGK0
>>645
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1] <- ここと同様に似た部分は重複処理なので値の変化量を保存する処理にするともっと良くなるかも
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
648デフォルトの名無しさん (アウアウウー Sae3-Xzxn)
垢版 |
2023/11/16(木) 10:39:16.68ID:QXdh7keCa
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
かっこわるい
2023/11/16(木) 11:03:41.52ID:pvCpT+Yld
もしかして、
「関数」じゃなくて「変数」だったり?
2023/11/16(木) 13:24:54.46ID:eCSrCCxs0
>>645
>>563 急がば回れの典型
2023/11/16(木) 17:03:02.71ID:1QM1kixjd
l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]

こんな書き方してるのに
> ランダムで10枚を1枚にしてLineに送る処理はできたので
ここまで辿り着けたのがすげぇ

ランダムのソースコード(I/F部分だけでも)を貼ったら、答えがすぐ返ってくると思う
他の部分もめちゃくちゃ言われるだろうけど、そっちはお勉強ということで
2023/11/16(木) 17:12:01.88ID:KD9PIbB20
このプログラム系の知識感でAPI叩いてるってのが逆にすごい。
2023/11/17(金) 00:14:30.55ID:7IofKhtq0
subprocessとsubprocess.PIPEを1行でimportする方法ってある?
2023/11/17(金) 09:10:23.93ID:40Zys+6x0
import subprocess; from subprocess import PIPE て事ではなく?
655デフォルトの名無しさん (アウアウウー Sae3-OPKY)
垢版 |
2023/11/17(金) 10:18:44.46ID:BqbQlbW7a
inport subprocess
だけでよくね?
656デフォルトの名無しさん (ワッチョイ ff46-uMtu)
垢版 |
2023/11/17(金) 11:02:23.16ID:HkmKeaDT0
>>655
許せない。。

>>> inport subprocess
File "<stdin>", line 1
inport subprocess
^
SyntaxError: invalid syntax
>>>
2023/11/17(金) 11:28:45.83ID:180/RciHd
もちつけ
>>> import subprocess
>>> print(subprocess)
<module 'subprocess' from '.../subprocess.py'>
>>> print(subprocess.PIPE)
-1
658デフォルトの名無しさん (ワッチョイ 1fb1-u6Hu)
垢版 |
2023/11/17(金) 13:19:32.60ID:FFgkWy7J0
使えなくなるまで
os.system()を使います><。
2023/11/17(金) 15:17:29.47ID:Y0aXBNXC0
>>654
1ステートメントと言うべきだった
importを2回書くしか方法がないなら2行にしとく
Rustのuse std::io::{self, Read};みたいなのをイメージしてた

>>655
PIPEやDEVNULLで十分なところを
subprocess.PIPEやsubprocess.DEVNULLとするのは
書くのも読むのも辛い
少し凝ったことをすれば何回も使うからね
2023/11/17(金) 22:22:21.30ID:i6SiN6NQ0
>>659
別のモジュールで同じ名前の関数なんかもあるので
せめて明示的に別名にして使ったほうが良くないかい?
661659ではない (ワッチョイ 6e46-eNDp)
垢版 |
2023/11/18(土) 03:49:04.58ID:0Uy+05Nv0
>>660
import subprocess {self as sp, PIPE as spp}
みたいにして、subprocessとsubprocess.PIPE各々を別名にして、1ステートメントでimportする方法ってある?
2023/11/18(土) 07:14:32.15ID:kMLLK9REH
>>661
無理でしょ
subprocess に別名を付けるには import
subprocess.PIPE に別名を付けるには from import
import と from import は別の構文だから並べられない
2023/11/18(土) 08:04:12.74ID:Kfn2l2LH0
可読性を犠牲にしてまで1行にこだわるのかが謎だ
664デフォルトの名無しさん (アウアウウー Sa85-UHOz)
垢版 |
2023/11/18(土) 17:02:58.33ID:rXJKESWNa
from subprocess import *
665デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
垢版 |
2023/11/18(土) 17:19:32.77ID:gr23gvrO0
>>664
>>653 の要件を満たさないのでは。

>>> from subprocess import *
>>> dir(subprocess)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'subprocess' is not defined
>>>
666デフォルトの名無しさん (ワッチョイ 8690-tE+F)
垢版 |
2023/11/18(土) 20:47:54.52ID:fIOteNuc0
>>654の回答では気に入らず、>>661を望むとは
理解しがたい。

好きなだけ自分の望む書き方を、ひとりで探求すればいい。
667661 (ワッチョイ 6e46-4xZ8)
垢版 |
2023/11/18(土) 21:57:39.08ID:gr23gvrO0
>>666
>>653 の中の人は納得したんじゃないの。
「1行で」という命題に対する >>654 の回答は、

printf("hello, "); printf("world"); printf("\n");

みたいで、オレはナンダカナーと感じるけれど。
668デフォルトの名無しさん (ワッチョイ 29b1-ettz)
垢版 |
2023/11/18(土) 22:09:39.15ID:2M9ZJit40
昔パールを初めてやってた時

open($fp,"/bin/ls | ") || die 'cant open /bin/ls';

while(<$fp>){
print;
}

close($fp);


これスゲーって思った。

コマンドをパイプつきでオープンして、while文で読み込むって。

でもパールはダメだ、見切りを付けてpythonに移った。

久し振りすぎて、上の書くのも苦労したww
2023/11/18(土) 22:57:41.75ID:STIOjWGd0
pythonでも似たようなことやるがな
670デフォルトの名無しさん (ワッチョイ 29b1-ettz)
垢版 |
2023/11/18(土) 23:18:59.79ID:2M9ZJit40
え、できるの?知らんかった。
2023/11/18(土) 23:26:44.76ID:STIOjWGd0
話題のsubprocess.PIPEにstdoutを流す
672デフォルトの名無しさん (ワッチョイ 29b1-ettz)
垢版 |
2023/11/19(日) 00:05:14.88ID:B+HVId7D0
まあ、そりゃそうだけど。

perl の open()関数でコマンド起動してファイルを読み込むのと同じ仕様で書けるって
力技感一杯じゃんw
2023/11/19(日) 02:07:38.68ID:S9/JwIsQ0
>>667
最初、改行文字の節約って思ったけど、
セミコロン+スペースと変わらんもんなぁ
LFなら改行のほうが少ないし

pythonは行あたり80文字という一応の目安を文書化した言語だから、
改行に抵抗がない人が多そうだけど、そうでもないのかな?
674デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
垢版 |
2023/11/19(日) 07:30:36.55ID:vAXGDL640
>>673
敢えて利点を挙げるなら、
import urllib2.{Amodule, Bmodule} # Rust風?
と書ければ、キーワードが集約されるので、
import urllib2.Amodule
import urllib.Bmodule # 「2」字脱落
みたいな片ちんばな誤記にならない。
from urllib import Bmodule と誤記して、Bmodule.same_function() を呼ぶと、
urllib2 の関数を扱っているつもりが、実は
urllib を使用していたという、自分では解りにくいミスになるかも。
なまじ Amodule はマトモなので、思い込みに泣く。
675デフォルトの名無しさん (アウアウウー Sa85-UHOz)
垢版 |
2023/11/19(日) 12:19:59.30ID:/G2k3fWta
>>667 観て造った
>>653
https://paiza.io/projects/kIZMaC_GHS4Albu4tapOTQ

def rust(mod, names):
globals()[mod] = __import__(mod)
for n in names:
globals()[n] = getattr(__import__(mod, globals(), locals(), [n], 0), n)

rust('subprocess', ['PIPE', 'STDOUT'])

print(dir(subprocess))
print(PIPE)
print(STDOUT)
2023/11/19(日) 16:33:07.78ID:oPb7CqgG0
>>675
ネタだとしてもサブパッケージ等対応出来てないものがいくつかあるので却下ですね
677デフォルトの名無しさん (ワッチョイ ae4d-8oJ/)
垢版 |
2023/11/19(日) 16:51:15.74ID:j9gIHEdT0
DAOデザインパターンのセッションオブジェクトって
どこで持つべき?
ロジッククラス?それともセッション管理クラスを新しく作る?
それともDAOの中でセッション張る?
2023/11/19(日) 22:43:20.36ID:9EvVoZ760
>>647-652 
いろいろ教えていただきありがとうございました。
646です。

>>650 さんが行ってるように関数じゃなくて、変数ですね・・・勘違いしてました。申し訳ない。

必要に駆られてプログラム書いてたので、コピペと
なんかほしい感じのやり方+APIとかのサンプルプログラムを見てポチポチ書いてた感じです。

>>648 さんの書いたプログラムで上から10個選択できたのでこれで自分なりに最適化をしていこうと思います。

>>652 さんが言ってた、ランダム選択のプログラムは以下の通りです。
file_path = './img/'
file = glob.glob("./img/*")
data =random.choice(file)
こいつでimgファイル内のどれか1つの画像を選ばせてます。
(ほぼコピペです)


また、l_reversed = paths[0::-1] で[0::-1]を[1::-2]のようにすると
ソート順で表示する画像が1つずれるのはちょっと理由がわからないのですが、
理屈を教えていただけないでしょうか。

よろしくお願いします。
2023/11/19(日) 22:59:46.66ID:uFm9+T2V0
アンカーどうなっとんねん
2023/11/20(月) 09:06:45.18ID:RnUiirN00
>>678
とりあえず配列の使い方を勉強したほうがいい
2023/11/20(月) 09:28:59.78ID:QoOP4h9Z0
https://pbs.twimg.com/media/FRbgL_YaQAA0lyv?format=jpg&name=medium
チートシートが要るくらい判りにくい
682デフォルトの名無しさん (アウアウウー Sa85-UHOz)
垢版 |
2023/11/20(月) 14:01:18.90ID:MS7hPbOQa
Blender4登場でPython用無しへって言われてるけど
Python使った方が描き易くね
2023/11/20(月) 15:38:29.00ID:DbfyuSYxd
すまん、アンカーつけミスってた
2023/11/20(月) 17:19:06.53ID:39chtrqnd
>>678
(なんでsampleじゃなく、choiceなんだ・・・)
data =random.choice(file)
は1つの画像
l_reversed = paths[0::-1]
は1つの画像が入ったリスト
ランダムもソートも、このあとどう使われてるのかさっぱり分からんのだぜ

(別の問題が発覚しそうだけど)
とりあえず、ランダムのプログラムにこの2行入れちゃえば解決しそう
file.sort(key=os.path.getmtime, reverse=True) # ソートして
file = file[:10] # 10個だけにする

あと、最適化とかスマートとか気にするレベルじゃない
2023/11/20(月) 21:11:58.82ID:uCxOj8y10
Excelの散布図で近似曲線の数式(y=ax+bみたいなの)をすぐ表示できるけど、
plotnineのstat_smooth関数使うときに同じ感じでサクッと表示する方法ないですかね?
2023/11/20(月) 22:34:11.87ID:QThOiYWP0
>>685
ありがとうございます。
検証したら確かに
file.sort(key=os.path.getmtime, reverse=True)
で行けそうです
(Google Colabだとアップロード順や作成時間の関係でmtime/ctimeが若干思った挙動と違いますが・・・)

この場合だと、べた書きすると
File_1.sort(key=os.path.getctime,reverse=True)←ここで作成日付逆順でソート(getctimeで作成日順でソート)
File_1_Last = File_1[0]←最初の1個(一番直近に作成したやつ)
という理解でであってますかね?

10個絞り込みたかったらFile_1[0~10]でべた書きすればいいということですよね?

初歩的なことですいません・・・(-_-;)
2023/11/20(月) 22:34:48.05ID:QThOiYWP0
>>684
やん・・・またアンカーミスった(;´д`)
2023/11/20(月) 23:42:23.04ID:LeyGRqAQd
>>686
公式ドキュメントのチュートリアルの最初の方に書いてある
チュートリアルくらいは、一度目を通してくれ
https://docs.python.org/ja/3/tutorial/index.html
https://docs.python.org/ja/3/tutorial/introduction.html#lists
2023/11/20(月) 23:55:15.19ID:7M4T/4JK0
>>688
これの11.3まではやったけど
11.4のマルチスレッディング以降はまだやってないなあ
2023/11/21(火) 08:23:09.96ID:LcVKgP510
チュートリアルには
from urllib.request import urlopen
が書いてあるけど、
import requests
の方がいいよな
2023/11/21(火) 09:32:55.38ID:OtSZp9c+0
チュートリアルなんだから、PyPIその他サードパーティモジュールの使い方について学ぶ段階に進む前は、標準モジュールのみで話を進めねば
2023/11/21(火) 10:04:19.49ID:QDAC0gh80
>>686
なんかすごい速度で進化していきそうだな。理解が早そう。
ただ、ランダムとか言ってた割にソートしたがるのは謎だが。
2023/11/21(火) 12:16:17.16ID:0aCdJNBJ0
このスレ見てチビったけどお前ら上級者なんだろ?

最初はこういうのから始めればいいんだよな?
http://imgur.com/YVs4j9n.jpg
2023/11/21(火) 12:50:42.41ID:QDAC0gh80
どんな言語でも最初はhello worldと相場が決まっている
695デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
垢版 |
2023/11/21(火) 15:20:50.52ID:aUIDxCId0
>>693
input 関数があるなんて初めて知ったわ。
オレはようやくのぼりはじめたばかりだからな
このはてしなく遠い Python坂をよ…
2023/11/21(火) 15:26:30.08ID:Vub9wpCBa
>>695
勘弁しろよ
標準入力から入力するってどの言語でも1番最初にやるレベルのことだぞ
2023/11/21(火) 15:35:40.89ID:Vub9wpCBa
inputという関数があるんだ、それは入力を受け取る関数なんだ、じゃなくて
標準入力(キーボード)から入力する方法があるはずだ、それはpythonではinput関数なんだ
こういう発想でやらないとコードなんていつまでも書けんぞ
この思考でやれば他の言語の時も脳の負荷が少ない
俺はこれを抽象的仮説思考と読んでいる
2023/11/21(火) 15:41:58.36ID:LcVKgP510
普通に使ってたらinput()なんか使わんやろ
実行を一時停止する時に使うくらい
2023/11/21(火) 15:59:34.91ID:Vub9wpCBa
んなアホなw
700695 (ワッチョイ 6e46-4xZ8)
垢版 |
2023/11/21(火) 16:01:38.28ID:aUIDxCId0
>>696,697
sys.stdin で憶えたからそっちばっかり使っていたわ。
勉強になるね、ChatCPT。
2023/11/21(火) 16:15:26.01ID:is7gJ9QfH
AI使い出すとやりたいこと書けばサンプルコード吐いてくれて、更にそれを発展させることも出来てしまうから、なんかアイデアだけで給料貰ってる感じがする
これからはコード書けるとか、ここでやり取りしてるような知識では飯食えんな
2023/11/21(火) 17:03:35.20ID:YwWuHKsv0
オンラインじゃない現場なんてクソあるから
飯は食えるけど、サクッと合意形成とサクッと試作品とサクッと検証するまでがセットにならないと開発者としては落ち目
2023/11/21(火) 17:05:25.01ID:YwWuHKsv0
インターネット接続できない場所もあるからね
2023/11/21(火) 19:33:06.81ID:KWbYnmSX0
>>697
>標準入力(キーボード)から入力する方法があるはずだ、それはpythonではinput関数なんだ
必要に迫られてキーボード入力の方法を探してればそうなるし、そういう場面がなければ
>inputという関数があるんだ、それは入力を受け取る関数なんだ
になる
そんだけの話
705デフォルトの名無しさん (ワッチョイ 29b1-ettz)
垢版 |
2023/11/21(火) 22:11:07.25ID:YnWTOShJ0
input()ってデバッグの時に使うな。
ある条件の時の結果を見たい時、input()入れておいて一旦プログラムを止めて結果を見る。
2023/11/21(火) 22:29:10.41ID:LcVKgP510
まあ、普通は止まっても何も嬉しくないけど、seleniumでブラウザが動いてる時は、
止めて観察しないと作れない
2023/11/21(火) 22:32:29.50ID:x0TxAGsF0
ブレイクポイントの使い方を覚えようか
2023/11/21(火) 22:49:08.88ID:MyNMYruR0
>>705
Visual Studio Codeでデバッガ使えよ
2023/11/21(火) 22:58:06.32ID:ilvvGzSI0
これはまた珍しい人だな
2023/11/21(火) 23:04:11.72ID:MyNMYruR0
まさかプレーンなエディタ使って書いてる?
マジで生産性ゼロだからやめとけ
2023/11/21(火) 23:32:04.01ID:LcVKgP510
何で書いても変わらんよ
2023/11/21(火) 23:47:12.00ID:W0YnhLkK0
俺は初めATOM使ってたわ
色んなパッケージ組み合わせて使いやすい環境にして楽しんでたけど、会社でvscode使ってみたらスゴすぎて速攻移行したw
2023/11/22(水) 00:17:21.38ID:F4GGzYS90
素人はVScode一択だ
エラーとか事前に全部チェックしてくれるし
型がないからそこまで有効ではないが補完もボチボチ
あとデバッガもある
組み込みのデバッガは癖があるので使いにくいしね
いい時代になったもんだ
昔はemacsかvimでゴリゴリカスタマイズするか
IntelliJみたいな有料IDE使うしかなかった
2023/11/22(水) 00:18:44.29ID:F4GGzYS90
>>712
Sublimeやatomをさらに強化したようなエディタだしね
もはやこれに勝てるエディタはない
2023/11/22(水) 00:19:14.06ID:F4GGzYS90
素人さんでもそれなりのレベルに引き上げてくれる
使わない手はない
2023/11/22(水) 02:19:33.89ID:1zch1/igH
>>710
IDEは覚えること多すぎてダメ
苦労してやっとPython使えるようになったのに今度はVSCode覚えろとか無理
2023/11/22(水) 03:23:40.39ID:F4GGzYS90
>>716
VSCodeはたいして覚えなくても良い
拡張だけ入れとけば勝手にやってくれる
他のIDEに比べたら劇的に簡単だから使ってみろ
ちょっとずつ覚えれば良い
多分VSCodeは代わりがないから
今後10年レベルで使うことになるからとっとと入れよ
2023/11/22(水) 03:24:46.57ID:dB+b5h5a0
VSCODEは慣れたら最強だが
プラグイン増え過ぎでそれを使いこなせてる人でないと敷居が高いともw

spyderはちょっと重い
idleは軽くて使い易いがanacondaのトップに無いからだんだん使わなくなる

サクラエディタ、terapad、notepad++あたりはちょっと開いて確認、修正するくらいなら使うか

エディタではないが
jupyter各種も勉強という意味では良い
2023/11/22(水) 03:30:31.61ID:dB+b5h5a0
VSCODEも開いて書いて実行するの環境設定に一瞬だけだが手間が掛かるから超初心者は「どうやるんだろう」
で時間が掛かる

ググればいいけどな
でも開発に8GBメモリのPCが与えられる職場だと厳しいか
720デフォルトの名無しさん (ワッチョイ aefe-8oJ/)
垢版 |
2023/11/22(水) 07:28:28.99ID:eWaPk4Ti0
VSCodeで難しいとか言ってたら
eclipse見たら発狂するぞ
2023/11/22(水) 07:40:33.97ID:xMRvBf/x0
まぁ情報収集にここを使うくらいの知識レベルなんだから何事も難しいのは仕方ない
2023/11/22(水) 07:40:36.14ID:1zch1/igH
一回だけVSCode入れてみたことあるんだけど
設定メニューがへんてこなXML風で、これは習得コストが高いと思って断念した
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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