X



くだすれPython(超初心者用) その47【Ruby禁止】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2020/03/07(土) 00:40:52.77ID:k5ibAr7h
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

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

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
  スクショをImgur等にう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(超初心者用) その46【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
0003デフォルトの名無しさん
垢版 |
2020/03/07(土) 15:35:33.23ID:wIEefnRe
粘着w
0004デフォルトの名無しさん
垢版 |
2020/03/07(土) 19:01:00.98ID:RZgTMQsN
test
0005デフォルトの名無しさん
垢版 |
2020/03/07(土) 20:09:44.29ID:b5CwloCp
・          ,,..--―-、
         /, -----、.ヽ,      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         |  i_,,,,_  __゙l |     /  世界、糞スレ発見!
         ,!、i'゙-‐-: '-、|/    |    >>1はボッシュート!
        /'') ..., '‐-‐、.j    /  __________
        / ,‐!::...`'''''''`ノ     ̄ ̄
      _,,,l ;! ::|ヽ、二 イ
   , -‐'゙゛ i::..  | .ヽ/;ヽj!`‐-、_
   l     ノ::. .:|、 .ヽ,:ヽ|  <゛~ヽ、
  ,:''`` ''"゙.|;;:‐''゙|.ヽ、 ヽ;::|  /  .|゙l
  ,:     ヽ::il;;!  ヽ、ヽ| /   | :|
  i    o゚ :`;''゙     ヽ| /   | .|
  i   ..:::::,:::'::::: .      |゚    |,,;:->、
  `.、__;;/:::::::::: :     |    !''"  |
     i  ::.:::: :       |    |   .|  
       ⌒ ⌒ ⌒ シュルルル
     __⌒ ⌒ ⌒__
    /::::::::::Λ_Λ::::::::::::::::::/
    /::::::::::(∩;´Д`)∩:::::::/  チャラッチャラッチャーン
   /::::::::::::(  >>1 /:::::/
0006デフォルトの名無しさん
垢版 |
2020/03/07(土) 20:45:15.55ID:Sj9rVMKL
スマートpythonプログラミングの、著者である モミジアメ先生の新刊キター
TCP IP本

python関係ないけど
Kindle unlimited入ってる奴は読んどけよ
スマートpythonプログラミングは2についてけっこう尺取られてちょっと古くなった感はあるけど良書
0008デフォルトの名無しさん
垢版 |
2020/03/09(月) 21:31:08.07ID:lMlUpD8p
めっちゃ長い文をfor文使って書いた場合と使わずにベタ書きで書いた場合でどれくらい速度比出ますか?
0010デフォルトの名無しさん
垢版 |
2020/03/09(月) 22:14:29.44ID:ajCpPJPb
今どきFor文のベタ書きとか考えなくていい
適切なライブラリを使う方がよほど早くなる
とくにライブラリが速いCで書かれてる場合
0011デフォルトの名無しさん
垢版 |
2020/03/09(月) 22:36:25.86ID:lMlUpD8p
>>9
timeitの使い方がよくわからないんですよね…
%timeitっていうのは、Jupyterを使った場合の処理ですか?
>>10
そうなんですか?
とにかく今はめっちゃ遅いので何とかしたいです
リスト内包表記を試したり、ネットで拾える情報は結構試したんですが速くならないです
0012デフォルトの名無しさん
垢版 |
2020/03/09(月) 22:44:56.34ID:ajCpPJPb
>>11
先に疑うべきことはたくさんある
無駄なループを作ってないかとか

機械学習とか重い処理をする場合
ハードを増設する必要があるとか
0015デフォルトの名無しさん
垢版 |
2020/03/10(火) 00:27:33.98ID:bus7JDt5
ケースバイケースなんで
その質問では解決する前にお前の寿命が来るかプログラムに飽きる
0016デフォルトの名無しさん
垢版 |
2020/03/10(火) 02:05:18.11ID:nFDPxvbU
>>11
Pythonを使ってる時点でループのアンロールとかほとんど意味がないと思う
オブジェクトやライブラリをあれこれしてないようなコードなら、Cythonにするとかで100倍ぐらい速くなる場合はあるけれど、
Pythonオブジェクト、ライブラリを結局は呼んでるのだったらそこが律速で速くならないかも
0017デフォルトの名無しさん
垢版 |
2020/03/10(火) 04:10:20.59ID:/bE8vLVb
線形探索してるとか?
例えば、百万件の中に無いデータを線形探索すると、すべてを見るまで分からないので、百万回。
O(N)

一方、検索インデックス・辞書を使うと、百万件の中に無いデータが、瞬時に分かる。
O(1)

SQL では、B+tree で2分探索。O(logN)
2 ^ 10 = 千
2 ^ 20 = 百万
つまり、20回で分かる
0018デフォルトの名無しさん
垢版 |
2020/03/10(火) 04:16:12.65ID:3BlP5Izm
言語やアルゴリズム等で短縮できる
計算時間の方が圧倒的に大きいから
Forのベタ書きは考えなくていいぞ
0019デフォルトの名無しさん
垢版 |
2020/03/10(火) 09:56:51.57ID:QtRN/SQw
とはいえPythonはC, Java, C#あたりの速い言語グループと比較して2桁遅いので、
アルゴリズムの改善をいくら頑張っても速い言語の何も考えてないバカループにすら勝てないケースが多い
コアでない箇所でアルゴリズムを工夫することを頻繁に迫られるようなら、Pythonを使うこと自体を考え直したほうがいいかも
0021デフォルトの名無しさん
垢版 |
2020/03/10(火) 18:07:19.08ID:OITv6FOp
機械語じゃないから当然
0023デフォルトの名無しさん
垢版 |
2020/03/10(火) 19:59:11.58ID:RoiJALPR
競技プログラミングってプログラミングの速度を競うのかと思ってたけど、プログラムの速度か
0024デフォルトの名無しさん
垢版 |
2020/03/10(火) 20:01:47.21ID:yxLEcfJ6
>>23
両方
問題ごとにプログラムの実行時間に制限がある
その時間に収まるように他の人より速くプログラム作れたらポイント高くなる
0025デフォルトの名無しさん
垢版 |
2020/03/14(土) 10:37:29.33ID:WJJSMSr5
リスト内表記について質問なんですが
こういう代入はリスト内表記はあきらめて普通のforにしないといけないんでしょうか?
それともほかにリスト内表記する方法があったら教えてください

v=[1,2,3]
[c=c+1 for c in v if c==1]
0026デフォルトの名無しさん
垢版 |
2020/03/14(土) 11:11:58.61ID:+zKDV3tO
ないだろ。
副作用欲しいなら、for文か無理やり関数でやるしかない。
def func(x): global y; y = x + 1; return y
[func(c) for c in v if c==1]
0027デフォルトの名無しさん
垢版 |
2020/03/14(土) 11:27:00.67ID:WJJSMSr5
>>26
ありがとうございます
無いんですね
副作用は怖いので普通に書き下しします
0030デフォルトの名無しさん
垢版 |
2020/03/14(土) 12:33:03.26ID:XTUayws2
numpyとかpandas使えばもう少し気持ち良い描き方がある
0032デフォルトの名無しさん
垢版 |
2020/03/14(土) 17:59:18.44ID:ILPzjwAA
>>27
>副作用は怖いので普通に書き下しします
プログラミングにおける副作用の意味をググったほうがいいかも

リスト内包表記に書けるのはexpressionのみ
代入はstatementなのでエラーになる (3.8で導入されたassignment expression(:=)は可)
副作用のための処理は内包表記ではなくfor文を使うのが原則

無理やりやればできなくもないがデメリットしかない
v = [1,2,3]
[globals()['v'].__setitem__(i, x+1) for i, x in enumerate(v) if x == 1]
print(v) #=> [2,2,3]
0033デフォルトの名無しさん
垢版 |
2020/03/14(土) 19:21:24.85ID:jpfF5Ox9
>>25
これってもともとのやりたい事は
特定の値の個数を求めること?
0034デフォルトの名無しさん
垢版 |
2020/03/14(土) 22:22:03.48ID:fCAYl0fu
pip install A で実行できるようになるコマンドA
pip install B で実行できるようになるコマンドB
があって、パッケージAの依存パッケージがprogressbar、パッケージBがprogressbar2のため(どちらもimport progressbarなので)progressbar2をimportしたい方のパッケージBがprogressbarをインポートしてしまってコマンドBがエラーになってしまいます

こういう場合はコマンドA用とコマンドB用で仮想環境を分けて使うものなのでしょうか?
いちいちコマンドを実行するごとに仮想環境を切り替えるのは面倒な気がするのですが、例えば、コマンドA用とB用それぞれにバッチファイル等を作って、仮想環境の切り替えとコマンドの実行を一つのコマンドで実行できるようにしたりするのが一般的ですか?
オススメのやり方があれば教えてください
0035デフォルトの名無しさん
垢版 |
2020/03/14(土) 22:59:23.51ID:c0o9KEoN
>>34
おらはバッチ切替派だが
その前におまえ1嫁や
Windowsだけがせかいのすべてだとおもうなよ
0038デフォルトの名無しさん
垢版 |
2020/03/15(日) 00:52:51.57ID:DV1gyHVd
macでtkinterがimportエラーでて解決できなくて泣きそうやわ
ウェブで解決策が色々あるがどれもうまくいかへん
tkinter以外のGUIパッケージでフォルダダイアログだけ呼び出せるのある?
wxはウィンドウ用のクラス作らんとあかんしQtやsimpleはtkinter依存やし
Eelめっちゃええやん!からのpythonのGUI環境はマジクソ!←いまここ
0039デフォルトの名無しさん
垢版 |
2020/03/15(日) 01:01:35.73ID:S82Gach3
>>37
Atomって何だ?おもちゃか?
0040デフォルトの名無しさん
垢版 |
2020/03/15(日) 01:34:08.16ID:ek1F76QN
MacならMS製なのがネックで未だにVSCodeに移行してない根強いAtom使いも一部いるかもしれないが、
WindowsならもうAtom使ってる奴なんてほぼいないんじゃね
0041デフォルトの名無しさん
垢版 |
2020/03/15(日) 01:42:21.70ID:DV1gyHVd
いや逆やろ
WindowsはVSという最強かつ世界最高のデバッガを搭載したIDEがあるからわざわざVSCode使う必要性がない
逆にMacやLinuxはまともなモダンエディタがSublimeやAtomくらいしかないからVSCodeが圧倒的
今時SublimeやAtom使ってるのなんて意固地で勘違いしたやつくらいやな
0042デフォルトの名無しさん
垢版 |
2020/03/15(日) 02:37:23.76ID:S82Gach3
あん?このAtomってエディタの話だったのか?
OSのシェアがどうたらの文脈だからプロセッサの話だと思った
0043デフォルトの名無しさん
垢版 |
2020/03/15(日) 03:48:08.37ID:7lggs81n
素人はともかくプロ開発者におけるOSシェアは
Mac+Linux > Windows

デスクトップOSシェア(StackOverflow Developer Survey 2019)
プロ開発者: Windows 45%, Mac 30%, Linux 25%
素人開発者: Windows 58%, Mac 15%, Linux 27%

開発環境のOSシェア(Python Developer Survey 2018:複数回答可)
Linux 69%, Windows 47%, MacOS 32%, BSD 1%
0044デフォルトの名無しさん
垢版 |
2020/03/15(日) 04:02:17.63ID:QjO8odR4
LinuxやMacで開発している現場なんて見たことない
開発用PCはWindowsがデフォでしょ
0045デフォルトの名無しさん
垢版 |
2020/03/15(日) 04:34:34.23ID:gNXlAxhx
俺は受託オンリーやけど元請けの素人どもはWindowsやけど実際に開発してるチームメンバーは全員Macやなー
ウェブやアプリの場合やけど.NET環境の業務システムはVS必須やからWindowsやけどそらそうよ
0046デフォルトの名無しさん
垢版 |
2020/03/15(日) 10:14:23.99ID:b9Qsc7j/
Ruby でも、Windows 版Docker ではバグるから、仮想OS でLinux で開発する。
本番環境に一番近いのが、Linux

今までは、Windowsでは、MSYS2/MINGW だが、日本語でバグるから皆、Mac を使っていた

ようやく最近、Windows 10, WSL, Linux で、VSCode の拡張機能、Remote WSLが出たから、
Windows 10, WSL, Linux でも出来るようになった。
WSLでは、日本語でもバグらない

これで次第に、Macから、Windowsへ戻ってくるはず。
でも、完全な互換性は、直接Linuxを使う
0048デフォルトの名無しさん
垢版 |
2020/03/15(日) 10:31:59.34ID:35ngHCek
サーバーに合わせてLinuxにするのは分かるがMacはマジで意味わからん。副業でiOSアプリ作るからか?
004946
垢版 |
2020/03/15(日) 11:21:36.97ID:b9Qsc7j/
Ruby では、Windows の開発者は、WSL が出るまでは、いなかった。
Windows, MSYS2/MINGW だと、日本語でバグるから皆、Mac を使っていた

さらに、Windows版Docker でもバグるから、
Windowsでは、仮想OS でLinux しか出来なかった
0051デフォルトの名無しさん
垢版 |
2020/03/15(日) 12:26:18.38ID:0qHq2F5s
Rubyくんお友達居なそう…
0054デフォルトの名無しさん
垢版 |
2020/03/15(日) 14:45:35.84ID:tvz/ROTF
Docker のコンテナ名がコンフリクトする時はどうすればいいですか?
$docker container ps
しても動いてるコンテナないんですけど
0055デフォルトの名無しさん
垢版 |
2020/03/15(日) 17:19:22.17ID:U43dmARa
やっぱり具体的に作りたいものがないのに0から勉強するのは脳が拒否反応を起こすなぁ
VBAをやってる時は実利に直結するからあれこれやるのも苦ではなかったが……
0056デフォルトの名無しさん
垢版 |
2020/03/15(日) 17:39:01.32ID:WBXETDOG
>>48
>>50な理由とか
2系までだったころは、Macにデフォルトで入ってるからとか
デフォルトフォントがMacのほうがきれいだとか
予算余ってるからとか
カコイイからとか
かこいいからとか
本体価格が高級だからとか
そんな理由
あとおまけで52も言ってる文字コードの都合
0058デフォルトの名無しさん
垢版 |
2020/03/15(日) 17:54:33.53ID:gNXlAxhx
>>55
自宅プログラミングしない奴の言い訳まんまで草www
そもそもプログラミング好きじゃない奴がプログラマーしてることが数ある不幸なプロジェクトの原因なんよね
学習も研鑽もしないから同じ環境でしか開発できないVBAおじを量産してしまう
俺のように楽に結果が得られるならなんでもいいからもっとええのないんか?と楽しみつつ学習してるといつの間にかC++、C#からTypeScript、Pythonまでフロントもバックエンドもなんでもござれのフルスタックの完成なんよ
005934
垢版 |
2020/03/15(日) 18:09:49.98ID:ae7hHOBm
>>35
ありがとう&ごめんなさい
OS関係ない話かと思って...てへぺろ
0060デフォルトの名無しさん
垢版 |
2020/03/15(日) 20:07:39.50ID:1/DFOu+E
>>46
>本番環境に一番近いのが、Linux
そうそう

サーバが圧倒的にLinuxだからね
でもWindows10のことも書いてて
わりと良いレスだと思う
0061デフォルトの名無しさん
垢版 |
2020/03/15(日) 20:09:09.03ID:1/DFOu+E
>>55
>具体的に作りたいもの
実感としてそれは大事だね!

今のPythonブームで言えばAIや機械学習が
したいから学ぶっていう人が一番多いかな?
0062デフォルトの名無しさん
垢版 |
2020/03/15(日) 22:20:35.94ID:6KRsgpGp
スクレイピングとエロ画像の自動収集くらいしかやってね―わ
それが一番プライベートの時間の節約に役立つしな
0063デフォルトの名無しさん
垢版 |
2020/03/16(月) 01:42:32.64ID:+IrHqAFl
楽に結果を得る方法を求めて他人より何倍も苦労する訳ですね
0064デフォルトの名無しさん
垢版 |
2020/03/16(月) 06:17:37.04ID:IojLJcYy
苦労なんて発想しかできない脳みそだから低レベルなままなんだって判断できない時点で終わってるってわかんね
好きなら努力が努力じゃないんだからそりゃ差が生まれるに決まってますわ
0066デフォルトの名無しさん
垢版 |
2020/03/16(月) 12:57:20.59ID:L7QaMGTS
苦労というよりは、単純作業を繰り返したくないから単純作業と自動化で同じくらいの時間がかかるなら自動化していくうちに勝手に覚えるって感じだな
まあ自動化しやすいものを偶々日常的に扱っていることが多いというのが有利に働いていると思うが
0067デフォルトの名無しさん
垢版 |
2020/03/16(月) 14:23:07.31ID:90R/wZVM
質問です

a=[
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]]

b=[100,200,300]
があるとして(中身の数字は適当です)
a[0,3]=b[0]
a[1,3]=b[1]
a[2,3]=b[2]
というように縦に一部だけ変数を入力するのに
カッコいい方法を教えてください
0068デフォルトの名無しさん
垢版 |
2020/03/16(月) 14:44:13.21ID:IaZ60aJs
>>67
a[0,3]=b[0]
TypeError: list indices must be integers or slices, not tuple

zip使え
0069デフォルトの名無しさん
垢版 |
2020/03/16(月) 15:11:20.17ID:90R/wZVM
>>68
間違えました、すいませんorz
a[0][3]ですorz
zip使います
ありがとうございます
0070デフォルトの名無しさん
垢版 |
2020/03/16(月) 15:24:43.89ID:05pyWuEB
>>69
>>> a=[
... [1,2,3],
... [4,5,6],
... [7,8,9],
... [10,11,12]]
>>> a[0][3]=100
IndexError: list assignment index out of range
0071デフォルトの名無しさん
垢版 |
2020/03/16(月) 15:30:10.53ID:vjCDcJeV
深いリストをフラットにするのは何?
[1, [2, 3], 4]

[3, 4, 2, 1] # 結果の順番はどうでもいい
0072デフォルトの名無しさん
垢版 |
2020/03/16(月) 15:30:38.40ID:D64H19Ci
numpy使わないなら普通にfor文使うケース
縦(column wise)にデータを取り出したいだけならlist comprehension
zip(*list)はtransposeしたい場合に使う

#numpy
a = np.array(np.arange(1, 13)).reshape([4,3])
b = [100, 200, 300, 400]
a[:,2] = b
0073デフォルトの名無しさん
垢版 |
2020/03/16(月) 15:36:25.65ID:I/DM6IO+
>>71
その例だとまったく深くないんだがw
「リスト フラット Python」あたりでぐぐれ
ちな
「リストをフラットにする作業」を英語で「flatten」っていうっぽいので
日本語使った検索で気に入る結果が出ないなら
「flatten python」みたいにしてぐぐれ
0076デフォルトの名無しさん
垢版 |
2020/03/16(月) 18:22:58.39ID:3OE3knP8
>>71
a=[1, [2, [3]], 4]
b=[int(x.strip('[ ]')) for x in str(a).split(',')]
print(b)
0078デフォルトの名無しさん
垢版 |
2020/03/16(月) 21:03:18.68ID:IaZ60aJs
for n, m in zip(a, b): n[2] = m
0079デフォルトの名無しさん
垢版 |
2020/03/16(月) 21:37:30.23ID:c9Tv/g5u
>>67
import numpy as np
a=np.array(a)
b=np.array(b)
a[:,2]=b
0080デフォルトの名無しさん
垢版 |
2020/03/17(火) 23:41:42.42ID:Cz6mauRR
plt.subplot(1, 2, 1)
plt.title('test1 score')
plt.subplot(1, 2, 2)
plt.title('test2 score')

みたいにサブプロットのグラフ毎にタイトルをつけたあとに
サブプロット1,2共通のタイトルNameを最上段、真ん中に表示させたいんですが、
なにかいい方法無いでしょうか?

       Name
test1 score test2 score
graph1 graph2

みたいな感じです。
0083デフォルトの名無しさん
垢版 |
2020/03/17(火) 23:52:06.60ID:A6c/ap2m
ねぎ式? タンブラー@ohtsuka
パートナーさんとの面談で、同僚が「ぴとんも出来るの?
ぴとん」とか言っていたのでなんだそりゃと思っていたらPythonだった。
恥ずかしのでやめて欲しい。
0086デフォルトの名無しさん
垢版 |
2020/03/18(水) 11:54:23.20ID:ita97idO
plt.gcf().text()
0088デフォルトの名無しさん
垢版 |
2020/03/19(木) 09:44:17.72ID:88W4vwJ+
オブジェクト指向の勉強してるのですが、外部から新規プロパティ作れるのって何に使うんですか?

class Test:
__def __init__(self):
____self.x=1
____self.y=2

__def calc(self):
____print(self.x+self.y)

test = Tset()
test.z = 3
とかできますが、クラス作成時に言及されてない新規プロパティを使うのはどういう時ですか?
0089デフォルトの名無しさん
垢版 |
2020/03/19(木) 09:58:33.44ID:TVS3Wm7/
>>88
使わない、というか基本的に使ってはいけない
Pythonのオブジェクトシステムの実装上たまたま可能なだけで、あえて可能にしてある訳ではない
0091デフォルトの名無しさん
垢版 |
2020/03/19(木) 10:29:34.43ID:iYhmmwGq
え、やったらあかんかったんか。こんなん出来て便利やわ、とずっと使ってたわ……
import socket
socket.socket.is_alive = lambda self: not select.select([self], [], [], 0)[0]
0094デフォルトの名無しさん
垢版 |
2020/03/19(木) 21:32:55.80ID:DGCbzdzB
>>88
Pythonは他と言語と違いゆとり用言語だからゆとりのための機能は活用したほうが良いだろ
派生で新規プロパティ追加するのめんどーくさい、で、その場でサクッと追加できるってゆとりには超便利だろ
0097デフォルトの名無しさん
垢版 |
2020/03/20(金) 11:06:06.72ID:nAHhYb7g
rubyも出来るな
むしろ推奨されてる
010091
垢版 |
2020/03/20(金) 12:36:56.62ID:b0uFXDo7
>>93
分かってる、それが正当なのは分かってる。将来socketやsslが改版される度に衝突してない確認しにゃきゃならんのも分かってる
けど、socket.socketに追加すればそれだけでssl.SSLSocketでも使えるし、ssl.wrap_socketやssl.create_default_contextみたいな便利関数もそのまま使えるし
派生クラスを作るとこのあたりが圧倒的に不便
もちろん引数にsocket.socket / ssl.SSLSocketをとる独立した関数を作ってもいいけど、あるオブジェクトの状態を問い合わせる機能はそのオブジェクトにメソッドとして持たせるほうが自然だし
010191
垢版 |
2020/03/20(金) 12:58:10.42ID:b0uFXDo7
えーと、ごちゃごちゃ続けて済まない
要は、「正当でない」「元のクラスの改版で衝突するかも」以外に、なんか実装の仕組みとか言語の根本思想とかに関わる「やったら駄目な理由」があるんなら知りたいんだ
0103デフォルトの名無しさん
垢版 |
2020/03/20(金) 14:28:59.42ID:kntGyf5L
衝突するかもが一番の理由だろ
使い捨てスクリプトなら好きにすればいいんじゃね
0104デフォルトの名無しさん
垢版 |
2020/03/20(金) 15:00:32.24ID:TN4YnPAe
近代的なPythonプログラミングにおける一番の問題は静的型検査の能力が損なわれることだろう
VSCodeで補完できないし型チェッカー使ったらエラーになる
0105デフォルトの名無しさん
垢版 |
2020/03/20(金) 17:35:32.53ID:SlgH3d1t
型チェッカーに詳しくないけど、ダックタイプなのに拡張プロパティが付いただけでエラーになるの?
0106デフォルトの名無しさん
垢版 |
2020/03/20(金) 19:03:53.38ID:Dd0Ob2sq
そりゃ型に存在しないメンバにアクセスしようとしてんだから正真正銘エラーだよ
0107デフォルトの名無しさん
垢版 |
2020/03/21(土) 14:39:02.75ID:OHw8xLXD
凄い長いループ文の最後に取得したい値があるとして
ループの最初にp=[]するんですが最後のと距離が離れすぎてて
忘れそうor間違えて消しそうですが
p = []なしで値を集める方法ってありますか?

p = []
for v in vals:
____この間凄い長い
___p.append(s)
0108デフォルトの名無しさん
垢版 |
2020/03/21(土) 15:07:52.37ID:vy0ghyqx
p = [ hage(v) for v in vals ]

def hage(v):
____# この間すごい長い処理
____return s

これはだめなの?
0109デフォルトの名無しさん
垢版 |
2020/03/21(土) 15:35:23.73ID:GhGCMtBr
p = vals.apply(hage)
0110デフォルトの名無しさん
垢版 |
2020/03/21(土) 15:36:06.43ID:GhGCMtBr
p = list(map(hage, vals))
または
p = map(hage, vals)
0111デフォルトの名無しさん
垢版 |
2020/03/21(土) 15:38:22.43ID:GhGCMtBr
p = list(map(hage, vals))
または
p = map(hage, vals)
0115デフォルトの名無しさん
垢版 |
2020/03/21(土) 19:27:49.61ID:zSmIYZQj
C言語を触ってて今日からPythonを見始めたけど、クラスだメソッドだインスタンスだ横文字だらけで説明されてさっぱりだ🤔
0116デフォルトの名無しさん
垢版 |
2020/03/21(土) 19:55:22.12ID:dPG/PKsY
>>115
Cができるなら新たな言語を学ぶ必要はないぞ
特にオブジェクト指向は学習コストに比して実効果が割に合わないしな
0117デフォルトの名無しさん
垢版 |
2020/03/21(土) 20:07:30.13ID:9uGouKad
>>115
オブジェクト指向を覚えるのは
(Cでの構造化)プログラミングを覚えるのと
同じかそれ以上に時間かかるが
学んだだけの効果は出るはず
正しく学べればだけど
0120デフォルトの名無しさん
垢版 |
2020/03/21(土) 22:09:25.43ID:q0JXMky4
>>115
Pythonをやる前にC++をやった方が良いな
Cできる奴はすごい奴が普通だからC++はたいして難儀しないで習得できるだろ
で、C++後、Pythonをやるとあっという間に覚えられるだろ
0122デフォルトの名無しさん
垢版 |
2020/03/21(土) 22:58:28.19ID:Ex88LOVb
Javaは論外
C++はやりたければやっても良いが
おすすめは C → C# → Python
0123107
垢版 |
2020/03/22(日) 00:05:14.38ID:N8kSP/ah
皆さんありがとうございます
そもそもdefにすべきだったんですね
せいとんして頑張ってみます
0125デフォルトの名無しさん
垢版 |
2020/03/22(日) 04:34:16.29ID:MsuEDB7g
仕事で目にするPythonコードってただ一本調子でデータを加工するだけで
オブシコどころか階層化プログラミングすら怪しいのが多いわ
コピペも多いし、ぶっちゃけCOBOLレベル
0128デフォルトの名無しさん
垢版 |
2020/03/22(日) 07:02:48.03ID:ZXA28Lms
>>121
そう簡単だよ
そしてたいていの言語はC++よりは簡単

>>122
JavaはC#より開発現場で使われてるからな
言語仕様は後発のC#の方がモダンだが

C → C# → Python
その言語の中ではPythonが一番易しいから
Pythonから始めるのがオススメ
0130デフォルトの名無しさん
垢版 |
2020/03/22(日) 08:40:06.41ID:+zhuPTS1
>>129
それはその通り
でPythonはメジャーな言語の中では比較的コード自体に興味がなくて目的を達成できさえすればよいと考えるタイプの人が多い
まあ、だからこそ収入も高い傾向があるんだけどね
0131デフォルトの名無しさん
垢版 |
2020/03/22(日) 10:10:27.02ID:CQOUf5Rv
>>125
これは同感
良くも悪くもそういう用途にフィットした言語

オブジェクト指向をpythonで勉強しましたってやつにはロクなのがいない
0132デフォルトの名無しさん
垢版 |
2020/03/22(日) 10:55:10.34ID:E2r2YkBt
>>125
一本調子でデータを加工するだけの処理だからpythonでササっと書いてるのでは?
単に目的に合った選択をしているだけの様に思えるが
0133デフォルトの名無しさん
垢版 |
2020/03/22(日) 11:20:43.58ID:nmqMfNjC
コボル人(こぼるど)ばかにすんなよw
そろそろコボルのXデー近づいてるから
CやPythonに書き換えるお仕事わいてきてるはずなんだからー
0134デフォルトの名無しさん
垢版 |
2020/03/22(日) 12:29:39.70ID:F4lre3ad
matplotlib pyplot とか使うとオブジェクト指向に出来なくて(出来なくはないけど)
適当に描いてるうちにダラダラしてしまうことが多いのは事実
だが意識他界系の人なら綺麗なコードになる
0135デフォルトの名無しさん
垢版 |
2020/03/22(日) 12:30:59.32ID:F4lre3ad
あと Blender の python も気付くとダラダラしてしまってる
気を付けないとな
0136デフォルトの名無しさん
垢版 |
2020/03/22(日) 13:41:56.02ID:ZvBqcowf
バッチ処理みたいなものをわざわざオブジェクト指向丸出しで書く奴のがあほだわ。
関数型にこだわる方がまだマシ。(どっちも度が過ぎるとあほだが)
0138デフォルトの名無しさん
垢版 |
2020/03/22(日) 14:01:19.29ID:Kdd1oU3M
ITの巨大掲示板群 ttp://x0000.net
(アルファ・ラボ|学術掲示板群)
0139デフォルトの名無しさん
垢版 |
2020/03/22(日) 14:24:43.15ID:2vh8Rzak
つーかその場でササッと書いて動かしてナンボのやっすい言語で
いちいちクラス設計するのは本末転倒だわ
Pythonにはオブジェクト指向は似合わない
0142デフォルトの名無しさん
垢版 |
2020/03/22(日) 14:37:14.93ID:gZZd+KZ5
>>136
いうても関数型プログラミングのサポートしょぼいからな
結局昔ながらの手続き型がもっともPythonに合ってる
0143デフォルトの名無しさん
垢版 |
2020/03/22(日) 14:43:27.89ID:InwIdT4/
関数型って何だろうと思ってHaskellいじってみたけど、頑張って再帰関数で処理する事を考えるプレイとまでしか思えなかった
0144デフォルトの名無しさん
垢版 |
2020/03/22(日) 14:49:10.52ID:VphPQW8g
大抵の再帰処理はlispの時代に出尽くした
あとはそれの応用、というか真似るだけ

正規表現だって人類に必要なやつの80%はperlの時代に出尽くした
あとは考える必要はない、探して真似るだけ
0145デフォルトの名無しさん
垢版 |
2020/03/22(日) 15:25:09.14ID:jnVmWLvn
>>143
変に複雑に考えんでも、参照透過性、副作用させないってことを意識したプログラムって
考えればええわ。(そもそも lisp, erlang, haskell, その他色々でも捉え方は違うし)
それによってデバッグしやすくなったりパイプライン処理やブロードキャスト処理が
しやすくなるってことくらい押さえとけばよし。
0146デフォルトの名無しさん
垢版 |
2020/03/22(日) 17:42:34.15ID:uitKMHee
すごくアホな質問だとおもうのですが

def df=input_data()
def df1=analyze1(df)
def df2=analyze2(df1)
.
.
.
def df10=analyze10(df9)

def draw_graph(df10)

みたいにテキストファイルからdfにデータ読み込み
10個ぐらい解析処理
df10でグラフを描写

みたいなプログラムを書きました。
0147デフォルトの名無しさん
垢版 |
2020/03/22(日) 17:45:46.53ID:VphPQW8g
df0からdf10まで11個あるんだろ
次はdf100までちゃんと書くんだぞ
コピペすれば早く終わるからな
0149デフォルトの名無しさん
垢版 |
2020/03/22(日) 17:59:05.59ID:uitKMHee
すごくアホな質問だとおもうのですが

df=input_data()
df1=analyze1(df)
df2=analyze2(df1)
.
.
.
df10=analyze10(df9)

draw_graph(df10)

みたいにテキストファイルからdfにデータ読み込み
10個ぐらい解析処理
df10でグラフを描写

みたいなプログラムを書きました。
ここまではうまく行ったのですが、
データ決定→グラフ描写
を1回だけでなく2回行い並べて表示させたくなりました。
0150デフォルトの名無しさん
垢版 |
2020/03/22(日) 18:01:57.87ID:uitKMHee
この場合先程の
analyze1〜analyze10
までを一つのクラスProcessDataにして2つのインスタンスABを生成して実行すればいいかと考えたのですが、

process_dataA=ProcessData
dfA=process_dataA.input_data()
.
.
.
df10A=process_dataA.analyze10(df9A)
process_dataA.draw_graph(df10A)

process_dataB=ProcessData
dfB=process_dataB.input_data()
.
.
.
df10B=process_dataB.analyze10(df9B)
process_dataA.draw_graph(df10B)

とインスタンスAとインスタンスBに対して全く同じ処理を行うルーチンを2度書くのがあまりに冗長な気がするのですが、なにか良い方法ないでしょうか?
0152デフォルトの名無しさん
垢版 |
2020/03/22(日) 18:28:56.90ID:I5Su+SV6
>>150
途中のdfが不要なら上書きしていけばいい
Pandas使うときはよくやる

df = input_data()
df = analyze1(df)
df = analyze2(df)


それを関数に抽出
def analyze_data(df):
____df = analyze1(df)
____df = analyze2(df)

____return df

df = analyze_data(input_data())
draw_graph(df)

関数のリストを作ってそれを適用する方法もいろいろとあるけど
今の段階なら上の方法からやるのがいいかと
0153デフォルトの名無しさん
垢版 |
2020/03/22(日) 18:51:28.48ID:I5Su+SV6
>>152
>途中のdfが不要なら上書きしていけばいい

自分で書いといてなんだが
df = df.apply(analyze1)とかでapplyできる形でなく
全く異なる別のDataFrameを生成してるんであれば変数名は変えたほうがいいかも
0154デフォルトの名無しさん
垢版 |
2020/03/22(日) 19:17:25.89ID:bt+rsTJI
Categories > Tech > Languages (Python)
https://duckduckgo.com/bang?c=Tech&;sc=Languages+(Python)

ドキュメントの探し方
https://news.mynavi.jp/itsearch/article/devsoft/4859

>任意の機能を持った対話システムを自分で開発する場合にはどうしたらよいのでしょうか。
当然ながら、必要なモジュールは自分で探す必要があります。しかし、プログラミングを始めて間もない方の多くは、
どうやって調べたらいいかわからないのではないでしょうか?

そこで今回は、「カレンダーを表示する対話システム」の開発を想定し、
カレンダー機能の実装方法を調べていくプロセスを紹介したいと思います。
0156デフォルトの名無しさん
垢版 |
2020/03/22(日) 20:06:07.25ID:uitKMHee
>>152
なるほど
クラスにするとインスタンス生成して、ポインタ指定しなければいけないから、冗長になるけど、
あえてクラスにしないで関数にするとシンプルになりますね。

オブジェクト指向でクラスにしなければいけないと思ってたけどあまり黄にしなくていいのかなぁ。
0157デフォルトの名無しさん
垢版 |
2020/03/22(日) 20:14:11.05ID:V1WguA+k
df自体がDataflameオブジェクトのインスタンスなんだけどそんなこともわかってないのかな
0159デフォルトの名無しさん
垢版 |
2020/03/22(日) 21:23:41.12ID:ZXA28Lms
>>146
「df10」みたいに
変数名や関数名、クラス名などに
数字がつく時点で間違ってる

Pythonのまともな本の
サンプルコードでは
まずそうなってないはず
0160デフォルトの名無しさん
垢版 |
2020/03/23(月) 07:00:21.83ID:jGS2rL5b
>>156
Ruby では普通は、モジュール内にはクラスを定義するけど、
単にモジュール関数も定義できる。
例えば、my_utility.rb 内に、モジュールを定義する

module MyUtility
def my_func( 引数 )
end

module_function :my_func # 外部へ公開する
end

別のファイルで、上のモジュールを読み込んで、関数を呼び出す

require_relative "my_utility.rb"

MyUtility.my_func( 引数 )
0162デフォルトの名無しさん
垢版 |
2020/03/23(月) 08:22:42.49ID:Wiq2xD8N
Pythonって文字列部分にダブルクオートを使わずに
シングルクオートを使って書かれてるコードの方が多い気がするんですけど何か意味あるんですか?
シングルクオートのキーボードの位置って結構押しづらい位置にあるからあんまり使いたくないんですけど
0163デフォルトの名無しさん
垢版 |
2020/03/23(月) 08:26:12.90ID:1jGdZOlI
>>159
すいません。
実際の名前を書くと長くなりすぎるかと思って適当な名前をつけてしまいました。

ちなみに実験条件1、実験条件2データを
experimental_condition1
experimental_condition2
というのもあまり良くないのでしょうか?
0164デフォルトの名無しさん
垢版 |
2020/03/23(月) 08:28:16.86ID:1jGdZOlI
>>161
状態を管理するってどういう意味でしょうか?
本とかでゲームを題材に敵を量産するためにクラスを作るのはわかりやすいのですが、
数値計算とかだと、どこでクラスを使うべきかよくわからなくなります
0166デフォルトの名無しさん
垢版 |
2020/03/23(月) 08:36:28.36ID:1jGdZOlI
>>158
なるほど
関数型プログラミングとは聞いたことがありましたが、こちらの方が数値計算とかだとしっくりくるような気がしますね
0167デフォルトの名無しさん
垢版 |
2020/03/23(月) 08:36:49.58ID:AJbCMuHR
>>164
単純な数値計算は関数だけでもいい
むしろその方がスッキリする
三角関数とかに状態とかないから

ゲームの場合は状態遷移の塊で
状態を保存しておきたいから
クラスを作りインスタンスを生成する
0168デフォルトの名無しさん
垢版 |
2020/03/23(月) 08:48:04.30ID:Wiq2xD8N
>>165
ありがとうございます
そういう理由なんですね
0169デフォルトの名無しさん
垢版 |
2020/03/23(月) 14:16:09.84ID:QFUl7nfE
>>162
US-ASCII キーボード使え
0170デフォルトの名無しさん
垢版 |
2020/03/23(月) 14:18:54.80ID:QFUl7nfE
>>163
dfA とか dfB とか dfZ とか使ってる人もいる
どっちにしろ素人丸出しコードになるのでお薦めはしない
0172デフォルトの名無しさん
垢版 |
2020/03/23(月) 15:32:39.96ID:GoZ/zzdR
"..." より '...' の方が見やすいから
0174デフォルトの名無しさん
垢版 |
2020/03/23(月) 16:16:46.89ID:8qspM6DN
"""hogehoge"""
↓よりも見易いのは
↓こっちやろ
'''hogehoge'''
0176デフォルトの名無しさん
垢版 |
2020/03/23(月) 16:52:05.42ID:AJbCMuHR
>>163
(とくに二桁以上に増える可能性があるものは)
後で複雑化して大変になるから
たとえば配列を使ったりして
番号を振らないで済むようにする方が推奨できる
0181デフォルトの名無しさん
垢版 |
2020/03/23(月) 19:06:21.87ID:6kgKLG+2
>>163
テストが2つしかないと明確に決まってるなら〜one,〜twoでいいと思うけど
それがいくつになるのか解らない、もしくは多いのならリストを使って
〜[x]としたほうがスマートというか扱いやすい

変数名、関数名、クラス名に数字を使わないというのは
プログラムの作法(?)として言語を問わず普通というか当たり前
0182デフォルトの名無しさん
垢版 |
2020/03/23(月) 19:12:01.32ID:6kgKLG+2
あと、なんか知らんけどこのスレ、プログラミング自体が初めてな
感じの奴多い気がするんだけど、学生なのかね?

なんかpython選択しちゃってどうしたらいいか解らない的な
質問が多い気がする
0184デフォルトの名無しさん
垢版 |
2020/03/23(月) 19:38:36.51ID:7lDoSnDw
超初心者ってのはプログラミング自体初めてっていうヤツのことなんじゃないの
初心者に輪を掛けて超がついてんだよ
それ以外に何かいるの
0188デフォルトの名無しさん
垢版 |
2020/03/23(月) 21:28:47.12ID:qQ8i/Woj
わいRuby厨、いまからプログラミング始める学生に勧めるならもうRubyよりPythonかなって思ってたけど、お前らは最初の言語は何がいいと思ってんの?
0191デフォルトの名無しさん
垢版 |
2020/03/23(月) 21:42:04.82ID:oBNr3evO
最初ならアセンブリ。冗談じゃなく。
ほんのちょっと齧っておくだけでいい。
0195デフォルトの名無しさん
垢版 |
2020/03/23(月) 22:38:57.44ID:FCRLK915
供給過多で単価が下がるのはプロパー的にはありがたい
Pythonはコーディングスタイルを統制しやすいから低スキル層を束にして使うには向いてる
0197デフォルトの名無しさん
垢版 |
2020/03/23(月) 23:43:21.26ID:1jGdZOlI
>>167
なるほどわかりやすいです
自分はゲームとか作ることはないので、
クラスにする必要性はなかったのか・・・
C#の初心者本とか見てるとクラスにしないといけないような脅迫観念があった
0198デフォルトの名無しさん
垢版 |
2020/03/23(月) 23:50:51.99ID:1jGdZOlI
>>181
配列は自分も考えたのですが、
今回は2つまでなの確定なんですよね

before, afterの頭文字とって
DF_B, DF_A
とかしたら訳わかんなくなるんだろうな
名前決めるのって難しい
0199デフォルトの名無しさん
垢版 |
2020/03/24(火) 00:02:33.99ID:IXy5V4dp
plt.plotで2つのグラフを順番に表示させると、
1名目のグラフのウインドウを閉じないと、2枚目のグラフのウインドウが表示されないのですが、
同時に表示させる方法ってないでしょうか?
0200デフォルトの名無しさん
垢版 |
2020/03/24(火) 00:45:33.00ID:LPFDXKjv
>>195
>低スキル層
で、超ゆとり教育を激受けて脳が未発達で実質知的障碍者に近いレベルの奴が
たむろしているのが俺らのこのスレだからな。
0203デフォルトの名無しさん
垢版 |
2020/03/24(火) 15:11:22.50ID:BIkwDKwH
Pythonはプロの開発に使われることはまずない
開発以外に主眼が置かれている人工知能などは別として
プログラマの主戦場である業務系やWEB系ではまず使われない

自分自身でアイデアも実装も出すとこならPythonも可能性があるが
他者の依頼によって開発する場合にPythonが採用されることはない
0204デフォルトの名無しさん
垢版 |
2020/03/24(火) 15:27:20.82ID:JQ7YmFwi
うそは遺憾
0205デフォルトの名無しさん
垢版 |
2020/03/24(火) 15:28:42.83ID:2IImYa+R
Google「…」
0209デフォルトの名無しさん
垢版 |
2020/03/24(火) 17:40:47.85ID:BIkwDKwH
>>208
WEB系とはWEB技術を使って業務システムを作ること
オープン系の対義語
またそれらの企業は「他者の依頼によって開発」ではなくて自社開発

>>206
日本だったらこれが常識だよね
COBOL、VB、Javaが職業プログラマの基本
さらに言うならOracle、SQLServer、DB2も習得していると望ましい
Pythonって要するに日本でいうBASICと同じ立ち位置
例えば最も普及しているBASICであるExcelVBAがいくら便利でもそれで基幹システムつくらないよねって話

GoogleだってPythonはタスク管理程度にしか使ってない
大事なところは別言語(時代によって採用言語は変わるがPythonではない)

あと、よく言われるけどPepperもPythonじゃないからな
あれはユーザー側が簡易に制御できる言語としてPythonを採用してるだけだ
0210デフォルトの名無しさん
垢版 |
2020/03/24(火) 18:11:00.45ID:AIaPjsf6
>例えば最も普及しているBASICであるExcelVBAがいくら便利でもそれで基幹システムつくらないよねって話

これでド素人ということが分かった
0211デフォルトの名無しさん
垢版 |
2020/03/24(火) 18:23:40.38ID:vOY7KxyH
基幹システムといえるかどうか微妙だが
情報システム部門で日報作るのにExcelマクロ必須だったな
0214◆QZaw55cn4c
垢版 |
2020/03/24(火) 19:37:14.98ID:KtfI6cNR
>>209
>Oracle、SQLServer、DB2も習得していると望ましい
ちょっと古いのでは?
今は postgreSQL
0217デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:18:52.66ID:PjM8J8DG
12345678みたいな入力を\x78\x56\x34\x12に変換するライブラリってありませんか?

もしくは今そんな感じの自作モジュールを作ろうとしてて、
/usr/bin/mymodule/
以下にchange.py、その中に入れる関数の方のchange(s)まではできたんですが
from mymodule import change
change.change(s)
と毎回関数changeを呼び出す為に2回書かなきゃいけないのが気に入らないので
この関数changeを一発でimportする方法を教えてください
ワンライナーでも多用する予定なので、できる限りタイピングする文字数を小さくしたいんです
0218デフォルトの名無しさん
垢版 |
2020/03/24(火) 22:55:36.92ID:UBy3gEYu
>>211
全然微妙じゃなくて吹いたわw

Excel VBAで基幹システムって言ってるやつは
UI部分にExcelとVBAを使ってるって話だろ
0220デフォルトの名無しさん
垢版 |
2020/03/24(火) 23:16:28.47ID:PjM8J8DG
>>219
あ、すみません後半のchange.change(s)みたいにファイル名と関数名を
一々書かなきゃいけない方が嫌なだけで、一行目のimportは当然OKです
python -c "import change(もしくはfrom 〇〇 import change);change(s)"
みたいな感じの物を実現したいです。
0221デフォルトの名無しさん
垢版 |
2020/03/24(火) 23:36:57.77ID:LPFDXKjv
いまやPythonは基幹システムに使われるメジャー言語になっているから
職業プログラマが必死にPythonをやっているからな
0223デフォルトの名無しさん
垢版 |
2020/03/25(水) 01:43:26.05ID:E7HPnXVD
>>222
ありがとうございます!
importのやり方普通のやつとfrom ~ import ~しか分かってませんでした、反省します
0224デフォルトの名無しさん
垢版 |
2020/03/25(水) 03:28:12.51ID:BoSHYqnZ
自分の周りでは少なくとも、治自体関係、医療関係(レセプト、電子カルテ等)、
運送・運輸関係の基幹システムをPythonで構築しているという話は聞いた事
がない。コールセンター(CTI、IVR等)関係のシステムをPythonで構築している
という話も聞いた事がない。

基幹システムをPythonで構築ではなく、基幹システムの一部の機能にPythonが
使われている場合があるという事なのか。

それとも情報系システムと勘違いしているのか。
0229デフォルトの名無しさん
垢版 |
2020/03/25(水) 12:02:43.15ID:nfUzvxHY
COBOL、VB、Javaが、多重請負構造・奴隷土方プログラマの基本w

銀行側が払う料金
時給5千円 * 180時間 = 1人月90万円

その内、本人は20〜30万円ぐらいもらう。
その差額、60万円分で、数社の会社が成立できる仕組み

その60万円を多重請負構造で分ける

例えば、元請けのIBM(5大ITer)が30万円とって、
1次受けの上場企業が20万円とって、
2次受けの中小企業が10万円とって、みたいな土建業と同じの多重請負構造

就職面接へ行くと、1〜3次受けの会社員が皆来てるw
1次受けが雇うというと、2次も雇う、3次も雇うとなるw

奴隷売買業w
女衒みたいなものw

GitHub・Ruby みたいな自社サービス系とは全く違う!
学校で教えるのは、就職率が高い、Ruby ばっかりw

自社サービス系の方が、会社の倒産リスクは高いけど、
中間会社に抜かれないから、給料が高い
0230229
垢版 |
2020/03/25(水) 12:06:10.38ID:nfUzvxHY
それに銀行系は、システム更新時期が過ぎたから、仕事が無くなったw
0231デフォルトの名無しさん
垢版 |
2020/03/25(水) 12:17:37.23ID:KDJCx941
プロは複数言語使えるのが当たり前なんだからPythonが基幹システムに使われようが使われなかろうがどうでもいいだろ。
言語の特性上向いてない目的を挙げて特定の言語をdisすることになんの意味があるのかわからん。

他言語のコード書いてるときでも、データ変換やある程度決まりきったコードなんかはPythonで生成したりしてるが便利だよ。他言語で書いたアルゴリズムが間違ってないかの検証なんかにも使えるし。
0234デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:52:47.61ID:6ULKuSqz
>>217

>>> binascii.a2b_hex('12345678')
b'\x124Vx'
>>> list(reversed(binascii.a2b_hex('12345678')))
[120, 86, 52, 18]
>>> bytes(reversed(binascii.a2b_hex('12345678')))
b'xV4\x12'
0235デフォルトの名無しさん
垢版 |
2020/03/25(水) 19:56:42.27ID:mIdHRgzi
>>217
structパッケージかな

from struct import pack
pack('<I', int('12345678', 16))

長いというならラムダ式でも使って
change = lambda s: pack('<I', int(s, 16))
と定義すれば
change('12345678')
で使える
0236デフォルトの名無しさん
垢版 |
2020/03/25(水) 20:53:06.37ID:E7HPnXVD
>>234
>>235
ありがとうございます、ただやりたいのは入力数値をそのまま\x78\x56……
みたいな方式に変えたいことで16進数に変換されるとちょっと不都合が
セキュリティ本のシェルコード挿入でそういう入力多かったので作ろうと思ったんですが
もしかして普通は上みたいな入力使う機会ないんですかね?
0237デフォルトの名無しさん
垢版 |
2020/03/25(水) 20:59:06.96ID:i/r3a70w
ごめん何言ってるか判らないω
0238デフォルトの名無しさん
垢版 |
2020/03/25(水) 21:11:26.87ID:mIdHRgzi
>>236
\x78
は16進数で78のことを表している

16進数であることを明確にするにはH'78と記述する
プログラムでは0x78と書く

\x78\x56...みたいな16進バイト列を作りたいんだけど、16進数にされるとちょっと困る、と言われても、こっちも困る
0239デフォルトの名無しさん
垢版 |
2020/03/25(水) 21:19:52.75ID:XgBtMRgR
要するにchange.change(s)って毎回書くのだるいからchange(s)って書くにはどうすればいいかってこと?
0240デフォルトの名無しさん
垢版 |
2020/03/25(水) 21:21:00.60ID:E7HPnXVD
https://dotup.org/uploda/dotup.org2096094.png.html
画像はbashですがこんな感じでAAAA\x78\x56……という文字列を出力したいんです。
って言おうとしてたんですがすみません、これの出力が
AAAAAAAAAA\x78\x56\x34\x12
になるとずっと思っていたんですが、嫌な予感がしたので今確かめたら
AAAAAAAAAAxV4
になってました
つまり>>234の方と>>235の方のやり方が求めていた者です、ありがとうございます。
初心者の勘違いでお騒がせをしてスレを汚してしまい申し訳ありませんでした……orz
0241デフォルトの名無しさん
垢版 |
2020/03/25(水) 22:46:13.13ID:mIdHRgzi
>>240
プログラムに組み込んでパイプで渡したいだけなら何もする必要はない

python -c "import sys; sys.stdout.write('AA\x12\x34')" | hexdump -C
結果
00000000 41 41 12 34 |AA.4|

コマンドライン引数でこの文字列を受け取った上で別のプログラムに渡す場合は、自分で作らないとない

python -c "import sys; sys.stdout.write(sys.argv[1])" "AA\x12\x34" | hexdump -C
結果
00000000 41 41 5c 78 31 32 5c 78 33 34 |AA\x12\x34|

\x12がH'12の1バイトではなく、H'5c783132の4バイトとして評価される
0242デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:17:50.96ID:jt2f7/Y4
def file_open():
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)

def main():
a=input()
if a!='1':
file_open()

を実行すると、VS CODEのウインドウの下に非アクティブでファイル選択ウインドウが立ち上がります。
ファイル選択ウインドウを再前側でアクティブウインドウとして立ち上げたいのですがどうすればいいのでしょう?
0243デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:45:03.06ID:jt2f7/Y4
if文ぬいて

def file_open():
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)

def main():
file_open()

とするとファイル選択ウインドウが最前面にきてアクティブになるんですよね
なんでだろう
0244デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:49:37.79ID:jt2f7/Y4
ああ、なんとなくわかってきました
input()
を使うと、VS CODEが最前面でアクティブのままロックされて、
そのウインドウの裏でファイル選択ウインドウが開くみたい

input()を使ってこの現象をさける方法ってありませんか?
0245デフォルトの名無しさん
垢版 |
2020/03/26(木) 22:02:56.82ID:jt2f7/Y4
連投すいません
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)
でファイルを開くときに、選択ウインドウを常にアクティブにする設定があれば教えて下さい

というのが、正しい質問でした
ご存知の方いらっしゃいましたら教えて下さい
0247デフォルトの名無しさん
垢版 |
2020/03/27(金) 23:36:36.81ID:wFQ5Bfhf
>>246

解決しました!!!
ありがとうございます

もうわからないから、
print('この画面を最小化してね’)
とでもしようかと思ってたw
0248デフォルトの名無しさん
垢版 |
2020/03/28(土) 22:27:12.81ID:BYkjXtO6
初歩的な質問ですみません。Colaboratory を使ってスクレイピング行っておりURLのみを表示させたいので
get使ったのですがAttributeErrorになってしまいます。
getを使わずa_tagsだけ入力するとエラーにならずに表示されます。
getが使えないのは何が原因なのでしょうか?

import requests
from bs4 import BeautifulSoup

page_url ="https://news.yahoo.co.jp/topics/top-picks";
r = requests.get(page_url)

soup = BeautifulSoup(r.text, features="html.parser")


a_tags = soup.find_all("a", class_="newsFeed_item_link")

a_tags.get("href")
0250デフォルトの名無しさん
垢版 |
2020/03/29(日) 05:29:29.33ID:8xENdWjm
>>248
Ruby, selenium-webdriver, nokogiri で作ったが、href を取得しようとすると、エラーになる。
sleep 15 して待っても、エラーのまま

要素は存在するけど、JavaScript で動的に、href を作っているのかも。
他から取得するか、クリックするなど、何かアクションを起こせば、作られるのかも

require "selenium-webdriver"
require "nokogiri"

options = Selenium::WebDriver::Chrome::Options.new
driver = Selenium::WebDriver.for :chrome, options: options

driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks";

doc = Nokogiri::HTML( driver.page_source )

css_selector = "a.newsFeed_item_link"
elements = driver.find_elements( :css, css_selector )

results = elements.map { |elem| elem.attr( "href" ) }
puts results

driver.quit
0251250
垢版 |
2020/03/29(日) 09:52:13.78ID:8xENdWjm
>>250
は、nokogiri を使わず(doc という変数を使っていなかった)、
selenium-webdriver から取得していたので、

それを、20秒スリープして、nokogiriから取得するように変えたら、25個のhref を取得できた!

require "selenium-webdriver"
require "nokogiri"

options = Selenium::WebDriver::Chrome::Options.new

driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks";

sleep 20

doc = Nokogiri::HTML( driver.page_source )

css_selector = "a.newsFeed_item_link"
elements = doc.css( css_selector )

results = elements.map { |elem| elem.attr( "href" ) }
puts results.length, results

出力、以下が25個
https://news.yahoo.co.jp/pickup/6355533
https://news.yahoo.co.jp/pickup/6355534
0252デフォルトの名無しさん
垢版 |
2020/03/29(日) 12:43:01.48ID:4hib/jR0
すいません、ちょっと教えてもらいたいのですが
for x in ...
とかで文字を使っちゃうとまた次のforのときに
またx使うか迷うんですけどどうしてますか?
iみたいに毎回同じ文字使ってますか???
特に短いforがいくつもあるときに悩みます
0253デフォルトの名無しさん
垢版 |
2020/03/29(日) 12:53:10.19ID:TGQjvlT6
>>252
入れ子になってる等やむをえない事情がないのなら、
新たな文字など使わずに
むしろ
どんどんxなりiなりを再利用したまへ。

「どーでもいい?forループ回すときはいつもiな!」みたいな
俺ルールの徹底は
後日メリットばっかりだぞ。
0256デフォルトの名無しさん
垢版 |
2020/03/29(日) 15:31:33.32ID:a0L6N7lT
>>254
そのルールでチェックできるlinterってない?

ループの外では使うのは気持ち悪いからやらないけど
セーフガードは持っておきたい
0257デフォルトの名無しさん
垢版 |
2020/03/29(日) 15:48:30.19ID:7B/pleQ/
特に用が無いなら for _ in list:
0265デフォルトの名無しさん
垢版 |
2020/03/29(日) 17:43:26.03ID:miu6elf3
特定種類のファイルとかはtext, image, folderとか
それ以外で二重以上だと分かっている時はx,y,z,w
4重ループより複雑な時は実装がおかしい
0266デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:11:39.59ID:oXSmQy6i
pythonでも高階関数使いまくったらいい感じにスッキリできるんかな
内包表記でええやんってなりそうだな
0267デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:17:29.94ID:TGQjvlT6
>>265
> 特定種類のファイルとかはtext, image, folder
これもアリでんな

>>262
目が滑るからやめとこうぜ

>>266
ハッシュ・ド・カレーだっけ?www
0268デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:27:24.84ID:ZN7+uAYE
目が滑るとかいうワードセンス
0270デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:50:50.72ID:TGQjvlT6
>>269
一番の問題はHDD容量だとおも。
俺のネットブックはHDDが64GBしかないから
あっぷあっぷしている。
無論CPUは速いほうがいいし、メモリも多いほうがいいのだが。

>>268
んじゃあ
老眼にキツイし、
そも、人間の指は同じキーを何度も打つのは苦手にできてるんだからやめとこうぜ
0273デフォルトの名無しさん
垢版 |
2020/03/29(日) 19:55:01.95ID:BsqKnoOv
>>249
ありがとうございます。使い方が間違っていたんですね。再度調べてみます。
>>250
>>251
ありがとうございます。seleniumでも試す際に参考にさせていただきますね。
0275252
垢版 |
2020/03/29(日) 22:58:26.58ID:4hib/jR0
>>252です
ありがとうございます
自分なりにルールを決めたものを使っていくことにします。
forに変数いらないのあるなんて知らなかったです
助かります
0276デフォルトの名無しさん
垢版 |
2020/03/29(日) 23:46:57.95ID:lDauC8R5
>>269
> pythonやるために格安ノートPC買いたいんやけど必要スペックとかある?

格安ノートはわりとすぐに使えなくなる。
無駄遣いになる危険性があるぞ?
PCには金を使え。
もしプログラマやデータサイエンティストになりたいなら。
0278デフォルトの名無しさん
垢版 |
2020/03/30(月) 00:15:31.86ID:3rsb7aJk
>>276
いまはやり?のビッグデータ解析とか
自然言語だの画像だのをみて、判別してくれるAIにちゃーれんじするなら、
自分のノートのスペックなんかより
ぶっちゃけ、契約するスパコンのスペックががが
0279デフォルトの名無しさん
垢版 |
2020/03/30(月) 04:15:40.93ID:ZTnAFgeB
>>276
Colaboratory
https://colab.research.google.com/notebooks/intro.ipynb
Azure Notebooks
https://docs.microsoft.com/ja-jp/azure/notebooks/azure-notebooks-overview
オンラインでプログラミングして実行できるサイト
https://qiita.com/tttamaki/items/2b009aa957cfa4895d50
現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門
https://www.udemy.com/course/python-blockchain/
¥1,380 元の価格¥17,400 割引率92%OFF
この価格で購入できるのはあと1日!
0280デフォルトの名無しさん
垢版 |
2020/03/30(月) 09:22:04.61ID:RfAeds48
>>258
pythonにもperlの$_変数を導入しようって話か?
やっぱり変数宣言なんて不必要で、みんながみんな決められた記号を使えば、誰にも分かるコードが出来上がるじゃないか
0281デフォルトの名無しさん
垢版 |
2020/03/30(月) 09:25:34.42ID:RfAeds48
無論prologにも無名変数として_が用意されてる
ttp://karel.tsuda.ac.jp/lec/prolog/intro2/

ならもう変数命名自体を排除した方がいいのでは
0282デフォルトの名無しさん
垢版 |
2020/03/30(月) 10:36:50.26ID:Ww8SKZwH
ここってプログラム以前の問題もありですか?
私はターミナルを使うのにあまり慣れていません。
python2.7.3を使わなければならない用事ができました。
macでpyqt4を使おうと思いましたがインストールがうまくいっていないようです。
https://qiita.com/aical/items/2d066801a7464a676994の通りにしました。
ターミナル↓
hogenoMacBook-puro:~ hoge$ pyuic4
Traceback (most recent call last):
File "/Users/hoge/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages/PyQt4/uic/pyuic.py", line 26, in <module>
from PyQt4 import QtCore
ImportError: No module named PyQt4

pyuic4を使うとインストールができたかどうか確かめられるとのことで使いましたが、
どうやらpythonが認識していないようです。
pyqt4がありそうに見えるのにno moduleと言われるので困っています。

これが現在の様子です
hogenoMacBook-puro:~ hoge$ python
Python 2.7.13 |Anaconda 4.0.0 (x86_64)| (default, Dec 20 2016, 23:05:08)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
0283282
垢版 |
2020/03/30(月) 11:05:28.11ID:Ww8SKZwH
mojave 10.14.6です
0284デフォルトの名無しさん
垢版 |
2020/03/30(月) 18:35:12.90ID:YcK6aFmi
>>282
PyQt4がインストールされていない

conda install pyqt=4

それでも出るようなら環境変数PYTHONPATHを設定してパスを通す

export PYTHONPATH=$HOME/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages
0285デフォルトの名無しさん
垢版 |
2020/03/30(月) 19:03:31.14ID:Ww8SKZwH
>>284
ありがとうございます。解決しました。
conda install pyqt=4 はつい先ほどマニュアルを読んで実行したはずが
なぜか追加要素がたくさんあって驚きました。
それでも解決しませんでしたが、次にパスを通すことでうまくいきました。
0286デフォルトの名無しさん
垢版 |
2020/03/30(月) 19:46:36.95ID:77mzFAH1
一昨日こちらでスクレイピングの質問し回答を参考にさせていただいたものです。
エラーが起きなければ25件titleとURLが取得できると思うのですが、5件しか表示させず
IndexError: list index out of rangeとなってしまいます。
指定しているインデックスの問題だと思い番号をかえたりしてみましたが改善されません。何が原因なんでしょうか?

import requests
from bs4 import BeautifulSoup

page_url ="https://news.yahoo.co.jp/topics/top-picks";
r = requests.get(page_url)

soup = BeautifulSoup(r.text, features="html.parser")

a_tags = soup.find_all("li", class_="newsFeed_item")

data = []
for h1_tag in a_tags:
tmp_article_a_tag = h1_tag.find_all("a")[0]
title = tmp_article_a_tag.text
url = tmp_article_a_tag.get("href")
print("title:{} url:{}".format(title, url))

data.append([title, url])
0288デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:08:48.06ID:YcK6aFmi
>>287
Anacondaはシステムのライブラリが足りない場合でも動くので、そういう環境の人は使えると思うよ

例えばCentOS系でDockerが使えない場合、ライブラリが古い場合でも必要なライブラリはAnacondaがインストールするので新しいpythonが使える

他には機械学習関係でcudaやcudnn等のNvidia環境を構築するのは圧倒的に楽
バージョンの干渉で迷う事はほぼない

.bashrcや.zshrcにデフォルトでAnacondaを設定するとデフォルトのPythonと環境が違うのでトラブルの元になるけど、毎回sourceコマンドを叩くのも面倒なので利便性とのトレードオフかな
0289デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:17:25.67ID:UMPMfaDu
venvみたいなめんどくさいことするならanaconda入れる方がよっぽど楽だけどね。
PATH設定くらいだからそこまで問題がわからなくなることが多いとも思わん。
0290デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:22:12.99ID:mLHxpijy
condaに入ってないライブラリをpipで持ってきて地獄を見たことがあるから、最近はpoetry使ってる
今の主流はpipenvなのかな?
0291デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:31:02.36ID:tCK+oDY4
conda使ってるのにpipで入れてる上になんか入らないやつ手動でsite-packageフォルダにコピーしてるけどダメなの?
0293デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:42:23.05ID:OS5ajOLp
いい加減、ライブラリ・パッケージ管理ツールを統一して欲しいもんだが
次々と新しいものが出てくるばかりでどうにもならんな
0294デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:49:01.25ID:Ww8SKZwH
追加で質問です
$conda install -c dan_blanchard pyenchant でインストールしようとしていますが、
10分経っても終わりません。なにかいい方法はないでしょうか。
Collecting package metadata (repodata.json): \  ←この棒がずっと回っている
0295デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:51:17.33ID:Ww8SKZwH
anacondaを使った理由はたまたまネットで見つけたページにそう書いてあったからです。
私はとあるソフトを使いたいだけでプログラミングについてはよくわかりません。
0296デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:54:47.63ID:UuzilOkY
>>286
ブラウザの開発ツールでページ構造よく見てみ
5個ごとに入ってる広告がliの直下はaタグではなくdivになってるから
0299250
垢版 |
2020/03/30(月) 23:17:49.32ID:+W5CUrfY
>>286
Ruby で作ったけど、最初の部分は省くけど、( >>251 を参照)

li.newsFeed_item の子孫のa は、29件で、li.newsFeed_item の直下のa は、25件。
Python のfind_all("a")[0] は、子孫も含めるのじゃないか?

出力は、こういう感じ
title:富士フ、アビガン治験開始へ3/30(月) 22:52 url:https://news.yahoo.co.jp/pickup/6355698
title:大連市 北九州にマスク20万枚3/30(月) 22:40 url:https://news.yahoo.co.jp/pickup/6355699

doc = Nokogiri::HTML( driver.page_source )

elements = doc.css( "li.newsFeed_item" )

# li.newsFeed_item の子孫のa は、29件
results = elements.map { |elem| elem.at_css( "a" ) }
puts results.length
results.each { |elem| puts "title:#{ elem.text } url:#{ elem.attr( "href" ) }" }
puts "------------------------------------"

# li.newsFeed_item の直下のa は、25件
ary = elements.each.each_with_object( [ ] ) do |elem, ary|
elem.children.each do |child|
if child.node_name == "a"
ary.push child
break
end
end
end

puts ary.length
ary.each { |elem| puts "title:#{ elem.text } url:#{ elem.attr( "href" ) }" }
0300デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:20:19.63ID:w//nIWz4
昨日から学習始めました。
pandasで質問なんですが、このようなDataFrameがあるとして、

日付    スコア
2020-03-01   20
2020-03-02   15
2020-03-03   25
 ︙
↑これにカラムを追加して累積のスコアを取得したいです。

日付    スコア  累積
2020-03-01   20   20
2020-03-02   15   35
2020-03-03   25   60
 ︙

カラムの追加は出来ています。
データは長いものなんですが、forを使うんですかね?
それともちょうどいいメソッドみたいなものがあるんでしょうか?
くだ質ですけどよろしくお願いします。
0301デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:25:59.36ID:jw5yj4PZ
このスレの上の方に答えあるぞ
0305294
垢版 |
2020/03/30(月) 23:36:43.49ID:Ww8SKZwH
何度もすいません 環境書いてなかったので
mac mojave10.14.6 python2.7.3 anaconda で pyenchantを入れようとして
conda install -c dan_blanchard pyenchant を使ったものの
Collecting package metadata (repodata.json): / が数時間ほど出続けて一向に終わりません。
conda install pyenchantも試しましたが同じような結果でした。
IDEは多分xcordだと思います。
0308305
垢版 |
2020/03/31(火) 13:29:13.56ID:+y4wT+20
やってみましたが特に変わらないです。10分ほど待ちましたがまだ同じ文章が出て回ってます
0309デフォルトの名無しさん
垢版 |
2020/03/31(火) 13:32:41.19ID:fqZmXB15
ありがとうございます。再度構造を確認したら間違っていることに気がつきました。

>>299
参考になりました。ありがとうございます。findの使い方、ページの構造を理解しきれてなかったので基本から見直してみます。
0311デフォルトの名無しさん
垢版 |
2020/03/31(火) 16:58:32.63ID:1xgVifiL
>>308
アンカーを省略するんじゃない

権限は足りてるか?

最近のMacOSなら、ルートレスが悪さをしてるかもしれないので
一時的にでも切ってやってみそ
0312307
垢版 |
2020/03/31(火) 17:06:20.92ID:b44czDa9
>>308
ゴメン linux用のパッケージ入れようとしてたのが原因なら、無反応じゃなくてエラーになってたはずだね

condaのバグでそういう症状が報告されてるから、そっちかな
(Anaconda 4.0.0なら関係ないかもだけど、condaをアップデートしてたらありえそう)
https://github.com/conda/conda/issues/9221
mmoisseさんのコメントに従ってsubdir_data.pyを編集しないとダメなんだけど、無理そうならpython3で試すとか
この修正はcondaに取り込まれないので( https://github.com/conda/conda/pull/9600 )、もしこれが原因なら、待ってても(python2では)直らないと思う
0313デフォルトの名無しさん
垢版 |
2020/03/31(火) 20:53:43.52ID:HDRrREDo
【速報】東京都が #新型コロナウイルス 感染症死亡者数を過少評価か、

「例年より少ない」とされていたインフルエンザ関連死が急増=国立感染症研究所
https://www.niid.go.jp/niid/ja/flu-m/2112-idsc/jinsoku/1852-flu-jinsoku-7.html


コロナで死んだのインフルに振り替えてるんじゃまいか
こういうニュースが出てくる時点で隠蔽はもう無理
おそらくパンデミックは避けられないと思うね
0314308
垢版 |
2020/03/31(火) 22:09:38.19ID:+y4wT+20
>>311
・アンカー省略して申し訳ないです
・私はこのmacの管理者です。それ以上のことはわかりません
・切りましたが変化ないです
>>312
・python2を使う必要があります
・anaconda4.0.0 でconda 4.8.3 py27_0 のようです(conda listで出しました)
・そのプログラムを==から<にすればいいのはわかりましたが方法がわかりません
そもそも場所もわかりません
0315デフォルトの名無しさん
垢版 |
2020/03/31(火) 22:09:46.61ID:1xgVifiL
┐(´д`)┌ 現状をまだパンデミックだと認めてないのはただの政治判断ッショ
0317デフォルトの名無しさん
垢版 |
2020/03/31(火) 22:13:29.92ID:1xgVifiL
>>314
312氏の投稿のほうが当たりっぽく
かつ
Python2系縛りがあるとなると、
308のナウのパウァーでは
どーにもならないっぽいな・・・
condaがばぐっててむりでした。どーしましょ ってさっさと上に相談してみる に1票。
0318デフォルトの名無しさん
垢版 |
2020/03/31(火) 23:55:02.12ID:1uZzdSX9
>>300
df = df.assign(累積=np.cumsum(df['スコア']))
で1行で出来ますよ
0319デフォルトの名無しさん
垢版 |
2020/04/01(水) 06:25:50.38ID:wvARRrAt
sys.stdout.buffer.write(b"\x41"*10)
ってやると「AAAAAAAAAA10」って表示されるんですけどこの最後の10ってなんですか?
これの取り方を知りたいです
0320デフォルトの名無しさん
垢版 |
2020/04/01(水) 08:42:18.93ID:U2YXFsyC
>>319
byte型とstr型まぜるな危険ちゅーか混ぜれないぜイラァ!が、Python3あるあるらしいぜ。
hoge=b'\x41'
hoge=hoge.decode()
sys.stdout.buffer.write(hoge*10)
0321312
垢版 |
2020/04/01(水) 08:56:47.44ID:rQtQCSfO
>>314
>conda 4.8.3
4.7.11以降だから、やっぱり該当するね
>・そのプログラムを==から<にすればいいのはわかりました
お、それが分かるんならもうちょっと
その続きの部分でmmoisseさんがashleymaeconardに教えてる↓のコマンドで見つかるはず

dir=$(dirname `which conda`); find ${dir}/../lib -name "subdir_data*"

「which conda」でcondaがインストールされてる場所がわかるので、そのディレクトリ下からsubdir_dataっていうファイルを探すって感じ
おそらく ../lib/python2.7/site-packages/conda/core/subdir_data.py みたいな場所にあるんじゃないかな?

でも、python2も使おうとしてるpyenchantも古い(最近のはpython2対応してない)ので、今後も問題が起きた時に対応策を調べるのが結構大変だと思うよ(最新の環境の方が情報が見つけやすい)
0322デフォルトの名無しさん
垢版 |
2020/04/01(水) 11:56:52.96ID:5VJq6KKK
>>318
df['累積'] = np.cumsum(df['スコア'])
0323デフォルトの名無しさん
垢版 |
2020/04/01(水) 12:20:32.10ID:5VJq6KKK
>>320
そいつもエラーだ

>>319
最期の10 は単に戻り値が画面に出て来るだけ
>>> _ = sys.stdout.buffer.write(b"\x41"*10)

これで消える
0325デフォルトの名無しさん
垢版 |
2020/04/01(水) 12:53:19.93ID:wvARRrAt
>>320
sys.stdout.buffer.write()だとstr型は表示できません
ですが一応答えてくださってありがとうございます…

>>323
ありがとうございます!
print()のbyteをデコードして出力する感じのものだと思ってたんですが動作違うんですね…勉強になりました
0326308
垢版 |
2020/04/01(水) 12:53:42.54ID:DmxLU0iC
>>321
dir=$(dirname `which conda`); find ${dir}/../lib -name "subdir_data*"
を使ったら
usage: dirname path
find: /../lib: No such file or directory
と言われてしまいました
>>317
チームメイトは日本語ほぼ通じないし私の英語も足りないので難しいことを喋るのはきついです
ちなみに会社ではないし賃金もないです
0327デフォルトの名無しさん
垢版 |
2020/04/01(水) 13:51:04.05ID:U2YXFsyC
>>325
sys.stdoutするところまで確認しないで書き込んですまんそ。

言い訳すると、朝だからバタバタしていた。

>>323横レスだけどなるほどなっとく
0328321
垢版 |
2020/04/01(水) 14:31:03.22ID:rQtQCSfO
>>326
which condaの結果が取れてないのかな?
ターミナルで使うシェルのコマンドの使い方とか意味がわかってないなら、「mac ターミナル 入門」とかで検索して適当な入門記事とか読んでみると、何をしているか(わからない時の調べ方とかも)わかるようになるよ

やってることは
which condaでcondaがインストールされてる場所を調べる
dirnameコマンドでその場所のディレクトリを取得する
変数dirに結果を格納
その中(下の階層)にある名前がsubdir_data始まりのファイルをfindコマンドで探す
っていう流れなので、個別に分けて実行してみるとわかりやすいと思う

あとは、別にターミナル使わなくても、ファイル検索の機能やツールでsubdir_data.pyを探してもいいと思うよ
もし複数見つかったとしても、condaのファイルかどうかはファイルパスからわかるんじゃないかな?
0329308
垢版 |
2020/04/01(水) 15:44:10.62ID:DmxLU0iC
>>328
あああ微妙にわかった気がしてきました
なるほどだから一行に$が何回も出てきたのかと納得しました

確かにwhich condaを試すと回答が出てこず何事もなかったかのように
hogenoMacBook-puro:~ hoge$ が出てくる状況になっていました。
ウインドウを閉じてまた開くと普通の回答が戻ってきて不気味です
今度はfind: /Users/hoge/.pyenv/shims/../lib: No such file or directory
になって多少進歩しましたが見つからないですね
mdfind subdir_data*は何も出ません。
find / -name subdir_data*は末尾にPermission deniedのついた大量のデータが出てきましたが
condaという文字が見当たらないです

と書き込もうとしてfindの回答したデータに気づきました
/Users/hoge/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages/conda/core/subdir_data.py
これだ
なぜか/Users/hoge/.pyenv/versions/anaconda-4.0.0/系統の回答には
頭のfind: も末尾の: Permission deniedもついていなくて目が滑っていたようです
早速finderにパスを打ち込んで直接書き換えることで変更し、バグが直ったようです

現在のバージョンはpython3.4を要求してきたので古いのにします
ttps://pypi.org/project/pyenchant/1.2.0/#history
2.0.0を入れればいい感じですか?
0330デフォルトの名無しさん
垢版 |
2020/04/01(水) 18:10:19.22ID:mrdDGiKd
>>329
本家もメンテナンスしないような古いバージョンのAnacondaと戦うのは辞めた方がいい

Anacondaはconda installを使った場合はパッケージの干渉を細かくチェックしてるけども、pipを使ってはいけない訳でもない

pip install --upgrade pip
pip install pyenchant

Mojaveにpyenvでanaconda-4.0.0をインストールして上記コマンドを試してみたが普通インストールできて適当なサンプルも動いた
0332328
垢版 |
2020/04/01(水) 18:50:20.00ID:rQtQCSfO
>>329
あーそっかnatxはpy34なんだねゴメン
https://anaconda.org/search?q=platform%3Aosx-64+pyenchant
xrysoflis の方がpy27だから、そっちを使えば良いんじゃないかな?Filesタブで確認できるよ
>>330 も言ってるし、朝も書いたけど古すぎて後々かえって困ると思うのでオススメできないけど、python2使わなくちゃいけないならpyenchantもv2以下になるね

一応conda skeleton使ってPyPIパッケージもインストールできるよ
https://qiita.com/itsumonotakumi/items/f0273c2a3a04ef808dbd
0333デフォルトの名無しさん
垢版 |
2020/04/02(木) 07:42:24.51ID:BA8GpIv4
>>329
>ウインドウを閉じてまた開くと、普通の回答が戻ってきて不気味です
Mac では端末の設定ファイルに、~/.bashrc を使うか知らないけど、
たぶん端末の設定ファイルに、設定を書き込んだから、
端末を再起動(閉じて開き直す)すると、設定ファイルを再読み込みするから、状態が変わる!
だから設定ファイルに書き込んだら、常に端末を再起動すればよい

例えば、Windows 10, WSL, Ubuntu 18.04 で、Ruby のバージョンマネージャー・rbenv を使うと、

~/.bashrc に、以下の2行を追加するように言われる。
内容は、環境変数PATH の先頭に、rbenv のパスを追加して、rbenv init を実行する

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

2行を追加してから、source ~/.bashrc と入力して、~/.bashrc を再読み込みするか、
端末を再起動すると、更新された、~/.bashrc を読み込むので、

echo $PATH
と入力すると、確かに先頭に、~/.rbenv/bin が追加されているので、
which rbenv
と入力すると、~/.rbenv/bin/rbenv が表示される。
これで、rbenv コマンドをグローバルで使える

以下、rbenv install 2.6.5, rehash, global で、好きなバージョンを使えるようになる

rbenv which ruby
と入力すると、確かに、versions の下に、インストールされている!
~/.rbenv/versions/2.6.5/bin/ruby
0336デフォルトの名無しさん
垢版 |
2020/04/02(木) 09:26:18.03ID:XZMaUUEC
obj.sort(str) みたいなのがあって、引数がリストなど受け付けないとき
obj.sort(str_1).sort(str_2)みたいに書いてるんですがバカっぽいです
なにかいい書き方はありませんか?
0338デフォルトの名無しさん
垢版 |
2020/04/02(木) 10:39:30.40ID:s8KkhiHc
>>336
objとstrがどういうものかによる

built-inのsort()/sorted()を使ってDictionaryを複数キーでソートしたい場合は
sorted(obj, key=lambda x: (x[‘str_2’], x[‘str_1’]))

obj.sort()が独自の比較ロジックを実装してるなら
それを比較関数として切り出してsort()/sorted()に渡す
0339308
垢版 |
2020/04/02(木) 11:30:42.92ID:TJziRBLB
チームメイト(そのソフト作成者)に相談したら返事もらえたのでまずそのとおりにしました
python -m pip install pyenchantで 3.0.1 が無事インストールできました
>>330
ERROR: Package 'pyenchant' requires a different Python: 2.7.13 not in '>=3.5'と言われました
>>332
conda install -c xrysoflis pyenchant==1.6.6しましたが
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistenc-

- https://repo.continuum.io/pkgs/free/osx-64::ipython==4.1.2=py27_1
(同じようなものが何行も)
failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
でこれ以上進まなくなりました
>>333
残念ながら今の私には理解できません
>>334
私のはbashのままのようです

早速インストールした環境を使ってそのソフトを動かしたところ、
SyntaxError: invalid syntaxと言われました。
チームメイトによるとそのソフトはmacで起動確認してないので動かないのかもしれないそうです
ええ…
幸いwindows ならその人が全部やってくれそうです

質問に答えてくださったみなさんありがとうございます
勉強になりました。特に==を<に書き換えるあたりは興奮しました
もし補足やうまくいきそうな方法があればまだ見てますのでお願いします
0340デフォルトの名無しさん
垢版 |
2020/04/02(木) 14:11:06.61ID:LyfVZOwj
いつもありがとうございます。こちらで回答をいただきながらスクレイピングを行っている者です。
個別でURL、タイトルなど取得し無事に出力することができたのでページ内の全URLを出力してみたところ、
予定では別々な25件のURLが出力されると思ったのですが、
同じURLが220件出力されてしまいました。原因はenumerateの使い方が間違っている。
取得する場所が間違っているからだったりするのでしょうか?

import requests
import re
from bs4 import BeautifulSoup

page_url ="https://news.yahoo.co.jp/topics/top-picks";
r = requests.get(page_url)

soup = BeautifulSoup(r.text, features="html.parser")

item_list = soup.find_all(class_=re.compile(r"newsFeed*"))

for num,item in enumerate(item_list):
news_url = news.find(class_="newsFeed_item_link").get("href")
print("num:", num)
print("url", news_url)
print("*" * 100)
0341デフォルトの名無しさん
垢版 |
2020/04/02(木) 14:44:41.65ID:BA8GpIv4
>item_list = soup.find_all(class_=re.compile(r"newsFeed*"))

それは正規表現か?
そりゃ、完全一致じゃないから、かなり多くのclass が該当するはず
0342デフォルトの名無しさん
垢版 |
2020/04/02(木) 14:47:05.93ID:s8KkhiHc
>>340
とりあえずIPythonとかのREPLで確認しながらやれ

item_list = soup.find_all(class_=re.compile(r"newsFeed*"))
の後にREPLにitem_listとタイプしたり、len(item_list)とタイプしたり、item_list[24]とかタイプすれば
中に何が入ってるか、何件取得できてるか、思ったものが取得できてるかを確認できる

試行錯誤しながらいいけど
CSSセレクター勉強して欲しいものを取得できるようにならないとスクレイピングとか無理よ
item_list = soup.select('li.newsFeed_item > a.newsFeed_item_link')
0343デフォルトの名無しさん
垢版 |
2020/04/02(木) 15:39:55.36ID:BA8GpIv4
スクレイピングは、他人が作ったソースコードを解析するから、かなり難しい。
なぜかと言うと、作者は仕様を知っているけど、解析する方は知らないから。
答えを知ってる者には簡単だけど、知らないとかなりの時間を損する!

初心者は、やめておいた方がよい

作者の仕様を予想するのと試行錯誤で、かなりの時間を損するだけで、
全くプログラミングが上達しないから!

自分で、練習用のサイトを作った方がよい

スクレイピングは、プロでも無料ではやらない。
他人の滅茶苦茶なソースコードを見ても、何も学ぶことが無いからw

単純に時間の無駄
0344デフォルトの名無しさん
垢版 |
2020/04/02(木) 16:12:04.13ID:8S0f9PYx
Web技術はこまごましてて難しすぎるんだよな
CSSセレクターって何だろうと思って調べてみたが理解できなかった
0345デフォルトの名無しさん
垢版 |
2020/04/02(木) 16:35:16.84ID:3sLVdoE7
Yahooってapi用意されてたりしないの
0347デフォルトの名無しさん
垢版 |
2020/04/02(木) 17:36:27.73ID:LyfVZOwj
>>341
正規表現です。該当してる中から取得するやり方ではいけないんですね。

>>342
わかりました。セレクターも入力してみて何が取得できるのかなど一通りやってみます。

>>343
基礎学習の後にスクレイピングがおすすめと記載されていることもあるので簡単な方だと思っていました。
よく見るサイトやフリマ系など必要なデータを取れるようになれば時間の時間の短縮になると思いましたがそのレベルになるのは難しそうですね…

皆さまご丁寧にありがとうございます。参考にさせていただきます。
0348343
垢版 |
2020/04/02(木) 18:19:50.41ID:BA8GpIv4
自分で書いた、HTML をスクレイピングすればよい。
そうすれば自分が仕様を知っていて、色々いじくれるし、
自分のPC 内で、何回でもテストできる

他人の作ったページは、いじくれないし、ほとんどが無駄な部分。
しかも、作者だけが知っている仕様を解析・予想するのに、かなりの時間が掛かる

普通は仕様書・設計書から、実装を作るけど、
逆に、実装から仕様を予想しちゃいけない!

これは、自然とは逆方向に向かうから、非常に難しい。
だから、リバースエンジニアリングは、無料ではやらないわけ

それに、かなり時間を掛けて、作者だけが知ってる答えを見つけても、何にもならないw
他人のアプリの仕様なんて、人それぞれだから、参考・勉強にならない。
自分が作る仕様と無関係
0349デフォルトの名無しさん
垢版 |
2020/04/02(木) 18:59:58.20ID:Y6xeskM7
最終的には他人の作ったサイトから情報を抜き出せるようにならなければ意味がないけどね。
0350デフォルトの名無しさん
垢版 |
2020/04/02(木) 19:07:04.02ID:94eG4g2S
スクレイピングは試行錯誤してれば急にサクッとできるようになるから
パズルみたいなものだと思って楽しめばいいよ
0351デフォルトの名無しさん
垢版 |
2020/04/02(木) 19:09:13.54ID:AMBrZHZA
utf-8でpythonから出力したファイルをExcelで開くと文字化けします
確かExcelはBom付きで保存しなおせばいいと思って、

メモ帳で開く→utf-8Bom付きで保存→Excelで開く

をしても相変わらず文字化け
前は同じ出力ファイルを開けたのですが、なにか抜けているのかなぁ?
0352デフォルトの名無しさん
垢版 |
2020/04/02(木) 19:41:52.95ID:phtOISOQ
>>351
1嫁
> ◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
>   実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

+うまくいかないファイルとやらにだけ日本語含まれてたりしないか?
0353デフォルトの名無しさん
垢版 |
2020/04/02(木) 20:23:20.12ID:AMBrZHZA
>>352
すいません
自己解決しました
Pyhotn側のコードを何度かバージョンアップするうちに、
ヘッダーが壊れていました

大変失礼しました
0354デフォルトの名無しさん
垢版 |
2020/04/02(木) 20:26:14.10ID:SePhJv/q
java遅くて嫌いなのにnode.js仕方なく入れたら旧式Python入れられてパスまで通されたわ
0355デフォルトの名無しさん
垢版 |
2020/04/02(木) 20:30:17.84ID:AMBrZHZA
encoding='utf_8_sig'
とすればBOM付きになってそのままExcelで開けるんですね

今までの苦労はなんだったんだろう・・・
0356デフォルトの名無しさん
垢版 |
2020/04/02(木) 20:31:07.91ID:VXoXbP1e
だからなんなんだよ
0357デフォルトの名無しさん
垢版 |
2020/04/02(木) 21:03:21.08ID:s8KkhiHc
>>347
基礎の後に実践としてスクレイピングがオススメなのは間違いないよ
コレクション処理、テキスト処理、ネットワークI/O, ファイルI/O等
アプリケーションプログラミングにおいてコアとなる概念を学べる
それにYahooは比較的スクレイピングフレンドリーな作りだからいいチョイスだと思うよ

CSSセレクターみたいに1~2日で学べるような知識は
必要になったその都度身につけていけばいいんだけど
問題なのは何が間違ってるかを自分で調べる方法をほぼ持ってない事

まともにプログラミングできるようになるには
何が間違ってるかだけじゃなく
何が間違ってるかをどうやって調べればいいのかを知ろうとするマインドが決定的に重要
0358332
垢版 |
2020/04/02(木) 21:12:58.29ID:1ZnF9bvx
>>339
condaでinstallする前にpipで(サポート外の)3.0.1を入れたからじゃない?(でもよく入ったね?)
エラーメッセージ読めばわかると思うけど、環境の不整合が起きてるんだと思う

>SyntaxError: invalid syntaxと言われました。
pyenchantは3.0.0からpython2のサポートしてないのでpython2.7ではpyenchant 3.0.1入れても不具合でるんじゃないかな
https://github.com/pyenchant/pyenchant/releases/tag/v3.0.0
例えばpython3から導入された(python2に対応してない)構文で書かれているコードをpython2で動かすと、対応してないのでSyntaxError(構文エラー)が出るということはありうるよ
もちろん、チームメートの人が言うようにOSの問題かもしれないけど

とりあえず、環境構築の質問はそのチームメイトにした方が確実だよ
0361デフォルトの名無しさん
垢版 |
2020/04/03(金) 01:15:06.28ID:e/zdricl
なんのスレッドなのかわからない
0363デフォルトの名無しさん
垢版 |
2020/04/03(金) 03:42:04.69ID:4iGVyiwl
コロナの自粛期間を利用してPythonを勉強し始めました。
下記のCのコードをPythonに変換しようと思ったのだが
いきなりforループの書き方でハマってます。
ご教授お願いします

#include <stdio.h>

long combi(int,int);

int main()
{
int n,r;
for(n=0; n<=5; n++){
for(r=0; r<=n; r++)
printf("%d C %d=%ld",n,r,combi(n,r));
printf("\n");
}
}

long combi(int n, int r)
{
int i;
long p=1;
for(i=1; i<=r; i++)
p=p*(n+i+1)/i;

return p;
}
0364デフォルトの名無しさん
垢版 |
2020/04/03(金) 04:40:51.08ID:PfXHV9pW
def combi(n,r):
__p = 1
__for i in range(1,r+1):
____p = p * (n-i+1) // i
__else: return p

for n in range(1,6):
__for r in range(n+1):
__print(f"{n} C {r} = {combi(n,r)}")

どうでもいいが元のコードのcombiは式が間違ってると思う
0367デフォルトの名無しさん
垢版 |
2020/04/03(金) 11:54:36.03ID:piuBzRB4
CできるのにわざわざPythonを学ぶ意味がわかんねえ
PythonにできてCにできないことはないだろ
0368デフォルトの名無しさん
垢版 |
2020/04/03(金) 12:18:04.28ID:Wa73rj1L
>>367
> Cにできないこと
コンパイラ要らずの安易さ。
Cの他に何でもいいから適当なスクリプトは出来るといいと思う。
0369デフォルトの名無しさん
垢版 |
2020/04/03(金) 12:32:18.01ID:1Yte4sjH
>>367
できればいいって言うわけじゃないだろ
「簡単に」できるとか「安全に」できるとか「わかりやすく」書けるとかも重要だし
0371308
垢版 |
2020/04/03(金) 12:39:41.60ID:eM25H3zx
>>358
今pyenchant3をアンインストールしてから
pip install pyenchant==1.6.6してそのソフト実行したらsyntaxerror 出なくなりました
そして.dll: unknown file typeと言われました
ソフト作成者に言ったら「気づかなかった」と言われました
以上です。本当にありがとうございました
0372デフォルトの名無しさん
垢版 |
2020/04/03(金) 13:08:06.42ID:X+7jfuxP
>>368
それは IDE にそういう機能を付ければいいだけの話
Java とかコンパイラが必要だが、eclipse を使えば
特にコンパイラのわずらわしさはない
0373デフォルトの名無しさん
垢版 |
2020/04/03(金) 15:15:28.96ID:4iGVyiwl
>>363 >>364
ご教授ありがとうございます。
Pythonのforループの書き方がちょっと独特ですね。
ご指摘いただきましたcombiの式、確かに間違ってました(笑)
正:p=p*(n-i+1)/i;
0375デフォルトの名無しさん
垢版 |
2020/04/03(金) 16:49:39.67ID:G6AJ7B4z
>>336
class my_obj:

 def sort(self,tgt):
  if type(tgt) is list:
   for i in tgt:
     〜〜〜
  elif type(tgt) is str:
      〜〜〜

こんな感じでどうっすか?
0376デフォルトの名無しさん
垢版 |
2020/04/03(金) 18:16:39.86ID:eCdbkFhI
やはりその形ですかー
同じメソッドならチェーンでない方法で連打できないかなと思ったのです。引数に無理やりイテレータぶち込むみたいな
0377デフォルトの名無しさん
垢版 |
2020/04/03(金) 18:22:08.12ID:VVxcL9Mv
>>354
javaとNode.jsに何の関係が
0380デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:05:31.66ID:Np0lmeGt
プログラム言語のPythonを大学でやることになりました

Pythonの一般的な言語に対しての欠点を教えてください
また文法が簡単に書けるのは豊富なライブラリがバックにあるためだと聞きました
何でもかんでもライブラリ頼りになることはなんか弱点というか危険なこととかはありませんか?

すいませんが教えてください
0381デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:09:07.99ID:6WrhvkXF
型の宣言をしないから型というものの意識が非常に弱いプログラマーとなる。
C#などでjson受ける為のclassなど書けるレベルにならないと駄目。
0382デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:12:47.98ID:PfXHV9pW
・相対的に遅い(ライブラリ使ったら大抵はそこそこ〜かなり速い)
・コンパイラ型の言語に比べて型システムがゆるいので移行するのが面倒くさい(必ずしもする必要はない)
・exeファイルに固めるのが苦行(これは本当に欠点)

職業プログラマを目指さないならどれも全くどうでもいい問題
0384デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:21:55.11ID:Np0lmeGt
ありがとうございます

Pythonは特段優れた言語ではなく
現在評価されているのはライブラリがたまたま現在需要がある
AI関連のヤツが充実してるからと聞きました

Pythonは廃れる危険性は薄いですか?

C言語やJavaと仮に一本でやるにはどれがいいですか?
0385デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:27:30.51ID:Np0lmeGt
重視したいのは速度と安定性です
0386デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:44:11.67ID:y4LIlYUL
>>384
本職目指すなら一本に絞ること自体ナンセンスだから取っつき易いのから始めて全部やれ。
研究の道具とかで何らかプログラミングができるようになりたいというなら、具体的な用途を示さないとどれが適切かは分からない。
言語本体だけで見ればその中でpythonは遅い方だが用途によっては全く問題ない速度が出たり、他の言語で作るより速いものが作りやすいこともある。
0387デフォルトの名無しさん
垢版 |
2020/04/03(金) 23:45:31.67ID:piuBzRB4
>>385
オープンソースソフトの未来は誰にもわからない
開発コミュニティがやる気を失ったりケンカ別れしたらそれでおしまい
これから言語はたくさん経験するんだから、とっかかりとして気楽にやればいいよ
0390デフォルトの名無しさん
垢版 |
2020/04/04(土) 00:16:47.31ID:Q2cNyZtm
得意分野違ったり何やるかにもよる
javaとかループする計算早い!とかいいながらGUIクソ遅いし
0391デフォルトの名無しさん
垢版 |
2020/04/04(土) 00:58:29.00ID:2GneaZJB
教えてもらえませんか?

任意の場所に多角形があって
多角形の辺を3cm、4cm、3cm、4cm.....と多角形を大きくする感じにしたいのですが
多角形の頂点を角度に合わせて計算して膨張させたつもりが
図形が移動するだけになってしまいました
vertはそれぞれの頂点座標です
移動する長さの計算は合っているんですが
元の座標がマイナスになったときにうまくいきません
どうしたら膨張させる様に頂点の座標を計算できますか

↓自分が作ったのはこれです
from mathutils import Vector
for v in vert:
___p=v+Vector((3,4))
___print("新しい座標は",p)
0394デフォルトの名無しさん
垢版 |
2020/04/04(土) 03:20:08.62ID:H0jGuf/J
>>380
基本的に欠点が少ないから普及してる

型付けについては長所短所は裏表で
動的言語と静的言語は一長一短になる
ただ両方使えるに越したことはない

しいて言えば内包表記とか表記がやや煩雑で
Rubyの方が書きやすいと個人的には思うが
AIライブラリが充実してるからみんな使ってる

>何でもかんでもライブラリ頼りになることはなんか弱点
そりゃ何でもライブラリ頼りなら
プログラミングが上達しないことが弱点なんじゃないの?
一方で車輪の再発明すると時間を浪費するのも事実だけど
0396デフォルトの名無しさん
垢版 |
2020/04/04(土) 03:35:02.21ID:H0jGuf/J
>>384
>AI関連のヤツが充実してるから
流行したのはそれが大きいだろうけど

>Pythonは特段優れた言語ではなく
いやそこそこ優れてるとは思うけどね?
他の言語と比べればわりと書きやすい方

同じ動的言語でもPerlやPHPやJavaScript
より書きやすいんじゃない?(Rubyが一番だけど)

>Pythonは廃れる危険性は薄いですか?
薄い

もし将来廃れるとしても
十年、二十年は持つだろう

>C言語やJavaと仮に一本でやるにはどれがいいですか?
PythonやってればCやJavaもそこそこ書けるはず
CのポインタやJavaの静的型付けでつまずく
かもしれないが多くの基本は共通している

まず易しい言語のPythonを
ちゃんと読み書きできるようになろう!
0397デフォルトの名無しさん
垢版 |
2020/04/04(土) 07:56:02.93ID:+dijpLcI
Pythonは何で短い行で他の言語と同じ命令ができるのですか?
(例えばプリントメソッドなど)
0398デフォルトの名無しさん
垢版 |
2020/04/04(土) 08:04:26.39ID:pUvK7e6W
裏で妖精さんたちが頑張ってくれてるから
それと引き換えに妖精さんにわかる言葉でお話する時間だけ処理速度が遅い
0399デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:09:52.12ID:+dijpLcI
>>398
妖精とは?
ライブラリとはまた違うんですよね?
0401デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:21:32.41ID:sthBNuMB
妖精は心がきれいな人にしか見えないんだよ
ライブラリは心が汚い人でも見える
0404デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:45:01.78ID:ahx6kiBX
Goもやってみたいけどライブラリが少ないからなぁ、kivyみたいな便利なものが欲しい
0405デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:48:34.61ID:+dijpLcI
>>403
短い命令で書ける代償に何か遅いとかある?
0407デフォルトの名無しさん
垢版 |
2020/04/04(土) 10:03:52.58ID:VBb9fdzI
メモリポイント(MP)
0408デフォルトの名無しさん
垢版 |
2020/04/04(土) 10:21:52.16ID:hrm1EJZE
>>397
プリントなんてどの言語も大差ないと思うけど
どんなコードを見ていっているの?
0409デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:30:05.80ID:sthBNuMB
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
0410デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:34:23.89ID:OFkLhi5Y
Javaはいちいち大げさすぎる
Pythonとは文化が全く違うのでこのスレ民には用無し
0411デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:41:53.56ID:yxoY6Q+2
Javaは大規模開発に向いている
小規模でちょこちょこやりたいなら、Pythonで十分
0412デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:49:39.58ID:dq6PHYC/
しかしpythonのself地獄はいかんともし難い
となるとpythonはそれ用には作られてないのではと思ってしまう
0413デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:55:30.69ID:X8L51dAx
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0

UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0

学術巨大掲示板群: アルファ・ラボ
ttp://x0000.net
0414デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:57:49.17ID:OFkLhi5Y
>>412
そらそうよ
Pythonのオブジェクト指向機能は後付けだからな
最初から純粋なオブジェクト指向言語として作られたJavaとはモノが違う
0417デフォルトの名無しさん
垢版 |
2020/04/04(土) 13:50:04.85ID:FiD2LbJ0
後付けというかJavaScriptと同じプロトタイプだからな。
JavaScriptのthisとPythonのselfどっちがマシか?
0418デフォルトの名無しさん
垢版 |
2020/04/04(土) 14:15:14.04ID:+dijpLcI
>>415
でも主要な所はライブラリでCで書かれたのを使うから
実質は速いから問題ないっていう声も聞くんですが
0419デフォルトの名無しさん
垢版 |
2020/04/04(土) 14:18:38.12ID:pUvK7e6W
グダグダ言ってないで書いてpythonのできる範囲内ではどうやって遅いと思うなら他の言語に移植すればいい
その程度のスピードは出る
最初から世界最速目指さないと死ぬっていうなら別の言語のほうがいいが
0421デフォルトの名無しさん
垢版 |
2020/04/04(土) 14:40:20.14ID:g5yerRCZ
>>418
高速なライブラリがあるから、それを使う処理は高速にできる。
pythonという言語自体は他の言語に比べて相対的に遅いから、pythonで記述した処理は相対的に遅いから遅い。ただその遅さが許容できる範囲内かどうかは要件次第。
何も矛盾はしてないぞ。
要はケースバイケースなんだから、単に遅いとか速いとかバカな理解のしかたをしないで、正しく使い分ければいいだろ。
0424デフォルトの名無しさん
垢版 |
2020/04/04(土) 15:04:52.68ID:tWmNemEQ
Java 系と python 系では思想が違う
Java はなんでもちゃんと書くという思想
python はなるべく書かないという思想
それだけのこと
長所、短所は何とも言えない
0432デフォルトの名無しさん
垢版 |
2020/04/04(土) 19:28:37.89ID:zx3zKRQP
ありがとうございます。こちらで教えていただいたおかげで無事に1ページ目のURLやタイトルを取得し出力することができました。
今はページを遷移して全ページのタイトル、URLを取得しようとして、次へのURLは取得することができたのですが
最後のページは次がない為苦戦してます。get_htmlメソッドで別のページのhtmlを解析している動画があったので私も使ってみたのですが、
なぜか使えずNameErrorになってしまいました。何が原因なのでしょうか?get_htmlメソッド以外にもラストページのhtmlを解析できる方法がありましたら教えていただければ幸いです。
質問がわかりにくく申し訳ございませんが、宜しくお願いします。
0433デフォルトの名無しさん
垢版 |
2020/04/04(土) 20:02:27.84ID:V/ZRChdf
>>432
1.htmlを解析する
2.次のURLがある場合取得して1に戻る ない場合、終了する

だけなんだけど、エラー時の対処方法が分かりませんということかな

if文で分岐するか、try ~ exceptで囲んでしまうかなんだけども
0434デフォルトの名無しさん
垢版 |
2020/04/04(土) 20:15:38.36ID:onN5/Dtn
>>431
enumは後から値を書き換えられない&キーを追加できないかわりに、読みやすい、キーがシンボルなのでtypoしてもすぐに見つかる、値からキーを引けるのが大きな違いかなあ
0436デフォルトの名無しさん
垢版 |
2020/04/05(日) 10:05:48.14ID:xV9Ma8xZ
>>434
違いはイミュータブルとみやすさってことですかね
値からキーなら辞書でもitems()と内包表記でできますね
キーがシンボルというのはどういう意味でしょうか
0437デフォルトの名無しさん
垢版 |
2020/04/05(日) 10:49:10.66ID:tgzR2K8y
>>427
元々は数十個の連番の定数を定義するためにC言語で使われた
enumなんかは存在せず、全てdefineでやっていた
それが40年ほど掛かって進歩して、今日のenumになった
なので直感的に理解しやすいのはC言語のenumで、それ以降のenumは抽象度が上がってるので理解し難くなっている

そして現代プログラミングではそもそも連番の定数というものは使わない
連番の定数による状態の区分けと、OOPでの状態の区分けは、機能が相反する
0438デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:03:07.43ID:ZlQTcj/v
月の名前

4月 と April

とかは、一度定義すれば変わることはないので、一度定義したら変更不可にしておいた方が安全だというのが enum の有効な使い方
0439デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:18:43.11ID:+59aBvhV
>>432
ありがとうございます。エラーの対処がわかりませんでした。if文で作ってみますね。


>>435
不十分ですみません。コードありがとうございます。参考にさせていただきます。
0440デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:30:29.93ID:nuvXPfKL
>>436
enumと辞書は根本的に用途が違うよ。
enumは固定の値として使うもの。一連のグループとして括られるある定数の集まりに、分かりやすく名前とその値を決めてあらかじめ定義しておくためのもの。
辞書は入れ物。プログラムの処理の中で、必要に応じて中身を追加したり変更したり取り出したり削除するための箱。
0441デフォルトの名無しさん
垢版 |
2020/04/05(日) 16:48:45.00ID:zmv+0Bsd
tkinter.ttkってtkinterのサブモジュールだからfrom tkinter import * でロードされないのですか?
また
from tkinter import *
from tkinter import ttk
だと丁寧でないので
import tkinter as tk
import tkinter.ttk as ttk
としたいのですが、なにか(二重ロードなど?の)問題がありますか?
0442デフォルトの名無しさん
垢版 |
2020/04/05(日) 17:09:51.66ID:GKoximli
Pythonのインデント強制って結構欠陥じゃないか?
コピペが安定的にできんし見た目で何個空いてるのかも分からん
0443デフォルトの名無しさん
垢版 |
2020/04/05(日) 17:22:13.56ID:BHv6uIvk
俺も強制インデント好きじゃないな
括弧の方が好き

> コピペが安定的にできんし見た目で何個空いてるのかも分からん
不可視文字表示のプラグインを入れればいい
0445デフォルトの名無しさん
垢版 |
2020/04/05(日) 17:28:28.04ID:8W0pTwts
インデントがバラバラだと
イラつくから統一してるんだろ?

でもオレもRubyみたいに
整形の自由度高い方が好きだが
0446デフォルトの名無しさん
垢版 |
2020/04/05(日) 19:46:21.19ID:oKEzp2HP
そんなに嫌いではないけれど、やっぱ長い関数やクラスだと見づらいわな。
tensorflowとか長ったらしい関数使う割にインデント2って最悪だわ。
0450デフォルトの名無しさん
垢版 |
2020/04/05(日) 20:21:55.10ID:0MNLjFAZ
>>447
そうでもない

>>448
のぞましくない という。
少なくとも、先頭には使っちゃいやーん。
  (クラスかなにかと、まぎらわしくなるからだとかなんとか)

ただし、
不変な値の名前に、ならば、
全部大文字ならおk...らしい。
例) URL_TUPLE=("http://5ch.net";, "https://5ch.net";)
0456デフォルトの名無しさん
垢版 |
2020/04/06(月) 00:39:35.30ID:WU94L+3C
くだすれってなに?
0460デフォルトの名無しさん
垢版 |
2020/04/06(月) 06:07:21.92ID:1orLNsgs
>>456
「(上級者wwwからしたら)くだらない(かもしれない)質問を書くスレ」の略語らしいぞ
0462デフォルトの名無しさん
垢版 |
2020/04/06(月) 22:23:54.27ID:Dhdswjlr
Python, Markdown, Yaml などは、

VSCode の有名な拡張機能、indent-rainbow でカラー表示できる!
0463デフォルトの名無しさん
垢版 |
2020/04/06(月) 22:30:04.61ID:/pKVQL2g
vscode入れ直したらクラスは2行開けとか、カンマの後はちゃんとスペース入れるとか、空の空白入ってるとかで警告出てたの出なくなっちゃった
どこいじったのか覚えてないや
0466デフォルトの名無しさん
垢版 |
2020/04/07(火) 19:39:39.11ID:MVFjKYjb
pyautoguiでも何でもいいのですが、
別の仮装デスクトップ上に画面とか展開して自動で動かす方法はないですか?
メインのデスクトップ上では他の作業をしてるので、自動化作業は、別の仮装デスクトップ上で不可視の状態で進んでいて欲しいです。
0468デフォルトの名無しさん
垢版 |
2020/04/07(火) 19:51:36.91ID:nX2JoaOK
>>466
無理
俺も前似たようなことやろうと思ったけど、仮想デクストップ系の制御はあんまり融通が効かない
0472デフォルトの名無しさん
垢版 |
2020/04/08(水) 08:35:20.80ID:jQHFC0rR
Pythonでグラフィック使ったゲーム作りたいんですがGUIライブラリ入れたらできますか?
方法があれば教えて下さい。試しにKivyての入れようとしたら難しすぎて無理でした。
0474デフォルトの名無しさん
垢版 |
2020/04/08(水) 09:28:45.22ID:uM85rkI7
>>472-473
「ハサミを買っても使い方が難しくて分からない」と言ってるやつは
永遠に「ハサミで紙を切る」ことができないままだ。

アナコンダはGUIアプリを作るためのものではないので
へのつっぱりにもならん。
0475デフォルトの名無しさん
垢版 |
2020/04/08(水) 09:30:55.98ID:qM29robv
ゲーム作るならPythonを今すぐ投げ捨ててUnityを使おう
Pythonに拘って今どれだけ苦労しようともいずれ必ず他へ移行することになるんだし、Unityなら初心者向けの本などは腐るほどある
0476デフォルトの名無しさん
垢版 |
2020/04/08(水) 09:33:01.41ID:J0JU7WJK
kivy慣れるとめっちゃ便利なんだよな
しかも覚えるとUnityやSwiftまで簡単に見えてくる
0477デフォルトの名無しさん
垢版 |
2020/04/08(水) 09:51:20.83ID:jQHFC0rR
>>474 Kivyは使ったことすら無くてインストールでつまずいてます。
>>475 調べたらUnityはゲームエンジンで言語はC#ですね。C#用の無料IDEがあるかどうか。
>>476 そうですかインストール頑張ってみようかな。簡単に越したことはないし
0479デフォルトの名無しさん
垢版 |
2020/04/08(水) 09:53:16.19ID:Ph0iXt3g
GUIアプリってのもまた微妙な言葉だな。
ゲーム、ブラウザ、デスクトップアプリ、スマホアプリ
でも取り扱いが全然違うだろ。
0480デフォルトの名無しさん
垢版 |
2020/04/08(水) 10:53:59.23ID:jQHFC0rR
わかりやすい解説見つけたからやってみたらKivyインストール出来た
せっかく環境作って途中まで勉強したしPython + Kivyで作ってみます。ありがとうございました
0481デフォルトの名無しさん
垢版 |
2020/04/08(水) 11:03:39.60ID:uM85rkI7
>>480
ここまでスレ使ったんだから
その
「わかりやすい解説」とやらのページに行くための検索単語か
「h」をとったttp以降のアドレス書いてけよダボハゼ
0482デフォルトの名無しさん
垢版 |
2020/04/08(水) 11:25:39.26ID:jQHFC0rR
いやせっかくUnity教えてもらったし迷ったけどKivyの方が簡単て聞いたからだけど
結局Kivy入れるならもっとKivyのインストール調べてから聞くべきでした。失礼しました
参考にしたブログは
ttps://algorithm.joho.info/programming/python/kivy-install/
0483デフォルトの名無しさん
垢版 |
2020/04/08(水) 12:46:17.42ID:lWfV0IAd
>>472
pygame
0484デフォルトの名無しさん
垢版 |
2020/04/08(水) 14:37:45.00ID:eAo5BdNs
pythonとはライブラリである
実際のプログラムはjuliaで書く
pycallで呼び出せばいいのだ
0485デフォルトの名無しさん
垢版 |
2020/04/08(水) 18:51:34.73ID:91DNWNmi
これのインストールのどこが難しすぎるんや???
煽り抜きでがちで解せぬ
zip解凍してexe叩くのに比べて難しいってこと?何と比較して難しいの?え?
0486デフォルトの名無しさん
垢版 |
2020/04/08(水) 20:17:29.14ID:0wClQ2mN
質問です
100万個くらいの点があって、それぞれ名前、X座標、Y座標を持っていて、
その中で2点間の距離が、ある範囲にある点の組を抽出したいのですが、
速度が速いのは、どういう方法になりますか?

いまは全然Pythonっぽくなく、単に各点の名前、座標でリストにして、
X、Y座標のforループ2つで、距離はmathで三平方の定理…です

ただ、100万×100万÷2も回すのはさすがに辛いので、
一応時短のため、先にリストはX座標でソートしておいて、Xの小さい方から評価して、
X座標の差が、距離の範囲のmaxを超えたらbreakでXのループ抜ける…ってのだけしてます
0489デフォルトの名無しさん
垢版 |
2020/04/08(水) 20:47:22.64ID:Oqe9V/es
とりあえずマンハッタン距離で評価してマンハッタン距離>=ユークリッド距離は自明だからそれでフィルタする
0490デフォルトの名無しさん
垢版 |
2020/04/08(水) 23:10:17.60ID:qM29robv
空間を適当なサイズのメッシュで分割して、互いに近くにあるセルのペアに含まれる点だけで距離を計算すればいい
俺も全く同じことをやったことがあるんだが、見も蓋もないことを言えば
ぶっちゃけ手間暇かけてそういう工夫するよりCで普通に二重ループぶん回した方が結局手っ取り早くて遥かに速いよ
0491デフォルトの名無しさん
垢版 |
2020/04/08(水) 23:23:28.52ID:kz0qlGwe
>>486
一回しかやらない処理ならpythonでいいけど、毎回計算処理入るようなシステムに組み込むならコンパイル言語でやった方がいいわ。
0493デフォルトの名無しさん
垢版 |
2020/04/09(木) 01:10:22.16ID:fZEVtxvj
1兆回のループで何分くらい?
0494デフォルトの名無しさん
垢版 |
2020/04/09(木) 01:23:00.56ID:w8oVZoDk
>>486
理論的なことは他の人が答えているので実践的なことを一つ

モジュールscipy.spatialにKDTreeってのがあるからそれで解決
0495デフォルトの名無しさん
垢版 |
2020/04/09(木) 02:21:30.49ID:zooYQAb2
>>487-494
回答ありがとうございました!
いろいろヒント貰ったので、それぞれ試してみます

>>493
さすがに1兆回やりきったことはなくて、
>>486で、データによるけど100億のオーダーくらいには減らして、
6時間〜半日くらいかかってます(遅いノートPCだからってのもありますが)
0496デフォルトの名無しさん
垢版 |
2020/04/09(木) 02:50:53.88ID:4jvLaI/L
class Base():
__def __init__(self):
____self.a()
____self.c()

__def a(self):
____def b():
________pass
__def c(self):
____pass

self.c 内の処理でself.a内関数bを呼び出したいんですが、なんと書けばいいのでしょうか
0497デフォルトの名無しさん
垢版 |
2020/04/09(木) 03:19:05.59ID:w8oVZoDk
>>496
def a(self)の戻り値にreturn bとして関数を返す
そうするとself.a()で関数bが帰ってくるから
b2=self.a()
b2()
で呼び出せる
一行でかくならself.a()()となる
0499デフォルトの名無しさん
垢版 |
2020/04/09(木) 14:16:39.37ID:ksOzelVE
マルチスレッド・プロセスでやるとリークの温床になりそう。
Baseオブジェクトがbオブジェクトに依存するという関係が。
0500デフォルトの名無しさん
垢版 |
2020/04/09(木) 15:09:05.18ID:cpPSKMvd
マルチプロセス入れたら軽くなった
global使いまわしてるとこエラー出まくってたけどTryで解決した
0501デフォルトの名無しさん
垢版 |
2020/04/09(木) 19:52:09.26ID:XJeI50tK
座標系aで表された3次元の点群の組と
座標系bで表された3次元の点群の組があって
座標系a→bに変換する行列をsolveするライブラリはありますか
aとbはどちらも直行座標系で、回転と並行移動で変換できることは既知です
そして各座標における点の対応関係も全て既知なので、pnpみたいにsolveして欲しいイメージなのですが
0502デフォルトの名無しさん
垢版 |
2020/04/09(木) 20:06:42.40ID:ECwfuEfZ
ちなみに何をしたいかというと
座標系aでは点群は全てz軸上に乗っていてx,yは全て0なので
座標系a上で、別の2次元点群をx,yに配置して(zは等間隔に適当に配置)
a→bの変換によって座標系b上で点群に沿ってこの2次元点群を投影したい
0503デフォルトの名無しさん
垢版 |
2020/04/10(金) 06:52:09.43ID:uDvGi+nW
未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&;t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
エンジニアはお金を追求してはいけないという年寄りを論破してみた
https://www.youtube.com/watch?v=qJHCmxFv718
プログラミングスクールを否定する老害どもについて
https://www.youtube.com/watch?v=K2SN-Rr0PgY&;t=506s
新人叩きしてる古参勢がすぐ儲からなくなる理由
https://www.youtube.com/watch?v=Ch9Ir8O-iqU&;t=332s
0505デフォルトの名無しさん
垢版 |
2020/04/10(金) 10:12:41.92ID:nz1tlAhX
>501
>回転と並行移動で変換できることは既知

そこまで判ってるなら逆行列で終わり
0506デフォルトの名無しさん
垢版 |
2020/04/10(金) 10:14:56.72ID:nz1tlAhX
>>502
それって逆行列が無いパターンかもな
0508デフォルトの名無しさん
垢版 |
2020/04/10(金) 15:18:45.94ID:K9RJlzNI
Pythonはどうして同じ命令を他の言語と比較して簡素に記述できるのですか?
0510デフォルトの名無しさん
垢版 |
2020/04/10(金) 15:24:36.26ID:8EAe0xMT
>>508
簡素なことを書いたら
いっぱいある暗黙の作業な部分はPythonアプリ側が勝手にやってくれてるから
0511デフォルトの名無しさん
垢版 |
2020/04/10(金) 16:40:58.94ID:k/YdHOe5
中カッコを書かないとか
型宣言をしないとか
文の終わりに記号がないとか

そのへん?
0514デフォルトの名無しさん
垢版 |
2020/04/10(金) 18:00:16.30ID:tJvmHEKv
>>508
前にも言ったが言語(環境)の中に
より詳細な命令が書いてあるから
ただしその分実行速度が遅くなるが
0515デフォルトの名無しさん
垢版 |
2020/04/10(金) 18:09:58.00ID:EbTu80yE
型無し言語だからに尽きるんじゃないの?
ライブラリの充実具合ならjavaやc#に及ばないし
0516デフォルトの名無しさん
垢版 |
2020/04/10(金) 18:11:28.09ID:mRiiX+60
この質問別のスレでも見たな

>>508
・比較しているのは具体的にどの言語か
・具体的にどのようなコードか
この二点を明確にしてくれ
0519デフォルトの名無しさん
垢版 |
2020/04/10(金) 20:30:24.36ID:GziE5Jrh
from XYZ import XY as Z でパッケージを読み込み自作クラスA内でz=Z()とインスタンスを作成しています
このインスタンスzがエラー吐いたとき、exceptになんと書けば捕捉できるのかおしえてください
エラー内容は
raise RegexMatchError(caller="get_config", pattern="config_patterns")
XYZ.exceptions.RegexMatchError: get_config: could not find match for config_patterns
です
z.exceptions.RegexMatchError や z.RegexMatchError ではno attributeと言われてしまいました
0521デフォルトの名無しさん
垢版 |
2020/04/10(金) 20:35:16.10ID:K9RJlzNI
なるほど…

遅い遅いって具体的に何が遅いんですか?
0522デフォルトの名無しさん
垢版 |
2020/04/10(金) 20:39:22.03ID:8EAe0xMT
>>519
caller="get_config"
たとえば↑これだと、callerにはただの文字列「get_config」が渡ってるんだけど
それでいいのか?

もっと上の方で変数名get_configとかに何かリストなり文字列なりをあててて、
それを引数として渡したいのなら書き方違うぞ。

あと
raise RegexMatchErrorで検索するとpytubeなるものしかHitしない件。
そして
それんなかのpatternには
通常たぶんre.pattern(なんや正規表現な指示)で
コンパイル済みの文字列が入っている件。
0524デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:03:10.70ID:GziE5Jrh
>>522
AtomのRunnerのコピペだと上記のような感じ
e.type すると class `XYZ.exceptions.RegexMatchError`>
e.aegs すると `get_config:could not find match for config_patterns`
です。インスタンスはz=Z(文字列)で、例外処理を書きたくてわざとアンマッチな文字列投げてるんですが
どうキャッチしたらいいのかわからないのです
0525デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:04:53.89ID:GziE5Jrh
おっと
except Exception as e : str(type(e))とstr(e.args)ですね
0526デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:41:23.04ID:L7OYJgcU
>>519
RegexMatchErrorを定義してるpytube.exceptionsモジュールをimportしてればexcept RegexMatchError:
import pytubeしてれば except pytube.exceptions.RegexMatchError:
0527デフォルトの名無しさん
垢版 |
2020/04/10(金) 21:58:12.08ID:GziE5Jrh
あーなるほど
どうもありがとうございました
0528デフォルトの名無しさん
垢版 |
2020/04/11(土) 09:01:41.18ID:baIYUoyt
メインクラスがあって、メンバとして別クラス(仮にA)のインスタンスを持っているとき、
Aの中のメソッドからメインクラスのメンバやメソッドにアクセスするにはどうすれば良いですか。
0529デフォルトの名無しさん
垢版 |
2020/04/11(土) 09:52:19.98ID:rpboyRp0
え、普通に
メインクラスのself.クラスAのインスタンス.メンバ
でアクセスできないですか?
0530デフォルトの名無しさん
垢版 |
2020/04/11(土) 10:05:21.63ID:3U1NgBPQ
おいーす 俺Python初心者
Pythonはインデントが必須らしいけどコピペするときとか困るんじゃないの?あとめんどくさくない?
この言語ってええの?
0531デフォルトの名無しさん
垢版 |
2020/04/11(土) 10:22:13.93ID:NNgfTpfC
>>528
Aのコンストラクタにメインクラスのインスタンス渡してA側でメインクラスのインスタンス保持させておいてそれ経由でアクセスする
0532528
垢版 |
2020/04/11(土) 11:40:33.99ID:baIYUoyt
>>529
有難うございます。
メインクラスからAのインスタンスのメンバにアクセスしたいのではなく、
Aのメソッド中からメインクラス(のインスタンス)を参照したいのです。

もうすこし具体的にやりたいことは、メインクラスでウィンドウやUI処理させて、
Aクラスは裏で通信やデータ処理をして、結果をUIに返すみたいなことです。
データ処理の結果を、メインのUIでメッセージボックスやログウィンドウに出力するのに、
メインクラスのメソッドを呼ぶにはどういうクラス構成にしたら良いのかなという疑問でした。

>>531
やっぱりどこかでメインクラスのインスタンスへの参照を渡さなきゃいけないのですね。
ありがとうございました。
0534デフォルトの名無しさん
垢版 |
2020/04/11(土) 12:51:21.82ID:l/viBljq
>>530
初心者以前じゃね?
こまんないよ めんどくさいかどうかは、入力補助アプリ使うかどうかとかによる
いいかどうかは目的次第だが、流行ではある。
0535デフォルトの名無しさん
垢版 |
2020/04/11(土) 15:17:05.23ID:Rx07X+Iy
>>530
コピペミスなら見た目で判断できるから問題ない
きれいに書くクセがついてない人を矯正する言語と考えれば初心者向けではある
0537デフォルトの名無しさん
垢版 |
2020/04/11(土) 16:09:21.34ID:Rx07X+Iy
>>536
直せばいいと思う
あなたはプログラミング上のミスをどうやって修正してる?
数百行書いてる時点でその他のミスもでてるはずだけど、それと同じように直せるはずだよ
0539デフォルトの名無しさん
垢版 |
2020/04/11(土) 16:19:28.66ID:l/viBljq
>>536
かの秀丸エディタ様には
範囲選択して右クリック→インデントを増やす・減らす機能があるぞよ。
0541デフォルトの名無しさん
垢版 |
2020/04/11(土) 16:38:34.48ID:Ni1vKiQd
>>536
Pythonはコピペに対して脆弱なのは間違いない
そこは諦めて使うかミスが発生しそうなコピペはやめるか
対象範囲のみdiffとったりしてリスクを許容範囲まで下げる

>>537
「目視でチェックするのか?」って聞かれて
「直せばいいと思う」ってなんやねんw

>>538
エラーが発生するケースはまだマシ
0542デフォルトの名無しさん
垢版 |
2020/04/11(土) 16:41:33.76ID:l/viBljq
そもそも
インデントエラーがスーパー出まくるような
くそ長いorむやみに深いネストを作るな。
538が言う通りである。
0543デフォルトの名無しさん
垢版 |
2020/04/11(土) 16:42:42.64ID:U79xAJ2e
こいつらpycharmもしらんのか?
使ってたらインドンテがずれるとか一発でわかるんだけど
0546デフォルトの名無しさん
垢版 |
2020/04/11(土) 17:16:36.96ID:3U1NgBPQ
>>542
出まくるとかじゃなくて一ヵ所でもあったら動作しないだろうに
0547デフォルトの名無しさん
垢版 |
2020/04/11(土) 17:32:32.18ID:YKvanYCA
>>541
エラーに行数出るんだから簡単に直せるじゃん
数百行はどうすんの? なんて言ってる奴はインデント以外のミスはどうすんだよ?って話
0548デフォルトの名無しさん
垢版 |
2020/04/11(土) 17:38:48.46ID:4HmUYAnX
どうすんの?って書いてる奴は別に今困ってるわけじゃないんだよな?

将来の杞憂をここに書かれてもな
嫌ならpythonやめて他の言語覚えてもいいんだよ?
0549デフォルトの名無しさん
垢版 |
2020/04/11(土) 18:49:20.39ID:Ni1vKiQd
>コピペミスなら見た目で判断できる
どうやって見た目で判断するの?

>直せばいいと思う
は?

>エラーに行数出るんだから簡単に直せる

見た目で判断できるから問題ないというのは
エラーで行番号がわかるから修正可能って意味だったのかー
エラーになってくれるといいね
0550デフォルトの名無しさん
垢版 |
2020/04/11(土) 19:00:25.49ID:M1rolH0E
すみません>>530ですが、メモ帳でしかプログラミングしたことないですのでツールの話はやめてください

pythonはやめてScalaにします
0551デフォルトの名無しさん
垢版 |
2020/04/11(土) 19:56:14.28ID:TRGikFff
ヲタはすぐにツールとかでマウント取りたがる
別に自分で開発したわけでもないくせに
ツールに頼るとコードを書く能力が落ちるぞ
0553デフォルトの名無しさん
垢版 |
2020/04/11(土) 20:49:46.83ID:6g5H7RR3
PythonよりScalaの方が難しいし
メモ帳しか使えないのに
使いこなせるとはとても思えない
0556デフォルトの名無しさん
垢版 |
2020/04/11(土) 21:48:03.64ID:zpjGHkVa
むしろツールを使いまくってコードをできるだけ書かないのが最近のトレンドだろ

目的がコードを書くことになっちゃあかんぞ
と、コードを書くことが好きな人が多い板で言ってみる
0557デフォルトの名無しさん
垢版 |
2020/04/11(土) 21:57:47.27ID:KrvrVmHy
Software Design 2月号の、Python 特集に、

VSCode で、Microsoft 製のPythonの拡張機能を入れて、
Python.jp の手順通りに、venv で仮想環境を構築すると書いてある

Windows 10, WSL, Ubuntu 18.04 なら、最初からPythonが入っている。
VSCodeの拡張機能・Remote WSL で、Linux にアクセスできる

file `which python`
/usr/bin/python: symbolic link to python2.7

file `which python2`
/usr/bin/python2: symbolic link to python2.7

file `which python3`
/usr/bin/python3: symbolic link to python3.6
0558デフォルトの名無しさん
垢版 |
2020/04/11(土) 22:05:56.66ID:TRGikFff
>>556
うまく表現できないが、補完機能を使って書いたコードには魂が入っていないから
書いた本人もコードの内容を三日で忘れてメンテできなくなると思うんだ
0559デフォルトの名無しさん
垢版 |
2020/04/11(土) 22:43:08.54ID:l/viBljq
補完機能を使ったらコード内にコメント書かないとか
あふぉといったらあふぉに失礼なレベルだぞwww
0560デフォルトの名無しさん
垢版 |
2020/04/12(日) 01:15:25.34ID:kO9eoW6/
software design ってネラーの暇人が小遣い稼ぎに記事描いてるイメージ
0562デフォルトの名無しさん
垢版 |
2020/04/12(日) 03:19:11.42ID:olxRYtrQ
a = 1
"a" + str(a)
型無しスクリプト言語なのに変換必要な意味ってある?
ここらへんの思想どっかに載ってないかな
0563デフォルトの名無しさん
垢版 |
2020/04/12(日) 03:42:46.67ID:43im3Bh2
お前はPHPやってろ
0564デフォルトの名無しさん
垢版 |
2020/04/12(日) 04:03:04.07ID:G3JTGpGI
>>562
Rubyも暗黙の型変換は(標準で)しない
なお型が無いのではなくて動的型付け言語だ

それでなぜ自動で型変換しないかといえば
バグの原因になりやすいから

個人的にもしなくていいと思ってる
ほんのちょっとの型変換を省く手間より
デバッグの労力が大変になる方が大きいから
0565デフォルトの名無しさん
垢版 |
2020/04/12(日) 04:13:48.20ID:VRY0Up0I
型がないというより、型がなんなのかを考えてくれる機能が付いている
その機能がカバーしてない部分は型を宣言しないといけない
0566デフォルトの名無しさん
垢版 |
2020/04/12(日) 07:02:05.23ID:zi/Lsyjr
ぶっちゃけ現場によってはセキュリティによって
ツールのインストールがくっそ面倒な所があるから、何となく気持ちは分かる

例えば秀丸のみ使用可の所とVSCode+使用可プラグイン(特にflake8とBlack)が使える所で
同じPythonプログラムの開発やらせたら絶対に印象が変わる
0571デフォルトの名無しさん
垢版 |
2020/04/12(日) 09:10:24.42ID:PJaq7P3r
いわゆる「人権が確保されてない」スペックしかない
クソなPCしか置いてない現場も世の中にはごまんとあるんですよ!
0572デフォルトの名無しさん
垢版 |
2020/04/12(日) 09:11:07.89ID:/AJWevTM
秀丸が好きでそればっか使うとかならわかるけど、それしかダメな理由がわからん
0573デフォルトの名無しさん
垢版 |
2020/04/12(日) 09:15:27.53ID:adFA+Z6u
>>562
数値の加算と文字列連結は全く意味の異なる演算であり、それらを同一のものとして扱いたい場面は現実にはほぼ全く無い
関数の引数に渡した値の型によって関数中の+が数値加算になったり文字列連結になったりすると、おそらくどちらか一方の挙動はバグでしかない
だから、文字列となるケースを限定ことでバグの可能性を(完全ではないが)抑えている
Rubyも同じだが、静的型付けでないからこそ型による制約を強める必要がある代表的な例だ
一方で例えばJavaやC#では数値+文字列は暗黙的に文字列連結になるが、これは静的型付けならどっちの挙動になるかは文脈から間違いなく明らかだから問題ないんだよ
0575デフォルトの名無しさん
垢版 |
2020/04/12(日) 09:55:01.87ID:bw0e2MSi
まともなセキュリティ規範を持っている組織なら、IT環境へのフリーソフトのインストールや
ネット接続は厳しく制限されているのが普通なわけでして
特別に認められたソフトしか入れられないというのは当たり前で、ましてネット接続を前提とした
VSCodeのようなプラグイン拡張を売りにしているツールの導入は至難の業でございます
0578デフォルトの名無しさん
垢版 |
2020/04/12(日) 10:03:24.23ID:3eCAlvKR
つーかこの板にいるほど知的好奇心高い人たちがなんでSIerで働いてるんだよ

客先常駐じゃリモートワークできるところも少ないだろ
0579デフォルトの名無しさん
垢版 |
2020/04/12(日) 10:03:48.85ID:9fAWEZzH
質問です

Cython?とやらを使えばC言語に変換できて高速化できるのなら
どうしてPythonが低速なのが欠点みたいに言われてるのですか?
全部毎回Cythonに変換すればいいじゃないですか 実質C言語と同等なんですよね?
0580デフォルトの名無しさん
垢版 |
2020/04/12(日) 10:07:54.35ID:z6qfx9Hn
SIerはたいてい「客先のセキュリティ要件に準じる」だよ
で結果的にユーザー企業のITリテラシーのない一般社員達のための基準に従うことになる
SIer自身はOSSの導入などに理解のあるところも多いのだが、それについて客に対して物を言えずにペコペコしてしまうことに問題がある
SIerからすれば、工数で金取ってるから不便なほど儲かるしね
0582デフォルトの名無しさん
垢版 |
2020/04/12(日) 10:19:29.07ID:PJaq7P3r
>>579
Cython使わないとはやくならない
Cythonを適用するのに時間がかかる
さらに
579はあふぉ
↓でもよんでおk
ttps://qiita.com/pashango2/items/45cb85390193d97523ca
0585デフォルトの名無しさん
垢版 |
2020/04/12(日) 11:21:34.02ID:kH7j2wOo
cで書けば書き方に関係なく早くなるわけではない
早くする書き方がある。かなりコンパイラががんばるけど
どうにもならないことはある
0586デフォルトの名無しさん
垢版 |
2020/04/12(日) 11:23:21.09ID:9fAWEZzH
>>585
でもベストを尽くすデメリットはないですよね?
なら常にベストを尽くすようにすればいいんじゃないんですか?
0587デフォルトの名無しさん
垢版 |
2020/04/12(日) 11:30:15.58ID:j35eJcDN
>>579
マジレスするとnumpyとかで充分
0588デフォルトの名無しさん
垢版 |
2020/04/12(日) 11:54:21.04ID:PJaq7P3r
>>586
> ベストを尽くすデメリットはないですよね?
> なら常にベストを尽くすようにすればいいんじゃないんですか?

       ヽ|/
     / ̄ ̄ ̄`ヽ、
    /         ヽ   こっ これが 世にいう
   /  \,, ,,/    |   「銃殺刑がふさわしい」レベル・・・!
   | (●) (●)|||  |
   |  / ̄⌒ ̄ヽ U.|   ・・・・・・・・ゴクリ。
   |  | .l~ ̄~ヽ |   |
   |U ヽ  ̄~ ̄ ノ   |
   |    ̄ ̄ ̄    |
0589デフォルトの名無しさん
垢版 |
2020/04/12(日) 11:56:24.87ID:MlWnOvRE
>>575
なるほどGAFAは「まともなセキュリティ規範」とやらを持ってないわけですね。
勉強になります。
0591デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:12:51.16ID:/oHJ0KMC
ノートPC上でPythonを使って簡単な機械学習アプリを作成しようと思ってます

あまり予算がない場合、
CPUとメモリどちらに予算を割くべきでしょうか?

最高級CPU メモリ8G

そこそこのCPU メモリ16G

だったらどっちが良いですか?
0595デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:30:13.28ID:9fAWEZzH
話聞けよ
0599デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:46:15.19ID:6lipWj9+
客先常駐セキュリティ規範マンくんさぁ、明日も満員電車に揺られるのかい?
0600デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:47:37.04ID:PJaq7P3r
このご時勢で満員電車があると思ってる自宅警備員はチゴイネ!(・∀・)
0601デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:50:05.35ID:MlWnOvRE
まあSIerのカスどもは自分の責任になるようなことは禁止させるからな。
結局それだけしか見てねーんだわ。あとはお客に対する土下座が仕事内容になってる。
このご時世ならさすがにリモートさせるだろう。どんなに仕事が滞ろうとも。
0602デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:50:51.12ID:yrGi+Oru
質問です。例えば[名前、身長、体重、ウエスト]を並べた2次元リストで、
 #こんなリスト→ [['鈴木',173,68,85], ['佐藤',168,59,80], ………]
身長、体重、ウエストで何か計算をした結果で、リストを並び変えたり条件抽出をしたい
で、計算が複雑だったり、人数が多かったりするときの、時間短縮をしたい

numpyだとかの使い方の説明をググると、文字列と数値の混在の例が探せない
そして、↓みたいに数名の例で、名前の部分をprint分に直接記載して表示……とか

 print(' 鈴木 佐藤 高橋 田中 伊藤')
 print(keisan_kekka)

これは人数が多いと無理なので、ざっくりな質問で恐縮ですが、何かいい方法ありませんか?
計算のために数値だけのリストが必要なら、名前を除いた別のリストを作っても良いかとは思うのですが、
最終的に名前と紐付けないといけないし……
0603デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:52:05.34ID:iGsJxRh4
>>591
CPUもメモリも程々
GPUに金かけろ
0604デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:53:50.39ID:iGsJxRh4
名前を数字にしろ
0605デフォルトの名無しさん
垢版 |
2020/04/12(日) 12:59:15.13ID:9fAWEZzH
>>597
質問者おちょくってんなよ
0607デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:01:55.18ID:ufBiK+My
>>591
機械学習の種類によるけど
そこそこCPU+メモリ8GB+そこそこGPU
基本はこれ一択
GPU無しは有り得ないwww
0609デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:02:58.14ID:FUhVdOGa
よく知らんで発言するけど
numpyって数値計算のライブラリだから混在はダメなんじゃない?
0610デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:03:11.23ID:ufBiK+My
すまん、svmくらいなら何でもいいわw
セルロン4GBとかでいいんじゃね(鼻ほじ)
0611デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:15:38.34ID:cF49kzQK
>>602
>身長、体重、ウエストで何か計算をした結果で、リストを並び変えたり条件抽出をしたい
>で、計算が複雑だったり、人数が多かったりするときの、時間短縮をしたい
したいなら、したらいいじゃない

> numpyだとかの使い方の説明をググると、文字列と数値の混在の例が探せない
numpy知らないけど、Pythonでできるぞ

>これは人数が多いと無理
なんで?
0614デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:19:27.90ID:cF49kzQK
あと、ケースによってはdbにぶち込んだ方が早い場合もある
0615デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:19:55.57ID:9fAWEZzH
>>613
え?翻訳機みたいなのが勝手にコンパイルみたいにチャッチャッとしてくれるんじゃないんですか?
0617デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:34:27.51ID:bw0e2MSi
>>615
あーこの口調、いつもの質問のふりしてつっかかってくる荒らしだろ
暇だからって荒らすんじゃないよ
即刻NGで
0619デフォルトの名無しさん
垢版 |
2020/04/12(日) 13:58:57.45ID:nZCR2Qu6
Javaしか経験なくて、
どんなデータ型扱ってるのかもわからなくなるのですが
簡単にわかる方法があるんですか?
0622デフォルトの名無しさん
垢版 |
2020/04/12(日) 14:37:05.05ID:e8eztLOq
学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net

数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
0623デフォルトの名無しさん
垢版 |
2020/04/12(日) 15:02:15.98ID:1hynA/f1
機械学習系の案件のゴールって何なの?
アプリ系ならアプリ作って終わりなことが多いけど機械学習系のものは運用しながら手探りでやっていく感じ?
0624デフォルトの名無しさん
垢版 |
2020/04/12(日) 15:36:43.63ID:z6qfx9Hn
>>623
偉い人に「やりました」と報告することがゴール
ほとんどの案件はPoCで終わる
ぶっちゃけ異常な持ち上げられ方だったから、コロナショックが明けたらAIブームは一気に収束するんじゃないかな
0628デフォルトの名無しさん
垢版 |
2020/04/12(日) 19:10:45.14ID:ufBiK+My
>>623
案件によるだろ
データに適用して結果報告して終わりなのもあったし
学習したモデルをシステムに組み込んで運用してるのもあるよ
0630デフォルトの名無しさん
垢版 |
2020/04/12(日) 19:32:20.52ID:08JOurLd
とりあえず貼ってみます

標準入力から文字列を読み込もうとするとエラーになるんですけど、どうしたらいいでしょうか

1 import sys
2 for line in sys.stdin.readlines():
  〜

てやると行2でStdin.Catcher object has no attribute 'readlines'て言われます。
0632デフォルトの名無しさん
垢版 |
2020/04/12(日) 19:59:08.05ID:43im3Bh2
Pythonistaだからやろなぁ
0634デフォルトの名無しさん
垢版 |
2020/04/13(月) 05:10:02.74ID:lVi9Np9P
クラス定義の外でグローバル宣言?した変数の
スコープはファイルのなかだけですか。
0635デフォルトの名無しさん
垢版 |
2020/04/13(月) 09:56:18.24ID:xWnIwwwl
モジュールインポートすればモジュール名経由でアクセス出来る
0639デフォルトの名無しさん
垢版 |
2020/04/13(月) 17:32:47.93ID:xRaxIRXQ
>> 638
難しい質問だなぁ
何がしたいのかもう少し説明が欲しい

そのものズバリの回答ではないけど、比較演算なら以下のように行える

1. 何もない
JavaScriptのnullに相当するのはPythonではNone
Noneでないかどうかはif val is not Noneでチェック

2. 未定義である
JavaScriptの undefined に相当する定義はPythonにはない
未定義でないことを確認するにはlocals()やglobals()を使って
if ‘val’ not in locals() あるいは if ‘val’ not in globals()

3. 空文字
長さが0の文字列を表すのは””や’’
空文字でないかどうかの判定はif val != ‘’ やif not val

4. 空のリスト・タプル・辞書
空のリスト val=[] の判定は if val == [] あるいはif not val
前者はリスト型かどうかをチェック、後者は型チェックなし
空のタプル、空の辞書も同様

5. 文字列の最後
C言語で言う所のNULL文字の概念はないので否定の概念もない
文字列が終わりかどうかは文字列の長さで行う

6. ヌルポインタ
C言語で言う所の(void*)0をそのまま書くならc_void_p(0)
何と比較しても一致するものがない
0640>>639
垢版 |
2020/04/13(月) 18:12:07.05ID:lVi9Np9P
たんに1.だったんですけどすごく勉強になりますありがとうございます。

Javaしかしたことなくて型が明確じゃないと自動補完が効かなくて不便な気がするのですが
どうしたら便利ですか。
0642デフォルトの名無しさん
垢版 |
2020/04/13(月) 18:28:38.16ID:IE4bYyG/
どこでしたらいいですかって基本的にクラス内でしかできんやろ
チュートリアルくらいやったか?
0643デフォルトの名無しさん
垢版 |
2020/04/13(月) 18:29:04.28ID:53wmutI9
ガイジの相手をするな
0645デフォルトの名無しさん
垢版 |
2020/04/13(月) 18:55:28.39ID:xRaxIRXQ
>>640
幸せになるにはVScodeやJupyterを使うことかな、それで補完はOK
Noneとか入れてしまうと流石に補完は効かないけど、普通にインスタンス作ったときは補完されるよ

>> 641
ここでチマチマ聞くよりも公式ページのチュートリアルをやる方が早いと思う
https://docs.python.org/ja/3/
の9.3.5.クラスとインスタンス変数に書いてある
0646デフォルトの名無しさん
垢版 |
2020/04/13(月) 20:09:26.21ID:lVi9Np9P
>>642
Javaのstatic宣言みたいな宣言じゃないのに
メソッドやコンストラクタの外だとクラス変数になるのがよくわかりませんでした。
チュートリアルやります。ありがとうございます。

>>645
PyCharmでやってました。ほかのも試してみます。ありがとうございます。
チュートリアルやります
0647デフォルトの名無しさん
垢版 |
2020/04/14(火) 03:49:37.43ID:6FpXVfMV
Noneの判定を is でやるのは御法度じゃなかったっけ
それとも御法度は is True/Falseだったか?
0649デフォルトの名無しさん
垢版 |
2020/04/14(火) 09:25:44.22ID:4XVcTuP3
>>647

NoneもTrue/Falseの判定も is を使う
isを使う場合の御法度はnumpy.bool_型と普通のbool型の比較かな

○ np.True_ == True
× np.True_ is True

例えば変数aがnp.bool_型の場合には
if a == True:
とする必要があるが、linterが入っていると「a is Trueという記法のが良いよ」と言われて直すとバグになる
0651デフォルトの名無しさん
垢版 |
2020/04/17(金) 07:46:54.36ID:XykWvVY9
https://ideone.com/e.js/Fq5Yrt

tkinter内で作成したプログレスバーを並列動作させるところまでできたのですが、これを閉じるのはどうしたらいいのでしょうか?check関数で確認すると3本生きたままっぽいです
最終的に、先に終了するth1をカウントダウンタイマーとして使い、th1を閉じるのと同時に遅いth2を強制終了したいのです
0654デフォルトの名無しさん
垢版 |
2020/04/18(土) 01:55:56.99ID:qqNbhhuh
まったくのプログラム初学者です。
実際に使用されるプログラムにおいてprint()って関数は使用することあるんでしょうか?
どうも実際に動いてるイメージが掴めなくて困っています。
0656デフォルトの名無しさん
垢版 |
2020/04/18(土) 02:33:44.38ID:YlPXTg+Q
デバッグはprint(変数)で何が出力されるか確認するクセ付けといた方がいいよ
print(type(変数))で型も分かるし
これはどの言語でも共通すること
0659デフォルトの名無しさん
垢版 |
2020/04/18(土) 08:04:27.02ID:4SpyI++v
デバッグはprintで十分
何かするたびに新しいツールやライブラリに頼るのはPython使いの悪い癖
0660デフォルトの名無しさん
垢版 |
2020/04/18(土) 08:23:02.96ID:MCs2/Z36
自動2chまとめ記事投稿のプラグインを買って、色んなサイトに複製したりしてるんだが
これがpythonなのかどうかとかの判断方法ってあるんですかね?
クローラーとかが書いてあったらpython?
0662デフォルトの名無しさん
垢版 |
2020/04/18(土) 09:34:00.97ID:MCs2/Z36
ありがとうございます。
拡張子はphpのものしかないのでphpっていう言語ですかね。
0664デフォルトの名無しさん
垢版 |
2020/04/18(土) 09:46:00.88ID:qqNbhhuh
>>655-657
なるほど、使うんですね!
ありがとうございます。
0665デフォルトの名無しさん
垢版 |
2020/04/18(土) 10:26:13.70ID:xymtyLA0
printで充分間に合うときはそうするけど
副作用もあるし実際困るときはファイルに書き出すし
それならloggerの方が便利だぜってなるのは自然な流れだと思う
0667デフォルトの名無しさん
垢版 |
2020/04/18(土) 13:35:30.34ID:YqZGjV1n
>>639
横からすいません
すごく勉強になります。
感謝いたします。
0668デフォルトの名無しさん
垢版 |
2020/04/18(土) 18:49:35.21ID:Zse46GbC
すいません、教えてもらえませんか?
a = [[1,2],[3,4],[5,6],[7,8]........]
という感じの配列があるとして(中の数字は適当ですが二個ずつ入ってます)
1,3,5,7の最大と最小
2、4,6,8の最大と最小
を出すにはどうしたらいいですか?
普通だったらmax(a)とかで出来るんですが
行列がふえると分からないです
0669デフォルトの名無しさん
垢版 |
2020/04/18(土) 19:04:35.27ID:6SsFugeU
>>668
import numpy as np
a=np.array(a)
max1357=a[:,0].max()
max2468=a[:,1].max()

numpy無しなら
max1357=max(b[0] for b in a)
max2468=max(b[1] for b in a)
0672668
垢版 |
2020/04/18(土) 22:11:41.90ID:Zse46GbC
>>669
ありがとうございます
めっちゃ短いですね、助かります!!
0673デフォルトの名無しさん
垢版 |
2020/04/19(日) 12:07:34.75ID:GwEHrb8r
Jupyter Notebookを使ってスクレイピングをしています。

soup.find_all(class_="bcs_l")
[<li class="bcs_l"><span>< 前へ</span></li>,
<li class="bcs_l"><a href="/bc/category/?q=%83T%81%5B%83t%83F%83X+%83%89%83b%83v%83g%83b%83v&;sg=%83T%81%5B%83t%83F%83X%81%40%83%89%83b%83v&;rowPerPage=100&;p=2#bcs_resultTxt">次へ ></a></li>]


ここから次のページのurlを取得するために
soup.find_all(class_="bcs_l").get("href")を使用しましたがAttributeErrorになりました。
違うサイトではこのような状況で取得できるようなことがあるのですが、この場合はなぜ取得できないのでしょうか?教えていただければ幸いです。宜しくお願いします。
0674デフォルトの名無しさん
垢版 |
2020/04/19(日) 12:10:16.28ID:QdkeRkpH
soup.find_all(class_="bcs_l")[0].get("href")
0675デフォルトの名無しさん
垢版 |
2020/04/19(日) 16:58:11.82ID:GwEHrb8r
>>674
ありがとうございます。試してみましたが何も取得できませんでした。
lenで確認したところ2でしたので
for link in soup.find_all(class_="bcs_l"):
print(link.get("href"))で確認しましたが
Noneが2つ返ってきただけなので…違う方法も試してみます
0678デフォルトの名無しさん
垢版 |
2020/04/19(日) 17:54:50.56ID:GwEHrb8r
>>675
すみません、初心者で用語を理解していないからなのか
どういう意味なのかわからないです。

>>675
取得できました。ありがとうございます。aタグから
soup.find_all(class_="bcs_l").find("a").get("href")で取得できないのは
soup.select(".bcs_l > a")と何が違うのでしょうか?
0680デフォルトの名無しさん
垢版 |
2020/04/19(日) 18:29:05.46ID:GwEHrb8r
>>676
すみません、初心者で用語を理解していないからなのか
どういう意味なのかわからないです。

>>677
取得できました。ありがとうございます。aタグから
soup.find_all(class_="bcs_l").find("a").get("href")で取得できないのは
soup.select(".bcs_l > a")と何が違うのでしょうか?


>>679
ご指摘ありがとうございます。気をつけます。
0682デフォルトの名無しさん
垢版 |
2020/04/19(日) 22:47:27.35ID:CjbETmo/
超初心者です。教えてください。

VSCodeの方が使いやすいと見たので、インストール後に動作確認の為にTkinterでウィンドウを表示させるだけのソースを実行してみたのですが、表示されません。("HelloWorld"は問題なく動作します。)

同ソースをPythonのIDLEで実行すると問題なく表示されるのですが、VSCodeで実行できるようにするにはどうすればよいのでしょうか?
確認方法を教えていただけませんか?
0683デフォルトの名無しさん
垢版 |
2020/04/19(日) 22:57:19.20ID:CjbETmo/
682です。
自己解決しました。
テストだったのでTkinter.pyと適当にファイル名をつけていたのですが、違う名前にすると動きました。
0684デフォルトの名無しさん
垢版 |
2020/04/19(日) 23:53:03.41ID:u21QryuH
>>680
find_all は単数形、つまり単なる要素か、
または複数形、つまり配列のどちらを返すのか?

そういうのを使う関数の文書で調べる

単数形なら、そのまま、要素.get("href")
で取得できるけど

配列なら、配列[インデックス].get("href")
とインデックスで、どの要素か指定しないとダメ!

つまり各要素は、配列内に複数あるから
0685デフォルトの名無しさん
垢版 |
2020/04/20(月) 04:23:42.20ID:hSQKG7tu
tkinterでmultiprocessing使うとき
if__name__=='_main_'しないとトップレベルがもう一枚出てくるんですが、ガイドの説明がわかりません

新たな Python インタプリタによるメインモジュールのインポートが、意図しない副作用 (新たなプロセスを開始する等) を起こさずできるようにしてください
代わりに、次のように if __name__ == '__main__': を使用してプログラムの "エントリポイント" を保護すべきです
これは新たに生成された Python インタープリターがそのモジュールを安全にインポートして、モジュールの foo() 関数を実行します。

新たなプロセスが開始されてしまってトップレベルの二枚目が出てきてるのでしょうが、エントリポイントとか、もう少しわかりやすく教えていただけませぬか?
0686デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:04:37.57ID:OEA9vQ4l
spyder4使用中に
カーソルが変なのになっちゃったんですが、どうやって直せばいいでしょうか?
通常はアルファベットなどの間に縦線点滅するんですが、ある特定のファイルの時だけアルファベット1文字を塗りつぶすように白く点滅してしまい
何かを入力するとカーソル合わせてるアルファベットが置き換わってしまいます。
なんか説明下手ですいません。
0688デフォルトの名無しさん
垢版 |
2020/04/20(月) 07:15:30.56ID:OEA9vQ4l
>>687
ありがとうございます。
解決しました!
0690デフォルトの名無しさん
垢版 |
2020/04/20(月) 09:31:58.70ID:aqwTNz7b
>>685
Ruby でも使う、典型的なイディオム。
以下を、main.rb ファイルに書いて、ruby main.rb
と実行すると、$0 には、起動時の引数に渡した、main.rb が入ってくる

puts $0 # main.rb

if __FILE__ == $0
puts "メイン処理"
end

一方、__FILE__ は、現在評価中のファイル名だから、
これらが一致する時は、起動時の引数に渡したファイルが評価中なので、メイン処理である

一方、このファイルが、require, load などで、
他のファイルから、モジュールとして呼ばれた時は、
これらが一致しないので、メイン処理の部分を通らない

このように、そのファイルをメイン処理と、モジュールとして呼ばれた場合を、書き分ける方法である
0691デフォルトの名無しさん
垢版 |
2020/04/20(月) 10:36:13.89ID:+gih2h5m
「.zfill」みたいな、オブジェクトの後にドットをつけて処理を行うものについて質問です
・あれの呼び名は「メソッド」で合ってますか?
・あれを自作したいんですが、どうやればいいんでしょうか?
0692デフォルトの名無しさん
垢版 |
2020/04/20(月) 13:06:58.68ID:HGFKbNwa
勉強の方向性について質問です
pythonで実験データを解析出来るようになりたく、また可能であれば機械学習まで勉強したいのですが

pythonの基本をやってからそのままnumpyとpandaの勉強をする、という流れで大丈夫ですか?
教材はオライリーのデータ分析入門を使っています
加えてこれを勉強した上で機械学習を勉強するのにおすすめの教材(webでも本でも)はありますか?

また勉強の息抜きにtkinterでゲームを作って遊んでいるのですが、データ分析においてtkinterは使われるものなんでしょうか?
このままtkinterを勉強するべきか悩んでいます
自分の作ったプログラムを使いやすくするためにguiでソフトを作るって感じの認識で合ってますか?
0693デフォルトの名無しさん
垢版 |
2020/04/20(月) 13:09:05.04ID:HGFKbNwa
>>692
今は3日目くらいでとりあえずデータのインポート、書き出しを勉強してます
panda、numpyの関数は細かい所までやるとキツいので飛ばし飛ばし勉強してます
0695デフォルトの名無しさん
垢版 |
2020/04/20(月) 13:10:35.94ID:qCtnBvYT
>>691
・メソッドで合っている
(個人的には組み込み型への組み込みメソッドと勝手に読んでいる)

・setattrを使えば自作できるんじゃね?
0696デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:17:50.43ID:X6dUog3k
>>697
numpy
pandas
tkinter
どれも定番
問題ない
それより判らないからって飛ばすな
0697デフォルトの名無しさん
垢版 |
2020/04/20(月) 14:49:27.40ID:+gih2h5m
>>695
回答ありがとうございます
setattrは自作クラスにクラス内変数を追加する命令っぽいですね

自分でも調べたところ、Pythonでは組み込み型にメソッドは追加できないそうです
まぁ、関数だと見た目が悪いからメソッドを使いたかっただけなんで、
この件はもういいやってことにしときます
0699デフォルトの名無しさん
垢版 |
2020/04/20(月) 16:33:40.85ID:yG2JzEgp
入門書を一通り終えた初学者です。
Djangoを学びたいと思うんですが、おすすめの書籍またはサイトなどありますでしょうか?
0701デフォルトの名無しさん
垢版 |
2020/04/20(月) 17:10:46.29ID:HGFKbNwa
>>696
ndarrayの後半辺りがキツくて軽く飛ばしちゃいました
実際使ってみた方が覚えるかなと思ってわからなくなったら戻って、って感じでやってますが基礎しっかり固めてからの方が良いですかね?
0702デフォルトの名無しさん
垢版 |
2020/04/20(月) 18:35:06.05ID:fT3DVvgj
>>681
>>684

詳しくありがとうございます。単数形と複数形のことを理解できました。
0703デフォルトの名無しさん
垢版 |
2020/04/20(月) 18:52:59.32ID:kSCiJILD
>>701
行列の作り方とか掛け算とか逆行列、転置、縦横につなげるとかのやり方がわかってれば問題ないよ
大学教養レベルの線形代数がわかってれば、だけど
そもそも線形代数がわかってないとかだとなにするにしても辛いかも
0704デフォルトの名無しさん
垢版 |
2020/04/20(月) 19:48:14.45ID:qEnmFjBQ
bs4で一番上の親(BeautefulSoupオブジェクトのひとつ下)のクラスを
子要素から取得(判定でも可)したいんですけど・・・全然上手くいかない!
何卒お助け下さい

child.parent.parent.select('.test')←エラー
child.parent.parent['class']←エラー
child.parent.parent.find(class_='test')←エラー
これは呪いですか
0705デフォルトの名無しさん
垢版 |
2020/04/20(月) 20:10:13.84ID:aqwTNz7b
>>699
Python Django 超入門、掌田津耶乃、2018

主要言語・フレームワーク・ゲームエンジンで、掌田!
0707デフォルトの名無しさん
垢版 |
2020/04/20(月) 20:43:00.39ID:kSCiJILD
>>704
https://gist.github.com/jnakanojp/559bbfab6e7d778c8cb8f54a4753e6d9
で試してみたけどその方法で基本的には問題ない
parentし続けると最終的にはNoneになって、その前にBeatifulSoupオブジェクトになるから、
bso = child
while True:
 bso_candidate = bso.parent
 if type(bso_candidate) is None:
  break
 bso = bso_candidate
とかしたらbsoにはBeautifulSoupオブジェクトが入るはずなので、そのひとつ下のタグをあれこれするというのが確実にできる
まずは、type(child.parent.parent)とか、child.parent.parent.nameとかで何のタグまたはオブジェクトを触っているのか確認したほうが良いよ
0708707
垢版 |
2020/04/20(月) 20:43:57.23ID:kSCiJILD
コードのインデントが間違ってた。
bso = child
while True:
 bso_candidate = bso.parent
 if type(bso_candidate) is None:
  break
bso = bso_candidate
だね。
0709707
垢版 |
2020/04/20(月) 20:44:23.45ID:kSCiJILD
いや、707で合ってた。708は間違いなので無視してください。
0710デフォルトの名無しさん
垢版 |
2020/04/20(月) 21:10:32.79ID:Hrpb22UD
つか、最終的に一番上のクラス探すなら、子要素からたどる意味が分からん。
body > [class] でいいんじゃ?
0711デフォルトの名無しさん
垢版 |
2020/04/20(月) 21:52:03.15ID:UbANMxrk
>>704
.parentsで辿れば?
[ (p.name, p.get('class')) for p in foo.parents]

DOMツリーの上方向に検索したいならfind_parentやfind_parents
0714デフォルトの名無しさん
垢版 |
2020/04/21(火) 01:11:00.36ID:/3Jp9NA+
>>705
ありがとうございます!
0715デフォルトの名無しさん
垢版 |
2020/04/21(火) 06:02:46.02ID:fqjEBtME
>>692
>このままtkinterを勉強するべきか
直接機械学習とは関係ないけど
GUIが使えた方が何かと便利でしょ?

他のGUIライブラリが使えるならともかく
ひとつ位覚えておくことをオススメしたい
0718デフォルトの名無しさん
垢版 |
2020/04/21(火) 09:11:05.41ID:pjMFHcsu
簡単な自作ツール作る時には便利>tkinter
ただ本格的なツールやプロジェクトとしてやるなら別言語レベルで決めるかな
Pythonって外部ライブラリでもGUIってあんまり良いの無いよね
0719デフォルトの名無しさん
垢版 |
2020/04/21(火) 09:22:53.81ID:OETon1Dj
Guiを使うとコードが冗長になるからなあ
Pythonの美しさ・シンプルさが失われてしまう
0720デフォルトの名無しさん
垢版 |
2020/04/21(火) 09:24:59.38ID:1MDMdwK8
pythonはpocでサクッと分析するのに使う程度でモデルが決まったらコンパイル言語でFIXでしょ
0722デフォルトの名無しさん
垢版 |
2020/04/21(火) 09:32:09.17ID:9jT8JPrw
4年やってるが今日初めて制御構造でスコープ作られないことを知ったわw
独学のこわいところ
0723デフォルトの名無しさん
垢版 |
2020/04/21(火) 09:39:05.21ID:4+iQ7BrP
個人で使うだけだしライブラリ便利だからばりばりGUIやってるけど1つ困ってる
これエラーで止まるんだけど無視できない?エラー出る原因は分かってるから使い方で回避してるんだけど

def aaa(self, pos):
  try:
    win32api.SetCursorPos(pos) ←ここで止まる
  except:
    pass
0724デフォルトの名無しさん
垢版 |
2020/04/21(火) 10:56:12.08ID:oAPU8LL6
GUIでSetCursorPosって使うモンなの?
0725デフォルトの名無しさん
垢版 |
2020/04/21(火) 10:59:57.15ID:9jT8JPrw
win32apiとかいう奴の問題でしょ
例外が発生するまでの間に何か破壊的な挙動でもしてるんじゃない
passじゃなくて例外発生前の状態に復元する処理とか初期化書けば動くでしょ知らんけど
0726デフォルトの名無しさん
垢版 |
2020/04/21(火) 12:09:31.13ID:9jT8JPrw
そうかpython本体が落ちるってことか?
ならその分かってる原因の場合はモジュール走らせないことだな
setcursorposってことはposが0なら死ぬとかじゃないの知らんけど
やるべきことはtryで捕まえるではなくifでモジュールコールの回避
0727デフォルトの名無しさん
垢版 |
2020/04/21(火) 12:12:50.38ID:4+iQ7BrP
モニター切り替え時とかRDP接続時とかとタイミング重なったときだけなんで
pos入ってるけどset先を見失ってるのかな
0728デフォルトの名無しさん
垢版 |
2020/04/21(火) 12:34:29.73ID:KeQ+5vSZ
>>727
エラーコードを貼った方が良いのと、>>726が言う通り、事前にOpenInputDesktop()を使ってSetCursorPos()が使えるかどうか確認した方が良さげ
0729704
垢版 |
2020/04/21(火) 12:55:18.23ID:4YI6COSQ
みなさまありがとうございました
find_parentでいけました
ドキュメント読んだつもりがこのメソッド見逃してました
0730デフォルトの名無しさん
垢版 |
2020/04/21(火) 14:36:47.33ID:9fcQjJm8
>>722
ホラーだな

他言語ではまずあり得ないけど
スコープ周りはPythonの一番イケてないところだから
公式チュートリアル含め下手な入門書ではきちんと解説されてない
逆にlist comprehensionやlamdaなんかを含めて
スコープ周りをまとめてわかりやすく解説できてる本は良書
0731デフォルトの名無しさん
垢版 |
2020/04/21(火) 15:23:53.25ID:tZ6+KmAU
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
0732デフォルトの名無しさん
垢版 |
2020/04/21(火) 15:36:00.45ID:hDMy4faN
>>716
糞本乱造だからNGワードでOK
0734デフォルトの名無しさん
垢版 |
2020/04/21(火) 17:25:04.84ID:/HF3uYeq
tkinterやってていつも悩むんだけど、stringをコードのあちらこちらに使うよね。主に説明文とかラベルとかで
これ全部変数化したほうがいいのか、一回しか書かないとこは直書きでいいのかとか、どう処理するのがいいんだろう?
一回全部別クラスにまとめてやろうかと思ったんだけど、冗長な気がして途中でやめてしまった
0736デフォルトの名無しさん
垢版 |
2020/04/21(火) 19:34:00.63ID:f6Wi3d68
funcs = (func1(), func2())
out = reduce(lambda f, g: lambda *args, **kwargs: g(f(*args, **kwargs)), funcs)

これは何をしてるのですか?意味が分かりません。
0737デフォルトの名無しさん
垢版 |
2020/04/21(火) 20:41:39.25ID:HADG6GDb
漏れは、Ruby で、

noop: true, verbose: true を指定して、
すべての引数を親クラスへ丸投げする、関数を作ったけど、それと同じだろ

def f( *args, **options )
super( *args, **options, noop: true, verbose: true )
end
0738デフォルトの名無しさん
垢版 |
2020/04/21(火) 22:11:24.32ID:9fcQjJm8
>>736
funcsに入れた関数を順番に適用する合成関数outを生成している
funcs = (func1, func2) の間違いじゃなければfunc1やfunc2が関数を返す関数
0740デフォルトの名無しさん
垢版 |
2020/04/22(水) 10:24:53.01ID:O/jaLKmb
>>734
m17n でググレ
0742デフォルトの名無しさん
垢版 |
2020/04/22(水) 15:24:56.24ID:O4cqD7Vg
>>734
プログラムの規模に応じて使い分けるのがいいよ
規模が小さい場合は直書きするし、規模が大きい場合は別ファイルとしてまとめる

別ファイルにまとめるメリットは
・文字コードをUTF-8からSJISに変換したい場合に、別ファイルだけ変換すれば良い
・別ファイルだけ翻訳専門部隊に外注して多言語化しやすい

デメリットは工数が増えることかな
0743デフォルトの名無しさん
垢版 |
2020/04/22(水) 19:19:16.91ID:XP12H3iq
書籍にtensorflowはwin対応してないって書いてあったんですがマジですか?そんなことあるんですか?
0744デフォルトの名無しさん
垢版 |
2020/04/22(水) 19:28:51.98ID:YviY2TjG
それはちょっと前の話で今は使えるけど、それまでは長いこと使えなかった
開発元のGoogleでは社内でWindowsの使用が禁止されているのは有名な話で、Windowsなんてそもそも相手にしてない
0745デフォルトの名無しさん
垢版 |
2020/04/22(水) 20:13:22.78ID:XP12H3iq
>>744
なるほど、そういう事情があったんですね、、
ありがとうございます!
0746デフォルトの名無しさん
垢版 |
2020/04/22(水) 20:53:11.12ID:fesASw+a
>>744
調べても10年前の記事しか出て来ないんだが
今もそうなの?
0747デフォルトの名無しさん
垢版 |
2020/04/22(水) 21:40:35.72ID:08nHfkq5
営業はともかく、少なくともGoogleのエンジニアやデータサイエンティストは
禁止されていようがいまいがWindowsは誰も使ってないだろうね
0748デフォルトの名無しさん
垢版 |
2020/04/22(水) 23:34:42.77ID:vwfi1bH0
>>734
一般的に複雑な処理になるに応じて
別クラスなりファイルなりに切り出す

その目安はもし頻繁に変更するようなら
切り出した方が冗長でも修正が早くなる
0750デフォルトの名無しさん
垢版 |
2020/04/23(木) 07:02:20.60ID:Q66hfIcW
まあchromeやgmailまわりでwindowsに対してめちゃくちゃ文句言ってたのは知ってる。
使ってないは言い過ぎだろうけれど、中の人達は好きじゃないだろうね。
0751デフォルトの名無しさん
垢版 |
2020/04/23(木) 09:46:07.43ID:r7Hrs66e
ローカルで実行する機械学習なんて高が知れているから重要視してないってのもある
0752デフォルトの名無しさん
垢版 |
2020/04/23(木) 15:27:21.64ID:6C0Tc6dv
初心者です。
python であるWebサイトのスクレイピングをしたいと思います。
そのサイトはアクセスする際に、
・クライアント証明(pfxファイル)
・その証明書のパスワード
・ユーザー名
・パスワード
が必要なのですが、requests で読み込むことができるでしょうか。
調べながら2〜3日やっているのですが、わけがわからなくなってきました・・・・
0753デフォルトの名無しさん
垢版 |
2020/04/23(木) 15:54:27.62ID:TKybSHyM
2行目の証明書のパスワードは
ローカルな話だから
ローカルでパスワード無しのを造れば良い

他はrequestsでOK
0754デフォルトの名無しさん
垢版 |
2020/04/23(木) 16:19:15.43ID:6C0Tc6dv
>>753
ありがとうございます。

> 2行目の証明書のパスワードは
> ローカルな話だから
> ローカルでパスワード無しのを造れば良い

すいません、理解が足りず一点質問させてください。

対象のサイトをブラウザで閲覧するとき、初回のアクセス時に 証明書(pfxファイル)を
指定してブラウザに読み込ませる(このときパスワードがいる)必要があったのですが、

・「requests でアクセスするときはこのパスワードが不要」
・または、「パスワードが不要な証明書を作り直せ良い」

のどちらになるでしょうか。
教えていただけると助かります。
0755デフォルトの名無しさん
垢版 |
2020/04/23(木) 18:26:22.45ID:i31cKoK5
>>749
デスクトップ・アプリケーションならWindows対応考えるだろうけど
ブラウザやライブラリレベルだとUnix/Linuxで動くことを前提に開発するのは当然で
Windowsの特殊な事情に対応するのはまた別のレイヤーの話だよね
0756デフォルトの名無しさん
垢版 |
2020/04/23(木) 19:34:57.98ID:iR4g/Ykk
>>754
例えばIEとかEdgeとかなら
pfxをエクスポートするときに
パスワード有無の設定が選べる
0759デフォルトの名無しさん
垢版 |
2020/04/25(土) 09:17:54.90ID:vRFirqtQ
ディープラーニングってどれくらいのマシンパワーが必要なんでしょうか?
自宅pcでやるのは無理ですか?アナコンダなど
0760デフォルトの名無しさん
垢版 |
2020/04/25(土) 09:19:43.14ID:RyJNrHEl
目的とその学習量によるが
実用化しようとすると
計算資源が不足する場合はよく起こる
0761デフォルトの名無しさん
垢版 |
2020/04/25(土) 10:10:49.05ID:7jpIjPuc
自分で1から全部作るなら問題ない
ソフトウェアというのは、その時点で開発者の想定したハードウェアにおいて人間から見て許容可能な時間で処理を完了するように作られるものだ
で、ディープラーニングというのは普通クラウドで超高性能のマシンを多数並べて動かすのが普通であり、
出来合いのツールやフレームワークはそういう環境を想定して作られている
すなわち、それを手元のPCで動かそうとすると許容できないほど遅くなる可能性が高いってこと
性能の技術的限界というよりは開発者の想定の問題なんだよ
0762デフォルトの名無しさん
垢版 |
2020/04/25(土) 10:16:21.15ID:4nLfPOGM
実行させてる間に他の事したいんだったら
もう一台PCある方がマシ

既に一台だけ持っててテストだけしたいならそれでやって
速度足りないと思ったら新規に買うなり
AzureとかVPSとか適当に外部のCPU/GPUの力を借りる
0763デフォルトの名無しさん
垢版 |
2020/04/25(土) 11:03:55.54ID:OXZXCSw6
>>759
MNIST,CIFAR10ぐらいのチュートリアルレベルならノートPCでも行ける
0764デフォルトの名無しさん
垢版 |
2020/04/25(土) 11:30:43.89ID:sGYbLeKJ
>>759
これ自分も気になる
ローカルでHello Worldレベルの機械学習の勉強をやってみたい

クラウドのサービスとか使わずにやってみたい
0765デフォルトの名無しさん
垢版 |
2020/04/25(土) 11:32:45.56ID:vRFirqtQ
>>763
アイドルの水着を脱がせたいのですが、これはどうでしょうか?
GTX10502GBはありますです
0767デフォルトの名無しさん
垢版 |
2020/04/25(土) 11:40:39.01ID:vRFirqtQ
ただ一人の水着脱がせる程度でも?
じゃあcolab使うしかないの?
0768デフォルトの名無しさん
垢版 |
2020/04/25(土) 11:54:33.16ID:RyJNrHEl
ひとりという単位で考えても仕様がない
学習量は識別精度のラインで決まる
画像認識なら判別できるかどうかとか
0769デフォルトの名無しさん
垢版 |
2020/04/25(土) 12:59:20.70ID:OXZXCSw6
>>767
学習完了したモデルがあって脱がせるだけなら十分だよ
学習からだったら厳しい
0770デフォルトの名無しさん
垢版 |
2020/04/25(土) 13:02:39.96ID:VdLGa5Mo
厳しいというか
エポックメイキングクラスの頭の良さじゃないと無理ゲーw
0771デフォルトの名無しさん
垢版 |
2020/04/25(土) 13:03:01.96ID:OXZXCSw6
こんな場所で聞く前にやってみればいい
メモリ不足になるか永遠に終わらないなら出来ないって事だから
0774デフォルトの名無しさん
垢版 |
2020/04/25(土) 13:27:26.09ID:YMQ7YzAs
コラは脳内でやりなさいな
自作コラがデジタル遺産になっちゃった時のことを想像してみなよ
0777デフォルトの名無しさん
垢版 |
2020/04/25(土) 14:46:29.51ID:vRFirqtQ
>>769
学習からだよ
0781デフォルトの名無しさん
垢版 |
2020/04/25(土) 17:01:19.15ID:VdLGa5Mo
何にでもパレオを着せちゃうアプリなりWebサなり作ったらおもしろいかなぁ・・・? (´n`)
0782デフォルトの名無しさん
垢版 |
2020/04/25(土) 17:36:29.11ID:vRFirqtQ
colabでやるしかないの?
0784デフォルトの名無しさん
垢版 |
2020/04/25(土) 18:03:40.19ID:vRFirqtQ
フェミキッも
0786デフォルトの名無しさん
垢版 |
2020/04/25(土) 20:32:33.61ID:E8KoCKl4
モダンなpythonのweb開発ってこんなんで合ってるか?
・fastapi
・uvicorn
・poetry

もっと強そうなのやってるってやついたら教えて
0788デフォルトの名無しさん
垢版 |
2020/04/26(日) 12:56:06.45ID:c8/CeCgn
強いかどうかは知らんけど
太そうではある
0794デフォルトの名無しさん
垢版 |
2020/04/26(日) 19:11:06.11ID:kwdN3Wnk
>>793
SQLAlchemyを使う前提ならSQLiteの型はあまり考慮しなくていい
Python側でTrue/Falseを使えばデータベース側はバックエンドに応じて適切に処置される
0795デフォルトの名無しさん
垢版 |
2020/04/26(日) 19:20:09.31ID:1kL3nhkt
>>794
サンクス
そうなんすね、こういうときにORMが力を発揮するんやね、今までなんのためにあるかようわからんかったけど
0797デフォルトの名無しさん
垢版 |
2020/04/26(日) 20:15:28.15ID:FVxXRtXH
ワードプレス案件とかあったとしても、コミュ力無いと無理だな
0800デフォルトの名無しさん
垢版 |
2020/04/27(月) 10:42:17.17ID:YGWMtg+u
SQL の文法に論理的 AND とか OR はあるのに
bit の AND / OR が無いのは不思議
0801デフォルトの名無しさん
垢版 |
2020/04/27(月) 11:35:17.94ID:NQjCQXX/
テーブルにビットフラグ入れる馬鹿を喜ばせるような機能を入れてはならない
0802デフォルトの名無しさん
垢版 |
2020/04/27(月) 18:29:48.11ID:5NBRtOT1
すみません。質問させていただきます。遷移して100件ほど取得後outputリストに入れて、pandasで確認してみたところ各100行ほどのデータが1つしか表示されず

item_urls = []
output = []
for _ in range(1):
res = get_html(url)
soup = bs(res.content, "html.parser")
item_urls += ["https://www.adkeiolm.com"; +item.find("a").get("href")for item in items]
url = "https://www.adkeiolmw.com"; + soup.find(class_="pager-next kjduaksi-as").find("a").get("href")
print(url)
time.sleep(5)


output.append({
"title":item.find(class_="items-box-name sevne-3").text,
"price":item.find(class_="items-box-price sevne-4").text,
"url": "https://www..com"; + item.find("a").get("href"),
"pictuers":item.find("img").get("kiad-src")
})


下のこの内包表記を使ったコードでは各100件ほど取得できているのですがタイトル1つに100件が入ってしまっていて100行にしたいのですが、1行に全て入ってしまっています。このデータを1つずつにするにはどうすれば良いのでしょうか?

output.append({
"title":[(item.find(class_="items-box-name sevne-3").text)for item in items],
"price":[(item.find(class_="items-box-price sevne-4").text)for item in items],
"url" :["https://www.adkeiolm.com"; +item.find("a").get("href")for item in items],
"pictuers":[item.find("img").get("kiad-src")for item in items]
})

内包表記の使い方が間違っていたり、質問が分かりにくいと思いますが教えていただければ幸いです。宜しくお願い致します。
0803デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:40:02.10ID:gG8/Dj0p
>>802
内包表記が間違ってるんじゃなくてpandasのDataFrameへの突っ込み方が間違ってる
やるならこうかな

titles = []
prices = []
urls = []
pictures = []

と列に対応するリストを作った上で

titles.append(…)
prices.append(…)
urls.append(…)
pictures.append(…)

とそれぞれリストに追加して

df.DataFrame({
‘title’: titles,
‘price’: prices,
‘url’: urls,
‘picture’: pictures,
})

とやる

遅くていいならdf.append()やdf.assign()を使えばできるけど、上に示した方法のが速い
0805デフォルトの名無しさん
垢版 |
2020/04/27(月) 22:22:19.59ID:5NBRtOT1
>>803

別々にすることが出来ました。別々になったものを合わせて表示することもできるのでしょうか?
列ではなく行の表示にかわっていたり分からないことが多いので
pandasのこともっと調べてみようと思います。助かりました。ありがとうございます。
0806デフォルトの名無しさん
垢版 |
2020/04/28(火) 08:58:07.54ID:zAZN/f3s
馬鹿には無理
0807デフォルトの名無しさん
垢版 |
2020/04/28(火) 09:46:07.32ID:yTzcHMfY
pandasは可読性悪いし、スケールもしないってことはもっと知られてもよいと思うよ。
便利だとは思うけど。
0809デフォルトの名無しさん
垢版 |
2020/04/28(火) 11:39:40.63ID:NJdxwODR
たまにスクレイピングの質問の後に
馬鹿には無理の書き込みがあるけど
複雑なものを作るわけでもないスクレイピングやpandasなんてやってれば
馬鹿でもできるようになるだろ。
0811デフォルトの名無しさん
垢版 |
2020/04/28(火) 13:54:03.42ID:0b60T+Li
ffmpeg.exeを実行ファイルと別のフォルダに置きたい
pyinstallでexe化して人に渡すプログラムなんだけど、実行ファイル内でffmpeg.exeはここです というように指定できないのでしょうか
0814デフォルトの名無しさん
垢版 |
2020/04/28(火) 14:59:44.87ID:kB+BQSUv
Pythonで桁を揃えて出力したいのですが
C言語の(%桁数)みたいなのってありますか

C
printf("%3d",val);

Python
0816デフォルトの名無しさん
垢版 |
2020/04/28(火) 17:44:52.00ID:ZNkTbKCD
>>> val = 13.456
>>> f'{13.456:3.2f}'
'13.46'

>>> val = 13
>>> f'{13:3d}'
' 13'
0818デフォルトの名無しさん
垢版 |
2020/04/28(火) 18:35:50.20ID:kB+BQSUv
>>816 >>815
出来ました、ありがとうございます
0820デフォルトの名無しさん
垢版 |
2020/04/28(火) 23:24:44.87ID:7QVY/xgO
>>811
third party 製のライブラリを置くフォルダを作れば?

むしろ、実行ファイルと同じフォルダへ置くと、
もし、そのフォルダへパスを通す客がいた場合に、

ffmpeg.exe もグローバルに見つかってしまうから、
客が元から、ffmpeg.exeのフォルダへパスを通していた場合に、

パスの順序によっては、実行されるffmpeg.exeのバージョンが変わってしまう

Ruby ならコマンドプロンプトで、where ruby
と入力すると、C:\Ruby25-x64\bin\ruby.exe
このbin には、rspec など、多くのグローバルなコマンドが置いてある

where rspec
C:\Ruby25-x64\bin\rspec
C:\Ruby25-x64\bin\rspec.bat

一方、include, lib などは、そのパスに含まれないフォルダにある。
C:\Ruby25-x64\include
C:\Ruby25-x64\lib
0822デフォルトの名無しさん
垢版 |
2020/04/28(火) 23:48:05.10ID:5dLgSlfc
質問させてください。環境はVSCode、python3.8です。

はじめての Django アプリ作成、その 3¶
https://docs.djangoproject.com/ja/3.0/intro/tutorial03/
をやっているのですが、途中で出てくる

latest_question_list = Question.objects.order_by('-pub_date')[:5]
という部分の「objects」とは何なのでしょうか?

チュートリアルには説明がなく、定義へ移動も使えないため、調査が行き詰っています。
どうやらDB関連であることは分かったのですが、
詳しい説明があるページなどはないでしょうか?
0828デフォルトの名無しさん
垢版 |
2020/04/30(木) 12:33:07.17ID:0pNWuAUl
スケールさせたい場合はpandasよりもdaskのがいいらしい
大規模処理はPySparkしか使ったことないので詳細は分からない
速度が速いbaexというのもあるらしいが、こちらも未だ未検証
まだまだ勉強する事が多い
0830デフォルトの名無しさん
垢版 |
2020/04/30(木) 18:43:15.13ID:bJdEgVJ8
testString = "testabctesttestaaatest"
みたいな文字列があった場合、末尾のtestだけ削除して
testString = "testabctesttestaaa"
に置き換えるにはどうしたら良いですか?
0834デフォルトの名無しさん
垢版 |
2020/05/01(金) 03:19:08.64ID:lVYDVOrS
tkinterで開始ボタンと停止ボタンを作り、
開始ボタン押下でスレッドで処理開始、停止ボタン押下でスレッドを終了ということをやりたいです

ググった結果、グローバル変数でフラグ管理をしてスレッドを終了させるという手法を見つけたのですが
while True:
  処理A
  処理B
  処理C
  ...
こういった感じでスレッドが長めのwhileループをしており、
フラグ判定でスレッドを終了させるにはそこら中に判定文を仕込む必要がありそうであまりスマートに見えません
初のプログラム言語で何か見落としていそうなのですが、良い方法はないでしょうか
0835デフォルトの名無しさん
垢版 |
2020/05/01(金) 04:06:35.36ID:801cZcm3
最後に終了フラグ立ってるかどうかだけ調べる処理書いとけばいいんじゃねーの
0836デフォルトの名無しさん
垢版 |
2020/05/01(金) 05:38:07.01ID:qKDvLgNt
途中で安定的に止めるには、途中でフラグ見るしかなかろ。シグナル送るにしても、結局チェック要るんだから

あるいは
def call_func(call):
__check stop_flg()
__if call=1:
____処理内容関数1()
__elif call=2:
____処理内容関数2()
みたいな

俺は途中で止めるときはkillしたあとプロセスとqueue空にする過激派だからmultiprocess使う
0837デフォルトの名無しさん
垢版 |
2020/05/01(金) 06:44:00.02ID:pKAHvJ73
>>834
> 初のプログラム言語で何か見落としていそうなのですが、良い方法はないでしょうか
ないです

現状では、優先度 (priority)やスレッドグループがなく、スレッドの破壊 (destroy)、中断 (stop)、一時停止 (suspend)、復帰 (resume)、割り込み (interrupt) は行えません。
https://docs.python.org/ja/3/library/threading.html#threading.TIMEOUT_MAX
0838デフォルトの名無しさん
垢版 |
2020/05/01(金) 09:49:23.48ID:vI9DtzS8
subprocessって以前は破壊コマンドあったんだっけ?
いまはos.killするしかないのか
0839デフォルトの名無しさん
垢版 |
2020/05/01(金) 22:44:02.73ID:o7T99yl7
AAA,BBB,CCC
1,テスト,テスト
のようなウェブ上にある CSV を
csvfile = urllib.request.urlopen('<url>').read().decode('utf_8_sig')
reader = csv.reader(csvfile)
for row in reader:
  print(row)
みたいな感じで読むと、1文字ずつ取り出されてしまうようなんですが、
どういったところを疑えばよさそうですか?

CSV が1文字ずつ改行されているということもないですし、
ネットで探してもこんなことで困っているようなケースは見当たらないようですが…
0840デフォルトの名無しさん
垢版 |
2020/05/01(金) 22:59:44.37ID:xXuuls7c
>>839
csvfileって書いてるところがstrだからでしょ
for row in csv.reader(csv_string.splitlines()):
みたいにすればいいと思うよ
0842839
垢版 |
2020/05/01(金) 23:08:21.48ID:o7T99yl7
>>840-841
いけました!!!ありがとうございます!!!!!
0843デフォルトの名無しさん
垢版 |
2020/05/02(土) 06:15:56.07ID:9xJcUutm
>>839
csv.reader()の引数はイテレータである必要があり__next__()を呼び出して処理する
csvfileは文字列で__next__()を呼び出すと1文字ずつ返すからそうなってしまう
多分やりたいのは1行ずつ処理してほしいんだろうから
urllib.request.urlopen('<url>').read().decode('utf_8_sig').splitlines()
とかで行のリストにしてみたらいいかと
0844デフォルトの名無しさん
垢版 |
2020/05/02(土) 08:30:37.36ID:fH6yOmK2
# なんとなくread()するのがもったいないかんじもするので
with urllib.request.urlopen('<url>') as f: # byte stream
__tf = io.TextIOWrapper(f, newline='', encoding='utf-8')
__reader = csv.reader(tf) # text stream
__for row in reader:
____print(row)
0846デフォルトの名無しさん
垢版 |
2020/05/02(土) 10:57:38.88ID:KJskOYTt
Ruby では、CSV.foreach で、1行ずつ処理できる

require 'csv'

file_path = "input.csv"

CSV.foreach( file_path ) do |row| # 1行ずつ処理
puts "#{ row[ 0 ] } : #{ row[ 1 ] }"
end

出力
あ : いう
a : bc
0847デフォルトの名無しさん
垢版 |
2020/05/02(土) 16:22:53.97ID:/lhI8m4i
>>846
844のコードで何が書いてあるかさえ理解できないの?
ほんとにrubyしかわからないんだな。毎日毎日別言語のスレに見当違いのrubyのコード書いて、無職でrubyでちょっとしたコードが書けることが唯一の誇りなのかな…?
0848デフォルトの名無しさん
垢版 |
2020/05/02(土) 16:38:30.35ID:5EdNFNFK
でもなあ>>843みたいに既に回答されてる内容をさも意味があるかのようにただ繰り返すだけのやつよりはまだいいと思うぞ
0849843
垢版 |
2020/05/02(土) 17:01:49.85ID:fZ0Wf7vj
>>848
リロードしてなくて被っただけ
アンカー見たらわかると思うんだが

>>847
ルビ厨の相手するなよ…
0850デフォルトの名無しさん
垢版 |
2020/05/03(日) 12:24:37.87ID:zajIy9nA
ここまで平常運転
0851デフォルトの名無しさん
垢版 |
2020/05/03(日) 12:33:54.23ID:OgIpuXev
Ruby、なら、こんな、感じ


require 'おっぱい'

oppai = 'OPPAI'

OPPAI.foreach(OPPAI)
put end


出力
おっぱい!!!!!!!!!
!!!!

!!!!!!!おっぱい!!!おっぱい!!!!おっぱい!!!!!!
0853843
垢版 |
2020/05/03(日) 15:29:42.86ID:c0VfduH1
> そして>>849>>847が同一人物という落ち
自演認定厨乙
0854デフォルトの名無しさん
垢版 |
2020/05/05(火) 22:26:42.44ID:ewxDBjQY
プログラミング、Pythonとは?
ってぐらいの超初心者です。
目標は競馬のデータ分析です。

はじめの一歩としてオススメの
参考本はありますか?
0857デフォルトの名無しさん
垢版 |
2020/05/06(水) 00:07:24.09ID:SR4GLnWF
>>854
俺もプログラミングはじめてだったんで、くじら飛行机のでpythonというかプログラミング自体を習い、次にオライリーの魚の本でAIを習い、まとめに競馬AI作って上手いこといきました
ちなみに俺は競馬やらないんだけど、分析には問題なかったです。専門用語調べたりはしましたが
0859デフォルトの名無しさん
垢版 |
2020/05/06(水) 01:24:30.29ID:Py17Myp9
>>854
マジレスしてやると、微分積分、線形代数、統計2級以上はベース知識として必要だが、既にクリアしてるならゼロから始めるDeeplearning嫁
0860デフォルトの名無しさん
垢版 |
2020/05/06(水) 02:14:25.74ID:Z893TlLs
>>854
競馬が好きなんだろうけど
天引き率多いから99パー勝てないよ
もし本気で金を稼ぎたいなら
株価分析の方が良い

そしてデータ分析なら
Excel VBAから始めるのも良い
VBAは入門書が多いし易しいし
最初からExcelのGUIがついてるから

超初心者にはこのふたつが重要な点
0862デフォルトの名無しさん
垢版 |
2020/05/06(水) 10:40:08.34ID:j6jjCoM5
そもそも皆さんが言ってる事が理解出来てないぐらいです

競馬は趣味程度で稼ぎたいとまでは考えてないが
プログラミングとデータ分析を覚えながら
趣味に繋がれば…
目的、目標がないと挫折しそうなので。

そんな奴でも理解出来る本ってありますかね??
0863デフォルトの名無しさん
垢版 |
2020/05/06(水) 10:51:09.33ID:S4taeDi9
聞く前にやってみたら?
本なんて読んでみて合わなかったら次いけばいいよ
今ならkimdleunlimitedが三ヶ月300円今日までだし色いろなpython本ある。ふりがなpythonプログラミングとか言う本もあった読んでないけど簡単そう
0864デフォルトの名無しさん
垢版 |
2020/05/06(水) 10:57:41.19ID:q6Rk1GB6
>>860
競馬は全部の馬券の組み合わせを買っても絶対勝てないように出来てるんですよね
0866デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:28:32.10ID:CFZzJW0b
>>864
いや
違う

出来そこないのウマ3頭を省いて15頭の総当たりで勝てるが、
難癖付けられて税務署にもってかれる

要するに、競馬の必勝法は編み出されたが、それを使うと税金的に逮捕される
だから、競馬は勝っちゃいけないゲームだということが周知になった
もはや男は騙せないから、女子供向けのCM打ってる
0867デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:30:49.41ID:q6Rk1GB6
なるほど!
判りやすい説明thx

前それで逮捕されてた人って無罪になったん?収監されたん?
経費にならなかった?
0869デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:47:37.20ID:CFZzJW0b
続報も詳細もあまり詳しくはない
しかし、競馬で勝ってはいけない、ということだけは理解した
0870◆QZaw55cn4c
垢版 |
2020/05/06(水) 11:54:31.69ID:Jg+95xA+
>>868
最近のインデックスは、皆インデックスばかり買うものだから、採用銘柄がおしなべて割高になっていると思います
インデックス売買に株式投資本来の価格調整能力(良いものの値が上がり、悪いものは下がる)はない

インデックス買いはそろそろやめておいたほうがいいでしょう
0872デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:55:07.52ID:Z893TlLs
競馬の方が勝てるっていうのは詐欺

競馬はJRAが控除で天引きするから
長期ではその還元率に収束していく

株は売らなくても持ってるだけで
配当とか株主優待もあるんだから
長期のプラス収益が実現しやすい

ただし株だけで生活するには
相当の投資資金が必要になる
0874デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:56:58.43ID:Py17Myp9
競艇なんかも言い掛かりつけられたら裁判で数年ロスするからな。戦場は株か暗号資産が良い。為替はダメだ。相場との戦いではなく、業者との戦いになるからな。攻略しても凍結が待っている。
0875デフォルトの名無しさん
垢版 |
2020/05/06(水) 13:35:21.22ID:QGSx0CXQ
株で重要なのは異常値分析だろう。
引き際間違えなきゃ儲かるようになってる。
ただ今回みたいなことが何年か周期であるからそれを回避できるかどうかが重要。
0877デフォルトの名無しさん
垢版 |
2020/05/06(水) 14:45:19.90ID:Fjn1hDTG
競馬で稼いでいた人は、無罪になった。
事業としてやっていたから、はずれ馬券も経費になった!
趣味では経費にならないけど

パチンコ・競馬は、還元率が70〜80% と低いから、繰り返しやると減っていく。
一方、株式は手数料も少ない

明地文男の3点チャージ投資法なんか、暴落時だけに底値を買うから、100% 近い勝率。
今回の暴落でも、底値で拾って、すぐ売る

ただし、多くの底値が同じ日にちになってしまうのと、
数年に1回しか、暴落が起こらない
0878デフォルトの名無しさん
垢版 |
2020/05/06(水) 14:50:34.87ID:Py17Myp9
>>877
この裁判のミソはな、他の奴が真似してシストレしたとしても外れ馬券が経費と認められる保障はないってところだ。
いちゃもんつけられたら裁判で数年ロスするからな。
ケチがついた戦場選ぶ奴はセンスないよ。
0881デフォルトの名無しさん
垢版 |
2020/05/06(水) 15:23:41.79ID:dUOKAoWX
株は底値で買って儲けるだけじゃなくて
高値で売って儲けるのもあり
安定してるときより細かく上下してるときの方が儲かる
0883デフォルトの名無しさん
垢版 |
2020/05/06(水) 15:38:59.08ID:QGSx0CXQ
>>881
本格的にボラティリティーでも儲ける用意してるヘッジファンドに個人が勝てるわけねーだろ。
>>882
正解だが、それネズミ講で儲けてるクズと変わらんから。
0884デフォルトの名無しさん
垢版 |
2020/05/06(水) 16:00:47.58ID:YotdJE6N
>>862
自分も始めたばっかりなのでそれ程多くの情報を持ってないですが
大量にデータを扱う際に困るのは表、グラフの作成とかデータの入出力だと思うので、その辺の説明がある本を探してみては
例えば
初心者向けPythonデータ分析入門: Numpy/Pandas/Matplotlib/Scikit-learn/Keras対応 (神草出版)
の例を真似て見るとか
あと基本的な文法は自分はドットインストールの講座を見てます
Pythonの実行環境はAnacondaを導入してSpyderを使用するのが煩雑過ぎず、コマンドラインアレルギーも起こしにくく良いんじゃないかと思います
0885デフォルトの名無しさん
垢版 |
2020/05/06(水) 16:09:06.22ID:6mun2+/K
絶対儲かるって言ってるネズミ講と、自分の分析を補助するツールとが同じ訳ないでしょ
0886デフォルトの名無しさん
垢版 |
2020/05/06(水) 16:11:38.60ID:6mBWGKlJ
ネズミ講のばあい:どうあっても、勧誘ノルマが地球の全人口を超えるのが、割と早い件
株取引のばあい:取引に参加してる連中のうち、最多数派が採用した瞬間、そいつら全員ドボン。
               けこうゆうよある。
0887デフォルトの名無しさん
垢版 |
2020/05/06(水) 16:16:59.16ID:iZmY5mOF
pythonではないが、こういうのもある

Rubyではじめるシステムトレード (現代の錬金術師シリーズ) (日本語) 単行本(ソフトカバー) – 2014/5/20
0890877
垢版 |
2020/05/06(水) 17:06:27.10ID:Fjn1hDTG
明地文男の3点チャージ投資法は、たぶん何千回もやって、99% は勝ってる。
底値で勝って、翌日に、5% 上で売る

欠点は、多くの銘柄の底値が同じ日にちになってしまうのと、
数年に1回しか、暴落が起こらない

今回みたいに、30% 暴落・調整するのが、数年に1回しか起こらないから。
リーマンの時にみたいに、50%暴落するのは、数十年に1回
0891デフォルトの名無しさん
垢版 |
2020/05/06(水) 17:46:38.27ID:Z893TlLs
>>883
>>886
ネズミ講と株式市場は全然違うぞ!
前者は違法だが後者は合法

それに株の場合はゼロサムじゃなくて
プラスサムも(マイナスサムも)ありうる
0897デフォルトの名無しさん
垢版 |
2020/05/06(水) 22:04:17.23ID:j6jjCoM5
>>860
いろいろ調べてくと
競馬のデータ分析は
Excelでも充分だな。
ただExcelも理解してないので
ハードルが高そう。
やっぱり無理かな…
0898デフォルトの名無しさん
垢版 |
2020/05/06(水) 23:48:31.34ID:wQjvLZTP
競馬は勝てますよ
もちろん家建てるのは無理でも、競馬を楽しみながら月数十万勝つのは可能。

方法はノミ屋と知り合いになる。
ノミ屋の控除率は90%だから分析次第では楽に勝てる
銀行口座通さなければ税金も取られないし
0901デフォルトの名無しさん
垢版 |
2020/05/07(木) 20:24:12.52ID:kjDehwfn
割り算の切り上げについて0--4//3という記述を見たのですが、この"--"はなんでしょうか?
切り上げなので、おそらく-(-4 // 3)を短縮した書き方だとは思うのですが。
関数形式の標準演算子
https://docs.python.org/ja/3/library/operator.html
にあるかと思ったのですが、見つかりません…。
0902901
垢版 |
2020/05/07(木) 20:37:02.27ID:kjDehwfn
解決しました。くだらない質問すみませんでした。
0903デフォルトの名無しさん
垢版 |
2020/05/08(金) 08:50:42.27ID:y4Hx/y2r
下らなくはない。
JavaやC(たぶんC#も)をやってる人は要注意。
>>> 0--4//3
2
>>> 4//3
1
>>> -4//3
-2
>>> -(4//3)
-1
0908デフォルトの名無しさん
垢版 |
2020/05/08(金) 11:57:45.11ID:oIDbptWL
0--4//3 だと 1
0-(-(4//3))

--4//3 だと 1
(―4)//3

ですか?
0910デフォルトの名無しさん
垢版 |
2020/05/08(金) 15:22:44.85ID:w65c4b0q
よき
0912デフォルトの名無しさん
垢版 |
2020/05/08(金) 15:58:03.35ID:iOEjZYuS
まとめ

0-(-4//3) だと 2
0-((-4)//3)

0--4//3 だと 1
0-((-4)//3)

--4//3 だと 1
(―4)//3

あれ?
0913デフォルトの名無しさん
垢版 |
2020/05/08(金) 19:15:44.98ID:qca/Mwjw
>>912
いつまで続けるつもりか分からないけど2つ目間違ってるよ

--4//3は単項演算子のマイナスが2つ
0--4//3は最初のマイナスは二項演算子、次のマイナスは単項演算子

つまり
0--4//3 = (0) - ((-4)//3) = 0 - (-2) = -2
0916901
垢版 |
2020/05/08(金) 21:31:04.75ID:HrD3ulZU
予想以上に盛り上がる質問だったようで、驚いております。
皆さん、ありがとうございました。
そもそもmath.ceil使えという話ではありますが…。

>>911
リファレンスありがとうございます。
0918デフォルトの名無しさん
垢版 |
2020/05/08(金) 22:05:05.16ID:gU1j9XWG
C系のint割り算とは違う(-4 / 3 = -1)ってことを言いたかったんだが、
>>905が優先順位とか言い出したからおかしなことになってるだけ。
0919デフォルトの名無しさん
垢版 |
2020/05/08(金) 22:50:32.00ID:Pb0t26ee
割り算の切り上げにmath.ceil(4/3)じゃなく
0--4//3って書いてるコードがあってこの--は何?
ってなったのが>>901

math.ceil使えって結論で別におかしくないし
--が何かを理解するには演算子の優先順位を理解する必要があるから
>>905の話も別におかしくない
0920デフォルトの名無しさん
垢版 |
2020/05/08(金) 23:42:32.25ID:Z9fBSA1g
pythonを実行ファイル形式にしたいのですが、
pyinstalerって使い物になります?

なんかネット見てると遅いとか実行ファイルに変換できないとかいろいろ書かれているんですが・・・。
0921デフォルトの名無しさん
垢版 |
2020/05/09(土) 05:59:10.83ID:d7vMKCfN
実行ファイル化は危険な闇ツール
自己責任でどうぞ
他人に助けを求めないように
0922デフォルトの名無しさん
垢版 |
2020/05/09(土) 07:57:14.49ID:/Z4Vk9Yy
0--4//3

これは単なるクイズでしょ。
実際に、こういうコードがあれば共同開発できない

-- が、デクリメント・単項・2項など、どういう演算子か分からない
0923デフォルトの名無しさん
垢版 |
2020/05/09(土) 08:27:13.65ID:k66XcY87
ここに飛ばされたんですが、いろいろ試してみましたが、
<class 'tuple'>: (1, 1, 320, 320) この形の配列を
<class 'tuple'>: (320, 320, 1) にするやり方が分かりません。
forループで要素を入れ替えると、約1秒もかかります。
0924デフォルトの名無しさん
垢版 |
2020/05/09(土) 08:33:26.39ID:qZuZMPTr
>>922
確かにパッと見て分かりにくいから仕事で使うべきではない表記だけど、基本的な演算子しか使われてないのに読もうとしても構文的にちゃんと解釈できないのは仕事をする上ではまずいと思うぞ。
0925デフォルトの名無しさん
垢版 |
2020/05/09(土) 08:57:13.26ID:k66XcY87
>>923
自己解決しました
np.array(l[0]).transpose(1,2,0)
0926デフォルトの名無しさん
垢版 |
2020/05/09(土) 09:27:36.20ID:2xDl0qkZ
>>925
numpy使えるなら普通にreshapeすればよくない?

array = np.array(np.arange(320*320)).reshape([1,1,320,320])
array.shape
#=> (1, 1, 320, 320)
array2 = array.reshape([320,320,1])
array2.shape
#=> (320, 320, 1)
0927843
垢版 |
2020/05/09(土) 09:39:08.12ID:Dxp4OAVX
>>924
コード解析せざるを得ない状況なら調べるけど、普通はレビューで弾いて書き直させる
トリッキーなコードをいちいち調べるほど暇じゃない、仕事ならなおさら
0928デフォルトの名無しさん
垢版 |
2020/05/09(土) 10:43:39.11ID:3rxWY8lS
>>920
1. Cython (Cpython ではない方)
2. C から直接 python 実行
3. 全部書き直し
0930デフォルトの名無しさん
垢版 |
2020/05/09(土) 14:32:56.00ID:/WGeoYJn
>>926
transposeは軸を交換していてreshapeは配列の形を変えているだけなので結果は異なるよ
例えば width=320, height=320, depth=1 の場合

a = np.arange(320*320).reshape(depth, width, height)

で (depth, width, height) の並びになるけど、これを

a.transepose(1,2,0)

すると(width, height, depth)の並びになる

a.reshape(width, height, depth)

とは当然結果が異なる
質問者の意図が曖昧だったね
0932デフォルトの名無しさん
垢版 |
2020/05/09(土) 18:18:08.17ID:cMlvEvLT
pandas
0934デフォルトの名無しさん
垢版 |
2020/05/09(土) 19:46:21.54ID:zR/E4i5o
投資の質問しづらい雰囲気になっちゃってる…
0936デフォルトの名無しさん
垢版 |
2020/05/09(土) 23:29:59.65ID:zR/E4i5o
でもPythonで自動売買したい……
0937デフォルトの名無しさん
垢版 |
2020/05/09(土) 23:32:12.92ID:Gxw/aWGG
>>936
すれば?
ここは雑談スレじゃないし。構ってちゃんなのかな?
具体的なPythonの質問に落とし込んでいれば質問にも答えてもらえると思うよ
0939デフォルトの名無しさん
垢版 |
2020/05/09(土) 23:58:59.83ID:CUL9xwyE
そのフィールド名集めてDDLにするだけじゃね?
型まで推定してほしいってことかな。
0940デフォルトの名無しさん
垢版 |
2020/05/10(日) 01:46:09.23ID:sYQDYC6t
美人女優モデルのクラスを定義するだけで
美人女優を輩出してくれるこのシステムまじうめぇwww

美女さんが毎夜楽しませてくれるんよwwwwww
0941デフォルトの名無しさん
垢版 |
2020/05/10(日) 01:49:24.89ID:A6CylaMw
append({‘aaaa’:3,’aaa’:2})
って感じのコードがあったんだけど
リスト型の中に辞書方を入れることってできるの?
0942デフォルトの名無しさん
垢版 |
2020/05/10(日) 02:02:19.97ID:xljGyfa/
>>938
Ruby on Rails の、ソースコードをコピーすれば?

タスクランナーのrake か何かで、作っているのだろう
0944デフォルトの名無しさん
垢版 |
2020/05/10(日) 05:18:33.62ID:qSA2SRyf
>>938
やりたいことによるけど、pandasで多分できる
OR mapperしたいならSQLAlchemyだけどCSVのテーブルをパースして取り出すだけならpandasでいい
横に長いカラムっていくつくらい?1000カラムくらいならpandasでいい
0946デフォルトの名無しさん
垢版 |
2020/05/10(日) 10:00:19.21ID:YjtOaTbF
安倍政権も、民主党政権よりもちょっとだけマシな程度ということがわかったな。
0949デフォルトの名無しさん
垢版 |
2020/05/10(日) 11:06:32.44ID:4lGhKEt5
>>945
これは探していたものかも、CRATE tableできるんですね

>>944
pandasのdf.to_sqlってSQLalchemyのengineも使えるんだ、スゴい
0950デフォルトの名無しさん
垢版 |
2020/05/10(日) 12:16:55.63ID:Gmi/xazP
社内のデータベースからお問い合わせ内容を抜き出して、Googleのように関連するキーワードの候補を表示させたいんだけど、Pythonで実現できる?
0951デフォルトの名無しさん
垢版 |
2020/05/10(日) 12:37:22.72ID:NzbOtKPR
>>944
engineはただのproxyだから。
model(Base)まで作ってくれるわけではない。
もっとも、tableをつくってしまえばsqlalchemyでmodel化するのは簡単だけど。
0952デフォルトの名無しさん
垢版 |
2020/05/10(日) 13:24:44.94ID:qSA2SRyf
>>950
自分なら
サジェスト機能はデータベース(ElasticsearchやApache Solrなど)に任せる
フロントエンド側でデータベースに問い合わせる
という実装をする

pythonを無理やり噛ませるとするなら
既存データベースからElasticsearchへ関連データを登録するプログラム
Elasticsearchへ問い合わせるプログラム
くらいだろうか
0953デフォルトの名無しさん
垢版 |
2020/05/10(日) 13:53:43.98ID:G3VbVrdQ
>>952
ありがとう
elasticsearchって初めて知った…
まだ詳しく見れてないけどSQLのような感じで条件組んで、エクセルで加工するようなことはkibanaっていうのでやるのかな?
難しい?
0954デフォルトの名無しさん
垢版 |
2020/05/10(日) 14:22:16.27ID:qSA2SRyf
>>953
普段からデータベースに触っている人なら同じくらい簡単
細かいことをやろうとすると面倒なのも一緒
Kibanaはブラウザで可視化、分析したい人が使うツール
使い始めると、何でもかんでもElasticsearchに登録したくなるので、そのときはLogstashを使う
APIが揃っているのでpythonから見ると本当にAPIを叩くだけ
0956デフォルトの名無しさん
垢版 |
2020/05/10(日) 15:33:26.46ID:KeMLcdbw
>>937
テメーにゃ無理だろうけどなw
0962デフォルトの名無しさん
垢版 |
2020/05/11(月) 09:46:47.23ID:MhpqGE2N
4873114705
978-4-87311-470-5
チェックサム値がどっちも同じになるケースも割とあるんだね
0963デフォルトの名無しさん
垢版 |
2020/05/11(月) 14:44:38.39ID:5x1w4aVw
processingはプログラミングの勉強としていいですよね
0964デフォルトの名無しさん
垢版 |
2020/05/11(月) 15:06:28.45ID:oppF2e3I
昔のBASICなみに結果がすぐに可視化されるからやる気は続く
ウインドウが生成されるのもポイントか
0965デフォルトの名無しさん
垢版 |
2020/05/11(月) 16:04:23.43ID:E6TPYZev
>>963
> processingはプログラミングの勉強としていいですよね

新入社員かな?
processingの意味ってわかってないでしょ?
人前でそんなこと言わないほうがいいよ。
バカと思われるから。
0966デフォルトの名無しさん
垢版 |
2020/05/11(月) 16:09:23.27ID:N9jKXG1s
>>965
釣りかも知れないけどマジレスするとProcessingという言語のことだと思う
直感的だしもっと流行ってもいいと思う
0968デフォルトの名無しさん
垢版 |
2020/05/11(月) 17:53:47.54ID:5x1w4aVw
ai pythonで動画をロリ化するのはむずいですか?
0970デフォルトの名無しさん
垢版 |
2020/05/11(月) 18:36:47.45ID:lNQvorhm
テキストファイルの中から特定の文字列を含む行と
その直前の一行と、直後の二行を削除するスクリプトを書きたいんですが
どなたか教えてくれませんか?

調べてもなかなかスマートなものが出てこなくて困ってます
出来るだけわかりやすくシンプルに書きたいんのですが…
0971デフォルトの名無しさん
垢版 |
2020/05/11(月) 19:03:48.85ID:N9jKXG1s
>>970
pythonでやるような処理ではないが、似たような質問ばかりで何でこんなことになってるんだ
大学の課題か何かなんだろうか

コマンドラインでgrepを使う方が簡単で速い

grep -B 1 -A 2 キーワード

-B 1で直前の1行、-A 2で直後の2行が表示される
0972デフォルトの名無しさん
垢版 |
2020/05/11(月) 19:17:25.42ID:N9jKXG1s
>>970
すまん、よく読まずに投稿した
削除するスクリプトだったらファイル名 hoge.txt に対して

grep -B 1 -A 2 キーワード hoge.txt | grep -vFf - hoge.txt

とする
GNU grepが必要なのでmacでは標準のgrepじゃなくて
brew install grep
した上で/usr/local/opt/grep/libexec/gnubin/grepを使ってくれ
0973デフォルトの名無しさん
垢版 |
2020/05/11(月) 19:32:46.53ID:lNQvorhm
>>972
丁寧にありがとうございます
早速試してみます

Pythonでやりたかったのは実行ファイル
0974デフォルトの名無しさん
垢版 |
2020/05/11(月) 19:35:28.37ID:lNQvorhm
すいません途中で本文消えてましたが
pythonの実行ファイル形式にしてこの作業を一括でやらせようと考えてました

Pythonでは少々面倒なんですね…
初歩的な質問ですいませんでした
0976デフォルトの名無しさん
垢版 |
2020/05/11(月) 20:23:43.23ID:lNQvorhm
>>975
すいません勉強不足で知りませんでした…
ありがとうございます
これでやりたいことがやれそうです
助かりました
0978デフォルトの名無しさん
垢版 |
2020/05/11(月) 20:48:25.48ID:M5DpbX0A
もし、検索ワードに、直前の1行・直後の2行が存在しなかったら、どうするの?
0979デフォルトの名無しさん
垢版 |
2020/05/11(月) 20:55:40.70ID:lNQvorhm
>>977
度々ありがとうございます
こんなスラスラコード書けるのほんと尊敬します
もっと勉強しようとモチベーション上がりました

ありがとうございました
0980デフォルトの名無しさん
垢版 |
2020/05/11(月) 21:14:37.42ID:M5DpbX0A
例えば、Ruby on Rails なら、(usersテーブル) Userモデルを、
クラス内に、抽象的な型で定義しておいて、
3大データベース(DB)で実行すると、各DB固有の型で、テーブルが作られる

class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t|
t.string :name, null: false # not null
t.string :email
end
end
end
0982デフォルトの名無しさん
垢版 |
2020/05/11(月) 23:05:32.84ID:1pff6JWl
587:名無し募集中。。。:2020/05/11(月) 22:54:29
レス代行依頼
【状況】他板で連投規制にひっかかってBBx90日の刑
【板名】プログラム
【スレッドタイトル】くだすれPython(超初心者用) その47【Ruby禁止】報告
【スレッドURL】http://mevius.5ch.net/test/read.cgi/tech/1583509252/
【名前(省略可)】(代行経由)新鮮な次スレ
【メール欄(省略可)】あげ
【本文】
0983デフォルトの名無しさん
垢版 |
2020/05/12(火) 10:47:12.81ID:4WwqN1hQ
>>970
やる気は無いけど
探してる文字列と同じ文字列が
見つかった行とその下とか上にもあったら
どういう動作を期待してるの?
0985デフォルトの名無しさん
垢版 |
2020/05/12(火) 17:09:23.36ID:gq6JjVhE
ゲームプログレミンとワードプレスプラグラミンはどっちがかんたんですか?
0987デフォルトの名無しさん
垢版 |
2020/05/12(火) 17:28:36.41ID:1JM+jinB
>>985
何をやるかにもよるけど一言で言えば
ゲームよりワードプレスの方が簡単
ゲームは動くけどブログは動かないから
0988デフォルトの名無しさん
垢版 |
2020/05/12(火) 23:07:57.96ID:KUWRL0mR
seleniumで自動化したいんだけど、ベッドレスモードで最速のwebdriverを知っていたら教えて欲しい。
0989デフォルトの名無しさん
垢版 |
2020/05/12(火) 23:35:22.32ID:rr7jvTFY
>>988
自動化の用途にもよるけどHTTP Proxy使ってrecord&replyしたり
whitelist/blacklistを作って本当に必要なファイルだけ取得するするのが速度には一番効く
0993デフォルトの名無しさん
垢版 |
2020/05/15(金) 19:43:55.47ID:QfaTYsLo
Pythonのリアルタイム音声認識→文字入出力で、無料かつオフラインで最も精度が高いライブラリ等はどれですか?
SpeechRecognitionというのを試してみましたが、しゃべりながら認識するというよりは、しゃべり終わった後に文字が現れるという感じで
リアルタイム感があまりありません。

Google Speech APIを使うと高精度に認識できるのかもしれないですが
1か月に60分以上使うと従量課金になるようです。
やはり現時点では、有料のサービスでない限り、あまり精度の高い音声認識は出来ないのでしょうか?
0994デフォルトの名無しさん
垢版 |
2020/05/15(金) 19:46:22.34ID:mq4q1sRg
聴き取り君
読み上げ君
0995デフォルトの名無しさん
垢版 |
2020/05/16(土) 14:44:13.87ID:qSBeRL26
miniPyconかなんかでそんな」発表してた人がいた気がする
0996デフォルトの名無しさん
垢版 |
2020/05/16(土) 15:17:15.11ID:n6w5EqNO
プログラミングしててVS CODEで実行させたら突然

PS J:\> cd 'j:\backup\半側空間無視研究\計測分析ソフトウェア'; & 'C:\Users\takashi ishida\Anaconda3\python.exe'
'c:\Users\takashi ishida\.vscode\extensions\ms-python.python-2020.5.78807\pythonFiles\lib\python\debugpy\wheels\debugpy\launcher' '
51049' '--' 'j:\backup\半側空間無視研究\計測分析ソフトウェア\半側空間無視データ分析.py'
cd : パス 'J:\backup\半側空間無視研究\計測分析ソフトウェア' が存在しないため検出できません。

と表示されるようになりました。
プログラムはあるんですが、なにかVS CODEかPythonの問題でしょうか?
0998デフォルトの名無しさん
垢版 |
2020/05/16(土) 15:24:50.32ID:kCnY5Rf5
>>993
自分の感覚では有料サービスだから、ではなくてインターネットに接続できて強力な単語補正の機能が利用できるから、だと思う
あとGoogle Speech APIやMicrosoftのSpeech SDKなどはそれなりに良いものだけど、用途によってはまだまだ厳しいと感じるね

CMUSphinxやKaldiとか色々あるけど、使って見たらサービスに全く勝てないのが分かると思う
1000デフォルトの名無しさん
垢版 |
2020/05/16(土) 16:49:56.76ID:n6w5EqNO
>>997
本当だ。
英語だけにしたらできました。
ありがとうございます。

でもいままで日本語のファイル名とかパス使ってても実行できてたんですが、
なんで急にできなくなったんでしょう?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 70日 16時間 9分 4秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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