くだすれPython(超初心者用) その44【Ruby禁止】

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2019/07/24(水) 21:02:48.30ID:d1IM+Tl+
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1555397061/
2019/09/30(月) 14:46:22.11ID:QmRxkeUJ
>>810 スマホにPython を入れておけばいつでもどこでもテスト出来るよ。
2019/09/30(月) 14:51:08.40ID:G0UT7Zf7
プログラムの処理速度以外はまんぞくするはず
2019/09/30(月) 14:57:42.21ID:gJLA2fQe
そんな方法、あるの?
2019/09/30(月) 18:26:12.64ID:AVoWdmHr
class test():
test="test"

と書くのと

class test():
def __init__(self)
sef.test="test"
って書くのって何か違うんですか?
2019/09/30(月) 18:28:39.11ID:AVoWdmHr
>>81
修正です。すみません。

class test():
  test="test"

と書くのと

class test():
  def __init__(self)
    self.test="test"
って書くのって何か違うんですか?
2019/09/30(月) 19:25:39.41ID:YLWn5tK4
下の方がカッコイイ
2019/09/30(月) 19:44:23.31ID:H9c5jpU6
オブジェクト指向という儀式に則ってるかどうか・かたちを満たしているかどうか
形式的な儀礼を正しく行ってるかどうか
本当に上っ面の表層の書式を満たしているかどうか

なので宗教的意味合いが違う
2019/09/30(月) 19:51:20.25ID:EiKVd4t/
仏教の各宗派における
般若心経の位置づけ
的な
サムシング? >>818
820デフォルトの名無しさん
垢版 |
2019/09/30(月) 19:59:37.07ID:z+NmkubH
>>816
下は明示的にインスタンス変数として扱ってる
上はクラス変数(static変数?)の書き方
結局はどちらもself.testで参照出来るが
2019/09/30(月) 20:09:56.61ID:Ti3sAkAF
print(test.test)
で違いがわかる
2019/09/30(月) 20:15:29.67ID:F26iCkwj
クラス変数をインスタンス変数の違いってことになるけど、実験としてはこの辺がわかりやすかった。
https://qiita.com/kxphotographer/items/60588b7c747094eba9f1
2019/09/30(月) 20:37:13.35ID:AVoWdmHr
>>817-821
みなさんありがとうございます
>>822
これは分かりやすいですね、ありがとうございます
824デフォルトの名無しさん
垢版 |
2019/09/30(月) 20:39:48.54ID:2GpeSLJA
>>816
いや、上と下じゃ大分違うでしょ
2019/10/01(火) 00:10:05.83ID:La8/yWl0
>>814 iOS なら、pythonista 、 Carnets 、 Juno 他いくつか有る。
Android なら、Pydroid3 かな。
2019/10/01(火) 00:37:33.97ID:9dj+WXRx
公式サイトもたまには読もう

https://docs.python.org/ja/3/tutorial/classes.html#class-and-instance-variables

一般的に、インスタンス変数はそれぞれのインスタンスについて固有のデータのためのもので、クラス変数はそのクラスのすべてのインスタンスによって共有される属性やメソッドのためのものです
2019/10/01(火) 06:29:23.99ID:CGhZJwfl
>>825
サンクスです
あんどろなのでPydroid3つかってみます
2019/10/01(火) 09:28:46.62ID:chCwy9wU
へぇ、インスタンス変数内でグローバル使って共有してたけど全部クラス変数でよさそう
829デフォルトの名無しさん
垢版 |
2019/10/01(火) 12:02:22.72ID:GOaFt4Mg
>>816
上はclass定義された時点でtestが生成されるけど、下は__init__関数実行時に生成される
830デフォルトの名無しさん
垢版 |
2019/10/01(火) 14:20:45.57ID:us4xbp81
クラス変数は最初から最後まで変更予定ない定数だと使い易いけど
途中で変化するなら変化後にインスタンス化したオブジェクトと前のオブジェクトで
状態違うから気を付けて使え(使うなとは言ってない)
831デフォルトの名無しさん
垢版 |
2019/10/01(火) 20:28:36.47ID:k/2kjmdF
質問失礼します。
python初心者でスクレイピングをrequestsとBeautifulSoupで勉強中なんですが
find_allで同じサイトページの同タグでも取得できるものと取得できないものがあります。
何が原因なんでしょうか?
832デフォルトの名無しさん
垢版 |
2019/10/01(火) 21:58:07.06ID:Ueonb/Q5
js
2019/10/01(火) 22:38:06.74ID:9HRGRt02
例えば、Ruby のNokogiri でも、静的なHTML を想定しているから、
Ajax で非同期にデータを取得するページでは、
要素が作られるまでは、その要素を取得できない

例えば、5ch では、空のHTMLを送って来てから、
Ajaxでコンテンツを取得するから、その後じゃないと、内容を取得できない

10秒ぐらいスリープするとか、
Selenium WebDriver でブラウザを、人間のように操作してから、
要素が作られてから、その要素を取得する
834デフォルトの名無しさん
垢版 |
2019/10/01(火) 23:45:42.30ID:k/2kjmdF
>>833
そんなことがあるんですね。とても分かりやすいご説明で助かりました。
ありがとうございます。
2019/10/01(火) 23:45:48.90ID:xUPobipD
IPアドレスはネットワーク部とホスト部から成り立っているようです
192.168.1.5
というIPアドレスがあった場合、192.168.1までがネットワーク部で
最後の5がホスト部なようです。

この例だと、ネットワーク部は、".(ドット)"で区切った上3つですが
環境によっては、ネットワーク部が上1つだったり、上2つだったりするようです。
IPアドレスの文字列から、ホスト部だけ適切に抽出して255など別の文字列に置き換えてくれるライブラリなどないですか?
2019/10/02(水) 00:43:08.80ID:PD8930QW
IPアドレスだけ貰ってもネットワーク部とホスト部の区別はつかないからそんなライブラリ存在しないよ
サブネットマスクなりCIDERのビット数なりは別に必要
2019/10/02(水) 06:37:03.05ID:HLD/jecn
>>836
IPアドレスを2進数に直した時の上位ビットが11なのか01なのか111なのか〜みたいな感じで
上位のビットでネットワーク部が決まってるって聞いたんですが違うんですか?
2019/10/02(水) 08:01:02.85ID:YpMEiTCH
ネットワークは上位何ビット使うか指定する。
通常上位3バイトをネットワーク部とするなら、
192.168.1.0/24 の様な指定になる。 下位1バイトのみ可変となる。
192.168.1.0〜192.168.1.255
2019/10/02(水) 08:33:57.27ID:R3JG1dEe
たとえば/24(サブネットマスクが24)の場合サブネットマスクは2進数で
11111111.11111111.11111111.00000000
IPが192.168.1.0の場合IPは2進数で
11000000.10101000.00000001.00000000

2進のサブネットマスクが0の箇所に対応する2進のIPがホスト部(この例だと最後の.よりうしろ)
逆にそれ以外の1の箇所に対応するのがネット部

まあつまりサブネットマスクが分からないとネット部とホスト部は切り離せませんよと
分かってるならサブネットを反転させてIPと論理積取ればおわり
2019/10/02(水) 08:48:37.75ID:0wLI0kd5
>>837
ネットワークアドレスは、ルールとしてクラスA、クラスB、クラスCを割り当てていて、IPアドレスが分かれば、どのクラスなのかは検討がつく
クラスごとにネットワーク部のビット数はきまっているので、IPアドレスが分かればネットワーク部のビット数が決まると勘違いするかも知れない

運用上、普通は割り当てられたクラスを分割して使うので、例えばクラスB(すなわち16ビット)を割り当てられた会社だったとしても、そこから社内ネットワークでクラスC(24ビット)を切り売りしたり、さらにはもっと細かく(例えば26ビット)設定したりする

そうするとIPアドレスからクラスは分かるが、実際にパソコン等の機器が使っているネットワーク部は異なることになるため、ネットマスクが別途必要になる
841デフォルトの名無しさん
垢版 |
2019/10/02(水) 12:55:54.01ID:55+aQRnY
>>835
君はサブネットマスクの概念を理解していない
スレチなのでそっちを調べてからまたおいで
2019/10/02(水) 13:40:00.17ID:HLD/jecn
>>840
理解しました、あざいます
2019/10/02(水) 14:21:51.20ID:acSGbBtt
>>842
いえいえ
2019/10/03(木) 10:24:54.95ID:4GYQfqj5
docstring は、どっちがオススメ?

Google タイプとnumpy タイプ。
Google タイプの方が簡潔になりそうだけど。

Pythonのdocstring(ドキュメンテーション文字列)の書き方
https://note.nkmk.me/python-docstring/
2019/10/03(木) 10:43:50.47ID:2k415C0d
>>844
参加するプロジェクトの規約次第
846デフォルトの名無しさん
垢版 |
2019/10/03(木) 10:57:22.26ID:KXJlaU6i
reST か GAS式
https://tonari-it.com/gas-documentation-comment/
2019/10/03(木) 12:17:40.89ID:9BVuc7cd
s = "ab-cd-ef-gh"
pick = re.search(r"(ab-)(.*)(-)",s)

pick[2]が"cd-ef"になるのはどうしてですか? どうして"cd"ではないの?
848デフォルトの名無しさん
垢版 |
2019/10/03(木) 12:19:40.74ID:KXJlaU6i
デフォは最大一致を探す
2019/10/03(木) 12:30:02.80ID:9BVuc7cd
あー「(-)1個あればいいんだからひとつもらうで」 ってことか。なるほろ
2019/10/03(木) 12:52:57.33ID:Ni5XrvWW
>>840
今ってクラスB持ってる会社ってあるんかね
うちは持ってたけど何年も前に返納されたw
2019/10/03(木) 14:04:58.69ID:DwNgQhCD
>>850
うち持ってる
誰でも知ってる大企業
2019/10/03(木) 14:22:25.65ID:4GYQfqj5
殆どは何年か前に自主的に変換したんだよね。
853デフォルトの名無しさん
垢版 |
2019/10/03(木) 17:54:47.90ID:sW73yJNw
プログラミングなんてやりたくねーよー
なんの役に立つんだかさっぱりわかんねーよー
2019/10/03(木) 17:55:56.25ID:wbZFe5vy
誰に強要されてるんだw
2019/10/03(木) 18:16:18.64ID:Vvozhugd
>>853 プログラムってゲームと同じだろ。 考えるな楽しむんだ。
好きなことをやれ。 嫌いなことをやる必要はない。
プログラムは無限の窓が開いている。
2019/10/03(木) 18:31:17.68ID:QW/GUpCE
直感を信じろ、自分を信じろ、好きを貫け、人を褒めろ、人の粗探ししてる暇があったら自分で何かやれ
2019/10/03(木) 22:01:40.39ID:dkX5HVkN
>>853
業務支援に役立つぞ
2019/10/03(木) 22:59:46.57ID:ArP3YJIm
matplotlib便利すぎワロタ
2019/10/03(木) 23:32:38.06ID:aXeTL6Ha
>>853
言語の選択権あるだけマシだぞ
2019/10/03(木) 23:53:39.72ID:4GYQfqj5
>>853 学生さん? ゲームでも作ってみたら?
ロボットでも良いけど。
小学生用の教材も沢山出始めてる
2019/10/04(金) 01:19:18.96ID:z4d9bLlT
l =[1,2,3,4,5,6,7,8,9]
のようなリストから
l2=[2,6,7,9]
みたいに、飛び飛びの要素だけスライスした新しいリストが作りたいんですが、どういうやり方がスマートでしょうか
本番のリストは要素数250で抜き出したい要素数は15個です
2019/10/04(金) 01:24:01.62ID:z4d9bLlT
p=[2,6,7,9]
l2=[j for i,j in enumerate(l1) if i in p]
というのを考えたのですが、なんかバカっぽい気がします
2019/10/04(金) 01:26:46.69ID:sQ4qD72o
法則性がないものにアルゴリズムを求めるな
864デフォルトの名無しさん
垢版 |
2019/10/04(金) 01:34:08.01ID:5l5U7bxj
>>862
そのコードだとl2=[3,7,8]にならない?
t2に書かれたindexでlを抜き出してくるだからね
それでいいなら、[l[i] for i in p]じゃないのかな。
そうじゃなくて、共通要素を抜き出したいんだったら大体そのコードみたいな感じになる
2019/10/04(金) 01:47:34.01ID:z4d9bLlT
あ、失礼
l2 = [i for i in l1 if i in p]ですね
なんかスライスにピックアップリストぶち込むみたいなやり方があるのかなーと思って質問しました
そうかー、こういう感じでいいのか…
2019/10/04(金) 02:03:08.39ID:kLahYNxr
あるリストから、別のリストにある要素だけ取り出したいということならsetを使う

list(set(l) & set(l2))

質問がとにかく分かりにくい
2019/10/04(金) 03:40:57.71ID:z4d9bLlT
実際にはurlみたいな文字列が250個入ったリストから、特定の15個だけ取り出すという作業をします
で要素の位置はわかってるんだけど、文字列はわからない という状況です

だからやっぱenumerate使うやつで合ってました
下手に数字で例えたからわけわからんことになってしまった。申し訳ない
868デフォルトの名無しさん
垢版 |
2019/10/04(金) 08:06:39.16ID:yLLPeGBi
>>862
numpy

import numpy as np
l = np .array(l)
p = np.array(p)
l2 = l[p]
869デフォルトの名無しさん
垢版 |
2019/10/04(金) 09:58:06.30ID:5l5U7bxj
>>867
それはenumerateいらないよ。
[l[i] for i in p]で十分なはず。
870デフォルトの名無しさん
垢版 |
2019/10/04(金) 10:32:03.56ID:H4yAqlPM
文字列が250個入ったリストの作り方を教えてください
2019/10/04(金) 12:13:19.50ID:iTXt/277
250回appendするだけだろ
何を教えるんだよ
2019/10/04(金) 12:14:47.94ID:agtdeb40
['aaa'] * 250とかないの???
2019/10/04(金) 12:18:44.97ID:aEect36P
なぜ実行してみない。
2019/10/04(金) 12:28:52.23ID:BEYT4ZYw
>>872

for st in range(1,251):
 print('URL_'+str(st))

# URL_1
# URL_2

# URL_250
2019/10/04(金) 14:02:36.12ID:5NfK7twU
["str" for _ in range(250)]
876デフォルトの名無しさん
垢版 |
2019/10/04(金) 15:36:48.48ID:fSTucKVx
ラクできるモジュールといえば?
877デフォルトの名無しさん
垢版 |
2019/10/04(金) 16:38:18.25ID:FW+Y/3wm
シートに手とか足とかつくツイスターゲームってあるけど
あれの3D版みたいなのでロボットアームで強制的に動かされるのを
pythonでコントロールしてみたい
878デフォルトの名無しさん
垢版 |
2019/10/04(金) 16:44:21.71ID:FW+Y/3wm
>>861
>>> import pandas
>>> s = pandas.Series([1,2,3,4,5,6,7,8,9])
>>> s[[2,6,7,9]]
2 3.0
6 7.0
7 8.0
9 NaN
2019/10/04(金) 16:44:24.14ID:G8fXI2dQ
>>877
お前、変態が過ぎるぞ^^;
880デフォルトの名無しさん
垢版 |
2019/10/04(金) 16:52:56.14ID:FW+Y/3wm
>>868
>>> np.array([1,2,3,4,5,6,7,8,9])[np.array([2,6,7,9])]
IndexError: index 9 is out of bounds for axis 0 with size 9
>>> np.array([1,2,3,4,5,6,7,8,9])[np.array([2,6,7,0])]
array([3, 7, 8, 1])

numpy で out of bounds 回避する方法知りたいな
881デフォルトの名無しさん
垢版 |
2019/10/04(金) 17:05:52.01ID:7eAmLvDA
>>880
配列のインデックスは0から始まる
1つずれている
2019/10/04(金) 17:13:26.64ID:eAirWXm1
こんにちは
PCで作業するときに使用するアプリケーションを
まとめて起動するスクリプトを目的別に作りたいのですが
単純に起動だけすれば良いときはsubprocess.Popen('notepad')であってますか?
subprocess.run('notepad')でも起動するのですがシェルでコードを実行すると
プロセスの終了待ちみたいになってしまったので…
883デフォルトの名無しさん
垢版 |
2019/10/04(金) 18:55:53.45ID:YCAxcrIK
subprocess.Popen(['notepad'])

OSとか環境によっては
shell=とか
他のオプションも必要
2019/10/05(土) 17:40:17.42ID:8eaxbCO5
プログラミング言語の最初には大抵print("Hello Work")なんてのが書いてますが、
PythonでAIのことを(ちょこっと)学ぼうとしたときの
Hello Worldに相当する作るものってありますか?
2019/10/05(土) 17:55:45.22ID:rp30F/e7
>>883
ありがとうございます
配列で渡すこともできるんですね
いやあ昨日質問した後アイコンを変えた方が見分けやすいと思って
exe化を試みたら見事にハマってしまいやっとさっき成功しました…
2019/10/05(土) 17:58:24.92ID:RY9rLLlz
>>884
Word2Vecを使って
どこだかの出してる新聞を解析した結果だったと思うファイルを教師にして
英文(聖書とかが無難じゃね?)を解析

2バイト文字は・・・がんばれ。
2019/10/05(土) 19:10:14.03ID:i7l1Y0em
>>884
ニューラルネットで論理演算
CNNでMNIST
ランダムフォレストでタイタニック生存率
MCMCで最尤推定
2019/10/05(土) 20:03:27.74ID:N/JZn/pV
ハローワークには突っ込まない
2019/10/05(土) 22:42:42.98ID:e+zF3nvf
>>884
画像系ならmnist一択
それ以外は専門外だから知らぬ
2019/10/06(日) 03:07:49.70ID:xEniyG0f
入門書はまずiris取り上げることが多い気がする
簡単すぎてつまらんデータだけど、hello worldレベルっていうならそうだろうなって感じ
2019/10/06(日) 18:28:05.79ID:vga0yYdh
irisをSVMとかで適当に分類してAI呼ばわりするのはもの凄ぇ違和感あるんですケド
MLの入門ってなら分かりますケドネ
2019/10/06(日) 19:16:37.05ID:qpx1VOF3
俺、入りたての頃、研究室の教授に
AIって難しそうなんですが、MLとどうちがうんですかー?って質問したら、
AI=MLって理解でいいぞ!逆も真で、ML=AIだ!って答えが返ってきたぞ。。。

>>891
AIはMLより一段以上うえの何かだと思ってるんだろうけど
その差はどこらへんがどのくらい?
具象化よろしく。
2019/10/06(日) 19:28:52.75ID:Poa32tbw
https://pbs.twimg.com/media/DzFdrL4XQAAKsnr.jpg
2019/10/06(日) 19:41:32.53ID:qpx1VOF3
>>893
イデーとマテリアみたいな関係ってことか
2019/10/06(日) 19:53:00.89ID:vga0yYdh
>>892
うーむ、似て非なるものでアルと考えるネ
MLが学術的な理論であるとするとAIは遊戯的な道楽ネ
2019/10/06(日) 20:00:03.33ID:qpx1VOF3
>>895
つまり895的には、
ML→樹木
AI→果実(ただしウマいとは限らぬ)
みたいな感じなのか?
2019/10/06(日) 21:03:39.11ID:xEniyG0f
自分はAIを実現するための技術の一つがMLだと思ってる

>>894
これは笑うところだよ
2019/10/06(日) 21:16:19.61ID:qpx1VOF3
>>897
(´ε`;)ウーン… 純粋情報工学系じゃないからか、
わらいのセンスがいまいちよーわからんわー
899デフォルトの名無しさん
垢版 |
2019/10/06(日) 22:06:11.34ID:1GG5Tgde
ちょっと前までコンピュータ将棋の開発者はAIかと問われても違うと答えてたけど、今ではそれもAIの一種として捉えられてるからな
方法はともかく学習要素があればAIになるんじゃないの
学習要素ないのにAI謳ってるのもありそうだけど
2019/10/06(日) 22:06:45.19ID:vga0yYdh
>>896
いぐさくとりぃ
例示上手ねキミ才能あるヨ
2019/10/06(日) 22:13:50.54ID:vga0yYdh
>>899
この間唯のゲーム理論をAIだとドヤ顔で紹介してて草生え散らかしたネ
ヒトが知能と解釈し得るか否かをAIの境界線上としているのだろうカ
902デフォルトの名無しさん
垢版 |
2019/10/06(日) 22:21:23.38ID:+SSpDwaf
AIの定義なんぞないから言ったもん勝ちだろな
2019/10/06(日) 23:01:04.91ID:qpx1VOF3
>>900
%E6%88%91%E5%BE%88%E8%8D%A3%E5%B9%B8%E5%BE%97%E5%88%B0%E6%82%A8%E7%9A%84%E7%A7%B0%E8%B5%9E

・・・文字化けするかな?
↓ならどうかな

\u6211\u5f88\u8363\u5e78\u5f97\u5230\u60a8\u7684\u79f0\u8d5e
2019/10/06(日) 23:08:56.33ID:qpx1VOF3
>>899
でぃーぷらーにんぐは人工知能的に第三世代の代表格らしいな
MLの各種手法は第二世代

>>902
統一見解はまだないの?
なんか
うすもんやりとしたものは かたまりつつあるんでないの?
寒天ゼリーくらいの強度かもしらんが。
2019/10/07(月) 19:14:20.38ID:CZdmuB5H
test変数に、exec等を使って文字列を追加しようと思った場合どうしたら良いですか?
test変数に宣言自体はexecの外で行いたいです

以下のようにすると、空白の文字列がprintされます。

test = ""
exec('test += "test"')
print(test)
2019/10/07(月) 21:38:31.21ID:aWHtMKCu
exec(f'test+={test}')
2019/10/07(月) 22:44:00.71ID:CZdmuB5H
>>906
ありがとうございます
2019/10/07(月) 23:19:37.27ID:WyRvg0cv
>>898
AIブームへの皮肉だよ

程度の低いものまでAIだともてはやされているので、研究者はAIって言葉を積極的に使おうとしなくなっている
pythonでまともに実装されてるものはまともな機械学習だろうけど、パワポで甘い言葉で囁いてくるようなのは紛いもんのAIなんじゃないかなって言うネタです
2019/10/08(火) 17:10:51.26ID:uaD7+k1O
学習機能がないものはAI と呼ぶべきではないだろう。
学習と、実行が分かれていても全体ではAI だから何の問題もない。

そういう意味では、電気釜が学習データーを利用して飯を炊いててもAIを使ってると言っても良いかもしれないが。
2019/10/08(火) 21:15:04.64ID:Y05mWx0F
この板だけがエンティティ不可なのか
いつのまにか5ch全体でできなくなったのか・・・ >>903

Wo hen rongxing dedao nin de chengzan! >>900
2019/10/08(火) 21:16:29.78ID:Y05mWx0F
>>908
解説ありがとう

>>909
>学習と、実行が分かれていても全体ではAI → 電気釜もAI搭載
なるほど!
そういえば、そうだな > AI家電は学習結果なデータだけ使ってる
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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