X



くだすれPython(超初心者用) その47【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
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/
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でも何でもいいのですが、
別の仮装デスクトップ上に画面とか展開して自動で動かす方法はないですか?
メインのデスクトップ上では他の作業をしてるので、自動化作業は、別の仮装デスクトップ上で不可視の状態で進んでいて欲しいです。
■ このスレッドは過去ログ倉庫に格納されています

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