くだすれPython(超初心者用) その34 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/05/28(日) 20:34:15.87ID:7AoJbiyO
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その33
http://echo.2ch.net/test/read.cgi/tech/1490424742/
2017/07/04(火) 19:30:47.78ID:uVbqp3bl
秀丸ってそんなこともてきねーの
嘘だろ何か設定あるだろ
2017/07/04(火) 20:37:17.02ID:Yq9kveU/
タブをスペースで扱って設定くらいあるだろうに
2017/07/04(火) 21:44:10.13ID:/lfF2KWl
ガイジ副作用で脳みそスペースだらけのスッカラカンなんやろな
ウンコモリモリペチプァでも詰めておけ、ガイジ
2017/07/04(火) 21:52:38.91ID:C0QCHaIb
マジレスするとそんな腐ったレスしかできない奴が一番ダメ人間だと思う
2017/07/04(火) 21:55:38.92ID:C0QCHaIb
生まれつき目の見えない子供が知り合いにいるけど
頑張って生きてるよ
家族も頑張っている
低レベルなレスを連発するのは構わないけどそういう人たちを馬鹿にする奴が一番許せない
2017/07/04(火) 22:01:55.37ID:tbb9NRH5
>>780>>782
タブを半角まではできるんだけど、
バックスペースで削除すると
1文字削除でタブと比べて使いにくいなぁーと思って
787デフォルトの名無しさん
垢版 |
2017/07/04(火) 22:39:24.55ID:KFTmH+Xw
もう副作用でも何でも無いな。。。
手続き型言語の場合、初期化以外の代入も許さないのは稀で、関数として副作用が無ければおkってのが主流。
(副作用禁止だけどこれはおk的な)

個人的には関数型言語は関数型言語らしく、手続き型言語は手続き型言語らしくで良いと思う。
デフォルト引数とか良い例だよ。
代入前提だけど、時々しか違う値入れないからいつもの値入れとけ、みたいな。
ああ言うのは手続き型言語特有。
2017/07/04(火) 23:51:09.28ID:lTp+AY06
>>786
エディタにもよるだろうけど、
そういう時はShift+Tabが使えると思うよ。
2017/07/04(火) 23:58:49.01ID:cQQJFeYO
副作用でうんこ漏らしちゃいました><
2017/07/05(水) 00:02:22.11ID:Mi2Oefnn
>>788
ありがとう
選択してShift+Tabで行けた、ショートカットキーを使うのか、秀丸でもできた
微妙に手が必要になるけど、Pythonだとスペース使う人が多い気がするけど
メリットみたいな物があるの?
2017/07/05(水) 00:23:41.83ID:CFCu53LC
>>790
PEP 8という公式が書いたスタイルガイドがあるんだけど
派生スタイルやツールの基準になっていて大きく反するものがないくらい普及している

PEP 8だとインデントはスペース4文字、ハードタブは使うなとされている
これはガイドに根拠の説明が特に書かれていないほど周知の事実扱いなんだ
https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces
2017/07/05(水) 01:16:45.73ID:Mi2Oefnn
>>791
へーそうなんだ
タブの方が入力や削除がし易いと思うけど何でだろ?
2017/07/05(水) 01:17:53.25ID:uTn2RlgN
>>792
タブだとエディタの設定次第で崩れて見えるのがPythonの流儀に反してるからってどっかで聞いたことがある、違ったらスマソ
2017/07/05(水) 01:20:02.67ID:uTn2RlgN
崩れるというのは何か違うな、環境によってインデントの見た目が変わるのが云々
2017/07/05(水) 01:44:44.17ID:uOGWwv8x
>>793
合ってる。エディタの設定で1タブのインデント幅が自在に変わってしまうからスペースで統一した。
2017/07/05(水) 02:04:45.63ID:CFCu53LC
>>792
https://stackoverflow.com/questions/1125653/python-using-4-spaces-for-indention-why
stackoverflowの何でスペース4つなの?って質問についている回答を雑に訳すと

みんながスペース4つで書いてるから俺も受け入れた
guido(pythonを作った人)がスペース4つを好むから
別に独自スタイルを貫いてもいいよ(俺はやらないけどね)
2017/07/05(水) 02:14:09.93ID:n6J1aua5
python3スクリプトを常駐ソフトみたいに使えますか?
フォルダにアクセスが有ったか知りたいです。どうしたら良いのでしょうか?
2017/07/05(水) 02:15:51.63ID:uTn2RlgN
>>797
Linux環境ならpyinotifyというライブラリがpipにある、他はしらね
2017/07/05(水) 02:32:32.59ID:jRheFMIB
>>790
最初はタブでインデントして、あとで4スペースに変換という方法だと、
書いてる時はスペースと区別しやすいということもあって、実際にそれを使ってきた。

ただ、長いセンテンスに改行を入れた時のインデント調整で、
PEP 8 流に揃えるにはスペースなしでは無理ということもあって、
今は最初から4スペースで書いちゃってるな。

エディタの設定で、タブキーの扱いを変えたり、
インデントの深さが表示されるようにすれば
タブの時とほぼ同じように扱えるというのも大きい。
2017/07/05(水) 08:17:50.67ID:o2lS8KPj
今でこそautopep8があるから俺も受け入れたけど、素のテキストエディタ使って
きっちりpep8に従ってた奴ってすげーわ。
801797
垢版 |
2017/07/05(水) 09:05:21.25ID:n6J1aua5
>>798
ありがとう、ございます。

(でも、windows何です。)
2017/07/05(水) 09:48:37.32ID:YU7DsXGL
そう…(残念)
803デフォルトの名無しさん
垢版 |
2017/07/05(水) 11:05:10.43ID:BRC1acOi
>>779
秀丸にはインデントをスペースにする設定があるのに何でしないの?
2017/07/05(水) 11:59:26.25ID:W7p06HKZ
タブで書いた方がいい。
git か実行時に、タブを空白に変換すればいい

そういう処理を、シェルスクリプト・PowerShellスクリプト・バッチファイル、
またはタスクランナー、gitの前処理に書いておいて、自動実行すればいい
2017/07/05(水) 12:28:17.60ID:z5aRqQvk
pep8も、1行の文字数制限は気になる。
いくらなんでも16:9ではもっと書ける。
あのルールだけエディタではオフにしてる。
2017/07/05(水) 12:32:16.73ID:Qpg00Afa
space2で書いてる
2017/07/05(水) 12:50:48.75ID:eFHntyyq
ボッチ開発だしハードタブ4で書いてる
808デフォルトの名無しさん
垢版 |
2017/07/05(水) 13:15:44.80ID:P2VGXh8m
pep8とか言語関係なしに、ある程度で抑えた方が読みやすい
巻物の使い方が横書きと縦書きで違うのはそういうところから来てるのではと思ってる
それに、Pythonで長くなる時って大抵がネストが深くなってるか、一行に詰め込みすぎてることが多いでしょ
関数定義とかでも、引数が多いときは適度に改行してる

あと、モニタが16:9になったのって、文字を書くんじゃなくて映像を見る方に特化した結果だと思うんだよね
だから、文字数制限を設けることは可読性を保つ上で有効だと思う

でも、pep8の一行の文字数制限は自分もオフにしてる
2017/07/05(水) 14:54:41.44ID:cUuA0iqJ
コードを改行する必要がある時、Python3を書くようになってからは、
バックスラッシュじゃなくカッコで括るようになった。
ただ、カッコ(関数含む)で頭を揃えようとすると、うまく収められない(かえって可読性が落ちる場合など)時は、
仕方なく行先頭から1インデントのところで妥協することも多いな。
2017/07/05(水) 15:47:23.00ID:XUcgmELe
別に妥協はしてもいいんだよ
PEP8PEP8言ってる奴ほど
PEP8の序文読んだことがあるのか?と思う
2017/07/05(水) 17:14:25.98ID:igf3nAKM
ピップエレキバン
2017/07/05(水) 18:28:15.86ID:Cs6uf46S
>>763
脳みそを使えよ、お前。
2017/07/05(水) 19:22:49.67ID:cUuCWP6n
>>812
勉強しろよ
2017/07/05(水) 19:39:05.56ID:L/UJyhWt
薬飲んで寝ろデブ
2017/07/05(水) 21:30:03.36ID:a2JYI5La
並行処理用のライブラリはいくつかありますが、どれがオススメですか?
2017/07/05(水) 21:53:10.95ID:k74tei78
タブガイジはプェチピィかプェ〜ルでも使ってろゴミ
2017/07/05(水) 22:03:42.30ID:uTn2RlgN
>>816
日本語でおk
2017/07/05(水) 22:04:21.16ID:uOGWwv8x
multiprocessing.Pool が簡単にマルチプロセス
2017/07/05(水) 22:43:57.51ID:+4iFZrIp
タブガイジ
2017/07/05(水) 22:49:17.45ID:wG6YXXxV
ログインが必要なWebページにマルチプロセス?でhtmlを取得するにはどんな方法が考えられるでしょうか?
それぞれのプロセスでログイン処理をするのは無駄なのですが、ログイン情報?を共用する方法がわかりません
2017/07/05(水) 22:56:17.66ID:n6J1aua5
>>820
フレームワークは何?
2017/07/05(水) 23:03:18.78ID:wG6YXXxV
>>821
すいません、フレームワークが何を指すのかよく分かりません
2017/07/06(木) 09:14:44.86ID:PkUzDJSz
multiprocessingモジュールを使う方法が考えられる
プロセス間共有データの機能も当然ある

あれ読んで理解できないなら100年はえーよ
今の君にできる手段を取る方が賢いね
2017/07/06(木) 09:57:45.48ID:rcbDiRMU
超初心者用板やぞ
2017/07/06(木) 12:38:59.11ID:PZBpqnTG
a=1
b=2
c=[a, b]
とした時に、リストcとして、a,bの要素はコピーされてまた新たにメモリが確保されますか?それともa,bを参照になるのですか?
2017/07/06(木) 12:57:25.03ID:PZBpqnTG
リストは効率悪そうなので質問変えさせていただきます
3次元配列(要するに画像データ)x,yがあって
z = np.array([x,y])
のように、リストのように使えますか?
一旦まとめた後、xとyを元の画像として取り出したいです
2017/07/06(木) 12:59:13.13ID:UZxglvCD
>>825
参照です
pythonは基本全部参照コピー
a=1
b=a
これすら値のコピーではなく参照の代入だから
2017/07/06(木) 13:30:43.94ID:tGfEmR+Z
>>825
変数への再代入は新しい参照が変数に割り当てられるので気をつけて

a = 12
b = 34
c = [a, b] # => c[0]==12, c[1]==34
a = 100 # => c[0]==12, c[1]==34のまま
c[1] = 56 # => b==34のまま
# a += 1 や c[0] *= 2 などの代入もaやc[0]が新しい参照になる
829デフォルトの名無しさん
垢版 |
2017/07/06(木) 22:28:56.26ID:0T2UvbzF
お前らに参照の話題はまだ早い
って言おうと思ったらもう混乱しとるやんけw
2017/07/06(木) 23:05:04.24ID:L8j5rxy6
>>820
Selenium WebDriver, Selenium IDE, PhantomJS などでの、
ブラウザの自動実行だろ

Ruby だろ。
Python は知らね
2017/07/06(木) 23:11:52.56ID:xNE5wZt1
質問です
公式サイトでPython3.6の32ビット版をダウンロードしてインストールしたのですが
Anacondaとういものがあるのを知って、インストールしたいんですが
公式サイトのPython3.6をアンインストールせずにAnacondaをインストールしても問題は出ないでしょうか?
OSはWin10の64ビットです
2017/07/06(木) 23:29:35.44ID:SgqT1Iyq
頭悪すぎだろ、普通にx64入れろや
2017/07/06(木) 23:34:49.65ID:xNE5wZt1
うむ、公式サイトの目立つボタンでダウンロードしたら32bit版になってしまったのです
そこまで問題は出ないようなのでそのまま使ってます
2017/07/07(金) 00:19:26.94ID:JoJfvIqW
>>830
seleniumはpythonにもあるよ
2017/07/07(金) 00:20:17.58ID:JoJfvIqW
>>833
アンインストールしたほうがいいです
2017/07/07(金) 00:44:57.87ID:tuAsaSiH
>>835
ありがとう、32ビット版のはとりあえずアンインストールしました
2017/07/07(金) 01:28:21.87ID:HRVWihAA
Anaconda 64ビット版を、一般ユーザーでインストールすると、
環境変数PATHも書き換えるから、

端末から、python コマンドを入力すると、
AnacondaのPython3 が起動するようになり、
以前にインストールしていた、Python を呼び出せなくなる

つまり、python コマンドを、PC内から探す際、
環境変数PATHの順番で、起動するアプリを探すから、
同じコマンド名で、順番が後ろのものは起動できなくなる

例えば、コマンドプロンプトで、
where notepad
と打ち込むと、メモ帳を起動する、PATHの順番を表示する

試しに、PowerShell, PowerShell_ise で、以下を打ち込んでみ。
環境変数PATHは、; で区切る。
$env:Path.split(";")
(または、コマンドプロンプトで、path と打ち込む)

windows コマンド 検索順序
https://technet.microsoft.com/ja-jp/library/cc753427.aspx

環境変数PATHを書き換えずに、Anacondaをインストールするなら、
Anacondaの起動時に、明示的に起動したい、Pythonへのパスを与える

また、複数のPythonのバージョンを切り替えて使う、pyenv と言う仮想環境もある
2017/07/07(金) 03:34:06.79ID:tuAsaSiH
>>837
調べてみたところ、PATHが通っていなくて、
今まではファイルのダブルクリックで実行、Anaconda入れても実行ボタン押して実行
とかいう超初心者レベルで、どうも自分がやりたい事に必要なものは全てAnacondaに入ってるそうで
こんなレベルだと全く影響無い感じなのでしょうか
2017/07/07(金) 05:02:29.41ID:HRVWihAA
コマンドプロンプトで、
where python
と打ち込むと、PATHの順番が表示される?

表示されないのなら、環境変数PATHは更新されていない
2017/07/07(金) 09:18:31.73ID:SZgf6Ov2
問題が起きてから言ってくれ
2017/07/07(金) 11:38:05.24ID:avjxADi0
>>839
そのコマンドはエラーで何も表示されないです
システムの環境変数PATHのところを見ても該当のものが無いので、PATHは通っていないようです
ありがとうございます
842デフォルトの名無しさん
垢版 |
2017/07/07(金) 19:21:51.29ID:bti4Si71
退屈なことはパイチンくんにやらせればいいじゃん
パイチンくんにw
2017/07/07(金) 20:52:20.52ID:8CZskrNj
UnixのシェルスクリプトをWindowsに移植しないとダメなんだけど、Windowsのバッチファイルの変数まわりと文字列操作がクソ過ぎてPythonで書こうと思ってます。
具体的には外部のテキストファイルを読み込んでforとかでグルグル回しながらそれをコマンドラインのパラメタとして渡していって実行させたいだけなんですが。(パイプとかで複数コマンド繋げたりディレクトリからファイル名引っ張ってきて変数に入れるとかしたい)
StackOverflow読んでたらargvとかあるし簡単そうっぽいんですけど簡単でしょうか。
なんでPythonかというとそのマシンがdosプロンプトとPythonしか入ってないいにしえのマシンだからという理由だからなんですけど。
2017/07/07(金) 20:56:18.49ID:fpfCGWE6
素直にPowerShell使えよw
845デフォルトの名無しさん
垢版 |
2017/07/07(金) 20:59:20.71ID:eVPhxI3P
Cygwinじゃあかんのか?
まあPythonでも難しく無いだろうけど。
2017/07/07(金) 22:52:20.68ID:eky1cNPP
pythonのsubprocessか何かで呼んだ先のDOSのシェルが馬鹿過ぎてコマンド実行成功/不成功(エラーレベル)が返らないとか、pythonの問題でなく、ポーティングに耐えられないWindowsの愚かさに苦労させられた憶えが。
847デフォルトの名無しさん
垢版 |
2017/07/07(金) 23:23:17.38ID:tdv0VtnU
超初心者がwindowsに文句つけてるのって傍から見て決してみっとも良いものじゃないよ
2017/07/07(金) 23:56:26.31ID:306a0YtN
窓のコンソールが腐ってるのは今に始まった話じゃない
今はLinuxがそのまんま動くからいいよな
2017/07/08(土) 01:27:55.43ID:U3WHqCD/
pygameのゲームパットについて、
調べても思ったより資料が有りません。

どのボタンが連動しているか、
分かりやすいサイトとか有りませんか?
2017/07/08(土) 02:52:33.69ID:DtvYnY/5
超初心者の質問するけど
absって関数の役割が絶対値を返すだけならどの用途でこんなの使うんだよw
プログラミングでなんの訳にも立たないだろ

と思ってしまうんだが実際どうなの?
2017/07/08(土) 03:06:30.25ID:+VXBkwGC
え、めちゃくちゃいっぱい使うだろw
2017/07/08(土) 03:13:06.00ID:DtvYnY/5
>>851
えっどんな時に使うのか教えてくれ
2017/07/08(土) 04:23:54.74ID:+VXBkwGC
2つの座標間の距離を測る場合とか…
ごめんそれしか浮かばないや!
詳しい方お願いしますw
2017/07/08(土) 06:18:53.37ID:AQJwZpAA
(a if a>0 else -a)
って書くよりも
abs(a)
って書くほうが簡潔だし意味も明瞭。

こんなの要らないだろう界の王者はpass。全く何もせず、ただそこにある為だけの存在。
構文的に必要だからとか、借り置きのプレースホルダとかで使われる。
そんな pass にすら使いどころがあるのだからabsなんて有用すぎる。
passが価値のない石ころなら absは輝くダイヤ
855デフォルトの名無しさん
垢版 |
2017/07/08(土) 07:21:57.25ID:GWGAvT8e
早朝から質問の答えになってない長文書いちゃうやつw
2017/07/08(土) 07:35:17.60ID:LFCUi1Tz
待機時間を正規分布にのせたいとき。
平均0分散1、かつ待機時間は正だからabs使ったなあ。
2017/07/08(土) 09:38:19.72ID:HUvrGmd2
>>854
passの代わりにことごとくNoneを使ってしまったことがあったが、
何事も無く終了してたから気づいたのはだいぶ後だった。
858849
垢版 |
2017/07/08(土) 10:32:03.85ID:U3WHqCD/
ゲームで、
 absはステータスの 追加要素の管理でマイナスにならない様に使った。

passはユーザー側の操作ミスの時に何もしないって、書いてる。

absはpaizaで使う所が有った様な気がする。
計算上、マイナス値が帰ってくるから、プラスに置き換える。見たいな作業。
2017/07/08(土) 12:09:16.40ID:pgGJ402T
absは複素数でも使える(math.fabsだと複素数はTypeErrorになる)
>>> abs(1+1j)
1.4142135623730951
2017/07/08(土) 12:11:02.61ID:U3WHqCD/
記述の質問

x=[12, 6, 2, 7, 3, 11, 1, 4]
correction=0
Fixed=x[0:5]
correction+=1

print(x[0:5+correction])
上記風に、抜き出す数をFixed+correctionの様に表記したい

おねがいします。
2017/07/08(土) 13:46:50.03ID:c6P8qLwK
バイナリファイルから0.5バイトだけreadで読み取りたいとき、どうすればよいでしょうか?
numpyでビットを扱えるとは見たのですが,readは整数バイトでしか読み取れず互換性がわからないです
2017/07/08(土) 16:08:29.92ID:Fv/VLC2u
CPUですらなにもしないって命令があるしな

存在するものにはそれぞれそれなりの意味がある
2017/07/08(土) 16:17:03.75ID:lUvEvZ3o
>>861
1バイト読んで0.5バイト捨てるんじゃだめなの?
2017/07/08(土) 17:15:11.49ID:U3WHqCD/
pygameでゲームパットを使った入力ゲームが作りたいです。
ゲームパットのキー読み込みが解らないので、教えて頂けませんか?

Git使ってないです。すません。

コード URL
https://ideone.com/UhwqyM
2017/07/08(土) 18:13:40.71ID:zB/Wb29i
0.5バイトとか新しいな
2017/07/08(土) 18:16:25.59ID:DtvYnY/5
このスレ本当に勉強になるわ
ありがとう
プログラミング系はググっても情報が出てこないんだよなぁ
2017/07/08(土) 18:19:34.12ID:l277hrw6
じゃあ、1/2バイトで。
2017/07/08(土) 18:20:15.48ID:U3WHqCD/
>>866
検索の時に、[プログラミング] って付けてるから出て来ないんだよ。
アフェとか役に立たない自己○○とか、ヒットしない。

[言語名]+[やりたい事] で出てくる。
python 配列
とか、ネタ発言だったら、マジレスしてごめん。┌(_Д_┌ )┐
2017/07/08(土) 18:24:22.71ID:l277hrw6
0.5バイトのことをニブルって言うらしいぜ。おまえら知らなかっただろ。
2017/07/08(土) 18:37:59.96ID:rnwsxGun
上位下位4ビットずつならシフト演算やビット演算じゃね?
なんでそういう事したいのか不明だけど
2017/07/08(土) 18:42:18.50ID:AQJwZpAA
>869
今日児童書のプログラミングの絵本を子供と読んでいて
ニブルの説明があって初めて知ったわ。
2017/07/08(土) 18:43:51.67ID:BPlXEDNj
>>866
出来れば英語検索も視野に入れるといいぞ
英語があんまり分からなくても プログラミングの文法さえ分かっていれば
コードみればなんとなくわかることが多いからな
2017/07/08(土) 19:07:04.71ID:DtvYnY/5
>>868
プラグラムにおいて絶対値の役割とかググってもでてこないやん
>>872
まだその域まで達してない
関数を一通り覚えてる感じ
2017/07/08(土) 19:38:37.45ID:rnwsxGun
まあ数学の素養とかはある事を前提に語られることが多いよね

関数を全部覚えようとしても使わない記憶は忘れられるからあまり効率よくなさそう
最初はこういうのあるんだ、ぐらいのチラ見だけしといて
出来るだけ多くのサンプルコード読みながらわからないのが出てきたら都度調べた方がいいんじゃないかな?
2017/07/08(土) 19:59:34.96ID:l277hrw6
プログラムにおいて絶対値の役割ってのが斬新な発想だな。素質を感じる。
絶対値が何かを知ってたらまずこんな疑問が出ないからな。

絶対値返すのがabs()の役割だよ!!! ってふつう思うもんな。
2017/07/08(土) 20:01:32.54ID:ICTsGxtb
>>869
乳首に張る奴か
2017/07/08(土) 20:03:08.03ID:U3WHqCD/
pythonでC#用DXライブラリのゲームパット
<module>
dxlib.dx_ClearDrawScreen()
OSError: exception:access violation reading 0x0000000000000246


OSError:例外:アクセス違反の書き込み0x00000000?

ctypes.create_string_bufferを使用して初期化して下さい?
https://translate.googleusercontent.com/translate_c?depth=1&;hl=ja&prev=search&
rurl=translate.google.co.jp&sl=en&sp=nmt4&u=https://stackoverflow.com/questions/37973033/ctypes-python3-5-oserror-exception-access-violation-writing-0x00000000&;usg=ALkJrhix1xB_WYTfbf2IXdAk8Wu6KqQr8A

誰かエスパーして、解決法教えて下さい。 ┌(_Д_┌ )┐
2017/07/08(土) 20:06:20.38ID:fIuXTSpk
>>860
>Fixed=x[0:5]
開始インデックスの、0は省略できるから、
Fixed=x[:5]

>print(x[0:5+correction])
endIndex = 5+correction
print(x[:endIndex])

>>861
ビット演算で、4ビット取り出せばいい
879デフォルトの名無しさん
垢版 |
2017/07/08(土) 20:09:34.39ID:GWGAvT8e
わかってねえなw
無駄に読んでしまった4ビットはどうすんだよw
2017/07/08(土) 20:10:49.81ID:l277hrw6
線香でも立てて供養するんだな!!!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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