X



Pythonのお勉強 Part62

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 7301-e0wG)
垢版 |
2019/09/15(日) 16:06:00.08ID:E+Kc3PWT0
★当スレにRubyのソースコード類を書くことを禁ず★
☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止
☆「Ruby では」「Rubyでは」をNGワード登録推奨

◆エラーを解決したいときはエラー文(勝手に省略禁止)と
 環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと

◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩壊するので
  ↓等のソースコードうp用サイトに貼ってきてくだしあ
    (スクリーンショットをimgur等にうpる「横着」禁止)
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう。

◇Pythonオフィシャルサイト
http://www.python.org/

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

●関連スレ●
くだすれPython(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/

〇前スレ
Pythonのお勉強 Part61
http://mevius.5ch.net/test/read.cgi/tech/1563622784/

次スレの建立は>>985あたりが挑戦する。 [EOF]
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0443デフォルトの名無しさん (ワッチョイ 06e4-9NyB)
垢版 |
2019/11/15(金) 10:35:31.12ID:tAAqpyQJ0
for i in range(4):
でした
ここは1だろうが4だろうが関係ないですが
0445デフォルトの名無しさん (ワッチョイ 3901-lKAb)
垢版 |
2019/11/15(金) 10:41:35.24ID:zGnI3whh0
だからさ、python でエラーになるコードをあげてpython スレで質問するというのがおかしいでしょ。
お門違いだよ。
専用のスレで質問したら? godot engine ってゲームでは流行ってるの?
0447デフォルトの名無しさん (ワッチョイ c2c5-iGNt)
垢版 |
2019/11/15(金) 11:58:48.46ID:Re5Vtpoc0
Pythonのリストってリスト構造なんですか?それとも配列なんですかね
なんかリストだとパフォーマンス落ちそうな気がするので実装的には配列にしてそうな気がしますけど
0449デフォルトの名無しさん (ワッチョイ a265-u1fo)
垢版 |
2019/11/15(金) 14:28:35.91ID:AFkzFXT30
>>447
Pythonにおける「リスト」は、他の一般的な言語における「配列」だ
Javaを知っていれば、その「ArrayListクラス」がPythonの「リスト」と対応する
LispやHaskellなどの関数型言語における「リスト」と対応するJavaの
「LinkedListクラス」は、残念ながらPython標準には含まれていない

なお、Pythonのリストはより正確には「可変配列(mutable array)」になる
そして「不変配列(immutable array)」をPythonでは「タプル」と呼んでいる
これもまたHaskellやMLといった厳密な型システムを持つ言語だと、
タプルは数学の概念である直積(cartesian product、デカルト積)を指しており、
概念と用語の対応が世間の常識と乖離しているので注意が必要だ
0451デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
垢版 |
2019/11/15(金) 14:42:55.75ID:76R0IrhIF
もしかしてtupleのことか

あと何と比べてんだ
0458デフォルトの名無しさん (ワッチョイ 3901-u6X5)
垢版 |
2019/11/16(土) 06:52:44.49ID:bvJ+Jdtn0
yokokara
0459デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
垢版 |
2019/11/16(土) 10:24:54.24ID:t6zcY+AGF
>>439
sudo
または
runas
0460デフォルトの名無しさん (ワッチョイ e98e-DnBA)
垢版 |
2019/11/16(土) 20:40:00.51ID:YWCR8V8S0
>>425
scikit-learnとか他に何点かインストールでエラーになった。
0463デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
垢版 |
2019/11/19(火) 11:26:56.18ID:8naC8O/UF
馬鹿とハサミ
0464デフォルトの名無しさん (ワッチョイ c201-Iq/z)
垢版 |
2019/11/19(火) 13:28:19.63ID:E5J2DpqI0
numpyとかが3.8非対応らしいけどどうしてそういうことが発生するのか誰か教えてくれ

3.8では非サポートになる機能を何か使ってたけどbeta期間中に対応終了しなかったってことなの?
中核ライブラリがマイナーバージョンアップの正式リリース後も使えないままで
しかもインストール時のエラーで初めて気がつく状況って他言語ではあんまり聞かないんだが
0466デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
垢版 |
2019/11/19(火) 14:02:40.94ID:8naC8O/UF
インストール時のエラーならまともだろ
インストール後のエラーだと眼も当てられん

いきなり飛び付くやつのほうがどうかしてる
0467デフォルトの名無しさん (ワッチョイ f912-r7Uq)
垢版 |
2019/11/19(火) 14:31:11.94ID:xr3EAwaz0
修正版(x.1~)が出てからが本番だよなー

新バージョンは人柱向けって今の若い子は習わないんだろうね
0468デフォルトの名無しさん (ドコグロ MMa2-woiy)
垢版 |
2019/11/19(火) 14:36:27.69ID:pcFAcUvSM
>>464
numpyはやらかした時のインパクトがとてつもなく大きいから、テストは慎重にやらなきゃいけない
特にPythonは頻繁に破壊的変更が入るし、Rubyなんかよりはマシとはいえ所詮はゆるふわ言語なのに、
近年になって信頼性を必要とする分野でも広く使われるようになってしまったことで歪が生じてるの
0469デフォルトの名無しさん (ドコグロ MMa2-woiy)
垢版 |
2019/11/19(火) 14:41:30.29ID:pcFAcUvSM
「多言語ではあまり聞かない」理由は、その言語が信頼性が重要でない用途で主に使われているか、もしくは互換性を言語側で責任を持って担保しているから。
Pythonの場合は信頼性の必要な用途でも広く使われているにも関わらず言語側が互換性を軽視しているため、
互換性を担保する負担がライブラリ側に課されているというわけだ。
0470デフォルトの名無しさん (ワッチョイ c201-Iq/z)
垢版 |
2019/11/19(火) 17:32:32.68ID:E5J2DpqI0
Pythonではマイナーバージョンアップでも後方互換性のない破壊的な変更が入るのが常識?

numpyのような重要なライブラリが新バージョンで使えなくても
新バージョンの正式リリース前にコミュニティに対して広く周知するような仕組みはない?

Githubのissueみてもどれも「ライブラリが対応するまで待て」みたいなコメントばっかりで
実際の原因について言及してるやつが見つけられないから何が原因なのかよくわからない
0473デフォルトの名無しさん (ドコグロ MM4a-IOcx)
垢版 |
2019/11/19(火) 18:44:37.76ID:gXqTBZ4gM
>>470
それはバージョンアップというものを勘違いしている。
クラウドサービスやスマホアプリなんかと違い、別に新しいバージョンが出たからといってすぐに移行しないといけないわけではない。
Pythonでは小数点以下1桁が上がるのは立派な「メジャーアップデート」であり、
当分の間は旧バージョンのマイナーアップデートも継続される。
そして、なぜ事前にテストしないかだが、それは以下の理由により時間の無駄だからだ。
・上記の通り、新しいものが出たからといってすぐにアップデートをする必要がない。そもそも開発者自身もアップデートしない。
・正式リリース前のバージョンは仕様が未確定であり、正式リリースまでに変更される可能性がある。
0474デフォルトの名無しさん (ラクッペ MM81-r7Uq)
垢版 |
2019/11/19(火) 19:45:09.43ID:GxMpjl4wM
セマンティックバージョニングしか知らないボーイズ&ガールズが
マイナーバージョンだから後方互換がどうたらと叫んでるだけじゃないの
0476デフォルトの名無しさん (ドコグロ MM4a-IOcx)
垢版 |
2019/11/19(火) 20:59:28.06ID:gXqTBZ4gM
>>475
https://docs.python.org/3/whatsnew/index.html
ここではx.y.zのx.yをmajor Python versionと呼んでいたりする
3.8も公式が普通に major release と呼んでるし、もはやセマンティックバージョニングの定義が実態と合ってないんだよね
JavaやNodeも同様の状況になってバージョンを繰り上げた
Pythonも2のサポートが完全に終わったら同様にPython9とかになるんじゃないかな
0477デフォルトの名無しさん (ワッチョイ a265-u1fo)
垢版 |
2019/11/19(火) 21:39:22.31ID:dgCeA6UV0
>>471
Pythonにおけるnumpyの存在は、RubyにおけるRailsの存在に等しい
numpy/scipyが無ければ、Pythonが誇る機械学習/AI関連のフレームワークは
登場しなかったし、少なくとも国内ではPythonは見向きもされなかった
RubyがRailsの普及に比例して批判に晒されてきたのと同じ状況に
ようやくPythonが追いついただけのこと
0478デフォルトの名無しさん (ワッチョイ c201-Iq/z)
垢版 |
2019/11/19(火) 21:44:10.37ID:E5J2DpqI0
結局、言語のポリシーについてもわからないし
どういう破壊的な変更が行われた結果ライブラリが使えなくなったのかもわかんないんだね

Pythonではマイナーバージョンアップで後方互換性のない破壊的変更が入るかどうかはわからないが
重要なライブラリでも普通に使えなくなるし、その状況をまとめて周知するようなこともないから気をつけろ
ってことで理解した
0479デフォルトの名無しさん (ワッチョイ 8233-jvSr)
垢版 |
2019/11/19(火) 22:27:09.52ID:Wad7zhsd0
NumpyはちゃんとメンテされてるバージョンのPythonをサポートしているので安心してもらって問題ないですよ
Numpy以外のライブラリやフレームワークでもメジャーなものだと同じような状況です
0480デフォルトの名無しさん (ワッチョイ 1197-O3KX)
垢版 |
2019/11/20(水) 02:18:01.13ID:7dTYsBjw0
Python以外だって大抵の小数点以下がある言語で小数点以下が変更されたら
動かなくなるものがある印象だけどな。PHPだって、Rubyだってそうでしょ。
メジャーだけど、1年に1回ぐらいしか起こらないバージョン番号変化はどこが上がるのかという差異はあれど、
大抵どんな言語でも互換性問題を持っていると思うけど。だから1年に1回ぐらいでしか上がらないんだし。
0481デフォルトの名無しさん (ワッチョイ d163-r7Uq)
垢版 |
2019/11/20(水) 02:38:33.69ID:KEMCHvri0
numpyボーイは何をイキってんのかね
0483デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
垢版 |
2019/11/20(水) 11:56:17.98ID:grCkJCm3F
10レスくらいレスの無駄遣いがあるようだが
無視して読み飛ばして正解だった
0484デフォルトの名無しさん (ワッチョイ 8211-T/Hw)
垢版 |
2019/11/20(水) 15:01:45.77ID:dUf2WDqH0
見視できなかったんだね
0485デフォルトの名無しさん (オイコラミネオ MM69-b62Z)
垢版 |
2019/11/20(水) 16:35:31.61ID:EKRzhIXuM
すいません、初めてですよろしくお願いします
いま開発環境がcolaboratoryで、requestsとseleniumを使ってスクレイピングでデータ取得を行っているんですが、そのサイトは日本国内からのアクセスじゃないとダメらしいんですよね

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
# ブラウザをheadlessモード(バックグラウンドで動くモード)で立ち上げてwebsiteを表示、生成されたhtmlを取得し、BeautifulSoupで綺麗にする。
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',options=options)
driver.implicitly_wait(10)
driver.get("https://スクレイピングしたいサイトのURL")
html = driver.page_source.encode('utf-8')
soup = BeautifulSoup(html, "html.parser")
print(soup.prettify())

これになんとか国内のプロキシ噛ませられないでしょうか?
0488デフォルトの名無しさん (ワッチョイ 3901-zGDE)
垢版 |
2019/11/20(水) 18:11:48.02ID:pcdm34G40
>>486
絶対許さない。
0489デフォルトの名無しさん (ワッチョイ 3901-0xny)
垢版 |
2019/11/20(水) 21:36:40.60ID:kGy1B6IN0
yokokara
0495デフォルトの名無しさん (ワッチョイ 8901-hZ32)
垢版 |
2019/11/21(木) 19:56:40.59ID:Mh29ro3d0
yokokara
0496デフォルトの名無しさん (ワッチョイ 114f-10FM)
垢版 |
2019/11/21(木) 21:20:24.33ID:rCXdRvRq0
pythonで10年ぶりにプログラム作ってるけど
この型のデータはこの命令では処理できないとか
わかりやすくする手段ないのかな
もしかして実行して止まったときのメッセージしかない?
0498デフォルトの名無しさん (ワッチョイ c163-Rk0C)
垢版 |
2019/11/21(木) 22:42:11.38ID:4mhArHJ/0
>>496
type関数で型をチェックしながら書くことはできると思うけど、
それが色んなところで必要だったら静的型付け言語で書いたほうが良いと思う。

>>497
ライブラリは無視して、一通りの文法と書き方を勉強するべき
0500デフォルトの名無しさん (ワッチョイ 937d-+KCU)
垢版 |
2019/11/22(金) 00:13:24.70ID:1Y9uxiIK0
>>498
ひたすら基本文法を覚えて、それをどうアプリ開発に使えるんでしょうか?

文法の書き方は書いてあるサイトが沢山ありますが、その文法をどう応用できるのかがわかりません…
0506デフォルトの名無しさん (ワッチョイ 7997-Rk0C)
垢版 |
2019/11/22(金) 01:46:11.40ID:9t5OvAOe0
>>500
まず、文法覚えないことにはインタプリタにちゃんと解釈されないコードを書くことができないので必須

>>505
ネット上にいっぱい転がってるチュートリアルを何個かこなす。わかってきたと思ったら
身の回りにある簡単だけどアルゴリズムで生成できそうなもの(カレンダーとか)を作ってみるとか、
システムで処理できそうなもの(家計簿とか)を超簡単で良いから作ってみる
そもそも、アプリといっても色々種類があるけどどういうアプリを作りたいの?
0507デフォルトの名無しさん (ワッチョイ d901-QS5Z)
垢版 |
2019/11/22(金) 01:46:29.01ID:ENRc085L0
何か作れ。ツイッターやSlackとかのAPIを叩くのがお手軽でいい。
Webに向かっても良いし、ツール作っても良いし、機械学習やってみるのもいい。
本読んだだけだと、分からない事が一杯あることに気づく。
0508デフォルトの名無しさん (ワッチョイ 7997-Rk0C)
垢版 |
2019/11/22(金) 01:46:52.86ID:9t5OvAOe0
>>506
インタプリタにちゃんと解釈されない→インタプリタにちゃんと解釈される、だ
0511デフォルトの名無しさん (ワッチョイ 7997-Rk0C)
垢版 |
2019/11/22(金) 02:11:37.91ID:9t5OvAOe0
>>510
かなり簡単だと思うよ。
文法の他にも基礎的なデータ構造の応用例は知っとかなきゃだめかもな。
配列、辞書がなにを意味するか程度で十分だけど。
0512デフォルトの名無しさん (ワッチョイ 937d-+KCU)
垢版 |
2019/11/22(金) 12:03:21.80ID:1Y9uxiIK0
>>511
ありがとうございます。

基礎的なデータ構造の応用例を知る必要があるとの事ですけど、その文法の基本をひたすら勉強して、それをどう応用してアプリにするのかが私の調べ方が悪いのかネットでは探せなかったです。
0515デフォルトの名無しさん (ブーイモ MM8d-hZ32)
垢版 |
2019/11/22(金) 16:57:39.40ID:wDj1H5o1M
yokokara
0519デフォルトの名無しさん (ワッチョイ 9301-wiXz)
垢版 |
2019/11/22(金) 22:19:11.83ID:FtTqA+yz0
>>505
基本文法を覚えるより前に
まず目的を明確にしてそれを達成するために必要となるだろうパーツを
分からないなりに自分で考えて調べてリストアップすることからはじめるといい

目的から逆算して何を学ぶ必要があるのかを考えていれば
質問の中身も変わるし学習効率も上がる

それと、何事もまず自分で選択肢を考えること
次に調べたり試したりして、人に聞くのはそのあと
考えたり調べたりするのは5~10分とかの短い時間でも構わない
自分なりの考え・意見・仮説を形成しようという思考の営みが大切

(説教臭くてごめんよ)
0520デフォルトの名無しさん (ワッチョイ a95f-QS5Z)
垢版 |
2019/11/22(金) 22:28:45.31ID:ZeaSs8iG0
>>505
なんらかの目標があるのなら最初からそれをやっていけばいい
機械学習、統計、ウェブサイト、デスクトップアプリ、科学計算……
pythonにはだいたいの分野に無料でライブラリは揃ってるから
基本文法の他にそれぞれの専門のライブラリの使い方を学んでいけばいい

特に目標がなくプログラミングの知識をつけたいってことなら「アルゴリズムとデータ構造」系の本で勉強するとか
オブジェクト志向関連の知識をつけるのがいいんじゃないか?
そのうえでAtCoderとかの競技プログラミングサイトで実力試ししてみるのもいいぞ
実務プログラミングとは勝手が違うけど採用の参考にするっていう企業もあるらしいしな

他にはpyxelっていうレトロゲームエンジンが個人的に今は熱いな
pythonで簡単にシンプルなドット絵ゲームが作れて楽しいからとりあえずの目標としてはオススメ
0521516 (ワッチョイ 132c-4eZD)
垢版 |
2019/11/22(金) 22:34:09.33ID:IgRfeEG+0
例えば、CSV なら、

person_id, date, pattern
1,2019-03-10,2
2,2019-03-10,3
1,2019-03-14,3

1番の人は、2019-03-10 に、パターン2 で働く
0523デフォルトの名無しさん (ワッチョイ 199f-+KCU)
垢版 |
2019/11/23(土) 02:15:21.60ID:MHX7Oghg0
505です

皆様ご丁寧にありがとうございます!
まずは基本の文法を徹底的に覚えようと思います。

ここの皆様はプログラミングは独学で勉強されたんですか?
基本文法を覚えてから次のステップに進むのがハードル高そうだなと感じています。
0526デフォルトの名無しさん (ワッチョイ 8b10-b4Py)
垢版 |
2019/11/23(土) 10:03:38.79ID:XnjbOuok0
Don’t Think Eeel!
0528デフォルトの名無しさん (ワッチョイ 8b10-b4Py)
垢版 |
2019/11/23(土) 11:17:04.22ID:XnjbOuok0
>>527
0534デフォルトの名無しさん (ワッチョイ 99ad-BEIG)
垢版 |
2019/11/24(日) 13:59:01.33ID:tXhYyJdV0
Progateというプログラミング学習サイトでPythonを学んだのだが
いかんせん学習量が浅すぎた
if文、for文、配列、辞書、クラス、親子継承くらいまでしかやらなかった
打ち切るようにすぐ終わってしまい残念だ

初級者レベルを脱してここから先が覚えたいところなのに
どうやって中上級者や実務レベルまで引き上げるのでしょうか?
なにかプログラミング学習に適した書籍やサイトがあれば教えてください
0536デフォルトの名無しさん (ワッチョイ 1901-iHas)
垢版 |
2019/11/24(日) 14:02:37.60ID:G+scijNw0
>>531
それ「致命傷」になるんかwやばいなwww > 歯茎に影響

喉の奥の方に小骨が刺さって耳鼻咽喉科 が 一番起きうることなんじゃね?
次がビタミンAの過剰摂取か
加熱不十分による毒素あたり(生の状態だと有毒魚)
0539デフォルトの名無しさん (ワッチョイ 317f-qZD/)
垢版 |
2019/11/24(日) 17:39:02.21ID:d2XZtoqy0
>>534
実務レベルのスキルを身に着けるなら実務に就くしかない
机上の自己学習なんてお遊戯みたいなもんだ

あともし仕事にしたくて勉強しているのならやめた方がいい
この国ではプログラマは土方としてITゼネコンにボロボロになるまでこき使われ搾取される
フリーランスになっても足元見られて安く買い叩かれ雑用を押し付けられる
なーんもいいことないから
0541デフォルトの名無しさん (ワッチョイ b36e-BEIG)
垢版 |
2019/11/24(日) 19:02:24.69ID:zs+LjqkQ0
これからの時代にはプログラミング、特にこういう軽量言語でのプログラミングなんてものは日曜大工と同じくらい誰でもやることになるべきなのに
こういう職業としてやることを前提にして無駄に厳しくあたる輩が普及を妨げている
■ このスレッドは過去ログ倉庫に格納されています

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