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

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2019/07/24(水) 21:02:48.30ID:d1IM+Tl+
当スレに★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公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1555397061/
952デフォルトの名無しさん
垢版 |
2019/10/15(火) 00:26:09.89ID:Uk3+p6qz
def say_hello():
 '''say hello'''
 print("hello.")
2019/10/15(火) 00:28:00.73ID:6JoAHvL2
>>951
関数に対するコメントはdefの下にdocstringで書く
まずはPEP8を一読して
2019/10/15(火) 01:00:53.51ID:Bai05OKm
>>952-953
ありがとうございます
ドキュメントストリング(トリプルクォート)の件はちらっと調べたりはしてました

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

例えばimport文の記述位置の修正(ファイルの先頭に持っていかれる)を無視する為に
--ignore=E402 を指定しています
このように特定コードを指定することで改行の件も無視できないかなと思ったのですが
autopep8 宣言前 改行 などでググっても思うように情報が出てきません
955デフォルトの名無しさん
垢版 |
2019/10/15(火) 01:07:21.98ID:Uk3+p6qz
blenderのサンプルのことは忘れろω
あれは糞だωωω

(blenderが糞とは言ってない)
2019/10/15(火) 01:17:19.59ID:6JoAHvL2
>>954
俺ならautopepをやめるw
uncrustifyでpep8用持ってきて自分好みの設定をした方が早そう
2019/10/15(火) 01:23:54.81ID:NeqDSxDF
flake8でチェックして、必要に応じて自分で修正してるわ
勝手に変更されるのが嫌なので
2019/10/15(火) 01:38:14.63ID:72mqelru
保存時フォーマット+手動フォーマット派だな
理由はこういう時こまるから
道具に遊ばれてるのほどばかばかしいこともない
2019/10/15(火) 11:35:47.48ID:ntxaWRsX
PEP8に従えないならpythonを辞めた方がいい
君には宗教は向いてない
もっと別の言語を探すべきだ
2019/10/15(火) 12:06:17.46ID:YTs2ZIZB
PEP8順守しないと
同じことするコードは
誰でも同じようなコードになり読みやすい(はず)
といううりにしているメリットが壊れる
961デフォルトの名無しさん
垢版 |
2019/10/15(火) 12:28:19.23ID:/7eSP3bX
「Pythonで書くと同じことするコードは誰でも同じようなコードになり読みやすい」
このカンバンは嘘だった!
特定のコーディングルールを守れば、という条件を付けるのであればどんな言語でも同じじゃんwww
2019/10/15(火) 12:33:26.16ID:PCFM8zGG
キッズは自殺してろ
2019/10/15(火) 12:45:38.61ID:iZY+JTOL
dストの位置でコードの読みやすさなんてノミのクソほどしか変わらんだろ甘えるな
2019/10/15(火) 12:57:41.28ID:LXkkA+L3
>>961 python のコーディング規約がPEP なんだからか守るべきだよ。
2019/10/15(火) 13:04:44.56ID:LXkkA+L3
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
と言うらしいな。両目と牙の形に似てるからだと
966デフォルトの名無しさん
垢版 |
2019/10/15(火) 14:24:13.16ID:nuB7xRPW
じゃあせめて :3= くらいやってくれないと。
2019/10/15(火) 14:43:12.22ID:iJLx9DXs
それじゃあエルビスにひげがついたようなもんだろ
2019/10/15(火) 15:08:50.02ID:ntxaWRsX
パスカル代入子でいいんじゃねえの
2019/10/15(火) 15:42:32.14ID:4VeqxDxA
>>966
バカボンのパパ演算子
2019/10/15(火) 15:45:01.35ID:PY4hsy3Z
:)
2019/10/15(火) 15:50:21.31ID:7esu9lml
execとevalの違いが良くわからないんですが、どっちが優秀なんですか?
2019/10/15(火) 15:58:02.76ID:ntxaWRsX
ttps://sicp.comp.nus.edu.sg/chapters/img_javascript/sicp.png
このオサンが持ってる通り
973デフォルトの名無しさん
垢版 |
2019/10/15(火) 16:02:48.63ID:cAxXsgrc
そんなにevalなよ
弱くなるぞ
974デフォルトの名無しさん
垢版 |
2019/10/15(火) 19:40:19.04ID:UuW7b2Cm
blender の python バージョン上がらんかな
ソースからビルドすれば好きなバージョンに出来るらしいが
まんどくせ
2019/10/15(火) 21:27:29.85ID:Bai05OKm
>>955-958
とりあえずignore設定で対処してしまいました

今後他にも煩わしい点が出てきて面倒になったらautopepは辞めて他の手段を探します
uncrustifyはメモっておきます
ありがとうございました
2019/10/15(火) 23:13:36.56ID:h8wIShZn
そこまでして間違ってる方のテンプレに合わせないと気が済まないとか病気だろ
なんとか障害ってやつ
2019/10/15(火) 23:57:18.52ID:LXkkA+L3
>>975 そこまでしてblender のコメント方式に合わせる必要性があるの?

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

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

また、Pythonではインデントに空白を使う人が多いようですが、
エディタの設定で改善されるかもしれませんが、うっかりDelやBackSpaceで消すとイ
ンデントがずれたりして嫌なのですが慣れますか?
2019/10/16(水) 06:59:57.67ID:r4KKfSye
別にpythonに限らずネストの深さでインデント揃える癖ついてたから気にならなかったわ
可読性的にも癖つけた方がいんでない?むしろ今までどうしてたのか気になる
980デフォルトの名無しさん
垢版 |
2019/10/16(水) 07:17:18.25ID:n7nWPnDS
python 3.8.0 で import win32clipboard を実行しても、以下のようなエラーが出る。
ImportError: DLL load failed while importing win32clipboard: 指定されたモジュールが見つかりません。

python 3.8系はしばらくインストールしないほうがいいカモ。
2019/10/16(水) 08:59:50.72ID:Mi1dGaVf
>>978 > Pythonだとサブルーチンを上部に書くとエラーが出ますが

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

インデントについてはIDE で面倒みてくれるだろ。何を使ってる? 
下の方に関数呼び出しがあっても何ら不都合はないよ。
2019/10/16(水) 10:15:15.19ID:dCHq3Ix4
>>978
WindowsならCtrl+F
MacならCommand+Fで
検索ウインドウが出るから
いちいちホイールコロコロしなくても
行きたいサブルーチン名さえわかってれば
一気に移動できる

>インデントに空白
どーしても宗教的理由とかでお嫌なら
タブで統一してもいい。
ただし、
どーしても長い行を分割して書かざるを得ない場合の
後半行のインデントにも
空白ではなく、タブを使うことになる。
2019/10/16(水) 10:17:42.14ID:dCHq3Ix4
くだすれPython(超初心者用) その45【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1571188632/
2019/10/16(水) 10:27:55.66ID:kX3OMluf
いちいちスクロールして使ってるな〜
今ちゃんと動いてるから触りたくないけど関数だけ別ファイルに分けれるんだよね?
2019/10/16(水) 10:28:50.95ID:dCHq3Ix4
>>984
>関数だけ別ファイルに分けれるんだよね?
Yes
2019/10/16(水) 10:39:45.65ID:pCAY8ipP
関数へのジャンプだってIDEが面倒見てくれるだろ
ジャンプどころかその場に表示だってできる
2019/10/16(水) 10:43:28.41ID:dCHq3Ix4
IDEが嫌いだったり、宗教上の理由で使えないだったり
PCのスペックが糞でうごかなかったり
するひとだって
いるんですよー!
2019/10/16(水) 10:53:52.75ID:pCAY8ipP
IDEの導入ってそんなにハードル高いんか
そいつは知らなんだわ
2019/10/16(水) 11:29:28.12ID:1/rjcmpT
IDEを使わないってどっちかと言うと宗教だろ。 プログラミングの効率がかなり違って来る。
どうしても複雑なIDEを使いたくなければ Sublime などのエディターでもかなりやってくれるけど。

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

IDEを使わないと、コード補完とかやってくれないから入力効率がかなり悪くなる。 ミスも多くなる。
2019/10/16(水) 11:38:20.65ID:RHZrzUKd
え?ノミみたいな視野の見識してるね
IDEじゃないと補完できないだって
傑作すぎてジョークと区別がつかないわ
1990年くらいから書き込んでるんだろうかね
991デフォルトの名無しさん
垢版 |
2019/10/16(水) 12:48:15.93ID:dmmazo8P
E.S.P.だが
上の方でサブルーチンがーとか言ってるVBerは
ソースの上からグローバルな場所にコード書き始めてるんだろ

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

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

関数
関数
main()
--------
って書いとけばいい
2019/10/16(水) 12:54:49.05ID:1/rjcmpT
>>990 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:
2019/10/16(水) 14:36:40.14ID:bcBxjAM2
エディタでもIDEでも関数を別ファイルに書いて
二つのウインドウで表示しながらプログラミングすれば
いいんじゃないの? 太古の昔からみんなそうやっているけど。
もちろん三つ以上のウインドウを開けてもかまわない。
994980
垢版 |
2019/10/16(水) 15:22:00.21ID:6vD3SXWz
C:\Windows\System32にdllをコピーして暫定対応できるようです。
以下issueの既知の不具合かも。
https://github.com/mhammond/pywin32/issues/1406
995デフォルトの名無しさん
垢版 |
2019/10/16(水) 15:36:59.61ID:3Ceb6FWi
>>992
IDEじゃないJupyter Notebookでもそのぐらい出来るぞ、と思ってスクリーンショットを撮ってたところだったんだが、
Jupyter NotebookはIDEでこういうことが出来るという主張かな。
でも、Jupyter NotebookはあんまりIDEって言わなくないか?
2019/10/16(水) 16:54:17.24ID:dCHq3Ix4
>>988
HDDの空き容量の時点でね もうね

>>989
>今までプログラミングはどうしてたんだよ。 テキストエディタのみ?
Yes!(゚Д゚)
2019/10/16(水) 17:06:12.80ID:kX3OMluf
関数探すの面倒でメモ帳に保存してそっちで編集してコピペでVSCodeに貼ってたけどちゃんとした使い方調べた方がいいな
2019/10/16(水) 17:13:58.41ID:lWzU93N+
vim, emacs だとhotelのwindowsでも走るようにUSBメモリーに開発環境入っちゃう
なんてこともできたりはする
2019/10/16(水) 17:25:14.05ID:bKQy1ZjZ
>>995 Notebook は、完全なIDE では無いがIDEの最低限は持ってる。(コード補完)

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

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

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

>>996 テキストエディタだけでどんな言語をやってたの?
2019/10/16(水) 17:27:32.24ID:9ut2IWOv
>>996
HDDの容量は?
VScode本体で230Mぐらいだよ。(mac用)
Pycharmだと610Mほどあるけど。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 20時間 24分 44秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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