19/06/02 11:47:39.88 +FZaNNUF.net
>>383
日本のAIの遅れってRuby普及したせいでPythonのイメージが悪くて
最初誰も飛びつかなかったのが原因だしな
今更Pythonかよって雰囲気がすごくあった
言語の影響って予想よりデカイ
391:デフォルトの名無しさん
19/06/02 12:26:47.84 mZoycbLY.net
Rubyに飛びついたのはバカだけだよ?
392:デフォルトの名無しさん
19/06/02 12:28:24.38 J26IJNP5.net
Pで始まるのは成功する
Rで始まるのは失敗する
393:デフォルトの名無しさん
19/06/02 12:45:30.73 evfhY1n8.net
Pythonが日本でも流行ることが出来たのはひとえにネーミングによるもの、オッパイソン!
394:デフォルトの名無しさん
19/06/02 12:56:43.90 A9OZ+7QR.net
広辞苑にはPythonもRubyも載っていない。PerlとAWKは載っている。
395:デフォルトの名無しさん
19/06/02 17:08:23.87 UIpFJ6ej.net
小説にもなっている。主人公はBash。
AWK英雄物語
URLリンク(ncode.syosetu.com) 👀
Rock54: Caution(BBR-MD5:0be20a4887bc3d3353f527d3636c44e3)
396:デフォルトの名無しさん
19/06/02 19:37:15.87 P158gOa4.net
目玉出てるぞ
397:デフォルトの名無しさん
19/06/02 20:38:13.33 qdVA6LCN.net
なんかギレン様の演説っぽいネタ書こうかと思ったけど面倒くさいからやめたw
とりあえず
ジークPython!!
398:デフォルトの名無しさん
19/06/03 10:42:48.85 561P/qAZ.net
高等学校情報科(各学科に共通する教科)
URLリンク(www.mext.go.jp)
平成30年3月に公示した新高等学校学習指導要領に基づき、共通必履修科目「情報Ⅰ」が新設され、内容の大幅な充実が予定されています。
高等学校情報科担当教員の指導力を高めることが一層重要となっていることから、文部科学省では、都道府県等の研修でも活用できる新学習指導要領に対応した教員研修用教材の作成を行いました。
本研修用教材を積極的にご活用いただき「情報Ⅰ」を教える準備を進めるとともに、実際の授業等においてもご活用ください。
高等学校情報科「情報Ⅰ」教員研修用教材(本編):文部科学省 (内容修正でリンク切れに)
表紙・はじめに・目次・序章 (PDF:8814KB)
本教材の使い方 (PDF:6610KB)
第1章情報社会の問題解決 (PDF:8487KB)
第2章コミュニケーションと情報デザイン (PDF:4538KB)
第3章コンピュータとプログラミング (PDF:9577KB)
第4章情報通信ネットワークとデータの活用 (PDF:14086KB)
(ウ) データの収集・整理・分析
(1) データの表現 尺度水準,量的データ,質的データ,データの形式,ビッグデータ
(2) データの収集と整理 Web スクレイピング,データクリーニング
(3) データの分析と評価 テキストマイニング,単回帰分析,可視化,評価指標
巻末 (PDF:819KB)
高等学校情報科「情報Ⅰ」教員研修用教材(本編)
URLリンク(blogs.yahoo.co.jp)
○第3章 コンピュータとプログラミング
ここでは Python3 によるプログラム例が出ている。
(現在pdf のリンク切れでダウンロードできない)
2019-05-20
高校生全員が「Python」を履修するかも。
「情報科」における学習内容、Pythonやmicro:bitが例示に挙がりましたが致命的なミスが!→訂正されました
URLリンク(blog.edunote.jp)
プログラム例を見ると Python3 になっている。
URLリンク(cdn-ak.f.st-hatena.com)
「JavaScript」や「VBA」「Swift」「ドリトル」などの言語で記述した場合の資料も順次公表する。
399:デフォルトの名無しさん
19/06/03 10:45:34.80 RzP7uBJU.net
Ruby脂肪wwざまぁwwww
残当wwwww
400:デフォルトの名無しさん
19/06/03 10:48:18.27 RzP7uBJU.net
しかしSwiftは意外だしドリトルに至っては誰やお前状態。
それぞれJavaとScratchでいいような気が…
あ、高校だしPythonやるんだからScratchはいらないかw
401:デフォルトの名無しさん
19/06/03 11:26:03.33 NMMhu3n8.net
Rubyなんて誰にも通じない方言みたいなもんでしょ。
402:デフォルトの名無しさん
19/06/03 11:34:25.42 561P/qAZ.net
ドリトルってなんやと思ったら、大阪電気通信大学教授が作った簡単な教育用言語らしい。
SOV型の日本語の文法だから、日本人には受け入れられやすいそうだ。
200 歩く
いずれにしろこんなガラパゴス言語なんて取り扱うなよな。
Appleは昔から教育に力を入れてるし、micro:bit もSwift で動かせるようになっている。
iPadを導入している学校が多いからだろうな。
403:デフォルトの名無しさん
19/06/03 12:05:51.45 0DERidol.net
>>369
なんでJulia使わんのやろ。
404:デフォルトの名無しさん
19/06/03 12:08:30.44 0DERidol.net
>>390 >>363
pythonは遅い。なんでJuliaを使わんのやら。
405:デフォルトの名無しさん
19/06/03 12:18:00.58 ZJy6OnVg.net
Juliaは実質FORTRANやな
FORTRAN陣営から見たらJuliaなにそれ美味しいの?だし
Python陣営から見たらJuliaなにそれ美味しいの?なんだな
406:デフォルトの名無しさん
19/06/03 12:22:29.73 561P/qAZ.net
ルーピーの後はJulia廚か。 誰も使っていない言語を国の金で教育するメリットはない。
407:デフォルトの名無しさん
19/06/03 12:47:09.94 WJCzotn8.net
Matzも呆れとったわ
何のためにJIS規格にしたのかと
…本当にJIS規格が役に立つと思ってたんかな~?
408:デフォルトの名無しさん
19/06/03 13:01:42.14 561P/qAZ.net
>>404 Juliaは言うほど早くないぞ。 素因数分解したらPythonの方が早い。
409:デフォルトの名無しさん
19/06/03 13:11:57.98 4oSq2JT3.net
AI教育という目的になってしまったから
ぶっちゃけRubyは出る幕ない
410:デフォルトの名無しさん
19/06/03 19:44:59.60 IhVV+kPx.net
>>407
> Matzも呆れとったわ
> 何のためにJIS規格にしたのかと
アホみたいに言語仕様変えまくった奴が何を言ってるんだよ…
411:デフォルトの名無しさん
19/06/03 20:09:43.71 3/CobnB+.net
どうせ主要なライブラリの中身はcなのにjulia速いとかバカなんじゃねーの?
412:デフォルトの名無しさん
19/06/04 03:47:40.02 Z4hatvZh.net
Pythonもコンパイルすれば早くなるんじゃないの
413:デフォルトの名無しさん
19/06/04 05:43:24.04 /ArpXH0n.net
>>412 それが Cython 。 JIT にするのがNumba
その内何もしなくてもJIT で動き始めるんじゃないのかな。
414:デフォルトの名無しさん
19/06/04 09:15:34.73 /ArpXH0n.net
>>413 PyPy がJIT コンパイル機能を持ってるみたいだな。
4倍早いみたい。 だんだんとこちらが中心になっていきそうな気がする。
415:デフォルトの名無しさん
19/06/04 09:18:40.01 DYrvoZh+.net
10倍速くてもCモジュールの方が速いから無理
416:デフォルトの名無しさん
19/06/04 09:22:45.77 DYrvoZh+.net
そもそもPyPyはCモジュールが遅くなる時点でお呼びではない
417:デフォルトの名無しさん
19/06/04 09:31:14.75 /ArpXH0n.net
>>416 誰と誰が喧嘩してるんだ? PyPy が4倍早いというのは、Cで書かれたCpython と比較しての話なんだけど?
418:デフォルトの名無しさん
19/06/04 09:57:50.55 jFAGFsyF.net
Cythonは実質Cコードを吐き出すだけじゃないの
419:デフォルトの名無しさん
19/06/04 10:09:41.48 /ArpXH0n.net
>>418 CPython は、全てCで書かれた本家のPython インタプリタ。 これが標準とみなされ Python といったらこれのこと。
Cython は、(特殊な)python コードをCに落としてコンパイルするコンパイラ。
420:デフォルトの名無しさん
19/06/04 10:15:33.01 /ArpXH0n.net
>>416 Cモジュールが遅くなるってどういう意味だ?
Cで書かれたライブラリのことか? そのまま使えばいいじゃん。
421:デフォルトの名無しさん
19/06/04 10:48:29.61 uvNmGZET.net
翻訳されて 生の C になるからって言っても
PyObject * 毎回生成して
getattr して call しまくる C に変換されてるだけなら
そんなに劇的な速度差無いぜ
結局 numpy みたいなの使う方が速いし全体的にも効率的
422:デフォルトの名無しさん
19/06/04 11:04:17.89 3AilBL3g.net
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる
URLリンク(pbs.twimg.com)
① スマホでたいむばんくを入手
② 会員登録を済ませる
③ マイページへ移動する
④ 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)
今なら更に4日18時までの登録で2倍の600円の紹介金を入手
クオカードとすかいらーく優待券を両方ゲットできます。
数分で出来ますのでご利用下さい
423:デフォルトの名無しさん
19/06/04 13:00:09.35 5lBlAjbk.net
>>419
なぜそれを>>418にコメントしたのか
424:デフォルトの名無しさん
19/06/04 13:24:15.00 Pe5eEJ+g.net
>>422
QUOゲット
425:デフォルトの名無しさん
19/06/04 13:30:16.42 0rQoK8jG.net
ありがとう
426:デフォルトの名無しさん
19/06/04 15:34:05.65 oF2K+2cj.net
>>421 だから、numpy ならそのまま使えばいいじゃんと言ってるんだけど、話が噛み合わないな。
CPython のことを言ってるのか?
誰となんのために喧嘩してるんだ?
<>423 >>417 で、CPython の話をしてるのに、Cython の話を持ち出してきたからさ。
その前はPyPy の話題。
よくわからんから好きなもの使えば。
427:デフォルトの名無しさん
19/06/04 15:59:44.40 XXr8i2SB.net
>>422
一万請求されたぞふざけんな!
428:デフォルトの名無しさん
19/06/04 16:09:43.04 jFAGFsyF.net
numpy使うのが最速だよな
cuPy入れれば勝手にGPU使って速くなるし
もはやCUDAの知識もいらない
AIエンジニアといってもライブラリ使うマンに成り下がってる自分に腹がたつ
429:デフォルトの名無しさん
19/06/04 17:36:41.49 JjymHpsL.net
>>420
ガイジは喋んなくていいよ
430:デフォルトの名無しさん
19/06/04 18:30:42.03 5jXXyAl7.net
>>428
まあ仕方ない。。
自分の慣れた道だったとして相手がF1ドライバーとかだったらほぼ勝ち目なしだし。。
431:デフォルトの名無しさん
19/06/04 18:36:50.86 Jyr2dHH9.net
Python使って自動運転させればF1ドライバーに勝てるんじゃ無いのか
AIだったら命知らずでぶっ飛ばせるしw
432:デフォルトの名無しさん
19/06/05 00:39:05.49 8Be+XBy4.net
>>431
問題点 車体価格
433:デフォルトの名無しさん
19/06/05 02:34:51.47 L0nmYMGT.net
Python初心者です。質問の仕方や書き方など間違っているかもしれませんが、よろしくお願いします。
Python2.7を使っております。
.datのバイナリデータの検索と該当箇所を置き換えをやりたいのですが
open read replace またバイナリデータの格納や表示などWEBで見てトライしましたがうまくいきません。
Test.dat の 01 00 01 00 01 00 を 00 01 00 01 00 01 に書き換えるにはどういう記述方法になりますでしょうか?
434:デフォルトの名無しさん
19/06/05 02:39:40.49 L0nmYMGT.net
上記はhexedit などで見たところの16進数の表記のつもりで書かせていただいてます。
435:デフォルトの名無しさん
19/06/05 03:39:08.62 pJvQ51Lo.net
まずどう上手く行かなかったか書こう
エラーメッセージや途中経過重要
436:デフォルトの名無しさん
19/06/05 10:33:18.23 L0nmYMGT.net
f = open(test.dat,rb)
data = f.read()
f.close()
print data
①<?>などのバイナリファイルをテキストエディタで開いた時の文字化けのような表示
(ここまでしかできません)
②これを16進数などに変換して該当箇所を任意16進で書き換え
③バイナリファイルとして書き出し or 元データを上書き
のように考えております。よろしくお願いします。
437:デフォルトの名無しさん
19/06/05 11:04:22.91 TJpsnTe7.net
URLリンク(stackoverflow.com)
このへん読んでみては
438:デフォルトの名無しさん
19/06/05 11:57:22.22 L0nmYMGT.net
ありがとうございます。早速見て見ましたが英語が苦手で訳しながらやったのですが
うまくいきませんでした。
.dat の read() を行なった後、dataに変数に入れて表示される<?>文字列?化け?
のようなものを16進数に変換する方法がわかりません。
data = [ f.read() ]
にすると
['¥x00¥x00¥x00¥x00¥x00¥x00¥x00¥x00']
に表示できるのですが
439:デフォルトの名無しさん
19/06/05 12:30:21.89 SxBZ5bvb.net
馬鹿には無理
440:デフォルトの名無しさん
19/06/05 12:45:38.14 L0nmYMGT.net
すいませんでした。鬱病が原因で学校を辞めて
なんとかプログラミングのスキルを身につけて社会に出ようと努力してみたのですが
やはり、なかなか難しいです。
ありがとうございました。
441:デフォルトの名無しさん
19/06/05 12:47:43.39 KKGqCSfk.net
英語が苦手とか致命的では?
中学校からやり直した方が良いと思う
442:デフォルトの名無しさん
19/06/05 12:49:59.68 ETZz2j+d.net
Pythonは情報系の大卒以上か理系院卒以上でないと仕事ないよ
443:デフォルトの名無しさん
19/06/05 13:11:20.66 TKKYwlvh.net
その目的ならjavaかphpの方がいいな
444:デフォルトの名無しさん
19/06/05 13:17:04.05 zgKRHSoo.net
>>440
学校辞めたのなら、余計にプログラマー無理だろ
445:デフォルトの名無しさん
19/06/05 13:33:28.47 iseE4LCd.net
openの引数ってクオートしなくて良いの?
446:デフォルトの名無しさん
19/06/05 13:35:00.88 Cxh3OVbN.net
ネタでしょ
初心者はふつうバイナリデータいじらん、しかもPython2て
447:デフォルトの名無しさん
19/06/05 13:35:18.79 Oo3xyqZm.net
pythonでバイナリデータとか日本語扱うのはかなり面倒だよ
初心者は絶対ハマる
448:デフォルトの名無しさん
19/06/05 13:36:18.80 L0nmYMGT.net
import subprocess
import glob
File_Path = (glob.glob("*/test.dat"))
for i in range(len(File_Path)):
print File_Path[i]
file = open(File_Path[i],'rb')
data1 = [file.read()]
data2 = data1[0].replace("\x01\x00\x00\x00\x04\n\x00", "\x00\x00\x00\x00\x04\n\x00") .replace("\x02\x00\x00\x00\x00\x00\x00\x00", "\xf4\t\x00\x00\x00\x00\x00\x00")
file.close()
file = open(File_Path[i],'w')
file.write(data2)
file.close()
一ヶ月前からプログラミングはじめて書き方もよくわからないのですが、上のコードで一応動くようになりました。
修正御指南お願いします。
449:デフォルトの名無しさん
19/06/05 13:37:06.11 L0nmYMGT.net
>>446
ネタじゃありません
450:デフォルトの名無しさん
19/06/05 13:58:54.05 zgKRHSoo.net
>>448
学校に行けよ
451:デフォルトの名無しさん
19/06/05 15:22:10.72 Vxwz5LZ9.net
出来てるんじゃないの?
バイナリファイルを表示して確認出来ないってこと?
ならバイナリエディタ使うとかLinuxならhexdumpで表示するとか?
バイナリとテキストの違いはわかるよね?
452:デフォルトの名無しさん
19/06/05 15:41:23.09 L0nmYMGT.net
一応動きましたが、納得いきませんで
> data1 = [file.read()]
data1をリスト格納によって
\x00 \x00 \x00 \x00 \x00
の表示取り扱いができるようになり、replaceも動くようになりました。
しかしリストに格納する意味は無いですし
***(data1)関数などで、表示できれば良いなと。調べてもわかりませんでした。
453:デフォルトの名無しさん
19/06/05 15:52:30.66 d0W0ZGzg.net
プログラミングに向いてないというより人間を名乗らない方が良い
出来の悪いAIです
くらいにしとけ
454:デフォルトの名無しさん
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)