Pythonのお勉強 Part57

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:57:59.24ID:aY7uj4w5
Pythonオフィシャルサイト
http://www.python.org/

■前スレ
Pythonのお勉強 Part56
http://mevius.5ch.net/test/read.cgi/tech/1519430841/

次スレは>>980が挑戦する

ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
2018/10/16(火) 08:32:41.51ID:i+/GmABh
>>877
逆に評価させたい場合もあるから一概にそうとは言えない。
2018/10/16(火) 11:16:02.24ID:opg8ZLom
>>878
直後にFalseにするものをわざわざ評価させるというのはどういう状況を想定しているの?
2018/10/16(火) 11:20:36.70ID:Atv0JR2n
0 / 1で論理演算するほうが違和感あるなぁ。
Pythonの論理演算子は演算結果がTrue / Falseになるとは限らないから。
881デフォルトの名無しさん
垢版 |
2018/10/16(火) 11:30:00.31ID:6wejum7r
>>879
条件部が関数になってて実行だけはさせたいことはあり得そう
2018/10/16(火) 11:33:37.70ID:RDnsUUNv
>>880
0=False、それ以外=Trueだから同じことでは?
そもそもFalse=0、True=1なんだからさ
2018/10/16(火) 11:41:06.43ID:opg8ZLom
>>881
その判定文自体がFalseになってしまうと、あんまり意味が無いんじゃないのかなぁ。
デバッガー通してその関数の結果を見ること自体は可能だけどね。

>>880
Pythonのソースコードにおいては、True=1、False=0 という扱いになっているようだよ。
http://d.hatena.ne.jp/SumiTomohiko/20070802/1186074596
2018/10/16(火) 11:44:19.45ID:opg8ZLom
こんなことが出来るなんて知らなかったわ。
>>> True + True
2
2018/10/16(火) 11:49:54.98ID:Atv0JR2n
3 or 1 の演算結果はTrueではなく、3 なんだよなぁ
2018/10/16(火) 11:53:17.66ID:RDnsUUNv
>>883
必要な処理ならそれ自体を止めちゃあそれこそ意味ない
返ってきた値によって何らかの表示するだけって条件文もあるし
2018/10/16(火) 11:54:15.78ID:RDnsUUNv
>>885
3はTrueだからそれで良いんだってw
2018/10/16(火) 11:57:56.92ID:Atv0JR2n
>>887
そういう暗黙の型変換を期待するコードが気持ち悪い、違和感があるってこと
889デフォルトの名無しさん
垢版 |
2018/10/16(火) 12:01:14.25ID:YLHbxnbG
>>877
Ruby使ってる人の頭の使い方に近いな
2018/10/16(火) 12:20:18.64ID:LXicK2gy
多少実行効率落ちても見た目に分かりやすいことに勝るものはない、的なプログラミングの格言思い出した
891デフォルトの名無しさん
垢版 |
2018/10/16(火) 12:26:45.00ID:oQullCct
他言語と行ったり来たりしてると論理演算子とビット演算子がごっちゃになる
892
垢版 |
2018/10/16(火) 15:57:42.69ID:rYp1osJ0
Python始めて2日目です。

mac、python3
でwebページ を保存(html)したいです。

URL指定して保存ではなく、実際にそのページにgoogle topから遷移していってcommand+sで保存したいです。

ページまでの移動はできたので、保存部分の書き方教えてください。
2018/10/16(火) 16:33:45.22ID:oiKF82Xr
requestsをインスコ
getでソースをダウソ
保存
2018/10/16(火) 17:01:48.46ID:lGvX5imk
>>890
まさにそれ!
極端に実行効率落ちるのは考えものだけど、多少なら可読性を優先する。
3ヶ月後の自分のために。
2018/10/16(火) 17:21:19.77ID:TeNN2wBh
ダウンロードは、wget, curl
2018/10/16(火) 17:37:04.09ID:6N/uYvpU
requestsも外部コマンド呼び出しも邪道
標準のurllib.requestぐらい使いこなせよ
2018/10/16(火) 18:35:31.87ID:oeNaHI1n
>>892
pythonからapplescriptを使って
safari で開いているページのソースを保存

勉強のためなんだろうけど
使い所がよくわからないけどこんな感じ

import os
import sys
import subprocess

cmd="""
osascript -e '
tell application "Safari"
set htmlContent to (source of document 1)
end tell
'
"""
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
a=proc.stdout.read()

f=open("/Users/noah02/Documents/safari.html", "wb")
f.write(a)
f.close()
898
垢版 |
2018/10/16(火) 18:55:24.59ID:rYp1osJ0
page speed insites というページを、自動で保存したいんですよね

ページパフォーマンスのデータをだしてくれるページなんですが、出力までに時間がかかるので、requestsでやると、まだなにもデータがでてないページを保存することになってしまうんです。

完全にデータが出切った後に、そのページをまるっと保存したいです。
899
垢版 |
2018/10/16(火) 18:56:20.81ID:rYp1osJ0
>>897
知らないコードが多数あるので、解読しつつやってみます。ありがとうございます!
900
垢版 |
2018/10/16(火) 18:58:29.29ID:rYp1osJ0
page speed insitesというページを保存したくてやっています。

ページパフォーマンスのデータを出してくれるサイトなんですが、データの出力までに時間がかかるので、requestsで保存しても何もデータのでていないページになってしまうんです。

なので、完全にデータが出切った後に保存したくて上記を行おうとしていました。
901
垢版 |
2018/10/16(火) 18:59:50.57ID:rYp1osJ0
page speed insites というページを保存したくてやってました。
902
垢版 |
2018/10/16(火) 19:00:56.13ID:rYp1osJ0
ページパフォーマンスデータを出してくれるサイトなんですが、requestsで保存しても、データが何もでてないページが保存されてしまうので。
903
垢版 |
2018/10/16(火) 19:01:38.69ID:rYp1osJ0
ページスピードを出してくれるサイトなんですが、requestsで保存しても何もデータのないページが保存されてしまうので。
2018/10/16(火) 19:25:58.99ID:jRKdoqiq










使
2018/10/16(火) 19:29:16.95ID:TeNN2wBh
そのページは、Ajax の非同期処理で、データを取得しているのだろう

10秒ぐらい、sleep するなどして、処理が終わるのを待てば?

それか、そのページが処理後に、特定のタグを作っているのなら、
Selenium WebDriver を使って、そのタグが現れるのを待つとか
2018/10/16(火) 21:37:43.88ID:+5PmFXrF
今日の爆笑回答:10秒ぐらいSleepして待つ
クッ、、wwww じゅ、じゅww 10秒待つって・・・プップゲラww
907デフォルトの名無しさん
垢版 |
2018/10/16(火) 22:09:06.43ID:mLM2oFC9
それ以前に質問してる方が馬鹿過ぎて笑える
2018/10/16(火) 23:14:33.32ID:3D28BDhY
(なんで同じこと何回も書いてるんだろう…)
2018/10/19(金) 12:37:47.56ID:UJwHdYnt
数学できないとPythonは無理ですか?
910デフォルトの名無しさん
垢版 |
2018/10/19(金) 12:47:10.84ID:jQ8EJjtV
うん
2018/10/19(金) 14:37:13.54ID:8+I/A4L7
足し算、引き算も出来ないと話にもならんわ

てか、数学の定義があやふや?w
912デフォルトの名無しさん
垢版 |
2018/10/19(金) 14:54:08.54ID:uYziTuig
数学できん馬鹿は文系いけ
913デフォルトの名無しさん
垢版 |
2018/10/19(金) 15:11:29.56ID:SjrnPnkZ
>>909
数学は必須では無いが、パズル脳みたいな「アレをするためにこう変換する」的な脳の使い方が求められて、その訓練に数学が適してる。
あと英語出来てた方が情報収集で有利。
(何と無く大体の意味が分かる程度でおk)

pythonが簡単とか言うけど、文法が他の言語に比べて簡略化されてるだけで、プログラミングの難しさ自体はどの言語を使っても同じ。
差があるとすればライブラリの多さとかで、pythonはその点では優秀。
2018/10/19(金) 15:23:41.06ID:8QDNNlB/
パ、パ、パ、、パズル脳! アレをするために交換? ジョジョリオンの等価交換か!?
アレをするために交換が必要だなんてジョジョリオンの世界やでぇー プッハーww
アレをするために必要なのは勉強じゃボケェーw
2018/10/19(金) 15:31:46.57ID:yZ5oZlY6
まーたガイジか
916デフォルトの名無しさん
垢版 |
2018/10/19(金) 18:19:37.23ID:uYziTuig
>「アレをするためにこう変換する」

群論そのもの
2018/10/19(金) 19:35:50.80ID:e848+/7O
>>911
> 足し算、引き算も出来ないと話にもならんわ
それ、算数ちゃいますの?
2018/10/19(金) 20:00:05.56ID:akKjNeBd
>>916
>群論
なんかいい教科書ありませんか?素人が最初からゆっくりと読み進める面白いものを
2018/10/19(金) 20:05:07.78ID:aVyGFm8S
ないな
そして群論の教科書といえば間違いがつきもの
誤植のない群論の本などない
2018/10/19(金) 21:33:40.32ID:8QDNNlB/
今日の爆笑回答:Pythonやるには群論が必要
ヒィーーww お、お腹痛いぃーwww
921デフォルトの名無しさん
垢版 |
2018/10/19(金) 23:13:49.29ID:Vs/4ybnY
>>920
面白くないよ
922デフォルトの名無しさん
垢版 |
2018/10/20(土) 02:50:58.98ID:Nttc2RvP
必要では無いけど、言われてみれば通じるものはあるよ。
2018/10/20(土) 04:01:57.96ID:V0y1IBp6
群論は単なるオブジェクト指向

例えばIterableインターフェースを実装すれば
それはループできますよっていう話

○○インターフェースを持っているものは
○○とみなすことができるとか言う話を数値に限定しただけ
2018/10/20(土) 05:45:04.00ID:2vwhXsJA
知らないなら書かないでくれ
オブジェクト指向と対応させるのは無理があるし、
群論は数値に限定されてないから
2018/10/20(土) 06:20:38.18ID:V0y1IBp6
順序群とかComparableインタフェースを実装したオブジェクトに過ぎないからね。
Comparable インタフェースがあれば比較ができて大小が決まるから順序群になります
2018/10/20(土) 07:13:22.51ID:1Oq3ziMA
群演算を決めずに、群を語られても、演算固定されないと群は語れないよ
あと、
Aは群の一例である

群とはAにすぎない
と書くのは数学以前の問題じゃないかね
927デフォルトの名無しさん
垢版 |
2018/10/20(土) 08:10:20.99ID:Nttc2RvP
どっちかと言うと、演算を決めて作るのがプログラミングじゃないかな。
0と1の羅列が画像や文字列になる様に演算する演算子を作るのがプログラミング。

バイナリエディタで赤を表示する箇所にFFを書き込むのと、ペイントで該当箇所に赤い点を描くのが同じ、みたいな可換性があるからプログラミングが成り立つんだと思う。
2018/10/20(土) 10:21:47.82ID:5emExb8y
新人「チッス先輩、自分プログラムは大学の授業でC言語をやったくらいッス よろしくオナシャッス!」
先輩「・・・じゃあ、まず群論からだな」
新人「え? 群論? 自分サルでも分かるPython買ってきたッスけど・・」
先輩「Python始めるならまずは群論だよ、脳をパズル脳にしなきゃ」
新人「え? パ、パズルッスか?」
先輩「じゃあ、まず群演算を決めようか」
新人「?・・・ッス」
2018/10/20(土) 10:31:06.36ID:Z0sSBtAP
>>924
されてるぞ
2018/10/20(土) 11:44:09.19ID:9jkSTDWo
>>928
>先輩「じゃあ、まず群演算を決めようか」

先輩「じゃあ、まず群の定義から入ろうか、集合G の元 a, b の各対に対して G の第三の元(これを ab であらわす)を対応される演算が定義され、かつそれが結合律を満たし、かつ任意のGの元a に対して ae = a を満たす e が存在し、かつすべてのGの元a のそれぞれが、それぞれに対してただ一つ ab = e となる b(右逆元) が存在するとき、G は群である!」
新人「……」
先輩「早速演習にはいろうか、先に述べた群の定義から ea = a は導出できるか?a の右逆元 b について ba = e であることを導出できるか?」
2018/10/20(土) 12:52:42.88ID:V0y1IBp6
先輩「じゃあ、まず群の定義から入ろうか、
Gクラス(コレクション型)の要素 a, b に対して 要素同士を引数とするメソッドfooが実装され(例 ab = foo(a, b))
かつそれが foo(a, b) でも foo(b, a) でも同じ戻り値を返し
かつ任意のGの要素a に対して foo(a, e) == a を満たす e が存在し、
かつすべてのGの要素a のそれぞれが、それぞれに対してfoo(a, b) == e となる b(右逆元) が存在するとき、
G は群である!
言い換えるとGクラスに上記の仕様を満たすメソッドfoo(郡インターフェース)を実装すれば群として扱うことができる」
2018/10/20(土) 13:01:09.90ID:9jkSTDWo
>>931
>かつそれが foo(a, b) でも foo(b, a) でも同じ戻り値を返し
その前に結合律を仮定しないといけないのでは?
あと可換でなくても群たりえますよ
2018/10/20(土) 13:03:27.08ID:V0y1IBp6
数学って専門用語があるだけで、その用語をプログラミング用語に
変換するだけで簡単に理解できるんだよな

ま、プログラミング用語も専門用語だから
わからんやつにはわからんがw
2018/10/20(土) 13:10:04.00ID:V0y1IBp6
二項演算子 a + b というのが、言語によっては+関数とみなせる
つまり+(a, b) みたいなもんという知識も、
数学における演算とはどういうものかを理解することにつながる

+(a, b) は a + b であり
[任意の記号](a, b) は a [任意の記号] b であり
@(a, b) は a @ b と書くこともできて、
@が演算を行うための演算子でどういう演算を行うかはもちろん@関数の実装次第
935デフォルトの名無しさん
垢版 |
2018/10/20(土) 13:40:55.52ID:u8BRF3D8
>>929
されてないぞ
936デフォルトの名無しさん
垢版 |
2018/10/20(土) 20:19:50.23ID:/QeYUpcu
>>934
ここは、juliaスレだったのか!
2018/10/21(日) 09:40:33.90ID:xKkqFVAq
Pythonのdictって二次配列としても使えるんだな
リストで作った二次配列にa[y][x]でアクセスするのがしっくり来なくて
試しにdictのキーにカンマ区切りの数値を指定してみたら普通に使えてちょっと驚いたわ
2018/10/21(日) 10:18:27.80ID:S2kctYlU
>>937
それ二次元配列じゃなくて、タプルをキーにしてるだけ
2018/10/21(日) 10:40:23.88ID:UsLgyXps
>>938
故に配列操作ができない
940デフォルトの名無しさん
垢版 |
2018/10/21(日) 11:26:50.60ID:sjXodBVw
>>938
だな
2018/10/21(日) 16:27:35.05ID:YOQf5Sh0
侍炎上してて草

プログラミングスクール「侍エンジニア塾」めちゃくちゃすぎるとして炎上 [857186437]
http://leia.5ch.net/test/read.cgi/poverty/1540102800/
2018/10/21(日) 17:01:17.52ID:LvcMWHPB
侍エンジニア塾は邪魔だから検索結果から消える拡張使ってるわ
2018/10/21(日) 17:23:06.79ID:qPf75w7O
残念ながら当然
2018/10/22(月) 03:44:54.15ID:xXcouGiA
>>942
どうやるの?
教えて
2018/10/22(月) 04:19:39.57ID:2nLKwU8O
googleなら ハイフン付ければマイナス検索できなかったっけ?
2018/10/22(月) 04:54:14.97ID:DedBSVU6
chromeならublacklist
firefoxならpersonal blocklist(not by google)
edgeとsafariは知らん
947名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2018/10/22(月) 10:49:00.33ID:zvg+yeJr
ゴシップサイトブロッカー
https://takachan.hatenablog.com/entry/2018/10/13/002107
948デフォルトの名無しさん
垢版 |
2018/10/22(月) 15:53:19.99ID:H1W4+XYR
>>942
他にもいくつか検索禁止にしてほしいドメインある
949デフォルトの名無しさん
垢版 |
2018/10/22(月) 15:55:07.13ID:H1W4+XYR
と思ったら
sejuku.net
だったわ
侍じゃねーかωωω
2018/10/22(月) 16:08:58.45ID:tUB66TVd
>>948
業務妨害だからやめて。
知恵袋とかNAVER まとめとかブロックは良くないよ!
2018/10/23(火) 05:51:18.08ID:LPps5QtM
qiitaとかもね!
2018/10/23(火) 15:03:48.40ID:kOCG5xz+
requestsが標準ライブラリに含まれる予定ってないんでしょうかあ?
あと、日本語ドキュメントもver1から全然更新されてないです…
953デフォルトの名無しさん
垢版 |
2018/10/23(火) 16:54:41.41ID:yFsvvFWj
urllib.request じゃ不満か?
2018/10/23(火) 18:23:51.97ID:qOCnlO8x
不満だな
2018/10/23(火) 18:26:10.15ID:r/FXsXZk
aiohttp使ってるやつはいないのか
別にいいけど
2018/10/23(火) 18:47:59.94ID:JgvcuG4P
>>952
それほど必要とされていないということだよ
2018/10/23(火) 21:00:32.63ID:TiqDWlGp
requestsってどこがいいの?
2018/10/23(火) 21:06:39.73ID:zYWUn764
>>957
HTTP for humans
人間のために作られたライブラリだからな
2018/10/23(火) 21:25:14.41ID:bFd4mp6N
ゴブリン用じゃないならいらんブヒ
2018/10/23(火) 22:18:12.85ID:BDP8ufz9
* *の逆の演算を行う演算子はありますか?
求める演算子を#とすると、
a=2**10
(a=1024)
b=a # 2
(b=10)
となって欲しいです。
2018/10/23(火) 22:21:24.17ID:+h1AjSvu
普通にmath.logだろ
2018/10/23(火) 22:57:05.42ID:froScGUB
これは……
963デフォルトの名無しさん
垢版 |
2018/10/23(火) 23:22:19.65ID:U+Jl4m6O
おま…ん…こ……?
964デフォルトの名無しさん
垢版 |
2018/10/23(火) 23:26:56.46ID:+Sb0MP+K
あ わかった
頭悪いのは底の変換公式を使って求める
965デフォルトの名無しさん
垢版 |
2018/10/24(水) 11:15:44.99ID:wUNs4a59
>>960-961
久々にワロタ

マジレスすると
operator.inv
numpy.linalg.inv
scipy.linalg.inv
2018/10/24(水) 11:40:27.73ID:KNarJnl6
>>965
**演算子の意味知ってる?
2018/10/24(水) 12:06:01.95ID:w3AUbM0d
久々に意味のわかるレスを見たw
962以降レスの流れが全くわからん
2018/10/24(水) 12:51:57.35ID:TphPHDjb
詳しく
2018/10/24(水) 20:03:57.31ID:a4OXlgOj
流れがわからん時はカレーにするー
2018/10/24(水) 20:32:47.63ID:Uqd3UckS
>>960
算数的には「a#2」ってなってるところに入るのは
ln aって書いてlog2テイaと読む

どこがワロリどころかわからんのだが
pythonてきには>>961>>965

これしきの質問のつづきは↓のほうが適切だとおもふ
くだすれPython(超初心者用) その39
http://mevius.5ch.net/test/read.cgi/tech/1535064635/
2018/10/24(水) 21:14:35.01ID:Uqd3UckS
>>970
lnはeテイだった
2テイは普通にlog<sub>2</sub>
ちょっくら公式集読み直した後吊ってくる… λ
972デフォルトの名無しさん
垢版 |
2018/10/25(木) 11:50:57.55ID:5Cy/pQlU
ln(a)/ln(2)
2018/10/25(木) 20:50:43.60ID:NRPlmaaN
ちょっとはやいが次スレ
Pythonのお勉強 Part58
http://mevius.5ch.net/test/read.cgi/tech/1540468210/
974デフォルトの名無しさん
垢版 |
2018/10/26(金) 23:21:49.58ID:GgcfJeih
hoge
975デフォルトの名無しさん
垢版 |
2018/10/27(土) 09:41:52.75ID:g0RO7slc
hage
976デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:46:18.43ID:OODMV48f
fuga
2018/10/27(土) 19:08:59.37ID:ICRIr+bT
次スレが 出来るとバカが 埋めたがる
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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