くだすれPython(超初心者用) その38

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
2018/05/23(水) 00:52:53.09ID:TJzebZ52
>>47は頭良いな
2018/05/23(水) 12:35:17.11ID:NOnrbGKy
超既出かもしれませんが。
SpyderやIDLE上で実行するとメインスレッドが終了してもデーモンスレッドが終了しないまま実行され続けるのは
SpyderやIDLE固有の問題ですか?
コマンドプロンプト上で実行した場合では正常に終了するのですが。

以下のようなコードです。
import threading
import time

def daemonThread():
while True:
print('デーモンスレッド実行中')
time.sleep(1)

daemon_thread = threading.Thread(target=daemonThread, daemon = True)
daemon_thread.start()

for i in range(5):
print('メインスレッド実行中')
time.sleep(1)
print('メインスレッド終了')
2018/05/23(水) 13:03:33.06ID:NOnrbGKy
インデントに失敗しました。
全角スペースでインデントしているので半角スペースに直して頂けると幸いです。
import threading
import time

def daemonThread():
 while True:
  print('デーモンスレッド実行中')
  time.sleep(1)

daemon_thread = threading.Thread(target=daemonThread, daemon = True)
daemon_thread.start()

for i in range(5):
 print('メインスレッド実行中')
 time.sleep(1)

print('メインスレッド終了')
51デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:06:36.04ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

BYX24
2018/05/24(木) 08:15:04.43ID:iCU5E11d
@propertyについて質問です。

@property def x(self):と
@x.setter def x(self,value):
が実装されたTestクラスについて、
この引数valueはTestクラスによって作られたインスタンスtest_instanceの変数(プロバティメソッド)test_instance.xの値が代入されるという考えでよろしいのでしょうか?

以下がその例です。

class Test:
def __init__(self):
self.number = 0

@property
def point(self):
return self.number

@point.setter
def point(self,value):
if value > 50:
print("You succeeded")
else:
print("You failed")

math = Test()
print(math.point)
math.point=66

>>>0
>>>You succeeded

引数valueにTestクラスのインスタンスであるmath.pointが渡されるまでの過程があまりしっくり来ません。
2018/05/24(木) 10:13:25.28ID:xCMwrCN4
>>52
@propertyはデコレータ(@)を利用したproperty(fget=直下の関数)が実体のクラス変数です
データデスクリプタプロトコルを実装しており、インスタンス変数が如く扱われると発動します
https://docs.python.org/ja/3/howto/descriptor.html
有り体に言えば、同名インスタンス変数への読み書きが、設定した関数に転送されます
math.point = 66は実質type(math).__dict__['point'].__set__(math, 66)として処理され
valueには代入の右辺が直接入るので、インスタンス変数としてのpointは介在できません
2018/05/24(木) 10:14:05.51ID:nuo1NuUv
>>52
Spyderのデバッガで処理を追っていくと、@point.setterの行に辿り着いた時点で変数エクスプローラーを見ると
valueの値が66になってる
その認識で良いんじゃないの
2018/05/24(木) 13:19:52.59ID:rmzZAz1D
>>53
>>54

上のコードを
print(math.point)
math.point=66
print(math.point)

で実行したところ、

>>>0
>>>You succeeded
>>>0

と出力されたので、何か理解できたような気がします。少なくとも違和感はなくなりました。

お二方ともご丁寧にありがとうございましたm(__)m
2018/05/24(木) 17:54:02.74ID:Dj4hL8GY
fizzbuzz書けるぐらいまでになりました
データ分析関係で何かプログラム組みたいと思っているんですけど、何かオススメありますか?
2018/05/24(木) 18:01:36.95ID:BrTobgD6
やっぱりWindowsよりMacの使ってる方が多いですか?
2018/05/24(木) 19:15:54.33ID:gANccVsQ
会社でMac使ってるの見たことない
2018/05/24(木) 19:16:53.75ID:dCOL2CYR
>>57
私はWindows
2018/05/24(木) 22:05:44.79ID:grSZ6JV3
win10、python3.6.5を新規でインストールしました。
hello.word!迄は勉強しました。
スクレイピングがしたくてpipで導入しようとしてるんですが上手く行きません、コマンド教えて頂けませんか?
2018/05/24(木) 23:35:13.23ID:iQu+wqIP
pythonはどうやってインストールしたのでしょうか
スクレイピングは具体的に何のライブラリを使おうとしてるんでしょうか
上手く行かないとは具体的に何が起こる(った)んでしょうか
何か表示されているようなら具体的にかつ正確に教えて貰えますか
62デフォルトの名無しさん
垢版 |
2018/05/24(木) 23:53:23.61ID:UsIL5vRA
ハローワールドからは、かなり遠いよね。イスカンダルに行くほどではないが。
2018/05/25(金) 00:47:19.29ID:WeGyxDGv
だがよく見てほしい。>>60はハローワールドすらまともに出来ていない。
2018/05/25(金) 01:11:37.39ID:2q76hzlV
>>62
超ゆとり教育受けた者は自分のいるところからどれぐらいの遠いのか、どれぐらい大変なのか
分からんからな。で、遠くて行くのが大変でもママ(車や交通機関を使って、さらに、おんぶして)連れて行ってだからな。
俺も超ゆとり教育を受けたから、30半ばなのにママ連れて行って・何とかしてのお坊やおっさんだよ,orz
おかげで、いつまでもママママの超初心者
2018/05/25(金) 01:15:20.22ID:aAJIJZ6P
初心者はPythonの対話型プロンプトからpip実行しようとしてハマることが多いかも

公式PythonならコマンドプロンプトかPowerShellからpip installを実行、
Anacondaなら仮想環境のプロンプトでpip installするか、AnacondaNavigator使って入れればいい
2018/05/25(金) 01:25:14.20ID:2q76hzlV
>コマンドプロンプトかPowerShell
俺の経験から超ゆとり教育受けた奴は何それだよ
2018/05/25(金) 01:47:04.69ID:i9eS1Jst
Win10ならコルタナさんに「Power Shellを起動」って頼むだけで良さそうだけど
68デフォルトの名無しさん
垢版 |
2018/05/25(金) 03:57:09.22ID:JRXZZDGl
ユルタナとか尻とか最初に真っ先に殺すわ
2018/05/25(金) 05:32:29.14ID:dB974EKc
os.rename(dir_path, new_name)
PermissionError: [WinError 5] アクセスが拒否されました。: 'F:\\名前\\古い名前' -> 'F:\\名前\\新しい名前'

Windows7で別のドライブのフォルダをリネームしようとしましたが、
管理者権限でプロンプトから実行しても拒否されます
どうしてでしょうか
70デフォルトの名無しさん
垢版 |
2018/05/25(金) 05:41:28.58ID:JRXZZDGl
remove出来るか試す
2018/05/25(金) 05:44:51.73ID:dB974EKc
>>70
ありがとうございます

この処理の前にopenでリネーム対象フォルダ内のファイルを開いていたのが原因だったようです
os.renameの前にclose()を呼んだら無事に動きました
2018/05/25(金) 06:40:26.00ID:Fc879EHT
>>67
時期にコルタナに「XXのスクレイピングして」と頼むだよ。

>>68
俺らよりユルタナとか尻の方がずっと頭良くて、お前、馬鹿・無知すぎだと言われるからな
(お前、自分でPower Shell・コマンドプロンプトの起動すらできないのか)
2018/05/25(金) 12:57:27.81ID:LBCdzZtE
メンヘラ女はNo Thank You
2018/05/25(金) 22:01:00.22ID:J+5J4Zg+
python言語によるプログラミングイントロダクションって本初心者にどうですか?
75デフォルトの名無しさん
垢版 |
2018/05/25(金) 22:15:06.28ID:3AxUm1zl
pythonのチュートリアルはよくできてるな。
最新版のPDFファイルどっかに落ちてない?
2018/05/25(金) 23:59:55.20ID:q1degsPf
>>75
その質問には答えられんが一つ忠告しておく
ここはお前のような出来る奴が居ていい場所じゃない
2018/05/26(土) 01:03:06.20ID:tNkrbd5p
>>76
だよね。
俺らのようなド底辺にまじわると>>75のような出来る奴でもあっという間にド底辺になるからな。
>どっかに落ちてない? 
もう、底辺らしくなってきているし

>>75
Pythonを使って自分でチュートリアルをPDF変換すれば良いだろう
2018/05/26(土) 01:14:59.45ID:q85gb6RE
なんか、ひとごとでない感が半端無いんですがw
2018/05/26(土) 04:05:33.89ID:LgmduppO
流石弟並みの俺ら
2018/05/26(土) 19:21:59.90ID:foLPIKFk
自分の好きな画像を覚えさてそれに似たような画像を自動で集めてくるみたいなプログラムを作りたいんですが、そのために必要な知識技術が取り入れられる初心者向けの本はありますか?オライリーの入門Pythonを一周した位の初心者なのですが、、
2018/05/26(土) 20:08:28.91ID:K60G8etE
糞クローラーつくろうとするなksg
82デフォルトの名無しさん
垢版 |
2018/05/26(土) 20:10:05.46ID:Lty78diJ
またスカトロの話してる…
2018/05/26(土) 22:25:47.66ID:foLPIKFk
>>81
作ったら不味いヤツなんですか?便利そうだなーとか思ったんですが 
2018/05/26(土) 22:55:59.70ID:4Cpb9YS7
トラフィックが増えてネットが重くなる
2018/05/26(土) 23:13:43.20ID:foLPIKFk
>>84
そんなにですか
重くなるだろうなとは思ってたので50枚取ったら終わりみたいに軽めの限界は設定しようとしてたんですが甘かったですね
しかし目標が無くなってしまった
2018/05/26(土) 23:38:34.04ID:4Cpb9YS7
レンタル糞サーバー使ってるサイトの身にもなってくれ
87デフォルトの名無しさん
垢版 |
2018/05/26(土) 23:42:59.64ID:Lty78diJ
>>86
レンタル糞サーバーが糞なのは陸の孤島ならぬネットの孤島やからやぞ
世間のトラフィックの99.9999999999999%はおまえんとこに影響ないからw
2018/05/27(日) 03:31:42.23ID:c4nNYBzo
>>80
クローラーは、wget を参照

画像判別は、OpenCV とか、
類似の定義のアルゴリズムの研究だけで、軽く数年以上掛かる

どういう画像が似ているのか、その定義が一番難しい
2018/05/27(日) 11:30:53.46ID:mgulVE2s
たくさんPython野郎が遊び感覚でクローラー作ってネットを重くしているのか
トータルではgoogle以上にあっちこっちのサイトにクレクレしてたりしてな
2018/05/27(日) 19:20:03.62ID:hNRd2ZGo
scrapyをホストするサービスが存在している時点でその辺は察してくれ
2018/05/27(日) 22:46:31.42ID:bmQsi9JQ
このようなウンコも存在する模様
http://data.gunosy.io/entry/python-scrapy-scraping

>務教育で教えても良いんじゃないかとよく思うWebクロールとスクレイピング
2018/05/27(日) 22:47:44.18ID:bmQsi9JQ
例題に自社サービスを使ってるところだけは評価
2018/05/27(日) 23:49:42.39ID:5wdFvZhW
スレ違いだったらごめんなさい
自然言語処理をweb等を見様見真似で勉強してます
その中で共起ネットワーク図というものを見かけて面白そうだったのでやってみたいのですが、まだスクレイピングなどはやった事がないのでまずは青空文庫等のテキストデータを使って共起関係にある単語を表示してみたいと思っています
形態素解析するところまで出来たのですがその先の部分はサンプルなどを見つけられなくて行き詰まっています…
使うべきモジュールなども分からない状態なのですが、どのようにして共起している単語の抽出が行えるでしょうか?
初歩的な質問で申し訳ないのですがよろしくお願いします
2018/05/28(月) 01:04:32.12ID:wVRqLEBr
オライリーの本を買えばすぐわかるよ!
2018/05/28(月) 04:26:40.64ID:wNw5dm7C
さすがにこれは本読んでほしいね
2018/05/28(月) 04:44:28.44ID:XVTHXgQc
>>93
出現単語リストの直積のリストを作る
要素ごとにjaccard係数(*1)を求める
必要に応じてjaccard係数で足切り
グラフ描画ライブラリ(*2)で描画

*1
jaccard係数について
https://www.slideshare.net/mobile/khcoder/jaccard1

*2
NetworkXとか

大したことは言っていないので、
分からないなら潔く筋トレ(Pythonの)をしてから出直した方がいいと思います
命が掛かっているなら金次第で相談に乗ります
2018/05/28(月) 07:39:17.97ID:OuhpSUOS
>>93 です

>>94
>>95
ありがとうございます
やはり基本的な知識なのですね
今日帰宅時に本屋さん寄ってみます

>>96
ありがとうございます
何から手をつけて良いのか分からなかったので流れを教えて頂けてすごく嬉しいです
まずは”出現単語リストの直積のリスト”の部分について調べてみます
周りに聞ける人が誰も居ないのでお金を払ってでも…と毎日思います…
2018/05/28(月) 09:00:41.36ID:37+FCx2t
pyautoguiを使ってるんですが、日本語キーボードの無変換キーを入力する方法ってないですか?
2018/05/28(月) 09:08:11.00ID:37+FCx2t
事故解決しました nonconvertですね
2018/05/28(月) 12:18:42.73ID:QrMrtBKb
>>96
重ねて質問してすいません
出現単語リストの直積リストを作る
という部分はitertoolsを使って作る事が出来ました

次の要素毎にjaccard係数を求める部分についてなのですが引数として2つのリストを与える必要があるのかなと思うのですが、この時引数とするリストは直積リストともうひとつは何に当たるのでしょうか?
形態素解析したリストになるのでしょうか?
せっかく流れを示して頂いたのにすいません
基本的な考え方も分からないんだと痛感します…
2018/05/28(月) 17:58:55.76ID:ou7O8CU4
pythonの本増えすぎじゃね?
2018/05/28(月) 18:30:53.73ID:wVRqLEBr
やんたの?
2018/05/28(月) 18:40:42.01ID:vdxePaRv
プログラミング全くの未経験で手を出してしまった…どうしよう
2018/05/28(月) 19:28:13.46ID:wVRqLEBr
そっと、手を引っ込めれば、大丈夫 ;)
2018/05/29(火) 01:32:19.33ID:Xb0sm+Zw
ダメ、自首しなさい
106デフォルトの名無しさん
垢版 |
2018/05/29(火) 08:25:22.63ID:BwhXSTip
本増えるのはいいけど入門書はいらん
もっと突っ込んだ内容のやつが増えて欲しい
2018/05/29(火) 11:15:10.14ID:OeR4MtJu
すごく、、、詳しいです。。
108デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:00:13.32ID:OdQFw6jJ
numpyの配列の形を変えるにはどうしたらいいですか?
motoというshapeが(3,5)の配列があったとして
array([[1., 2., 3., 4., 5.],
[6., 7., 8., 9., 10.],
[11., 12., 13., 14., 15.]], dtype=float32)

この配列を以下のようなshape(3,5,1)の配列にしたいです
array([[[1., 2., 3., 4., 5.]],
[[6., 7., 8., 9., 10.]],
[[11., 12., 13., 14., 15.]]], dtype=float32)

配列をコピーする用に配列をつくってはみたものの
ここにどうやって形の違う配列をコピーすればいいのか分からないです

zr = np.zeros((3,5,1)).astype("i")

宜しくお願いします
109デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:46:23.55ID:QKhV4oKb
それだと 1,3,5 じゃないのか
110デフォルトの名無しさん
垢版 |
2018/05/29(火) 17:49:10.44ID:QKhV4oKb
やりたいことが何か判らんが

>>> import numpy as np
>>> a = np.array([[1., 2., 3., 4., 5.],
... [6., 7., 8., 9., 10.],
... [11., 12., 13., 14., 15.]], dtype='float32')
>>> b = np.array([a])
>>> c = a.reshape(3,5,1)
>>> a.shape
(3, 5)
>>> b.shape
(1, 3, 5)
>>> c.shape
(3, 5, 1)
111108
垢版 |
2018/05/29(火) 18:00:06.08ID:OdQFw6jJ
>>110
ありがとうございます
ほげー、一行で出来るんですね・・・
まさかforで回すわけでもないしと悩んでました

numpyでグレースケールで採り込んだら
RGBのカラーの時の値が入ってた枠が無くなってしまって
ほげほげしてたところでした・・・助かりました。
112デフォルトの名無しさん
垢版 |
2018/05/29(火) 22:16:06.70ID:iRdPA+i/
ipythonでインデント(ブロック)の終了ってどーやんの?っと
113デフォルトの名無しさん
垢版 |
2018/05/30(水) 00:11:49.14ID:6Ga5VGJ6
>>112
エンター押しまくる
2018/06/01(金) 14:32:40.20ID:g56dgDhl
docstringを使おうとしたらエラーが起きた

"""ほにゃらら"""

の形式で書いたんだけど、無情にも

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x83 in position 1: invalid start byte

と返された。誰か助けて
2018/06/01(金) 17:19:10.73ID:UBye49NJ
ファイルのエンコーディング確認
116デフォルトの名無しさん
垢版 |
2018/06/01(金) 18:08:04.05ID:Wbxpqrec
coding: hogehoge
2018/06/01(金) 20:50:43.65ID:g56dgDhl
なるほど、教えてもらったキーワードでググって
なんとなく理屈が見えたきた
ありがとう
2018/06/02(土) 10:41:21.53ID:hlsM3qEn
x = [0, 1, 2] みたいなリストを並び替えると
1番目 [0, 1, 2]
2番目 [0, 2, 1]
3番目 [1, 0, 2]
4番目 [1, 2, 0]
5番目 [2, 0, 1]
6番目 [2, 1, 0]
となるけど単純に f(x,3) -> [1, 0, 2] みたいに呼び出す方法ありますか
2018/06/02(土) 11:47:22.91ID:Mn+2M+g0
>118
itertools で全部列挙しておいてから、m番目を返すコード。
リストxの長さを n とすると、O(n!)の計算量になるので、nが小さい値でしか使えない。
また、メモ化してるので、x にいろいろなのがくるとメモリが足りなくなる。
memo = dict()
def f(x, m):
x = tuple(x)
if x not in memo:
memo[x] = list(itertools.permutations(x))
return memo[x][m]

桁DPの要領でm番目を直接求めるアルゴリズムもあるとは思う。
2018/06/02(土) 12:01:42.03ID:Mn+2M+g0
>119
下記にコードがあった。
最初のコードは間違っていて、後ろの方に出てくるのが正しいらしい。
計算量は、リストの長さをnとして、O(n^2)
http://code.activestate.com/recipes/126037-getting-nth-permutation-of-a-sequence/
121デフォルトの名無しさん
垢版 |
2018/06/02(土) 14:05:36.42ID:yUEJ+BJS
>リストを並び替えると
>...略...
>となるけど

なんで確定してんの?
2018/06/02(土) 14:58:37.23ID:Mn+2M+g0
辞書順でって書いて欲しいよね
2018/06/02(土) 15:04:41.70ID:dZS8JdkF
でっていうw
124デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:13:34.52ID:yUEJ+BJS
並び順次第でもっと高速アルゴリズムあるだろ
125デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:15:45.21ID:yUEJ+BJS
あと要素に重複許すか許さないかも決めろ
126デフォルトの名無しさん
垢版 |
2018/06/03(日) 00:38:10.83ID:XOBHiyXi
なんでもかんでも他人が決めてくれると思うなよ
2018/06/03(日) 16:48:41.00ID:YC/G71rw
print("test")
2018/06/03(日) 20:21:55.32ID:bfa47pyD
でかいカタツムリが頭から離れない
2018/06/04(月) 01:25:24.68ID:PSQxbIpD
Numpy(またはリスト)で

HOGE =
[[AB], [CD], [0]
[AB], [CD], [0]
[AB], [CD], [0]]

AB:A〜Bの範囲で乱数
CD:C〜Dの範囲で乱数


のような形で2重配列を生成する方法有りませんか?
出来ればnumpyの関数を使うなりで高速に処理したいです
130デフォルトの名無しさん
垢版 |
2018/06/04(月) 03:05:03.63ID:kbH5Vpqw
,足りないからsytax error
2018/06/04(月) 03:37:22.59ID:/gUisM+Q
>>129です
np.array([np.random.rand(1000) * 40 + 30, np.random.rand(1000) * 150 + 50, np.zeros(1000)])
としたら望んだ動作をさせることが出来ました
これが正攻法ですかね?
2018/06/04(月) 12:05:28.08ID:JjmaaBf+
リストでa=[[]]の状態から
a=[[1、1、1]、[2、2、2]、[3、3、3]]の状態にしたいんだけど
a[1].append(2)とするとindex out of rangeになる。
どうすればよかったの?
2018/06/04(月) 13:01:34.66ID:idJqzVHE
何で分からないのか全く分からないが
最初にa.append([])すればいい
2018/06/04(月) 13:10:05.65ID:gu22rR49
多分indexが1から始まると思ってるんでしょう。
2018/06/04(月) 16:10:44.39ID:vxffLJZ1
This is append.
2018/06/04(月) 19:35:46.16ID:XnHANXyJ
Pythonってオブジェクト指向なの?
クラスあるだけ?
2018/06/04(月) 20:11:09.05ID:gjT3Zats
pythonでは全てがオブジェクトだよ
2018/06/04(月) 23:54:57.47ID:V9/EtLY4
スクレイピングについて質問があります。
環境python3.6.5
(requests、beautifulsoup4インストール済み)
win10 64 pro
https://i.imgur.com/nzETfNB.jpg
写真のコマンドをShellで表示させる事は出来ました。
コマンドプロントで表示させようとすると一瞬表示されて落ちます。
hello worldは表示されたままです。
コマンドプロントで表示させるにはどうすれば良いのでしょう?
2018/06/05(火) 00:11:16.44ID:2Xl5RiK7
椎名林檎と金慶珠
2018/06/05(火) 02:02:26.17ID:LvfHSQTn
プロントと言えばパスタでしょ
141デフォルトの名無しさん
垢版 |
2018/06/05(火) 07:12:27.46ID:vNq9k7GF
タリーズのパスタセットのほうが好き
2018/06/05(火) 08:25:09.33ID:mf3VSMyj
昼間っからプロントの外席で酔っぱらえる暮らしがしたーい
2018/06/05(火) 08:26:51.27ID:lzn810vN
>138
a = input()
をプログラムの最終行に追加して、ユーザーからの入力待ちにしたら、コマンドプロンプトが閉じずに開いたままになると思うよ。
2018/06/05(火) 09:18:02.25ID:ALr8nSGL
でもコマンドプロントは閉じちゃうんでしょ?
145デフォルトの名無しさん
垢版 |
2018/06/05(火) 12:20:58.47ID:5wSar7or
>>143
ヤッマーマンコーヒーライター
2018/06/05(火) 13:30:42.56ID:YM6WlMJz
おまんこポロンと
147138
垢版 |
2018/06/05(火) 15:33:40.43ID:6QaUpT89
>>143
ありがとうございます。出来ました。
■ このスレッドは過去ログ倉庫に格納されています