くだすれ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(火) 00:56:33.99ID:2jXzbs3v
このスレも馬鹿ばかり
副作用という言葉自体はあったかもしれないけど
ここ数年副作用は悪という風潮になってるのがおかしい
昔はそんなことはなかった
気持ち悪い
2017/07/04(火) 01:44:22.80ID:7rFRQEoU
>>751
参照系にどんな副作用が?

副作用を分離してあるとテストしやすい
2017/07/04(火) 02:03:17.22ID:3m7VK2G7
そういやこのスレはアホ認定されてた奴いたなw
2017/07/04(火) 06:42:19.27ID:Tv7aUxog
>>737
> 参照渡しのことを副作用と言ってるのかよw わかるわけねーよwww
こんなアホ久々に見たわ w
そもそもFORTRAN は全部参照渡しだし参照渡しかどうかじゃなくて引数を変更するかどうかの話なのに全く理解してない
2017/07/04(火) 06:50:13.69ID:rXlR7d7X
Fortranってもはや死語でしょ。
2017/07/04(火) 06:54:22.62ID:rXlR7d7X
> FORTRAN は全部参照渡し

これは欠陥言語と言わざるを得ない。消えていく言語なのは間違いないな。いやもう消えてるか。
2017/07/04(火) 06:55:12.54ID:Tv7aUxog
>>745
> 数学の関数と同じ、同じ引数渡せば同じ回答が返ってくる。
> それ以外の事象全てが副作用。
違う、それは参照透過性の話。
副作用は何らかの状態を変更してしまうことを言う。
なので例えば変数への代入も副作用のひとつ。

>>748
疑似乱数なら内部状態の変更を伴うので副作用を持つ。
ハードウェア乱数発生機からの読み出しなら副作用は持たない。

>>751
意味不明 w
2017/07/04(火) 06:56:20.39ID:Tv7aUxog
>>747
> ボクの大蛇
お薬の副作用による妄想
2017/07/04(火) 07:02:20.96ID:rXlR7d7X
> 変数への代入も副作用

それでは主作用と副作用の違いがないではないか。
2017/07/04(火) 08:20:18.01ID:Tv7aUxog
>>760
プログラム言語では主作用って言葉はほとんど使われない
2017/07/04(火) 08:21:01.77ID:rXlR7d7X
なら「作用」でいいだろ。
763デフォルトの名無しさん
垢版 |
2017/07/04(火) 08:53:00.26ID:LX4AtBOp
そんな慣用語にここで反抗されてもねえ
2017/07/04(火) 08:54:23.42ID:1lmeyR8N
Fortranは、参照渡しがデフォルトだけど、値渡しできるよ。
あと、数値計算の分野だと、まだFortranは現役。
2017/07/04(火) 08:57:42.95ID:rXlR7d7X
一般的に副作用は意図しない作用を言うんであって、
意図してる作用まで副作用だなんて言うから話がおかしくなるんだよ。
2017/07/04(火) 09:34:14.97ID:7rFRQEoU
意図したものであってもファイルへ出力等は副作用
意図してないのはバグ
2017/07/04(火) 09:42:45.55ID:l241jVyP
お薬の副作用とごっちゃになってるのか
お薬飲んだ方がいい
2017/07/04(火) 10:28:29.47ID:rXlR7d7X
>>767
真性の馬鹿か。だから最初から定義を聞いている。
言葉の定義ができない奴はFラン低学歴。馬鹿は薬飲んでも治らない。
2017/07/04(火) 11:14:46.95ID:JR8nRlmR
朝から真っ赤なやつが真性がどうとか説教だってよ
草ボーボーだわ
誰か除草剤撒いとけ
2017/07/04(火) 11:25:37.95ID:rXlR7d7X
>>769
真っ赤ってどこの2ch素人だよ。2chはじめてか?

赤いってのは偉いってことだ。
戦隊モノだってリーダーは赤だし、モモクロだってリーダーは赤だし、3倍速いシャアだって赤だろ。

ここはPythonの初心者スレであって、2chの素人スレじゃねーぞ、ヘタレが。
2017/07/04(火) 11:28:45.53ID:rPs24TN8
人類初心者のスレでもねーぞ
妖怪人間ちゃんよ
あれ?ゴキブリだったっけ?
まあどっちでもいいわな
2017/07/04(火) 11:29:55.91ID:6SYzApDs
>>770
素人は専ブラなんか使わんからIDの色は分からない
連投すればなるから偉くもなんともないし95割くらいはまともじゃないやつの証だ
自分のレスを見直してから発言することだな
2017/07/04(火) 11:48:02.88ID:8vZma2KT
鏡を認識できるほど知能あるの〜w
774デフォルトの名無しさん
垢版 |
2017/07/04(火) 12:11:33.68ID:k7lSpSHL
PHPが辿った道をPythonも辿るのか
そして荒野となり人が離れていく
775デフォルトの名無しさん
垢版 |
2017/07/04(火) 12:21:04.91ID:AMOtdiLy
結局お前ら副作用について何を話したかったんだ?さっぱりわからんw
2017/07/04(火) 12:49:19.64ID:Tv7aUxog
最近関数型言語覚えて副作用について知ったかした>>690がフルボッコされてるだけ
777デフォルトの名無しさん
垢版 |
2017/07/04(火) 12:54:22.08ID:AMOtdiLy
>>776
お前もやろw
2017/07/04(火) 17:00:41.15ID:Tv7aUxog
>>777
ダサ w
2017/07/04(火) 18:21:15.79ID:tbb9NRH5
秀丸で書いてるんだけど
Pythonタブが反核スペースのコードを良くみかけるんだけど
スペース4回や8回、16回入力って面倒じゃない?
更に、削除など7回とかだとずれるし
みんなどうしてる?
2017/07/04(火) 18:22:14.96ID:6SYzApDs
半角スペースの塊をタブと扱ってくれるエディタ使ってる(俺はVim)
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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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