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/
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を解析できる方法がありましたら教えていただければ幸いです。
質問がわかりにくく申し訳ございませんが、宜しくお願いします。
■ このスレッドは過去ログ倉庫に格納されています

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