X



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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2019/04/16(火) 15:44:21.69ID:jL0dd/ry
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

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

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

※前スレ
くだすれPython(超初心者用) その42【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1552884175/


◆PythonのHome Page
http://www.python.org/

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

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
0003デフォルトの名無しさん
垢版 |
2019/04/16(火) 15:48:18.15ID:vZl8q5zB
> ruby 禁止
これいるか?
0004デフォルトの名無しさん
垢版 |
2019/04/16(火) 16:02:22.23ID:S7eq1ncA
0005デフォルトの名無しさん
垢版 |
2019/04/16(火) 16:32:59.54ID:HGB3ondZ
>>3
さっそく来たか死ね。
0006デフォルトの名無しさん
垢版 |
2019/04/16(火) 18:02:30.27ID:LqBdGBd1
漏れはruby厨は嫌いだがタイトルに書かれてると
いちいち毎回rubyが目に入るので目障りだからタイトルからは抜いて欲しい
0007デフォルトの名無しさん
垢版 |
2019/04/16(火) 18:50:32.90ID:HGB3ondZ
ウリはチョンじゃないニダが韓国人のビザ免除廃止はやめて欲しいニダ。
あと韓日通貨スワップも再開汁!
0008デフォルトの名無しさん
垢版 |
2019/04/16(火) 19:20:09.45ID:F36R8bPv
ルーピーを呼び寄せてるかもしれんしな。 基地外はどこにでも湧くんだし、スレタイからは外した方が良い。
0009デフォルトの名無しさん
垢版 |
2019/04/16(火) 19:54:42.72ID:ZNRV674z
排除したいのは一人だけなんだけどな。
そのスレで一度でもrubyガイジが書き込んだら次のスレでruby禁止をタイトルに入れるようにするとか。
0012デフォルトの名無しさん
垢版 |
2019/04/17(水) 07:28:18.19ID:vnGL5y5m
>>9
逆にそういう対応すると荒らしは喜びそう。
タイトルから削除して、書き込みは無視が荒らしには一番効く。
0013デフォルトの名無しさん
垢版 |
2019/04/17(水) 08:31:50.43ID:eNMrXZoM
>>12
rubyガイジはスレ事情をよく知らない新参者もそそのかしてruby学習を押し付けようとする。新参者まで無視を徹底できないから現実的でない
0014デフォルトの名無しさん
垢版 |
2019/04/17(水) 08:53:44.84ID:b4oG4EH+
スレタイは全く意味ないから外すべき。
0015デフォルトの名無しさん
垢版 |
2019/04/17(水) 10:13:06.07ID:3Cqf4uWj
俺もスレタイ直してほしい

このスレタイ付けたやつjavascriptのスレも改題しようとして総スカンくらって断念したんだよな
0016デフォルトの名無しさん
垢版 |
2019/04/17(水) 12:08:07.01ID:o6t++Kqu
Ruby 禁止、jQuery 禁止、ライブラリの話を禁止とか、
あちこちで、スレタイに入れたのが荒らし

昔は皆で、荒らしが立てたスレを削除して、まともな人がスレを立て直したりしてた
0018デフォルトの名無しさん
垢版 |
2019/04/17(水) 12:49:00.52ID:xloBuUAY
>>15
違うぞw

俺はこのスレの1だが、JavaScriptはほとんど打てない
0019デフォルトの名無しさん
垢版 |
2019/04/17(水) 13:32:15.42ID:xloBuUAY
>>3
スレタイについてはどうでもいいが
少なくとも1に明記は現状必要かと

>>18
あっ
前スレの1だった
このスレの1、騙ってゴメンヨーw
0022デフォルトの名無しさん
垢版 |
2019/04/18(木) 02:58:19.00ID:ISKz6c7Y
>>16
お前がRubyを推せば推すほど、他の人はRubyに対して不快感と嫌悪感を募らせるだけなのに、お前は何がしたいんだ?

そこまでRubyの印象を貶めたいほどRubyに恨みでもあるのか?
0023デフォルトの名無しさん
垢版 |
2019/04/18(木) 04:26:02.21ID:Ix+T8HxT
>>21-22
構うから消えないんだよ
0024デフォルトの名無しさん
垢版 |
2019/04/22(月) 08:25:41.28ID:VELsze7p
基本情報の試験終わったしPythonの勉強始めようと思ってるんだけどオススメのチュートリアルってなに?

あとIDEのオススメもくださいな。
0025デフォルトの名無しさん
垢版 |
2019/04/22(月) 10:40:40.72ID:vzs0SdtL
>>24
pythonの公式ウェブサイトのチュートリアルが良くできてると思う
IDEはVScodeかPyCharm
軽くさわるだけならJupyterやGoogle ColaboratoryでもOK
0026デフォルトの名無しさん
垢版 |
2019/04/22(月) 11:48:55.09ID:s7hAPPvz
資格商法に
踊らされる
馬鹿な人々
0027デフォルトの名無しさん
垢版 |
2019/04/22(月) 20:59:51.97ID:r32BHvN5
Excelの特定のセルの値を取得したかったため、以下のHPを
参考に書いたのですがエラーが発生します。
何がおかしいのでしょうか。

https://note.nkmk.me/python-xlrd-xlwt-usage/

Spyder(Python 3.7)を使っています。

・コード
import xlrd
for sheet_name in wb.sheet_names():
sheet5 = wb.sheet_by_name(sheet_name)
print(sheet5.cell(1, 2))

・エラー内容
 File "C:\Users\DEV\Anaconda3\lib\site-packages\xlrd\sheet.py", line 412, in cell
self._cell_types[rowx][colx],
  IndexError: array index out of range
0028デフォルトの名無しさん
垢版 |
2019/04/22(月) 21:25:34.37ID:r32BHvN5
自己解決しました。
cellに値がないのに取得しようとするとout of rangeになるんですね。
0030デフォルトの名無しさん
垢版 |
2019/04/23(火) 03:33:37.93ID:5iCdrbSp
gTTSなどのspeechで単語の間に適当な長さを開けるような記号はありますでしょうか?
gTTS(text="Hello World")
gTTS(text="Hello    World")
はスペースは無視されて全く同じ長さの音声になります。
textをHelloとWorldに分けて間にsleepを入れるべきでしょうか?
0031デフォルトの名無しさん
垢版 |
2019/04/23(火) 10:00:37.69ID:EYeaOvlg
本文のテキストを読み込んで朗読させる機構をつくって
sleepは本文テキスト中に「\s500」(500ミリ秒のsleep)くらいの記号を仕込んでそれを読み込み実行時にsleepと解釈させる
なので¥から始まる記号は増やせる

要するにベタ書きの埋め込みはしない
0032デフォルトの名無しさん
垢版 |
2019/04/23(火) 14:56:26.65ID:lr6+QRR4
python2.7, pycharmで式の評価に
print u"あ"
を実行すると文字化けたんですがu付けたユニコード文字列でも文字化けすることあるんですか?

ソースコードで実行やcmdでの対話だと"あ"もu"あ"も普通に出力出来るのでpycharmの設定ミスが原因と思いますがユニコード文字列は化けに悩まされないと信じてた初学者の為どうしてこうなるのか分からないです
0033デフォルトの名無しさん
垢版 |
2019/04/23(火) 15:48:39.40ID:WWmbVW56
>>32
ロケールは?
0034デフォルトの名無しさん
垢版 |
2019/04/24(水) 05:49:34.77ID:fO1Zwv8B
キーボード入力ってデフォでできるんですか?
if pressed key_a:
print(hoge)

みたいな
0035デフォルトの名無しさん
垢版 |
2019/04/24(水) 06:26:11.91ID:fO1Zwv8B
あるキーを押し続けている間、1と2を繰り返し表示し続けるみたいな
こういう場合はwhileを使う感じですか
0036デフォルトの名無しさん
垢版 |
2019/04/24(水) 08:43:25.98ID:uaiqvHZ+
>>33
すいませんlocale?は調べてもよく分かりませんでした
win7にpython2,7とpycharm入れて始めたばかりというレベルですので…
ネットで調べてもいまいちよく分からないですがとりあえずpython3使ってやります
0040デフォルトの名無しさん
垢版 |
2019/04/24(水) 13:38:43.10ID:KVKHKBwP
34 35 8964
pygame
0044デフォルトの名無しさん
垢版 |
2019/04/24(水) 21:32:32.02ID:GlFtpF2h
誰か、Python のどこがいいのか教えてください。
PerlやRubyと同じじゃないんですか?
どんなところが優れてるんですか?

大学の情報科学でもPython やりますが、なぜPython なのか、そこのところで消化不良おこしてます。
0046デフォルトの名無しさん
垢版 |
2019/04/24(水) 23:41:25.64ID:ozqhx65Q
Pythonと他の言語との圧倒的な差は将来性だよ
Perlは10年後にはなくなってるかもしれない
Pythonの需要はどんどん大きくなっていく
Rubyは…
0047デフォルトの名無しさん
垢版 |
2019/04/24(水) 23:43:49.10ID:PJ0SFtpz
>>46
Rubyは?ドキドキ
0049デフォルトの名無しさん
垢版 |
2019/04/25(木) 00:29:46.77ID:X6smEgNz
>>44 Python は、文法的には奇をてらわずに誰でもわかりやすくしているからプログラミングの初心者教育にも最適であり、

どんな言語で書いたものとも結び付けられるという拡張性で中心的な言語となってるんだと思う。

どんなコンピュータの上でも動く汎用性とコンパクト性。
0052デフォルトの名無しさん
垢版 |
2019/04/25(木) 00:41:45.77ID:X6smEgNz
インタプリタ言語とコンパイラ言語は排他的ではない。
一長一短。

また、HTML もドキュメント記述言語として別のジャンルであり、排他的なものでもなくJavascriptもHTML の拡張言語的な位置付けだから排他的ではないだろう。
0053デフォルトの名無しさん
垢版 |
2019/04/25(木) 07:00:48.04ID:dl09H9rk
if input()=="a":
print("hoge")

vs codeでキー入力検知できますか
これでは動かなかったです
0054デフォルトの名無しさん
垢版 |
2019/04/25(木) 07:58:53.53ID:1l/c830P
且つ、または の記号って
|| &&  か | &
どちらでも変わらないのでしょうか?
0058デフォルトの名無しさん
垢版 |
2019/04/25(木) 09:52:06.62ID:844ZjriK
>>57
自分の環境だと実行した時点で分割ウィンドウにターミナルが表示されて、
そこに表示される。
0059デフォルトの名無しさん
垢版 |
2019/04/25(木) 09:57:27.97ID:dl09H9rk
ターミナルは表示されるんですが、そこでキーを入力しても反応はしないです
0061デフォルトの名無しさん
垢版 |
2019/04/25(木) 10:05:46.38ID:844ZjriK
>>59
俺も最近vscode使い始めたのでよくわかってないんだけど、
機能拡張とかvscodeのバージョンも関係してるのかな?
ほかのスクリプトはちゃんと動くの?
0062デフォルトの名無しさん
垢版 |
2019/04/25(木) 10:40:38.70ID:dl09H9rk
↑ああわかりました
ターミナルじゃなくてデバッグコンソールに入力するんすね
使い方わかってなかったdeath
0065デフォルトの名無しさん
垢版 |
2019/04/25(木) 11:29:25.38ID:dl09H9rk
公式のpythonリファレンスが小難しいのですが、他に簡単なwikiなどないですか?
threading.timerの使い方わからぬで
0068デフォルトの名無しさん
垢版 |
2019/04/25(木) 14:17:44.61ID:duNFhQYy
>>67
三分でもいいからドキュメントみたか?
0069デフォルトの名無しさん
垢版 |
2019/04/25(木) 14:19:39.66ID:duNFhQYy
>>67
ちょっとはやとちりした
while とかではだめなの?
0070デフォルトの名無しさん
垢版 |
2019/04/25(木) 14:28:12.07ID:duNFhQYy
忘れてください山にこもってきます
0071デフォルトの名無しさん
垢版 |
2019/04/25(木) 14:38:07.63ID:bEGEp8iB
>>38 >>36 >>33 >>32
2は来年サポートが切れる。
0078デフォルトの名無しさん
垢版 |
2019/04/26(金) 08:23:59.42ID:HIZ4wcbL
whileで常に実行させるにはどうしたらいいのですか?
特に条件式など必要ない場合です
0079デフォルトの名無しさん
垢版 |
2019/04/26(金) 08:35:47.58ID:HIZ4wcbL
http://codepad.org/ufEc1hv5
wh_st = True
press = input()

while(wh_st==True):
print("false")

if(press == "a"):
print("true")
このコードで常にfalseが実行されて、aを押しっぱなしにしたときだけtrueが実行されるようにしたいのですが、これのどこが駄目なんでしょうか
vs codeの環境でデキますか?

whileとはスイッチを切り替えた瞬間に発動されるようですが、はじめからtrueになっていると実行されない感じですかね
0080デフォルトの名無しさん
垢版 |
2019/04/26(金) 08:59:35.03ID:2lV5FHrM
あまりにもわかってなさすぎるから入門書とかやり直しなさい
input()の代わりに何を使えばいいですか?と質問できるようになったら戻っておいで
0081デフォルトの名無しさん
垢版 |
2019/04/26(金) 09:04:30.39ID:VOg5D7hj
指定サーバのファイルを参照するとか、ジャンプサーバー経由でどうこうするとかをどうやってやるかが全然イメージ出来ないのですがpythonでも簡単に出来るものなんでしょうか
0082デフォルトの名無しさん
垢版 |
2019/04/26(金) 09:11:15.50ID:BA5kdkLQ
サーバーの知識とネットワークの知識とプログラミングの知識は別物だから
三つ揃ってたら一人でもできるけどそうでないなら気軽に簡単ですとは言えないかな
サーバー上のファイルを参照するといっても、httpでとるのかsmbでとるのかnfsとか使うのかssh張るのかとか色々あるし
0084デフォルトの名無しさん
垢版 |
2019/04/26(金) 10:00:51.99ID:VOg5D7hj
>>82
ありがとうございます
サーバとネットワークの知識は触り程度の理解しか無いのでこの連休中にそれぞれ学んでみたいと思います
0085デフォルトの名無しさん
垢版 |
2019/04/26(金) 11:38:59.17ID:1QY6I/Wd
連休中にYahooニュースの一覧、詳細、画像まで保存するスクレイピング完成させたいんだけど
1から勉強できるサイトありませんか?
Pascal,VBのみ使えるおっさんてす
0086デフォルトの名無しさん
垢版 |
2019/04/26(金) 12:27:50.15ID:F9vaX/W4
import matplotlib.pyplot as plt
%matplotlib inline

本を読んでいたら上記サンプルコードがあったのですが、
2行目先頭の「%」はどのような意味があるのでしょうか?
0087デフォルトの名無しさん
垢版 |
2019/04/26(金) 13:06:09.48ID:JiqdSsr5
>>85
VB使えるならUiPathを使え。
コミュニティエディションはタダで使えるぞ。
しかしその要件ならVBの腕もほとんど発揮することもなくほぼノーコーディングでいけるな。
スクレイピングをサポートするウィザードみたいな機能も付いてるから。
使い方分からなかったらUiPath Academyの初級コース受けろ。
もちろんタダ。日本語。
やりたいことが決まっているのだから、ビデオだけ見て演習はスキップしろ。時間がもったいない。
連休の半分以上は遊んで暮らせることを約束しよう。
0088デフォルトの名無しさん
垢版 |
2019/04/26(金) 13:51:35.68ID:pk1a8vBU
>>86
% は python 関係ない
jupyternotebook のマクロみたいなもん
0090デフォルトの名無しさん
垢版 |
2019/04/26(金) 15:53:56.07ID:A/WNBxWE
Ruby, Nokogiri, Selenium WebDriver で、CSS Selector を使った

driver.navigate.to "https://www.yahoo.co.jp/";

doc = Nokogiri::HTML( driver.page_source )

# ニュース一覧
elements = doc.css( "#topicsfb > div.topicsindex > ul.emphasis > li > a" )

results = elements.map( &:text )
puts results

--- 出力 ---
両陛下 皇居外で最後の公務写真NEW
女子中学生襲撃か 男を確保動画
祝日じゃない GWと労働義務写真
盲導犬は救急車NG 誤り謝罪写真NEW
豚コレラ 対策徹底も「限界」写真
史上初 MLBとNFLから1巡指名写真NEW
伊調馨 準決勝でまさかの黒星写真NEW
大竹しのぶ デート報道を否定写真
0091デフォルトの名無しさん
垢版 |
2019/04/26(金) 17:54:05.78ID:WZaxoe7p
>>86
jupyterのマジックコマンドというもの
0092デフォルトの名無しさん
垢版 |
2019/04/27(土) 04:33:04.43ID:wKdsSOqj
import numpy as np
x=np.array([-1,2,-3,4,-5,6,-7,8,-9,10])

こんなnumpyの配列があります。
0より小さい要素だけを削除したいのですが、
ifを使わずにnumpyだけで行うにはどうすればできますでしょうか?
0093デフォルトの名無しさん
垢版 |
2019/04/27(土) 07:00:21.67ID:2v+ScY9b
print (x[x>=0])
0095デフォルトの名無しさん
垢版 |
2019/04/27(土) 10:20:04.65ID:asc+HFb4
>>93
普段js使ってんだけどこれはうらやましい。
arr.filter(x=>x>=0)なんかより簡潔かつ理解しやすい。
0096デフォルトの名無しさん
垢版 |
2019/04/27(土) 11:42:39.63ID:DfAn5F1E
a = input()
if(a == True):
print("true")
elif(a == False):
print("false")
これで入力されたかどうかを、false か trueで受け取りたいのですが、どうすればいいんでしょうか?
0099デフォルトの名無しさん
垢版 |
2019/04/27(土) 12:56:18.95ID:wKdsSOqj
>>93
ありがとうございました。
本当にとてもシンプルでわかりやすいですね!
0102デフォルトの名無しさん
垢版 |
2019/04/28(日) 10:56:13.38ID:26Oka0XR
atom使用なんですが、おすすめのlinterはありますか?
できればjavascriptなど多言語対応のものがいいです
0103デフォルトの名無しさん
垢版 |
2019/04/28(日) 12:37:49.12ID:UKOVlWkZ
>>102
atom-beautifyから呼び出せればいいの?
pep8
autopep8
flake8
かな
個人的にはflake8が好きだけどatomから使ったことはない
0105デフォルトの名無しさん
垢版 |
2019/04/28(日) 15:07:07.09ID:26Oka0XR
linterってやつじゃないと使えないみたいですね
非推奨と表示されちゃいます
0106デフォルトの名無しさん
垢版 |
2019/04/28(日) 17:34:12.62ID:/pZCuyqc
こちらでの質問が適切かわかりませんが質問させて頂きます。
pythonista3上で↓のソースを参考にDropboxとの同期をさせたいと考えています。
ただソースそのままだとディレクトリ全てが同期してしまいます。
特定ディレクトリのみ同期したいのですがどのように変更すれば良いのでしょうか?

https://gist.githubusercontent.com/moyashi/4b816d7e7ce105163830ba677d127cd4/raw/a21b9763269f3e192b7297faaddd1ce9a7ef0601/DropboxSyncv2.py
0108デフォルトの名無しさん
垢版 |
2019/04/28(日) 19:06:23.05ID:c5eGKKj6
>>106 PythonistaはiOSの制限でDropboxとの同期が禁止されたり有効になったりしてるから現在どこまで許されているのかよくわからない。
0110デフォルトの名無しさん
垢版 |
2019/04/29(月) 13:12:16.59ID:EB4cBsrx
RecursionError: maximum recursion depth exceeded while calling a Python object

このエラーをググっても再帰の深さを変更する趣旨の記事ばかりなのですが、この状態で進め続けていくとどのようなトラブルが起こるのでしょうか
0111デフォルトの名無しさん
垢版 |
2019/04/29(月) 13:43:56.67ID:qkrgcbcN
>>110
おそらくループを回そうとして、自分を呼び出す、
つまり再帰を行っている可能性が高い
しかもその再帰から復帰する手続きをしていない可能性が高い
メモリーを使い尽くして動かなくなりますね
0112デフォルトの名無しさん
垢版 |
2019/04/29(月) 17:27:03.08ID:KC30XU77
システムにパイソン入れてそこにモジュールも追加してるけど、仮想環境にインストールすべきだったかな

ゲームでMod使う時も仮想環境にModをインストールするものね
これからゲームのModみたいに致命的なエラーが出たりするのかな
0113デフォルトの名無しさん
垢版 |
2019/04/29(月) 18:31:19.39ID:scJbKmEl
>>112
仮想環境の意味するところが分からないけどベースシステムにインストールすると色々とトラブルになることもあるよ

ゲームって言ってることから察するにWindowsだと思うけど、公式のPythonならpipenvで、Anacondaならcondaコマンドで環境分けるのが良いと思う

それでも環境変数PATHに追加すると思わぬところでエラーがでる
どうしても環境崩したくないならVMwareやVirtualBoxで別のOS入れるか、あるいはDocker使うかだね
0114デフォルトの名無しさん
垢版 |
2019/04/29(月) 21:57:28.54ID:6y4sJNDp
仮想環境を使わないメリットがわからん
システムにパッケージ入れてたら、どのパッケージが今作ってるプログラムに必要なのかわからなくなるやん(´・ω・`)
0115デフォルトの名無しさん
垢版 |
2019/04/30(火) 01:08:11.14ID:tJFiug19
現代の富豪プログラミングですな
生環境に応じて台数分のPCを用意すればいい
0116デフォルトの名無しさん
垢版 |
2019/04/30(火) 11:38:59.64ID:TMozE8u3
class vector2():
def position():
x = 100
y = 50
------------
import vecter2
position_function = vecter2.cl.position()
print(position_function.x)
print(position_function.y)

モジュールを呼び出すと
print(position_function.x)
print(position_function.y)
の部分で属性エラーになるのですが、どこが駄目なんでしょうか
0117デフォルトの名無しさん
垢版 |
2019/04/30(火) 11:44:45.89ID:2EfrguiE
positionの引数にselfがない
インスタンス変数の定義は self.フィールド名 への代入で行う
vector2.cl の cl はどこから出てきた
0118デフォルトの名無しさん
垢版 |
2019/04/30(火) 11:51:18.13ID:qxKnDa1A
そのままだとクラス変数だからvector2.xとvector2.yは存在するから呼び出せる
def position(self): self.x, self.y = 100, 50
としてインスタンス変数にすれば解決する
詳しいことはpythonのクラスについてもう一回勉強し直せ
0120デフォルトの名無しさん
垢版 |
2019/04/30(火) 13:27:40.29ID:k9+qjStF
お代は結構ですのでこのままお引き取り頂けないでしょうか
0123デフォルトの名無しさん
垢版 |
2019/04/30(火) 17:41:39.31ID:k9+qjStF
事は穏便なうちに収めた方がお互いの得になると思いませんか
0125デフォルトの名無しさん
垢版 |
2019/04/30(火) 18:42:57.58ID:k9+qjStF
マジでもう勘弁してください
僕たちの技術力ではあなたの抱えている問題を解決することはできないんです
レントゲンしかない町医者で脳外科手術なんてやらないでしょう
せめてCTあるとこ行ってください
0126デフォルトの名無しさん
垢版 |
2019/04/30(火) 18:51:47.13ID:BPaXCBbn
>>122
Pythonの公式ページを一読することを推奨する
見ていて全くpython感がない
一応アドバイスすると問題点が2つあるように見える
importを理解していない点とclassを理解していない点

hoge.pyの中にclass abcを定義したら、呼び出し方は
import hoge
...
hoge.abc()
あるいは
from hoge import abc
...
abc()
のどちらか。

すなわち問題のあるコードではvector2.vector2()としてインスタンスを作るか、from importを使うかになる

次の問題点はclassのインスタンスを作らずにメソッドを呼び出している点
この呼び出し方は初心者向きではない
これを踏まえた上でサンプルソースを書くと

vector2.pyの書き方
class vector2():
def __init__(self):
self.x = 100
self.y = 200
呼び出し側
import vector2
v2 = vector2() # インスタンス作成
print(v2.x)
print(v2.y)
0129デフォルトの名無しさん
垢版 |
2019/04/30(火) 21:40:52.46ID:BPaXCBbn
他の言語から入ってpythonを勉強しないで使おうとするとクラスメソッドは結構ハマると思う

Instance method ... インスタンスを作って呼ぶ、第一引数に慣例としてselfを書く、初心者はこれだけでOK

Class method ... インスタンスを作らなくてもクラス名.メソッド名で呼べる、メソッド定義の前に@classmethodを書き、さらに第一引数に慣例としてclsを書く

Static method ... インスタンスを作らなくても呼べるがクラス変数等の状態変更はできない、メソッドの前に@staticmethodを書き、第一引数にselfやclsは不要


@で始まるデコレータはなくても動くので、メソッドの第一引数にselfを忘れると全部Static methodになってしまう
またデコレータの定義がないとインスタンスから呼び出せないので、メソッドが見つからないとエラーになる
0133デフォルトの名無しさん
垢版 |
2019/05/01(水) 12:17:47.25ID:CJm/y/m+
class vector2():
value = "hogehoge"
def __init__(self,nakami):
self.value = nakami

print(vector2("へ").value)
selfにインスタンスが入るということならこういう記述でいいわけですが、具体的にどういう場面で役立つんですか?それがわからない
0134デフォルトの名無しさん
垢版 |
2019/05/01(水) 13:10:16.41ID:sBsjxO6r
>>133
まずコードの指摘から
そのコードの上のvalue="hogehoge"はクラス変数であって、インスタンス変数ではない
JavaやC++とは異なるので注意が必要

次に概念の方
例えばクラスPersonを定義したときに、そのインスタンスとしてAさん、Bさん、Cさんがいたとする
それぞれ年齢は20才、30才、40才とする
これを実現しようと思ったら

Class Person():
def __init__(self, age):
self.age = age

とした上で

a = Person(20)
b = Person(30)
c = Person(40)

と3つのインスタンスを作れる

インスタンスごとに異なる年齢を持つので、それを保持するのはインスタンス変数であるべき
0136デフォルトの名無しさん
垢版 |
2019/05/01(水) 13:20:05.50ID:Yyw2Y//A
もうこの人はself以前に複合データ型が分からん様なので
オブジェクト指向やスコープの解説を重ねても無駄である
0137デフォルトの名無しさん
垢版 |
2019/05/01(水) 13:32:11.43ID:SHxr4ckX
ここまで理解力がないなら、いっそのこと抽象度の高いpythonはやめてシンプルなC言語をやった方がまだましなのではないだろう?
0140デフォルトの名無しさん
垢版 |
2019/05/01(水) 15:10:12.02ID:KcC/aLVJ
>>134
やめとけ、死ぬぞ
0141デフォルトの名無しさん
垢版 |
2019/05/01(水) 15:13:36.87ID:KcC/aLVJ
>>133
Python使う人は本当にバカしかいないし嘘を教える人もいるので他所で聞いた方がいいですよ
なんか、Rubyとかすごい人が集まってるって聞きました
0142デフォルトの名無しさん
垢版 |
2019/05/01(水) 16:53:49.30ID:fQT4rWd7
Rubyほど言語作者が嫌われてる言語も無いだろうよ。。。
0146デフォルトの名無しさん
垢版 |
2019/05/01(水) 19:19:57.83ID:KcC/aLVJ
>>139
こんなん二人もいてたまるか
0147デフォルトの名無しさん
垢版 |
2019/05/01(水) 21:35:24.45ID:9oebd/IU
Ruby では、@a がインスタンス変数で、@@b がクラス変数。
誰が見ても、誤解がない

それに一々、引数で、self を渡さなくても良いように、
実装で頑張って、self を隠した

だから、多くの言語評論家が、初心者へRubyを勧めるわけ。
他の言語では、関係のない所でつまづくから、プログラミングを学べない

Rubyの女神・池澤あやかも、Rubyから始めるように言ってる

大学教育では、ポインタのあるC言語から始めるから、皆プログラミングができないようになる。
プログラミングは、しょーもないという思い出しか残らない

プログラミングに「楽しい」という概念を作ったのは、Rubyが初めて!
その後、Elixir も
0149デフォルトの名無しさん
垢版 |
2019/05/02(木) 00:52:29.37ID:TCI5COrO
Pythonがselfをいちいち引数に入れるのは設計思想に従ったため
selfをあえて引数にしている事でメソッドを動的にクラスに追加できるようになる
0150デフォルトの名無しさん
垢版 |
2019/05/02(木) 03:34:18.74ID:4bQHi7AE
>>147
引数にself渡さないおかげで、どのメソッドでインスタンス変数やクラス変数が使われてるか分かんねーんだよ!!ボケ!!!
0151デフォルトの名無しさん
垢版 |
2019/05/02(木) 07:15:28.27ID:N6YdWdEI
Ruby 「私が新時代の言語だ!」
PHP「素敵!うちの卒園生は任せたわ!」
Java「Springから仕事を分けてやろうか」
Perl「汚れ仕事もちゃんとできないと…」
Go「地ならしに励んでくれたまえ」

Python「私が新時代の言語だ!」
C、Java、Fortlan「雑用は任せた!」
Perl「これで死ねる」
Matlab「著作権とか…」
R「ガットハブグフーン?」

RubyとPythonはこれくらい立ち位置が違う二人だと思う
0157デフォルトの名無しさん
垢版 |
2019/05/03(金) 07:50:14.32ID:Rd+lDyVx
そうなんだ、すごいね
じゃあjavascriptやっててね
生ゴミはこのスレに来なくていいから新海面に埋まっててね
0159デフォルトの名無しさん
垢版 |
2019/05/03(金) 08:03:55.14ID:cgIH4OmO
Pythonは暗黙より明示にと言う方針があるのでそうなってる
記述は長くなるけど関数内からアクセスできることが明確なので独立した関数の場合と構文を揃えられるわけ
Javascriptにもthisはあるけど暗黙になってるべ?
Perlみたいに地面から$_が湧いてくるみたいな魔界はもう懲り懲りなんよ
0160デフォルトの名無しさん
垢版 |
2019/05/03(金) 08:16:59.48ID:xBRb9EIm
ruby憎しで公平な見方ができなくなっているのではないかと思い、
茶化すようなことを書いてしまった。
結果的に荒らすようなことになってしまい、申し訳ない。
0162デフォルトの名無しさん
垢版 |
2019/05/03(金) 09:49:51.06ID:Rd+lDyVx
selfくんにどっか行ってほしいだけだよ
端折った気になってるのかもしれないが、その結果が一ヶ月半もselfがうんたらうんたらだぜ
脳みそが芯から腐ってる
0164デフォルトの名無しさん
垢版 |
2019/05/03(金) 13:35:27.70ID:ozIcHq3A
self君にどうやってselfを教えればいいのか
今まで出てきた話やリンクを全部読んでれば理解できるはずなんだけど、全然読まないのよね(´・ω・`)
0167デフォルトの名無しさん
垢版 |
2019/05/03(金) 14:50:17.97ID:78+67Jlq
絶対に彼のことを忘れてはいけない、もうこれ以上この悲劇を繰り返さないために
0168デフォルトの名無しさん
垢版 |
2019/05/03(金) 16:56:17.71ID:HWNLoAOa
悲しみと憎しみばかりを繰り返す、救いようのないスレだけれど、だとしてもここは、かつてあの子が守ろうとした場所なんだ。それを、覚えてる。決して、忘れたりしない。だから私は、戦い続ける
0175デフォルトの名無しさん
垢版 |
2019/05/05(日) 02:39:49.13ID:tUOFrefg
>>173 コード? コードを道端で書き始めることはまずない。
有ればスマホのメモ帳かメールだが、PC の前ならEclipse かSublime

今はPython で遊びはじめたが、これだと散歩中でも直接 Python で書き走らせて結果も見てる。
Pythonista

Dropbox でPCと共有してるからいつでもどこでも出来る。他も良く使うものはDropbox で共有してる。

Jupitor Notebook は、コード補間がないからスマホではまず使わない。
0177デフォルトの名無しさん
垢版 |
2019/05/05(日) 03:02:51.32ID:NdndInZE
じっくり腰を据えられる環境じゃないとコードは書かないな
実装アイデアだけなら紙のノートにボールペンで書く
0179デフォルトの名無しさん
垢版 |
2019/05/05(日) 12:22:54.40ID:HMt5Rxfg
値を入れてそれを調理するのが関数だから、値なしなら何も返さないというだけ?
0182デフォルトの名無しさん
垢版 |
2019/05/05(日) 13:16:05.89ID:eMsI3+wX
>>181
まずChromeとかFirefoxの開発者ツールでネットワークのログを取りながらレスを書き込んでみろ
そうするとPOSTしてるリクエストがいくつかあるはずだから
urllibやrequestsを使ってそれらを再現するんだ
あとは自分で何とかしろ
0183デフォルトの名無しさん
垢版 |
2019/05/05(日) 13:17:58.15ID:eMsI3+wX
cookieはrequestsならSessionを使えば勝手にcookie保持してくれる
urllibならcookiejarだ
0184デフォルトの名無しさん
垢版 |
2019/05/05(日) 13:20:31.89ID:eMsI3+wX
>>180
採用に際して何もしてないよりはマシだが
あくまでも相対的に見た場合の話で全体では下の下だ
仕事したいなら他を勧めるね
これ以上はマ板でやってくれ
Python関係ない
0187デフォルトの名無しさん
垢版 |
2019/05/05(日) 13:35:21.44ID:eMsI3+wX
もし、いきなり投稿するリクエストをPOSTしているなら
もっと手前から、例えばスレを開くところから再現すると上手く行くかもしれん

あと、メジャーなVPSからやると404になったと思う
0188デフォルトの名無しさん
垢版 |
2019/05/05(日) 13:52:31.35ID:LZXMZ4hr
>>187
パラメーター入れないで
postで開くとこからやってるんだけど
ダメなんだなぁ
driver.browser
からは簡単にできた
0189デフォルトの名無しさん
垢版 |
2019/05/05(日) 14:20:00.06ID:8o5CDMNM
スクレイピングの基本として書き込めない場合は
セッション
User-Agent
Cookie
Referer
をまず疑う

それでもダメならアクセスの順序、JavaScriptの有無を疑う

WebDriverで済むならあらゆる場合でそれが簡単
0190デフォルトの名無しさん
垢版 |
2019/05/05(日) 14:32:37.30ID:LZXMZ4hr
>>189
requestからでも簡単にできるって言われて
いろいろ試してんだけどなぁ

Code聞いちゃうかなぁ
0191デフォルトの名無しさん
垢版 |
2019/05/05(日) 14:51:55.75ID:8o5CDMNM
>>190
普通にトランザクションのログ取ればいいだけじゃないの?
ブラウザの開発モードやプラグイン的なものでもいいし、
httpで暗号化されてなければwiresharkで取るのもあり
0193デフォルトの名無しさん
垢版 |
2019/05/05(日) 15:13:17.06ID:8o5CDMNM
>>192
人の話を全く聞かないヤツだなぁ
chrome開いて
デベロッパーツール開いて
Networkタブクリックして
Headersを見たら
リクエスト全部書いてあるだろ
その通りそのまんま送れ
0194デフォルトの名無しさん
垢版 |
2019/05/05(日) 15:30:27.22ID:8o5CDMNM
ヒントだけでも置いてくか
5ch連投ツール配布スレというのにperl版がある
参考になるだろう
0196デフォルトの名無しさん
垢版 |
2019/05/05(日) 17:24:42.21ID:8o5CDMNM
Perl版書き換えてPython版作って見たが403 Forbiddenって出たな
VPSのIP規制されてるのかね
手持ちのサーバ2つともNGだった

作ったソースはムカついたから貼らんけど
CookieJar作ってbuild_openerでセットして
urllib.request.install_openerでインストールして
add_headersでヘッダセットして
あとは普通にPOSTすれば行けるんじゃないかね
0197デフォルトの名無しさん
垢版 |
2019/05/05(日) 17:44:22.45ID:CGAXyEhi
>>196 POST 何てコマンドラインから書いてもperl で書いても、Python で書いても変わる訳ないじゃん。
コマンドとかターミナルから直打ちしてみろ。
0198デフォルトの名無しさん
垢版 |
2019/05/05(日) 17:58:45.71ID:8o5CDMNM
>>197
何か誤解してる?質問者とは別人だ
POSTはhttp methodのPOSTだよ

サーバ側のIP規制はどうにもならんし
必要な情報は全て書いたよ
0199デフォルトの名無しさん
垢版 |
2019/05/05(日) 18:05:18.70ID:8o5CDMNM
コマンドとかターミナルから直打ちってのはcurlやwgetでアクセスしてみろってことかな
考えてみればそうだね
いきなりPythonで書く理由もない
0203デフォルトの名無しさん
垢版 |
2019/05/05(日) 20:40:32.50ID:uqBIzrD4
pythonでミュージックプレイヤーを作ろうとしてんだけど
flacファイルってどうやって再生するの?なんかいいライブラリない?
0205デフォルトの名無しさん
垢版 |
2019/05/06(月) 09:06:13.00ID:a8gxR/Is
pythonista3のスレってある?
0207デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:34:44.67ID:wr9bFPpT
漏れは、Ruby, Nokogiri, Selenium Webdriver を使って、5ch をスクレイピングしているけど、

5ch は、空のHTML を送ってきてから、JavaScript(JS) でスレッドを取得するだろ。
Selenium Webdriver みたいに、ブラウザで操作しないと出来ないのでは?

その、JS で何かをやっているかも知れない
0208デフォルトの名無しさん
垢版 |
2019/05/06(月) 18:14:37.65ID:o0+2Jvom
test from python
0210デフォルトの名無しさん
垢版 |
2019/05/07(火) 00:43:10.21ID:OdT0SJzW
>>207 お前はプログラム言語を学ぶ前に日本語を習った方が良いな。
全く意味不明。 書き直してみろ。
0211デフォルトの名無しさん
垢版 |
2019/05/07(火) 12:33:06.53ID:J2QrAJGd
flask,tornado,django, これらのフレームワークはそれぞれどの程度の規模(月間アクセス数)を想定したフレームワークなのでしょうか??
0212デフォルトの名無しさん
垢版 |
2019/05/07(火) 13:34:21.67ID:33OoCrhk
フレームワークよりDBの性能気にした方が良い
0219デフォルトの名無しさん
垢版 |
2019/05/08(水) 14:34:31.09ID:g1o7uQzJ
教科書買って読み始めたが配列辺りから訳分からなくなってきたんだがどうすればいいですか?
0220デフォルトの名無しさん
垢版 |
2019/05/08(水) 15:10:05.91ID:iFhPOuUu
理解せずに使い方だけを丸暗記

分かろうとするから詰まる
当面の間は使い方だけを丸暗記してしまえばいい
それなら理解しなくて済む
0221デフォルトの名無しさん
垢版 |
2019/05/08(水) 15:38:11.75ID:aHuIIFH4
>>219
読んでるうちは何も覚えないよ
すぐに環境整えて何か簡単なプログラム作ってみるのが近道
教科書100回読んでもコーディングはできないから
0222デフォルトの名無しさん
垢版 |
2019/05/08(水) 15:40:33.04ID:Okgomaag
>>219
とりあえず作ってみる
配列に入らない番号を指定してみる

こんなことを繰り返すのが一番
0223デフォルトの名無しさん
垢版 |
2019/05/08(水) 16:37:44.86ID:LwNYKv4v
>>219 読むのは良いが常に書いてあることを自分で確認しながら進めないから理解できないんだよ。

練習問題がネットでコピペ出来るものを選べば良い。
まずはPython をインストールしたのか?
0224デフォルトの名無しさん
垢版 |
2019/05/08(水) 17:10:29.14ID:3Qvt2aRa
Pycharmで、
function is too large to analyze
プログラム書いた上部に、
緑色のこんなエラーみたいな表示がでます、
プログラムは動かせるみたいだけど、
これなんでしょうか?
0225デフォルトの名無しさん
垢版 |
2019/05/08(水) 18:27:44.03ID:T0BNA1Rz
拡張と継承は同じ意味なんですか?
継承したうえで拡張する という意味だとしたら、 拡張は継承を内包するということでしょうか
0226デフォルトの名無しさん
垢版 |
2019/05/08(水) 19:03:03.56ID:MWqZtgYB
正解はないと思うけど個人的には同意
0228デフォルトの名無しさん
垢版 |
2019/05/08(水) 19:51:17.31ID:3Qvt2aRa
>>227
ありがとうございます、
関数が大きすぎるって意味なんですね、
とりあえず無視して使います。
0229デフォルトの名無しさん
垢版 |
2019/05/09(木) 10:17:42.24ID:Oyxmcal+
>>220
数学の参考書みたいにチャート式pythonとか基礎問題精講pythonとかマセマ式初めからから始めるpythonとかがあれば和田秀樹流暗記プログラム術ができるのに。
0231デフォルトの名無しさん
垢版 |
2019/05/09(木) 11:11:01.63ID:XZvIyX2v
ヨビノリpythonはよ
0234デフォルトの名無しさん
垢版 |
2019/05/09(木) 14:39:55.78ID:2tAwizxt
VSCodeを使っています

"""
data = data_A # エラー発生行
"""

と、使い終わった範囲を"""でコメントにしているのに、その行でエラーが出てしまいます

"""
#data = data_A # エラー発生行
"""

と、範囲コメントアウトの中でさらに先頭に#を付けてコメントにしたら正常に動きました

"""を使用して範囲コメントアウトするのは危険なのでしょうか?
(Indentはしていません)
0235デフォルトの名無しさん
垢版 |
2019/05/09(木) 14:53:32.59ID:AV44IkRO
範囲コメントアウトをネストしようとして
内側のコメントアウトが効かなくなったとかでは?
0236デフォルトの名無しさん
垢版 |
2019/05/09(木) 15:50:52.54ID:2tAwizxt
>>235
ありがとうございます

"""

data = data_A # エラー発生行
"""

上記の様に"""の次に何も無い行を入れても、エラー発生行は変わりませんでした
0237デフォルトの名無しさん
垢版 |
2019/05/09(木) 16:40:01.66ID:1WzpF7xp
それをコメントと説明してるのもあるけど、コメントじゃないよ。

form = '''
なんたらかんたら
あれやこれや
'''
print( form )
# なんたらかんたら
# あれやこれや
0238デフォルトの名無しさん
垢版 |
2019/05/09(木) 18:27:07.89ID:MyfN4Cyd
いわゆるヒア演算子よね
それにしても文字列の中で式が評価されたらとんでもなくヤヴァイわけだから
囲い方に問題があるのじゃないかと思うけど
0242デフォルトの名無しさん
垢版 |
2019/05/09(木) 22:55:06.04ID:hrzJ6OrL
>>240
VSCodeがついにコンテナやサーバー上でのリモート開発に対応してしまったから、PyCharmの優位性がほとんど無くなった
もう終わりだから今買うのはお勧めできない
0243デフォルトの名無しさん
垢版 |
2019/05/10(金) 08:33:21.75ID:Uve1X+A1
djangoのファイルを参照する記述で
return render ('app/index. html' ) という記述と
return render ('app:index') という記述があるのですが、この2つはどのように使い分ければ良いのでしょうか
0244デフォルトの名無しさん
垢版 |
2019/05/10(金) 10:47:03.93ID:TvwQV5La
トリプルクォーテーションは改行を許す文字列。

しかし中に式が含まれていても文字列として解釈されるはずだけどな、Vscode のバグだろ。
0246デフォルトの名無しさん
垢版 |
2019/05/10(金) 11:14:06.49ID:g7d9466A
>>233
子から親のクラスメソッドやクラスメンバを変更(追加)することは可能
0248デフォルトの名無しさん
垢版 |
2019/05/10(金) 15:39:04.93ID:iQzDGutC
前スレで乱数について質問してた人まだ見てるかな?

この連休で、トランジスタの電子雪崩使ったノイズ回路をPICマイコンでAD変換してシリアル通信吐き出すおもちゃ作った。
Python側はpyserialで受けてmatplotlib使ってリアルタイムに吐き出した数値をヒストグラム表示させてみた。
検定はRでカイ二乗しかやらなかったけど、結構均一に数値をはきだしてました。
たった20行くらいでアプリ書けるPythonって、やっぱ趣味ユーザーには嬉しいわ。
0249デフォルトの名無しさん
垢版 |
2019/05/10(金) 16:06:49.33ID:bODSyEKx
昔、PIC で遊んでたけどしばらく離れると使う気にならなくなるな。 プリント基板まで自作してたけど、しばらく使わないと家族に捨てられてしまう。

今は、ARM のCPU 積んだボードが2000円位からあるからな。Bluetooth WiFi ADC GPIO てんこ盛りでPython まで動く。
この間両方ともPython で通信した。 ボードの状態をBluetooth で出して、iPhone のpythonista で受けて表示。 両方ともすごく簡単。
0250デフォルトの名無しさん
垢版 |
2019/05/10(金) 17:09:54.23ID:bedSfBsk
初心者が使うには、
PyCharmと、
VSCodeは、
ぶっちゃけどっちがいいの?
0251デフォルトの名無しさん
垢版 |
2019/05/10(金) 17:22:55.22ID:pmZvJVRd
どっちも最初の設定にはちょっと悩むかもしれんので、大差無いかもだけど、
vscodeの方がネット情報は探しやすい。
0252デフォルトの名無しさん
垢版 |
2019/05/10(金) 17:32:11.93ID:bedSfBsk
>>251
そうですかぁ
PyCharmに慣れてきたけど、
VSCodeも試してみるかなぁ
0253デフォルトの名無しさん
垢版 |
2019/05/10(金) 21:21:06.03ID:tLU6eZuM
その二つならどっちでもいいから環境構築に時間かけるよりどんどんコード書いてけ
0254デフォルトの名無しさん
垢版 |
2019/05/10(金) 23:26:38.60ID:iqleh4RP
半年学んだら就職出来るってマジ情報ですか?
プログラム全くの未経験なんですが
0255デフォルトの名無しさん
垢版 |
2019/05/10(金) 23:34:50.55ID:bedSfBsk
>>253
確かに、
環境はそれほどこだわらなくてもいいか、
コード書けるようになりたい、
ほんとに素人だけど、
PyCharmで書いた、
プログラムで、仮想通貨のbot作って、
今日は、500円儲けた、
もっといいコード書けるようになりたい。
0256デフォルトの名無しさん
垢版 |
2019/05/11(土) 06:51:18.00ID:EnxEATp6
コード補完やリファクタリングは圧倒的にPyCharmの方が優秀だけど、VSCodeより動作がやや重いよね
最近は、大規模開発ならPyCharm、スクリプトレベルならVimで書いてるなぁ
0258デフォルトの名無しさん
垢版 |
2019/05/11(土) 15:51:29.48ID:Zu95CkvR
スレあってるか分からんけど、
初心者用の本でオススメ教えてください

写真等が多い本が好きです
使用ツール jupyter
言語 python3
目的 データ分析
プログラミングレベル 一昨日からの超初心者、forとifが混じると混乱するレベル
職業 マーケティング関係
データサイエンティストではないけど、簡単な分析できる程度には必要らしい
0260デフォルトの名無しさん
垢版 |
2019/05/11(土) 16:33:09.56ID:RyGQcLKj
windows10 anacondaの質問です。
今までctrl+enter や、runで実行出来てたのが、
In [*]: と、数字にならず、アスタリスクになり、実行しても結果out[]が表示されません。

原因がわかる方がいらっしゃったら、解決方法をご教示ください。。
よろしくお願いします。
0261デフォルトの名無しさん
垢版 |
2019/05/11(土) 16:46:24.99ID:ufZAXouO
とりあえず初心者はpython bootcampやってみればいいよ
テキストはタダで見られるんだから(´・ω・`)
0262デフォルトの名無しさん
垢版 |
2019/05/11(土) 18:22:35.73ID:4yOQf0dv
>>258
その用途ならPandas(データ処理)やMatplotlib(可視化)のページがあった方がよいと思うので、「東京大学のデータサイエンティスト育成講座」がシンプルにまとまってると思うよ。本屋で立ち読みしてみて。
0263デフォルトの名無しさん
垢版 |
2019/05/11(土) 19:48:35.46ID:ufZAXouO
今elasticsearchをpythonから操作してるんだけど、APIから帰ってくるdictの階層が深くて、ほしいデータを得るにはflake8の80文字制限を超えて辞書にキーを与えないといけなくなる

80文字制限を守りながら、階層の深い辞書にアクセスするのは、どうしたらええんやろ
0266デフォルトの名無しさん
垢版 |
2019/05/11(土) 20:40:41.39ID:rUJquBdk
good_new = p1[st==1]

この文の[st==1]ってどんな意味があるんでしょうか?
p1とstはarrayです
0268デフォルトの名無しさん
垢版 |
2019/05/11(土) 22:33:42.54ID:cXrdT2ft
pyinstallerで--noconsole指定してexeができた途端ウィルスバスターに駆除された
--noconsole指定しなければ問題ない
なにが悪い?
0270デフォルトの名無しさん
垢版 |
2019/05/11(土) 23:24:03.37ID:mAUO1RE5
アナコンダでgdal入れてもimportエラー毎回でて本当困ってる
いろいろググってバージョンとかダウンロード先変えても無理
誰か教えてください
0272デフォルトの名無しさん
垢版 |
2019/05/12(日) 20:28:27.92ID:saOO7fqu
みんなアナコンダ使ってるみたいなんだな...。
俺もMac時代はpyQtとmatplotlib欲しさに穴をインストールしたけど、
Linuxに移ってからはsynapticかpipで欲しいライブラリだけインストールしてる。
個人で使ってる分には今のところ不都合ないけど、Linuxでも穴インスコするメリットあるでしょうか?

ちなみにエディタはgeditで事足りちゃう程度の趣味プログラマーです。
0273デフォルトの名無しさん
垢版 |
2019/05/12(日) 21:02:23.76ID:cao7rmdV
Pythonで掲示板作ろうかと思っているんだけど
request
urllib
この辺使わないと無理?
0275デフォルトの名無しさん
垢版 |
2019/05/12(日) 21:20:13.98ID:yphZ1GON
>>272
メリットはOSを跨げること
Redhat系とDebian系の微妙なライブラリの違いを吸収できる
ライブラリごとインストールしてくれるからね
あと一応パッケージ間のバージョン干渉が小さいけど別のchannel使うともはや崩れまくり
他にはpyenvかpipenvとか迷わなくて済むくらい?
0276デフォルトの名無しさん
垢版 |
2019/05/12(日) 21:29:25.28ID:cao7rmdV
<form action="a.py">
ご感想:<br>
<textarea name="kanso" rows="4" cols="40">ここに感想を記入してください。</textarea><br>
<input type="submit" value="送信"><input type="reset" value="リセット">
</form>

ってやってnameってどうやって受け取るの?
0279デフォルトの名無しさん
垢版 |
2019/05/12(日) 21:41:07.16ID:cao7rmdV
レンタルサーバーで掲示板を
Pythonで作ろうかと考えていたんだけど
post使えないっぽいの
0281デフォルトの名無しさん
垢版 |
2019/05/12(日) 21:49:42.82ID:yphZ1GON
>>279
レンタルサーバにもいろいろあるからよく分からないけどウェブサーバ側でPOSTメソッドを禁止してるってことかな
そんなサーバあまり聞いたことないけど、何か勘違いしてないかな?まぁ技術的にはできるけども

POSTを受け取るには環境変数CONTENT_LENGTHで長さ取得した後、標準入力から受け取ればOK

自分ならそんなクソサーバはやめてDjangoかFlaskが動く環境に乗り換える
0284デフォルトの名無しさん
垢版 |
2019/05/12(日) 22:32:07.31ID:yphZ1GON
サーバ標準pythonにモジュールがないってことか
そりゃなさそうだね
最初にサーバ側のマニュアル等を読むのが先かなぁ
DjangoやFlask勉強したところでサーバ側に任意のモジュール置けなければ結局動かないよ

sshでシェルさわれてpipenv等使えて
かつ任意のpythonをuWSGIで呼び出せる環境なんだろうか
0287デフォルトの名無しさん
垢版 |
2019/05/13(月) 08:03:54.93ID:4p+sTSRJ
>>286
一応の解決策としてはanacondaの最小版minicondaを使う
minicondaはあるディレクトリ以下に環境が全てがインストールされるから、ローカルに仮想マシンでも立てて必要なパッケージをインストールした上で、リモート環境にディレクトリごと全アップすれば行ける
呼び出すときは
#!/home/foo/miniconda3/envs/hoge/python
みたいなおまじないを書いて実行権限をつければOK
0288デフォルトの名無しさん
垢版 |
2019/05/13(月) 10:59:11.27ID:a5dJb0Yy
普通にflaskでも使えるサービス使えばいいやん
ていうか、素のPythonだけでも掲示板作れるし
0290デフォルトの名無しさん
垢版 |
2019/05/13(月) 11:09:28.10ID:a5dJb0Yy
>>289
BBSの仕組みとか構成は理解してますか?
0292デフォルトの名無しさん
垢版 |
2019/05/13(月) 11:39:06.12ID:a5dJb0Yy
>>291
先ずはそこからじゃないですか
構成がわからなければ実装のしようもないので
勉強用ならもっとシンプルなwebサービス作るのもいいと思います
0295デフォルトの名無しさん
垢版 |
2019/05/13(月) 11:49:20.80ID:a5dJb0Yy
ていうか、とりあえず作るならローカルでいいじゃん
普通にflask動くし
0296デフォルトの名無しさん
垢版 |
2019/05/13(月) 11:58:43.35ID:1V7gItaw
そこでbottleですよ。標準ライブラリのみでbottle.pyのファイル一つ置くだけで使えるし
基本はFlaskと同じだから移行もしやすいだろう
0297デフォルトの名無しさん
垢版 |
2019/05/13(月) 12:03:20.06ID:zTecjvWE
FlaskとかdjangoをPIPインストールしなきゃならんのよ、そのためにはSSH使わなきゃならから少し金払わなきゃならんでがんばっていたのだが
めんどくさいから金払ってフレームワークpipインストールする。
0298デフォルトの名無しさん
垢版 |
2019/05/13(月) 12:04:27.04ID:zTecjvWE
URLの後ろについてるキーバリューを受け取るだけの作業だよね
なんでそんなのにワシつまずいてんのや
0299デフォルトの名無しさん
垢版 |
2019/05/13(月) 12:36:12.68ID:a5dJb0Yy
herokuなら無料で行けそうな気もする
0300デフォルトの名無しさん
垢版 |
2019/05/13(月) 12:38:47.78ID:a5dJb0Yy
なんか脆弱性盛り沢山の掲示板作りそう
0302デフォルトの名無しさん
垢版 |
2019/05/13(月) 14:13:07.71ID:a5dJb0Yy
ここは是非ともローカル環境での構築を検討してみては如何か
0304デフォルトの名無しさん
垢版 |
2019/05/13(月) 14:48:12.13ID:7AXTwu77
例外処理についてなのですが、同じ例外クラスで原因(メッセージ)が違うような例外が複数出る可能性があるとき、どのように処理するのがいいのでしょうか?
具体的には
def function(s):
 if s.isdigit == False:
  raise ValueError(“not digit”)
 if s.isalpha == False:
  raise ValueError(“not alpha”)
 ...........
このような関数をtry:exceptionするときそれぞれの例外を拾ってちゃんとしたエラーメッセージを表示させたいです
0305デフォルトの名無しさん
垢版 |
2019/05/13(月) 21:52:43.13ID:XgdYNs3B
文字列は違うんだから区別出来るだろω
0306デフォルトの名無しさん
垢版 |
2019/05/14(火) 09:16:34.81ID:X1YvCvny
例外を例えば変数eで受けて
e.__str__()するとエラーメッセージの文字列が返ってくるから
それで分岐させるといいよ
0307デフォルトの名無しさん
垢版 |
2019/05/14(火) 09:35:16.98ID:32DCwaMK
もしくは、例外のインスタンスのargsフィールドに、例外を作成した時の引数が入ってるから、それで見分ける
0308デフォルトの名無しさん
垢版 |
2019/05/14(火) 13:22:07.50ID:4ADUHoFL
楽天のapiを叩いてランキングを取得したいのですが、30位のみしか表示されません。
1位から順に表示するにはどのように記述すれば良いのでしょうか

r = requests.get(url).json()

for i in r['Items']:
item = i['Item']

print ("順位: ",item["rank"],"位")
print ("商品名: ",item["itemName"])
print ("URL: ",item["itemUrl"])
print ("価格: ",item["itemPrice"])
0309デフォルトの名無しさん
垢版 |
2019/05/14(火) 13:37:04.74ID:HHew+yI/
printも字下げ
0311デフォルトの名無しさん
垢版 |
2019/05/14(火) 15:13:09.62ID:pNSYasAh
>>309
何気にすごくね?
0312デフォルトの名無しさん
垢版 |
2019/05/14(火) 20:19:08.67ID:8F+pJLLr
PythonでWebアプリ作ってます

試作品はNginxとCGIを使っていて、PythonのスクリプトはWebサーバで動作してるのですが、Apache+mod_jk+Tomcatのように、
Pythonスクリプトの実行はWebサーバとは別のサーバで動作させたいと思ってます
(WebサーバにPython3が入ってないため)

Python製Webアプリだとどういう方法がとれるでしょうか
CGIでなくなってもよいので、教えてください
0313デフォルトの名無しさん
垢版 |
2019/05/14(火) 23:22:27.98ID:8CYJpuFt
mod_wsgi
flask
Django
0317デフォルトの名無しさん
垢版 |
2019/05/16(木) 19:48:47.96ID:lb5/XXvB
なぜクラスにはアクセスできるのに、関数のローカルにはアクセスできないんですか?
なぜそういう仕組なのか。

class classname():
x = 10

def funcname():
y = 10

print(classname.x)←いける
print(funcname.y)←だめ
0318デフォルトの名無しさん
垢版 |
2019/05/16(木) 20:10:10.60ID:rj4hXzDh
クラスを定義した段階で関数のローカル変数スコープなんか存在しないんだからアクセスできるわけがない
0319デフォルトの名無しさん
垢版 |
2019/05/16(木) 20:13:02.52ID:rj4hXzDh
仮に、作成されたいずれかのインスタンスで、最後に実行された関数のスコープにアクセスできるとしても、
それが何の役に立つのか、グイドには分からなかったのだろう
きみ、親切なら教えてあげるといいぜ
0320デフォルトの名無しさん
垢版 |
2019/05/16(木) 20:13:58.62ID:ajqaSwE0
>>317
クラススコープは大雑把に言えば名前空間といえる
対して関数のローカルスコープは呼び出し毎のもの
静的ローカル変数ならまだしもアクセスしようがない
0321デフォルトの名無しさん
垢版 |
2019/05/16(木) 20:24:57.84ID:o7BS+vWv
関数のスコープが消えちゃうならクロージャとして取っておけば良いじゃない!
0323デフォルトの名無しさん
垢版 |
2019/05/16(木) 21:12:54.87ID:ajqaSwE0
>>322
変数は呼び出すものではないけど…ローカル変数は実行毎に都度確保される
マルチスレッド等で関数を呼び出しても干渉しないし、終われば破棄される
外部参照の必要がないからそうする訳で、当然アクセス云々も考えられない
0324デフォルトの名無しさん
垢版 |
2019/05/16(木) 21:15:42.71ID:flS/YdME
>>322
一部の記法が似ているからといって、概念や機能も似ているとは限らないよ

関数は入力に対して出力を得るもの
y = f(x)を実現したいときに
def f(x):
なんか処理
return 結果
と定義して、使うときは
y = f(123)
のように使う
関数のローカル変数はアクセスできず、結果のみ取り出せる

クラスはオブジェクト指向の型を定義するもの
例を挙げると「たい焼きを作る機械」とそれによって量産された「たい焼き」があるとすると、前者はクラスで後者はオブジェクトと呼ばれる
たい焼きを作る機械の重さを5kgとし、これをpythonで書くと
class Taiyaki():
weight = 5
と定義できて
Taiyaki.weightで値を取り出せる
普通は機械を作るだけでは満足せずに、たい焼きを作りたいので
taiyaki1 = Taiyaki()
taiyaki2 = Taiyaki()
のように一旦オブジェクトを作って使う
0325デフォルトの名無しさん
垢版 |
2019/05/16(木) 21:26:51.62ID:flS/YdME
rubyのメソッドチェーンを曲解して学ぶとこう言う思考になるんだろうか
それともJavaScriptのアロー関数のせいだろうか
いずれにしても興味深い例ではある
0326デフォルトの名無しさん
垢版 |
2019/05/16(木) 23:36:38.83ID:KaMxoiVl
>>324
その例えはいまいちじゃないかな。
たい焼きではなく、たい焼き製造機を量産していることになるぞ。
0327デフォルトの名無しさん
垢版 |
2019/05/17(金) 01:15:27.47ID:PQChZNAw
spyder3なんですが、新規ファイルを開いた時に表示される内容を変更するには、どこをいじればいいですか?
デフォルトでmainが表示できるようにしたいんです。
0328デフォルトの名無しさん
垢版 |
2019/05/17(金) 03:33:59.66ID:+w3GZF24
RStudio とか Octave とかだと、それぞれのインタープリタのコンソールからスクリプトを(部分的に)走らせて、止まったところで変数の内容を確認して、ってやってたんだけど、Python のコンソールではできないみたい。
IDLE とか PyCharm とか使えばできる?
0329デフォルトの名無しさん
垢版 |
2019/05/17(金) 05:05:15.34ID:GiXqVPbm
関数は入力(引数など)に対して結果を得るものという役割
そういうものだと受け入れます
0330デフォルトの名無しさん
垢版 |
2019/05/17(金) 08:28:25.48ID:L8EHraRu
受け入れる?
中1数学の一次関数からそうなってる
もしもこの前からずっと消防が聞いてるならやっぱり数学は必要だ
0331デフォルトの名無しさん
垢版 |
2019/05/17(金) 08:46:02.99ID:YDbG3YPm
オブジェクト指向を学び始めてhttps://github.com/faif/python-patterns/blob/master/patterns/behavioral/state.py
でstateパターンを見たんだけどradioオブジェクトが
self.amstate = AmState(sellf)
みたいな書き方してるけどこういうのって普通なの?
全然良くわかってないけどideでradioオブジェクト見るとradio.state.radio.state,,,,て中身が無限ループしてる感じとかでなんか違和感ある
0332デフォルトの名無しさん
垢版 |
2019/05/17(金) 09:04:26.49ID:L8EHraRu
まずは関数を入れるやつから

def drill(val):
print("drill:" + str(val))

def saw(val):
print("chain saw:" + str(val))

def vulcan(val):
print("vulcan:" + str(val))


class Robot():
def __init__(self):
self.right_hand = drill
self.left_hand = vulcan


if __name__ == '__main__':
r1 = Robot()
r1.right_hand(123)
0333デフォルトの名無しさん
垢版 |
2019/05/17(金) 17:54:01.77ID:EytOkEP0
post や form などのモデルで全てが小文字と頭文字のみが大文字、全てが大文字と使い分けられていますが、なにか法則性のようなものはあるのでしょうか?
0334デフォルトの名無しさん
垢版 |
2019/05/17(金) 18:27:26.09ID:9GdSR9hc
>>333 一般的には、頭文字が小文字で始まれば変数、大文字で始まればグローバルなもの、クラス名とか。
全て大文字ならコンスタント。

じゃないかな。 これに従わなくてもプログラムは通るが、関係者からはこっぴどく叱られるからルールに従った方がみんなが混乱しなくて良い。
プログラムの可読性が随分変わってくる。

また、英単語を繋ぐ時にスペースの代わりに、_ で繋ぐか、次の単語の頭を大文字にするとか言語により暗黙の了解がある。 python は、_ で繋ぐのがお作法みたいだな。

my name は、
python なら my_name
java なら myName

MY_NAME = ‘山田太郎’ #変更しない大前提。
0336デフォルトの名無しさん
垢版 |
2019/05/17(金) 18:54:51.33ID:hORxdB5v
>>332
オブジェクトに持たせる?のは普通にやる事なのね(これが包含?)
クラスを持たせた場合、自分を持ってるクラスが参照出来ちゃうのは良い設計なの?
0337デフォルトの名無しさん
垢版 |
2019/05/17(金) 19:30:02.94ID:YJBEGsTm
失礼します。
何点か質問よろしいでしょうか?

1)
練習として若干複雑なゲームを制作してみようと考えています。
仕様検討中に「pygame で日本語入力は困難」ということに気付き、検索したところ「wxPython を埋め込む」という解決策を見付けたのですが、
英語の掲示板に書かれた情報などがほとんどで、細かい部分がいまいちよく分からなくて困っています。

具体的にやりたいことはこんな感じです。
- キャラクリエイト画面での「名前(日本語単一行)」の入力
- キャラクリエイト画面での「設定(日本語複数行)」の入力
- キャラクリエイト画面で入力した情報の編集
情報が整理してまとめられたサイトあるいは具体的なコードなどご教示いただけると幸いです。
あるいは wxPython を用いない別な方法でも構いません。

2)
上述のものとは別に、理由あって「ライブラリの追加などを行えない2.7環境の使用」という面倒な条件で Markdown(GFM) を扱わなければならないのですが、何か手軽な方法はないでしょうか?
幸いシンタックスハイライトは不要なので自作のパーサを組み込めばいいのでしょうけれども、入れ子のブロック要素やテーブルの処理などが考えるだに面倒くさそうで……。
自作の参考になりそうなコードは見かけたのですが、JavaScript でごちゃごちゃと書かれたものなので解読に手こずっています。
0338デフォルトの名無しさん
垢版 |
2019/05/17(金) 20:52:07.74ID:ZwrUn2KF
>>337
Pillowで文字画像を作って貼り付ける
0339デフォルトの名無しさん
垢版 |
2019/05/17(金) 22:54:47.52ID:4wThypR2
>>331
普通の書き方かと言われると、やるヤツはやると言う言い方が良いだろう
Pythonはオブジェクトの相互参照が得意だから、こう言うやり方が出来る

やらないヤツはどうするかというと、デザインパターンで相互参照はメディエイターパターンを使う

あとステートパターンの状態遷移は、状態の遷移方法について状態側に持たせることについて制約していないので、この書き方は特殊とも言える

が、この書き方のメリットはある
各々の状態が自分以外の状態の全体像を知ることで、次に移る状態が決まっているならば呼び出し側の関数がスッキリする
0340デフォルトの名無しさん
垢版 |
2019/05/17(金) 23:07:28.53ID:naK0rj9q
python anaconda環境をなんとかググりながら構築した?のが去年
スナフキン氏のbotを使ってみたかったため
バックテストは上手く行きいざ本番
ビットフライヤーサーバーの問題?タイムアウトでうまく行かず
そのうちpubnubがないよとエラーする様になり放置

本日、久しぶりに当該コードサイトにアクセスしてみると、廃止されたpubnubが必要ないコードが公開されてる!
→インストールするもwebsocket moduleがないよと言われる
→pipでとりあえずインスコ
→やっぱ無いらしい←いまここ

誰か助けてエロい人
「importに書いてあるそのmoduleがないよ」って、定義しろごらぁ!っていみ?単純にインストールされてないって意味?
0342デフォルトの名無しさん
垢版 |
2019/05/17(金) 23:34:29.94ID:4wThypR2
>>337
2つ目の質問に対して
gitでソースコードを持ってきて、モジュールをサブディレクトリごと持ってきて対象となるファイルと同じディレクトリにおいてインポートする
0343デフォルトの名無しさん
垢版 |
2019/05/18(土) 05:35:11.41ID:ltviubpt
>>338
pillow は画像処理のためのライブラリで合ってます?
申し訳ないのですが、文字を出力するのならともかく入力するのに対してどのように活用すればよいのでしょうか……

>>342
ありがとうございます
確かにその方法で行けそうですね
0344デフォルトの名無しさん
垢版 |
2019/05/18(土) 10:04:07.26ID:t3WuFmy/
>>343
> pillow は画像処理のためのライブラリで合ってます?
> 申し訳ないのですが、文字を出力するのならともかく入力するのに対してどのように活用すればよいのでしょうか……

文字画像をnumpy array形式で取得すればpygame側で取り込める
0345デフォルトの名無しさん
垢版 |
2019/05/18(土) 14:18:15.57ID:l1FMyP6g
すまんなんかpipが使えなくなっちゃったんだが
アップデートしたのが原因らしく再インストールしようとしたらそれもpipのコマンドでやれと書いてあるけどそれも出来ないからどうにもならん
0347デフォルトの名無しさん
垢版 |
2019/05/18(土) 14:33:14.45ID:VPpwGCtJ
>>345
OSは?
おそらく
pip install pip
を実行して動かなくなりましたとかそんなんだと思うけど、まずはエラーを貼ろう
0349デフォルトの名無しさん
垢版 |
2019/05/18(土) 14:50:49.57ID:VPpwGCtJ
>>345
モジュールとしてpipを呼び出してもいけない?
python -m pip uninstall pip

>>348
SSLErrorのことかな
最近は出たことないけどもし出てるようなら
pip install -U certifi
して、それでも出るようなら環境変数
REQUESTS_CA_BUNDLE
がどこかでセットされているかも
0350デフォルトの名無しさん
垢版 |
2019/05/18(土) 17:32:23.24ID:3wQO1SDS
tkinterの
プログレスバーとLabelなどの他の要素を同時に表示し
classを使わない、日本語で書かれたサンプルプログラムを
検索しても、誰も公表してないのは、
何かのイヤガラセかと思ったわ。
0351デフォルトの名無しさん
垢版 |
2019/05/18(土) 21:40:38.61ID:Ljc+Dkvf
>>350
なら貴方が調べてまとめればアクセス稼げるし皆んな助かる
0353デフォルトの名無しさん
垢版 |
2019/05/19(日) 01:43:58.66ID:FQusUtBE
>>181〜からの流れ見て自分も5chに書き込むスクリプト作ってみようと思って何とかできたけどすぐに連投規制になっちゃうわ
普段みたいにCookie削除して別の値を取得すれば書き込めるんだろうけどそのへんググってもよくわからない
0354デフォルトの名無しさん
垢版 |
2019/05/19(日) 09:29:08.50ID:8BTe2vpb
anaconda 2019.03/Windows x64 Graphical インストーラからインストールしたのですが、anaconda navigator を起動できません
環境
OS Windows7-64bit
発生エラー
Navigator Error
An unexpected error occurred on Navigator start-up
Report
Please report this issue in the anaconda issue tracker
Main Error
'root_prefix'
Traceback
Traceback (most recent call last):

File "C:\Users\x\Anaconda3\lib\site-packages\anaconda_navigator\api\conda_api.py", line 350, in __init__
self.set_conda_prefix(info=get_conda_info())
File "C:\Users\x\Anaconda3\lib\site-packages\anaconda_navigator\api\conda_api.py", line 505, in set_conda_prefix
self.ROOT_PREFIX = info['root_prefix']
KeyError: 'root_prefix'
0355デフォルトの名無しさん
垢版 |
2019/05/19(日) 10:54:29.00ID:kpt/RDg2
アナコンの事はよくわからんが、多分パスであろうroot_prefixとやらをconfigファイルか環境変数かに入れれば良いんじゃないの
ソースを読め
0357 ◆QZaw55cn4c
垢版 |
2019/05/19(日) 19:30:49.85ID:8BTe2vpb
>>355-356
コメントありがとうございます。そしてお騒がせいたしました
最終的には、起動できなかった理由はわかりませんでしたが、archive をみて過去のバージョンにさかのぼりながらインストール・アンインストールを繰り返しているうちに、ある時点(私の場合は ver.4.4/pyhon3 の時点)から起動できるようになりました。
ver4.4 からまたもとに戻るのは大変でしたが、最終的に最新バージョンまで起動することを確認しました

無事に python 3.7 が入りしんどかったけど満足です
0358デフォルトの名無しさん
垢版 |
2019/05/20(月) 11:43:19.56ID:7tCBPJ+P
>>339
返信遅れましたがありがとうございます
確認したらやりたい事はMediatorパターンで解決出来そうです
0359デフォルトの名無しさん
垢版 |
2019/05/20(月) 17:35:44.56ID:URmIHzsK
matplotlibで作ったグラフを自動的に、データ読み込み先のエクセルファイルへ貼付けってどうしたらできますか?
0360デフォルトの名無しさん
垢版 |
2019/05/21(火) 10:15:05.57ID:YlTjoOUk
1.出来るか出来ないかで言えば出来る
2.お前には教えない
3.普通の頭ならそんな無駄なことはしない
0363デフォルトの名無しさん
垢版 |
2019/05/21(火) 19:35:31.40ID:1mFvOI/1
>>359
あまりオススメはしないが一応

import matplotlib.pyplot as plt
import openpyxl

imagefile = 'test.png'
x = [1, 2, 3]
y = [4, 5, 6]
plt.scatter(x, y, marker='o')
plt.savefig(imagefile)

book = openpyxl.Workbook()
sheet = book.active
sheet.title = 'Matplotlib Test'
img = openpyxl.drawing.image.Image(imagefile)
sheet.add_image(img, anchor='A1')
book.save('test.xlsx')

前半は単にグラフ作ってpngで保存
後半が作ったpngをExcelに貼る部分
実行にはpillowとopenpyxlのインストールが必要
0364デフォルトの名無しさん
垢版 |
2019/05/21(火) 21:49:09.30ID:zcubKftu
>>363
やはり考えが邪道なんですね。。
このクソ素人にお時間割いていただき、ありがとうございますm(__)m
0365デフォルトの名無しさん
垢版 |
2019/05/21(火) 23:38:47.12ID:5tDIsW5o
pngとかいちいちファイルに書き出すのも無駄
0366デフォルトの名無しさん
垢版 |
2019/05/22(水) 07:50:44.45ID:jlvwT8GS
エクセルに描かせた方が、キレイに出力できるんじゃない?
プリンタって400dpiとかだよね?
0368デフォルトの名無しさん
垢版 |
2019/05/22(水) 15:32:36.75ID:75T3S5z+
グラフ関係はPythonの方がいろいろできるからだろ。 良いじゃないか。 excel に張り付ける必要がるのかどうかは知らないが。
0369デフォルトの名無しさん
垢版 |
2019/05/22(水) 15:34:12.62ID:x0vcQb3n
366
figure作るときにDPI指定汁
0370デフォルトの名無しさん
垢版 |
2019/05/22(水) 20:06:40.23ID:C1jwlZpo
配列ソートしたあとに近い値を除きたいんだけど何かよい関数ないですか?
[10,50,120,200]
[11,49,121,201]いらない
[100,200,150,221]
[102,198,151,222]いらない
[519,5,600,50]
[520,4,603,51]いらない
0372デフォルトの名無しさん
垢版 |
2019/05/22(水) 21:13:55.04ID:RAMcYwNI
>>370
1.ソートされている
2.隣あう値がある値より小さい場合を近いと定義する
3.抽出するのは必ず小さい方とする
という条件をつけて良いなら、隣通しの差分を取ってある値以下のみ表示するようにマスクする

import numpy as np
x = np.array([10,11,49,50,120,121,200,201])
mask = np.append(True, ~(np.diff(x)<3))
print(x[mask])
0378デフォルトの名無しさん
垢版 |
2019/05/23(木) 14:54:01.86ID:Np/0kf1/
クラス設計の学び方とかってどんなものがあるんでしょうか
個人開発の為オブジェクト指向を使わないといけないという訳ではありませんが意識しないと使えないと思いオブジェクト指向で書いてみてます
基本的な部分や多少デザインパターンを理解してますが実際に使うとクラス間の調整などで混乱してしまいます(設計の考慮不足?)
0380デフォルトの名無しさん
垢版 |
2019/05/24(金) 01:18:26.61ID:r3yaA7j2
簡単なゲームとかでいいんじゃない?
というか、デザインパターンを本当に理解できてるかが結構疑問だけど
0383デフォルトの名無しさん
垢版 |
2019/05/24(金) 16:06:03.41ID:4wOOjLCG
linuxでopt以下にインストールしたpythonのアンインストールの仕方がわからない件
0384デフォルトの名無しさん
垢版 |
2019/05/24(金) 16:47:10.42ID:YO0Hzqno
WindowsでPythonはじめてみてよく分からずに3.7.3-32bit入れててTensorFlow入らなく
3.6.8-32bit入れても入らなく、3.7.3-64bit入れてやっと動くようになった
いらないバージョンはフォルダ消しただけなんだけどアンインストールとかあったの?
0385デフォルトの名無しさん
垢版 |
2019/05/24(金) 16:53:03.19ID:/7dQNzPT
windowsならアプリの管理ツールで削除出来るやろ
0386デフォルトの名無しさん
垢版 |
2019/05/24(金) 17:47:15.63ID:HxHkNvZ6
>>324
『オブジェクト』じゃなくて『インスタンス』じゃね?

俺はクラスの概念を情報科の大学に行った友人に尋ねたら、
「構造体のメンバーに関数を持てるやつだよ」と教えてもらい納得した30年前の思ひ出....
0388デフォルトの名無しさん
垢版 |
2019/05/24(金) 19:46:49.17ID:XmR3ae2T
ちなみに世の中には3つの派閥があると考えています

1. 同じでいいじゃん派
2. クラスをインスタンス化するとオブジェクトだよ派
3. オブジェクトはインスタンスの総称だよ派

私は1ですので、あまりこだわりなく使っています
0389デフォルトの名無しさん
垢版 |
2019/05/24(金) 19:57:35.32ID:8mjWdHNi
何こいつ
0390デフォルトの名無しさん
垢版 |
2019/05/24(金) 20:19:31.89ID:W3YSWA4V
英語で考えれば一発だろ、クラスってのは分類のことだ
Destroyer Fubuki classなら吹雪級駆逐艦
インスタンスってのは実例のことだ
Tell me an instance of Fubukg classと言えばDestroyer Fubuki、つまり駆逐艦吹雪って答えが返ってくる
オブジェクトってのは抽象化されたモノのこと、Unknown Objectと言えばよくわからんけどなんか実体のあるモノって意味
ヒープやスタックと違ってクラスとインスタンスという実体非実体に擬した概念を導入したからオブジェクト指向という名称になった、そんだけよ
0391デフォルトの名無しさん
垢版 |
2019/05/24(金) 20:27:48.67ID:qCdKdQPI
pythonもクラスも理解できてなくてこんな感じで使ってるけど
まとめて使える便利なものって認識であってる?使い方間違えてる?
class(self.a).func(self.img).save(filename)
0393デフォルトの名無しさん
垢版 |
2019/05/25(土) 00:32:21.74ID:t7lA5k1L
インスタンスとオブジェクトの違いは英語でも意見が割れているので、二つの違いを英語の意味から明確にすることは難しいようです
ここはPythonスレなのでその視点から考えてみましょう

Pythonの用語でオブジェクトはint型やstr型でない複雑な型の代表として考えられます
クラスオブジェクト、インスタンスオブジェクト、関数オブジェクトという言葉があります
しかしオブジェクトオブジェクトという言葉はありません!

したがってPython的には>>386が正しく、正確にはインスタンスオブジェクトを作る、略してインスタンスを作るというべきでしょう
0394デフォルトの名無しさん
垢版 |
2019/05/25(土) 07:03:28.35ID:oylUjcFI
英語のドキュメント読んでも人それぞれだもんな
厳密に区別して語りたいときは最初に定義して、そうじゃなきゃ雰囲気で理解するわ
極論、同じ文章の中ですら統一されてなくても混乱しなきゃOKくらいの感覚
0395デフォルトの名無しさん
垢版 |
2019/05/25(土) 08:08:45.86ID:kYniObCj
>>384
tensorflowは32ダメじゃないの?
0396デフォルトの名無しさん
垢版 |
2019/05/25(土) 11:45:24.66ID:B0C3binb
クラスはメタクラスのインスタンスオブジェクトなんだぜ
0397デフォルトの名無しさん
垢版 |
2019/05/25(土) 17:29:58.46ID:MUGP4AlX
クラスは型紙・設計図で、単なるルール・規定。
実体はない

インスタンスは、クラスを基にして作った実体

Database では、クラスは表・テーブルで、インスタンスは各レコード

ただし、各インスタンスの事を、各オブジェクトと言う人もいる。
インスタンスを特に意識しない場合には、オブジェクトを使うことが多い

オブジェクトの方が一般的な用語で、インスタンスは限定された用語です
0398デフォルトの名無しさん
垢版 |
2019/05/26(日) 08:44:17.67ID:r1/1/prp
>>397
>実体はない
0399デフォルトの名無しさん
垢版 |
2019/05/26(日) 09:42:53.17ID:ktSEFe1f
クラスの扱いがよく分かってないんですが
以下のコードでself.create_socketなどと書いているところの「self.」は何を呼び出してる(?)んでしょうか
https://rinor.hatenablog.com/entry/2015/07/29/234600

多分、asyncore.dispatcherを呼び出しているんだと思いますが
クラス名の横にオブジェクト名(?)を書いたら、それがselfになるってことでしょうか?

全く訳が分かってないので、質問もわかりにくい感じになってしまってすみませんが
答えてくれると嬉しいです
0400デフォルトの名無しさん
垢版 |
2019/05/26(日) 10:29:24.29ID:LJXwXFvc
クラスもインスタンスも関数も例外もみんなオブジェクト
0402デフォルトの名無しさん
垢版 |
2019/05/26(日) 12:34:48.52ID:ktSEFe1f
>>401
ありがとうございます
クラス名の横の()内にオブジェクト名が書かれてる場合は、継承しているということですね
0404デフォルトの名無しさん
垢版 |
2019/05/27(月) 10:42:21.93ID:r6P/RKMz
構造体というデータ型から教えるとクラスをラクに使えるのではないか?
ほぼ全ての言語からstructが消え去ったのが混乱の元だ
もしかすると一部は構造体を教えた方がすんなりクラスに入れるんじゃないか?
0405デフォルトの名無しさん
垢版 |
2019/05/28(火) 15:07:50.23ID:hOExOGt+
作成したスクリプトを配布したいと思いpyinstallerを使用しています。
コード内で書いた日本語が文字化けてしまうのですがなにか良い方法は無いでしょうか
0406デフォルトの名無しさん
垢版 |
2019/05/28(火) 15:36:32.95ID:KaL+7PVm
あるパッケージaのsetup.cfgの中のinstall_requiresに依存した別のパッケージbのバージョンが書かれてる

このパッケージaをpipでインストールすると、パッケージbのバージョンがsetup.cfgの指定より古い物がインストールされてしまう

この時、どうすればsetup.cfg通りのバージョンをインストール出来るんや
0408デフォルトの名無しさん
垢版 |
2019/05/28(火) 16:26:49.15ID:Wuc3/18l
pip update
0409デフォルトの名無しさん
垢版 |
2019/05/28(火) 17:36:40.46ID:9tJXUapr
openpyxlでグラフ作りたいんだが、1つのグラフに2つ以上の項目入れられないの?
グラフ1枚に折れ線1つっていらないんだが、そういう仕様なんか?
0411デフォルトの名無しさん
垢版 |
2019/05/28(火) 22:49:17.80ID:hOExOGt+
>>410
確かにその通りですね、正直スマートな解決法ではないですが…

pythonの2系、3系が共存している環境、python3のコードをexe化する際にpyinstallerを通常通り実行するとパスが優先される2系でexe化、3系コードを2系に変換している?為か出力部分で化けました
pyinstallerの2系を今後使う予定が無かったためpip UninstallしpyInstaller my_script.pyを実行し3系でexe化すると問題無く動きました
0412デフォルトの名無しさん
垢版 |
2019/05/28(火) 23:27:10.27ID:OBk0ldMU
excelなんてさっさと捨てろ
0415デフォルトの名無しさん
垢版 |
2019/05/29(水) 09:30:01.13ID:c9zXsHEo
pandas最低限は分かるけどちょと面倒そうな事すると俺の脳じゃ処理出来ない
pivotとかMultiIndexとか混乱しまくる
0417デフォルトの名無しさん
垢版 |
2019/05/29(水) 20:28:23.89ID:6/LrfPt9
スクレイピングで集めた画像が軒並み低画質なんてすけどこんなもんなんですか?
0419デフォルトの名無しさん
垢版 |
2019/05/29(水) 22:57:58.20ID:6/LrfPt9
そうですね ごめんなさい 
ライブドアを
gazo_elem = soup.select('div img')
if gazo_elem == []:
print('画像が見つかりません')
else:
gazo_url = '' + gazo_elem[0].get('src')
print('画像ダウンロード中{}...'.format(gazo_url))
res = requests.get(gazo_url)
res.raise_for_status()
image_file = open(os.path.join('hiyo',os.path.basename(gazo_url)),'wb')
for chunk in res.iter_content(100000):
image_file.write(chunk)
time.sleep(3)
image_file.close()
prev_link = soup.select('a[rel="next"]')[0]
url = '' + prev_link.get('href')
で画像保存してたのですが画質が悪くて困っています
改善策をお教え願いたいです
0421デフォルトの名無しさん
垢版 |
2019/05/30(木) 00:10:52.96ID:bMHQkBGr
>>419 画像サイズが大きいのだけ選んで集めれば良いじゃん。 少ないけど物によってはそれなりにはあるよ。
0422デフォルトの名無しさん
垢版 |
2019/05/30(木) 00:44:07.16ID:HYZn8+47
>>421
画像集め好きなので欲張りなんですよね
多分手動は画像を新しいタブで開いてフルスクリーンで取ってるから綺麗だと思うんですけど、それをプログラムに反映できる腕がないです
0424デフォルトの名無しさん
垢版 |
2019/05/30(木) 07:57:41.97ID:bb+aWtrz
漏れは、Ruby, Nokogiri, Selenium Webdriver でブラウザを自動操作してるけど、

driver.manage.window.maximize で、画面最大にしてる
0426デフォルトの名無しさん
垢版 |
2019/05/30(木) 13:26:06.27ID:9zAXSMdM
scikit-learnに入ってるデータセットって、
2次元の説明変数と1次元の目的変数が入っているけど、
目的変数を説明変数の一列目に挿入して、
一つの2次元配列にするにはどうやったら良いですか?
0428デフォルトの名無しさん
垢版 |
2019/05/30(木) 18:04:02.16ID:QPxPc18s
>>426
y=np.expand_dims(y, 0)
X=np.concatenate((X,y))
0429デフォルトの名無しさん
垢版 |
2019/05/30(木) 18:06:09.33ID:QPxPc18s
2行目訂正
np.concatenate((y,X),axis=1)
0430デフォルトの名無しさん
垢版 |
2019/05/30(木) 21:49:44.96ID:D0bRN6z+
>>423
ダメでした
ちなみに同じ画像比較でスクレイピングで取った画像が300x225の72dpi
手動が640x480の96dpiです
0431424
垢版 |
2019/05/30(木) 22:12:33.91ID:bb+aWtrz
その2つのサイズの画像は、同じファイル名なのか?

もし同じなら、ブラウザの大きさによって、サーバーで処理を変えているから、
>>424
のように、ブラウザの大きさを最大にする

異なるなら、異なるファイル名を指定すれば?
0432424
垢版 |
2019/05/30(木) 22:16:33.97ID:bb+aWtrz
それか、HTTP ヘッダーで、ブラウザの大きさを指定して、送る事ができるないのか?

そういう項目があるかどうか、知らないけど
0433デフォルトの名無しさん
垢版 |
2019/05/30(木) 22:45:59.49ID:D0bRN6z+
スクレイピングした方はファイル名の最後に-sって付いてる物と付いてない物があります 
付いてない方は手動で取ったやつと同じファイル名になってますね
HTTPヘッダとかは私も初心者なので色々調べてます
0434424
垢版 |
2019/05/30(木) 23:02:32.61ID:bb+aWtrz
ファイル名を調べて、末尾に、-s が付いていれば、それを除去すれば?

例えば、abc-s なら、abc でダウンロードする
0435デフォルトの名無しさん
垢版 |
2019/05/31(金) 00:24:26.13ID:OTNRUEbk
>>434 -sが消えただけで表示サイズ容量共に変わりませんでした、、
s無しで保存されてる画像は元のサイトで右クリックすると新しいタブで開くってのが出ないのでそれで完全、s有りは新しいタブで開くって選択肢があるので縮小版っぽい?
0436デフォルトの名無しさん
垢版 |
2019/05/31(金) 01:52:08.14ID:OTNRUEbk
色々試してファイル名じゃなくて見つけた画像のurlから-sを抜くといいかもとおもったんですが
>>419をどういじればいいかわからないです
gazo_url = '' + gazo_elem[0].get('src')
hoge = gazo_url.rsplit('-s')とかやりましたがダメでした
0438デフォルトの名無しさん
垢版 |
2019/05/31(金) 09:33:27.50ID:hHOjjqF2
使ってるモジュールのパッケージがpython2.7までしか対応してないっぽいんですが
2020年になったらどうなってしまうんでしょう?
何だかんだ言ってまたサポート期限が延長されるんでしょうか?
0439デフォルトの名無しさん
垢版 |
2019/05/31(金) 10:13:01.19ID:4DhDQJ0v
最近のPythonコミュニティは強硬だから普通に切ると思う
で, なんてライブラリ?
0440デフォルトの名無しさん
垢版 |
2019/05/31(金) 10:27:27.70ID:4DhDQJ0v
あくまでもコミュニティのサポートが切れるだけで
OSディストリビューターとかは彼らの責任でサポートを続ける
だからRHEL(2024まで)とかCentOS(2024まで)とかUbuntu16.04 LTS(2021まで)に乗ってる奴を使えばよかろう
0441デフォルトの名無しさん
垢版 |
2019/05/31(金) 12:11:55.82ID:+B1cnzPd
pipとかcondaで入れられなくなるんだろ
自分が使ってるパッケージは必ず
ローカルにもコピー作って
あとからオフラインで入れられるようにしとけ
0442デフォルトの名無しさん
垢版 |
2019/05/31(金) 18:15:35.44ID:eZxTXu7O
python4てまだ?
0443424
垢版 |
2019/06/01(土) 00:01:09.47ID:GQlgchjf
>>436-437
str = "http://example.com/abc-s.png";
str.rstrip('-s')

後ろに拡張子が付いている場合は、rstrip じゃダメ!
文字列の末尾方向から、-s を探せば?

デバッグするか、あちこちに、print 文を埋め込んで、チェックしながら作っていけば?

それと書き込みを続けるなら、名前欄に、417 と入れてくれ
0446デフォルトの名無しさん
垢版 |
2019/06/01(土) 12:23:05.51ID:bRz/F46N
python3 tkinter pyautoguiでマウス座標を取得して自動更新したい

x=pyautogui.position()

#ラベルを追加
label = tk.Label(root, text=x),label.place(x=0, y=0)
label.update()

更新できずに困ってます。どうすれば良いでしょうか?
0448デフォルトの名無しさん
垢版 |
2019/06/01(土) 12:50:31.67ID:6HTmSrF0
マルチポストってそんなに悪いことか?
インターネット黎明期に流行ったネチケットに脳死で固執する奴今だにいるよな
0450デフォルトの名無しさん
垢版 |
2019/06/01(土) 12:58:50.64ID:Cw4MltZM
マルチポストは悪い
ただしnntpではマルチポストの代案としてクロスポストが用意されていた
しかしマルチポスト以外の手段が提供されていない2ch/5chはさらに悪質
0451デフォルトの名無しさん
垢版 |
2019/06/01(土) 13:32:31.07ID:ZZn+nMdc
古臭い慣習みたいに書いてるけど、マルチポストが許容されるコミュニティなんて未だに見たことない
0452デフォルトの名無しさん
垢版 |
2019/06/01(土) 13:46:32.41ID:6lfNl3yX
>>451
いまどきの若者はインターネットで調べて、答えが得られなかったら次々と調べる先を変える世代だから、マルチポストの悪質さは理解できないと思うよ

同じ内容の質問回答が拡散しないように、なんてインターネットの現状からして意味のない状態になってしまった
0453デフォルトの名無しさん
垢版 |
2019/06/01(土) 13:51:55.41ID:Cw4MltZM
sejuku は許さん
0456デフォルトの名無しさん
垢版 |
2019/06/01(土) 16:03:15.66ID:U+C+nCCR
せっかく時間をかけて答えたのに、他スレでは昨晩のうちに回答がされていた、とかだったら腹立つだろ
0457デフォルトの名無しさん
垢版 |
2019/06/01(土) 16:12:40.16ID:4hNhVGGP
他の回答の不備が指摘されることなどがあるのに分散してたら集積しない。
最終的にまとまる知見の質が落ちる。
0458446
垢版 |
2019/06/01(土) 17:06:28.40ID:bRz/F46N
root.bind('<Motion>', motion)
最近は頭の可笑しい人が多いですね
0460デフォルトの名無しさん
垢版 |
2019/06/01(土) 17:44:35.10ID:6HTmSrF0
こんな場末の掲示板にも知見の質なんてあるのか・・・
0461デフォルトの名無しさん
垢版 |
2019/06/01(土) 17:46:02.12ID:dhP+frpU
今どきの若者は、みんなが二股、三股状態だから、気にしないんだぞ
モラルハザードここに極まれり
0462デフォルトの名無しさん
垢版 |
2019/06/01(土) 18:13:12.80ID:Spf5VD38
>>457
ユーザーが分散したら最初の回答を得る確率が減って知見が溜まらないとも言える
トレードオフの問題だからどっちがいい悪いではないと思うがね
全サービスでポストを同期すれば解決するのだろうけど
0463デフォルトの名無しさん
垢版 |
2019/06/01(土) 18:50:56.16ID:GQlgchjf
企業の知財戦略は、知恵の共有・集約!

知恵を分散させたら、意味がない。
開発部の常識だろ
0464デフォルトの名無しさん
垢版 |
2019/06/01(土) 19:30:57.10ID:w9UetZ9K
>>452
現状がそうなってしまっているからと言って、回答する側にとって迷惑であることには変わらないからなあ。
0465デフォルトの名無しさん
垢版 |
2019/06/01(土) 19:40:57.40ID:k6JXFZAo
せめてマルチポストをして、どこかで最初の回答が得られたら、それをすべてのポスト先に報告してお礼をすべきだよ。
無駄な努力を継続させるなんて許せない。
0466デフォルトの名無しさん
垢版 |
2019/06/01(土) 20:12:00.56ID:msM5euQI
>>458
ガイジでも自覚くらいはあるんだな
今後は生ゴミを育てる覚悟をしてるだろうママだけ喋っとけよ
0468446
垢版 |
2019/06/01(土) 21:11:29.47ID:bRz/F46N
皆さんの知能と知識が余りにも低い為
自分でggりました。どこから答えを出したか?
英語でggったら、どうですか?
0469デフォルトの名無しさん
垢版 |
2019/06/01(土) 21:43:11.09ID:msM5euQI
知るか
生ゴミは新海面に埋まってるかコンポストに詰まって微生物に分解されてろ
0471466
垢版 |
2019/06/02(日) 00:53:39.59ID:p4SU05lE
どうして君は猿見たいに興奮しやすいの?
考えるより感じちゃうの?
小学生みたいだねw
0473デフォルトの名無しさん
垢版 |
2019/06/02(日) 10:53:04.02ID:OPrZ2CcO
pipというもののバージョンを確認したいのですが、pythonコンソールに以下を売っても以下のエラーになります
>>> $ pip -v
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pip' is not defined

どこが駄目ですか?
0474デフォルトの名無しさん
垢版 |
2019/06/02(日) 12:40:57.49ID:p4SU05lE
pythonコンソールからじゃなくて端末[コマンドライン]から打ち込む方が良いかな
0475デフォルトの名無しさん
垢版 |
2019/06/02(日) 12:50:24.80ID:s2tV+PAZ
ヴァージンは焦って売らずにとっておきなさい
0478デフォルトの名無しさん
垢版 |
2019/06/02(日) 15:21:01.37ID:OPrZ2CcO
pipはコマンドプロンプトで使うんですか?
pythonのコンソールではないのですか?
0480デフォルトの名無しさん
垢版 |
2019/06/02(日) 15:27:17.47ID:OPrZ2CcO
pipってのはインストール場所とかきにしなくていいのですか?
グローバルでいいのですか?
0481デフォルトの名無しさん
垢版 |
2019/06/02(日) 16:14:25.72ID:s2tV+PAZ
pythonのIDEコンソールから抜けずに
shellのコマンド実行するのってどうやるんだっけ
0482デフォルトの名無しさん
垢版 |
2019/06/02(日) 16:45:09.31ID:OPrZ2CcO
requestsでエロ画像を収集しようとおもってるんですが、とあるエロサイト

import requests

response = requests.get('http://えろ/')
print(response.text)

だと結果がnoneになります
対策ありますか?
0483デフォルトの名無しさん
垢版 |
2019/06/02(日) 16:51:27.24ID:jhkOzeCO
>>481
1. あなたがIDEと呼んでいるゴミをアンインストールします
2. VSCodeをインストールします
3. Integrated Terminalを開きます
4. (゚д゚)
0484デフォルトの名無しさん
垢版 |
2019/06/02(日) 16:54:25.20ID:p4SU05lE
小学校……いや
幼稚園だなww
0485デフォルトの名無しさん
垢版 |
2019/06/02(日) 17:06:22.13ID:Kbt/vpV3
>>481
Ruby では、プログラム内から、コマンドを呼ぶには、`〜` で囲む。
`pwd`

他にも、system, IO.popen など
0486デフォルトの名無しさん
垢版 |
2019/06/02(日) 17:20:05.17ID:UIpFJ6ej
`〜`は失敗、過去の汚物(Ruby自身がそうだがw)
コミュニティも作者のまつもともそういう考えで、削除したいのだが…
互換性の問題でできないwww
と、どうせ互換性なんてないくせに自らの無能を苦しい言い訳wwwww

https://logmi.jp/tech/articles/321308
それから「Backquotes」の地上げも考えていたんですけども、Backquotesをするとシェルで実行して結果を文字列で返すってやつですね。

(参加者から「いける、いける」の声)

まつもと:なんかあの辺で「いける、いける」って言ってる人がいますけど、信じない(笑)。なので、これももうちょっと先で、もう1回くるかもしれませんが、少なくとも3.0では死なないということです。
0487デフォルトの名無しさん
垢版 |
2019/06/02(日) 17:52:22.19ID:jhkOzeCO
Pythonが2→3でやったような大手術に耐える体力がもうRubyに残されていないということを理解している点だけは評価できる
0488デフォルトの名無しさん
垢版 |
2019/06/02(日) 19:24:43.58ID:cv26Fa7A
質問です。
from pyquery import PyQuery as pq
d = pq(filename='index.html') # type(d): <class 'pyquery.pyquery.PyQuery'>
print(d('h1'))

上記のdはPyQuery クラスのインスタンスかと思いますが
3行目のd('h1')は文法的に何をしているのでしょうか?(メソッドの呼び出し?インデクサ?dは関数ポインタ?)
どんなキーワードでググれば解説が出てきますでしょうか?
0491488
垢版 |
2019/06/02(日) 20:18:19.05ID:cv26Fa7A
>489
項目番号でいいますとどれが該当しますでしょうか?

>490
処理内容的にはその通りです。
pythonの文法的によくわからなかったので質問しました。
0492デフォルトの名無しさん
垢版 |
2019/06/02(日) 20:27:12.89ID:Kbt/vpV3
p d('h1')

Ruby なら、p を付ければ、オブジェクトの型も表示されるけど、
Python には、そういうデバッグ用の関数はないのか?
0494デフォルトの名無しさん
垢版 |
2019/06/02(日) 20:37:50.74ID:Ma/krOsj
>>491
ちょうどリンクで貼ってるところ
>3.3.6. 呼び出し可能オブジェクトをエミュレートする
0496417
垢版 |
2019/06/02(日) 23:06:01.02ID:36yNMggq
>>417あれから色々試しましたが忌々しい-sを画像urlから抜いて保存できません 
サーバー相手なので下手に弄るのも怖いです
なにとぞまたお知恵お貸し願えませんか?
0497424
垢版 |
2019/06/03(月) 03:13:32.65ID:8eXXlkO0
Ruby の説明で悪いけど、これをPython で書き直してください!

文字列を左側・前方から探すのが、index で、右側・後方から探すのが、rindex

この場合、右側から、-s を探すと、23・24 文字目に見つかる。
その位置へ、空文字列を代入して、-s を削除する

str = "http://example.com/a-sx-s.png";

p str.index( "-s" ), str.rindex( "-s" )
#=> [20, 23]

str[23..24] = ""
p str
#=> "http://example.com/a-sx.png";
0502デフォルトの名無しさん
垢版 |
2019/06/03(月) 09:22:09.73ID:SQAgduxJ
変数名に組み込み関数を使わないで
0505デフォルトの名無しさん
垢版 |
2019/06/03(月) 11:02:21.48ID:561P/qAZ
>>502 本来そうなんだけど、ルビー使いの例文がそうなってるから仕方ない。

>>498 これは前の方で画像を取り込むのが小さいから -s を取って大きな画像を取得したいと言ってた人だよね。
本当にPythonで書くなら、strなんて変数を使ってはいけない。

また、index はないときにエラーを吐くから、エラーを出したくなければ find,rfind を使う。
replace 一発の方が良いと思う。
0506デフォルトの名無しさん
垢版 |
2019/06/03(月) 15:05:36.61ID:h3IFMvhW
dataframe.plotでsubplotで4段重ねのグラフ書きたいのですが、各y軸にラベル入れる方法がわかりません。
0507デフォルトの名無しさん
垢版 |
2019/06/03(月) 17:38:49.39ID:mVpO4f00
スクショから特定の画像(ワンポイント)から、縮小された画像(スクショ内のワンポイント画像)を見つけだすライブラリ
教えて下さい
0508488
垢版 |
2019/06/03(月) 17:44:04.88ID:F3ZZBhLa
>494,495
ご回答ありがとうございます。
読んでみます。
0509417
垢版 |
2019/06/03(月) 21:52:40.35ID:CjWrf+SX
>>497>>498>>501
ありがとうございます!出来ました!
何度も相手方のサーバーにアクセスしてたので心持ちタイムスリープの秒数も増やしました
本当感謝
0510デフォルトの名無しさん
垢版 |
2019/06/03(月) 22:09:38.68ID:J1rEjWlN
python.exeを起動したあと、.pyファイルを起動したいのですが、どうしたらよいでしょうか?
超初級かと思われますが、ご教授ください。
0512デフォルトの名無しさん
垢版 |
2019/06/04(火) 00:16:07.50ID:wnL2Va9z
>>506
fig,ax = plt.subplots(4,1)
df.plot(ax=ax[0],...
の後で
ax[0].set_ylabel('y dayo')
とする
これを後3回繰り返す
0515デフォルトの名無しさん
垢版 |
2019/06/04(火) 10:51:05.55ID:uvNmGZET
DL 用の thread と UI の thread を分けて通信が定番
0516デフォルトの名無しさん
垢版 |
2019/06/04(火) 11:04:50.30ID:q6Njmm7O
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる   
https://pbs.twimg.com/media/D8I_rBwU0AIZUL2.jpg

@ スマホでたいむばんくを入手   
A 会員登録を済ませる 
B マイページへ移動する     
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)     

今なら更に4日18時までの登録で2倍の600円の紹介金を入手  
クオカードとすかいらーく優待券を両方ゲットできます。 
   
数分で出来ますのでお試し下さい    
0519デフォルトの名無しさん
垢版 |
2019/06/04(火) 18:40:45.72ID:mRbJxBfp
Sympyでの計算結果が以下のような値だった場合

a = -0.166666666666667 - 0.552770798392567*I

計算結果が虚部を持つかどうかの判別ってどうするのが良いですか
文字列型に変換した後に、文字列検索でIを持つかどうかで判別するよりも良い方法はありますか?
0520デフォルトの名無しさん
垢版 |
2019/06/04(火) 18:57:43.32ID:k120kgtw
a.is_real
np.isreal(a)
0522デフォルトの名無しさん
垢版 |
2019/06/04(火) 19:20:24.47ID:/x7pKA+J
I部が限りなく0に近い(0ではない)ときにどっちと判断するんだろうな
リーマンもびっくり
0523デフォルトの名無しさん
垢版 |
2019/06/04(火) 20:44:14.29ID:mRbJxBfp
from sympy import *
str = "Abs(a)*(β-α)**3/6"
print(sympify(str))

↑のように、sympifyを実行すると、↓みたいに式の順序が入れ替わってしまうのですが
これは避けられない仕様ですか?

(-α + β)**3*Abs(a)/6
0525デフォルトの名無しさん
垢版 |
2019/06/05(水) 12:49:45.47ID:0lHsd81T
Anaconda を別ドライブにインストールしようとして四苦八苦してたがようやくできた。
1. 全員で使う。
2. システムパス変数に設定する。

この2つをインストールの時に指定するだけで行けた。

1. 自分だけで使うとすると、C:\Users\俺\ の下にインストールされる。
   全員で使うとすると C:\ProgramData\ の下にインストールされる。
2. システムパス設定をしないと、 D:\ProgramData\ 等にインストールすると、システムメニューに Anaconda3が出てこない。
   パス設定を指定するとすべてうまく行った。 パスを見てみたけど実行パスが追加されてるだけだから混乱しないと思うけどね。
   嫌ならインストールの後で実行パスを消せばよい。
     
0526デフォルトの名無しさん
垢版 |
2019/06/05(水) 12:54:04.85ID:SxBZ5bvb
なんで pip にしなかったの
0527デフォルトの名無しさん
垢版 |
2019/06/05(水) 12:55:09.15ID:0lHsd81T
>>525 その後。Anacondaの中のExtentions からcreate で D:\conda\envs\py37 と言うディレクトリにPython3.7の環境を指定したら必要ファイルがそこにコピーされたから
以降はすべてそこにライブラリは追加していくつもり。
0528デフォルトの名無しさん
垢版 |
2019/06/05(水) 12:58:39.59ID:0lHsd81T
>>526 Jupyter Notebookが使いたかったから。 Minicondaの方が良いという話もあるけどとりあえずAnaconda
勿論Jupyter Notebook も単独インストールで使えるけど、Anacondaの方がライブラリ管理などが楽そうだから。
ただ非力なマシンだと立ち上げが遅いね。 Core i7だとサクサク。
0531デフォルトの名無しさん
垢版 |
2019/06/05(水) 19:49:15.71ID:RYb0pJ2G
自作クラスpickleしてあとで他のスクリプトで利用しようと思ったら
os.scandir()で取ってきたnt.direntryってpickle化できないんだな
ファック
0532デフォルトの名無しさん
垢版 |
2019/06/06(木) 05:34:29.65ID:dTLpbEEC
画像の中から特定の画像(拡大や縮小をされてても対応可能な)
見つけ出すコードを下さい。
0533デフォルトの名無しさん
垢版 |
2019/06/06(木) 10:54:18.83ID:7aPcVgB8
6個のうちfor文でリストにして3個だけ抽出。

['A', 'B', 'C']
['A', 'B', 'D']
['A', 'B', 'E']
['A', 'B', 'F']
['A', 'C', 'D']
['A', 'C', 'E']
['A', 'C', 'F']
['A', 'D', 'E']
['A', 'D', 'F']
['A', 'E', 'F']
['B', 'C', 'D']
['B', 'C', 'E']
['B', 'C', 'F']
['B', 'D', 'E']
['B', 'D', 'F']
['B', 'E', 'F']
['C', 'D', 'E']
['C', 'D', 'F']
['C', 'E', 'F']
['D', 'E', 'F']


これを、ランダムでシャッフルする方法ありませんか?
例えば一番上のABCが5番目に来たり最後に来たり、、、

教えて君でスマソ
0534デフォルトの名無しさん
垢版 |
2019/06/06(木) 11:08:37.19ID:zF3m8fP+
「6個のうちfor文でリストにして3個だけ抽出」とか言ってるけど、単に高校数学の組み合わせとか順列だから
まずそれを全部生成してリストに入れて、そのリストをシャッフルする
0535デフォルトの名無しさん
垢版 |
2019/06/06(木) 11:39:46.77ID:MmdtfHnB
そこまで手で書く暇あったらあとはリスト化してシャッフルするだけだろ
0536デフォルトの名無しさん
垢版 |
2019/06/06(木) 11:49:05.33ID:7aPcVgB8
>>534
ありがとう!!
0537デフォルトの名無しさん
垢版 |
2019/06/06(木) 13:08:39.02ID:dTLpbEEC
>>534
import random
random.sample(list, 3)

を教えて欲しいんだろ。(重複なし)
0538デフォルトの名無しさん
垢版 |
2019/06/06(木) 13:13:53.66ID:dTLpbEEC
>>536

import itertools
seq=('a', 'b', 'c', 'd', 'e','f')
l=list(itertools.permutations(seq, 3))

import random
print(random.sample(l, 3))
0539デフォルトの名無しさん
垢版 |
2019/06/06(木) 16:20:03.91ID:Qxsak61t
Ruby で作った

( "A".."F" ).to_a.combination( 3 ).to_a.sample( 3 )

#=> [["B", "C", "E"], ["A", "C", "D"], ["A", "B", "C"]]
0540デフォルトの名無しさん
垢版 |
2019/06/06(木) 17:09:09.07ID:7aPcVgB8
>>537
>>538
ありがとうございまーす。
無事、解決しました!!
0541デフォルトの名無しさん
垢版 |
2019/06/06(木) 17:29:10.42ID:P5Ub97xS
pythonでinactiveなウィンドウのスクショを撮ることって出来ませんか?
前に別のウィンドウが被っていても後ろの目的の画面が撮りたいです。

これや
https://stackoverflow.com/a/24352388
これは試したけど無理でした
https://qiita.com/danupo/items/e196e0e07e704796cd42
前に他のアプリケーションがあるとそれも写っちゃいます

スクショというか、指定箇所のpixelを取ってそこの色が見たいだけなんですがどなたかお願いします
0542デフォルトの名無しさん
垢版 |
2019/06/06(木) 17:40:16.99ID:S02+RpbC
OSによる
windowsならGetDCで行けるかも知れないが
隠れてるウィンドウの中が常に意図した通りに描画されてるとは限らない
0543533
垢版 |
2019/06/06(木) 17:43:11.11ID:RCEcSkfo
ついでにお聞きするんですが、出力したリストはstripやsplit が使えないんですが、
皆様はこれらを使いたいときにどうされるんですか?
0544541
垢版 |
2019/06/06(木) 17:46:31.87ID:P5Ub97xS
>>542
Windowsです
意図した通りじゃなくとも後ろにあるものが写るコードが欲しいです、少しでも進みたい
後なぜか>>541のコードでは一度実行すると再度別なウィンドウ状況で実行してもキャッシュが残ってるように同じ画像が表示されてしまいます
DeleteDCとかReleaseDCが効いてないような感じです
0545デフォルトの名無しさん
垢版 |
2019/06/06(木) 17:48:26.07ID:MmdtfHnB
ずっと裏にあったら更新されてなくても不思議ではない
0546デフォルトの名無しさん
垢版 |
2019/06/06(木) 18:03:31.28ID:P5Ub97xS
>>545
いや、そういう意味ではなく前面も変わってるのに前に撮ったものが出てきてしまうという意味です

今ちょっと試してなかったことがあったので確認したところ、その撮りたいものじゃないプログラムだとちゃんと後ろにあっても出てきました
ただしソフトによっては正しく映らず欠けてたり変に前面のものが透過されたりしてます

撮りたい画面がゲームの画面なんですが、UnrealEngineでフルスクリーン起動してるのが関係してそうですね…
0547デフォルトの名無しさん
垢版 |
2019/06/06(木) 21:13:25.32ID:MFwKABVs
from xml.dom.minidom import Document, Text
self.dom = Document()

↑こんな感じのコードを見かけたんですが、このコードってどんなことをやってる感じですか?
変数の型を定義してるだけみたいな感じですか?
0549デフォルトの名無しさん
垢版 |
2019/06/07(金) 01:32:32.16ID:yhNlt0n8
>>546
ゲームなら DirectX の frame buffer を横取りして保存する hook 書く方が早くね
0550デフォルトの名無しさん
垢版 |
2019/06/07(金) 01:53:17.27ID:i/56/wq2
そう言えば
スクショ撮る時に別ウィンドが表に出て撮れない現象が有ったな。
0551デフォルトの名無しさん
垢版 |
2019/06/07(金) 08:41:31.37ID:34Do98H1
こっちは重なってても裏に隠れててもbitbltでちゃんと取れてるからなにが違うのか分からないな〜
classにしてるのとDeleteCD、DeleteObjectを__del__に入れてるくらいしか違いない気が
0552デフォルトの名無しさん
垢版 |
2019/06/07(金) 09:14:16.82ID:V0kPFU3F
['a', 'a', 'a', 'b', 'b', 'c']
これを一発で{'a':3, 'b':2, 'c':1}にしてくれる関数ありますか?
0555デフォルトの名無しさん
垢版 |
2019/06/07(金) 09:28:23.75ID:fkpqEDC1
>>549
どうやるのですか?全く見当が付いてないです
>>551
ゲーム画面をですか?

そもそも裏にあるウィンドウの特定箇所の色が見たいときはスクショ撮るしかないってのは合ってますかね?なんかもっと便利なものないのかな
0556デフォルトの名無しさん
垢版 |
2019/06/07(金) 09:37:38.71ID:PPbCM9Wo
人間にとって便利にすると機械さんにとって便利じゃねーんだよなー(遅くなる)
0557デフォルトの名無しさん
垢版 |
2019/06/07(金) 12:47:07.74ID:nJu+ZeI9
ム板は自分でやる氣が無い香具師は答えを貰えない
0558デフォルトの名無しさん
垢版 |
2019/06/07(金) 16:57:33.78ID:y558dKzB
もう1枚ディスプレイ買ってきたら別にスクショせんでもいいんじゃないかな(鼻クソほじりながら)
0559デフォルトの名無しさん
垢版 |
2019/06/07(金) 17:51:03.93ID:fkpqEDC1
DirectXに関してはごめんなさい、調べても私の今の知識ではちんぷんかんぷんでした
既にマルチモニターです、ゲームの特定箇所の色が変わったら動く実装で現在動かしてるんですが
メインモニタでゲームするのでたまに上に被せて何かするときがあって、そういうときでも色を検出できたらと思ってここ最近色々やってるけどうまく行きません
現在上に何も被ってなければ動いてるコードではpyautogui.screenshot()してから.getpixel()で場所指定してやってます
0560デフォルトの名無しさん
垢版 |
2019/06/07(金) 22:57:03.69ID:wtNNzOUb
そのゲームのプロセスID か何かを取得して、

OS・ディスプレイマネージャーに対して、
そのゲームを最前面に表示するように、命令できないの?
0561デフォルトの名無しさん
垢版 |
2019/06/07(金) 23:18:45.63ID:Mb2g5Ulb
ウィンドウのdcとるかデスクトップのdcとるかで挙動変わるよ
ウィンドウのなら裏でもとれる
デスクトップのdcなら合成後のだからオーバーレイとかもとれた気がする
あとaeroでも変わった気がする
ちょっとうろ覚え
0562デフォルトの名無しさん
垢版 |
2019/06/08(土) 00:11:00.12ID:QfNqYLUW
>>560
出来ますが、それだとやりたいことが実現できないので…

>>561
GetWindowDC、GetDC両方試してみましたが同じでした
というか他のウィンドウでは撮れるので、目的のウィンドウでは前回撮ったものが残り続けてしまう部分が問題なような気がしてきました
これはゲームだけじゃなくSteam.exeの画面でもなりました
一度撮ると、Steam内のページを遷移して(例えばストアからライブラリ)二度目を撮っても
一度目のストアのスクショが出てきます
>>541の下のURLのコードと使用例をそのままコピペしたもので、ウィンドウ指定部分を"Steam"にして実行しました
例えば"Jane"とすると5chを見てるJaneStyleがちゃんと撮れるし、スクロールしてもう一度撮るとちゃんとスクショもスクロールされたものになってました

やっぱりそのDirectXが関係してるんでしょうか
0563デフォルトの名無しさん
垢版 |
2019/06/08(土) 09:44:08.59ID:ryWt2Gls
ネットワークのゲームで不正しようとしてるんなら
画面上の点滅とかで判定するより
ネットのトラフィック監視して送受信データから判定するか
いっそのこと最初からフェイクデータ流してしまう方が楽
0564デフォルトの名無しさん
垢版 |
2019/06/08(土) 11:32:19.03ID:9YIjBmc2
>>562
invalidaterectで更新できないのかな
あとキャプチャしてどうこうする方針ならpythonっていうかWindows apiの話だからそっちのがいいかもね
0565デフォルトの名無しさん
垢版 |
2019/06/08(土) 19:03:30.62ID:4zZfhPx9
多重リストの連番を作りたいが失敗します
N=0
L=[[ N+=1 for x in range(1,6)] for y in range(1,6)]

N+=1ができないのですが
どうしたら良いですか
0566デフォルトの名無しさん
垢版 |
2019/06/08(土) 19:48:54.37ID:qk2hpNs/
作りたいものがよくわからないのだがとりあえずそこにN+=1という式を置くことはできない
欲しいものがわかれば適切な内包表記を示せると思うが
N=0
[[N+x for x in range(1,6)] for _ in range(1,6)]
ではダメかね
0567デフォルトの名無しさん
垢版 |
2019/06/08(土) 19:50:46.47ID:qk2hpNs/
それか
[[1,2,3,4,5],[6,7,8,9,10]...]
というのなら
[[x + 5*y for x in range(1,6)] for y in range(1,6)]
でいける
0569デフォルトの名無しさん
垢版 |
2019/06/08(土) 19:59:19.25ID:4zZfhPx9
sのコード 無理だった。
0570565
垢版 |
2019/06/08(土) 20:43:49.26ID:4zZfhPx9
できました。
ありがとうございました。┌(_Д_┌ )┐
0571デフォルトの名無しさん
垢版 |
2019/06/09(日) 00:31:10.59ID:OSjRKT39
>>570 何をしたかったんだよ。 そしてどう解決したんだよ。
質問したら結果を見せて礼を言うのは礼儀だろ。
0572デフォルトの名無しさん
垢版 |
2019/06/09(日) 00:51:23.65ID:BmQn1SBQ
l=[list(range(26)[i:i+5]) for i in range(1,26,5)]

おっ
  おっ
    乙 ┌(_Д_┌ )┐ c(`Д´と⌒c)つ彡 ヤダヤダ
0573デフォルトの名無しさん
垢版 |
2019/06/09(日) 16:53:13.95ID:u7VfX2tF
__class__.__name__
ではインスタンスのクラス名を取得できるみたいですが
__class__.__mro__
のMROって何ですか?
0575デフォルトの名無しさん
垢版 |
2019/06/09(日) 17:44:34.48ID:u7VfX2tF
>>574
ありがとうございます。ということは
for n in a.__class__.__mro__:
という文があった場合、継承しているクラスをメソッド解決順序というルールにしたがって
順番に取り出してループを回しているという感じですか?
0576デフォルトの名無しさん
垢版 |
2019/06/11(火) 19:55:07.50ID:EJA71Mwu
Tkinterでウィンドウ作るときに変数をrootで作成しているのがほとんどですが、この変数はwindowとかでもおかしくはないですよね?
rootがよく使われているのは何故でしょうか?
0579デフォルトの名無しさん
垢版 |
2019/06/12(水) 10:23:50.88ID:UCBXLfn6
>>87
UiPath使い続けてるけどぐぐっても情報が少なすぎて厳しいです

Yahooを開き、ニュースのところのもっと詳しくをクリックし、本日分のニュース約100件をクリックして
順番に保存しようとしているのですが、
UiPathの解説サイト(といっても日本語であるのは公式サイトとYoutube動画1枚だけですが)
に書かれてるのは最初から決まったページにある表の抽出とCSV出力メール送信だけです

動的にテキストが変わる指定したページの、このあたりにあるリンクをクリックしてテキストと画像を保存する
とかちょっと応用する方法の解説がどこにもさっぱりありませんでした。

公式Academyは古いバージョンのUiPath使ってるみたいで基礎編の変数あたりから左画面でまともに選べなくなってしまいます。
どこか公式以外の詳しい解説サイトご存知ありませんか?
0582デフォルトの名無しさん
垢版 |
2019/06/12(水) 16:04:50.59ID:epslMGmH
「setup.pyをPythonで実行する」という操作はsetup.pyをPythonの画面にドラッグ&ドロップしてエンターキーを押せばOK、ではないですよね
どうすればいいですか?
0584デフォルトの名無しさん
垢版 |
2019/06/12(水) 18:11:25.27ID:epslMGmH
>>583
Pythonのコマンドラインに「python setup.py」と打ち込んでエンターキーを押すだけですか?
どこのフォルダにあるsetup.pyか指定するようなコードは必要?
0588デフォルトの名無しさん
垢版 |
2019/06/13(木) 01:13:50.08ID:SaZXT9dZ
>>587 何? どこまで、〇〇なんだよ。

もしかして、Pythonを起動した後のコンソール画面で入力していないか?
# python # ここがコマンドライン
>>>#ここには, Python言語を入れる。 ここはダメだぞ。ここはコンソールだからダメだよ。

# python setup.py だよ。
# python c:\hoge\hage\setup.py かも知れないけど。
0589デフォルトの名無しさん
垢版 |
2019/06/13(木) 01:16:43.38ID:SaZXT9dZ
そもそもそんな知識なのにどうしてsetup.py なんて動かす羽目になってるんだ?
そんな素人が一々入力する必要はないはずだけど。

OS は何? Windows?
Python はどうやってインストールした? anaconda?
今何をやりたいの?
0590デフォルトの名無しさん
垢版 |
2019/06/13(木) 08:44:26.40ID:BEejR5mH
現在、djangoをさわってるんだけど、標準であるUserクラスの中で、_usernameってusernameの項目が書かれてるのが不思議なんだけど、
これってsetting.pyで日本語設定にしたら、項目名が日本国に変わるのかな(サーバ起動してwebで確認した時)?
0592デフォルトの名無しさん
垢版 |
2019/06/14(金) 00:03:26.62ID:CJMQSlws
ファイル操作でロック?って標準ライブラリじゃ出来ない?
調べたらライブラリ入れろーて出てきたけど標準で出来てもおかしくないんじゃないと思ってる
わざわざfcntlとかいうライブラリ入れるのがオーソドックスなのかな
0593デフォルトの名無しさん
垢版 |
2019/06/14(金) 00:42:40.89ID:xBXyqLPT
>>592 ファイルロック/データロックってどんなものかわかってるの?
言語の問題じゃなくて、動いている環境のOSの問題だよ。
言語でどうこうできる話じゃないんだから、環境に合わせて対応する必要があるだろ。
ルール違反するプログラムがあればロックなんて意味を持たないし。

python の中だけのルールを作ったってなんの意味もない。
0595デフォルトの名無しさん
垢版 |
2019/06/14(金) 02:09:58.58ID:xBXyqLPT
>>594 ファイルを開くのはOSに依存しなくても開ける。
ロックは赤の他人がいるから自分だけではどうしようもない話。
0596デフォルトの名無しさん
垢版 |
2019/06/14(金) 05:44:37.26ID:AQvHkPsD
> ファイルを開くのはOSに依存しなくても開ける。
ファイルシステムを持たないOSもあると言うのにこいつは何を言ってるんだろう…
0597デフォルトの名無しさん
垢版 |
2019/06/14(金) 07:26:39.07ID:Y6uf0FiJ
a = "hoge"
print(str(a) + "aa")
print(a + "aa")

a = "hoge"
print(format(a) + "aa")
print(a + "aa")

formatとstr関数の必要性がよくわかりません
結果は同じです
なんでしょうか
0599デフォルトの名無しさん
垢版 |
2019/06/14(金) 07:37:28.48ID:RsWDD4iG
誰がそんな書き方しろっつったんだよ
そいつに聞け

その使い方なら必要性は全くない
0601デフォルトの名無しさん
垢版 |
2019/06/14(金) 08:40:04.33ID:Y6uf0FiJ
例えばリストをカッコ込みで文字として出力する必要がある場合などに使う感じですかね
それ以外よくわからないですが
動的に変数値を変化させるときに必要なんですか?
0602デフォルトの名無しさん
垢版 |
2019/06/14(金) 10:11:57.63ID:0O8cmLm+
seleniumでスクレイピングする時、ウェブが表示されるまで待機するコードは必要ないの?
今のところ表示が遅くても問題なく処理できてる
0603デフォルトの名無しさん
垢版 |
2019/06/14(金) 10:57:54.37ID:xBXyqLPT
>>597 この辺でも読んでみたら?
https://note.nkmk.me/python-format-zero-hex/

format 関数と
str.format と書く文字列のメソッドがあるが、俺はメソッドしか使わないな。 formatメソッドの方がサンプルは沢山転がってるだろう。

format は、変数の値を様々な形式の文字列に変換すること。
0604デフォルトの名無しさん
垢版 |
2019/06/14(金) 13:08:56.41ID:bpAwmG5b
format面倒だから使わなくなった
f''
が便利
0605デフォルトの名無しさん
垢版 |
2019/06/14(金) 15:07:03.01ID:TstwZX83
pythonのrequests使ってPOSTするプログラム作ろうとしているのですが、
param={a:"aaa",b:"bb"}みたいなパラメータではなく下のようなパラメータ(フォームデータ?)を送信させたいです
どういう書き方をすればいいのでしょうか
教えてくださいお願いします


------WebKitFormBoundaryC15BKaGNEiNN0Evx
Content-Disposition: form-data; name="files"; filename="a.txt"
Content-Type: text/plain

AA
------WebKitFormBoundaryC15BKaGNEiNN0Evx
Content-Disposition: form-data; name="files"; filename="b.txt"
Content-Type: text/plain

BB
------WebKitFormBoundaryC15BKaGNEiNN0Evx--
0606デフォルトの名無しさん
垢版 |
2019/06/14(金) 18:20:13.96ID:YPd7bGed
import MIME
0607605
垢版 |
2019/06/14(金) 18:50:28.74ID:TstwZX83
すみません
import MIMEができません
pip install MIMEしたんですが、いざimport MIMEしようとするとno module named MIMEってえらります

また、import MIMEしたところでどうすればいいのかわからないです
もう少しだけ詳しく教えてください
import MIMEする以外の方法も募集しています
0610デフォルトの名無しさん
垢版 |
2019/06/14(金) 21:18:54.10ID:gXbRy3uY
>>602
漏れは、Ruby だけど、要素の検索の timeout を設定してる

今のところ、5ch みたいに、空のHTML を送ってきて、
その後、Ajax で内容を取得するページでも、要素を取得できている

driver = Selenium::WebDriver.for :chrome, options: options

driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout
0612デフォルトの名無しさん
垢版 |
2019/06/14(金) 21:28:41.77ID:uMeUmtQc
うざいから ruby を、NG ワードに登録した。 こうやって世間から弾き飛ばされていくんだろうな。
自業自得。
0617デフォルトの名無しさん
垢版 |
2019/06/15(土) 11:58:27.50ID:Z5/LYv7k
最近(といっても数年以上前からだけど)のダウンロードサイトって
本物と見せかけて無関係なあやしいexe落とさせるダウンロードボタン付いてるよな
かなり増えたわ
0619デフォルトの名無しさん
垢版 |
2019/06/15(土) 13:56:06.24ID:0bKxWw8E
KO google
no more google
0620デフォルトの名無しさん
垢版 |
2019/06/15(土) 14:24:56.09ID:54Zm/EIO
>>617 かなり注意して全体を見渡さないとくだらない有料アプリをダウンロードさせられたりする。
0622デフォルトの名無しさん
垢版 |
2019/06/15(土) 17:33:06.41ID:uN7Jn8WQ
一度変なのダウンロードして、何かの宣伝のポップアップが出るようになって、削除するのに苦労したわ。
0623デフォルトの名無しさん
垢版 |
2019/06/16(日) 08:41:02.19ID:ZSz8JYTL
>>618
sourceforgeなんか、ダウンロードできるexeそのものを公開者に無断で置き換えてたじゃん。
0624デフォルトの名無しさん
垢版 |
2019/06/16(日) 08:44:57.37ID:q8wgbA2h
> 最近(といっても数年以上前からだけど)のダウンロードサイトって
> 本物と見せかけて無関係なあやしいexe落とさせるダウンロードボタン付いてるよな
> かなり増えたわ

> sourceforgeなんか、ダウンロードできるexeそのものを公開者に無断で置き換えてたじゃん。

頭湧いてるなw
0625デフォルトの名無しさん
垢版 |
2019/06/16(日) 09:06:51.83ID:jS2o3GcV
俺みたいな中3でグロ見てる腐れ野郎、他に、いますかっていねーか、はは

今日のクラスの会話
あの流行りの曲かっこいい とか あの服ほしい とか
ま、それが普通ですわな

かたや俺は電子の砂漠で死体を見て、呟くんすわ
it’a true wolrd.狂ってる?それ、誉め言葉ね。

好きな音楽 eminem
尊敬する人間 アドルフ・ヒトラー(虐殺行為はNO)

なんつってる間に4時っすよ(笑) あ〜あ、義務教育の辛いとこね、これ
0627デフォルトの名無しさん
垢版 |
2019/06/17(月) 17:04:45.23ID:FYnfYZqN
みんなどうやってレベルアップしてったんだ?
副業サイトでプログラミングのやつ応募しようと思ったが、実無経験無しにはハードル高そう。
このギャップどう埋めたらええんやろ?
0628デフォルトの名無しさん
垢版 |
2019/06/17(月) 17:34:41.55ID:dLLbEhJJ
まずは転職して実務経験を積め
それが一番手っ取り早い
FizzBuzzが書けたら採用されるレベルの会社は世の中にいくらでもある
0630デフォルトの名無しさん
垢版 |
2019/06/17(月) 18:26:13.15ID:1OuEx0ms
>>627 フリーター/ 個人事業主か? だったら最初はコスト抜きに短期の簡単そうなのに参加すれば良いじゃないか。

結構マンパワーだけ求めてるようなのあるから そんなのを積み重ねていったら?

或いは条件なしでWebを作ってくれとか言うやつ。 これならいくらでもある。 それを勝手にPythonで作れば良いだけ。 注文主はできれば良いだけだからどう作ろうが気にしないのが多い。
単価は安いけど実績には使えるし、外から見れるホームページというのは実績のアピール力が大きいよ。

長期の派遣を厭わないのなら派遣業者に登録すれば、今時の事情を知らないから勝手なことを言ってるかもしれないけど。
0631デフォルトの名無しさん
垢版 |
2019/06/17(月) 18:42:21.79ID:1OuEx0ms
>>630 >>627 そうとは言え、プログラマーには向き不向きがあるから今時そんな相談をするのはちと考えるかな。

何も知らないフリーターなら多分、普通のExcel が使えるとか、Excel VBAが出来ますという実績を積む方が早いかも。 これも仕事はたくさんあるが、、、単価は安い。

プログラマーというのはあらゆる知識、経験が必要だから、経験を重視するのは当然だが、必ずしも同じ言語経験を求めてるわけではなく、プログラマーとしての経験を求めてるんだよ。
考え方はほとんどみんな同じだから。

どの位運転資金があるのか知らないが、何も経験がない状態なら、派遣に入るのが手っ取り早いと思うよ。 そこでも経験を求めらるというのは当然だが、結構未経験でもOK なんてのもある。
特に若い時は蓄えもないだろうから、日銭が稼げるなら我慢すべき。
0632デフォルトの名無しさん
垢版 |
2019/06/17(月) 18:56:03.38ID:GkDXASR6
経験って具体的にどういう場面で使う類のもんなの?
どうコードを作って行くかとかの技術系なのかコミュニケーション能力系なのか
0633デフォルトの名無しさん
垢版 |
2019/06/17(月) 22:01:34.73ID:dLLbEhJJ
>>632
社会人としての一般的な基礎は当然として、経験によって身につく最も重要な技術的スキルは感覚や勘だ
エンジニアのくせに何を非論理的なことをと思うかもしれないが、実際、
既にコードをバリバリ書ける優秀な新卒でも、それが身に付いて仕事で使い物になるレベルに達するまでには一定の時間を要する
具体的には、コードを書いた人間の意図を汲むとか、人間がミスしやすいポイントを先読みするとか、周りの空気を読んだコードを書くとか
エスパー能力と言ってもいい
0634デフォルトの名無しさん
垢版 |
2019/06/17(月) 23:58:36.46ID:sMRJmZ+y
import csv
with open(ファイル名,'r') as f:
 r = csv.reader(f)

このrからfor分を使わず、1つ1つ値を取り出したい場合、どうすればいいのでしょうか?
0635デフォルトの名無しさん
垢版 |
2019/06/18(火) 02:07:04.40ID:PmBejiWq
YouTube のKENTA の動画を見れば?
他にも、未経験者からプロになった人の動画があるけど皆、Ruby

未経験者は、1年ぐらい、Ruby on Rails をやれば、仕事の流れがわかる。
おまけとして、CakePHP も、Rails のコピーだから出来るようになる

侍エンジニア塾では、独学で千時間掛かるのが、
マンツーマン指導で、300時間になるとか歌ってる。
授業料は、70万とか

無料のRails チュートリアルもあるけど、これを出来るのは、モサだけ!
Rails よりも前に、Sinatra をいじくり回すのが、お勧め!
0637デフォルトの名無しさん
垢版 |
2019/06/18(火) 04:07:18.62ID:K1uDEfa+
Rubyはもうだめだよ
仕事を取れなくなった人らがメンターサイト等に集まって物乞いする状態になっとる
0638デフォルトの名無しさん
垢版 |
2019/06/18(火) 06:14:53.57ID:3nOE2mBA
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
0639デフォルトの名無しさん
垢版 |
2019/06/18(火) 08:14:16.00ID:zGikGnCb
スクレイピングしたらjava スクリプト?がねーよ的なエラー出るんだけどこれどうすれば良い?
偽装みたいなのでなんとかなる?
0641デフォルトの名無しさん
垢版 |
2019/06/18(火) 09:31:03.98ID:i6eMHF0c
Python3で、ファイルの正規表現で示される範囲だけをreadしたいのですが、
よい方法はありますか

awkでいう/^aaa/,/^bbb/{〜}のようなことをしたく思ってます
0642デフォルトの名無しさん
垢版 |
2019/06/18(火) 14:04:48.39ID:1CtlGReK
>>634
おまいは日本語を先に勉強すべき
0645デフォルトの名無しさん
垢版 |
2019/06/18(火) 17:08:23.06ID:dQoMcuWZ
>>634
list(r)
0647デフォルトの名無しさん
垢版 |
2019/06/19(水) 10:01:02.52ID:ltggZMDH
Python3のfor文内で、ループ内でカウンタに入れられるリストの要素を進める方法を探してます

for i in range(10):
 print(str(i))
 i+=1
 print(str(i))
とすると出力が0、1、1、2、2、3、…となりますが、これはfor文実行時にすでにrange()の結果がリストに展開されているため、それが代入されているカウンタiをいじっても、次のループにiに入れられるリストの要素は制御できないため、と考えてます
(本当は0、1、2、3、…としたい)

そうではなく、次のforループにiに入れられるrange()のリストの要素を進める方法がないか知りたいです

とりあえず
while(i<10):
 print(str(i))
 i+=1
 print(str(i))
 i+=1
とすると、iが数値なら期待した動作をするのですが、文字列等の場合でも使える方法は無いでしょうか
0648デフォルトの名無しさん
垢版 |
2019/06/19(水) 11:30:15.04ID:gZl/9gTZ
リストに展開?
ジェネレータのままループごとにnextで取り出されてるだけでは?
0649デフォルトの名無しさん
垢版 |
2019/06/19(水) 11:54:36.68ID:gZl/9gTZ
iter = (range(10)).__iter__()
for i in iter:
 print(str(i))
 i = iter.__next__()
 print(str(i))

iter = ("abcdef").__iter__()
for c in iter:
 print(c)
 c = iter.__next__()
 print(c)
0650デフォルトの名無しさん
垢版 |
2019/06/19(水) 12:08:38.73ID:gZl/9gTZ
ごめん組み込み関数のiter上書きしちゃってたわw

it = iter(range(10))
for i in it:
 print(str(i))
 i = next(it)
 print(str(i))

こうか。
0651デフォルトの名無しさん
垢版 |
2019/06/19(水) 13:15:31.65ID:xFdCR0VB
すみません、
小数点以下3桁くらいの数字を、
比較演算子で条件付けようとしたら、
こんなエラーが出ました。

TypeError: '>' not supported between instances of 'str' and 'float'

型があっていないということでしょうか?
エラー出る時と出ない時があります、
型を、小数点3桁くらいの数字を比較するのに合わせるには、
どうしたらいいでしょうか。
0652デフォルトの名無しさん
垢版 |
2019/06/19(水) 14:11:50.91ID:FOXYO9fr
>>651
対象の値をぜんぶ
if float(値1) > float(値2):
print(float(‘うんちぶりぶりっ’))

ってすれば出来んじゃね?しらんけど
0654デフォルトの名無しさん
垢版 |
2019/06/19(水) 15:28:53.74ID:xFdCR0VB
>>652
ありがとうございます、
手当たり次第に、
float()でくくったらエラーでなくなった、
floatと、intは型が違うけど、
数字だから、比較演算子使えるのかなぁ
0655デフォルトの名無しさん
垢版 |
2019/06/19(水) 15:30:40.22ID:xFdCR0VB
float() > int()

こんなのは、
型が違っても可能?
0656デフォルトの名無しさん
垢版 |
2019/06/19(水) 16:13:50.34ID:1ysE/pXU
>>655
基本的な部分がわかっていないんじゃない?
こういうことだよ。
>>> 10.5>10
True
>>> "10.5">10
TypeError: '>' not supported between instances of 'str' and 'int'
0657デフォルトの名無しさん
垢版 |
2019/06/19(水) 17:04:03.78ID:xFdCR0VB
>>656
そうですかぁ
文字列と数字を比べなければいいのかな。
0658デフォルトの名無しさん
垢版 |
2019/06/19(水) 19:22:02.10ID:+UPOG5PE
>>657
エラーメッセージはちゃんと読みなよ。
外国人が何か分からないことを言ってる!で済ますのではなく。
ちゃんと理由を説明してくれてるのだから。
0659デフォルトの名無しさん
垢版 |
2019/06/19(水) 19:27:49.59ID:XfBh72nj
にほんごでしゃべってくれればわかるんですけどぉ〜
だってここにほんじゃないですかぁ〜
0660デフォルトの名無しさん
垢版 |
2019/06/19(水) 19:35:14.44ID:xFdCR0VB
>>658
厳密なプログラミングなのに、
英語が不親切、
instancesて、例えばって意味ですよね、
それで、'str' and 'int'と書いてるから、
文字列型と、int型以外は使えないと勘違いする、
例えばだから、float型も使えるって書いてくれればいいのに。
0662デフォルトの名無しさん
垢版 |
2019/06/19(水) 20:30:48.06ID:pj0ch2Ed
読めなくたってエラーメッセージでググれば日本語で解説してるサイトは幾らでもあるのにそれすらしないのはなあ
0663デフォルトの名無しさん
垢版 |
2019/06/19(水) 20:53:00.01ID:2V8FHzvC
>>660
instanceの意味はちょっと取りにくいけど最近はコンピュータ用語としての意味を載せてたりする
http://sp.e-words.jp/w/インスタンス.html
取りあえず「実際の値」って思っときゃいい
要するに'str'と'int'は'>'で比較できないってこと
'int'と'float'も比較はできないんだけど'int'は必要に応じて'float'に変換してくれる
0664デフォルトの名無しさん
垢版 |
2019/06/19(水) 23:31:09.41ID:Kymk5bk/
>>661
Pythonに限ったらクラスもインスタンスもオブジェクトですね
0665デフォルトの名無しさん
垢版 |
2019/06/19(水) 23:31:19.05ID:xFdCR0VB
>>663
そうですかぁ
プログラミング初心者には奥が深すぎる。。。
0667デフォルトの名無しさん
垢版 |
2019/06/19(水) 23:38:39.71ID:xFdCR0VB
インスタンスがなんなのか分からない・・
0669デフォルトの名無しさん
垢版 |
2019/06/20(木) 02:50:29.68ID:KaE8/eZI
>>647 あのさ、何がしたいのかはっきりとわからないけど、

これじゃダメ? enumerate は、カウンタと変数を取り扱える。 この場合は count がカウンター

for count , x in enumerate( 'ABC') :
……print(count,x)

‘’’
0 A
1 B
2 C
‘’’
0670デフォルトの名無しさん
垢版 |
2019/06/20(木) 03:08:19.35ID:KaE8/eZI
>>657 そうですよ。 比べる時は型を合わせましょう。
Python に型がないわけじゃないです。

print( '10.5' > str( 10 ) )
True

print( '010.5' > str( 10 ) )
False

print( float('010.5') >10 )
True
0672デフォルトの名無しさん
垢版 |
2019/06/20(木) 05:43:15.51ID:lI3MWhAi
Javascriptとかは多少行儀悪くても配慮してくれるから
"10.5" > 10
->true
"10.5" > 11
->false
ってなるけどpythonはstrを自動でintやfloatに変えたりみたいなことはしない
0673デフォルトの名無しさん
垢版 |
2019/06/20(木) 10:11:04.32ID:So5aQwHx
JavaScript は、型違いでもエラーにせず、正常に値を返すから、怖いで!

"10.5" > 10 // true

"10.5ab" > 10 // false

あれ?
なんで、false になった?
0674デフォルトの名無しさん
垢版 |
2019/06/20(木) 10:12:49.88ID:QjpR73zC
教えてください、
デスクトップに、MMというフォルダがあって、
そのなかに、.pyのプログラムたくさん入っているんですが、
その中の、main.pyを実行したいです。

アナコンダと、Pycharmとspyderはインストールされてるのですが、
Pycharmかspyderで実行するにはどうしたらいいですか?
MMフォルダは、デスクトップじゃなくて、
どこかに移したほうがいいでしょうか?
main.pyだけ、Pycharmやspyderに登録?みたいなことすればいいのかな?
それとも、フォルダごとどうにかするんでしょうか?
0675674
垢版 |
2019/06/20(木) 10:56:02.63ID:QjpR73zC
フォルダを、
Cドライブに移動して、
Pycharmでフォルダを開いて、main.pyを実行できました、
済みませんでした。

それで実行はできたのですが、
import xxx
とエラーが出てしまいました、
フォルダの中に、xxx.pycというのがあったのですが、
これをimportするのは、どうすればいいんだろ?
0677デフォルトの名無しさん
垢版 |
2019/06/20(木) 17:08:36.67ID:Gh9YFRfh
>>672 数字の文字列は数字に変換して比較できるけど、
ab とかいう文字列は数字に変換のしようがないんだから、常にFalse
0678デフォルトの名無しさん
垢版 |
2019/06/20(木) 19:25:28.55ID:Zb4kTX93
インスタンス参照しないクラス内のメソッドって推奨されないの?
prcharmがこれstaticメソッドじゃねてうるさいんだけどいちいち注意してくるてことはなんかそういう決まりごとあるのかなって
0681デフォルトの名無しさん
垢版 |
2019/06/20(木) 23:14:43.30ID:So5aQwHx
Ruby で説明すると、

例えば、Math などのモジュール関数だろ。
sin, cos を求めるだけに、インスタンスは不要!

num = 0
Math.sin( num ) #=> 0.0

これがインスタンスから、呼び出すメソッドなら、こう書かないといけない!
これは面倒

num.sin
0684デフォルトの名無しさん
垢版 |
2019/06/21(金) 15:11:57.32ID:UE9bWJst
pythonで正規表現をしたいです。
文字列中にある\をすべて削除したいのですが、text.replace("\\","")とやっても消えていない部分があります。
\',\'のような文字列が残ってしまいます。
これらを消すにはどうしたらいいのでしょうか?

また、listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\という部分を削除したいときにはどのように指定すればいいのでしょうか
数字部分は動的です。
本当に困ってしまったのでどうかよろしくお願いします。
0686デフォルトの名無しさん
垢版 |
2019/06/21(金) 15:18:39.53ID:HK0kbqVP
女性には優しい
0687デフォルトの名無しさん
垢版 |
2019/06/21(金) 15:30:32.33ID:/W/rELqI
>>684 そのソースコードをどういうコンピュータで入力したか知らないけど、 \ には2種類のコードがあるの知ってる?
x5C と xA5
バックスラッシュ と円サイン。 どちらも表示させると \ になるから紛らわしい。
消したいのはバックスラッシュでしょ? 
0688デフォルトの名無しさん
垢版 |
2019/06/21(金) 15:36:47.21ID:/W/rELqI
>>684 エディタで置換をして自分の思った通りに置換できるかどうか確かめてみたら?

listname.mylist=83656873;gFilename.file=435;mylist=new list('\
と変換したいの?
0689デフォルトの名無しさん
垢版 |
2019/06/21(金) 20:49:35.84ID:6zksQt8q
scrapyのxpathについての質問です
'https://news.yahoo.co.jp/pickup/6327568'の画像を取得するのに
response.xpath('//div[@class="tpcHeader_thumb"]/p/@src')をすると []
となってしまいます。
"https://giwiz-tpc.c.yimg.jp/q/iwiz-tpc/images/tpc/2019/06/21/1561110546_20190621-00000092-reut-000-view.jpg";
という結果が欲しいのですがどうしたらいいのでしょうか。
0692デフォルトの名無しさん
垢版 |
2019/06/21(金) 23:52:47.22ID:0OlnkRWI
>>684-688
\ はバックスラッシュで、
\n は、単に改行を表す、エスケープシーケンス

Ruby で説明すると、abc の後ろで改行されている!
123, xyz の後ろでは改行されない

p で内容を見ると、"〜" で囲まれているから、これは文字列であり、
789 の後ろに、改行コードがあることがわかる

print "123"
print "abc\nxyz"

p "789\n"

出力
123abc
xyz"789\n"

エディタの表示では改行されるが、文字列の内部表現では、\n となる。
\n は、単なる決め事であり「\ n」という2文字が、実際に存在するわけではない!

文字数も、\n で、1文字扱い。
p "\n".length #=> 1
0693デフォルトの名無しさん
垢版 |
2019/06/21(金) 23:57:15.00ID:d6L9tKc5
日本の文化について質問したら韓国文化の説明が始まった。何でも日本文化は韓国のパクりなんだそうな。
0694デフォルトの名無しさん
垢版 |
2019/06/22(土) 00:38:53.50ID:sUTyEXDJ
>>689-691
これは、一番近い先祖のID からの、パスになっていない!
'//div[@class="tpcHeader_thumb"]/p/@src'

Chrome の開発者ツールで、右クリックメニューから、XPath, CSS Selector を取得すると、

//*[@id="tpcHeader"]/div[2]
#tpcHeader > div.tpcHeader_thumb

CSS Selector で、
#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img

XPath で、p の直下ではない!
p要素のsrc 属性だろ

Ruby で、selenium-webdriver, nokogiri で、作った

driver.navigate.to "https://news.yahoo.co.jp/pickup/6327568"; # ニュース

doc = Nokogiri::HTML( driver.page_source )

# at_css で、該当する最初の1つだけを取得する
element = doc.at_css( "#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img" )

url = element.attr( "src" )
puts url #=> 画像のURL
0696デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:01:23.91ID:oAAMU4yG
>>688
listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\
を消したいです
別に変換がしたいわけじゃないんですけど・・・
なんか変なこと言ってるから伝わってないんでしょうか・・・
0697デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:10:25.54ID:oAAMU4yG
というか、そもそもa='3745'のときにa.replace("\d*","A")とやっても置換されません
考えられる理由を教えてください
一体どこがおかしいのでしょうか
import reは当然してます。aはstrです。
0698デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:49:47.15ID:q/+ohx0h
考えられるって言うか
str.replaceは正規表現を受け付けない
import reすればstr.replaceで正規表現が使えるなんて誰から聞いたのか知らないけど
大人しくre.sub使ってください
0699デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:59:21.30ID:q/+ohx0h
あとねーこういう質問するときのテクニックとして
〜を消したいですとかじゃなくて
入力と欲しい出力を示す
例えば

入力文字列は "listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\"
で、出力として "listname.mylist=83656873;ngFilename.file=435;mylist=new list('"
を得たいです。とかね
0700デフォルトの名無しさん
垢版 |
2019/06/23(日) 11:48:37.39ID:HeOsQws8
>>696 全く伝わらないな、全体の文字を1文字残らず消したいと言う意味?
兎に角出力サンプルを出してくれ。
0701デフォルトの名無しさん
垢版 |
2019/06/23(日) 22:07:49.80ID:WHM6Ibwm
python2 からの移行はどんな具合ですか?
数年前は一部の強力なモジュールなどが 2 で
移行がしにくい状態だったと思いますが、
2 の公式サポートが あと1年程でおわるはずです

そろそろ全て移行のめどがついたころだと思っているのですが
0702デフォルトの名無しさん
垢版 |
2019/06/23(日) 22:37:21.11ID:WqK+VfGt
今日日python2使ってるやつは無能かマゾか基本的人権が保証されていない環境で働いてる奴のどれか
0703デフォルトの名無しさん
垢版 |
2019/06/23(日) 23:37:12.74ID:opi3Xmop
すみません、
デスクトップの、helloフォルダに、
hello.pyがあって、
これを、コマンドプロンプトから実行したいのですが、
cd desktop\hello
これでフォルダまで行きましたが、
そのあと、python hello.py
とかいても、
SyntaxErrorとかがでていまいます、
どうやって書けばいいでしょうか?
0704デフォルトの名無しさん
垢版 |
2019/06/24(月) 00:01:07.49ID:WQxplhkO
>>703
hello.pyの内容が間違ってるんじゃね
0706デフォルトの名無しさん
垢版 |
2019/06/24(月) 00:13:55.02ID:wS2YUFlH
>>704
ほんとだ!
間違ってた、無事に、Helloできました!
ありがとお
0709692
垢版 |
2019/06/24(月) 06:47:15.10ID:a0F4XMAJ
>>699
たぶん質問者は、\n が1文字の改行コードを表すことを、知らないのだろう。
「\ n」の2文字だと考えているから、\ だけを消せると思っているのだろう

制御文字というのは、単なる決め事なんだよ。
\n は、1文字扱いで「\ n」の2文字に分割できない

\ n の個別の文字は存在しない。
\n という改行を表す、1文字しか存在しない!

そういうルール!

>>692
に書いておいた
0710デフォルトの名無しさん
垢版 |
2019/06/24(月) 06:50:24.39ID:GM36sbD/
>>702
製品がサポートしてるpythonが2系
3系以降予定だけど一定期間は並行で動くから2で良いし…どうせ日本語ドキュメント出て来るのはもう少し後だし…
て経緯で一部2一部3でやってる
正直3のが書きやすいけど
0711デフォルトの名無しさん
垢版 |
2019/06/24(月) 08:30:06.05ID:jfLkgzx4
色んなアプリに入っている「Pythonでスクリプト書けます」がまだ少なからずPython2だなあ
0712デフォルトの名無しさん
垢版 |
2019/06/24(月) 10:30:58.01ID:ZLUJdTng
英語読めんのか
それは難儀やなあ
0713デフォルトの名無しさん
垢版 |
2019/06/24(月) 13:03:19.50ID:NW8XqAfb
3が良いと思ったのは3.6からだな
3.5までのは書きにくい
0714デフォルトの名無しさん
垢版 |
2019/06/24(月) 14:38:54.17ID:BXNZhLwW
>>709 その可能性が高いな。 \' みたいなのが削除できないとか言ってたし。
\’ の\はエスケープ文字だから、実態は ' 1文字になることを知らないのだろうね。
ソース上は \' と書いても、変数の中では \みたいなエスケープ文字はなくなってるから幾ら探したって見つかるわけがない。
0715デフォルトの名無しさん
垢版 |
2019/06/24(月) 16:18:09.49ID:gvIH4051
tkinterで.afterで自分自身を呼び出し続ける関数を使ってるwindowを閉じると

invalid command name "2615371636680xxxx" while executing
"2615371636680xxxx" ("after" script)

のエラーが発生します。
tkinterのループを抜けた(windowを閉じた)後に関数を呼び出してるからなのですが
回避する方法わかる方いませんか?
2件ほど海外で困ってる人は見かけましたが…よくわかりません。
0716デフォルトの名無しさん
垢版 |
2019/06/24(月) 17:53:31.81ID:eHWTfFeZ
盛大に使い方を間違ってるように感じるので
おまえのソース貼れ
0717715
垢版 |
2019/06/24(月) 22:38:25.86ID:gvIH4051
ソース貼ります
http://dpaste.com/1H9XHKT
ウインドウ閉じたらというか次のウインドウを開いたときにメッセージが出てるようです
0718デフォルトの名無しさん
垢版 |
2019/06/25(火) 14:08:12.58ID:Cc6pu6kp
pythonの主な用途は何ですか?
0721デフォルトの名無しさん
垢版 |
2019/06/25(火) 19:31:29.16ID:yVwwGD7O
tkinterで、文字列の入力と編集が行えるテキストボックスへコードを使って文字を入れようとしました。
tkinter.Entry(root).insert(tkinter.END,"\a")と書くと、\aがテキストボックスに入るはずなのに、□のような文字化けした変な文字が入りました。
\aが正規表現か何かに判定されてしまったのでしょうか。
insertを使って\aをテキストボックスへ入れるにはどうしたらいいですか?
0722デフォルトの名無しさん
垢版 |
2019/06/25(火) 19:53:40.50ID:yVwwGD7O
ちなみに、環境はwindows10で最新版のpython3です。
\aとか\bをinsertを使ってテキストボックスへ入れようとした場合だけ変な文字化けします。一方、\Aや\cや\zの文字列はinsertを使ってそのまま忠実にテキストボックスへ入ります。
これって何ですか?
0723デフォルトの名無しさん
垢版 |
2019/06/25(火) 20:09:38.76ID:paQRKRTX
\\aとすりゃーいい

\aは界隈ではアラームを示す
昔の汎用機やらタイプライターの横に付いてるベルがチーンと鳴ると思えばいい
0724デフォルトの名無しさん
垢版 |
2019/06/25(火) 20:41:58.76ID:yVwwGD7O
レスありがとうございます。
print("\007")とかprint("\a")とかで実行するとpc環境によってはビープ音が鳴る仕様みたいですね。
0726デフォルトの名無しさん
垢版 |
2019/06/25(火) 21:34:40.94ID:F/oKxJiw
>>725
いくら未経験OKの現場でも、このスレでそんなこと質問しているような奴は使いたくないと思われる
0727デフォルトの名無しさん
垢版 |
2019/06/25(火) 22:11:20.14ID:x556DD/n
質問させて下さい
Visual Studioでコードを書くと赤い波線が一部につく様になりました
該当の箇所を削除しても別のところに新しくついてしまいます
プログラムを実行すると
NameError:name”赤波の該当箇所”is not defined
と表示されます
print()を使った簡単なコードでも発生する様になってしまいました
特に設定を変えた様な事はないのですが、非常に困ってます
解決策分かる方はご教示お願いします
0728デフォルトの名無しさん
垢版 |
2019/06/25(火) 22:17:27.86ID:lyEkArNK
>>720
ご丁寧にありがとうございます
エラーメッセージが出なくなりました
.after_cancelですか…初めて見ましたw
0729デフォルトの名無しさん
垢版 |
2019/06/25(火) 23:19:57.50ID:UOy80Jni
>>727
指定されてる実行環境が壊れてたりしないか
新しくPythonインストールして、そこを実行環境に指定してみたら
0730727
垢版 |
2019/06/26(水) 00:08:12.68ID:ch1n6Q1X
Hello Worldを出力するのは問題無くできました、すいません
質問の該当のエラーは
SyntaxError:invalid character in identifier
というものです
0731727
垢版 |
2019/06/26(水) 00:16:37.31ID:ch1n6Q1X
自己解決しました
コードの横にコメント記載していたのですが
そのコメントの列を揃える時に全角のスペースが混じってました
全てスペースを半角にすることで、問題なく動きました
スレ汚しスマソ
0733デフォルトの名無しさん
垢版 |
2019/06/27(木) 01:59:18.79ID:SlXwoA5W
ここで質問していいか分からんのだが質問させて
ある並列処理をしていないプログラムを、複数のターミナルで同時に実行した場合のCPUの使い方ってどんな感じになる?
もしマルチコアの意味があるならいいCPU買おうと思うのだけど
0734デフォルトの名無しさん
垢版 |
2019/06/27(木) 02:06:41.21ID:nLjjTz2V
>>733
間違いなくスレ違いだけどコアの多いCPU買っていいよ
異なるターミナルで立ち上げたソフトウェアは特別なことがされてない限りプロセス単位で処理が走る
プロセスをどのCPUに割り当てるのかはOSの仕事でコアがたくさんあれば最近のOSは忙しくないコアに処理を投げてくれる
0735デフォルトの名無しさん
垢版 |
2019/06/27(木) 02:10:24.12ID:R4dkEQ6n
シングルスレッド処理でCPUを100%使うプロセスならコア数分だけ並列実行したら単純にコア数倍早くなるよ
基本的にはマルチスレッドを使うよりもシンプルでスケールしやすいので好ましいやり方
元々並列化されているライブラリを使ってるなら速くならない場合もあるけど
0737デフォルトの名無しさん
垢版 |
2019/06/27(木) 12:42:03.36ID:0LdoHRD4
プルグラム動かして寝てたら、
メモリ不足で停止してた、
クラウドで動かしたほうがいいのかなぁ
0738デフォルトの名無しさん
垢版 |
2019/06/27(木) 13:05:28.30ID:qzHPk9eN
C++に移植してメモリ管理を自分でやる
昔懐かしの汎用機でタイムシェアリング……の亜種でも相手側のクラウドがよしなにしてくれるワケじゃない
メモリ不足になったら止めてくれる、ただそれだけ
0741デフォルトの名無しさん
垢版 |
2019/06/27(木) 15:07:13.46ID:d6UNb6QH
長時間稼働させる場合にはPCに掛かる負荷も考えてプルグラム書かなきゃいけないしね
0742デフォルトの名無しさん
垢版 |
2019/06/27(木) 16:13:59.84ID:OHdwTxjO
一瞬、自分の知らない用語かと思ってぐくったわ
0743デフォルトの名無しさん
垢版 |
2019/06/27(木) 17:41:03.79ID:Bcofp4Pj
Pythonで、二次元配列だけども要素数が異なる配列はどの様に作るのが良いのでしょうか?

例えば4列で要素数が4,3,2,1と一つずつ減ってく、以下の配列の作り方を教えてください

[[0,1,2,3],
[0,1,2],
[0,1],
[0]]
0744デフォルトの名無しさん
垢版 |
2019/06/27(木) 17:53:01.01ID:+iw/5GPg
>>743
それそのままコードに書けばできるよ
0747デフォルトの名無しさん
垢版 |
2019/06/27(木) 18:58:47.32ID:1M6jlNy9
まぁ実際にやるとしたら[[x for x in range(i)] for i in range(4,0,-1)]でできる
やる必要性はわからない
0748デフォルトの名無しさん
垢版 |
2019/06/27(木) 19:26:40.71ID:ZsQBFx2U
馬鹿は必要性とか考えなくていいんだよ
アホみてーに俺の質問にだけ答えてろ
0750デフォルトの名無しさん
垢版 |
2019/06/27(木) 21:49:21.47ID:9Zxtgl6E
>>731
全角スペースいれちゃうようなら
Ricty フォントの導入など全角スペースが見える方法模索したほうがいいな
0751デフォルトの名無しさん
垢版 |
2019/06/28(金) 00:34:51.26ID:0ea6r5YB
tqdmでプログレスバーを同じ行で更新するように表示させてるんだけど、途中から改行されて表示されるようになることがあるんだが何か理由知ってる人いないか?
パラメータはleave=Trueだけ設定してる状態
0752デフォルトの名無しさん
垢版 |
2019/06/28(金) 13:56:21.51ID:IceVCrC1
アナコンダぱいちんくんはアップデートすると
Spyderが動かなくなったりするから困るよ
0753デフォルトの名無しさん
垢版 |
2019/06/28(金) 16:23:26.42ID:L7hsi0hP
コンソールの最大幅とプログレの最大幅をconfig
0755デフォルトの名無しさん
垢版 |
2019/06/29(土) 21:41:09.92ID:ggIuLAhq
空の__init__.pyの必要性って何?
検索トップに表示される内容がことごとく実際に動かした挙動と異なる。
情報が間違えてるか、情報が古いような気がする。
最新版で空の__init__.pyを入れる意味ってある?
0758デフォルトの名無しさん
垢版 |
2019/06/30(日) 02:19:20.37ID:G/VNMInb
統計検定2級持ってる高卒だけどPython勉強すればAI系の仕事つけるかな?
HTMLとCSSとjsはある程度わかる
数学活かすレベルまで到達するのってやっぱり大変?
0761デフォルトの名無しさん
垢版 |
2019/06/30(日) 09:07:22.60ID:rgyuwnDo
>>756-757
公式もちゃんと書いてないような気がする・・・・
公式に書いてることを簡単に言い直せば、
3.2以前は__init__.pyがあることで、そのディレクトリがパッケージ化されてimportでき、
3.3以降は__init__.pyが無くとも、sys.pathを利用すればimportできる。

でも、__init__.pyが無くとも、sys.pathを利用しなくとも、下位のディレクトリはドットで指定すれば普通にimportできる・・・
空の__init__.pyがある場合だけインポートできるケースが見つけられない。
0762デフォルトの名無しさん
垢版 |
2019/06/30(日) 09:52:36.37ID:rgyuwnDo
というかネットに限らず本もいい加減だな
「python文法詳解」というちゃんとしてそうな体裁の本を読んでるけど
「__init__.pyを置くことでそのディレクトリがパッケージ化されてimportできる3.2以前の方法に加えて、3.3以降ではsys.pathを利用する方法を追加した」と読める風に書かれてある。
でも__init__.py自体があっても無くてもインポートできるものはインポートできるし、インポートできないものはインポートできない。
3.2以前の方法は廃止されてパッケージ化に限っては__init__.pyが仕様変更されてるんと違うのか。
0763デフォルトの名無しさん
垢版 |
2019/06/30(日) 10:25:08.25ID:2juPiYlp
>>761
暗黙より明示とかカッコいいこと言っといてここら辺の仕様って恣意的で暗黙で覚えにくいよね…
0764デフォルトの名無しさん
垢版 |
2019/06/30(日) 11:39:17.96ID:UzQ4057E
公式は直訳だから抽象的だよな
直訳は元の英語文が持つ抽象性を極力維持したまま翻訳するし
翻訳することで日本文の抽象性も足される
だから直訳すると抽象的すぎてわけワカメになる

一方意訳は訳者なりの解釈を経て踏み込んで具体化されるから分かりやすい
直接的には書かれてないことを踏み込んで原語の意図を解釈するわけだから
原語の意図を読み間違えると「そこまでは言ってない」とか批判されることもあるが
0765デフォルトの名無しさん
垢版 |
2019/06/30(日) 11:50:00.86ID:7r9EqyYq
>>761
下位のディレクトリについては、実行時のカレントがsys.pathに追加されるのに気づいてないのでは
0766デフォルトの名無しさん
垢版 |
2019/06/30(日) 12:45:15.87ID:mVPaCc77
>>761-762
馬鹿は黙ってろ
0769デフォルトの名無しさん
垢版 |
2019/06/30(日) 13:53:10.44ID:rgyuwnDo
>>765
結局、3.7では、空にするぐらいなら__init__.pyなんか置く意味なくて
検索上位のサイトやpython文法詳解という書籍等に書かれている内容は嘘で、
import可否はsys.pathの登録のみに依存するということやね。
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
0770デフォルトの名無しさん
垢版 |
2019/06/30(日) 13:57:01.92ID:rgyuwnDo
最後のは別の解釈ができる文だったので訂正

そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
 ↓
そして実行プログラムのディレクトリはsys.pathに登録されてるため、実行プログラムの下位ディレクトリもドットを使って記述すればimport可と。
0771デフォルトの名無しさん
垢版 |
2019/06/30(日) 14:16:36.39ID:3lNMnNY5
Pythonは書き方がひとつ(白目)
0772757
垢版 |
2019/06/30(日) 14:23:19.71ID:QC0zonMJ
>>769
__init__.pyがあることで、初心者に特にありがちな、パッケージ名がコンフリクトした時に黙って動いたりしないメリットはあるよ
君みたいに早とちりでおっちょこちょいで過信が酷そうな人にはとても有用だよ
0773デフォルトの名無しさん
垢版 |
2019/06/30(日) 14:32:02.40ID:rgyuwnDo
つまり__init__.pyの存在意味がimportの可否という目的で説明されてるものが散見されるが、
それは嘘ということだね。
0774デフォルトの名無しさん
垢版 |
2019/06/30(日) 15:17:45.41ID:3lNMnNY5
sys.path.append() は反則一発退場(白目)
0775デフォルトの名無しさん
垢版 |
2019/06/30(日) 17:58:59.04ID:ZghQ0EOZ
イテレータをキー毎に集計するのにsumみたいな関数で簡単に出来る方法あったらオジエテ
例えば ((1,10),(1,20),(2,30),(2,40)) → ((1,30),(2,70))
あるいは [["A":1],["A";2],["A":3],["B":4]["B":5:]]  → [["A":6],["B":9]]
今はループで加算、キーが変わったら出力 という感じで古典的なやり方してます
0777775
垢版 |
2019/06/30(日) 19:28:07.68ID:ZghQ0EOZ
できました
from collections import Counter
c = Counter(A=1,B=10)
c.update({"A":2,"B":20})
print(c) #Counter({'B': 30, 'A': 3})

他にも応用できそうです ありがとうございます >>776
0778デフォルトの名無しさん
垢版 |
2019/07/01(月) 08:23:55.01ID:O1pDJEnN
Ruby の$LOAD_PATH と同じだろ

load, require すると、ロードパスを先頭から順番に探索して、そのファイルを探す。
ただし、requireでは同じファイルは、2度以上読み込まないが、loadでは再読み込みする

環境変数$RUBYLIB に、パスを追加すれば、$LOAD_PATHの先頭に追加される
0779デフォルトの名無しさん
垢版 |
2019/07/01(月) 16:49:03.33ID:+O6m6q3r
次スレはスレタイをruby質問スレに変えようぜ
0780デフォルトの名無しさん
垢版 |
2019/07/01(月) 18:07:01.53ID:LeWVjaJu
>>775
# count以外にも応用の効くgroup by
# [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)] => [("A", 6), ("B", 9)]
from itertools import groupby
a = [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)]
result = [(key, sum(r[1] for r in rows)) for key, rows in
groupby(sorted(a, key=lambda t: t[0]), lambda t: t[0])]
0781デフォルトの名無しさん
垢版 |
2019/07/01(月) 18:43:58.55ID:7YCy/Ken
「 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 」
「 echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 」
「 echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 」
「 source ~/.bash_profile 」

MacBookでPythonを始めようと思い、pyenvをインストールして設定したのですが、pyenvは必要ないことが分かりアンインストールしました
そしてその際に上記の4つのコマンドを入力したのですが、この設定を初期化する方法を教えていただけませんでしょうか

参考にしたのはこのページです、完全に失敗しました
https://prog-8.com/docs/python-env
0783デフォルトの名無しさん
垢版 |
2019/07/01(月) 19:06:46.83ID:XRqlvLKn
>>781

1.ターミナルから以下のコマンドを入力する。
open ~/.bash_profile

2.テキストエディットが開くので、最後の3行を削除して、保存する。
この作業により、3つ目までのコマンド入力がなかったことになる

3.最後のコマンドをなかったことにするには、単にターミナルを開き直せばよい。

以上
0784デフォルトの名無しさん
垢版 |
2019/07/01(月) 19:18:27.52ID:7YCy/Ken
>>783さんのをそのままやってみたら直りました!!ありがとうございます!!
>>782さんもアドバイスありがとうございました!!
0785デフォルトの名無しさん
垢版 |
2019/07/01(月) 22:07:44.63ID:f9s4Yc6y
PandasでCSV読み込めないよ パス間違いかな

Macで、ファイル上で apple + aption + C でパスをコピーして、
そのまま下記の「パス」の部分にペーストするんじゃだめなのかな

df = pd.read_csv('パス')
0789デフォルトの名無しさん
垢版 |
2019/07/02(火) 04:35:34.26ID:uMGeffjZ
>>781-784
echo '文字列' >> ~/.bash_profile

なら、文字列をファイルに追記する。>> は追記の意味。
コマンドを実行する前に、意味を調べて、ファイルのバックアップをとっておく事!

仮想環境構築には、anyenv がある。
Ruby のrbenv, Node.js のnodenv が有名。
他にも、色々な言語が揃っている

$PYENV_ROOT/bin:$PATH

これの特徴は、環境変数$PATH の前に、仮想環境の探索パスを追加して、
探索パスの順番を変えて、先に仮想環境でパスが見つかるようにしている

今は、Python公式が提供する、venv が良さそう

pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
0790デフォルトの名無しさん
垢版 |
2019/07/02(火) 09:42:11.63ID:qm4QtJRg
だからpyenvは、仮想環境じゃないって。
0792デフォルトの名無しさん
垢版 |
2019/07/02(火) 13:57:20.85ID:AVt3cDXd
Python にも、JVM的なものってあります?
JavaのUIライブラリやグラフィックライブラリだと、ネイティブメモリと、バーチャルマシンのメモリで二重にメモリ確保してたりすることがあるらしいんですよね
Python だと、その辺どうなんでしょうか?
0793デフォルトの名無しさん
垢版 |
2019/07/02(火) 14:44:52.25ID:9xMANyeE
pythonでトランプとかギャンブル系ゲーム作るとして
この手は弱いから降りるとか強いから降りないとか判断させるのって機械学習でできますか?
0795デフォルトの名無しさん
垢版 |
2019/07/02(火) 17:10:58.05ID:EIrkP3Yf
>>792
たぶんそのJavaのライブラリはJava側にもバッファを持つことでネイティブ境界を跨ぐコストを避けてJava側のメモリアクセスを高速化しているのだと思うが、
Pythonの場合、どうせPython側はビチグソゲロカス遅いから、ネイティブ境界を跨ぐコストなんて気にしないで素直にネイティブのラッパーとして実装しているケースが多いと思う
0797デフォルトの名無しさん
垢版 |
2019/07/03(水) 13:58:53.15ID:aJKbsp3m
Juliaいまいち
0798デフォルトの名無しさん
垢版 |
2019/07/03(水) 18:58:42.88ID:bwB/1CfS
pipenvなりで仮想環境?を切って外部モジュール入れて開発して、実際にサーバ側で動かすとなったときはサーバ側のpython環境はどうするのが一般的なんでしょうか?
開発時と同じようにサーバ側でも仮想環境を復元してその中から動かすのか、それとも直接必要なモジュールを入れてしまいますか?
0799デフォルトの名無しさん
垢版 |
2019/07/03(水) 19:26:37.10ID:A6HAo2Tb
s = '''
5
2 4
5 6
'''
s=s.strip()

sを1行ずつinput()で受け取りたいけど
どうするの?
0800デフォルトの名無しさん
垢版 |
2019/07/03(水) 19:31:38.05ID:XEr4jr+a
まずそれを標準出力に出力してください。
そのあとinput()書いた別のプログラムにパイプで繋げばいいんじゃないですかね。
0801デフォルトの名無しさん
垢版 |
2019/07/03(水) 20:06:50.90ID:I+RRGz+c
>>798
ケースバイケース
pipenvを使って構築したならPipfileやPipfile.lockを活用した方が良いかな

具体的には pipenv --venv で環境のパスを探して
そこの下にあるpython (上のディレクトリ/bin/python) を呼び出す
0802デフォルトの名無しさん
垢版 |
2019/07/03(水) 20:39:37.44ID:bwB/1CfS
>>801
pipenv等の導入と環境の復元を本番環境でやる流れなんですね
了解しました、ありがとうございました
0804デフォルトの名無しさん
垢版 |
2019/07/04(木) 12:26:02.77ID:Vs8N23YM
1個の辞書 {'V':'S001'} からキーを指定せず要素 S001 を取り出したい場合
for  values() を使う方法以外にありますか?
1個だけなのにループ使うなんて大げさな感じがします 
in_data = {'V':'S001'}
for val in in_data.values():
print(val)
0806848
垢版 |
2019/07/04(木) 12:46:37.77ID:hN0TQEZ6
VBしか出来ないけど、Python初心者勉強会に行ってくる。
0808804
垢版 |
2019/07/04(木) 13:16:36.97ID:Vs8N23YM
ありがとうございます
values() は必須みたいですね
>>807 で記述してみます
0809デフォルトの名無しさん
垢版 |
2019/07/04(木) 13:19:00.86ID:rn94pQkX
普通にfor使ってくれ
0810デフォルトの名無しさん
垢版 |
2019/07/04(木) 13:29:17.39ID:rn94pQkX
>>804
v = in_data[in_data.keys()[0]]
0811デフォルトの名無しさん
垢版 |
2019/07/04(木) 13:36:16.23ID:rn94pQkX
イテレータでインデックスつかえん?
0812デフォルトの名無しさん
垢版 |
2019/07/04(木) 14:10:39.44ID:9RajGdl+
>>804
お前みたいな素人は黙って動くコード書いとけ
下手くそなのに綺麗なコード書こうとか意識してんじゃねえよ
0815デフォルトの名無しさん
垢版 |
2019/07/04(木) 14:27:27.47ID:A1MeIwQ8
順序が保証された3.7でも、keysもvaluesもインデックス使えないね。
なぜそうなっているのかは意味不明。
3.6までなら、当然だと思うけど。
0819デフォルトの名無しさん
垢版 |
2019/07/04(木) 16:11:54.53ID:q9fbcnNb
「イテレータでインデックス使えないんですけど」とか言われても
「それ配列じゃないんで」以上の返事は返せないのだが
0820デフォルトの名無しさん
垢版 |
2019/07/04(木) 16:25:53.13ID:q9fbcnNb
イテレータじゃねぇわジェネレータだ
まぁどっちにせよそれ配列じゃないから
0821デフォルトの名無しさん
垢版 |
2019/07/04(木) 16:50:58.78ID:vGw4d28b
Ruby では、Enumerator に、with_index をつなげると、
ブロックに、index が渡ってきて、自動的にインクリメントしてくれる

str = "abc"

enum = str.to_enum( :each_byte ) # Enumerator
enum.with_index( 10 ) { |byte, idx| p [ byte, idx ] }

出力
[97, 10]
[98, 11]
[99, 12]
0824デフォルトの名無しさん
垢版 |
2019/07/04(木) 19:11:09.36ID:VpXpLSzf
(_ for _ in d.values()).__next__()
0826デフォルトの名無しさん
垢版 |
2019/07/05(金) 02:34:33.62ID:Ro+0MiKn
>>804
パズルとして

d={22:44}
print(d[list(d)[0]])
0827デフォルトの名無しさん
垢版 |
2019/07/05(金) 11:15:34.36ID:SLYFNUzn
おまいら問題を良く観ろω
for と .values() は禁止だ
0831デフォルトの名無しさん
垢版 |
2019/07/05(金) 16:10:54.11ID:E627G8NI
柴田淳て、シンガーソングライターじゃん。
0835デフォルトの名無しさん
垢版 |
2019/07/06(土) 22:29:26.59ID:V7qJrGLH
pythonの環境構築して簡単なサンプル文言の表示までできた。
エディタはvisual studio codeを使用している。日本語化もできている。

excel vbaを少しかじったことのあるので、文言の表示やらループやら辞書やら
基本的文法はある程度理解できた、つもり。

pythonを触ってみて、感動したのは、excel vbaと同じく変数名を「日本語」で書けること。
pythonを使ってexcel操作できるようにしたい。excel vbaを学んでいるのでvbaでカバーできないところを
pythonで補うといった感じです。excel vbaとpythonとの連携動作を記述できれば。

あとは、GUI操作の自動操作にも興味あるのでその辺も勉強したい。
0838デフォルトの名無しさん
垢版 |
2019/07/07(日) 00:24:29.90ID:6d9beYOR
>>837
それ便利ですね。日本語→変数名にふさわしい英語に変換してくれるという。

excel vbaでは、データ列の最後の行を、「最終行」として変数名として扱ってたな
最終行→last_row
うん、こっちのほうがしっくりする。
0842デフォルトの名無しさん
垢版 |
2019/07/07(日) 06:50:29.22ID:6d9beYOR
入門サイトで、pythonの最新版3.7.3に即したサンプルコードが掲載されているおすすめのない?
探しても、2014年に更新したものとか、そのままでは流用・改造ができない。

具体的には
printに()がつけるのがデフォだg、
昔は()つかなかったらしい。
バージョンによってコードの書き方が若干変更されている。
0843デフォルトの名無しさん
垢版 |
2019/07/07(日) 06:55:40.96ID:6d9beYOR
今日は辞書・リスト・タプルの習得と、クラスを知識レベルで習得しようかな。
クラスはC++を業務で限ったことあるから、クラスに出てくるデストラクタとか基本的な概念は理解しているつもり。
最終目標はExcelとの連携動作を記述できることなので、
クラスを使うケースがなければ、無理に覚える必要はなくて、こういうのがあるんだというレベルで知るにとどめておく。
0844デフォルトの名無しさん
垢版 |
2019/07/07(日) 07:23:24.94ID:mSdQU3QE
>>842
> 昔は()つかなかったらしい。
> バージョンによってコードの書き方が若干変更されている。
python 2 3 違い
とかでググれ
0845デフォルトの名無しさん
垢版 |
2019/07/07(日) 11:47:09.69ID:L+nDH+Yy
python2 は print(hoge) で動く
python3 は print hoge で動かない

python2 の方が python3 より上位互換
0847843
垢版 |
2019/07/07(日) 12:13:51.63ID:6d9beYOR
タプル学んだが、一度決めたら変更が効かない点から、C言語でいう文字列定数みたいなもの?
0848デフォルトの名無しさん
垢版 |
2019/07/07(日) 15:40:57.19ID:AW0chvBU
>>847
違う
0849デフォルトの名無しさん
垢版 |
2019/07/07(日) 16:17:26.18ID:H2KGiSek
>>847
C言語の文字列定数は:
 「文字型を要素に限定した不変な配列(immurable array of char)」

Pythonだと:
・タプル:任意の型を要素とする不変な配列(immutable array of any type)
・リスト:任意の型を要素とする可変な配列(mutable array of any type)

要素の型が文字に限定されないという点では誤りだけれど、
不変な配列という意味では正しい認識
0850デフォルトの名無しさん
垢版 |
2019/07/07(日) 16:25:54.66ID:TBcO9UCS
>>849
ご高説どうも。
0851デフォルトの名無しさん
垢版 |
2019/07/07(日) 23:20:02.50ID:bDhdwGYb
どちらかというと*byのシンボルω
0852デフォルトの名無しさん
垢版 |
2019/07/08(月) 02:40:22.13ID:phh4eDfS
皆さんide何使ってますか
pycharm使ってたんですが無料版にはリモートデバッグ機能が無いようなので新しいの探してます
0853デフォルトの名無しさん
垢版 |
2019/07/08(月) 07:51:54.77ID:Vrb0WxW4
もちろんVSCode
リモートデバッグは当然として、リモート側でheadlessなVSCodeを動かして
手元のVSCodeと接続して操作するという完全なリモート開発も可能
0854デフォルトの名無しさん
垢版 |
2019/07/08(月) 07:53:59.44ID:02UbU8F7
>>852
リモート先がx86_64のLinuxならVSCode Insiderがいいよ
armのLinuxならリモートデバッグは諦めて普通のVSCodeにSSHFSを入れる
0855デフォルトの名無しさん
垢版 |
2019/07/08(月) 21:35:16.66ID:jEymYemJ
大手でも無料でライセンス気にせず仕えるIDEって純正だけ?
0856デフォルトの名無しさん
垢版 |
2019/07/08(月) 22:13:48.41ID:QxTYEHIL
IDEと呼べる程度の機能性を備えていてライセンスを気にせず使えるのはVSCodeだけだ
0857デフォルトの名無しさん
垢版 |
2019/07/08(月) 22:23:37.52ID:k/SnQUmG
IDE必要なのって初心者の間だけやろ
0860デフォルトの名無しさん
垢版 |
2019/07/09(火) 06:57:51.96ID:63ZmNVzI
IDE使ってない人はホント開発とろい。
40年近いPC触ってるが、今の時代でIDE使わないってアホ。
200万以下の振り込みに印鑑もって銀行窓口に行くぐらいボケた行為。
0862デフォルトの名無しさん
垢版 |
2019/07/09(火) 09:30:09.62ID:/DytT2GI
VisualStudioのターミナルで全部インストールしてPython使い始めたな
VisualStudioOnlineでたらそっちに乗り換える
0863デフォルトの名無しさん
垢版 |
2019/07/09(火) 12:20:40.11ID:VtjrtSED
VisualStudioOnlineはVSCodeのWeb版
VisualStudioとは全くの別物
まあターミナルとか言ってるから今使ってるのもVisualStudioCodeなのかもしれないけど
0864デフォルトの名無しさん
垢版 |
2019/07/09(火) 13:02:30.95ID:/DytT2GI
クラウド版みたいな感じ?ブラウザで使えるならいいな〜と
今もソースはGoogleドライブに置いていろんなとこから使ってるし
0865デフォルトの名無しさん
垢版 |
2019/07/09(火) 13:50:15.68ID:4DF3AYrW
d1 = str(date2.time())
print(d1)

d2 = ("03:59")
d3 = ("04:15")
print(d2,d3)

if (d1 < d2 and d1 > d3):


すみません、
午前の3時59分から、
午前の4時15分までの間は、
処理をしないようにしたいのですが、
d1で現在時刻を取得して文字列に替えて、
d2とd3と比較はできるようになったのですが、

if (d1 < d2 and d1 > d3):

このように書くと、間じゃないみたいです、
どうやって比較すればいいでしょうか?
0867デフォルトの名無しさん
垢版 |
2019/07/09(火) 14:40:07.27ID:4DF3AYrW
>>866
ありがとうございます、
条件を理解するのが難しいけど、
整理して使ってみます。
0868デフォルトの名無しさん
垢版 |
2019/07/09(火) 15:01:56.54ID:/r7FFq5T
if not (d2 <= d1 <= d3)
if not (d2 <= d1 and d1 <= d3)
ド・モルガンの法則で
if d1 < d2 or d1 > d3
一番上のpython流のbetweenが好きな人もいれば、下の様にnotがない方が好きだという人もいるだろう。
0869デフォルトの名無しさん
垢版 |
2019/07/09(火) 15:14:16.34ID:4DF3AYrW
>>868
おお、これなら馬鹿な頭でもなんとなくわかる。
0870デフォルトの名無しさん
垢版 |
2019/07/09(火) 18:10:43.88ID:8Y9GhXx/
>>865
文法とか表記云々よりそもそもandなのがおかしいよね
意図を満たすのがそもそもorでpythonどうこうの問題ではない
難しいなら一度ただの数字で整理した方がいいよ
d1=15
d2=20
d3=30
d1 < d2 and d1 > d3
⇔15 < 20 and 15 > 30
こうなるから満たすものが存在する訳がない
0871デフォルトの名無しさん
垢版 |
2019/07/09(火) 18:21:33.04ID:8Y9GhXx/
ちなみに証明ちっくに書くと
d1 < d2 and d1 > d3なので
d2 < d3と仮定したなら
⇔d1 < d2 < d3 and d1 > d3
⇔d1 < d3 and d1 > d3
d3より小さくてd3より大きいd1は存在しない
つまりd2 < d3の時この条件式は常に偽になる
0872デフォルトの名無しさん
垢版 |
2019/07/09(火) 18:23:55.43ID:/Im6pThz
エサを与えないでください
0874デフォルトの名無しさん
垢版 |
2019/07/10(水) 11:22:25.05ID:bzIzkqr1
PythonでIDE使うメリットった何がありますか?
補完と環境構築以外で教えて下さい
0878デフォルトの名無しさん
垢版 |
2019/07/11(木) 09:33:26.22ID:Jsiub1Yy
VSCodeスレで回答が無かったので、こちらに来ました

VSCode + PythonでNumbaって使えますか?
https://qiita.com/fam_taro/items/df4487bbc2767c630247
を試してみても、 @numba.jit('f8[:, :](f8[:, :], f8[:, :])', nopython=True) で
Traceback (most recent call last):
と、出てしまいます。 (引数はndarrayの2次元配列が2つ)
0881デフォルトの名無しさん
垢版 |
2019/07/11(木) 14:07:10.75ID:Jsiub1Yy
>>879-880
回答ありがとうございます。
後ろのメッセージでググってみたところ、同じ表示がありました。
https://qiita.com/osakb/items/31dd7e316262a445eb1e

こちらの場合はtry-catchは使っていないのですが、Tensorflowを使っています。
恐らくどこかで型推論が出来ない変数があると思われるので、別の方法を考えてみます。
0882デフォルトの名無しさん
垢版 |
2019/07/13(土) 13:56:16.67ID:i8nNEdza
プログラム自体を始めたばかりなので、問題と思ってるところが間違ってるかもしれませんが、
pyinstallerでexe化する時に、-F -wの両方のオプションをつけると動作しなくなるのは何故でしょうか?
https://ideone.com/XonqyH

動作しないというのはPingが実行されていないという事を指しています。
0884デフォルトの名無しさん
垢版 |
2019/07/13(土) 16:51:55.15ID:hDbPSxS0
>>882
確定的明らかに-wオプションがわるいはー

noconsoleって指定しちゃったら、
stdoutのやり場(通常はコンソールウインドウ)がないんだものー
0885デフォルトの名無しさん
垢版 |
2019/07/14(日) 12:37:05.16ID:N4qlo06X
>>884
解決しました、ありがとうございます。
stdin,stdour,stderrすべてをパイプで繋いでおく必要があるという結果でした。

pyinstallerで-F(onefile)のオプション付けなければ動作していた為に原因の理解に苦しみましたが、
標準入出力がおかしいから失敗する(というかそもそも実行されない)という事っぽいです。
動くように変更したもの
https://ideone.com/ARUMCf
※stdinのパイプ追加と該当箇所のコンソール非表示フラグ追加
 どうでもいい箇所ですが、cp932を打ち間違いしてたのを修正
0886デフォルトの名無しさん
垢版 |
2019/07/14(日) 12:48:51.37ID:Vth+AAHG
プログラミング初めたばかりでこれか
レベル高すぎるだろうw
これが天才というヤツか
0887デフォルトの名無しさん
垢版 |
2019/07/14(日) 13:53:06.28ID:KXjmoduh
>>885
うごいて乙!
きれいなコード乙乙!

>標準入出力がおかしいから失敗する
>stdin,stdour,stderrすべてをパイプで繋いでおく必要がある
そうなのね!!!
こちらも勉強になったは!
0889デフォルトの名無しさん
垢版 |
2019/07/15(月) 03:41:00.15ID:UhaL6z6d
昔の一時期はAIといえばLISPとかだったりもしたけど
今や知る人もあまりない死語だろうな
今はディープラーニングでPythonだったりするんだろうか
0890デフォルトの名無しさん
垢版 |
2019/07/15(月) 03:57:40.93ID:j+BusxjY
LISPってぱっと見何が書かれているのか良く分からん
人工知能用途の特殊な言語だと思ってた
0893デフォルトの名無しさん
垢版 |
2019/07/15(月) 11:43:03.78ID:r5uSGSCi
よく知らないけどその辺のAIってルールベースって聞いたから同じようなのが延々と並んでるんじゃね
0894デフォルトの名無しさん
垢版 |
2019/07/15(月) 13:01:02.65ID:14ut6KBx
わたくしの定義だと
・言語系AI
・画像系AI
この違いです

LISPは当然、言語系です
現行のpythonはどちらかと言うと画像系です
なので行列演算が可能な問題に適してます

言語系AIは一体全体何を計算していいか分からなかった、これが停滞の大元です
0896デフォルトの名無しさん
垢版 |
2019/07/15(月) 16:11:30.52ID:3kssHGHN
おまいの定義なんてどうでもええ
0897デフォルトの名無しさん
垢版 |
2019/07/15(月) 19:53:45.31ID:ECa5/DWD
当たり前のことだが lisp で行列を扱うのは簡単
ただ当時の計算機パワーでは大きなデータが
動かせなかった。大きなデータもなかったし。
0898デフォルトの名無しさん
垢版 |
2019/07/15(月) 20:19:15.77ID:ex33LrHm
Lispで行列?
行列ライブラリはあるみたいだけど言語としてなんかアドバンテージあったっけ?
0899デフォルトの名無しさん
垢版 |
2019/07/15(月) 23:04:52.50ID:14ut6KBx
当時最大のアドバンテージがS式の実装とシンボリクス
しかして「古い技術で作られたものは劣っている」だから21世紀の今じゃしょうがない
0900デフォルトの名無しさん
垢版 |
2019/07/16(火) 10:58:30.29ID:7FuURtJM
mac os x 10.11.6でpyenvにて3.6.5を使用しています。
pip listをすると途中で止まってしまうようになり、
pip自体をアンインストール後にget-pip.pyで再インストールしたが変わりません。
解決策ご存知の方教えてください。
0901デフォルトの名無しさん
垢版 |
2019/07/16(火) 11:48:20.20ID:eyHfKyP8
vbaしか扱えない無能だけどWebクロールしたい
どこ読めばそのレベルまで到達できる?

python jpのチュートリアルは丁寧なんだけど、全機能解説してて終わるまで1年かかりそう
0903デフォルトの名無しさん
垢版 |
2019/07/16(火) 12:52:25.27ID:nFGLz/YB
requestsとBeautifulSoupのマニュアル読んだら出来る
わからんとこがでてきたらpythonチュートリアルに戻ればいい
0905デフォルトの名無しさん
垢版 |
2019/07/16(火) 17:42:33.63ID:eyHfKyP8
>>902
何とか一ヶ月でマスターしたいねん

>>903
ごめん見つからん
もしかしてそれぞれのコマンドのマニュアルからcookie処理やID認証まで全部覚えろって意味?
https://i.imgur.com/SD3jWzf.jpg
0906デフォルトの名無しさん
垢版 |
2019/07/17(水) 02:16:37.10ID:jegiRIEG
凝ったことしたいならScrapyの方が良さそうだけどズブの素人から目的まで達するのにどんくらいかかるかは知らない
というか何やりたいのかも分からんし
0908デフォルトの名無しさん
垢版 |
2019/07/17(水) 08:51:53.90ID:xov1If7i
>>904
情報ありがとうございます。
ちょっと状況が違っててpip listをして途中まで表示された後、
いつまでたっても終わらないんです。
site-packagesの中身を全部消して、設定ファイル?を一部削除したら
とりあえず正常に動くようにはなりました。
0909デフォルトの名無しさん
垢版 |
2019/07/17(水) 10:07:27.57ID:GcZT8y1H
採取したい対象によっては、requestsじゃなくてSeleniumかPupeteer(nodejs)が必要になると思うけど。
どっちにしろ、Web知らなきゃ初っ端から行き詰まるだけだが。
0910デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:18:43.89ID:WSD9dIRA
プログラミング初心者です
最近pythonの勉強を始めたのですが、
どうしてもエラーになってしまいます
アドバイスをおねがいします
0911デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:19:18.83ID:WSD9dIRA
問題はこちらです。

演習課題「アイテムリストを作ってみよう」

右側のエディターエリアのプログラムを元に、アイテムリストを作ってみましょう。
標準入力で出力するアイテム数と複数行のアイテム名の入力があります。
それを元に、items_imgで定義された画像を改行せず順番に出力してみましょう。
画像の出力にはimgタグを使い、src属性に画像のファイル名を指定します。

※標準入力で与えられるアイテム名は、items_imgにはないアイテムは出てこないものとする。
0912デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:19:54.47ID:WSD9dIRA
 入力される値

回復薬

クリスタル
クリスタル



 期待する出力
(回復薬の画像)(盾の画像)(クリスタルの画像)(クリスタルの画像)(剣の画像)(剣の画像)
...
↓ 以下、右側のエディット
# 画像用辞書
items_img = {
"剣" : "(URL)"
"盾" : "(URL)"
"回復薬" : "(URL)"
"クリスタル" : "(URL)"
}
0913デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:20:22.54ID:WSD9dIRA
以下、自分が書いたコード

import sys

for items_name in sys.stdin.readline():
print("<img src='" + items_img[items_name] + "'br>")

これだとKeyError : '6\n'
となってしまい

import sys

for items_name in sys.stdin.readline():
f.append(items_name.rstrip())
del f[0]
print("<img src='" + items_img[items_name] + "'br>")
とするとTypeError: unhashable type: 'list'
となってしまいます。

どうすればよいでしょうか。
0915デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:43:17.44ID:znjo/n91
>>913
めちゃくちゃすぎ

なにより先に
 >>1は最後までよめ
>◆Pythonのソースコードをそのまま5ちゃんにコピペすると
>  インデントが崩れるので
>  こういうところ↓にはってきてください



「# 画像用辞書」のデータ を辞書データとしてPythonに読ませる部分が決定的に欠けている

入力される値の1回目をアイテム数として取り込む処理が欠けている

fからitems_imgを照会する部分が欠けている

あと
> "'br>")
↑この部分を直さないと、htmlとして間違っつるのでタヒんでも指示書通りにはならない
0916デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:56:45.41ID:WSD9dIRA
>>915
ありがとうございます。
考え直してみます。
0917デフォルトの名無しさん
垢版 |
2019/07/17(水) 15:46:13.82ID:WSD9dIRA
>>910です
http://ideone.com/3znmpu
これでpaizaの出力エリア上は期待する出力と同じなのですが、
採点結果は0点でした
ideoneでのline 15 の意味も分かりません
HTMLについては全くわからないので、今までのpaizaの演習にならって書きました
なにか根本的に間違っているのでしょうか
教えてください。
0918デフォルトの名無しさん
垢版 |
2019/07/17(水) 15:58:38.03ID:znjo/n91
>>917
>paizaの出力エリア上は期待する出力と同じ
なるんか・・・?

>ideoneでのline 15
「list assignment index out of range」でググレカス

>HTMLについては全くわからない
ひらきなおるな
最低限、imgタグのよろしい打ち方ルールをもっとべんきょうしる

>なにか根本的に間違っているのでしょうか
Yes!

>>915に書いた全項目解決したか?くらいは
投稿前に自分でちゃんとちぇっくしる
0919デフォルトの名無しさん
垢版 |
2019/07/17(水) 16:02:18.47ID:WSD9dIRA
>>918
わかりました。
ありがとうございます。
0920デフォルトの名無しさん
垢版 |
2019/07/17(水) 17:06:51.93ID:gMR9U+K3
paizaもっとチュートリアル的なコンテンツあったろうに
それとも、それをやってこれなのか
0922デフォルトの名無しさん
垢版 |
2019/07/17(水) 19:52:38.35ID:RL7WDafS
1年後、10年後に良いコードが書けてればいいから
他の新規者と比べてあまり気落ちしないように
0923デフォルトの名無しさん
垢版 |
2019/07/17(水) 20:24:17.40ID:u050lnGw
>>917
Ruby で書いた

%Q(〜) は、" をエスケープする。\" と書くのと同じ

img_urls = { 1 => "url_1", 2 => "url_2" }

img_tags = img_urls.each_value.map { |val| %Q(<img src=") + val + %Q(">) }

puts img_tags

出力
<img src="url_1">
<img src="url_2">

君が書いた、br は、間違いだろ。
それと、HTML の属性は、' よりも、" で囲むのが普通かな?

print("<img src='" + items_img[word] + "'br>")
0925デフォルトの名無しさん
垢版 |
2019/07/17(水) 23:22:13.36ID:97mY43hh
>>923
頼むからrubyを貶める行為はやめてくれ
Pythonスレでやってもウザいことこの上ない

どうせやるならMacOSXのXcodeにバンドルされているrubyがc++11で動かないのでそっちをなんとかしてくれ
その方がみんな喜ぶし世界的にもユーザーが増える

例えば
github-linguist
は最新のMojaveでエラー出て、ほっとかれるだけでイラッとする
0926デフォルトの名無しさん
垢版 |
2019/07/18(木) 01:31:45.62ID:qX0Q0apJ
>>925
>どうせやるならMacOSXのXcodeにバンドルされているrubyがc++11で動かないのでそっちをなんとかしてくれ
>その方がみんな喜ぶし世界的にもユーザーが増える

それを言うなら、このスレ的には:
  MacOSに標準インストールされているpython2をなんとかしてpython3にしてくれ、
  そのほうがpythonistaみんなが喜ぶし世界的にもPythonユーザーが増える

  例えばpython3をインストールするのに、
  よりにもよってRuby謹製のHomebrewを使わざるをえないだけでイラッとする
だろ
0927デフォルトの名無しさん
垢版 |
2019/07/18(木) 02:25:33.07ID:Nr80YdQr
まあこのスレ的には>>923が消えてくれればそれでいいのだが、タイルの目地に生えたカビの如くなかなか消えなくて困る。
0929デフォルトの名無しさん
垢版 |
2019/07/18(木) 02:53:39.34ID:l0LQOmCw
解決しました。ありがとうございました。
削除依頼も出しました。
0931デフォルトの名無しさん
垢版 |
2019/07/18(木) 14:08:13.88ID:aVBxdiyT
質問です。家の回線のISPから昨日1日で転送容量15GB使ってると警告がきた
状況はサブPCでPythonでスクレイピングしてる
htmlから文字を抜き出してるだけで画像などをダウンロードしまくるようなものじゃない
操作性やキーボードなどを置くスペースの関係でChromeのリモートデスクトップでメインPCから操作してる
ちょうど昨日ぐらいから24時間リモートデスクトップ繋ぎっぱなし
転送容量の警告はChromeのリモートデスクトップが原因とおもって大丈夫でしょうか?

スクレイピングしてるhtmlファイルと画像の容量合わせても
1.8MBで10回20回アクセスしたとしても到底15GBにはならないとおもうんだけど
一応、転送容量制限掛けられるソフトをインストールして監視してる
0933デフォルトの名無しさん
垢版 |
2019/07/18(木) 14:17:40.25ID:wZsXmzlN
>>917 line 15 は入力の最初の数字6 を消してるだけ。
htmlタグをプリントするだけで画像が出るわけないだろ。 
paizaが何者か知らんが、Python の基礎からやった方が良いぞ。 そんなんで表示されるなんて周りにプログラムがあらかじめ書かれてるんだろ。

ちゃんとやるなら HTMLのソースファイルを作ってWebサーバで表示させることになる。
<html>
<body>
<imag...>....
</body>
</html>

html も知らずに HTML問題を解くなんて無謀。 問題を出す方も出す方。
0934デフォルトの名無しさん
垢版 |
2019/07/18(木) 15:14:57.48ID:aVBxdiyT
>>932
情報ありがとう

Chromeリモートデスクトップ止めたあとも1GB/h以上の転送量があった
SoftEther VPNって起動してるだけであのリストに載って誰でも繋がるようになるのかな?
たまに使うのでアンインストールはせずスタートアップから外し
VPNのネットワークアダプタを無効にし再起動で98.7MB/hまで落ちました
お騒がせしました
https://i.imgur.com/SBvkkS5.jpg
https://i.imgur.com/tn9c7Qm.jpg
0935デフォルトの名無しさん
垢版 |
2019/07/18(木) 19:07:53.03ID:44Ax18Yo
もう乗っ取られてんじゃね
OS再インストールを強くお薦めする
0938デフォルトの名無しさん
垢版 |
2019/07/20(土) 08:55:45.82ID:RdS7+qpt
pytorchの解説がどれもむずかしいのですが、初心者ははじめに何やれば良いんでしょうか
最終目的はaiでロリ画像を作ることです
0944デフォルトの名無しさん
垢版 |
2019/07/20(土) 13:16:22.09ID:ge7gFbNK
DCGANの勉強
0947デフォルトの名無しさん
垢版 |
2019/07/20(土) 17:58:52.65ID:ge7gFbNK
マルチポスト警察だ!
0949デフォルトの名無しさん
垢版 |
2019/07/20(土) 20:49:38.44ID:MsvASPls
Windowsですが、皆さんはインストール時にデフォルトの
フォルダにインストールしてますか。
さっき初めて入れたのですが、フォルダの階層が深いので
Cドライブの直下にしようかと思うのですが、それにより
不具合が起きたりしますかね。
0950デフォルトの名無しさん
垢版 |
2019/07/20(土) 20:54:35.25ID:P9wbpcK8
>>949
>それにより不具合が起きたりしますかね
起きそうだ、と初めてさんに「も」予想できることは
ほぼほぼ実際に起きることだ
0952デフォルトの名無しさん
垢版 |
2019/07/21(日) 01:03:08.39ID:7an9cjGS
"D:\Program Files\Anaconda3"

特に問題なし
0954デフォルトの名無しさん
垢版 |
2019/07/21(日) 08:26:34.54ID:/SITzbMm
winだと確かデフォルトだと隠しファイルの奥の奥くらいにあってbinのパスクソ長くて叩くの面倒だったから変えたよ
0956デフォルトの名無しさん
垢版 |
2019/07/21(日) 14:42:25.02ID:utEuQb4D
>>954
え???

3.7系なら
C:\Program Files\Python37-32
python.exeはここ↑にあるんだが。。。

>>953
そこにはシンボリックリンクがいる(置いてある)
0957デフォルトの名無しさん
垢版 |
2019/07/21(日) 18:07:34.59ID:pyvclrNz
All Usersにインストールした場合と
Only for Userでインストールした場合でインストール先が違うことを知らないレベルの初心者は
話がややこしくなるから静かにしとってくれ
0958デフォルトの名無しさん
垢版 |
2019/07/21(日) 19:05:35.03ID:utEuQb4D
>>957
> All Users / Only for User
そういえば!
そんなチェックボックスもあったな!!!

あとは
32bitか64bitかでもフォルダが違ったりするか


年経ると最初にインスコしたときの選択肢のこととか忘れるよ・・・

持ち前のうっかりテヘ

すまんね
0959デフォルトの名無しさん
垢版 |
2019/07/21(日) 20:21:31.64ID:j7bLFhUX
自分でインストールしたものは Program Files とは別の場所に保存するようにしてる
ポータブルソフトウェアも別の場所
全部 Program Files に保存するとわかりにくくなる
0960デフォルトの名無しさん
垢版 |
2019/07/22(月) 03:12:00.96ID:vS8EF9i1
storeアプリとしてインストールすると、ルートは相当深いのでは?

まぁ、ドライブのルートにインストールするのがわかりやすくていいわな。
unix由来のものはだいたいそうしてる。
0961デフォルトの名無しさん
垢版 |
2019/07/22(月) 06:32:37.49ID:GAEqWBnq
説明に従ってインストールするものは、デフォルトの場所がよい

一方、ポータブル版など、インストールせずに、自分でバイナリをどこかに置いて、
ユーザー環境変数パスも自分で追加するようなものは、C 直下でもよい。
その代わり、消す・移動する場合も、自分で環境変数も削除・更新しないといけない

コマンドプロンプトで、
where node
C:\Program Files\nodejs\node.exe

where ruby
C:\Ruby24-x64\bin\ruby.exe

Node はインストールした。
一方、Ruby 2.4 はポータブル版
0962デフォルトの名無しさん
垢版 |
2019/07/22(月) 07:16:06.92ID:gciKmhD5
ぼくはパス名に空白あると死んじゃうおじさんだからProgram Filesの下は無理だわ
0963デフォルトの名無しさん
垢版 |
2019/07/22(月) 09:06:23.23ID:NmCBUXEa
昔のバージョンはC直下がデフォルトで、自分は直下が嫌いだったから、1個下に変更して入れてた記憶がある。
0964デフォルトの名無しさん
垢版 |
2019/07/22(月) 09:40:01.05ID:mGE6+E5e
3か月くらい前に使い始めて旧バージョンじゃ動かないとか
32bitじゃ使えないライブラリとかで色々入れたけどこんな感じ
C:\Python\Python3.6x86
C:\Python\Python3.6x64
C:\Python\Python3.7x86
C:\Python\Python3.7x64
0966デフォルトの名無しさん
垢版 |
2019/07/23(火) 19:36:22.62ID:+7TCISw6
x,y,zのデカルト積で
ようするにネストした3つのループがあるとする
for x in xs:
 for y in xs:
  for z in xs:
  ...
この3重のループの中から、
xyz全部一気に抜けたい時
次のyの処理に移りたい時
次のxの処理に移りたい時
pythonではどう制御を書きますか?
0968デフォルトの名無しさん
垢版 |
2019/07/23(火) 19:52:55.20ID:wUFiuOAd
フラグ変数で管理するか例外を使う
try:
__for x in xs:
____for y in ys:
______for z in zs:
________raise Exception
except:
__pass

次のy,xの処理に移りたければexcept continueすればええんちゃう
0969デフォルトの名無しさん
垢版 |
2019/07/23(火) 20:33:29.10ID:+7TCISw6
ラベルなんてなかった
目立つから例外使うことにします
ありがとうございました
0970デフォルトの名無しさん
垢版 |
2019/07/23(火) 21:42:05.24ID:c2CsKVoQ
.for x in xs:
. for y ys:
. for z zs:
. ...
. if cond:
. break
. else: continue
. break
. else: continue
. break

俺ならreturnする
0971デフォルトの名無しさん
垢版 |
2019/07/24(水) 11:56:29.23ID:rb/ir+1u
>>970
っ 先頭に「.」を足しても 【複数の連続半角スペースは1ツにまとめられてしまう仕様】
ネスト具合がわけわかめだから
かきなおしてくれくれ
0972デフォルトの名無しさん
垢版 |
2019/07/24(水) 18:39:45.01ID:fE34+TSw
初心者で質問です。
以下の処理を行うプログラムを作成してください。

数値リストの値を集計するプログラム:
5、3、12、8、2の要素からなるリストを作成する
集計結果を記録する変数sumに0を代入する
for文を使ってリストの要素を1つずつsumに加える
sumの値を表示する
実行結果は以下になります。
30

僕の考え
a=[5, 3, 12, 8, 2]
sum=0
for n in a:
sum+=n
print(sum)
_________________結果
5
8
20
28
30

質問 僕は30だけにしたいんですけど、どうすればいいですか?
for文を使うのは必須でお願いします
0974デフォルトの名無しさん
垢版 |
2019/07/24(水) 18:50:38.91ID:fE34+TSw
>>973
ありがとうございます!
0976デフォルトの名無しさん
垢版 |
2019/07/24(水) 19:02:14.69ID:MHoYVD3K
for文とif文を組み合わせて、2から10の範囲の偶数を表示するプログラムを作成してください。
実行結果は以下になります。
2
4
6
8
10
ヒント
数値の範囲は1から10までとし、繰り返し処理の中で「値が偶数なら表示する」という条件分岐の処理を行います。

for n in range(1 ,11):
if n%2==0:
else:
から手も足も出ません。。。誰かご教授お願いします
0978デフォルトの名無しさん
垢版 |
2019/07/24(水) 19:17:36.78ID:MHoYVD3K
>>977
偶数だけを抽出したいんでふけど、そのままやったら奇数も含まれるのでは?たしかにエルスは要らないですね。
0980デフォルトの名無しさん
垢版 |
2019/07/24(水) 19:33:52.09ID:fE34+TSw
僕の大学でcountを使わないで文字を数える考察問題が出たんですけど、そんなことできますかね?

[考察チャレンジ問題]キーボードから入力された文字列の中にaが何文字あるかを、countメソッドを使わずに数えるプログラムを作りなさい。
(正解の実行例)
文字列を入力:abcadeagf
3

僕の考え

a=input('文字列を入力:')
b=list(a)
for n in b:
if n=='a':
print(len(n))

どこが間違ってますかね?
0983デフォルトの名無しさん
垢版 |
2019/07/24(水) 20:35:52.74ID:rb/ir+1u
>>985 次スレよろすく
禿BBだと、このホストではー(ryされるは

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

本文は>>984
0984デフォルトの名無しさん
垢版 |
2019/07/24(水) 20:36:55.41ID:rb/ir+1u
当スレに★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/

次スレは >>985 あたりが挑戦してくだしあ。

### END OF 天麩羅 ###
0985デフォルトの名無しさん
垢版 |
2019/07/24(水) 21:00:02.78ID:d1IM+Tl+
sum(map(lambda c: 1 if c is 'a' else 0, 'abcadeagf'))
0986デフォルトの名無しさん
垢版 |
2019/07/24(水) 21:36:14.14ID:/HKiGEdd
>>980
str = "abcadeagf"
i  = 0
for char in list(str):
  if char == 'a':
    i += 1
print(i)

collect_a = ["dummy" for char in list(str) if char == 'a']
print(len( collect_a ))

全角空白を半角空白2つに置換して実行してみな
0988デフォルトの名無しさん
垢版 |
2019/07/24(水) 21:58:55.37ID:/HKiGEdd
>>980
最終行のprint(len(n)) は常に1と評価され
ifの条件を3階通過するから3回1が出る

abnの変数名を変えたほうが分かりやすい
a => caught_line, b=>string, n=>char
char が1文字を意味する言葉でstringはその集まりの複数形だから
print(len(char))は1になるのが変数名で判る
0989デフォルトの名無しさん
垢版 |
2019/07/24(水) 22:18:22.66ID:cgEKbBDA
>>988
なるほど。
list(str):
  if char == 'a':
print(i)
だと、
a
a
a
ですよね?
これをリスト化して
[a a a]
0990デフォルトの名無しさん
垢版 |
2019/07/24(水) 22:19:39.40ID:cgEKbBDA
>>989
には変換出来ない感じですか?
あとi+=1をi=i+1にしないのはなにか理由があるから?
0991デフォルトの名無しさん
垢版 |
2019/07/24(水) 22:22:35.01ID:rb/ir+1u
【複数の連続半角スペースは1ツにまとめられてしまう5chの仕様】 に注意な

>>989 うん、その発想でも解けるな

>>990
>i+=1をi=i+1にしないのは
PEP8 で ぐぐってみそそ
0993デフォルトの名無しさん
垢版 |
2019/07/24(水) 23:13:56.71ID:/HKiGEdd
>>990
説明用のコードだったから明瞭にするための "DAMMY" だった
そこを 'a' とかにすればもちろん
['a', 'a', 'a']を得られる

両辺に同じ変数を書くより多くの情報が += にはこもっている
左から読んでいくから i += のところまで読んで
それはインクリメントするための文だとわかる
両方に書くのは全体を読んでみるまで分からない
早く読める形式じゃないと、保守性が下がり将来の大きなコードで読みにくい
0995デフォルトの名無しさん
垢版 |
2019/07/25(木) 00:44:45.47ID:D8pzUtDE
>>994
無くても回るけど
print(list(str))
のようなことやれば
charの集まりであることが協調される

文字列型からの暗黙のキャストみたいなのは
勉強の初めの時は考えなくていいコードのほうが
一度に覚える負担が少ない
0997デフォルトの名無しさん
垢版 |
2019/07/25(木) 01:04:35.20ID:D8pzUtDE
python 固有だから
あまりそこに集中させたくないんだよね
>>980
を見てもらうと
そこより別のもっと致命的なことに集中して学ぶ必要がある
だから変える必要がないってのと

あと他の言語では流動性のあるシーケンス型じゃないものもある
となればやはり1文字ごとに処理していくアイデアは悪くない
だからそのままlist
0998デフォルトの名無しさん
垢版 |
2019/07/25(木) 02:15:05.44ID:muDuQw8n
>>980
import re
print(len(re.findall('a', input('文字列を入力:'))))
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 99日 10時間 36分 45秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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