Pythonのお勉強 Part62
■ このスレッドは過去ログ倉庫に格納されています
★当スレに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 >>516
プログラムの勉強をするのに、最初からsqlをやらなくてもよくない? >>505
基本文法を覚えるより前に
まず目的を明確にしてそれを達成するために必要となるだろうパーツを
分からないなりに自分で考えて調べてリストアップすることからはじめるといい
目的から逆算して何を学ぶ必要があるのかを考えていれば
質問の中身も変わるし学習効率も上がる
それと、何事もまず自分で選択肢を考えること
次に調べたり試したりして、人に聞くのはそのあと
考えたり調べたりするのは5~10分とかの短い時間でも構わない
自分なりの考え・意見・仮説を形成しようという思考の営みが大切
(説教臭くてごめんよ) >>505
なんらかの目標があるのなら最初からそれをやっていけばいい
機械学習、統計、ウェブサイト、デスクトップアプリ、科学計算……
pythonにはだいたいの分野に無料でライブラリは揃ってるから
基本文法の他にそれぞれの専門のライブラリの使い方を学んでいけばいい
特に目標がなくプログラミングの知識をつけたいってことなら「アルゴリズムとデータ構造」系の本で勉強するとか
オブジェクト志向関連の知識をつけるのがいいんじゃないか?
そのうえでAtCoderとかの競技プログラミングサイトで実力試ししてみるのもいいぞ
実務プログラミングとは勝手が違うけど採用の参考にするっていう企業もあるらしいしな
他にはpyxelっていうレトロゲームエンジンが個人的に今は熱いな
pythonで簡単にシンプルなドット絵ゲームが作れて楽しいからとりあえずの目標としてはオススメ 例えば、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 で働く 機能設計が出来ないのはパソコンの前に座って解決する問題ではない 505です
皆様ご丁寧にありがとうございます!
まずは基本の文法を徹底的に覚えようと思います。
ここの皆様はプログラミングは独学で勉強されたんですか?
基本文法を覚えてから次のステップに進むのがハードル高そうだなと感じています。 Don't think, FEEEEEEEEEEEEEEEEEEEEEEEEEEL! >>528
あとは今年からの日本の空気的には
Don't think, feel.
Think about eel!!!
ってかんじかも、しんない。 鰻ってバグ多すぎじゃね
基本的には無視出来るけど、たまに歯茎等のハードに影響出て致命的なシステム障害おこす >>523 基本文法を覚えながら、例文を片っ端から動かしていくんだよ。 >>532
例文はネットに転がってる勉強サイトみたいな所のをやれば大丈夫ですか? Progateというプログラミング学習サイトでPythonを学んだのだが
いかんせん学習量が浅すぎた
if文、for文、配列、辞書、クラス、親子継承くらいまでしかやらなかった
打ち切るようにすぐ終わってしまい残念だ
初級者レベルを脱してここから先が覚えたいところなのに
どうやって中上級者や実務レベルまで引き上げるのでしょうか?
なにかプログラミング学習に適した書籍やサイトがあれば教えてください >>534
どういう実務がしたいんだ
画像処理ドカタ
SQL奴隷
ひたすら文字列処理
いま流行wのAI(機械学習)
などなど
いろいろありまんがな >>531
それ「致命傷」になるんかwやばいなwww > 歯茎に影響
喉の奥の方に小骨が刺さって耳鼻咽喉科 が 一番起きうることなんじゃね?
次がビタミンAの過剰摂取か
加熱不十分による毒素あたり(生の状態だと有毒魚) >>534
> if文、for文、配列、辞書、クラス、親子継承くらいまでしかやらなかった
それだけやれば充分じゃね?
それ以降は>>535の言うように何をしたいかによるし >>534
Udemyの酒井潤って人の講座オススメ。 >>534
実務レベルのスキルを身に着けるなら実務に就くしかない
机上の自己学習なんてお遊戯みたいなもんだ
あともし仕事にしたくて勉強しているのならやめた方がいい
この国ではプログラマは土方としてITゼネコンにボロボロになるまでこき使われ搾取される
フリーランスになっても足元見られて安く買い叩かれ雑用を押し付けられる
なーんもいいことないから >>539
さすがにこの流れでそういうこと言い出すのは病気。 これからの時代にはプログラミング、特にこういう軽量言語でのプログラミングなんてものは日曜大工と同じくらい誰でもやることになるべきなのに
こういう職業としてやることを前提にして無駄に厳しくあたる輩が普及を妨げている >>534
Youtubeで「narupoのPython入門」で検索! pythonって、いま流行りの機械学習とか、ネットワークおよび組み込みとか
なんだかんだでお給料のいい仕事と結びつきやすい言語だから
ドカタドカタって悲観することないと思うけど >>545
それもう言語じゃなくてあなた個人のせいで就職の幅を狭めてるだけでは? >>545
それもう言語じゃなくてあなた個人のせいで就職の幅を狭めてるだけでは? >>548
えー。
田舎私大の情報科だよ、仕事は機械学習のデータいじってるIT土方だよ……。 年収は500にいくかどうかだよ。手取りだと420ちょいぐらいなはず。 >>541
日曜大工で壁に棚造って強度足りなくて
いざ物載せたら落ちるって事故が良くあったあらしいが
プログラミングでも同じこと
自己責任で済んでるうちは良いが他人に迷惑掛けないレベルには配慮が必要 例えが糞すぎる
日曜大工でもの落ちるのがよくあったって意味不明 この程度の意味が取れないとかのレベルで絡んでくるなよ… 日曜大工と同じで考えるなら
失敗から勉強していく方向じゃないのか >>553
転職でなんとかなるかどうかは年齢にもよる 画像処理で450万もらってたら30代後半でも転職余裕だろ 客先に行ってるんですけど、
セキュリティがちがちのノートPCしか使えません。
そのノートPCにソフトはインストールできないのですが、
ネットにはつながって、ブラウザは使えるので、
自社のPCサーバーにPythonをインストールして
ノートPCのブラウザから
Pythonのちょっとしたテストや開発を
できるようにしたいと思っています。
こういうのってできるのでしょうか? セキュリティガチガチって事は何処に
アクセスしてるかも知られるし
個人のサーバとかあからさまに怪しまれると
思うのだけど、そこの言い訳は用意できるの?
技術云々よりコンプラの問題だと思うけど そのノートにPython3が入ってるなら、
vimでコードを書いてコマンドラインでテストすればいいんじゃね
ソフトにこだわって自宅サーバーにアクセスして下手に怪しまれるよりはマシ
技術的にはアドオンでも余裕で出来るけど 会社のサーバーに外からのコード実行できるようにするのはセキュリティ的にどうなのよ >>562
簡単なテスト位ならすぐに出来るよ
webサーバーたてる
オレオレでいいからsslにする
textareaのスクリプトをpostして実行結果を返すページを作成する
ページにはパスワードを掛けるがワンタイム的なものにする
セキュリティーやらコンプライアンスやらは知らん
本格的な開発となったら相当ハードルが高いと思う
簡単なテスト位ならプログラム実行できるウェブサービス使ったらいいんじゃないの
https://wandbox.org/ 俺はGCPのGoogle Cloud Shellで遊んでるわ
code-server入れてWeb版VSCode使ったり >>562
thinクライアントかな技術的にはできる
セキュリティとか会社のルールとかそこら辺をどうするか
仮想PCにシンクライアントからアクセスして使うとかはよくあると思う あれWeb版VSCodeきてたの?普通にRDPで使ってた さっさと自社事業系へ転職したほうがいいよ
俺も経験あるから気持ちはよくわかるが、後で振り返ると足掻くだけ本当に時間の無駄だった 脱初心者向けの勉強って何見て何やればいいかな
基礎は入門書で一通り学んでクラスとかの作り方や概念は知ってるけど
実際にクラスをどういう時に使えばいいか分からない
関数とか内部論理が汚いけどどうリファクタリングすればいいかイマイチ分かってない
デザインパターン使えば綺麗になるとか聞くけどなにそれ美味しいの?状態
とりあえず目的を達成するプログラムは超汚いのを組めるってレベルなのです 何がしたいのかによるだろ
アドホック分析とか個人的なデータ処理とかでとりあえず動きゃいいんなら作法なんかどうでもいい
複数人でシステム作るんならさっさと就職して現場で叩かれて覚えればいい
OSS開発に参加したいんならOSSのソースを読めばいい pyinstallerってどうやってスクリプトをバイナリ化してるんだろうか
謎 >>572
んー 現場が底辺請負だから周りも同レベルぐらいなんだけど
きちんとした知識と技術を身に付けたいんだよ OSSに参画すればいいのかな
Pythonに限らず未経験者向けとかの初心者用の教材はあふれてるけど
中級者向けの教材って殆どないよね
現場でのノウハウとか個人スキルに直結する要素だから
試行錯誤で身に付けるしかないの? >>574
じゃあまずは超定番だけどリーダブルコードを読んできなさい
テクニックを覚えてもコードの品質は上がらん >>571
1. リファクタリング (2000年の旧版で十分、Ruby版はクソ、JS版もエッセンスは旧版と同じ)
2. Clean Code (2008年の旧版で十分)
3. Head First デザインパターン
どれも初心者向けでコードサンプルはJava
古いから今どきこんな書き方しねーよってのはあるかもしれないが
リファクタリング方法やデザインパターンに関わる考え方はOO言語を使う上での基礎なので
それを把握できてないと思うならそこから始めるのがいい
上の本の内容を把握できたらPythonのイディオムやらパターンをオンラインで学んだり
標準ライブラリやメジャーなライブラリのコードを読んだりして少しずつ自分の道具箱を拡張していく
Python詳しくやりたいならPython in a Nutshellってのがおすすめだけど日本語になってるかは知らない >>575 >>576
どうもありがとう
教えて貰った書籍をベースに学習してみます
OO言語に関してもまだまだ理解不足なのは実感しているので
きちんと把握しないとね... テストを書く
フレームワークを使ってみる
ICMP、TCP、UDP、IP、HTTP、DNS等のプロトコルの勉強
とか >>571
PEP8はシッカリ覚えてるんけ?
まだなら読んどけ
でもって自作の超汚いブツを
半年から2年間熟成させてから
読み返せ
過去の自分に殺意が湧くからw >>573
インターネッツ検索すると
> Pythonを起動するためのexeファイルに、Pythonのモジュールやスクリプト類を内包したZIPファイルを背負わせる
って出てきた
-onefileオプションを外してみたら、
どうなってるかちょっとは分かるかもしれないかもしれない。 pythonのその手の仕組みってすごく原始的だったりするよな。
venvで実行環境一式まるまるコピーされてるのを見てずっこけた。 『実践 Python 3』がもっとも力になった。難易度は突き抜けてるけどな
てか、これ以上のレベルだと書籍化されない印象 >>580-581
けっこう原始的なんだな
Pythonのコードをバイナリにトランスパイルでもしてるのかと思った >>583
オライリー?
ゆうめい。だが、(もぅ)古い。。。 numpyのインデックスについてなんですが、配列の値を調べてなんらかの条件で
bool型の配列を返す関数がfunc1とfunc2の2種類あるとして、
以下のように使った場合元のaに対応したbool型配列を得るうまい方法ってなにかあります?
a = np.random.rand(100)
b = func1(a)
c = func2(a[b])
自分で考えたら以下のようになったんですがもっと良い方法はないのか悩んでいます。
e = np.arange(len(a))[b][c]
f = np.zeros(len(a), dtype=bool)
f[e] = True >>586
np.logicaland(func1(a),func2(a))
短く書くならこうか
func2が実行される回数増えちゃうけど >>587
ありがとうございます。
小出しで申し訳ないのですが、func2はfunc1の結果で抽出した配列入れる必要があります。
そんな感じで意図が分かりやすい方法があると嬉しいです。 配列の中の値ではなく配列自体が必要なのか
なら最初のままでいいじゃん >>571
オブジェクト指向入門-第2版-原則・コンセプト 4798111112
オブジェクト指向入門-第2版-方法論・実践 4798111120
初版の方が良いかも知れないが
どれも初心者向けでコードサンプルはEiffel
古いから今どきこんな書き方しねーよってのはあるかもしれないが
リファクタリング方法やデザインパターンに関わる考え方はOO言語を使う上での基礎なので
それを把握できてないと思うならそこから始めるのがいい
上の本の内容を把握できたらPythonのイディオムやらパターンをオンラインで学んだり
標準ライブラリやメジャーなライブラリのコードを読んだりして少しずつ自分の道具箱を拡張していく
Python詳しくやりたいならPython in a Nutshellってのがおすすめだけど日本語になってるかは知らない 機械学習関係です。
以下のコードでtrain_df,test_dfの内容が変更されないのですが何がいけないのでしょうか?
import pandas as pd
import numpy as np
train_df = pd.read_csv('/home/weekender/work/titanic/train.csv')
test_df = pd.read_csv('/home/weekender/work/titanic/test.csv')
combine = [train_df, test_df]
for df in combine:
df = df.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)
print(train_df)
print(df) なるほど。
train_dfとtest_dfで同じこと書きたくないんですけどeval以外で手段ありますか? >>595
mapとかlist comprehensionとか
df1 = pd.DataFrame([1, 2, 3, 4, None])
df2 = pd.DataFrame([None, 0, 1, 2, 3])
[df1, df2] = [df.dropna() for df in [df1, df2]]
(機械学習関係ないやーん) Pythonって
覚えること多くて
大変です
つか、ムズイんすけど?
あんたらはさくっと覚えたの? >>600
最初に学ぶ言語がpythonだと落とし穴たくさんあるよね
直感的でわかりやすいという利点はあるけど >>600
単位がかかってたのでhissiですただ >>600
Pythonが初めてのプログラミング言語なら、そりゃ覚えることは多いだろうね
自分はCやJavaに挫折して、VBAは何とか知っているというレベルの者だが
Pythonはサクっと覚えられた
こんなシンプルで多機能な言語があるのかって驚いたね
データをリスト・タプル・辞書に入れて組み込み関数や標準ライブラリで処理しつつ、流れをforやifで制御する
この範疇でプログラミングするなら最高に簡単な言語だと思うね
Webとか今流行りのAIとか、そういうのはそれで飯食ってる連中向けの高度なテーマだから
趣味でやってる人は手を出しちゃいけないよ Pythonを学ぶのにオブジェクト指向を理解していない奴が多すぎる
データ分析に使うだけなら別にいいけど >>604-605
おれはC的発想から抜けろ!とよく怒られてるけど
簡単なWebツールはできてる(幾つか運用中)ず・・・ Pythonは言語的に手続き型の考え方が強いから
オブジェクト指向を身につけたいなら他の言語もやったほうがいい
他のOO言語から入るとPythonだと手続き型脳を強制される場面が多くて最初はイライラした pythonでも、昔はクラスに集約していたところを
モジュールで集約して関数を使い回す機会が増えてきたから
昔に比べればオブジェクト指向の重要性もだいぶ落ちてきたのかな そもそもスクリプト言語って短いコードをササっと書いてササっと実行してナンボだから
事前に綿密なクラス設計を必要とするOOとは相性が良くない
自分はOOは概念くらいしか知らないから今まで一度もクラスを書いたことはないけど、
困ったことは一度もない GoにもRustにもJuliaにもクラスは無い
オブジェクト指向は廃れてるよ 昔のOOPはオブジェクトが主でオブジェクトに振る舞いを実装するという考え方だったんだが、
Goなど最近の新しい言語ではあくまで関数が主であり、
オブジェクトは複数の関数のグループにおいて共有される単なる文脈に過ぎない、という解釈が主流になりつつある
Pythonはクラスこそあるが、OOPについては昔からわりと後者に近い立場だ Pythonは他言語に比べればVBAに近い存在と思っておけば間違いない
CやVBAから来た人は同じ手続き型で馴染みやすい
どの言語にも長所短所あるがPython使ってるやつは短所を理解できてないやつが多くて辟易する オブジェクト指向で書いた方がきれいにいくパターンも多いから
そこは自分の引き出しとタスクの兼ね合い次第だろう
そもそもコードを綺麗に書くメリットが薄い職場もたくさんあるけどね Pythonはムズイ!
>>612
VBAは検索&コピペでいろいろ作りました。
Cもちょっとだけやりました。
でも、Pythonとはずいぶんと違うように思います。
データ型がムズイです。
DataFrameというのを作ると行数番号とか、
列名がかってにはいってくるのですよ。
ついていけないです!
とりあえずこれに慣れないといかんので
検索&コピペでちょこちょこと作ってみてます。
目標はサイキットラーンというのでSVRという分析をやるのです。
頑張ります! ■ このスレッドは過去ログ倉庫に格納されています