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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
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/
2020/04/03(金) 23:44:11.67ID:y4LIlYUL
>>384
本職目指すなら一本に絞ること自体ナンセンスだから取っつき易いのから始めて全部やれ。
研究の道具とかで何らかプログラミングができるようになりたいというなら、具体的な用途を示さないとどれが適切かは分からない。
言語本体だけで見ればその中でpythonは遅い方だが用途によっては全く問題ない速度が出たり、他の言語で作るより速いものが作りやすいこともある。
2020/04/03(金) 23:45:31.67ID:piuBzRB4
>>385
オープンソースソフトの未来は誰にもわからない
開発コミュニティがやる気を失ったりケンカ別れしたらそれでおしまい
これから言語はたくさん経験するんだから、とっかかりとして気楽にやればいいよ
2020/04/03(金) 23:52:25.19ID:rdGqqnzw
質問スレ頼りになるのは弱点というか危険だな
2020/04/04(土) 00:08:34.86ID:oJJIXkGA
速度なんてアルゴリズムによって大幅に変わるから
2020/04/04(土) 00:16:47.31ID:Q2cNyZtm
得意分野違ったり何やるかにもよる
javaとかループする計算早い!とかいいながらGUIクソ遅いし
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)
2020/04/04(土) 01:39:10.09ID:onN5/Dtn
掛け算しろ
2020/04/04(土) 02:16:33.13ID:2GneaZJB
>>392
ありがとうございます!
割合で計算し直してみます
たすかりました!
2020/04/04(土) 03:20:08.62ID:H0jGuf/J
>>380
基本的に欠点が少ないから普及してる

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

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

>何でもかんでもライブラリ頼りになることはなんか弱点
そりゃ何でもライブラリ頼りなら
プログラミングが上達しないことが弱点なんじゃないの?
一方で車輪の再発明すると時間を浪費するのも事実だけど
2020/04/04(土) 03:25:57.32ID:B9dYJGhT
Intel Distribution for Python
って実際どれぐらい速いんですか?
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を
ちゃんと読み書きできるようになろう!
397デフォルトの名無しさん
垢版 |
2020/04/04(土) 07:56:02.93ID:+dijpLcI
Pythonは何で短い行で他の言語と同じ命令ができるのですか?
(例えばプリントメソッドなど)
2020/04/04(土) 08:04:26.39ID:pUvK7e6W
裏で妖精さんたちが頑張ってくれてるから
それと引き換えに妖精さんにわかる言葉でお話する時間だけ処理速度が遅い
399デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:09:52.12ID:+dijpLcI
>>398
妖精とは?
ライブラリとはまた違うんですよね?
2020/04/04(土) 09:20:21.63ID:H0jGuf/J
>>397
一言で言うとPythonの中に命令が書いてあるから
2020/04/04(土) 09:21:32.41ID:sthBNuMB
妖精は心がきれいな人にしか見えないんだよ
ライブラリは心が汚い人でも見える
2020/04/04(土) 09:31:50.11ID:+dijpLcI
>>400
そうなのですか

でもじゃあなんで他の言語じゃそういう仕組みがないんでしょうか
2020/04/04(土) 09:40:37.44ID:H0jGuf/J
>>402
それはPythonがわりと若い言語だから
同期のRubyも同等の短い命令で書ける
2020/04/04(土) 09:45:01.78ID:ahx6kiBX
Goもやってみたいけどライブラリが少ないからなぁ、kivyみたいな便利なものが欲しい
405デフォルトの名無しさん
垢版 |
2020/04/04(土) 09:48:34.61ID:+dijpLcI
>>403
短い命令で書ける代償に何か遅いとかある?
2020/04/04(土) 10:01:30.45ID:sthBNuMB
あるよ
妖精さんのMPが尽きたら動かなくなっちゃう
407デフォルトの名無しさん
垢版 |
2020/04/04(土) 10:03:52.58ID:VBb9fdzI
メモリポイント(MP)
408デフォルトの名無しさん
垢版 |
2020/04/04(土) 10:21:52.16ID:hrm1EJZE
>>397
プリントなんてどの言語も大差ないと思うけど
どんなコードを見ていっているの?
2020/04/04(土) 12:30:05.80ID:sthBNuMB
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
2020/04/04(土) 12:34:23.89ID:OFkLhi5Y
Javaはいちいち大げさすぎる
Pythonとは文化が全く違うのでこのスレ民には用無し
2020/04/04(土) 12:41:53.56ID:yxoY6Q+2
Javaは大規模開発に向いている
小規模でちょこちょこやりたいなら、Pythonで十分
412デフォルトの名無しさん
垢版 |
2020/04/04(土) 12:49:39.58ID:dq6PHYC/
しかしpythonのself地獄はいかんともし難い
となるとpythonはそれ用には作られてないのではと思ってしまう
413デフォルトの名無しさん
垢版 |
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
2020/04/04(土) 12:57:49.17ID:OFkLhi5Y
>>412
そらそうよ
Pythonのオブジェクト指向機能は後付けだからな
最初から純粋なオブジェクト指向言語として作られたJavaとはモノが違う
2020/04/04(土) 13:42:44.02ID:H0jGuf/J
>>405
Pythonは遅い言語だよ?
部分的にトレードオフがある
型を書いた方が早いとか
2020/04/04(土) 13:43:37.71ID:H0jGuf/J
>>414
JavaよりRubyの方がより純粋なOOP言語だよ
417デフォルトの名無しさん
垢版 |
2020/04/04(土) 13:50:04.85ID:FiD2LbJ0
後付けというかJavaScriptと同じプロトタイプだからな。
JavaScriptのthisとPythonのselfどっちがマシか?
418デフォルトの名無しさん
垢版 |
2020/04/04(土) 14:15:14.04ID:+dijpLcI
>>415
でも主要な所はライブラリでCで書かれたのを使うから
実質は速いから問題ないっていう声も聞くんですが
2020/04/04(土) 14:18:38.12ID:pUvK7e6W
グダグダ言ってないで書いてpythonのできる範囲内ではどうやって遅いと思うなら他の言語に移植すればいい
その程度のスピードは出る
最初から世界最速目指さないと死ぬっていうなら別の言語のほうがいいが
2020/04/04(土) 14:21:30.79ID:3W9S/+Fj
>>397
> 短い行で他の言語と同じ命令ができる

そうとは限らない。
2020/04/04(土) 14:40:20.14ID:g5yerRCZ
>>418
高速なライブラリがあるから、それを使う処理は高速にできる。
pythonという言語自体は他の言語に比べて相対的に遅いから、pythonで記述した処理は相対的に遅いから遅い。ただその遅さが許容できる範囲内かどうかは要件次第。
何も矛盾はしてないぞ。
要はケースバイケースなんだから、単に遅いとか速いとかバカな理解のしかたをしないで、正しく使い分ければいいだろ。
2020/04/04(土) 14:41:01.48ID:g5yerRCZ
遅いから遅い、は遅いの間違い。
2020/04/04(土) 14:59:56.88ID:sthBNuMB
プログラミングせずに口だけ動かしてたら妖精さん逃げちゃうよ!
2020/04/04(土) 15:04:52.68ID:tWmNemEQ
Java 系と python 系では思想が違う
Java はなんでもちゃんと書くという思想
python はなるべく書かないという思想
それだけのこと
長所、短所は何とも言えない
2020/04/04(土) 15:09:45.65ID:cbaRLV9y
んな思想はない
Explicit is better than implicit.
2020/04/04(土) 15:24:02.43ID:oHbtMe0Y
>Explicit is better than implicit.
この考え方も後付けなんだよね
2020/04/04(土) 15:54:43.43ID:qxCs0SNG
Enumと辞書ってどう違うんですか?
2020/04/04(土) 17:09:29.25ID:CtxBvfAw
遅い早いとかおまえらのレベルじゃ気にするレヴェルじゃねーだろ
2020/04/04(土) 17:14:08.52ID:g5yerRCZ
>>427
全くの別物だけど、どういうところが紛らわしいと思うの?
2020/04/04(土) 17:27:26.51ID:CtxBvfAw
>>429
スルーしてたけど全く別物でワロタwww
2020/04/04(土) 18:46:20.78ID:qxCs0SNG
>>429
keyとvalueがある
432デフォルトの名無しさん
垢版 |
2020/04/04(土) 19:28:37.89ID:zx3zKRQP
ありがとうございます。こちらで教えていただいたおかげで無事に1ページ目のURLやタイトルを取得し出力することができました。
今はページを遷移して全ページのタイトル、URLを取得しようとして、次へのURLは取得することができたのですが
最後のページは次がない為苦戦してます。get_htmlメソッドで別のページのhtmlを解析している動画があったので私も使ってみたのですが、
なぜか使えずNameErrorになってしまいました。何が原因なのでしょうか?get_htmlメソッド以外にもラストページのhtmlを解析できる方法がありましたら教えていただければ幸いです。
質問がわかりにくく申し訳ございませんが、宜しくお願いします。
2020/04/04(土) 20:02:27.84ID:V/ZRChdf
>>432
1.htmlを解析する
2.次のURLがある場合取得して1に戻る ない場合、終了する

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

if文で分岐するか、try ~ exceptで囲んでしまうかなんだけども
2020/04/04(土) 20:15:38.36ID:onN5/Dtn
>>431
enumは後から値を書き換えられない&キーを追加できないかわりに、読みやすい、キーがシンボルなのでtypoしてもすぐに見つかる、値からキーを引けるのが大きな違いかなあ
2020/04/04(土) 23:36:06.06ID:V/ZRChdf
>>432
ようわからんからサンプルソース

https://ideone.com/0KvMNh

ideoneに貼っつけたらURL部分が変わってしまったので、
main()の最初のnext_urlにはtopのURLを入れたら動くはず
2020/04/05(日) 10:05:48.14ID:xV9Ma8xZ
>>434
違いはイミュータブルとみやすさってことですかね
値からキーなら辞書でもitems()と内包表記でできますね
キーがシンボルというのはどういう意味でしょうか
437デフォルトの名無しさん
垢版 |
2020/04/05(日) 10:49:10.66ID:tgzR2K8y
>>427
元々は数十個の連番の定数を定義するためにC言語で使われた
enumなんかは存在せず、全てdefineでやっていた
それが40年ほど掛かって進歩して、今日のenumになった
なので直感的に理解しやすいのはC言語のenumで、それ以降のenumは抽象度が上がってるので理解し難くなっている

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

4月 と April

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


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

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

でもオレもRubyみたいに
整形の自由度高い方が好きだが
2020/04/05(日) 19:46:21.19ID:oKEzp2HP
そんなに嫌いではないけれど、やっぱ長い関数やクラスだと見づらいわな。
tensorflowとか長ったらしい関数使う割にインデント2って最悪だわ。
2020/04/05(日) 19:52:38.82ID:WJ1jL4Cq
pythonでguiアプリとかギャグやろ?
2020/04/05(日) 19:54:36.65ID:87cBLGW2
関数名や変数名で単語の区切りに大文字を使うことはしないの?
2020/04/05(日) 20:01:32.37ID:7qI9jdTU
kivyのcanvasにctypesでがっつり描いてGUIやってる
2020/04/05(日) 20:21:55.10ID:0MNLjFAZ
>>447
そうでもない

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

ただし、
不変な値の名前に、ならば、
全部大文字ならおk...らしい。
例) URL_TUPLE=("http://5ch.net";, "https://5ch.net";)
2020/04/05(日) 20:54:09.29ID:8W0pTwts
>>447
なんで?
Tkinterとかあるだろ
2020/04/05(日) 21:52:27.87ID:BILMQrxA
>>447
じゃあ何で書いたら楽なの?
Ruby on Rails ぐらいしか選択肢がないが
2020/04/05(日) 22:14:48.89ID:odS9lexk
FW
2020/04/05(日) 22:54:25.12ID:WJ1jL4Cq
guiアプリならC#だろ
2020/04/05(日) 22:57:54.90ID:gXtO/KUV
今どきはElectronとか使うのかと思ってた
456デフォルトの名無しさん
垢版 |
2020/04/06(月) 00:39:35.30ID:WU94L+3C
くだすれってなに?
2020/04/06(月) 00:48:25.14ID:/pKVQL2g
くだれすやめろ
2020/04/06(月) 04:10:27.45ID:qqlpdYMz
GTK+3使う。便利じゃん
2020/04/06(月) 06:03:51.39ID:OO/YXzRf
偉大な言語には接頭語を付けて「おPython」と呼ぼう
2020/04/06(月) 06:07:21.92ID:1orLNsgs
>>456
「(上級者wwwからしたら)くだらない(かもしれない)質問を書くスレ」の略語らしいぞ
2020/04/06(月) 10:21:46.12ID:r8LYP1M4
くだをまくスレ
だろ?
2020/04/06(月) 22:23:54.27ID:Dhdswjlr
Python, Markdown, Yaml などは、

VSCode の有名な拡張機能、indent-rainbow でカラー表示できる!
2020/04/06(月) 22:30:04.61ID:/pKVQL2g
vscode入れ直したらクラスは2行開けとか、カンマの後はちゃんとスペース入れるとか、空の空白入ってるとかで警告出てたの出なくなっちゃった
どこいじったのか覚えてないや
2020/04/07(火) 08:55:50.68ID:3apNNaM3
>>463
多分select interpritatorでpython実行環境を設定してないのが原因
2020/04/07(火) 11:16:19.39ID:nX2JoaOK
python.pythonPath 設定してないんだろな
2020/04/07(火) 19:39:39.11ID:MVFjKYjb
pyautoguiでも何でもいいのですが、
別の仮装デスクトップ上に画面とか展開して自動で動かす方法はないですか?
メインのデスクトップ上では他の作業をしてるので、自動化作業は、別の仮装デスクトップ上で不可視の状態で進んでいて欲しいです。
2020/04/07(火) 19:42:45.40ID:RJ0Z9o5i
適当なVMでも使えば?
2020/04/07(火) 19:51:36.91ID:nX2JoaOK
>>466
無理
俺も前似たようなことやろうと思ったけど、仮想デクストップ系の制御はあんまり融通が効かない
2020/04/07(火) 20:25:30.55ID:5K+C4Q+K
出来ないこともないけど最初から仮想の方で動かせば完結してない?
2020/04/07(火) 20:38:43.86ID:7gtbNTZz
>>466
画面・マウス・キーボード切り替え器for2台用を購入して
パソコン本体を2台にしる
2020/04/08(水) 00:31:18.65ID:Oqe9V/es
作業内容にもよるけどブラウザで完結するならselenium使えばいける
2020/04/08(水) 08:35:20.80ID:jQHFC0rR
Pythonでグラフィック使ったゲーム作りたいんですがGUIライブラリ入れたらできますか?
方法があれば教えて下さい。試しにKivyての入れようとしたら難しすぎて無理でした。
2020/04/08(水) 08:38:16.34ID:jQHFC0rR
anacondaは入れてます
2020/04/08(水) 09:28:45.22ID:uM85rkI7
>>472-473
「ハサミを買っても使い方が難しくて分からない」と言ってるやつは
永遠に「ハサミで紙を切る」ことができないままだ。

アナコンダはGUIアプリを作るためのものではないので
へのつっぱりにもならん。
2020/04/08(水) 09:30:55.98ID:qM29robv
ゲーム作るならPythonを今すぐ投げ捨ててUnityを使おう
Pythonに拘って今どれだけ苦労しようともいずれ必ず他へ移行することになるんだし、Unityなら初心者向けの本などは腐るほどある
2020/04/08(水) 09:33:01.41ID:J0JU7WJK
kivy慣れるとめっちゃ便利なんだよな
しかも覚えるとUnityやSwiftまで簡単に見えてくる
2020/04/08(水) 09:51:20.83ID:jQHFC0rR
>>474 Kivyは使ったことすら無くてインストールでつまずいてます。
>>475 調べたらUnityはゲームエンジンで言語はC#ですね。C#用の無料IDEがあるかどうか。
>>476 そうですかインストール頑張ってみようかな。簡単に越したことはないし
2020/04/08(水) 09:52:06.27ID:ZB9MMSr7
Unityはそれ自体IDEだし、個人ならVisualStudioも無料
2020/04/08(水) 09:53:16.19ID:Ph0iXt3g
GUIアプリってのもまた微妙な言葉だな。
ゲーム、ブラウザ、デスクトップアプリ、スマホアプリ
でも取り扱いが全然違うだろ。
2020/04/08(水) 10:53:59.23ID:jQHFC0rR
わかりやすい解説見つけたからやってみたらKivyインストール出来た
せっかく環境作って途中まで勉強したしPython + Kivyで作ってみます。ありがとうございました
2020/04/08(水) 11:03:39.60ID:uM85rkI7
>>480
ここまでスレ使ったんだから
その
「わかりやすい解説」とやらのページに行くための検索単語か
「h」をとったttp以降のアドレス書いてけよダボハゼ
2020/04/08(水) 11:25:39.26ID:jQHFC0rR
いやせっかくUnity教えてもらったし迷ったけどKivyの方が簡単て聞いたからだけど
結局Kivy入れるならもっとKivyのインストール調べてから聞くべきでした。失礼しました
参考にしたブログは
ttps://algorithm.joho.info/programming/python/kivy-install/
483デフォルトの名無しさん
垢版 |
2020/04/08(水) 12:46:17.42ID:lWfV0IAd
>>472
pygame
484デフォルトの名無しさん
垢版 |
2020/04/08(水) 14:37:45.00ID:eAo5BdNs
pythonとはライブラリである
実際のプログラムはjuliaで書く
pycallで呼び出せばいいのだ
2020/04/08(水) 18:51:34.73ID:91DNWNmi
これのインストールのどこが難しすぎるんや???
煽り抜きでがちで解せぬ
zip解凍してexe叩くのに比べて難しいってこと?何と比較して難しいの?え?
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のループ抜ける…ってのだけしてます
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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