[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/02 02:25 / Filesize : 266 KB / Number-of Response : 1024
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その44【Ruby禁止】



1 名前:デフォルトの名無しさん [2019/07/24(水) 21:02:48.30 ID:d1IM+Tl+.net]
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用う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公式サイト◇ www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
mevius.5ch.net/test/read.cgi/tech/1555397061/

962 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 21:49:00.46 ID:mUvVkZQa.net]
普通に関数にして呼び出したらよくね?
てか例だとサブプロセスにする意味が分からないんだけど
その順に処理したいなら関数呼ぶべきだろjk

963 名前: mailto:sage [2019/10/13(Sun) 21:54:47 ID:kaSZg9r2.net]
>>944
同じこと思ったw
関数にするまでもなく a.py を

print("a")
import b
print("c")

と書けばいいんじゃなかろうか

964 名前: mailto:sage [2019/10/13(Sun) 22:01:03 ID:2cfG7zlA.net]
なんか計り知れない思惑でもあるんちゃうか

965 名前: mailto:sage [2019/10/13(Sun) 22:13:04 ID:D2+OyZ4Y.net]
特に深い意味はなく最近知ったsubprocessを試してみたかっただけだろ

966 名前: []
[ここ壊れてます]

967 名前: mailto:sage [2019/10/13(Sun) 22:29:53 ID:T+KUU83v.net]
皆様ありがとうございます

>>945様の通りにしたら普通にいけました
用途的にもどう考えてもsubprocessでやるべきではなかったです
ありがとうございました

968 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 22:52:27.29 ID:QvtX88Gt.net]
>>943
print('a', flush=True)
にしたらリダイレクトしても期待通りの順番になった

969 名前:デフォルトの名無しさん [2019/10/14(Mon) 07:57:39 ID:mfuSBJ/S.net]
兄さん、catもバッファリングあるで。

970 名前: mailto:sage [2019/10/14(Mon) 12:19:48 ID:MWArLfdG.net]
最近のGNUのcatはバファリングしないみたいだよ
-uオプション(バファリングを無効にする)は残ってるけど無視される
macとかは知らん



971 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 00:14:25.01 ID:Bai05OKm.net]
VSCodeでpython書いてます
フォーマッタにautopep8を入れてます
関数宣言などの上に2行空白行を入れてくるのをやめさせたいのですが
何を設定すれば良いでしょうか

例として、
# say hello
def say_hello():
 print("hello.")
これをフォーマットすると
# say hello


def say_hello():
 print("hello.")
となってしまいます
宣言と、その上のコメント行との間には改行を挟みたくありません

972 名前:デフォルトの名無しさん [2019/10/15(Tue) 00:26:09 ID:Uk3+p6qz.net]
def say_hello():
 '''say hello'''
 print("hello.")

973 名前: mailto:sage [2019/10/15(Tue) 00:28:00 ID:6JoAHvL2.net]
>>952
関数に対するコメントはdefの下にdocstringで書く
まずはPEP8を一読して

974 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 01:00:53.51 ID:Bai05OKm.net]
>>953-954
ありがとうございます
ドキュメントストリング(トリプルクォート)の件はちらっと調べたりはしてました

後出してすみませんが、blender用のpyファイルをVSCodeで書いており
既存の公式アドオンファイルなどの中身を見ると
だいたいが951の通り、宣言文の上に行コメントが入っている感じなので
それに合わせたいのです(ならautopep8使うなよってツッコミはご遠慮ください)

例えばimport文の記述位置の修正(ファイルの先頭に持っていかれる)を無視する為に
--ignore=E402 を指定しています
このように特定コードを指定することで改行の件も無視できないかなと思ったのですが
autopep8 宣言前 改行 などでググっても思うように情報が出てきません

975 名前:デフォルトの名無しさん [2019/10/15(Tue) 01:07:21 ID:Uk3+p6qz.net]
blenderのサンプルのことは忘れろω
あれは糞だωωω

(blenderが糞とは言ってない)

976 名前: mailto:sage [2019/10/15(Tue) 01:17:19 ID:6JoAHvL2.net]
>>955
俺ならautopepをやめるw
uncrustifyでpep8用持ってきて自分好みの設定をした方が早そう

977 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 01:23:54.81 ID:NeqDSxDF.net]
flake8でチェックして、必要に応じて自分で修正してるわ
勝手に変更されるのが嫌なので

978 名前: mailto:sage [2019/10/15(Tue) 01:38:14 ID:72mqelru.net]
保存時フォーマット+手動フォーマット派だな
理由はこういう時こまるから
道具に遊ばれてるのほどばかばかしいこともない

979 名前: mailto:sage [2019/10/15(Tue) 11:35:47 ID:ntxaWRsX.net]
PEP8に従えないならpythonを辞めた方がいい
君には宗教は向いてない
もっと別の言語を探すべきだ

980 名前: mailto:sage [2019/10/15(Tue) 12:06:17 ID:YTs2ZIZB.net]
PEP8順守しないと
同じことするコードは
誰でも同じようなコードになり読みやすい(はず)
といううりにしているメリットが壊れる



981 名前:デフォルトの名無しさん [2019/10/15(Tue) 12:28:19 ID:/7eSP3bX.net]
「Pythonで書くと同じことするコードは誰でも同じようなコードになり読みやすい」
このカンバンは嘘だった!
特定のコーディングルールを守れば、という条件を付けるのであればどんな言語でも同じじゃんwww

982 名前: mailto:sage [2019/10/15(Tue) 12:33:26 ID:PCFM8zGG.net]


983 名前:bズは自殺してろ []
[ここ壊れてます]

984 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 12:45:38.61 ID:iZY+JTOL.net]
dストの位置でコードの読みやすさなんてノミのクソほどしか変わらんだろ甘えるな

985 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 12:57:41.28 ID:LXkkA+L3.net]
>>962 python のコーディング規約がPEP なんだからか守るべきだよ。

986 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 13:04:44.56 ID:LXkkA+L3.net]
3.8 がリリースされたな。

:=というオペレータが導入され、<変数> := <式>の形で変数への代入を式に埋め込むことができます。この表記をnamed expression(名前付き式)と呼ぶようです。



length = len(s)
if length > 3:
 print(length)
else:
 print('too short')

これは

これはこのように書けます。
if (length := len(s)) > 3:
 print(length)
else:
 print('too short')

余談 := はセイウチ演算子 walrus operator
と言うらしいな。両目と牙の形に似てるからだと

987 名前:デフォルトの名無しさん [2019/10/15(火) 14:24:13.16 ID:nuB7xRPW.net]
じゃあせめて :3= くらいやってくれないと。

988 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:43:12.22 ID:iJLx9DXs.net]
それじゃあエルビスにひげがついたようなもんだろ

989 名前: mailto:sage [2019/10/15(Tue) 15:08:50 ID:ntxaWRsX.net]
パスカル代入子でいいんじゃねえの

990 名前: mailto:sage [2019/10/15(Tue) 15:42:32 ID:4VeqxDxA.net]
>>967
バカボンのパパ演算子



991 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 15:45:01.35 ID:PY4hsy3Z.net]
:)

992 名前: mailto:sage [2019/10/15(Tue) 15:50:21 ID:7esu9lml.net]
execとevalの違いが良くわからないんですが、どっちが優秀なんですか?

993 名前: mailto:sage [2019/10/15(Tue) 15:58:02 ID:ntxaWRsX.net]
ttps://sicp.comp.nus.edu.sg/chapters/img_javascript/sicp.png
このオサンが持ってる通り

994 名前:デフォルトの名無しさん [2019/10/15(火) 16:02:48.63 ID:cAxXsgrc.net]
そんなにevalなよ
弱くなるぞ

995 名前:デフォルトの名無しさん [2019/10/15(Tue) 19:40:19 ID:UuW7b2Cm.net]
blender の python バージョン上がらんかな
ソースからビルドすれば好きなバージョンに出来るらしいが
まんどくせ

996 名前: mailto:sage [2019/10/15(Tue) 21:27:29 ID:Bai05OKm.net]
>>956-959
とりあえずignore設定で対処してしまいました

今後他にも煩わしい点が出てきて面倒になったらautopepは辞めて他の手段を探します
uncrustifyはメモっておきます
ありがとうございました

997 名前: mailto:sage [2019/10/15(Tue) 23:13:36 ID:h8wIShZn.net]
そこまでして間違ってる方のテンプレに合わせないと気が済まないとか病気だろ
なんとか障害ってやつ

998 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 23:57:18.52 ID:LXkkA+L3.net]
>>976 そこまでしてblender のコメント方式に合わせる必要性があるの?

Python の関数のコメントなら docstring を使うべきだろ。
help(関数名) でdocstring が出るし、Vscode でもサポートしてるし(autoDocstring)。

https://qiita.com/firedfly/items/00c34018581c6cec9b84

999 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 03:15:06.56 ID:Ia5ZcaaY.net]
他の言語ではスクリプトの上の部分にforなど使って処理を書いていました。
そして、下の方にサブルーチンを大量に作ってそこから適宜読み出していました。
このようにすると、上部を修正するだけでスクリプトが簡単に編集できるためです
Pythonだとサブルーチンを上部に書くとエラーが出ますが毎回ホイールで下に移動して書き直すのは不便ではないでしょうか?
慣れれば普通ですか?

また、Pythonではインデントに空白を使う人が多いようですが、
エディタの設定で改善されるかもしれませんが、うっかりDelやBackSpaceで消すとイ
ンデントがずれたりして嫌なのですが慣れますか?

1000 名前: mailto:sage [2019/10/16(Wed) 06:59:57 ID:r4KKfSye.net]
別にpythonに限らずネストの深さでインデント揃える癖ついてたから気にならなかったわ
可読性的にも癖つけた方がいんでない?むしろ今までどうしてたのか気になる



1001 名前:デフォルトの名無しさん [2019/10/16(水) 07:17:18.25 ID:n7nWPnDS.net]
python 3.8.0 で import win32clipboard を実行しても、以下のようなエラーが出る。
ImportError: DLL load failed while importing win32clipboard: 指定されたモジュールが見つかりません。

python 3.8系はしばらくインストールしないほうがいいカモ。

1002 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 08:59:50.72 ID:Mi1dGaVf.net]
>>979 > Pythonだとサブルーチンを上部に書くとエラーが出ますが

def で宣言する関数の事を言ってるんだよね? エラーなんて出ないけど。 関数呼び出しを先に書くとと言う話?

インデントについてはIDE で面倒みてくれるだろ。何を使ってる? 
下の方に関数呼び出しがあっても何ら不都合はないよ。

1003 名前: mailto:sage [2019/10/16(Wed) 10:15:15 ID:dCHq3Ix4.net]
>>979
WindowsならCtrl+F
MacならCommand+Fで
検索ウインドウが出るから
いちいちホイールコロコロしなくても
行きたいサブルーチン名さえわかってれば
一気に移動できる

>インデントに空白
どーしても宗教的理由とかでお嫌なら
タブで統一してもいい。
ただし、
どーしても長い行を分割して書かざるを得ない場合の
後半行のインデントにも
空白ではなく、タブを使うことになる。

1004 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:17:42.14 ID:dCHq3Ix4.net]
くだすれPython(超初心者用) その45【Ruby禁止】
mevius.5ch.net/test/read.cgi/tech/1571188632/

1005 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 10:27:55.66 ID:kX3OMluf.net]
いちいちスクロールして使ってるな〜
今ちゃんと動いてるから触りたくないけど関数だけ別ファイルに分けれるんだよね?

1006 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:28:50.95 ID:dCHq3Ix4.net]
>>985
>関数だけ別ファイルに分けれるんだよね?
Yes

1007 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 10:39:45.65 ID:pCAY8ipP.net]
関数へのジャンプだってIDEが面倒見てくれるだろ
ジャンプどころかその場に表示だってできる

1008 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:43:28.41 ID:dCHq3Ix4.net]
IDEが嫌いだったり、宗教上の理由で使えないだったり
PCのスペックが糞でうごかなかったり
するひとだって
いるんですよー!

1009 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 10:53:52.75 ID:pCAY8ipP.net]
IDEの導入ってそんなにハードル高いんか
そいつは知らなんだわ

1010 名前: mailto:sage [2019/10/16(Wed) 11:29:28 ID:1/rjcmpT.net]
IDEを使わないってどっちかと言うと宗教だろ。 プログラミングの効率がかなり違って来る。
どうしても複雑なIDEを使いたくなければ Sublime などのエディターでもかなりやってくれるけど。

そもそも今までプログラミングはどうしてたんだよ。 テキストエディタのみ?

IDEを使わないと、コード補完とかやってくれないから入力効率がかなり悪くなる。 ミスも多くなる。



1011 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 11:38:20.65 ID:RHZrzUKd.net]
え?ノミみたいな視野の見識してるね
IDEじゃないと補完できないだって
傑作すぎてジョークと区別がつかないわ
1990年くらいから書き込んでるんだろうかね

1012 名前:デフォルトの名無しさん [2019/10/16(水) 12:48:15.93 ID:dmmazo8P.net]
E.S.P.だが
上の方でサブルーチンがーとか言ってるVBerは
ソースの上からグローバルな場所にコード書き始めてるんだろ

hoge.py
--------
コード
コード
関数
関数
--------
どうみても馬鹿だが
どうしてもこんな書き方を望むなら

main関数とか作って
hoge.py
--------
def main():
 コード
 コード

関数
関数
main()
--------
って書いとけばいい

1013 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 12:54:49.05 ID:1/rjcmpT.net]
>>991 IDE以外のなにができるって? 例えば?

IDE例えば Jupytor Notebook の例
1)
import numpy as np
np.su で subtruct とsum が選択できる?

np.sum() でこんなの出る? できなくても構わないが
Signature:
np.sum(
['a', 'axis=None', 'dtype=None', 'out=None', 'keepdims=<no value>', 'initial=<no value>'],

2)
pr でprint選択できる?

print() でこんなの出る? できなくても構わないが
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:

1014 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 14:36:40.14 ID:bcBxjAM2.net]
エディタでもIDEでも関数を別ファイルに書いて
二つのウインドウで表示しながらプログラミングすれば
いいんじゃないの? 太古の昔からみんなそうやっているけど。
もちろん三つ以上のウインドウを開けてもかまわない。

1015 名前:980 [2019/10/16(水) 15:22:00.21 ID:6vD3SXWz.net]
C:\Windows\System32にdllをコピーして暫定対応できるようです。
以下issueの既知の不具合かも。
https://github.com/mhammond/pywin32/issues/1406

1016 名前:デフォルトの名無しさん [2019/10/16(水) 15:36:59.61 ID:3Ceb6FWi.net]
>>993
IDEじゃないJupyter Notebookでもそのぐらい出来るぞ、と思ってスクリーンショットを撮ってたところだったんだが、
Jupyter NotebookはIDEでこういうことが出来るという主張かな。
でも、Jupyter NotebookはあんまりIDEって言わなくないか?

1017 名前: mailto:age [2019/10/16(Wed) 16:54:17 ID:dCHq3Ix4.net]
>>989
HDDの空き容量の時点でね もうね

>>990
>今までプログラミングはどうしてたんだよ。 テキストエディタのみ?
Yes!(゚Д゚)

1018 名前: mailto:sage [2019/10/16(Wed) 17:06:12 ID:kX3OMluf.net]
関数探すの面倒でメモ帳に保存してそっちで編集してコピペでVSCodeに貼ってたけどちゃんとした使い方調べた方がいいな

1019 名前: mailto:sage [2019/10/16(Wed) 17:13:58 ID:lWzU93N+.net]
vim, emacs だとhotelのwindowsでも走るようにUSBメモリーに開発環境入っちゃう
なんてこともできたりはする

1020 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 17:25:14.05 ID:bKQy1ZjZ.net]
>>996 Notebook は、完全なIDE では無いがIDEの最低限は持ってる。(コード補完)

Notebook とnbextentions が使えれば、iPhone でも同じことができるし。
長々としたものは閉じたり、開いたりできるし。

Jupytor からはVS Code も起動できるし、まあ手頃でいいんじゃない?
大規模なプログラム開発には無理だが、練習用としては使いやすいのでは?

そもそもの話の発端は、インデントが面倒とか、スクロールが面倒とかと言う話だったから、この程度で十分では。

>>997 テキストエディタだけでどんな言語をやってたの?



1021 名前: mailto:sage [2019/10/16(Wed) 17:27:32 ID:9ut2IWOv.net]
>>997
HDDの容量は?
VScode本体で230Mぐらいだよ。(mac用)
Pycharmだと610Mほどあるけど。

1022 名前:1001 [Over 1000 Thread .net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 20時間 24分 44秒

1023 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<266KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef