Pythonのお勉強 Part60

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
垢版 |
2019/04/30(火) 08:34:23.34ID:sH/UeeJ6
★当スレにRubyのソースコード類を書くことを禁ず★
☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止
☆「Ruby では」「Rubyでは」をNGワード登録推奨

◆エラーを解決したいときはエラー表示と
 環境(Pythonのバージョン・OS・IDEの種類とバージョン)をシッカリ書く

◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩れるので
  ↓にあげてるような、ソースコード用サイトに貼ってきてくだしあ
    (スクリーンショットをimgurうp等の横着をしない)
ttp://ideone.com/      推定最大手。デフォ設定がCなので、Pythonするには選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう。
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)

◇Pythonオフィシャルサイト
http://www.python.org/

◇まとめwiki
ttp://python.rdy.jp/

●関連スレ●
くだすれPython(超初心者用) その43【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1555397061/

〇前スレ
Pythonのお勉強 Part59
http://mevius.5ch.net/test/read.cgi/tech/1552194662/

次スレの建立は>>985が挑戦する
0838デフォルトの名無しさん
垢版 |
2019/07/06(土) 23:22:25.67ID:bsIX/mec
>>837
インラインインタプリタだからそれだと一行ずつしか書き込めない。
エディタ(atomなり、VSCodeなりVimなり)使って丸ごと実行しろ。
0843デフォルトの名無しさん
垢版 |
2019/07/07(日) 00:49:34.42ID:xBPYzBO2
>>842
ありがとうございます
ということは消さずにほったらかして進めるかファイルから実行すればいいということですね
0845デフォルトの名無しさん
垢版 |
2019/07/08(月) 16:22:25.92ID:5h3wwFR4
tkinterのentryボックスへ自動入力モジュールpyautoguiを使って「test」と入力するものだけど、
testと入力された後でエントリーボックスが遅れて配置されるから想定通りに動かない。
これが想定通りに動かない理由はなぜ?

import pyautogui
import tkinter

root = tkinter.Tk()
e = tkinter.Entry(root, width="10")
e.pack()
e.focus_set()
pyautogui.typewrite('test')

root.mainloop()
0846デフォルトの名無しさん
垢版 |
2019/07/08(月) 16:25:46.00ID:5h3wwFR4
次に、エントリーボックスを最初に設置した上で実行しても、想定通りに動かない。
想定は、エントリーボックスを設置⇒ボタンを押し関数aaaが呼び出される⇒pyautogui.typewrite('test')でエントリーボックスへ「test」と入力⇒print(x.get())でエントリーボックスの入力内容を読み取って表示
実際は、エントリーボックスを設置⇒ボタンを押し関数aaaが呼び出される⇒print(x.get())を実行する⇒エントリーボックスへ「test」と入力
と、pyautogui.typewrite('test')とprint(x.get())の実行順序が逆になる。そのためにprintが表示されない。
これらが書かれてる順番通りに動かない理由はなぜ?

import tkinter
import pyautogui

root = tkinter.Tk()

def aaa(x, y):
y.focus_set()
pyautogui.typewrite('test')
print(x.get())

text = tkinter.StringVar()
e = tkinter.Entry(root, width="5", textvariable=text)
e.pack()
tkinter.Button(root, text="ボタン", command=lambda: aaa(text, e)).pack()
root.mainloop()
0847デフォルトの名無しさん
垢版 |
2019/07/08(月) 16:28:25.75ID:Wl9thvkN
mainloopが始まる前に送信したらあかんで
0848デフォルトの名無しさん
垢版 |
2019/07/08(月) 16:31:41.13ID:Wl9thvkN
順番が入れ替わるのも関数を抜けてmainloopに戻ってから処理されるからやで
0849デフォルトの名無しさん
垢版 |
2019/07/08(月) 20:50:21.46ID:CstuxD8g
pythonの実行自体を分析したりしたいんだけど、traceモジュール以外に面白そうなオプションとかモジュールってある?
0850デフォルトの名無しさん
垢版 |
2019/07/08(月) 22:31:00.37ID:diib63X5
スペルチェックできるlinterはありますか?
pycodestyleいれてみたのですが、
print("a")
のところを
prant("a")
と打ってもエラーが出ません。
0851デフォルトの名無しさん
垢版 |
2019/07/09(火) 08:06:03.08ID:ArvhGjhl
教えてください

環境 win10+python3.7+openpyxl2.6.2

openpyxl.load_workbook(FILENAME)
このコマンドでエクセルファイルを読み込んでいます。

出力に応じてセルを結合していると時間がかかったため、予めセルを結合したファイルを作成して読み込みたいのですが、なぜかそのファイルを読み込むとその行で止まります。
read_only=trueで読み込むとすぐ完了するのですが原因はなにが考えられますか?

ファイルの大きさは100kb弱です
0852デフォルトの名無しさん
垢版 |
2019/07/09(火) 08:17:17.86ID:6ZGaSuf8
>>851
止まるというのは
エラーになる→どんなエラーがどこで発生?
それ以外→どんな現象?入力待ち?ループ?処理時間が長い?
0853デフォルトの名無しさん
垢版 |
2019/07/09(火) 08:33:53.44ID:ArvhGjhl
>>852
多分処理時間が長いに分類されるはずです。エラーなどは特にでていませんので。
実行して2分ぐらいたっても終わってないのでpythonの実行を終了してます
0854デフォルトの名無しさん
垢版 |
2019/07/09(火) 13:38:25.06ID:6ZGaSuf8
>>853
openpyxlの中の動きは利用者側で修正するのはハードルが高いかな
バグレポート出すくらいか

利用する側で工夫するとしたら
例えばReadOnlyで開いて
別名で保存するとか
0855デフォルトの名無しさん
垢版 |
2019/07/09(火) 17:30:05.84ID:Iyp2p4+Y
Pythonがさらに成長 - 7月TIOBEプログラミング言語ランキング
2019/07/09 15:23 後藤大地
https://news.mynavi.jp/article/20190709-856639/

TIOBE Softwareから、2019年7月のTIOBE Programming Community Index (PCI)が公開された。
TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれ
だけ話題になっているかをインデックス化したもの。

https://news.mynavi.jp/article/20190709-856639/images/001.jpg
7月TIOBE Programming Community Index / 円グラフ

019年7月もPythonが引き続き増加した。Pythonは2018年に入ってから増加傾向を強めており、
現在もその傾向が続いている。TIOBE SoftwareはこうしたPythonの増加は他のプログラ
ミング言語の減少に結びついており、特にPerlとRの減少が大きいと指摘している。

特にTIOBE SoftwareはPerlについて言及。Perlは2005年の段階では3位のポジションにあり、
10%以上のインデックス値を得ていた。しかし、その後Perlはポイントを減らし、現在では
Perlは観測史上最も低い値をつけている。
0856デフォルトの名無しさん
垢版 |
2019/07/09(火) 17:37:18.17ID:K/xdhMHC
>>855
ブビィは?ブビィはどこ?wwww
0859デフォルトの名無しさん
垢版 |
2019/07/09(火) 18:43:30.51ID:K/xdhMHC
おいおいjsじゃなくてブヒィだろこんな少ないわけないのわwwwww
0860デフォルトの名無しさん
垢版 |
2019/07/09(火) 18:57:08.36ID:Bxc9+xb9
検索される=奥が深い言語、だろ
利用者数あるいは奥の深さで検索される
ポインタの至るところで躓くC言語は余りにも奥が深いので検索されまくる
0863デフォルトの名無しさん
垢版 |
2019/07/09(火) 20:20:00.11ID:eMVJsjHB
ケースバイケースだろんなもん
WindowsのGUIアプリをPythonで組みたいか?
0864デフォルトの名無しさん
垢版 |
2019/07/09(火) 21:11:47.35ID:kBXtWzHg
C#は社内システムとかで使われたりすることも多いからこの手の統計には現れにくい
0866デフォルトの名無しさん
垢版 |
2019/07/09(火) 22:10:17.75ID:SdMmc1kb
>>864
検索結果から話題になっている件数か何かを調べたんだから
社内システムでもその言語について話題にすればヒットするんじゃね?
0867デフォルトの名無しさん
垢版 |
2019/07/09(火) 22:24:23.67ID:6YknmgzY
>>854
別名で保存するとreadonlyじゃって怒られましたわ

別ブック作成してシートコピーしようとしたら、別ブックも出来ないんですね〜☺
0868デフォルトの名無しさん
垢版 |
2019/07/09(火) 22:56:58.86ID:6YknmgzY
>>854
ありがとう&すんまへん。行数小さくしたらできた。ただただcpuスペックが弱いだけでござった。ちなみに元のファイルが1000行ぐらいあって放置してたら300秒かかってました。

う〜む。結合セル重いな
0872デフォルトの名無しさん
垢版 |
2019/07/10(水) 10:52:48.29ID:GzbTel9Z
パズルゲームにおけるブロックの入れ替えの概念はどういうものでしょうか
参考ページでもアレば教えてください

配列でブロックをズラッとならべて、クリックされた位置のブロックを入れ替えたりするには
0873デフォルトの名無しさん
垢版 |
2019/07/10(水) 11:29:06.85ID:bzIzkqr1
>>872
一つでもいいので今までに実装したことのあるアルゴリズムを書いてみてください
0878cufflinksを使って、plotlyを動かしても、エラーが出る(泣)
垢版 |
2019/07/10(水) 23:04:13.36ID:p0l6FVVk
cufflinksを使って、plotlyを動かしても、以下のエラーが出る。
どうすれば、いいのか(泣)

ValueError:
Invalid value of type 'numpy.int64' received for the 'name' property of scatter3d
Received value: 0

The 'name' property is a string and must be specified as:
- A string
- A number that will be converted to a string
0879cufflinksを使って、plotlyを動かしても、エラーが出る(泣)
垢版 |
2019/07/10(水) 23:04:48.57ID:p0l6FVVk
import pandas as pd
import cufflinks as cf
import numpy as np
from sklearn import datasets
from sklearn.manifold import TSNE
pd.options.display.max_rows=10
plotly.offline.init_notebook_mode(connected=True)
cf.go_offline()
digits = datasets.load_digits()
df = pd.DataFrame(digits.data)
df["label"] = digits["target"]

X2=TSNE(n_components=2,verbose=True).fit_transform(df.values)
embed2d = pd.DataFrame(X2, columns=list("XY"))
embed2d["label"] = df["label"]

embed2d.iplot(kind="scatter",
x="X", y="Y",
xTitle="X", yTitle="Y",
categories="label",
title="T-SNE 2D demo")
0880cufflinksを使って、plotlyを動かしても、エラーが出る(泣)
垢版 |
2019/07/10(水) 23:20:09.33ID:p0l6FVVk
plotly.offline.init_notebook_mode(connected=True)はいりません。
抜いてくださいね。
0881デフォルトの名無しさん
垢版 |
2019/07/10(水) 23:23:57.07ID:y6DBJPnI
とりあえずIDE使うなりなんなりでどのステップでエラー吐いてるのかくらいつきとめて
0883デフォルトの名無しさん
垢版 |
2019/07/11(木) 00:46:56.25ID:YHUan2/q
よく見てないけど見た感じ2次元データなのにscatter3dみたいなのが呼ばれてる時点で終わってないか
呼び出し方法のリファレンスとか見直してみたら
0885デフォルトの名無しさん
垢版 |
2019/07/11(木) 15:16:27.45ID:zVC+qrY0
アクション要素あるしヘタにグラフィックに凝らなくていいし題材としてはいいと思うよ
0890デフォルトの名無しさん
垢版 |
2019/07/11(木) 18:33:51.31ID:/3hHfdds
なんなんだろうな
よくわからん

ttps://ideone.com/tsc3Z7

def func(x):
ch = x + '.'
while True:
yield ch
ch += ch

i = 0
for x in func('p'):
print str(i) + ':' + x
i += 1
if not i < 5 :
break

↓結果

0:p.
1:p.p.
2:p.p.p.p.
3:p.p.p.p.p.p.p.p.
4:p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.
0891デフォルトの名無しさん
垢版 |
2019/07/11(木) 18:42:23.80ID:dt9f58xR
何を疑問視してるんか知らんが
generator 内の ch は保持される
ch += ch なんてしたら倍々になる罠
0893デフォルトの名無しさん
垢版 |
2019/07/11(木) 19:45:39.42ID:vU1ZVKQt
なんだ使ってる人間のレベルは
N88BASICの時代から大して進化してないじゃんww
0895デフォルトの名無しさん
垢版 |
2019/07/11(木) 23:40:45.70ID:EFuj/0Xm
JKのはそんなに柔らかくない
0899デフォルトの名無しさん
垢版 |
2019/07/13(土) 00:15:02.94ID:rbeTwuTm
今 Java でさえラムダ式あるし、単に簡易的な関数オブジェクトのシュガーシンタックスでしょう
簡単に書けるから見やすい
関数オブジェクトをよく使う場面といえばリスナーでしょうね
ボタンのリスナーとかね
0904デフォルトの名無しさん
垢版 |
2019/07/13(土) 11:50:42.40ID:h87sv6fM
アロー"演算子"なんてそもそもpythonに無くない?
アロー"式"なら調べると出てくるけども
0906デフォルトの名無しさん
垢版 |
2019/07/13(土) 15:07:27.48ID:H4ToI7wx
敢えて分類するなら、separator(,とか括弧とかと同類)か?
0907デフォルトの名無しさん
垢版 |
2019/07/13(土) 16:16:38.27ID:EJ16K1Ps
Jythonとかいうの触らせられてるけどPythonと何が違うの?
まあ、Pythonも知らんのだけど
0908デフォルトの名無しさん
垢版 |
2019/07/13(土) 16:30:02.69ID:ip8BcQSC
windowsアプリ作るのならどういう環境がいいんでしょうか
visual studioがちょっと自分の環境では重いんです
vs codeならなんとか行ける感じです(といってもこっちはメモリ食いますが、、、)
0909デフォルトの名無しさん
垢版 |
2019/07/13(土) 20:03:55.79ID:Ge3rT0UH
C#
0911デフォルトの名無しさん
垢版 |
2019/07/13(土) 20:37:46.99ID:EdaTEXa+
ちょっと前までは、Winアプリ作りたい初心者が間違って入ってきてしまう言語の筆頭はJavaだったんだけどな
最近はPythonが持ち上げられすぎてこういう悲劇も増えてきたね
0913デフォルトの名無しさん
垢版 |
2019/07/13(土) 20:47:30.93ID:h87sv6fM
>>908
質問が非常に分かりにくい。
・クソPCでも動く開発ソフトウェアはどういうものがあるのか
・どういうハード環境ならVSやVSCodeが動くのか
のどっちにも取れてしまう質問の仕方。

あとそもそも「環境」なんて曖昧な質問書くなら今の環境(スペックやソフト)を書け。

もう既に出てるが、
今の情報量だけでは「そのクソPCを捨ててVS入れてC++なりC#書いとけ」と俺も思う。
0922デフォルトの名無しさん
垢版 |
2019/07/14(日) 01:27:31.41ID:PB/8UprD
__init__とreturnがないdefはどちらも変数が初期化されるから、ほぼ同じ働きって事だよね?
0923デフォルトの名無しさん
垢版 |
2019/07/14(日) 01:31:58.99ID:YF+u+8v3
RaspiでPython使う目的が自動制御と機械制御だから
ディープラーニングの性能限界は知らない
0925デフォルトの名無しさん
垢版 |
2019/07/15(月) 07:35:08.84ID:5DmYxF6F
言語は色々やるべきですか?
ゲームエンジンやりながら、firefoxのアドオンやってつ
0927デフォルトの名無しさん
垢版 |
2019/07/15(月) 08:55:44.21ID:sSqb6lN3
だいたいの人は3ヶ月以内にプログラミングに飽きるから
第二言語やるとしてもそれを乗り越えてからでいいよ
0928デフォルトの名無しさん
垢版 |
2019/07/15(月) 09:35:58.71ID:3kssHGHN
こういう香具師が7payみたいなチョン簿システム造っちゃうんだろうな
0931デフォルトの名無しさん
垢版 |
2019/07/16(火) 20:58:52.69ID:6+TKArvY
a = 1
b = 1
a is b

↑がTrueになるのはなぜですか?
aとbは違うオブジェクトなのでFalseになるのかと思ったのですが

試しに b = 2 にしてみると False になりましたが、isは値を比較することもあるのですか?
0932デフォルトの名無しさん
垢版 |
2019/07/16(火) 21:12:20.25ID:19NsgmQw
違う
isはあくまでも参照を比較する
間違っているのは「aとbは違うオブジェクト」の部分
CPythonはパフォーマンス目的で-5から256までの整数をシングルトンで確保しており、
通常はそれらの数字が新たなオブジェクトとして生成されることはない
だからisで比較してもTrueになる
0933デフォルトの名無しさん
垢版 |
2019/07/16(火) 21:19:47.90ID:6+TKArvY
>>932
id(a), id(b)
でidを見てみたら同じオブジェクトでした ;
CPythonの仕様なんですね…知りませんでした
どうもありがとうございました
0934デフォルトの名無しさん
垢版 |
2019/07/16(火) 21:20:50.88ID:/Cc9wbE1
a = 1
b = 1
id(a)
id(b)
id(1)
全部同じ値が出力される

a = 257
b = 257
id(a)
id(b)
id(257)
全部違う値が出力される
0935デフォルトの名無しさん
垢版 |
2019/07/16(火) 22:56:04.98ID:/UEzyRoP
これ定期的にでてくるけど、オブジェクトと実装への理解に繋がるので別にいいかなって思います
レス数が900を超えています。1000を超えると表示できなくなるよ。