X



くだすれPython(超初心者用) その44【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2019/07/24(水) 21:02:48.30ID:d1IM+Tl+
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1555397061/
0742デフォルトの名無しさん
垢版 |
2019/09/22(日) 22:36:02.10ID:W3ewN8v1
標準入力受けとって標準出力するようなコードで書けるならそっちのほうが滅茶苦茶効率良い
パイプで繋いでフィルタとして作用するコードは
新しく書いた1つのコードが基存の N個 のコードと組み合わせて使えるので
爆発的に組みあわせが増えて使える幅が広い
そういうコードの挙動は引数で調整し、人間がプログラム作動中に何もしないのが普通

一方ゲームはリアルタイムでいろいろ入力して、それがゲームに反映されてこそ面白いことが多く
全然フィルタじゃない

そういう意味でほとんど役に立たない
ローカルで使うのに無駄に GUI 書く必要もないし速い
0743デフォルトの名無しさん
垢版 |
2019/09/22(日) 23:00:06.89ID:7LiwHA26
>>739-740
>html = html.fromstring(str(raw_html))

import html
で、html は、モジュールかクラスか、何かなんでしょ?

でも、同じ変数名に代入してるから、モジュール・クラスじゃなくなってるとか?
0744デフォルトの名無しさん
垢版 |
2019/09/22(日) 23:27:02.07ID:z+deZx/y
>>743
ありがとうございます
まさにそれでした!
html_2 = html.fromstring(str(raw_html))
にしたら動作しました
0745デフォルトの名無しさん
垢版 |
2019/09/23(月) 08:12:38.41ID:rVnQf6sm
pythonでmatplotlibで折れ線グラフを書くときに始点がx軸からになってしまいます
この始点をはじめの点からにすることってできませんか?
0746デフォルトの名無しさん
垢版 |
2019/09/23(月) 08:32:20.91ID:72qzLxgh
>>738
ありがとう
頑張る
難しい
0747デフォルトの名無しさん
垢版 |
2019/09/23(月) 09:34:50.98ID:hqxqyGzy
>>745
X軸から垂直にたちあがってくるってことけ?
それとも、2軸(3軸?)の交点がスタートになっちゃうってことけ?
終端はどこまでものばしたいの?終点で終わりたいの?
0749デフォルトの名無しさん
垢版 |
2019/09/23(月) 11:32:07.49ID:hqxqyGzy
画像といっても
手書きの「理想」「現実」を描いた
紙をスマホでとったやつとか
5ちゃんのお絵描き機能でいいぞ >>745
0751デフォルトの名無しさん
垢版 |
2019/09/24(火) 16:27:41.25ID:gKQtLd2v
scikit-imageがyaml.load(f)に引っ掛かるようになってしまった
アナコンダ丸ごと入れ直しかなあ
0752679
垢版 |
2019/09/24(火) 18:16:00.75ID:tykhXDDO
超低レベルの質問で申し訳ないんですが、文字を打ったあとに入力位置(カーソル位置)を左右させる際、
効率の良い操作方法ってありますか?

多重()の中に文字を入れた後、右端までカーソルを動かすのが面倒くさいというか、
うまい人達はもっと効率の良い方法を使っているんじゃないかと思った次第です。

https://imgur.com/a/8T9ZdGd
0753デフォルトの名無しさん
垢版 |
2019/09/24(火) 18:16:06.28ID:tykhXDDO
超低レベルの質問で申し訳ないんですが、文字を打ったあとに入力位置(カーソル位置)を左右させる際、
効率の良い操作方法ってありますか?

多重()の中に文字を入れた後、右端までカーソルを動かすのが面倒くさいというか、
うまい人達はもっと効率の良い方法を使っているんじゃないかと思った次第です。

https://imgur.com/a/8T9ZdGd
0758デフォルトの名無しさん
垢版 |
2019/09/24(火) 19:46:39.98ID:E5vJMy0I
カーソル移動じゃないけどVSCodeのCtrl+Enterで移動する理由が1つ減る
他のエディタはわからんけど
0760679
垢版 |
2019/09/24(火) 20:52:09.96ID:tykhXDDO
>>755
ありがとうございます。
調べてみます。

>>757
カーソル移動が面倒くさいんで、フットペダル買って左右移動に割り当てようかとと考えたりしてました。

>>759
endキーで右端移動するんですね。
ありがとうございます。
0761デフォルトの名無しさん
垢版 |
2019/09/24(火) 21:48:56.86ID:epsMTrgq
vim emacs のエディタで基本アローキーは必要ない
snipet とかあるとさらに加速する
0762デフォルトの名無しさん
垢版 |
2019/09/24(火) 22:45:09.56ID:ThU6ZGxC
>>760
ホームポジションから移動しないで打てる適当なキー同士の組み合わせにカーソルキーを割り当てるのがいいよ
日本語キーボードなら変換+好きなキー(IJKL,HJKL)とか
普通のカーソルキーの位置は遠すぎる
0763デフォルトの名無しさん
垢版 |
2019/09/25(水) 07:09:56.33ID:wAnJnv6Q
vscodeの難点は単純なキーバインドがほとんど登録済みなところだよなあ
2キー以下の組み合わせだと空いてるの全然ない3キー以上は面倒だから出来るだけ使いたくないし
0764デフォルトの名無しさん
垢版 |
2019/09/25(水) 07:21:32.93ID:qKyZZLSp
>>752
AutoHotkeyが便利
無変換ボタンは使わないので 無変換ボタン+スペース でEnterにしたり
無変換ボタン+J で ← に割り当てたりしてる
 
0765デフォルトの名無しさん
垢版 |
2019/09/25(水) 14:43:41.21ID:sdHp2tVC
()や{}や[]は「対応する前の開き括弧まで移動」「対応する後ろの閉じ括弧まで移動」使え
0766デフォルトの名無しさん
垢版 |
2019/09/25(水) 19:47:15.43ID:YGna4xq5
windowsで開発しており今まで公式からダウンロードしたインストーラでpythonを入れてコマンドプロンプトで動かしてました
調べるとこの入れ方は良くないと書かれているのを見たので仮想環境にいれようと思うのですが環境が様々でありどれを入れれば良いのか分かりません
windows10で機械学習をメインにやっているのですがオススメの環境はありますか?
0768デフォルトの名無しさん
垢版 |
2019/09/25(水) 21:35:12.24ID:P5XKQ29w
>この入れ方は良くないと書かれている

だれよ
0769デフォルトの名無しさん
垢版 |
2019/09/25(水) 21:35:19.85ID:sf92dhfb
穴込んだとか入れなくていいよトラブルの元
何するか知らないけどデフォのpythonを入れといて後から必要なモンだけpipで入れりゃいい
0772デフォルトの名無しさん
垢版 |
2019/09/26(木) 05:31:27.20ID:fOcphuaB
>>766
とりあえずそれでやればいいんじゃね
機械学習やりたいのに環境構築で時間取っても仕方ない
0773デフォルトの名無しさん
垢版 |
2019/09/26(木) 09:04:56.92ID:bkTpgHop
pipとconda使うときは環境わけた方がいいよ
0774デフォルトの名無しさん
垢版 |
2019/09/26(木) 09:47:51.52ID:DaWSSFTy
conda系後から知ったせいか分かりにくくて切ったな
必要なの自分で入れてパス把握してる方がいい気がする
0775デフォルトの名無しさん
垢版 |
2019/09/26(木) 12:05:27.59ID:w8QL+qzX
windows10のコマンドプロンプトで、Anaconda3を入れて開発してるんですが
tkinterを読み込もうとしても

python3 -m tkinter
'python3' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となって、動いてくれません。
tkinterを導入するにはどうしたら良いですか?
0777デフォルトの名無しさん
垢版 |
2019/09/26(木) 13:10:16.55ID:w8QL+qzX
>>776
Anaconda自体のパスは通っててpython --versionとやると3,7.3と出るんですが
tkinterのパスを別に通さないといけないということですか?
0778デフォルトの名無しさん
垢版 |
2019/09/26(木) 13:14:26.44ID:XgrY4Q42
じゃあ
python -m thinter
やれば動くんじゃね
python3にパスが通ってないだけでpythonには通ってるっぽいし
0780デフォルトの名無しさん
垢版 |
2019/09/26(木) 18:56:13.40ID:EH9TPs/V
>引用 402
あーでもこれあれだな
長文はキモイな、やっぱ
OOは整理整頓術ってのはその通りだけど、長々と書かずにそれだけ書き込めばよい
あとは、プログラムにはデータ構造と制御構造の二つがあるんだけど
この別々のものを一纏めにするのがOOの悲劇の始まり、ってのを教えといてあげればよい
この辺ベテランでも割とモゴモゴする

>引用 416
OOは継承と多態性のしくみに夢を抱きすぎた
継承は当初差分プログラミングによる省力化がやたらと喧伝されたが、
多くの人がやったら効果など無く混沌が広がるだけだったので
結局>>402な見解に戦線が縮小して現代に至る

データ構造と制御構造(振る舞い)を(オブジェクトの名前).(メソッドの名前)という
単純な表記で呼び出せるように一緒くたにあえてまとめたために、
テンプレートによるメタプログラミングの道が開けた
結果さらなる破壊と混乱がもたらされた
0781デフォルトの名無しさん
垢版 |
2019/09/27(金) 19:05:20.08ID:efzdO/AF
GUI経由で動作するプログラムを作っているのですが
前回起動した時の設定(テキストボックスやチェックボックスの値)を保存するようなプログラムを作ろうと思ったら
テキストファイルなどのような設定を保存する専用のプログラム本体とは別のファイルを作らないとだめですか?

プログラムを配布するに当たって、余計なファイルを含まず.exeファイルだけ配布するほうが使ってもらいやすいかなと思うんですが
0782デフォルトの名無しさん
垢版 |
2019/09/27(金) 19:29:06.74ID:lQEsccHJ
>>781
OSくらい書けよ

Windows系ならレジストリに書き込むこともできるが
アンインストールがまんどくさく&若干デンジャラスになる

>余計なファイルを含まず.exeファイルだけ配布
自鯖や、ファイル置き場にしてOKなレンタル鯖ならそれでもいいだろうが、
Vectorとかの配布所を使うならば、
(たとえ、詳細なヘルプや使い方が、自分のWebページに公開されていてるとしても)
ヘルプは同梱しないと怒られるところが殆どだ。
詳しくは利用したい配布所の利用規約嫁。
0783デフォルトの名無しさん
垢版 |
2019/09/27(金) 19:31:20.44ID:efzdO/AF
>>782
OSはWindowsとMac両方に向けて作ることを想定しています。
では、やはりちゃんと設定ファイルも含めてフォルダにまとめてzipで配布するのが現実的なんですね
0785デフォルトの名無しさん
垢版 |
2019/09/28(土) 00:39:54.31ID:H0kYzg7c
>>783
ちなみに何のソフト作ったの?
0786デフォルトの名無しさん
垢版 |
2019/09/28(土) 01:32:31.94ID:mOHVtsFt
ここpythonスレだよね?
setup.pyを使わないのは、作ったプログラムをexe化して配布するつもりなのかな
0787デフォルトの名無しさん
垢版 |
2019/09/28(土) 02:12:17.25ID:UkXE2lCY
わしもアナコンダやめてpipにしよかな
0788デフォルトの名無しさん
垢版 |
2019/09/28(土) 02:17:18.25ID:UkXE2lCY
みなさんPythonで何してるの
Python学びたい!だけで
目標目的がないです
0790デフォルトの名無しさん
垢版 |
2019/09/28(土) 02:49:48.25ID:C0qDQBnO
>>788
なにか自動化できそうな繰り返し作業を日々してるとかないの?
基本的には仕事でつまらない繰り返し作業を省力化するためにPythonでちょっとコードを書いて
実行して使ってる。
あと、インタラクティブシェルを電卓に使ってる。幅12px 高さ28pxの比を維持したまま
1.3倍したいときに、[x * 1.3 for x in [12, 28]]とかして。
0792デフォルトの名無しさん
垢版 |
2019/09/28(土) 07:35:39.19ID:jdV2k3by
>>788
業務支援スクリプト
0793デフォルトの名無しさん
垢版 |
2019/09/28(土) 09:46:45.07ID:H0kYzg7c
>>790
オナニー
0795デフォルトの名無しさん
垢版 |
2019/09/28(土) 11:26:35.90ID:UkXE2lCY
みんなすごそうな事してますな
エロ画像収集から始めよかな
0797デフォルトの名無しさん
垢版 |
2019/09/28(土) 13:01:35.87ID:H/wNdYNI
>>788
言語の選択権を謳歌してる
世の中には自分で使う言語を選択できない残念な人もいるらしいからpython使えるだけでラッキーなのだぞ
0800デフォルトの名無しさん
垢版 |
2019/09/28(土) 13:59:36.67ID:3iouDx+X
お願いします。
https://uploader.xzy.pw/upload/20190928135502_69376d6c6d.png
以下のコードに何を付け足せば、図の真ん中の結果が得られるようになりますでしょうか。

現状以下のコードを実行して得られるのは、右端の状態です。
ほしい結果は、真ん中(青塗)のとおり、0からグラフの線までが塗りつぶされた状態です。

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('test.csv')
plt.fill(df)
plt.plot(df)
plt.savefig("file.png")

plt.fill()という関数を使うと塗りつぶせるということがわかりました。
しかし、()内の引数?をいろいろ変えてやってみたのですが、期待する結果を得られません。
どのように指定すればよいかお教えください。よろしくお願いいたします。

CSVファイルの中身。
data
1
2
3
4
5
6
7
8
9
50
0801800
垢版 |
2019/09/28(土) 16:01:22.95ID:3iouDx+X
すみません質問を変えます。取り下げます。
CSVに複数列があり、それぞれをxyに指定してあげるとうまくいきました。

cat test.csv
num,Data
10/01,10
10/2,13
10/3,15
10/4,3
10/5,4
10/6,12
10/7,10
10/8,11
10/9,9
10/10,1

df = pd.read_csv('test.csv')
print(df)
x = (df['num'])
y = (df['Data'])
plt.fill_between(x,y)
plt.plot(x,y)
plt.savefig("file.png")

擦れ汚しすみませんでした。
0802デフォルトの名無しさん
垢版 |
2019/09/28(土) 16:05:36.57ID:od8auTQE
>>801
>質問を変えます。取り下げます。
かえるんだか自己解決取り下げなんだかどっちなんだかw

>擦れ
うまくいったのはさいごまでよめばわかったが
もちょいもちつけw
0803デフォルトの名無しさん
垢版 |
2019/09/28(土) 22:17:22.58ID:zsQiY793
list = [0.01 , aaa, -1 , 5 , 1.2 , たすけて]

こんな感じで、floatとintと文字列が入り混じったリストがあった場合に
floatとintだけ抽出したい(数値かどうか判別したい)のですが
どうしたら良いですか?

ググると、intを判別する方法しかすぐ出てこなかったので・・・
0804デフォルトの名無しさん
垢版 |
2019/09/28(土) 22:22:55.53ID:gAUpVCuM
そういえば
floatp, intp のような型検定無いね
perl なら正規表現が、とくにcpanモジュールで検定できるようになっている
0806デフォルトの名無しさん
垢版 |
2019/09/28(土) 22:39:08.80ID:kvFYQRb9
>>803
>list = [0.01 , aaa, -1 , 5 , 1.2 , たすけて]
のうちどれが文字列なの?
あと、組み込み関数名を変数に使わないで

リストの構成要素がfloatとintと文字列だとわかってるなら
type('string') is str
で文字列は除外できる
0808デフォルトの名無しさん
垢版 |
2019/09/28(土) 23:06:35.70ID:zsQiY793
>>805-807
ありがとうございます
こう書いたほうが良かったですね、すみません。
mixList=[0.01 , "aaa", -1 , 5 , 1.2 , "たすけて"]

listは組み込み関数名だったんですね
気をつけます
0810デフォルトの名無しさん
垢版 |
2019/09/30(月) 12:44:56.24ID:19ayi+z8
x,y,zが1〜100にこの順番で入ってるという条件で
if (1 <= x < y < z <= 100):
この条件式は意図の通り作用しますか?
0815デフォルトの名無しさん
垢版 |
2019/09/30(月) 18:26:12.64ID:AVoWdmHr
class test():
test="test"

と書くのと

class test():
def __init__(self)
sef.test="test"
って書くのって何か違うんですか?
0816デフォルトの名無しさん
垢版 |
2019/09/30(月) 18:28:39.11ID:AVoWdmHr
>>81
修正です。すみません。

class test():
  test="test"

と書くのと

class test():
  def __init__(self)
    self.test="test"
って書くのって何か違うんですか?
0818デフォルトの名無しさん
垢版 |
2019/09/30(月) 19:44:23.31ID:H9c5jpU6
オブジェクト指向という儀式に則ってるかどうか・かたちを満たしているかどうか
形式的な儀礼を正しく行ってるかどうか
本当に上っ面の表層の書式を満たしているかどうか

なので宗教的意味合いが違う
0820デフォルトの名無しさん
垢版 |
2019/09/30(月) 19:59:37.07ID:z+NmkubH
>>816
下は明示的にインスタンス変数として扱ってる
上はクラス変数(static変数?)の書き方
結局はどちらもself.testで参照出来るが
0824デフォルトの名無しさん
垢版 |
2019/09/30(月) 20:39:48.54ID:2GpeSLJA
>>816
いや、上と下じゃ大分違うでしょ
0828デフォルトの名無しさん
垢版 |
2019/10/01(火) 09:28:46.62ID:chCwy9wU
へぇ、インスタンス変数内でグローバル使って共有してたけど全部クラス変数でよさそう
0829デフォルトの名無しさん
垢版 |
2019/10/01(火) 12:02:22.72ID:GOaFt4Mg
>>816
上はclass定義された時点でtestが生成されるけど、下は__init__関数実行時に生成される
0830デフォルトの名無しさん
垢版 |
2019/10/01(火) 14:20:45.57ID:us4xbp81
クラス変数は最初から最後まで変更予定ない定数だと使い易いけど
途中で変化するなら変化後にインスタンス化したオブジェクトと前のオブジェクトで
状態違うから気を付けて使え(使うなとは言ってない)
0831デフォルトの名無しさん
垢版 |
2019/10/01(火) 20:28:36.47ID:k/2kjmdF
質問失礼します。
python初心者でスクレイピングをrequestsとBeautifulSoupで勉強中なんですが
find_allで同じサイトページの同タグでも取得できるものと取得できないものがあります。
何が原因なんでしょうか?
0832デフォルトの名無しさん
垢版 |
2019/10/01(火) 21:58:07.06ID:Ueonb/Q5
js
0833デフォルトの名無しさん
垢版 |
2019/10/01(火) 22:38:06.74ID:9HRGRt02
例えば、Ruby のNokogiri でも、静的なHTML を想定しているから、
Ajax で非同期にデータを取得するページでは、
要素が作られるまでは、その要素を取得できない

例えば、5ch では、空のHTMLを送って来てから、
Ajaxでコンテンツを取得するから、その後じゃないと、内容を取得できない

10秒ぐらいスリープするとか、
Selenium WebDriver でブラウザを、人間のように操作してから、
要素が作られてから、その要素を取得する
0834デフォルトの名無しさん
垢版 |
2019/10/01(火) 23:45:42.30ID:k/2kjmdF
>>833
そんなことがあるんですね。とても分かりやすいご説明で助かりました。
ありがとうございます。
0835デフォルトの名無しさん
垢版 |
2019/10/01(火) 23:45:48.90ID:xUPobipD
IPアドレスはネットワーク部とホスト部から成り立っているようです
192.168.1.5
というIPアドレスがあった場合、192.168.1までがネットワーク部で
最後の5がホスト部なようです。

この例だと、ネットワーク部は、".(ドット)"で区切った上3つですが
環境によっては、ネットワーク部が上1つだったり、上2つだったりするようです。
IPアドレスの文字列から、ホスト部だけ適切に抽出して255など別の文字列に置き換えてくれるライブラリなどないですか?
0836デフォルトの名無しさん
垢版 |
2019/10/02(水) 00:43:08.80ID:PD8930QW
IPアドレスだけ貰ってもネットワーク部とホスト部の区別はつかないからそんなライブラリ存在しないよ
サブネットマスクなりCIDERのビット数なりは別に必要
0837デフォルトの名無しさん
垢版 |
2019/10/02(水) 06:37:03.05ID:HLD/jecn
>>836
IPアドレスを2進数に直した時の上位ビットが11なのか01なのか111なのか〜みたいな感じで
上位のビットでネットワーク部が決まってるって聞いたんですが違うんですか?
0838デフォルトの名無しさん
垢版 |
2019/10/02(水) 08:01:02.85ID:YpMEiTCH
ネットワークは上位何ビット使うか指定する。
通常上位3バイトをネットワーク部とするなら、
192.168.1.0/24 の様な指定になる。 下位1バイトのみ可変となる。
192.168.1.0〜192.168.1.255
0839デフォルトの名無しさん
垢版 |
2019/10/02(水) 08:33:57.27ID:R3JG1dEe
たとえば/24(サブネットマスクが24)の場合サブネットマスクは2進数で
11111111.11111111.11111111.00000000
IPが192.168.1.0の場合IPは2進数で
11000000.10101000.00000001.00000000

2進のサブネットマスクが0の箇所に対応する2進のIPがホスト部(この例だと最後の.よりうしろ)
逆にそれ以外の1の箇所に対応するのがネット部

まあつまりサブネットマスクが分からないとネット部とホスト部は切り離せませんよと
分かってるならサブネットを反転させてIPと論理積取ればおわり
■ このスレッドは過去ログ倉庫に格納されています

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