暇つぶし2chat TECH
- 暇つぶし2ch24:デフォルトの名無しさん
19/02/08 00:17:05.96 pxF4wnXP.net
いやElasticsearchとか使うでしょ

25:デフォルトの名無しさん
19/02/08 15:43:50.58 p2edXzAx.net
プログラムはまあまあの経験はあるが、全く初めてPython に触れる人向けのオススメ本は何かな?
1週間くらい前からネットの超入門あたりを見て、ちょろちょろと動かして感触はつかめたが、まだ文法自体全く見ていない。 必要なところだけ検索してサンプルプログラムを動かしてる段階。
たまたま見つけた武庫川女子大学の先生(中村 勝則)が描いてる、これで始めようかなと思ってる。
なんか題名が仰々しいが頭の方を眺めた感じ良さそうだった。
Python3 入門
Kivy による GUI アプリケーション開発, サウンド入出力,
ウェブスクレイピング
第 0.94.5 版
URLリンク(qiita.com)

26:デフォルトの名無しさん
19/02/08 20:56:34.17 gsD2xyia.net
>>24
ブログラム経験はまあまあ
あるなら自分で考えろやバカ

27:デフォルトの名無しさん
19/02/08 21:12:58.20 LXek31WR.net
オライリージャパンの入門python3あたりでいいんじゃないか?
ちょっと古いかもしれないが
公式ドキュメントが充実してるからネットでそっち見るのもいいけどな

28:デフォルトの名無しさん
19/02/08 23:15:40.97 T40Tl9cE.net
>>25
>あるなら自分で考えろやバカ
笑ったが、ゆとり教育を受けたゆとりはともかく他人に(クレクレと)尋ねる人間なる
で、一�


29:x染みついたゆとり教育行動は一生続ける行動になる。  あと、自分で考えて(見て)中村 勝則でまぁ良いんじゃねと目下なっている まぁ、タダと言うのが選んだ大きな要因な気がするが >>24 >これで始めようかなと思ってる なら、それでやれば良いんじゃないのか



30:デフォルトの名無しさん
19/02/08 23:24:26.33 LXek31WR.net
初心者スレでイキりすぎだろこいつら

31:デフォルトの名無しさん
19/02/08 23:34:15.62 T40Tl9cE.net
>>28
ここは超初心者スレ。
初心者でも並みの奴からすれば激しくレベル低い奴のスレだからな
俺、工学部生、ルビー君のような超変な奴(基地外、超ゆとり、超低脳)がいっぱい。
そんな奴はちょっとしたことで激イキりたくなる

32:デフォルトの名無しさん
19/02/08 23:34:46.44 LXek31WR.net
天開司「おでんと冷やの間を行き来するのがいいんだよ 反復横跳びみたいにな つまみ回の体力測定だな」

なんか前のおせち回を思い出して不安になってくるんやが

33:デフォルトの名無しさん
19/02/08 23:35:12.10 LXek31WR.net
>>30
誤爆しちゃったテヘペロ

34:デフォルトの名無しさん
19/02/08 23:38:28.21 LXek31WR.net
やれやれ 学生と社畜プログラマは大変だな
俺たち日曜プログラマーはティック・タック・トーでも作ってキャッキャさせてもらうぜ

35:デフォルトの名無しさん
19/02/09 00:18:44.25 cZknnG+A.net
>>24が提示した本は大学生向けだろ。
大学生向けでも良いって奴ならどの入門書でもOKだろ。
普通、このスレでおすすめ本教えてと尋ねられた場合の本は小学生レベルの本だし

36:24
19/02/09 00:22:05.58 VrkeVQvn.net
色んなご意見ありがとうございます。
とにかく先ずはやってみます。
久しぶりに文法書を見ると面白そうですね。 旧式の言語なのかと思ったら、しっかり最近の思想も入ってて。
1週間くらい前にPythonの人気ランキングが上がってると言う記事を見て興味を持ち調べ始めたところです。
取っつきやすいのは抜群ですね。 昔々のBASICを思い出しました。 しかし奥が深そう。
暇なので、70の手習いを始めました。

37:デフォルトの名無しさん
19/02/09 10:17:29.38 COL94ClU.net
pandasをインストールして下記コードを実行したところエラーになりました
・コード
import pandas as pd
df = pd.read_csv('test.csv')
・エラーメッセージ
'parsers.pyx'を開くことができません: ファイルが見つかりません
(file:///d:/(略)/pandas/_libs/parsers.pyx)
このメッセージでググりましたが同様の症状は見つけられませんでした
parsers.pyxというファイルはPC内に無いようなのですがどうすれば良いんでしょうか

38:デフォルトの名無しさん
19/02/09 10:51:27.42 vFLtltfz.net
>>35
インストールに失敗してそう
ディスク容量が足らないとか

39:デフォルトの名無しさん
19/02/09 10:58:51.69 COL94ClU.net
>>36
pip --no-cache-dir install -I というのでpandasを再インストールしてみましたが変わりませんでした
なおPython36フォルダはC直下にあるのですが、Cドライブは60GBの空きがあります

40:デフォルトの名無しさん
19/02/09 11:36:44.62 O6W3Dl2k.net
CドライブにPythonディレクトリがあるのにモジュールはDドライブを見に行ってるみたいだが

41:デフォルトの名無しさん
19/02/09 11:37:53.32 O6W3Dl2k.net
os.path上にpandasとかいうディレクトリがあってモジュールとして認�


42:ッされてんじゃないの



43:デフォルトの名無しさん
19/02/09 11:39:25.75 O6W3Dl2k.net
でもその場合はimportエラーかread_csvがメソッドじゃないってエラーになるか
じゃあ違うな

44:デフォルトの名無しさん
19/02/09 19:50:32.61 NkGmKmjK.net
>>34
70だと…

45:デフォルトの名無しさん
19/02/09 20:30:57.71 cZknnG+A.net
>>35
>file:///d:/(略)/pandas/_libs/parsers.pyx
>parsers.pyxというファイルはPC内に無いようなのですがどうすれば良いんでしょうか
parsers.pyxをネットから持ってきて、そこに入れれば良いんじゃないのか

46:24
19/02/09 21:04:21.27 GcgAqiym.net
>>41 結構まだいけるよ。 ただ記憶力は衰えてるからなんでもメモして検索してるけどね。
検索が無かったら多分何もできなくなってただろうな。
経験のプラスと記憶力のマイナスでそこそこもう少し遊べるかなと。暇だもん。
久しぶりに勉強する事でアドレナリンが吹き出してきた。

47:デフォルトの名無しさん
19/02/09 23:34:09.13 vFLtltfz.net
>>42
work aroundとしてはありかも知れないが
普通にインストールしたら起こらないエラー出してる時点でインストールから見直すべきだなぁ
そもそものWindowsのpythonはどうインストールしたんだろうか

48:24
19/02/10 01:21:19.18 OTf+aZMg.net
文法書を読み始めたところだが、fraction なんて目から鱗みたいな概念だな。 あって当たり前だったと思うが、初めて見た。
分子、分母共に整数で取り扱うから桁数の制限ないし。

49:35
19/02/10 01:32:10.98 LUYrGpOP.net
>>42
Githubのpandasページからparsers.pyxをDLしてきて
問題のpyファイルのあるディレクトリにpandasフォルダ、その中に_libsフォルダを作成し
その中に配置して実行したところ、今度はparsers.pyxの中でUnicodeDecodeErrorとなりました
ただ、こういったやり方(pyファイルのあるディレクトリにフォルダを作って外部ライブラリが必要とするファイルを配置する)って
あまり一般的では無いように思うのですが、pythonでは普通なのでしょうか?
>>44
python公式から落としてきた3.6.5をインストーラ使用でインストールしました
コーディングはVSCodeです
python本体はC:\Python36に、VSCodeでコーディングしているファイルはDドライブ配下に保存してます

50:デフォルトの名無しさん
19/02/10 01:35:52.26 LUYrGpOP.net
追記です
インストールしているpandasのバージョンは0.24.1です

51:24
19/02/10 01:39:19.26 OTf+aZMg.net
print('abc\ndefg')
print("abc\ndefg")
このエスケープシーケンスの改行が効かないんだけどなんで?
jupyter

52:35
19/02/10 01:47:44.38 LUYrGpOP.net
何度もすみません
自己解決しました
どうもtest.csvの文字コードがShift-jisだったことが原因ぽいです
UTF-8にして保存しなおしたらエラーは出ず、print()で中身の出力もできるようになりました
>>35でエラーとなったparsers.pyxが無くても大丈夫でした

53:デフォルトの名無しさん
19/02/10 10:39:30.06 cu5Yhqfv.net
行ごとにある文字列と一致する要素の数を数え上げるコードをかきたいです。
URLリンク(note.nkmk.me)
を参考に(そのままに)して次のようなコードを書いてもエラーがでます。
以下で使用するsample_pandas_normal.csvファイルのURLは
URLリンク(raw.githubusercontent.com)
です。
----------
import pandas as pd
df = pd.read_csv('./sample_pandas_normal.csv')
df_bool = (df == 'CA')
print(df_bool)
----------
実行すると
TypeError: Could not compare ['CA'] with block values
とでます。csvファイルはきちんとフォルダの中に入れてあります。
上にあげたサイトではきちんと実行できているようなのですが、
どこが間違っているのかわかりません。教えてください。

54:デフォルトの名無しさん
19/02/10 16:50:44.55 25jgEgQt.net
>>46
馬鹿には無理

55:デフォルトの名無しさん
19/02/10 17:25:24.08 cXpJ+uYj.net
>>49
いいんじゃない

56:デフォルトの名無しさん
19/02/10 18:12:21.68 L/vUvPOU.net
>>50
df_bool = (df['state'] == 'CA')

57:50
19/02/10 21:14:19.67 Y9k8mhjm.net
自分がやろうと思っている処理は複数列に 'CA' がでてきて
それを行ごとに何度でてくるかを数え上げるプログラムを書こうと思っています。
df_bool = (df['state'] == 'CA')
とすればうまくいくことはわかっていましたが、それでは1列しか処理できないので
不適当です。>>50のwebサイトには df == 'CA' でやっていたので
いけるはずだと思っていたのですが、うまくいきませんでした。
結局forループと転置を使って1列(1行)ごとに処理していくことにしました。

58:デフォルトの名無しさん
19/02/10 21:33:05.31 L/vUvPOU.net
>>54
普通にできるはずだからエラーをそのまま貼れない?

59:デフォルトの名無しさん
19/02/10 21:35:40.54 dMPfr/mY.net
バイオリンダンスロボットダンスええやん

60:デフォルトの名無しさん
19/02/10 21:35:58.69 dMPfr/mY.net
>>56
誤爆

61:デフォルトの名無しさん
19/02/10 21:49:45.76 L/vUvPOU.net
>>53
あ、上にエラーあったね
pandasのバージョンが古そうだ
少なくとも0.23.4では問題はないよ

62:デフォルトの名無しさん
19/02/10 21:52:17.40 QHXP4+rK.net
>>46
Ruby では、gem, bundler のprivate install で、
各プロジェクトのプロジェクトフォルダ内にのみに、インストールできる
一方、global install では、Windows・Ruby 2.4 では、
c/Ruby24-x64 以下のRuby 環境に入る。
例えば、
gem "sqlite3"
で、Ruby リポジトリから、以下の共有ライブラリをダウンロードして入れてくれる
c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.4/sqlite3_native.so
Ruby のbundler, Node.js のnpm, yarn などは、global・private install を切り替えられるシステム。
Python にも、同様のパッケージマネージャーがあるかどうかは、わからないけど

63:デフォルトの名無しさん
19/02/10 22:00:17.41 2rmZRARw.net
>>56
何それ? 楽しそう!

64:デフォルトの名無しさん
19/02/10 22:04:17.41 scT3207q.net
>>59
5ちゃん住人のrubyへのヘイトが貯まりまくってどんどんrubyユーザーが減っていくね。おめでとう、君の活躍のおかげだよ

65:デフォルトの名無しさん
19/02/10 22:14:03.23 Z3H3Tv4Q.net
>>59
スレタイ嫁

66:デフォルトの名無しさん
19/02/10 22:17:30.83 KoYwv+8z.net
>>59
わかんねーなら黙ってろポンコツ

67:デフォルトの名無しさん
19/02/11 00:11:44.05 f3xbC2Z2.net
>>58
仕様変更が原因と言うことかな?

68:デフォルトの名無しさん
19/02/11 05:48:35.50 hBL+nG4l.net
pycharm利用ですが、shift+f10が反応しません。alt+shift+f10は使えるのですが。
windows10,pcはlenovoです。

69:デフォルトの名無しさん
19/02/11 07:54:41.81 3Jv7Z+yl.net
捨てろ

70:デフォルトの名無しさん
19/02/11 10:17:13.46 QKPibkAC.net
pythonってOSSのパッケージを使わなきゃゴミみたいな印象なんですが
こんなすごいパッケージがあるぞ的なことはどこで勉強してるんですか?

71:デフォルトの名無しさん
19/02/11 11:19:21.82 orvgrbQL.net
>>67
知らね

72:デフォルトの名無しさん
19/02/11 11:42:03.69 rLkbUlEC.net
>>67
何か目的があってそれに必要なパッケージはググればすぐに見つかると思う
むしろ目的なくpython流行ってるからで始めてしまうとパッケージ難民になる

73:デフォルトの名無しさん
19/02/11 12:02:56.85 itY+kGJR.net
>>67
その基準だとRubyもCもゴミだな

74:デフォルトの名無しさん
19/02/11 12:29:36.90 CcePy3Nj.net
目的ありきでやってると調べるうちに自然と辿り着く

75:デフォルトの名無しさん
19/02/11 12:33:52.27 itY+kGJR.net
出会いが無ければ御縁が無かったということだ

76:デフォルトの名無しさん
19/02/11 12:42:06.89 QKPibkAC.net
最初から目的ありきならそれでいいかもしれませんが必ずしも目的があるとは限りません
パッケージが出来ることからビジネスにつなげる逆方向のパターンも世の中には存在するからです

77:デフォルトの名無しさん
19/02/11 12:52:03.92 fMjwAL+6.net
>必ずしも目的があるとは限りません
これただの暇人じゃん

78:デフォルトの名無しさん
19/02/11 13:10:11.15 kQCK5fGz.net
コンピュータゲームを作ったのはその暇人たちだったな

79:デフォルトの名無しさん
19/02/11 14:58:51.45 CcePy3Nj.net
ゲームを作るっていう目的を持ってるやん

80:デフォルトの名無しさん
19/02/11 15:18:59.57 kQCK5fGz.net
初期のコンピュータゲームは大学の研究用のコンピュータを勝手に使って暇つぶしの一環として作られた
数年前に死んだAI研究者マーヴィン・ミンスキーが発見したミンスキートロンに代表されるPDP-1のディスプレイハック
それに魅了された「のろすけ」ラッセルが本業そっちのけで作り出し、他のハッカーたちが面白がって機能を追加していったのが
最初期の対戦型コンピュータゲーム「宇宙戦争」ってわけだ
プログラミングっていうのはぶっちゃけそう大したものじゃない 暇つぶし程度でいいんだよ

81:デフォルトの名無しさん
19/02/11 17:19:02.28 gC4YDX1g.net
ニートならそれでもノープロブレムだろうけどさ
デベロップメントはビジネス上のイシューからスタートしないとプロダクトアウトになって
ソリューションのセールスがナイトメアになるのよボーイ

82:デフォルトの名無しさん
19/02/11 17:31:49.74 OKO2G8Ao.net
ルー大柴はどっかいけ

83:デフォルトの名無しさん
19/02/11 19:39:43.56 rLkbUlEC.net
>>73
ニーズとシーズのマッチングってやつかなぁ
そのコンセプトでいうならパッケージという細かい概念じゃなくて、Pythonはどんな事が得意ですか、と聞くべきだなぁ

84:デフォルトの名無しさん
19/02/12 02:23:03.62 xDY2FToe.net
Pythonって機械学習とセットで勉強しないとあまり意味がない?
特につくりたいものがあるわけじゃなく就活時に役立てたいっていう理由で学ぼうとしてるんだけど

85:デフォルトの名無しさん
19/02/12 02:29:06.75 xM7yD0R2.net
分かってないなぁ
Pythonはあくまで何かしらの専門領域のライブラリを使うためのホスト言語であって。
Pythonそのものを学ぶなんて笑っちまうわwww
言語には胸襟ただして学ぶような小難しいとこないじゃんwww

86:デフォルトの名無しさん
19/02/12 02:34:05.82 sv506HrS.net
>>81
何の分野に進むかによる
プログラマ以外がpythonを使うことはない
それよりもエクセルとvba覚えておと普通に役に立つ
後はjsを使えるとスクレイピングで役立つことがある
自己アピールで使いたいなら機械学習がキャッチーでいいかもな
コード書かなくてもモデルやら作れるサイトがあるから、そういうの触っておくと話のネタぐらいにはなるかも知れない
>>82
しかも微妙に特�


87:黷ネのがねぇ ぴゃーって書くならC#でゲームでも作ったほうが良いし、 phpでwebサイト作る方が短時間で成果が出る



88:デフォルトの名無しさん
19/02/12 07:19:51.84 EEP8zHaj.net
>>83
と思ったキモオタであった

89:デフォルトの名無しさん
19/02/12 09:03:12.80 FKAIOJhy.net
>>81
就活時に役立てるとしたら
使ったこともない言語をゴミ呼ばわりしてしまう口の悪さを治すことかな
自分の知らない事を全部見下してそう

90:デフォルトの名無しさん
19/02/12 09:45:33.70 n9nKxlWw.net
そもそもその程度も自分で判断できないような奴は
メダカの学校の先生くらいにしかなれねえよ

91:デフォルトの名無しさん
19/02/12 10:28:51.51 eC1lEXzI.net
カナヅチだから無理。

92:デフォルトの名無しさん
19/02/12 11:27:38.96 8lolhehX.net
88

93:工学部生
19/02/12 12:33:05.90 rvJokjFw.net
>>83
>何の分野に進むかによる
プログラマ以外がpythonを使うことはない

JPモルガンやゴールドマン…投資銀行がトレーダーに「Python」を教える理由
URLリンク(japan.zdnet.com)

94:工学部生
19/02/12 12:35:46.21 rvJokjFw.net
問題
l = [ [ 1,3,2,7,4 ], [ 4,7,2,4,9 ], [ 8,0,6,1,9 ] ]
なお、このリストは各要素ごとに一行ずつのデータとし、全部で3行のデータとする。
各行ごとに5つづつのデータで構成される。
hint 1) 保存される CSV ファイルは下記のようになる。
1,3,2,7,4
4,7,2,4,9
8,0,6,1,9
次に、"test.csv"を読み取り、CSVファイルから数値情報を抽出しなさい。
さらに各行ごとの合計を出力しなさい。(注: 保存前のリストによる合計ではない。)
hint 2) 17 26 24 の3つの数値が得られる。
hint 3) 保存されたデータは文字列になっているので、足し算をするために数値化する必要がある。

95:工学部生
19/02/12 12:36:54.61 rvJokjFw.net
>>90の答え
#解答欄
l = [ [ 1,3,2,7,4 ], [ 4,7,2,4,9 ], [ 8,0,6,1,9 ] ]

# l を CSV ファイルに保存する
with open("test.csv", "w") as f:
for x in l:
f.write(",".join([str(a) for a in x]) + "\n")

# CSV ファイルからデータを取り込み、各行の合計を表示する
with open("test.csv", "r") as f:
for x in f:
each = x.strip().split(",")
sum = 0
for y in each:
sum += int(y)
print(sum)

96:工学部生
19/02/12 12:38:43.95 rvJokjFw.net
f.write(",".join([str(a) for a in x]) + "\n")
each = x.strip().split(",")

このあたりがわかりません。

97:デフォルトの名無しさん
19/02/12 13:08:13.97 8lolhehX.net
これで充分
','.join(str(a) for a in x)

98:工学部生
19/02/12 13:34:12.44 rvJokjFw.net
ワシのプログラミング授業歴
1浪→今の私大工学部電気系に入る→
1年目で1留→プログラミング前期はなんとか単位を取るも、プログラミング後期を
再再履修し、Cの応用プログラムが理解できずに死亡していた
泣きっ面に棚から牡丹餅で、プログラミング講師「今年からプログラミング後期はPythonやります」
と天の救いがあった。留年とかした甲斐があったというものだ。
でpythonはCみたいなどうしようもない難解とは違い、
「やればやっただけ上達する」ような感触を受けた。
今回は落ちたかもしれないが、次は必ず仕留める。

99:工学部生
19/02/12 13:40:34.21 rvJokjFw.net
>>93
それに書き換えてみましたが、
実行結果が184
となり
下の答えとは違ってきました。
17
26
24

100:工学部生
19/02/12 13:45:24.25 rvJokjFw.net
>>93
+"\n"をそのあとに付けたらつまくいきました。
[]は無駄なようですね。ありがとうございます。

101:デフォルトの名無しさん
19/02/12 15:06:06.19 QzLgc2xe.net
>>92
書き込みを全般的に見てて思うけど、小さい単位に分割して実験する事を覚えた方が良いかな
カッコの中だけ実行する、演算子の片方のみ実行するとかね
例えば
f.write(",".join([str(a) for a in x]) + "\n")
が分からない場合には
print (",".join([str(a) for a in x]) + "\n")
を試して、次に
print (",".join([str(a) for a in x]))
を、試して、さらに
print([str(a) for a in x])
を追加して実験してみる
聞く回数も減るし理解も早いと思う

102:デフォルトの名無しさん
19/02/12 15:09:35.02 JhZhtSe3.net
独学プログラマー読んでるけどtwitterで翻訳者がつぶやいててうざい
たかが翻訳しただけなのにまるでじぶんが書いたみたいに反応してる
勘違いしてるよね
翻訳がすごいから売れたんじゃないの
勘違い翻訳者うざすぎー

103:工学部生
19/02/12 15:52:05.30 rvJokjFw.net
>>97
貴重なアドバイスありがとうございます。

104:デフォルトの名無しさん
19/02/12 15:56:19.85 sv506HrS.net
なっちゃんって偉大な翻訳家がいてな・・・
翻訳にも上手い下手はあるんだよ
少なからず売上も左右するだろう

105:工学部生
19/02/12 16:03:02.03 rvJokjFw.net
プログラムを入力するときはロックを組み立てていくが、
エラーを解析するときはブロックを崩していくというイメージか。

106:デフォルトの名無しさん
19/02/12 23:21:44.95 0srnSPAN.net
Multiprocessingを使った処理をしたいと思ってごくごく簡単な例文をコピペして動かしてみたのですが,期待される出力がコンソール上に出ません.
一方,すこし複雑な(いくつかのプロセスを平行させても1秒ぐらいかかるような処理)例文を動かすと,出力は出ませんがCPUの稼働率的にはすべてのコアが均等に働いているようでした.
Multiprocessing自体はうまく働いているものの,なんらかの理由で個々のプロセスがコンソールに出力するのが制限されているような挙動ですが,これを出力させるにはどうすればよいでしょうか?
環境はPython3.6.1で,標準のIDLEを使っています.CPUは4コアの6700Kです.
よろしくおねがいします.

107:デフォルトの名無しさん
19/02/12 23:41:25.12 1FBNx7PM.net
multiprocessingで並行処理させてる関数内からprintしたときは
直後にsys.stdout.flush()しないと反映されない

108:デフォルトの名無しさん
19/02/12 23:51:39.90 0srnSPAN.net
ありがとうございます.
それ自体では解決しませんでしたが,関連事項でググったらIDLEが悪いということが分かりました.

109:デフォルトの名無しさん
19/02/13 09:52:03.63 ik/h3+HJ.net
初歩的な質問なんですが
画像の顔部分の切り出しをしていて分からない部分があります
以下簡単な例に置き換えたものになります
import numpy as np
test = np.array([1, 2, 3, 4, 5])
print(test[1:1 + 3])
>>>[2, 3, 4]
と表示されます
これはどういう考え方をすれば良いのでしょうか
print(test[1:1])
では何も表示されませんが+3する事で表示されているのが良くわかりません

110:デフォルトの名無しさん
19/02/13 10:19:47.85 FsWI4s/7.net
pythonの仕様
このあたりを参照するといいよ。
URLリンク(d.hatena.ne.jp)

111:デフォルトの名無しさん
19/02/13 10:23:11.88 M8PJWiFY.net
>>105
test[m:n]はm~n-1番目までを切り出す

112:デフォルトの名無しさん
19/02/13 11:33:48.61 0cDEleYh.net
>>105 [1,2,3,4,5] の要素は [0]~[4]
print(test[1:1 + 3]) は print(test[1:4]) は [1] ==2 から [4-1]==4 まで
>>>[2, 3, 4]

113:デフォルトの名無しさん
19/02/13 11:36:12.68 0cDEleYh.net
もし先頭だけをprintしたいのなら
print(test[0]) または、print(test[0:1])

114:デフォルトの名無しさん
19/02/13 11:36:56.12 N2s3vUnw.net



115:Xライスの開始値は含めるけど終了値は含めないという指定は、最初違和感あったな



116:デフォルトの名無しさん
19/02/13 12:44:57.49 pbkwul76.net
>>110
俺もいまだに違和感ある
a=['お','ま','ん','こ']でa[0,2]だと['お','ま','ん']にして欲しいよな。
確か、数直線で考えるらしい.....
0 1 2 3 4
+ー+ー+ー+ー+
 お ま ん こ
で、[0:4]だと「お〜こ」になるとのことだった。でもa[4]はエラー....

117:デフォルトの名無しさん
19/02/13 14:58:46.57 os3OGdBG.net
ゼロベース配列という事で、i以上j未満はポインタ演算を考えると自然
(j-i)個の切り出し、終端ポインタ-先頭ポインタは何要素といった具合

118:デフォルトの名無しさん
19/02/13 15:03:23.54 kDMwAzYp.net
IoTやるのがPythonなのって理由ある?
Cじゃダメなのv

119:デフォルトの名無しさん
19/02/13 15:09:37.55 MhIfo+Ct.net
ポインタとか使う言語だと、そもそもendじゃなくて個数指定になってるじゃん。

120:デフォルトの名無しさん
19/02/13 15:20:36.92 ik/h3+HJ.net
>>105 です
回答頂いた方ありがとうございます
test[1:1 + 3]は[1:(1 + 3)]でtest[1:4]として扱われるという事でしょうか
演算子が入ってるのを初めて見たので計算した上で扱うとは思いませんでした

121:デフォルトの名無しさん
19/02/13 15:49:18.21 R/LRwZLt.net
>>115
「1番目から始めて3文字取り出す」という事を明示するために敢えて1+3と書いたんだろう

122:デフォルトの名無しさん
19/02/13 16:03:01.37 hD8BupCP.net
>>116
トッポい著者だなぁw

123:デフォルトの名無しさん
19/02/13 16:03:03.58 0cDEleYh.net
>>113
初心者からプロまで使える科学技術計算の新定番
IoT時代にPythonをオススメする理由
URLリンク(interface.cqpub.co.jp)
PythonだけではIoTできない理由 - ウィリアムのいたずらの開発日記
URLリンク(blog.goo.ne.jp)
<<しかし pythonでも Cythonを使えばCでコンパイルしてくれる
<<Raspberry Pi なら素のpython も使えるしセンサーもアクセスできる
PICと楽しむ Raspberry Pi活用ガイドブック
URLリンク(gihyo.jp)
最低限必要なLinux・Pythonの知識まで収録しています。
IoTを使って畑を監視する
URLリンク(tech.recruit-mp.co.jp)
TwilioとAWS IoTボタンを使った子供のトイレ訓練
URLリンク(postd.cc)
この場合 IOSやAndroidから電話をかけてボタンを操作している

124:デフォルトの名無しさん
19/02/13 16:21:24.81 kpYtZ0RT.net
>>113
AIカーが来てる! 自動運転でラジコンカーを走らせよう!
URLリンク(weekly.ascii.jp)
おもちゃの自動車がAI で動く時代。
これもRaspberry Pi とpython で学習して自動運転してる。
AI と言ったらpython

125:デフォルトの名無しさん
19/02/13 18:26:41.20 QnNf1eu6.net
>>115
test[1:-1]
test[:-1]
test[1:]
違いを説明汁

126:デフォルトの名無しさん
19/02/13 23:08:42.70 5Y5rGgZv.net
>>115
>test[1:1 + 3]は[1:(1 + 3)]でtest[1:4]として扱われるという事でしょうか
俺も超初心者だからお前が疑問に思っていることがなんとなくわかる
1 + 3の+は演算子。で、[x:y:z]の:は何なんだと? ひょっとして :も演算子?
でもって、[1:1 + 3]の時、:と+どっちが優先順位高いんだ?わかんね。
で、レス見ると、どうも+の方が優先順位高いと。つまり、優先順位を明示した[1:(1 + 3)]になると。

127:デフォルトの名無しさん
19/02/13 23:35:56.49 Fldw1X0G.net
:は演算子じゃなくて区切りだろ
そんなもん実験すればわかる

128:デフォルトの名無しさん
19/02/13 23:43:48.56 5Y5rGgZv.net
そうなのか? 俺は勝手に俺命名してスライス演算子とか言っているが
で、スライス演算子は算術演算子の+より優先順位が低いと

129:デフォルトの名無しさん
19/02/13 23:49:32.46 jwc/pNVH.net
slice notation スライム記法

130:デフォルトの名無しさん
19/02/13 23:51:50.74 os3OGdBG.net
リファレンスではデリミタとされる、Pythonでは代入が文なのでそれもかな
URLリンク(docs.python.jp)

131:デフォルトの名無しさん
19/02/13 23:55:22.49 jwc/pNVH.net
代入が単独で文なのって何か故あってのことなの?わりと珍しいよね?

132:デフォルトの名無しさん
19/02/14 00:02:35.62 xnVOqrv0.net
スライスって言葉がすぐに出てこない、当然なが関数のslice()も出ないって
超初心者の俺ららしいよな
URLリンク(stackoverflow.com)

133:デフォルトの名無しさん
19/02/14 00:18:16.01 RyxU72PZ.net
いわゆるペンタックスソルトってやつか。

134:デフォルトの名無しさん
19/02/14 08:02:20.55 NaDvAh4C.net
>>126
3.8から代入式も使えるようになるらしい

135:デフォルトの名無しさん
19/02/14 09:03:20.99 wJ5vrran.net
シンタックスシュガー
糖 衣 構 文って奴か
シンタックスシュガー
糖 衣 構 文を使うと超初心者にはわかりやすくなるけど
シンタックスシュガー
糖 衣 構 文の裏側で実際どのような挙動をしているのかわかりにくくなるのが欠点だよな
シンタックスシュガー
糖 衣 構 文はかしこく使っていきたいと思った

136:デフォルトの名無しさん
19/02/14 13:23:14.58 b/dX4O0G.net
>>121
pandasとかnumpyの[:;:]使うともっと混乱する

137:デフォルトの名無しさん
19/02/14 18:52:34.90 /0O1t9cs.net
>>126
いや、昔の言語はそれが普通
C言語辺りから代入文が値を持つような言語が増えた

138:デフォルトの名無しさん
19/02/14 23:06:52.19 Qyh3gh4h.net
初めて見た時は驚いた

139:デフォルトの名無しさん
19/02/15 04:14:44.86 aMcTHSTs.net
A=B=C=0
みたいな

140:デフォルトの名無しさん
19/02/15 11:55:58.42 Lyn3hfe5.net
pipってPythonのidleからうごかせないからいらいらしてたんだけども
teratailっていうサイトでpipはコマンドプロンプトでうごかすような仕様ですって説明あったからあたまのなかがすっきりした

141:デフォルトの名無しさん
19/02/15 12:13:07.08 vj4wf1O1.net
Python はとっつきやすいが、奥が深いな。 一通りの文法をある程度使いこなせるようになるまでどのくらいの時間がかかるんだろう。
2~3か月と書いてるサイトが多い様だが
例えば、
Python チュートリアル (原文の電子書籍版は120ページだった)
URLリンク(docs.python.jp)
の全て
Python 標準ライブラリ 
URLリンク(docs.python.jp)
の1~16
を読み込むだけだとどのくらいの時間?
Python 言語リファレンス
URLリンク(docs.python.jp)
は必要に応じて参照。 と思ったが、言語リファレンスを見るとset だけでもかなり奥が深いな。
チュートリアルではほんのさわりしか触れていない。 このチュートリアルだけでは本当の入り口入門だな。
でもこのレベルをまず理解しないと挫折してしまうだろうな。
言語リファレンスに書かれたすべてについて書かれたチュートリアルは�


142:Lるのだろうか? 膨大なページになるだろうが。 オライリーの Pythonチュートリアル 第3版 も入門用みたいだな。 (260ページ) 無料で読めるデータ分析に役立つ Python の電子書籍まとめ https://qiita.com/ynakayama/items/8ed2854bcc3c3633345b Dive Into Python 3 日本語版 http://diveintopython3-ja.rdy.jp/index.html これは少し踏み込んでいるね。 プログラミング経験者向けのPythonの入門書 495ページ >>24 の Python3 入門 は 241ページ https://qiita.com/KatsunoriNakamura/items/b465b0cf05b1b7fd4975



143:デフォルトの名無しさん
19/02/15 12:56:54.47 vj4wf1O1.net
>>121 >>123 URLリンク(docs.python.jp)
ここでは test[1] はインデックス
test[1:4] はスライスと書いてるね。 :はデリミッタ(区切り符号)の中の一種
下記の文法書では、 : がある場合をスライスとしている。
class slice(start, stop[, step])
要は range(start, stop[, step]) と同じ
だから、test=[1,2,3,4,5] の時
test[1:6:2] は [2, 4] と2つおきのステップもとれる
test[0:6:2] は [1, 3, 5]
URLリンク(docs.python.org) 
文法書 こちらだと、3.7.2も選べるね。
6.3.3. スライス表記 (slicing)
スライス表記はシーケンスオブジェクト (文字列、タプルまたはリスト) におけるある範囲の要素を選択します。
スライス表記は式として用いたり、代入や del 文の対象として用いたりできます。
スライス表記の構文は以下のようになります
proper_slice ::= [lower_bound] ":" [upper_bound] [ ":" [stride] ]
lower_bound ::= expression
upper_bound ::= expression
stride ::= expression
とあるから数値には式も許されている。 [] は省略可を示す
<略>
適切なスライスは、スライスオブジェクト (標準型の階層 参照) に変換され、その start, stop および step 属性は、それぞれ指定した下境界、上境界、およびとび幅 (stride) になります。
式がない場所は None で置き換えられます。

144:デフォルトの名無しさん
19/02/15 13:07:54.03 TNDmXWGM.net
>>136
文法だけなら3日で済ませろ

145:デフォルトの名無しさん
19/02/15 14:14:26.18 BPLAFoWk.net
ifが閉じないのが違和感ありすぎるんだよな
endをpass扱いで使えればいいのに
tab非推奨とか、mainがインデントできないとか

146:デフォルトの名無しさん
19/02/15 14:28:19.26 TNDmXWGM.net
endってRuby信者かよ
うざいだけです

147:デフォルトの名無しさん
19/02/15 15:29:10.41 6n1ig9NM.net
>>113
1からcに勉強しなくても基本的なスクリプト分かればパッケージで何かできるようになるから教育の手間が省けるし使い物になるまでの時間が短い。ポインタみたいな話は逐一調べれば何とかなるし

148:デフォルトの名無しさん
19/02/15 16:08:39.95 PR4djPv7.net
>>113

米国では特に理由がない限りはスクリプト言語といえばPythonなの
もちろん機器を大規模に展開する段階ではCで書き直すこともありうるけど、その前のPoC段階では手っ取り早く動かすことを重視してスクリプト言語を選択することが多い
そして世の中のほとんどのIoT(笑)プロジェクトはPoC止まりである

149:デフォルトの名無しさん
19/02/15 17:40:54.87 fQG3bb7R.net
>>142
最後の行メッチャ同意w

150:デフォルトの名無しさん
19/02/15 19


151::12:24.12 ID:FTe5u0N/.net



152:デフォルトの名無しさん
19/02/15 21:40:16.03 phBQxiAY.net
>>137
そんだけ説明するなら
Cpy = OreObj[:]でコピーの話してくれれば良いんだが
これもsliceがやってくれているのか?

153:デフォルトの名無しさん
19/02/15 22:13:07.97 nnYj1Xkq.net
>>145 シーケンスオブジェクトに対して有効なんだから、文法エラーが起きなければ、OreObjはシーケンスオブジェクトで有り!スライス表記が有効なんだろ。

154:デフォルトの名無しさん
19/02/16 01:03:35.23 3MiMTZ5E.net
>>145 print(type(OreObj))
とやってみれば良いよ。
というかわからずに作ってる方もどうかと思うが。

155:デフォルトの名無しさん
19/02/16 01:22:05.09 pkeahHEi.net
Python3エンジニア認定基礎試験を受験しようと思ってるんだけど認定教材がオライリーのpython3 チュートリアル第3版だよね?
ドキュメントがあるんだけど
URLリンク(docs.python.org)
本よりURL先の方が新しいからこっちで勉強すべきなんか本買った方がいいのやら

156:デフォルトの名無しさん
19/02/16 02:04:33.57 3MiMTZ5E.net
>>148 自分もまだ、どれをもとに勉強しようか悩んでるんだけど、試験を受けるんだったら、オライリーので勉強した方が良いんじゃないのかな。
出題範囲がそれからと決まってるみたいだし。
そのpython.org のチュートリアルは本当に基本的なことしか書いてないみたいだし。 それを見る場合は他の標準ライブラリーにも目を通す必要があるけど、そちらについてのチュートリアルはないからね。

157:デフォルトの名無しさん
19/02/16 02:15:08.35 cp9NCj1N.net
>>111
BDFLの有り難いお言葉
URLリンク(python-history.blogspot.com)
コメント欄含めて細かく1-/0-ベース、閉区間/半開区間のメリットデメリットが議論されてる
要素の間を指す、という記憶術の落とし穴も

158:デフォルトの名無しさん
19/02/16 02:27:49.37 Vy31NZNk.net
>>148
そのURLで良いんじゃないのか。
金出してオライリー買って勉強したって通らない奴は通らないだろうし。
で、URLでやっても通る奴は通るだろ

159:デフォルトの名無しさん
19/02/16 05:33:47.13 ytOkList.net
>>136
奥の深いのはまるで量子力学みたい。

160:デフォルトの名無しさん
19/02/16 10:08:53.50 13Z91cw1.net
>>> "あ\\\"あ"
'あ\\"あ'
>>> print("あ\\\"あ")
あ\"あ
\の数が変わるのはなぜですか?

161:デフォルトの名無しさん
19/02/16 10:34:05.43 3MiMTZ5E.net
>>148 pdf があった方が良いと思うよ。 検索や見出しの頭出しなどが楽だから。
英文のpdf はあるけど、日本語はない。
URLリンク(docs.python.org)
コピペ、書き込みはできる。
オライリーのにはpdfがあるから便利ではある。
ただし、コピペできないから注意。 amazon のレビューも参考にしてみたら。
【python入門者向け】おすすめPDF教材3選
URLリンク(web-camp.io)
自分は、この中の2番目の大学の先生が書いてるやつで始めた。 コピペは勿論書き込みとかできる。

162:デフォルトの名無しさん
19/02/16 10:46:44.65 3MiMTZ5E.net
>>153 \ は、エスケープ文字と言って、次の1文字をそのまま使うことを指示する。
だから、\そのものを使うことはできない。しかし
\\ で\ をそのまま使う指示をすれば、\ 1文字として扱われる。
同じく \” \’ は、” ‘ そのものを扱うこもができる。
文字列�


163:フ中にこう言う特殊文字を入れたい時に使う。 或いは、文字の中で改行したい場合には、\n を使う。 予め決められた文字をエスケープシーケンスと言う print(‘abc\ndef’) abc def エスケープシーケンスには他にタブ \n とか色々ある。 print(‘abc\n\tdef’) abc  def エスケープシーケンス https://www.javadrive.jp/python/string/index2.html



164:デフォルトの名無しさん
19/02/16 12:21:40.15 LDsTH0lF.net
bs4のスクレイピングで
〈dd class='a'〉bbb〈span class='c'〉ddd〈/span〉〈/dd〉
のときにbbbだけ取り出すにはどうすればいいですか?

165:デフォルトの名無しさん
19/02/16 13:46:48.84 lF7O1vpr.net
linux流行る→linuxの試験立ち上げ
ruby流行る→rubyの試験立ち上げ
python流行る→pythonの試験立ち上げ
常に後手後手だな経産省は

166:デフォルトの名無しさん
19/02/16 13:49:19.24 ZA7pE0Rj.net
役所にitの世界でリードしろと言う方が無理がないか(´・ω・`)

167:デフォルトの名無しさん
19/02/16 14:13:56.53 0EgtbNFo.net
二次元のエロ画像って、どうやって分類するの?
教えて!エロい人!?

168:デフォルトの名無しさん
19/02/16 14:25:52.61 LemtF0up.net
>>159
まず自力で集める
えろくない画像も集めておく
それを教師データにしてエロい・エロくないを学習させる

169:デフォルトの名無しさん
19/02/16 15:05:30.24 HHnqLgqK.net
>>157 そりゃニーズがないものを試験するのは無駄。

170:デフォルトの名無しさん
19/02/16 17:34:44.82 mSqP7pCT.net
フォルダを分ける
●永久保存
●たまに観たい
●あとで観る
●即消し
フォルダ毎にランク数値化してベイズ学習して
新しい画像が来るたびにまたフォルダ分け
(自動化するが人間によるチェックも必要なのでいきなりフォルダに入れず
それぞれのフォルダ毎に保留バッファを用意して人間が承認して正式にフォルダ移動とともに再学習)
これで問題になるのは「即消し」フォルダにある画像も消したくても再学習のために消せないんじゃないかということ

171:デフォルトの名無しさん
19/02/16 21:35:51.99 cOF81sF3.net
pythonで開いたファイルを完全に閉じるにはどうしたら良いんでしょうか?
closeしたあとにshutil.moveで移動しようとしても、ファイルが使用中とエラーがでてしまいます。

172:デフォルトの名無しさん
19/02/16 22:09:05.36 /KIqi5pj.net
本当にPythonがハンドルを掴んでるのかまず確認しろ
「さっきまで開いてたから」は根拠にならない

173:デフォルトの名無しさん
19/02/17 00:00:34.97 Hg63DdMm.net
>>153-155
Ruby では、
str = "あ\\\"あ"
p str #=> "あ\\\"あ"
print str #=> あ\"あ
p では全体を、" " で囲んでいるように、文字列の内部表現を見ている。
一方、print では、文字列を外部に表示したもの

174:デフォルトの名無しさん
19/02/17 00:30:33.10 Hg63DdMm.net
>>156
jQuery 子要素を含まない text() が欲しい時
URLリンク(qiita.com)
elem.children().empty();
で一旦、すべての子要素を削除してから、
elem.text();
で、テキスト部分を取得している
つまり一旦、<span> の部分を削除してから、テキスト部分を取得する。
でも実際に、DOM が削除されてしまうのは、都合が悪いかも知れない
他にも「jquery text 直下」で検索して、探してみれば?

175:166
19/02/17 00:46:15.18 Hg63DdMm.net
scrapyでよく使うxpath, cssのセレクタ
URLリンク(python.civic-apps.com)
直下の子要素指定でフィルタの所に、xpath, css で、
<div>aaa<div>bbb</div></div> で、aaa だけを取得する方法が書いてある

176:デフォルトの名無しさん
19/02/17 01:19:40.29 p7gH0RbB.net
>>165
>文字列の内部表現、文字列を外部に表示
なんか良い表現だな
自分の言葉でこんな表現出来るルビ基地は頭は悪くないんだろうから、
基地外精神を直せばいい奴になるのにな。
俺らが気にするのは文字列を外部に表示のほうだからな
>>> "あ\\\"あ"
'あ\\"あ'
なら
>>> len( "あ\\\"あ" )
は4なのか5なのか

177:デフォルトの名無しさん
19/02/17 08:16:33.30 WySC1FKQ.net
>>168
試したら4だったよ

178:デフォルトの名無しさん
19/02/17 09:55:44.57 yxjz1BDw.net
>>164
確認しました。
掴んでるのはpython.exeだけでした。

179:デフォルトの名無しさん
19/02/17 13:41:35.73 7mUUrd8D.net
>>170
違うものを閉じようとしてるんじゃね

180:デフォルトの名無しさん
19/02/17 14:08:27.77 +S0MQzvf.net
>>165 なんで python スレに Ruby の解説を持ち込まないといけないんだよ。 python をさわれないなら黙って見てろ。
python で説明するなら、
str = "あ\\\"あ"
rstr = r"あ\\\"あ" # raw string
print(str,rstr)
#あ\"あ あ\\\"あ
l

181:デフォルトの名無しさん
19/02/17 14:23:35.65 +S0MQzvf.net
raw string は、正規表現関係の検索文字列で使われる。

182:デフォルトの名無しさん
19/02/17 14:32:37.51 +S0MQzvf.net
>>172 普通は解釈(代入)段階でエスケープされるけど、raw 指定された場合は、エスケープしないだけで、結果としてできた文字列はどちらも str 属性のまま。

183:デフォルトの名無しさん
19/02/17 15:01:00.41 +S0MQzvf.net
>>139 tab 非推奨って本当?
サンプルコードを拾ってくると確かにタブは使われていない。
でもそれを修正して使おうとするとタブが入るから、エラーとされる。
合わせるのが大変なんだけど、みんなどうしてんの?

184:デフォルトの名無しさん
19/02/17 15:09:57.38 2Zsn/By5.net
yesタブ非推奨
正規表現できるエディタ(秀丸エディタとか、sakuraエディタ)で
\tを「 」(半角スペース4つ)に一斉置換でおk

185:デフォルトの名無しさん
19/02/17 15:13:46.38 naWxhgEk.net
>>172
ルビ厨に構うなよ…

186:デフォルトの名無しさん
19/02/17 15:27:26.15 yxjz1BDw.net
>>171
すいません、解決しました、
文法がRubyとごっちゃになってcloseに()が付いてませんでしたorz
エラーにならないから全然気づかなかった…

187:デフォルトの名無しさん
19/02/17 15:39:19.93 yfMLX38R.net
>>176 一括変換はどのようにしてもできるんだけど、コピペして動かそうとして修正するときに面倒。
利口なIDEなら両方を調整してくれても良さそうなものだけどな。
まだ、IDEをどうするのか決めてないし、とりあえずEclipseに入れるつもりだけど、なんか途中でつまづいてる。

188:デフォルトの名無しさん
19/02/17 15:49:18.49 naWxhgEk.net
>>179
大抵のIDEでTabキーでスペース挿入とかできるはずだが?

189:デフォルトの名無しさん
19/02/17 17:18:58.04 OPCV5npO.net
>>178
with open構文使えばそんなことで悩むことなかったのに

190:デフォルトの名無しさん
19/02/17 17:29:14.69 +S0MQzvf.net
>>180 IDEはまだ使っていないって、pythonista やjupyter で練習中
ただ、IDEでスペース挿入できたって、コピペしたやつとスペースの数が違えばダメだろ? 大抵は一括変化できるだろうけど。
それでもjupyter などで使おうとするとやはり苦労するよね?

191:デフォルトの名無しさん
19/02/17 17:50:07.52 +S0MQzvf.net
質問(1)
‘__main__’ in globals()
や、
2 in [1,2,3]
がTrueになるのはなんで?
定数 in 集合は、定数を取り出せと言う意味なのかな?
i in [1,2,3]
が許されないの�


192:ヘ何を取り出すのわからないからかな? 質問(2) print( [i for i in [1,2,3] ] ) が許されて print( (i for i in [1,2,3] ) ) が許されないのがわからない。



193:デフォルトの名無しさん
19/02/17 17:56:47.88 T3+WXnTJ.net
>>183 質問(1)は自己解決
まともな文法書を読み始めて2日目で、ようやくたどり着いた。
《in演算子によるメンバシップ検査》
書き方: 要素 in リスト 
リストの中に要素があればTrue,なければFalseを返す.要素が含まれないことを検査するにはnot inと記述する

194:デフォルトの名無しさん
19/02/17 18:15:18.83 naWxhgEk.net
>>182
グダグダ言う暇あったらテキトーなIDE使ってみなよ
スペースの数とかも指定できる
そもそも他の開発者がいちいち一括変換とかして苦労してるわけ無いだろ

195:デフォルトの名無しさん
19/02/17 19:09:07.40 9eEjpIke.net
>>183
質問(2)について
二つ目が「許されない」と言う意味が分からないが、少なくとも文法的には間違いではない
(i for i in [1,2,3] ) はジェネレータ内包表記といいgeneratorオブジェクトになる
ジェネレータはnext関数に渡すと次々に値を返す。最後まで到達するとStopIteration例外を出す
>>> gen = (i for i in [1,2,3])
>>> gen
<generator object <genexpr> at 0x7fb1b1a86ba0>
>>> next(gen)
1
>>> next(gen)
2
>>> next(gen)
3
>>> next(gen)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration

196:デフォルトの名無しさん
19/02/17 19:20:42.25 glILnxtO.net
ビートセイバーの通常プレイってなんだかんだで斬る方向も指定されるから
いまいち魅せプレイには向いてないんよな 
めめめにダースモールプレイでくるくるしてほしいンゴ
URLリンク(www.youtube.com)

197:デフォルトの名無しさん
19/02/17 19:20:57.80 glILnxtO.net
誤爆

198:デフォルトの名無しさん
19/02/17 19:31:52.09 +S0MQzvf.net
>>186 有り難う。 同じような形なのになんでprint ができないのかと言う疑問だった。
print( (i for i in [1,2,3] ) )
は、ジェネレータから取り出してしないからと言う理解で良いの?

199:デフォルトの名無しさん
19/02/17 19:51:22.25 OPCV5npO.net
>>189
Pythonの分かりにくいところだよね
同じ記号を別の意味で使っている
[1,2,3] リスト。集合は可変
(1,2,3) タプル。集合は不変
if 2 in [1,2,3] リストの中に2が含まれるか判別
for i in [1,2,3] リストの要素で繰り返し
[i for i in [1,2,3]] リストの要素で繰り返した結果を演算しリストとする
(i for i in [1,2,3]) リストの要素で繰り返した結果を演算するgeneratorを返す
普通に考えたらgeneratorではなく演算結果をタプルで返すように思うよね

200:デフォルトの名無しさん
19/02/17 20:07:17.70 U9IIuCB3.net
内包表記でタプルは作れない(ジェネレータになる)だけで一貫してるだろ
それに
for i in イテラブル
じゃなくて
i for i in イテラブル
だし

201:デフォルトの名無しさん
19/02/17 20:25:38.62 WySC1FKQ.net
>>184
「まともな文法書」が何かを記していただければ、このスレの住民には助かると思います

202:デフォルトの名無しさん
19/02/17 20:31:16.29 tKx1WgvG.net
in単体なら演算子だけど、forではそれ含めて文だからねぇ
文脈によって解釈が変わるのはC/C++でも英語でも同じ
そしてタプルを作るのは丸括弧ではなく「,」である

203:デフォルトの名無しさん
19/02/17 20:33:32.71 U9IIuCB3.net
というか「(1,2)はカッコがあるからタプル」は偽だから
(x for x in [1,2,3])がタプル返す義理はないな
まぁその辺のサイトみたら軒並み「タプルはカッコでくくってつくる」って書いてあるのはそうだけど
ドキュメントにはそうは書いてない

204:デフォルトの名無しさん
19/02/17 20:39:37.47 9eEjpIke.net
確かにカッコ使わずに
a =1,2,3
でもタプルになるしな

205:デフォルトの名無しさん
19/02/17 20:42:19.07 OPCV5npO.net
>>194
カンマで区切ればタプルにるけどさ、タプルの出力は必ずカッコで括られるんだから、直感と違うわけだよ

206:デフォルトの名無しさん
19/02/17 20:44:17.06 GfPZMs79.net
カッコつけてるだけだよ

207:デフォルトの名無しさん
19/02/17 20:46:20.17 4CukteGI.net
リストはイテラブルなオブジェクトでイテレータではないらしいけど、なんで最初からリストをイテレータとして使えるようにnextメソッドを実装しておかないんや

208:デフォルトの名無しさん
19/02/17 20:47:29.51 glILnxtO.net
>>196
practicality beat purity(実用性は純粋さに勝る)だぜ
ジェネレーターにすれば途方もない数も扱えるわけだし
デフォでジェネレーターになるのはしょうがない
range()がリストではなくイテレーターを返すようになったようにな

209:デフォルトの名無しさん
19/02/17 20:47:49.01 p7gH0RbB.net
>>193
だよな
(1)は整数の1、でも、(1,)は整数の1を持つタプル
()だけではタプルを生成することにはならないからな
これは俺でも知っている超超入門レベル知識だからな
>>194
(x, for x in [1,2,3])とかならタプルを生成しなんだろうが

210:デフォルトの名無しさん
19/02/17 20:50:48.52 U9IIuCB3.net
>>200
(x, for x in [1,2,3])
はシンタックスエラー
((x,) for x in [1,2,3])
ならタプルを3つ返すジェネレータができる

211:デフォルトの名無しさん
19/02/17 21:11:43.56 GfPZMs79.net
(x,)っていかにも要素2つありそうな見た目だけど要素数1のタプルなの?w

212:デフォルトの名無しさん
19/02/17 21:19:41.54 OPCV5npO.net
>>202
公式のチュートリアルにもUglyと書いてあるだけあってなんだかなぁとは思う

213:デフォルトの名無しさん
19/02/17 21:55:32.99 nNpu08PZ.net
益々訳ワカメになってきた。

214:デフォルトの名無しさん
19/02/17 22:00:38.59 p7gH0RbB.net
>>201
(x, for x in [1,2,3])
がエラーなのは分かっている
でも、なんかタプルの(1,2,3)を作ってくれそうな感じだろ
{ n:str(n) for n in [1,2,3] }で辞書を作れるんだから

215:デフォルトの名無しさん
19/02/17 22:08:56.80 nNpu08PZ.net
((x,) for x in [1,2,3])
ってどんな意味があるのかわからん。
print(list ((x,) for x in [1,2,3]) )
#[(1,), (2,), (3,)]
(1,) ってどんな意味があるの?

216:デフォルトの名無しさん
19/02/17 22:15:21.52 glILnxtO.net
>>206
(1,)とか(2,)っていうのは「要素がひとつだけのタプル」を示す

217:デフォルトの名無しさん
19/02/17 22:56:02.90 nNpu08PZ.net
やっぱチュートリアルをちらっと読んだだけじゃ、基本的なことがわからないな。
言語設計者の開発秘話みたいなものが聞けると面白いと思うんだけど。

218:デフォルトの名無しさん
19/02/17 23:03:18.87 Hg63DdMm.net
>>178
Ruby で言えば、File.open にブロックを付けると、
ブロックを抜けるときに、例外時にも自動的に、開いたファイルを閉じてくれる
自分で例外処理、finally・ensure などに、file.close を書いたのと同じこと
コンテキスト・マネージャー。
Python にも、同じものがあるはず

219:デフォルトの名無しさん
19/02/17 23:20:56.32 glILnxtO.net
pythonの基本方針はimport thisで読める
False == False == FalseがTrueになるとか面白いよな

220:デフォルトの名無しさん
19/02/17 23:51:24.85 9eEjpIke.net
True+Trueが2になるとかな

221:デフォルトの名無しさん
19/02/18 00:38:39.85 9Y7UoWyl.net
>>207 ますますわからなくなってきた。
タプルと言うのは、複数の数値の羅列だと思ってたのに、一つでなんでタプルになり、一つのタプルにどんな効果が出てくるの?
そう言う文法だからと言えばそうなんだろうけど、
1 in 1 をエラーにして、1 in (1,) をTrue にする意味があるんだろうか?
1 in (1) と区別が付かんと困るからかな? ただのカッコ()とタプルの区別を カンマの有無で区別すると言うことか。

222:デフォルトの名無しさん
19/02/18 00:42:35.27 SjVwlNp1.net
「1 in 1 をエラーにして、1 in [1] をTrue にする意味があるんだろうか?」

223:デフォルトの名無しさん
19/02/18 00:54:13.98 Tb62uZUC.net
「数値1つ」と「数値1つだけを含んだ集合」は別のものだ。
1つの要素しか含まないリストを作ることもできるし
1つの要素しか含まない辞書も


224:作ることができる タプルができない理由はない まぁプログラミングというか論理学の話になるけどな 1 in 1でエラーが出るのは当然 1と1は同値であり、1の中に1が含まれているわけではないのだから



225:デフォルトの名無しさん
19/02/18 00:56:36.72 9Y7UoWyl.net
>>210 import this があるなんて面白いね。
プログラマが持つべき心構え (The Zen of Python)
URLリンク(qiita.com)
The Zen of Python, by Tim Peters
ちなみに、"Zen"は日本語の「禅」です。
1 in 1 を許さないのは禅問答になるのかな? 悟りを開くしかないのかな?

226:デフォルトの名無しさん
19/02/18 01:02:08.73 9Y7UoWyl.net
>>214 リストやタプルは集合体だから何かの入れ物の中に入ったもので。
1 in 1 は、入れ物がないから取り出せないと言う感じかな?
じゃ、リストやタプルは現実社会のどんなものに対応するんだろう。

227:デフォルトの名無しさん
19/02/18 01:18:45.55 Tb62uZUC.net
「1つの要素」と「要素ひとつだけを含む集合」は
「弾丸一発」と「一発だけ弾が残った弾倉」と同じくらい違う
「書類1枚」と「1枚だけ書類を挟んだファイル」と同じくらい違う
風来のシレンで言うと
「アイテムひとつ」と「アイテムがひとつだけ入った壺」と同じくらい違う

pythouの内部的にはリストやタプルには「複数の要素を扱うための機能」がついてる
単一の要素整数にはそれがない
だから単一の要素にinを使ってもそもそも「その要素が含まれているかどうか」を確認することができない

228:デフォルトの名無しさん
19/02/18 01:29:08.54 SjVwlNp1.net
JavaScript「呼んだ?」
1 == [1] //=> true

229:デフォルトの名無しさん
19/02/18 01:36:54.94 Tb62uZUC.net
>>218
これがあるから===しか使いたくない

230:デフォルトの名無しさん
19/02/18 08:12:09.71 7eiXgP3l.net
int[] a = { 1, 2, 3, 4, 5, 6 };
int sum = 0;
for(int i = 0; i < a.Length; ++i)
{
sum += a[i];
}
int b = sum / a.Length;
Console.WriteLine(b);
とあるんですがsum/a.Lengthは何割何で計算してるんですか?
配列の計算原理が本ではいまいち分からないので教えて下さい;

231:デフォルトの名無しさん
19/02/18 08:41:37.17 tx9DPBTs.net
>>220
for文による繰り返し処理を勉強してください

232:デフォルトの名無しさん
19/02/18 08:45:07.32 JBcAVpfH.net
>>220
そいつぁC#で合計÷要素数=平均じゃないの?
int同士で端数が切り捨てられる事を聞きたいの?

233:デフォルトの名無しさん
19/02/18 09:46:20.06 qsq8EO4j.net
Ruby 2.6 では、
ary = [1, 2, 3]
ary.sum
#=> 合計は、6
平均値は、合計を要素数で割る。
mean = ary.sum / ary.length

234:デフォルトの名無しさん
19/02/18 10:44:29.19 1FoQC5sv.net
>>223
死ね

235:デフォルトの名無しさん
19/02/18 12:18:05.03 NoNskV/l.net
>>223
荒らし

236:デフォルトの名無しさん
19/02/18 12:38:24.20 qDhO0A3F.net
計算結果や変数内の値はprintで表示できる
そんなことが説明なされない本なんて売っぱらちゃいな

237:デフォルトの名無しさん
19/02/18 14:05:11.71 7eiXgP3l.net
>>221->>222
for文は理解できているのですが、a.Lengthこれが何の数値に化けるのか分からないです…
要素数というのはつまリ6になるということですか?

238:デフォルトの名無しさん
19/02/18 14:06:00.10 mU1u6kNH.net
>>227 そう
>>220 python だと、
a = [ 1, 2, 3, 4, 5, 6 ]
sum = 0
for i in range(len(a)):
sum += a[i]
b = sum / len(a)
print(b)
print('配列内の合計=',sum,'割る','配列長=',len(a),'答は',b)
#3.5
#配列内の合計= 21 割る 配列長= 6 答は 3.5
222.5万、税、都税

239:デフォルトの名無しさん
19/02/18 14:12:48.12 fpnGWm5B.net
>>227
何の数値に化けるのか分からなかったら、
print(a.Length)してみればいい。

240:デフォルトの名無しさん
19/02/18 14:40:05.59 oU/NFgq1.net
>>198
分けないとマルチプロセスで困るだろ

241:デフォルトの名無しさん
19/02/18 14:46:31.19 oU/NFgq1.net
pythonは
a=[1,2,3]
で a.len とか a.Length とか取れないのはきもいな

242:デフォルトの名無しさん
19/02/18 14:54:14.63 7eiXgP3l.net
>>228
完全に理解できました!
ありがとうございます(・ω・)ノ

243:デフォルトの名無しさん
19/02/18 15:01:26.05 Tb62uZUC.net
>>231
a.__len__()

244:デフォルトの名無しさん
19/02/18 16:14:05.74 mU1u6kNH.net
>>148 >>149
どちらも同じみたいだね。
Python チュートリアル 第 3 版
URLリンク(books.lifewithpython.com)
Python の作者である Guido van Rossum 氏が書いた Python の入門書です。
尚、この書籍と同じチュートリアルに対する日本語訳がウェブ上でも公開されています(ウェブ上の翻訳と本書の翻訳は異なります)。 好みに応じて好きな方を選ぶとよいでしょう。
Python チュートリアル ― Python 3 ドキュメント
URLリンク(docs.python.jp)
個人的には、他の言語でプログラミング経験のある方が Python を始めるときにはよいのですが、プログラミング自体が初めての方にとっては本書は少し難しいのではないかと思います。
プログラミングが初めての方でこの本を読みたい方には、一度中身をチェックしてみてから購入するかどうかを決めることをおすすめします。
Guido 氏が書いたチュートリアルということで、プロの Pythonista なら誰しも一度は読んだことのある一冊でしょう。

245:デフォルトの名無しさん
19/02/18 16:25:56.30 OhspBoh0.net
Pythonのええとこは何でも特殊メソッドに委譲するとこやね
マジで何でもできる、おもちゃに最適

246:デフォルトの名無しさん
19/02/18 16:41:09.54 3yKPK3LO.net
>>234
Python の理解度確認をするために「Python チュートリアル 第3版」を読んだ
Python 本
オライリーから出版
URLリンク(kakakakakku.hatenablog.com)
オライリーから出版されている「Python チュートリアル 第3版」を読んだ.
読者対象として「Python 入門者のための」と書いてあるけど,そこそこ難しい内容もあり,中級者でも楽しめる内容になっている.
本書の最初に載っている「訳者まえがき」にも,理解度によって読む方法を変えて良いと書いてあった.
今回本書を読んでみて,勉強になった部分を整理しておこうと思う.
なお,本書は「Python 3.5.1」をサポートしている.さらに付録もあり,特に「付録E」と「付録F」は面白かった.

247:デフォルトの名無しさん
19/02/18 17:20:44.97 3yKPK3LO.net
>>236
URLリンク(kakakakakku.hatenablog.com)
模擬試験(無料)
認定スクール「DIVE INTO EXAM」から無料で提供されている模擬試験がある.まだ β であると記載されているけど,計80問あり,試験同様に計40問出題される.
模擬試験の受験回数に制限はなく,何度も何度も繰り返し受験できる.少なくとも1度は受験しておくと良いと思う.

248:デフォルトの名無しさん
19/02/18 19:22:55.51 W9szlA1+.net
>>227
.lengthとかcountってのは大概その集団の要素の数だと認識しておけば良い。定石のようなものだ。

249:デフォルトの名無しさん
19/02/18 19:52:34.04 mU1u6kNH.net
しかし、最初python って簡単じゃんと思ったけど、なんか混乱する。
() [] {}
add append extend del discard とか、
最初理解できないのは、何がオブジェクトなのか?

250:デフォルトの名無しさん
19/02/18 20:45:21.68 9P3l8zH4.net
このスレで連投されてる内容の答えはすべて公式ドキュメントに書いてある
たとえば>>228なら
for i in a: sum += i
でもいいし(というかそれが普通)
だいたい総和はsum(a)で、平均値はstatistic.mean(a)で一発で出る

251:デフォルトの名無しさん
19/02/18 20:45:59.87 9P3l8zH4.net
statistics.mean(a)
のミス

252:デフォルトの名無しさん
19/02/18 22:13:42.80 EFaetCEP.net
クロージャーとかデコレータとか覚えれへんわ

253:デフォルトの名無しさん
19/02/18 22:34:44.93 F+QeAL77.net
>>189
>>184のまともな文書には、print( [i for i in [1,2,3] ] ) が許される理由が書いてあると思うんだが。
許される理由が分かれば許されない理由もなんとなくわかるだろ。
先ずまともな文法書でprintを読め
と言っても、低脳すぎてまともな文書を読むのに四苦八苦だから尋ねているのかもしれないが
(まぁ、まともな文書、許されるって素敵な言葉を使うぐらい超優秀な脳だから、この可能性は低いか)
超簡単にまとめると
class AA :
pass
class AAA :
def __str__(self): # 僕を文字列で表す要求来た時、こう紹介します
return "AAA"
print(AAA()) #許される
print(AA()) #許されない

254:デフォルトの名無しさん
19/02/19 00:12:01.46 1Fqwt8so.net
>>239
del使うシーンは滅多にないな
全く無い訳じゃないけど

255:デフォルトの名無しさん
19/02/19 00:13:06.83 1Fqwt8so.net
>>242
それは今君に必要が無いということだ
必要があって使ってれば勝手に覚わる

256:デフォルトの名無しさん
19/02/19 00:17:12.07 x5yxwCIo.net
Python3エンジニア認定基礎試験って模擬試験と同じ問題出るわけないわよね

257:デフォルトの名無しさん
19/02/19 00:46:31.87 x5yxwCIo.net
てか模擬試験の解答見にくいなあ

258:デフォルトの名無しさん
19/02/19 00:49:41.46 c2xVE4LG.net
試験のためにpython勉強してんのか?
あほやん

259:デフォルトの名無しさん
19/02/19 01:56:10.83 UOhpPyGI.net
やんやん

260:デフォルトの名無しさん
19/02/19 02:50:12.73 fH1K3jOo.net
>>243
何食ってたら初心者スレでこんなに上から目線で不快な文が書けるんだろう

261:デフォルトの名無しさん
19/02/19 03:19:28.34 UOhpPyGI.net
自分より弱い者に憎しみを抱くはずがないでしょう 抱くのは哀れみ

262:デフォルトの名無しさん
19/02/19 06:23:45.14 QXXeWHDh.net
>>250
うんこ

263:デフォルトの名無しさん
19/02/19 06:26:20.60 hAizIKGb.net
>>243
>>print(AA()) #許されない
許されるだろ

264:デフォルトの名無しさん
19/02/19 07:06:55.77 TL2+PvJX.net
オブジェクトって変数+関数みたいなものと理解してる
だけど、pythonでlen()みたいな関数が存在してるのはなんでや
obj.len()みたいに書く方がオブジェクト指向ぽいのに(´・ω・`)

265:デフォルトの名無しさん
19/02/19 09:35:20.19 snU9lsNN.net
後付けだから

266:デフォルトの名無しさん
19/02/19 10:11:21.93 SwtNBaDU.net
>>254
obj.__len__()

267:デフォルトの名無しさん
19/02/19 10:37:48.43 ClxsX7KR.net
うーんダンダーキモいな
objが__dict__属性もってるなら
obj.len = obj.__len__
obj.len()
はい

268:デフォルトの名無しさん
19/02/19 11:03:15.41 D8b3v+Fo.net
>>254
必ずしも同じ名前のメソッドで要素数を取得できるとは限らないから
Javaの配列の.lengthとコレクションの.size()なんかいい例

269:デフォルトの名無しさん
19/02/19 17:25:15.51 xAiOFAtZ.net
>>154 pdf のキャラクターコードが違っていて、コピペでは、エラーが起きるから、やはり大きなサンプルはソースが提供されていることが必要だ


270:な。 2番目の大学の先生の【Python3入門】はサンプルソースも付いている。 math ライブラリーの関数一覧くらいは載せてても良いとは思ったが、贅沢は言えない。入門には必要ないと言えばそうかも知れないが。



271:デフォルトの名無しさん
19/02/19 17:51:31.05 t+ZZI+Uh.net
vs codeでpythonを実行するときのコマンドはなんですか?
ターミナルから実行するのが普通なんでしょうか?

272:デフォルトの名無しさん
19/02/19 17:57:52.58 xAiOFAtZ.net
>>260 あまり知らないけど、こんなあたりで良いの?
URLリンク(docs.microsoft.com)

273:デフォルトの名無しさん
19/02/19 18:03:26.75 t+ZZI+Uh.net
あと、vsコードの補完は、pythonエクステンションに含まれているのですか?

274:デフォルトの名無しさん
19/02/19 23:26:35.02 xISlfG0u.net
print() は、わかりやすいが、BASICみたいな ? と言うような自由な記法があっても良いのではと思ってたけど、関数がオブジェクトだから結構自由にできるんだね。
p = print
p(111)
#111 使い過ぎるとわけわかめになりそうだが。

275:デフォルトの名無しさん
19/02/19 23:36:01.89 x5gWYD95.net
>>262
vs codeとvsコードの表記の揺らぎを直すところからやってみよう!

276:デフォルトの名無しさん
19/02/20 00:19:50.88 1HzmSa/X.net
>>258
俺、Pythonを実質2週間ぐらいやっているんだけど
やり始めてすぐに>>254のような感を覚えた。
それなりの理由があるってことか(ちなみにJavaはさっぱり分からん)。
他の言語同様に、変数、メソッド名をアンダースコア(シングル、ダブルアンダー)で始めるとかで何かしらの意味を
与えていると分かっているんだが、目下あんまり調べてないからな。
プライベート変数がダンダーって見てすぐにわかるから良いと言えばその通りなんだがな

277:デフォルトの名無しさん
19/02/20 00:27:21.38 zgA3z1dT.net
pythonの関数名や変数名のアンダースコアは文法上は何の意味もなかったはず
そもそもpythonにはプライベートやパブリックの概念が存在しない
単に人間が見分けやすいようについけてるだけ

278:デフォルトの名無しさん
19/02/20 00:41:35.75 1HzmSa/X.net
>pythonにはプライベートやパブリックの概念が存在しない
これ知った時は俺驚いたよ。
privete、public等のキーワード付けて明確にしないのは、
Python教の哲学なんかと。

279:デフォルトの名無しさん
19/02/20 00:43:10.98 PF1BNO4k.net
こんな記法を見たんだが、どう言う文法からこんなのが出てくるの? 3項演算子みたいなものだが。
短絡評価if と言うらしいけど。
i = 8
print(i%2 and'odd!!!!'or'>EVEN<')
#>EVEN<
短絡評価というのは先に成立した(True)方だけを見て後ろは見ないと言う方式みたいだね。
また、if が無くても評価式だけで成立するんだね。
print(0 and 2 or 5)
#5
print(1 and 2 or 5)
#2
しかし
print(1 and 2 )
#2
はなんとなく違和感がある。
そう言えば、3項演算子があってなんで2項演算子みたいなものが無いんだろうと思ってた。
3項演算子なら
2 if 評価式 else 5 が有って
2 if 評価式 が無いのが不思議だった。
評価式 and 値(0以外) がそれに当たるのか。
しかし、 1 and 2 の時どうして後ろの値が有効になるのかな?

280:デフォルトの名無しさん
19/02/20 00:50:35.52 hdPlDSUg.net
True and 2

281:デフォルトの名無しさん
19/02/20 00:53:32.30 PF1BNO4k.net
短絡評価自体は理解しやすいんだが。
URLリンク(qiita.com)
True and b
のとき何故、bの値を取るのか? 先後に成立した評価の値を取る?何故 True では無くbの値を取るのか?

282:デフォルトの名無しさん
19/02/20 00:56:34.30 gK0qp


283:GCl.net



284:デフォルトの名無しさん
19/02/20 01:30:40.30 DM4qe6j0.net
FAQ は見つけられなかったけど、標準ライブラリの仕様書にしっかり書いてあった。
FAQの項目を教えてもらうとありがたい。
真理値判定
ブール演算 --- and, or, not
x or y x が偽なら y, そうでなければ x (1)
x and y x が偽なら x, そうでなければ y (2)
not x x が偽なら True, そうでなければ False (3)
さっと読み流した時は、and or は単なる論理的な演算だけだと思ってたから、値を取ると言う考えがまるでなかった。
注釈:
(1) この演算子は短絡評価されます。つまり第一引数が偽のときにのみ、第二引数が評価されます。
(2) この演算子は短絡評価されます。つまり第一引数が真のときにのみ、第二引数が評価されます。
(3) not は非ブール演算子よりも優先度が低いので、 not a == b は not (a == b) と解釈され、 a == not b は構文エラーです。

285:デフォルトの名無しさん
19/02/20 01:36:22.16 R9Rgujjr.net
>>266
一応メソッドやメンバの名前の先頭に__(アンダースコア2つ)を付けると擬似的にプライベートになる(外から参照するとエラー)
実際は __名前 を _クラス名__名前 に置き換えるだけだが

286:デフォルトの名無しさん
19/02/20 03:12:26.13 B2QSVSiS.net
>>260-261
Code Runner という拡張機能で、右クリックメニューから、指定したソースコードの範囲を実行できる。
Ctrl+Shift+P で、Run Code でも同じ
>>254
Python は、Ruby よりも不自然。
Ruby, JavaScript みたいにメソッドチェーンしにくい
Ruby では、メソッド名を、シンボル: で渡せるから、処理の内容が明確
[1, 2, 3].inject( :+ ) #=> 6

287:デフォルトの名無しさん
19/02/20 03:15:50.94 P3DZex+Y.net
python資格試験はクラス捨ててもOK?

288:デフォルトの名無しさん
19/02/20 03:18:46.77 W95E7B6+.net
>>272
URLリンク(docs.python.org)
昔の名残。条件式はif文ではないのでelseを省略することは出来ない(値を返さねばならない

289:デフォルトの名無しさん
19/02/20 05:23:08.72 wMUHduDL.net
>>261
c#の場合はターミナルからdotnet runで実行だと思いますが、pythonの場合はそういったものはないのでしょうか

290:デフォルトの名無しさん
19/02/20 07:12:57.02 SpCnH/g7.net
>>274
死ね

291:デフォルトの名無しさん
19/02/20 08:33:48.20 PF1BNO4k.net
>>277 コンソールから直接ソースを叩けば動くよ。
hoge.py
hoge
或いは
python hoge.py
要は、exeファイルと同じ動作をする。だから、exploreから .pyをクリックしても起動する。
(ただ、コンソールが見えないとあまり解らないだろうけど。)
python は、コンパイルという作業がいらないから、
dotnet run の様にコンパイルの指定が必要ない。

292:デフォルトの名無しさん
19/02/20 09:06:26.28 DM4qe6j0.net
>>277 だから普通にDOSコマンドの実行と同じprocess.start で良いのでは?
勿論、python が、インストールされている必要はあるが。
URLリンク(ni4muraano.hatenablog.com)
<略>
p.StartInfo.Arguments = @"/c python hello.py";
p.Start();
pythonがインストールされていない環境にpython のソースコードだけを渡しても動かないから、その場合は考慮の必要はありそうね。
PythonスクリプトをWindows環境で動くexeファイルにしよう
URLリンク(www.sejuku.net)

293:デフォルトの名無しさん
19/02/20 10:30:31.71 wMUHduDL.net
>>279
>>280
たんにpythonと入れてからパスを指定すればいいだけなんですね
あと、右クリからもターミナルで実行ができました

294:デフォルトの名無しさん
19/02/20 10:51:51.66 BBElsiq0.net
>>260
俺、いつもエディタ(geditやGeanyやVS code使ってる)の横にターミナル開いといて、
ソース保存→ターミナルで $ python3 xxx.py→エラー→エディタで編集・保存→ターミナルで再実行(↑&Enter)→ エディタで編集・保存....
てな感じでやってるんだけど、エディタから実行したほうがやっぱり便利なんですか?

295:デフォルトの名無しさん
19/02/20 11:03:36.79 spTGKHkg.net
>>282
煽りとかじゃなくて逆に聞きたいんだけど、
vs code使ってターミナルで実行する意味(メリット)がわからないんだけど。
vs codeのブレークポイントとか利用しないって事?

296:デフォルトの名無しさん
19/02/20 13:38:56.65 gRk6WtzR.net
>>113
YouTubeで北神雄大を検索。

297:デフォルトの名無しさん
19/02/20 18:06:26.32 uB83dASb.net
python書くエディタとIDEで人気なのは、pycharmとvscodeかね

298:デフォルトの名無しさん
19/02/20 18:08:20.36 ICk0Y2AW.net
Atom...(小声)

299:デフォルトの名無しさん
19/02/20 18:13:40.84 NaL8/JA7.net
Spyder...(小声)

300:瘋癲の錬金術師
19/02/20 18:17:46.89 gK0qpGCl.net
>>287
あれええな、組み込みターミナルがqtconsoleでインラインプロットもJupyter同様にできる
VSCodeでなんとか使えないかと試したけど無理だった
VSCodeが弱いFortranも書くので環境統一のためnvim+qtconsoleにした

301:デフォルトの名無しさん
19/02/20 18:17:47.79 3A0CDvTh.net
Eclipse にインストールしようとして、エラーが出てからほったらかし(超小声)
そもそも、venv anaconda eclipse が強調して動いてくれるんかよ。

302:デフォルトの名無しさん
19/02/20 19:52:42.43 v7iPz90J.net
>>266-267
意味はある
継承してみれば判る

303:デフォルトの名無しさん
19/02/20 19:54:36.31 v7iPz90J.net
>>270
and は二つ目の条件も成立するかどうか評価するからな

304:デフォルトの名無しさん
19/02/20 19:56:21.10 v7iPz90J.net
>>280
sejukuはクソだから貼らなくていいよ

305:デフォルトの名無しさん
19/02/20 20:30:34.29 0GDprFxB.net
そういや侍エンジニアの騒動は鎮火したのか?

306:デフォルトの名無しさん
19/02/20 20:34:51.41 jOZlK4md.net
pythonでのWEBスクレイピングって、過去の更新情報も見れたりするのかな?

307:デフォルトの名無しさん
19/02/20 21:49:50.49 aaH1DDBC.net
何を浚うか指定できないのか?

308:デフォルトの名無しさん
19/02/20 21:55:37.90 EgtCXVwu.net
>>294
Pythonやスクレイピングは魔法でも超能力でもありません

309:デフォルトの名無しさん
19/02/21 02:54:29.18 kxn9bd4Y.net
The camel has two humps (working title)
Saeed Dehnadi and Richard Bornat School of Computing, Middlesex University, UK
February 22, 2006

310:デフォルトの名無しさん
19/02/21 05:22:18.25 kxn9bd4Y.net
>>295
URLリンク(i.imgur.com)

311:デフォルトの名無しさん
19/02/21 07:26:25.64 8rp9UCEX.net
初心者スレの内容に合うか分からないけど質問させて
最近は作るときに凝集度とか結合度、クラスの責務とかも気になるようになったんだけどじゃあ具体的にどう作るべきかが分からない
何をどう勉強しようか て状態なんだけどデザインパターンを学べばいいのかな?これも大切だけど自分が学びたい内容とは少しずれてるようで…

312:デフォルトの名無しさん
19/02/21 08:55:18.20 Daclfccm.net
>>283
すみません。見え張ってました。VS Codeは数回使ってみだけで、基本的に元通りgedit使っちゃってます。

313:デフォルトの名無しさん
19/02/21 14:34:58.79 y1fIYiTV.net
NIC(ネットワークインターフェイス)が複数あるPCで、
requestsを実行する際にNICを指定してGETなりPOSTなりをしたいのですが、
方法が分かりません、requests自体にその手のパラメータはなさそうですが…。
どなたかお教えください。

314:デフォルトの名無しさん
19/02/21 15:19:27.90 YDJO8R6Z.net
層が全く違うぞ
どういう意味だ?

315:デフォルトの名無しさん
19/02/21 15:38:13.68 1URmNQhh.net
>>301 NICを指定することはできないんじゃないの? そもそも何をしたいの?
複数のNICが同じLANに出ていけばどちらを経由しても行きつく先は同じだけど。
もしこんなことをやりたいのか?
NIC-1 >> LANのIP-1にだけ繋がってる
NIC-2 >> LANのIP-2にだけ繋がってる
それでIP-2につなぎたいからNIC-2を使いたいとか?
だったらNICなんか気にせずに接続しに行けばつながる方にしかつながらない。

316:デフォルトの名無しさん
19/02/21 15:44:20.15 y1fIYiTV.net
>>302
分かりにくかったらすいません…
例として、PCにそれぞれ別のグローバルアドレスを持ったNICが二つあって(AとB)、
あるWebサーバーへの通信(=最終的にやりたいのはrequestsのGET/POST)はNIC-A経由で通信する、
また、別のWebサーバーへはNIC-B経由で通信する、ということをしたいのです。
かえって分かりにくいでしょうか…?

317:デフォルトの名無しさん
19/02/21 15:46:43.29 y1fIYiTV.net
>>303
説明が足りずすいません、上に書いたとおり、NICはそれぞれ別のグローバルIPを持っていて
且つ、通信先はインターネット上のWebサーバーです。
接続先によってNIC(というかソースIP)を使い分けて通信したいのです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch