19/06/05 16:03:53.07 jOdpsPyG.net
ひでぇ
455:デフォルトの名無しさん
19/06/05 16:25:46.98 Ge2qACax.net
もしかして成長したアイちゃんでは?
最近見なかったが戻ってきたのか。
456:デフォルトの名無しさん
19/06/05 16:28:59.29 9wg8020H.net
Pythonを極めればAIエンジニアとして生きていけると思うのは大きな勘違い、色んな言語を組み合わせる必要がある、と自称玄人は素人に良く言う
素人は他の言語もPythonもできないのにそんな事をわざわざ言ってどうなる
まずPythonだけでも勉強させてやれよ
457:デフォルトの名無しさん
19/06/05 17:35:44.64 Oo3xyqZm.net
やる気あるのは良いことじゃね
独学でも挫折する人多いわけで
458:デフォルトの名無しさん
19/06/05 17:48:23.37 iU7KKE1l.net
DEBUG=0っていうグローバル変数のあるモジュールをシェルから実行するときにこれをDEBUG=1にして実行する方法はありますか?
例えばmake DEBUG=1みたいな感じで。
459:デフォルトの名無しさん
19/06/05 18:00:53.41 qR/LRS8W.net
>>458
自作のモジュールか何かで編集可能かつbashの場合
DEBUG=${DEBUG:=0}
と定義して呼び出すときに上書きできる
もし編集不可能ならそんな方法はないのでsedやawkで置き換えることになる
460:デフォルトの名無しさん
19/06/05 18:25:45.12 L0nmYMGT.net
わかりました
うらみます
461:デフォルトの名無しさん
19/06/05 18:30:47.47 BqK4nqSF.net
>>433 なんかよくわからないんだけど、
s1 = 0x01020304
を 0x02010403
にしたいと言う事かな?
462:デフォルトの名無しさん
19/06/05 18:32:40.92 3XxRby7F.net
>>448
URLリンク(ideone.com)
に自分のセンスで書いた
採点すると
・不要なimportはしない
・globはファイルが複数ない場合は使わない
・[file.read()]の大カッコは不要
・変数名の大文字小文字の使い方がおかしい
463:デフォルトの名無しさん
19/06/05 18:33:31.82 iU7KKE1l.net
>>459
ありがとうございます。
やっぱりソースを書き換えるしかないんですね。
464:デフォルトの名無しさん
19/06/05 18:37:49.49 BqK4nqSF.net
>>460 落ち込まなくても良いよ。 2ch なんていろんな人間がいるから。 バカもいるが、優しい人もいる。
質問してるうちに何が大事なのかがわかってくると思うから、めげずに質問を続けてみたら?
>>463 や、>>465 は、少し反省しろ。 病気を乗り越えようと頑張ってる人をけなすなんてお前たちは最低だよ。
465:デフォルトの名無しさん
19/06/05 18:54:50.98 kn0vanX8.net
申し訳ない
466:デフォルトの名無しさん
19/06/05 19:44:33.90 vL5jkg3Y.net
まじで病気だったなら5chなんかに来ないでスクールとかに通えよ
URLリンク(www.cyber-u.ac.jp)
タダで懇切丁寧に教えてもらおうとか頭おかしい
467:デフォルトの名無しさん
19/06/05 19:53:05.76 lJmEqgzT.net
>>466
教えたくない人は黙っていればいいんじゃないかな
468:デフォルトの名無しさん
19/06/05 20:01:24.12 kn0vanX8.net
プログラミングの経験自体がないっぽいから
とりあえずはWebに転がってるサンプル入力して
結果を見て出来た!ってニヤけることから始めるべきかと。
数こなすことで出来ることと出来ないことが何となく分かってくる。
出来ないことをあれこれ考えて、出来る単位で作っていくのがプログラミング。
469:デフォルトの名無しさん
19/06/06 00:46:39.08 Qxsak61t.net
>>452
Python には、Ruby のpack/unpack みたいなのは、無いのか?
pack : 配列 → 文字列
unpack : 文字列 → 配列
470:デフォルトの名無しさん
19/06/06 03:21:45.18 3ui/AiH2.net
>>468
初心者用ブログにのってるコードをコピペでもいいからまずは自分で動かしてみるってのは良いよね
この値を変えたらこう動くだとか、このコードとあのコードを組み合わせたら、こう言う動きが出来るかもしれないなど組み立てる能力にも繋がるし
471:デフォルトの名無しさん
19/06/06 05:33:20.19 dTLpbEEC.net
画像の中から特定の画像(拡大や縮小をされてても対応可能な)
見つけ出すコードを下さい。
472:デフォルトの名無しさん
19/06/06 08:54:18.57 agV0OMSj.net
>>463
sys.argvでググれ
473:デフォルトの名無しさん
19/06/06 11:21:44.80 NTWs7n2j.net
>>469 自分で調べもしないで聞くな。
r=['A','B','C']
rs=''.join(r)
ir=[1,2,3]
irs = ''.join(map(str,ir))
print(rs ,irs , list(rs), list(map(int,irs)))
#OUT ABC 123 ['A', 'B', 'C'] [1, 2, 3]
474:デフォルトの名無しさん
19/06/06 11:34:48.14 3EP1W6m+.net
>>469
今のRubyがどうなってるんだか知らないけれど、pythonではバイナリ(bytes)と文字列(str)は違う型
で、pack/unpackは普通バイナリと数値や文字列の変換で使うやつだと思うが、
この目的なら pythonには struct.pack / struct.unpack がある
>>952
repr("\x00") で行けるんじゃないかな
475:デフォルトの名無しさん
19/06/06 12:45:35.43 cdOVZaEX.net
>>469
そのものズバリならstructパッケージを使う
型がプリミティブ(intやfloat)ならnumpyでも可能
ファイルからならnumpy.fromfile
バイナリ配列ならnumpy.frombuffer
文字列ならnumpy.fromstring
dtypeでエンディアンも指定できる
476:デフォルトの名無しさん
19/06/06 16:46:27.74 MmdtfHnB.net
安価の番号が違ってても気付かずにレスしまくってるのが
数名(見かけ上は)居るようだが気付いていないところを観ると
SCで自演しまくってるんだろうな
477:デフォルトの名無しさん
19/06/07 14:17:21.06 DCcV1WZ2.net
>>476
dat壊れてない?
478:デフォルトの名無しさん
19/06/07 16:19:03.36 JkNsgHeN.net
paizaのプログラミング問題みたいなやつでお勉強はじめたんだけど、Aランク問題になるとタイムアウトしまくる
whileや再帰をforに変えるとか色々やったけど通らないしアルゴリズムが問題なんだろうな
とはいえ模範解答もないし、色々模索しているが挫折しかけているよ…
ただ、こういった高速化のための考え方
みたいなものを学ぶのもきっといつか役立つのかなとも思う
479:デフォルトの名無しさん
19/06/07 16:29:20.63 QdXw6XxC.net
>>478 何か一つアップしてみたら?
480:デフォルトの名無しさん
19/06/07 17:22:37.11 JkNsgHeN.net
>>479
paizaの問題は転載ダメなんだ、すまん
481:デフォルトの名無しさん
19/06/07 18:52:53.64 17VMMr+p.net
探索問題?
482:デフォルトの名無しさん
19/06/07 19:29:15.98 t7F5nOi/.net
なんとなくソートっぽい
483:デフォルトの名無しさん
19/06/07 22:16:55.97 wtNNzOUb.net
計算量を落とす基本は、n^2 を、n log(n) の形にする事!
2^10 = 1,024 だから、2^20 = 百万。
ここで、データ数が百万の場合、百万 * 20 = 2千万になる!
一方、n^2 = 百万 * 百万 = 1兆
だから、log(n)の部分は、せいぜい、20~50ぐらいだから無視できる!
つまり並べ替えて、ソートを使うのが速い!
だから、単純な2重ループになっていたら、ダメ!
ループの内側に、優先度キュー・2分ヒープなど、何らかのソートを使っていないと、ダメ!
484:デフォルトの名無しさん
19/06/07 22:27:46.33 iFZF9YQL.net
関数の中でグローバルな変数にアクセスするのはglobal宣言が必要ですが
リスト変数の場合はappendなどの操作をすると
宣言なしでグローバルなリスト変数にアクセスします
これを禁止するにはどうしたらいいでしょうか?
グローバルな変数にアクセスするときはすべて関数の引数として
渡して意図せず引数にないリストにアクセスしてしまうことは避けたいんです
485:デフォルトの名無しさん
19/06/07 23:07:12.51 iFZF9YQL.net
main 関数に相当するものを作ることにしました
486:デフォルトの名無しさん
19/06/08 02:05:30.81 9yqPu4ja.net
何をなさる
487:デフォルトの名無しさん
19/06/08 08:27:06.81 5drHbnb0.net
Pythonって継承ってライブラリの作者しか使わないんじゃね?って思った
抽象クラスの概念ないしポリモーフィズム簡単だし
488:デフォルトの名無しさん
19/06/08 11:41:57.09 ryWt2Gls.net
abstractなクラスも作れる
何ならinstance化禁止にも出来る
489:デフォルトの名無しさん
19/06/08 12:20:56.35 9vptTvmT.net
>>488
それって言語仕様じゃないでしょ?
490:デフォルトの名無しさん
19/06/08 12:39:59.66 sdBs9egv.net
標準ライブラリで実装されていることが言語仕様に入らないとか言い出すとasync awaitも言語仕様に文法は存在するけど何もしないコードになる
491:デフォルトの名無しさん
19/06/08 12:59:07.72 JxaHk6L1.net
pythonでなくても最近は継承は否定的に見られてるだろ。
492:デフォルトの名無しさん
19/06/08 13:07:52.88 T9GDbnq/.net
継承無いと、オーバーロード擬きの判定がダックになって面倒この上ない
493:デフォルトの名無しさん
19/06/08 14:18:21.59 JxaHk6L1.net
なるほど、人の迷惑になりそうなクソな書き方をしたい人か。
494:デフォルトの名無しさん
19/06/08 16:19:29.84 g6YzXvGd.net
勝手に風潮作らないで
495:デフォルトの名無しさん
19/06/08 16:36:25.60 wPg0m4E0.net
ヤバイくらいに言葉が足りてないなw
継承を悪用したアホな設計が蔓延した結果、継承は悪用されやすいので別の代替手段が模索されているという感じだ
例えばjavaは多重継承を禁止した結果、extendsに加えてimplementsなんてものがある
全部implementsでいいんでは?と昔ながらに思ったものだ
496:デフォルトの名無しさん
19/06/08 19:03:56.74 CdSbqwtc.net
そしてdefaultメソッドとか作る始末
497:デフォルトの名無しさん
19/06/09 01:20:04.97 rn4C+nSw.net
継承は、Ruby on Rails とか、フレームワークの作者が作るもの。
それを使う方は、そのクラスを継承させて使う
フレームワークの作者以外が、継承を前提にしたクラスを書くのは、滅多にない
498:デフォルトの名無しさん
19/06/09 11:04:45.99 V8qyq4Ge.net
多くはないのは同意するが
滅多にないは言い過ぎ
訂正汁
499:デフォルトの名無しさん
19/06/09 12:40:55.08 BmQn1SBQ.net
baka niiha muri
500:デフォルトの名無しさん
19/06/09 13:28:49.95 0qCJsaBL.net
importについて教えてください。
現在作成しているプログラムはこのような構造になっています。
hogehoge
┣ db ┳ models.py # DBのスキーマを管理するモジュール。rds.pyをインポートしている
┃ .┃ rds.py # DBのセッションを管理するモジュール
┃ .┗ __init__.py
┗ app.py # Webサーバを起動するモジュール
(1)最初に事前準備として手動でmodels.pyを実行する事でDBの作成を行います。
# python db/models.py
(2)その後Webサーバを起動してプログラムの利用が始まります。
# python app.py
ここで質問なのですが、models.pyの中のimport文の書き方によって(1)と(2)のどちらかでエラーが発生します。
(1)でうまく動く時は import rds
(2)でうまく動く時は import db.rds
どうしてこのような挙動になるのか、(1)と(2)のどちらでも動くようにするにはどうしたら良いのかご教示ください。
よろしくお願い致します。
501:デフォルトの名無しさん
19/06/09 13:46:58.29 Gi1Jt9cY.net
pythonに限らず相対パスの話で
models.py自身から見りゃそりゃrdsは同じフォルダにある、
app.pyからrdsを見ると\db\rdsにある
502:デフォルトの名無しさん
19/06/09 14:03:14.07 0qCJsaBL.net
>>501
ありがとうございます。
どちらの場合でもエラーはmodels.pyから出るのですが、
app.pyで実行した場合はmodels.pyの中のrds.pyへのパスもmodels.pyから見たものではなくapp.pyが基準になるという事ですか?
なんてこったどうすればいいんだ・・・
503:デフォルトの名無しさん
19/06/09 14:07:25.86 V8qyq4Ge.net
from . import rds
これだけでいけるはず
必要があれば __init__.py にも何か書く
504:デフォルトの名無しさん
19/06/09 21:50:27.72 XtRL47qQ.net
python + chrome + seleniumで制御しています。
拡張機能を読み込むとインストールに成功しましたのページが開いてしまい。それを手作業で消さないと続きが実行されません。
何か良い方法があれば教えてくれませんか?
505:デフォルトの名無しさん
19/06/09 22:00:15.81 o1V0PdsM.net
>>504
毎回インストールしてるのん?
インストール済のchrome使うのはダメ?
506:デフォルトの名無しさん
19/06/09 22:46:33.49 XtRL47qQ.net
profileで拾っても拡張はインストールされた状態にならないので、毎回Optionsでインストールしています。
インストールされた状態でselenium動かせるならそれの方が良いです。
507:デフォルトの名無しさん
19/06/09 22:55:59.43 o1V0PdsM.net
profile指定で拡張そのままで起動できてるけどなあ…
ログイン状態とか維持できてる?
俺も最初はそんな問題あったような気がするけど…
正直原因は覚えてない
508:デフォルトの名無しさん
19/06/09 23:03:33.80 XtRL47qQ.net
ログイン状態はキープできてるのですが。。
わかりましたProfile使って色々やってみます。
何か間違えているのでしょうね
ありがとうございました
509:デフォルトの名無しさん
19/06/11 17:53:35.07 wG4IEdp6.net
Pythonが最高値を記録 - 6月開発言語ランキング 2019/06/11 08:49 後藤大地
URLリンク(news.mynavi.jp)
TIOBE Softwareから、2019年6月のTIOBE Programming Community Index (PCI)が公開された。
TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語が
どれだけ話題になっているかをインデックス化したもの。2019年6月におけるインデックス
は次のとおり。
6月TIOBE Programming Community Index / 円グラフ
URLリンク(news.mynavi.jp)
2019年6月はPythonが8.530%と、観測が始まってから最も高い水準に到達した。TIOBE
Softwareはこのままの傾向が続いた場合、今度3年から4年でPythonがJavaとC言語を抜いて
最も人気があるプログラミング言語になると予測している。
TIOBE Softwareはこうした動向の理由として、Javaはクラス、静的メソッド、パッケージ
などプログラミングの初心者が学ぶには冗長すぎる傾向があること、C言語ではメモリ
管理に直面することなどを挙げている。こうした言語と比べると、Pythonはシンプルで
ワンライナーで済むこともあり、その簡単さが普及につながっているという。
510:デフォルトの名無しさん
19/06/11 20:51:17.82 nbZ/cYor.net
pandasを使ってCSVファイルを開く処理を書いたのですが、
そのファイルのセルの一つに”Null”という文字列が含まれていたため、pandasを介すとそこのセルがNaN扱いになってしまいました
これを文字列のNullのまま扱ってもらうようにはできないでしょうか?
書いたコードはこんな感じです
import pandas as pd
df = pd.read_csv('D:/Desktop/python.csv', delimiter="\t", index_col=[0], header=None)
print(df) #Nullという文字が書かれたセルがNaN扱いになってしまった
511:デフォルトの名無しさん
19/06/11 22:35:59.26 yU84dTYh.net
試しにpandas使ってみたらNullっていう文字列はNullって文字列のままで表示されましたよ
そのpython.csvがおかしいんでないの? テキストエディタで中身確認した?
512:デフォルトの名無しさん
19/06/11 22:50:52.65 nbZ/cYor.net
>>511
レスありがとうございます
そのCSVの中身はこのようになってます(OpenOfficeCalcで開いたもの)
URLリンク(i.imgur.com)
A2の文字列がNullです
これをpandasで開くとこうなります
URLリンク(i.imgur.com)
513:デフォルトの名無しさん
19/06/11 23:00:26.74 yU84dTYh.net
うんうん、そのCSVをメモ帳とかのテキストエディタで開いて中身を確認すると
nullのところが空になっているんじゃないかな?
514:デフォルトの名無しさん
19/06/11 23:05:29.26 nbZ/cYor.net
>>513
すみませんメモ帳で開いたものがこちらです
URLリンク(i.imgur.com)
空にはなってないです
515:デフォルトの名無しさん
19/06/11 23:27:40.11 yU84dTYh.net
うーん、同じようなファイルを作ってpandasで開いてみたけどnullはnullのままだわw
私の環境はWindowsで、メモ帳で>>514の途中までのデータを入力したファイル(文字コードはsjis)を用意して
encoding指定してpandasで開いてみました(encoding指定しないとエラーになる)
>>> df = pd.read_csv(r'C:\Users\tk\Desktop\aaa.csv', delimiter="\t", index_col=[0], header=None, encoding='cp932')
>>> print(df)
1
0
nudge 軽い突き
null ゼロ
nuptial 結婚式
obscenity わいせつ
>>>
ということで、そちらの環境は日本語が含まれているファイルを開いているのにencoding指定無しで開けているのが異なる
もしかしたらencodingエラーを無視して開いているんじゃないのかな?それでpandasで読み込んだ時点でデータが
変わっていると予想
516:デフォルトの名無しさん
19/06/11 23:31:41.04 yU84dTYh.net
あ、ファイルの文字コードをutf-8にしたらencoding指定無しでいけたわ
でもnull文字はnull文字のままで、NaNにはならないなぁー
517:デフォルトの名無しさん
19/06/12 00:05:34.02 BNfp0i08.net
わざわざ同じように試していただいて本当にお手数おかけしてます
せっかくですので問題が起こっているCSVファイルもあげさせていただきました
もしよければチェックしていただけるとありがたいです
URLリンク(dotup.org)
518:デフォルトの名無しさん
19/06/12 00:17:35.61 dGJQWhEh.net
>>> df = pd.read_csv(r'C:\Users\tk\Desktop\dotup.org1870215.csv', delimiter="\t", index_col=[0], header=None)
>>> print(df)
1
0
nudge 軽い突き
null ゼロ
nuptial 結婚式
obscenity わいせつ
obsessive 妄想を持った人
omen 前兆
onslaught 猛攻撃
>>>
ででぇーん、再現ならず・・じゃあ私もう寝るから、おやすみー
519:デフォルトの名無しさん
19/06/12 00:21:06.05 dGJQWhEh.net
ちなみに私の環境のpandasはAnacondaに入ってたやつで、バージョンは以下のとおり
>>> pd.__version__
'0.20.3'
>>>
520:デフォルトの名無しさん
19/06/12 00:21:38.85 BNfp0i08.net
うーん再現ならずですか・・・
お付き合いいただきありがとうございました、おやすみなさい
521:デフォルトの名無しさん
19/06/12 00:23:24.16 BNfp0i08.net
自分のpandasのバージョンは0.24.2なので、もしかしたらそこが原因かもしれませんね
いろいろ試してみます
ありがとうございました
522:デフォルトの名無しさん
19/06/12 06:14:33.53 v9kdzfUv.net
google colabで読み込んでどうなる?
523:デフォルトの名無しさん
19/06/12 09:52:59.33 dGJQWhEh.net
>>512
OpenOfficeよりもLibreOfficeの方が良いらしいですよ
URLリンク(tedaeri.com)
524:デフォルトの名無しさん
19/06/12 10:08:38.96 kCj8PQiR.net
>>523
>しかし、既に「Apache OpenOffice」のユーザーがあまりにも多く、終わらせようにも影響力が大きいです。
普及のためには、M$との互換性が高く移行も容易、みたいな宣伝をするくせにw
525:デフォルトの名無しさん
19/06/12 21:48:46.24 DK5Xdw8/.net
win上のAnacondaのspyderのエディターで書いて実行する場合
qt5もtkinterもボタンを押して変化なし
Anaconda powershellというのでpython ファイル名だとちゃんと動いた
526:デフォルトの名無しさん
19/06/12 22:46:29.53 BSq+d1KN.net
出来るだけきれいなコードを書けるようになりたいと思ってます
動けば良いってレベルから次に行きたい
こういう場面はこういう処理の書き方のほうが良いとかはどうやって身につければ良いですか?
527:デフォルトの名無しさん
19/06/12 22:50:55.79 6508qYyd.net
独学じゃ無理
仕事で他人にコードレビューで叩かれて覚えるもんだ
528:デフォルトの名無しさん
19/06/12 22:59:45.07 uvvnpCRF.net
>>526
人が書いたコードを読むこと
標準ライブラリとかで使う部分だけでもいいから読んでみる
PEP8にできる範囲で準拠してみるとか
他にはテストを書いてみるとかも役に立ってると思う
ていうか、色々ありすぎてキリがないけど
人が書いたコードを読むのは絶対必要かな
529:デフォルトの名無しさん
19/06/12 23:14:51.17 eCiQ25Tx.net
>>497
java,c++みたいな静的な言語の場合はそうだが、ruby,pythonみたいな言語の場合は
クロージャー渡すインターフェイスのが直感的。
530:デフォルトの名無しさん
19/06/13 00:18:27.47 QGxbtz9r.net
>>526
Pythonできれいなコードはあり得ない。C, C++, C#などで書き直すしかない。
531:デフォルトの名無しさん
19/06/13 01:32:57.26 SaZXT9dZ.net
>>539 そりゃねーよ。
Python だって型を指定することもできるんだぞ。 可読性はそれだけでも上がる。
初心者はそんなことは考えなくて良い。
人のプログラムを眺めること、ひたすら自分で練習問題を解いて人の回答と見比べてみること。
プログラミングのお題スレ Part14
URLリンク(mevius.2ch.net)