[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/02 02:25 / Filesize : 266 KB / Number-of Response : 1024
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2019/07/24(水) 21:02:48.30 ID:d1IM+Tl+.net]
当スレに★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公式サイト◇ www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
mevius.5ch.net/test/read.cgi/tech/1555397061/

802 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 01:32:31.94 ID:mOHVtsFt.net]
ここpythonスレだよね?
setup.pyを使わないのは、作ったプログラムをexe化して配布するつもりなのかな

803 名前:デフォルトの名無しさん [2019/09/28(土) 02:12:17.25 ID:UkXE2lCY.net]
わしもアナコンダやめてpipにしよかな

804 名前:デフォルトの名無しさん [2019/09/28(土) 02:17:18.25 ID:UkXE2lCY.net]
みなさんPythonで何してるの
Python学びたい!だけで
目標目的がないです

805 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 02:43:18.00 ID:e/uSi5Jq.net]
それでいいと思う
仕事のためとか人生のためとか考えてる時点で続かない

806 名前:デフォルトの名無しさん [2019/09/28(土) 02:49:48.25 ID:C0qDQBnO.net]
>>789
なにか自動化できそうな繰り返し作業を日々してるとかないの?
基本的には仕事でつまらない繰り返し作業を省力化するためにPythonでちょっとコードを書いて
実行して使ってる。
あと、インタラクティブシェルを電卓に使ってる。幅12px 高さ28pxの比を維持したまま
1.3倍したいときに、[x * 1.3 for x in [12, 28]]とかして。

807 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 05:36:43.46 ID:43cw6CnV.net]
エロ画像収集
お気に入りサイトの画像をごっそりだ

808 名前:デフォルトの名無しさん [2019/09/28(土) 07:35:39.19 ID:jdV2k3by.net]
>>789
業務支援スクリプト

809 名前:デフォルトの名無しさん [2019/09/28(土) 09:46:45.07 ID:H0kYzg7c.net]
>>791
オナニー

810 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 10:52:27.68 ID:bPCl/sVb.net]
♪Bear up Python,Never say die!



811 名前:デフォルトの名無しさん [2019/09/28(土) 11:26:35.90 ID:UkXE2lCY.net]
みんなすごそうな事してますな
エロ画像収集から始めよかな

812 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 12:08:15.20 ID:od8auTQE.net]
>>787
781嫁
ちょっとは現行ログ遡ろうぜ

813 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 13:01:35.87 ID:H/wNdYNI.net]
>>789
言語の選択権を謳歌してる
世の中には自分で使う言語を選択できない残念な人もいるらしいからpython使えるだけでラッキーなのだぞ

814 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 13:25:29.73 ID:gAUpVCuM.net]
(下みてちゃだめです)

815 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 13:35:40.96 ID:od8auTQE.net]
(上バッカみててもくびがいたくなって不幸になれます)

816 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 13:59:36.67 ID:3iouDx+X.net]
お願いします。
https://uploader.xzy.pw/upload/20190928135502_69376d6c6d.png
以下のコードに何を付け足せば、図の真ん中の結果が得られるようになりますでしょうか。

現状以下のコードを実行して得られるのは、右端の状態です。
ほしい結果は、真ん中(青塗)のとおり、0からグラフの線までが塗りつぶされた状態です。

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('test.csv')
plt.fill(df)
plt.plot(df)
plt.savefig("file.png")

plt.fill()という関数を使うと塗りつぶせるということがわかりました。
しかし、()内の引数?をいろいろ変えてやってみたのですが、期待する結果を得られません。
どのように指定すればよいかお教えください。よろしくお願いいたします。

CSVファイルの中身。
data
1
2
3
4
5
6
7
8
9
50

817 名前:800 mailto:sage [2019/09/28(土) 16:01:22.95 ID:3iouDx+X.net]
すみません質問を変えます。取り下げます。
CSVに複数列があり、それぞれをxyに指定してあげるとうまくいきました。

cat test.csv
num,Data
10/01,10
10/2,13
10/3,15
10/4,3
10/5,4
10/6,12
10/7,10
10/8,11
10/9,9
10/10,1

df = pd.read_csv('test.csv')
print(df)
x = (df['num'])
y = (df['Data'])
plt.fill_between(x,y)
plt.plot(x,y)
plt.savefig("file.png")

擦れ汚しすみませんでした。

818 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 16:05:36.57 ID:od8auTQE.net]
>>802
>質問を変えます。取り下げます。
かえるんだか自己解決取り下げなんだかどっちなんだかw

>擦れ
うまくいったのはさいごまでよめばわかったが
もちょいもちつけw

819 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 22:17:22.58 ID:zsQiY793.net]
list = [0.01 , aaa, -1 , 5 , 1.2 , たすけて]

こんな感じで、floatとintと文字列が入り混じったリストがあった場合に
floatとintだけ抽出したい(数値かどうか判別したい)のですが
どうしたら良いですか?

ググると、intを判別する方法しかすぐ出てこなかったので・・・

820 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 22:22:55.53 ID:gAUpVCuM.net]
そういえば
floatp, intp のような型検定無いね
perl なら正規表現が、とくにcpanモジュールで検定できるようになっている



821 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 22:32:41.12 ID:KPWrubL3.net]
>>804
typeでいいんじゃないのん?

822 名前:デフォルトの名無しさん [2019/09/28(土) 22:39:08.80 ID:kvFYQRb9.net]
>>804
>list = [0.01 , aaa, -1 , 5 , 1.2 , たすけて]
のうちどれが文字列なの?
あと、組み込み関数名を変数に使わないで

リストの構成要素がfloatとintと文字列だとわかってるなら
type('string') is str
で文字列は除外できる

823 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 22:51:04.37 ID:xpEWhmvm.net]
ループぐるぐる型判定したいなら
pick = [ i for i in LIST if type(i) in (int,float)]で

824 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 23:06:35.70 ID:zsQiY793.net]
>>806-808
ありがとうございます
こう書いたほうが良かったですね、すみません。
mixList=[0.01 , "aaa", -1 , 5 , 1.2 , "たすけて"]

listは組み込み関数名だったんですね
気をつけます

825 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 00:07:54.17 ID:bEy1wMJX.net]
>>804 そんな文法は許されていない。 と言うのは野暮なのかな。

826 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 12:44:56.24 ID:19ayi+z8.net]
x,y,zが1〜100にこの順番で入ってるという条件で
if (1 <= x < y < z <= 100):
この条件式は意図の通り作用しますか?

827 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 13:02:54.21 ID:OZw/zYbl.net]
試してみたら良かろう

828 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 14:46:22.11 ID:QmRxkeUJ.net]
>>811 スマホにPython を入れておけばいつでもどこでもテスト出来るよ。

829 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 14:51:08.40 ID:G0UT7Zf7.net]
プログラムの処理速度以外はまんぞくするはず

830 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 14:57:42.21 ID:gJLA2fQe.net]
そんな方法、あるの?



831 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 18:26:12.64 ID:AVoWdmHr.net]
class test():
test="test"

と書くのと

class test():
def __init__(self)
sef.test="test"
って書くのって何か違うんですか?

832 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 18:28:39.11 ID:AVoWdmHr.net]
>>81
修正です。すみません。

class test():
  test="test"

と書くのと

class test():
  def __init__(self)
    self.test="test"
って書くのって何か違うんですか?

833 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 19:25:39.41 ID:YLWn5tK4.net]
下の方がカッコイイ

834 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 19:44:23.31 ID:H9c5jpU6.net]
オブジェクト指向という儀式に則ってるかどうか・かたちを満たしているかどうか
形式的な儀礼を正しく行ってるかどうか
本当に上っ面の表層の書式を満たしているかどうか

なので宗教的意味合いが違う

835 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 19:51:20.25 ID:EiKVd4t/.net]
仏教の各宗派における
般若心経の位置づけ
的な
サムシング? >>819

836 名前:デフォルトの名無しさん [2019/09/30(月) 19:59:37.07 ID:z+NmkubH.net]
>>817
下は明示的にインスタンス変数として扱ってる
上はクラス変数(static変数?)の書き方
結局はどちらもself.testで参照出来るが

837 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 20:09:56.61 ID:Ti3sAkAF.net]
print(test.test)
で違いがわかる

838 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 20:15:29.67 ID:F26iCkwj.net]
クラス変数をインスタンス変数の違いってことになるけど、実験としてはこの辺がわかりやすかった。
https://qiita.com/kxphotographer/items/60588b7c747094eba9f1

839 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 20:37:13.35 ID:AVoWdmHr.net]
>>818-822
みなさんありがとうございます
>>823
これは分かりやすいですね、ありがとうございます

840 名前:デフォルトの名無しさん [2019/09/30(月) 20:39:48.54 ID:2GpeSLJA.net]
>>817
いや、上と下じゃ大分違うでしょ



841 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 00:10:05.83 ID:La8/yWl0.net]
>>815 iOS なら、pythonista 、 Carnets 、 Juno 他いくつか有る。
Android なら、Pydroid3 かな。

842 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 00:37:33.97 ID:9dj+WXRx.net]
公式サイトもたまには読もう

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

一般的に、インスタンス変数はそれぞれのインスタンスについて固有のデータのためのもので、クラス変数はそのクラスのすべてのインスタンスによって共有される属性やメソッドのためのものです

843 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 06:29:23.99 ID:CGhZJwfl.net]
>>826
サンクスです
あんどろなのでPydroid3つかってみます

844 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 09:28:46.62 ID:chCwy9wU.net]
へぇ、インスタンス変数内でグローバル使って共有してたけど全部クラス変数でよさそう

845 名前:デフォルトの名無しさん [2019/10/01(火) 12:02:22.72 ID:GOaFt4Mg.net]
>>817
上はclass定義された時点でtestが生成されるけど、下は__init__関数実行時に生成される

846 名前:デフォルトの名無しさん [2019/10/01(火) 14:20:45.57 ID:us4xbp81.net]
クラス変数は最初から最後まで変更予定ない定数だと使い易いけど
途中で変化するなら変化後にインスタンス化したオブジェクトと前のオブジェクトで
状態違うから気を付けて使え(使うなとは言ってない)

847 名前:デフォルトの名無しさん [2019/10/01(火) 20:28:36.47 ID:k/2kjmdF.net]
質問失礼します。
python初心者でスクレイピングをrequestsとBeautifulSoupで勉強中なんですが
find_allで同じサイトページの同タグでも取得できるものと取得できないものがあります。
何が原因なんでしょうか?

848 名前:デフォルトの名無しさん [2019/10/01(火) 21:58:07.06 ID:Ueonb/Q5.net]
js

849 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 22:38:06.74 ID:9HRGRt02.net]
例えば、Ruby のNokogiri でも、静的なHTML を想定しているから、
Ajax で非同期にデータを取得するページでは、
要素が作られるまでは、その要素を取得できない

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

10秒ぐらいスリープするとか、
Selenium WebDriver でブラウザを、人間のように操作してから、
要素が作られてから、その要素を取得する

850 名前:デフォルトの名無しさん [2019/10/01(火) 23:45:42.30 ID:k/2kjmdF.net]
>>834
そんなことがあるんですね。とても分かりやすいご説明で助かりました。
ありがとうございます。



851 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 23:45:48.90 ID:xUPobipD.net]
IPアドレスはネットワーク部とホスト部から成り立っているようです
192.168.1.5
というIPアドレスがあった場合、192.168.1までがネットワーク部で
最後の5がホスト部なようです。

この例だと、ネットワーク部は、".(ドット)"で区切った上3つですが
環境によっては、ネットワーク部が上1つだったり、上2つだったりするようです。
IPアドレスの文字列から、ホスト部だけ適切に抽出して255など別の文字列に置き換えてくれるライブラリなどないですか?

852 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 00:43:08.80 ID:PD8930QW.net]
IPアドレスだけ貰ってもネットワーク部とホスト部の区別はつかないからそんなライブラリ存在しないよ
サブネットマスクなりCID

853 名前:ERのビット数なりは別に必要 []
[ここ壊れてます]

854 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 06:37:03.05 ID:HLD/jecn.net]
>>837
IPアドレスを2進数に直した時の上位ビットが11なのか01なのか111なのか〜みたいな感じで
上位のビットでネットワーク部が決まってるって聞いたんですが違うんですか?

855 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 08:01:02.85 ID:YpMEiTCH.net]
ネットワークは上位何ビット使うか指定する。
通常上位3バイトをネットワーク部とするなら、
192.168.1.0/24 の様な指定になる。 下位1バイトのみ可変となる。
192.168.1.0〜192.168.1.255

856 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 08:33:57.27 ID:R3JG1dEe.net]
たとえば/24(サブネットマスクが24)の場合サブネットマスクは2進数で
11111111.11111111.11111111.00000000
IPが192.168.1.0の場合IPは2進数で
11000000.10101000.00000001.00000000

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

まあつまりサブネットマスクが分からないとネット部とホスト部は切り離せませんよと
分かってるならサブネットを反転させてIPと論理積取ればおわり

857 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 08:48:37.75 ID:0wLI0kd5.net]
>>838
ネットワークアドレスは、ルールとしてクラスA、クラスB、クラスCを割り当てていて、IPアドレスが分かれば、どのクラスなのかは検討がつく
クラスごとにネットワーク部のビット数はきまっているので、IPアドレスが分かればネットワーク部のビット数が決まると勘違いするかも知れない

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

そうするとIPアドレスからクラスは分かるが、実際にパソコン等の機器が使っているネットワーク部は異なることになるため、ネットマスクが別途必要になる

858 名前:デフォルトの名無しさん [2019/10/02(水) 12:55:54.01 ID:55+aQRnY.net]
>>836
君はサブネットマスクの概念を理解していない
スレチなのでそっちを調べてからまたおいで

859 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 13:40:00.17 ID:HLD/jecn.net]
>>841
理解しました、あざいます

860 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 14:21:51.20 ID:acSGbBtt.net]
>>843
いえいえ



861 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 10:24:54.95 ID:4GYQfqj5.net]
docstring は、どっちがオススメ?

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

Pythonのdocstring(ドキュメンテーション文字列)の書き方
https://note.nkmk.me/python-docstring/

862 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 10:43:50.47 ID:2k415C0d.net]
>>845
参加するプロジェクトの規約次第

863 名前:デフォルトの名無しさん [2019/10/03(木) 10:57:22.26 ID:KXJlaU6i.net]
reST か GAS式
https://tonari-it.com/gas-documentation-comment/

864 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 12:17:40.89 ID:9BVuc7cd.net]
s = "ab-cd-ef-gh"
pick = re.search(r"(ab-)(.*)(-)",s)

pick[2]が"cd-ef"になるのはどうしてですか? どうして"cd"ではないの?

865 名前:デフォルトの名無しさん [2019/10/03(木) 12:19:40.74 ID:KXJlaU6i.net]
デフォは最大一致を探す

866 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 12:30:02.80 ID:9BVuc7cd.net]
あー「(-)1個あればいいんだからひとつもらうで」 ってことか。なるほろ

867 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 12:52:57.33 ID:Ni5XrvWW.net]
>>841
今ってクラスB持ってる会社ってあるんかね
うちは持ってたけど何年も前に返納されたw

868 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 14:04:58.69 ID:DwNgQhCD.net]
>>851
うち持ってる
誰でも知ってる大企業

869 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 14:22:25.65 ID:4GYQfqj5.net]
殆どは何年か前に自主的に変換したんだよね。

870 名前:デフォルトの名無しさん [2019/10/03(木) 17:54:47.90 ID:sW73yJNw.net]




871 名前:プログラミングなんてやりたくねーよー
なんの役に立つんだかさっぱりわかんねーよー
[]
[ここ壊れてます]

872 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 17:55:56.25 ID:wbZFe5vy.net]
誰に強要されてるんだw

873 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 18:16:18.64 ID:Vvozhugd.net]
>>854 プログラムってゲームと同じだろ。 考えるな楽しむんだ。
好きなことをやれ。 嫌いなことをやる必要はない。
プログラムは無限の窓が開いている。

874 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 18:31:17.68 ID:QW/GUpCE.net]
直感を信じろ、自分を信じろ、好きを貫け、人を褒めろ、人の粗探ししてる暇があったら自分で何かやれ

875 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 22:01:40.39 ID:dkX5HVkN.net]
>>854
業務支援に役立つぞ

876 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 22:59:46.57 ID:ArP3YJIm.net]
matplotlib便利すぎワロタ

877 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 23:32:38.06 ID:aXeTL6Ha.net]
>>854
言語の選択権あるだけマシだぞ

878 名前:デフォルトの名無しさん mailto:sage [2019/10/03(木) 23:53:39.72 ID:4GYQfqj5.net]
>>854 学生さん? ゲームでも作ってみたら?
ロボットでも良いけど。
小学生用の教材も沢山出始めてる

879 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 01:19:18.96 ID:z4d9bLlT.net]
l =[1,2,3,4,5,6,7,8,9]
のようなリストから
l2=[2,6,7,9]
みたいに、飛び飛びの要素だけスライスした新しいリストが作りたいんですが、どういうやり方がスマートでしょうか
本番のリストは要素数250で抜き出したい要素数は15個です

880 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 01:24:01.62 ID:z4d9bLlT.net]
p=[2,6,7,9]
l2=[j for i,j in enumerate(l1) if i in p]
というのを考えたのですが、なんかバカっぽい気がします



881 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 01:26:46.69 ID:sQ4qD72o.net]
法則性がないものにアルゴリズムを求めるな

882 名前:デフォルトの名無しさん [2019/10/04(金) 01:34:08.01 ID:5l5U7bxj.net]
>>863
そのコードだとl2=[3,7,8]にならない?
t2に書かれたindexでlを抜き出してくるだからね
それでいいなら、[l[i] for i in p]じゃないのかな。
そうじゃなくて、共通要素を抜き出したいんだったら大体そのコードみたいな感じになる

883 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 01:47:34.01 ID:z4d9bLlT.net]
あ、失礼
l2 = [i for i in l1 if i in p]ですね
なんかスライスにピックアップリストぶち込むみたいなやり方があるのかなーと思って質問しました
そうかー、こういう感じでいいのか…

884 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 02:03:08.39 ID:kLahYNxr.net]
あるリストから、別のリストにある要素だけ取り出したいということならsetを使う

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

質問がとにかく分かりにくい

885 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 03:40:57.71 ID:z4d9bLlT.net]
実際にはurlみたいな文字列が250個入ったリストから、特定の15個だけ取り出すという作業をします
で要素の位置はわかってるんだけど、文字列はわからない という状況です

だからやっぱenumerate使うやつで合ってました
下手に数字で例えたからわけわからんことになってしまった。申し訳ない

886 名前:デフォルトの名無しさん [2019/10/04(金) 08:06:39.16 ID:yLLPeGBi.net]
>>863
numpy

import numpy as np
l = np .array(l)
p = np.array(p)
l2 = l[p]

887 名前:デフォルトの名無しさん [2019/10/04(金) 09:58:06.30 ID:5l5U7bxj.net]
>>868
それはenumerateいらないよ。
[l[i] for i in p]で十分なはず。

888 名前:デフォルトの名無しさん [2019/10/04(金) 10:32:03.56 ID:H4yAqlPM.net]
文字列が250個入ったリストの作り方を教えてください

889 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:13:19.50 ID:iTXt/277.net]
250回appendするだけだろ
何を教えるんだよ

890 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:14:47.94 ID:agtdeb40.net]
['aaa'] * 250とかないの???



891 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:18:44.97 ID:aEect36P.net]
なぜ実行してみない。

892 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 12:28:52.23 ID:BEYT4ZYw.net]
>>873

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

# URL_1
# URL_2

# URL_250

893 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 14:02:36.12 ID:5NfK7twU.net]
["str" for _ in range(250)]

894 名前:デフォルトの名無しさん [2019/10/04(金) 15:36:48.48 ID:fSTucKVx.net]
ラクできるモジュールといえば?

895 名前:デフォルトの名無しさん [2019/10/04(金) 16:38:18.25 ID:FW+Y/3wm.net]
シートに手とか足とかつくツイスターゲームってあるけど
あれの3D版みたいなのでロボットアームで強制的に動かされるのを
pythonでコントロールしてみたい

896 名前:デフォルトの名無しさん [2019/10/04(金) 16:44:21.71 ID:FW+Y/3wm.net]
>>862
>>> 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

897 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 16:44:24.14 ID:G8fXI2dQ.net]
>>878
お前、変態が過ぎるぞ^^;

898 名前:デフォルトの名無しさん [2019/10/04(金) 16:52:56.14 ID:FW+Y/3wm.net]
>>869
>>> 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 回避する方法知りたいな

899 名前:デフォルトの名無しさん [2019/10/04(金) 17:05:52.01 ID:7eAmLvDA.net]
>>881
配列のインデックスは0から始まる
1つずれている

900 名前:デフォルトの名無しさん mailto:sage [2019/10/04(金) 17:13:26.64 ID:eAirWXm1.net]
こんにちは
PCで作業するときに使用するアプリケーションを
まとめて起動するスクリプトを目的別に作りたいのですが
単純に起動だけすれば良いときはsubprocess.Popen('notepad')であってますか?
subprocess.run('notepad')でも起動するのですがシェルでコードを実行すると
プロセスの終了待ちみたいになってしまったので…



901 名前:デフォルトの名無しさん [2019/10/04(金) 18:55:53.45 ID:YCAxcrIK.net]
subprocess.Popen(['notepad'])

OSとか環境によっては
shell=とか
他のオプションも必要

902 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 17:40:17.42 ID:8eaxbCO5.net]
プログラミング言語の最初には大抵print("Hello Work")なんてのが書いてますが、
PythonでAIのことを(ちょこっと)学ぼうとしたときの
Hello Worldに相当する作るものってありますか?

903 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 17:55:45.22 ID:rp30F/e7.net]
>>884
ありがとうございます
配列で渡すこともできるんですね
いやあ昨日質問した後アイコンを変えた方が見分けやすいと思って
exe化を試みたら見事にハマってしまいやっとさっき成功しました…

904 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 17:58:24.92 ID:RY9rLLlz.net]
>>885
Word2Vecを使って
どこだかの出してる新聞を解析した結果だったと思うファイルを教師にして
英文(聖書とかが無難じゃね?)を解析

2バイト文字は・・・がんばれ。

905 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 19:10:14.03 ID:i7l1Y0em.net]
>>885
ニューラルネットで論理演算
CNNでMNIST
ランダムフォレストでタイタニック生存率
MCMCで最尤推定

906 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 20:03:27.74 ID:N/JZn/pV.net]
ハローワークには突っ込まない

907 名前:デフォルトの名無しさん mailto:sage [2019/10/05(土) 22:42:42.98 ID:e+zF3nvf.net]
>>885
画像系ならmnist一択
それ以外は専門外だから知らぬ

908 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 03:07:49.70 ID:xEniyG0f.net]
入門書はまずiris取り上げることが多い気がする
簡単すぎてつまらんデータだけど、hello worldレベルっていうならそうだろうなって感じ

909 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 18:28:05.79 ID:vga0yYdh.net]
irisをSVMとかで適当に分類してAI呼ばわりするのはもの凄ぇ違和感あるんですケド
MLの入門ってなら分かりますケドネ

910 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 19:16:37.05 ID:qpx1VOF3.net]
俺、入りたての頃、研究室の教授に
AIって難しそうなんですが、MLとどうちがうんですかー?って質問したら、
AI=MLって理解でいいぞ!逆も真で、ML=AIだ!って答えが返ってきたぞ。。。

>>892
AIはMLより一段以上うえの何かだと思ってるんだろうけど
その差はどこらへんがどのくらい?
具象化よろしく。



911 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 19:28:52.75 ID:Poa32tbw.net]
https://pbs.twimg.com/media/DzFdrL4XQAAKsnr.jpg

912 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 19:41:32.53 ID:qpx1VOF3.net]
>>894
イデーとマテリアみたいな関係ってことか

913 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 19:53:00.89 ID:vga0yYdh.net]
>>893
うーむ、似て非なるものでアルと考えるネ
MLが学術的な理論であるとするとAIは遊戯的な道楽ネ

914 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 20:00:03.33 ID:qpx1VOF3.net]
>>896
つまり895的には、
ML→樹木
AI→果実(ただしウマいとは限らぬ)
みたいな感じなのか?

915 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 21:03:39.11 ID:xEniyG0f.net]
自分はAIを実現するための技術の一つがMLだと思ってる

>>895
これは笑うところだよ

916 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 21:16:19.61 ID:qpx1VOF3.net]
>>898
(´ε`;)ウーン… 純粋情報工学系じゃないからか、
わらいのセンスがいまいちよーわからんわー

917 名前:デフォルトの名無しさん [2019/10/06(日) 22:06:11.34 ID:1GG5Tgde.net]
ちょっと前までコンピュータ将棋の開発者はAIかと問われても違うと答えてたけど、今ではそれもAIの一種として捉えられてるからな
方法はともかく学習要素があればAIになるんじゃないの
学習要素ないのにAI謳ってるのもありそうだけど

918 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 22:06:45.19 ID:vga0yYdh.net]
>>897
いぐさくとりぃ
例示上手ねキミ才能あるヨ

919 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 22:13:50.54 ID:vga0yYdh.net]
>>900
この間唯のゲーム理論をAIだとドヤ顔で紹介してて草生え散らかしたネ
ヒトが知能と解釈し得るか否かをAIの境界線上としているのだろうカ

920 名前:デフォルトの名無しさん [2019/10/06(日) 22:21:23.38 ID:+SSpDwaf.net]
AIの定義なんぞないから言ったもん勝ちだろな



921 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 23:01:04.91 ID:qpx1VOF3.net]
>>901
%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

922 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 23:08:56.33 ID:qpx1VOF3.net]
>>900
でぃーぷらーにんぐは人工知能的に第三世代の代表格らしいな
MLの各種手法は第二世代

>>903
統一見解はまだないの?
なんか
うすもんやりとしたものは かたまりつつあるんでないの?
寒天ゼリーくらいの強度かもしらんが。

923 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 19:14:20.38 ID:CZdmuB5H.net]
test変数に、exec等を使って文字列を追加しようと思った場合どうしたら良いですか?
test変数に宣言自体はexecの外で行いたいです

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

test = ""
exec('test += "test"')
print(test)

924 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 21:38:31.21 ID:aWHtMKCu.net]
exec(f'test+={test}')

925 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 22:44:00.71 ID:CZdmuB5H.net]
>>907
ありがとうございます

926 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 23:19:37.27 ID:WyRvg0cv.net]
>>899
AIブームへの皮肉だよ

程度の低いものまでAIだともてはやされているので、研究者はAIって言葉を積極的に使おうとしなくなっている
pythonでまともに実装されてるものはまともな機械学習だろうけど、パワポで甘い言葉で囁いてくるようなのは紛いもんのAIなんじゃないかなって言うネタです

927 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 17:10:51.26 ID:uaD7+k1O.net]
学習機能がないものはAI と呼ぶべきではないだろう。
学習と、実行が分かれていても全体ではAI だから何の問題もない。

そういう意味では、電気釜が学習データーを利用して飯を炊いててもAIを使ってると言っても良いかもしれないが。

928 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 21:15:04.64 ID:Y05mWx0F.net]
この板だけがエンティティ不可なのか
いつのまにか5ch全体でできなくなったのか・・・ >>904

Wo hen rongxing dedao nin de chengzan! >>901

929 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 21:16:29.78 ID:Y05mWx0F.net]
>>909
解説ありがとう

>>910
>学習と、実行が分かれていても全体ではAI → 電気釜もAI搭載
なるほど!
そういえば、そうだな > AI家電は学習結果なデータだけ使ってる

930 名前:デフォルトの名無しさん [2019/10/08(火) 23:28:58.44 ID:evevkQtI.net]
どうみてもアスペな家電です
ほんとうにありがとうございました



931 名前:デフォルトの名無しさん [2019/10/08(火) 23:33:19.89 ID:txbzJQbY.net]
アステカ神殿!?

932 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 23:40:25.80 ID:4CpPhkv4.net]
とたんに皇后しくなったなw

933 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 13:19:11.41 ID:vBNS6dZR.net]
複数のリストをそれぞれsetに変換したいときって、どうするのが一番シンプルですか?
lists=[lis1,lis2...]にmap(set(),lists)みたいなのができないかなと思ったのですがうまく行きません(set化されない)

934 名前:デフォルトの名無しさん [2019/10/09(水) 13:36:18.22 ID:sFmCi5mO.net]
map(set, lists)

935 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 13:40:39.44 ID:wmrCsqX1.net]
mapの第一引数で関数自体を要求されてるのに関数を実行した結果を渡しちゃだめよ

936 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 13:48:04.87 ID:e2ybTrrh.net]
おぉ?
funcの引数部分は書かないのか
これmapのfuncに引数はとれないということですか?

937 名前:デフォルトの名無しさん [2019/10/09(水) 14:05:42.28 ID:D6A8dkqU.net]
関数の戻り値ではなく関数そのものを渡すから
(関数もオブジェクト)

938 名前:デフォルトの名無しさん [2019/10/09(水) 14:09:08.84 ID:D6A8dkqU.net]
mapのfuncに引数をとりたければ「引数を埋めた関数を呼ぶ関数」を渡すことになる
f(x,y)があり、map(f(•,2), list)がほしければ、

from functools import partial
map(partial(f,y=2),list)

939 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 14:22:06.15 ID:e2ybTrrh.net]
なるほど…勉強になりました

940 名前:デフォルトの名無しさん [2019/10/09(水) 15:20:00.54 ID:gEtou4VA.net]
インポしなきゃいけないの?ラムダでなんとかならない?



941 名前:デフォルトの名無しさん [2019/10/09(水) 17:56:11.45 ID:D6A8dkqU.net]
map(lambda x:f(x,2),list)

942 名前:デフォルトの名無しさん [2019/10/09(水) 19:02:19.94 ID:fJHQLW8A.net]
setどこ行った

943 名前:デフォルトの名無しさん [2019/10/09(水) 20:24:52.94 ID:Rl3dhliI.net]
呼び出し方の話でしょ

944 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 20:54:23.73 ID:ZvOECUeE.net]
partialよりlambdaでカリー化のがわかりやすい気がする。

945 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 13:19:03.75 ID:A16fclQB.net]
df

946 名前:.loc[bool_mask,[col_1,col_2...]]=[[1,2,3..],[2,4,6..]]
複数選択複数代入がやりたいんですが、やっぱループするしかないでしょうか?
[]
[ここ壊れてます]

947 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:09:58.82 ID:3P56+Sdr.net]
普通にできた
https://ideone.com/2zlBrx

948 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:37:52.14 ID:A16fclQB.net]
おお…更新用リストの転地の問題でした
もうしわけない

949 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 13:59:00.08 ID:TumfHtO6.net]
rangeの返り値ってlist型とちゃうの?

950 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 14:17:34.91 ID:D2+OyZ4Y.net]
range()の帰り値はシーケンス型のrange型である
つまりrange()はrange型である



951 名前:デフォルトの名無しさん [2019/10/13(Sun) 14:24:28 ID:llG9wcVh.net]
>>931
python3ではそう
range型のジェネレータが返る
いちいちlistでメモリに展開するのが非効率だから

952 名前: mailto:sage [2019/10/13(Sun) 15:30:57 ID:TumfHtO6.net]
ジェネレータっぽいオブジェクトがかえってくるんすね
サンクス

953 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 17:10:11.96 ID:T+KUU83v.net]
python(a.py)から別のpython(b.py)を実行したんですが、どうもb.pyの処理が実行されていないようです
a.pyとb.pyは同一ディレクトリに置いています

a.py
----------
import subprocess #サブプロセス
python_file1 = 'b.py'
print("a")
result = subprocess.check_call(['python', python_file1])
print("c")
print(result)

b.py
----------
print("b")

a.py実行
-------
a
c
0

なぜb.pyの処理がされないのでしょうか?

954 名前: mailto:sage [2019/10/13(Sun) 17:21:11 ID:I8cQof7f.net]
正常に実行されたように見えるが

955 名前: mailto:sage [2019/10/13(Sun) 17:27:27 ID:D2+OyZ4Y.net]
我々の知るよしのない異空間にbが出力されている

956 名前: mailto:sage [2019/10/13(Sun) 17:37:40 ID:T+KUU83v.net]
ありがとうございます
サブルーチン(サブスレッド?)上で実行されているという事ですね

a
b
c
0

というのが期待している動作なのですが
メインルーチン上でやりたい場合には何を使えばいいのでしょうか…?

957 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 19:45:05.89 ID:9lWPklM4.net]
def b():を作ってメインルーチンで呼び出す

958 名前: mailto:sage [2019/10/13(Sun) 20:06:07 ID:QvtX88Gt.net]
>>938
やってみた
うちの環境では期待通りの出力が得られたんだけど何だろね
windows10 python3.5.2
windows10上のVMWareで動いてるcentos7 python3.6.8
wsl python3.6.8
cygwin python3.6..8
すべてOKだった

a
b
c
0

959 名前: mailto:sage [2019/10/13(Sun) 20:11:32 ID:TKS/8hxH.net]
>>940なにそれきもい

>>935
「パイプ」を使って吸ったり吐いたりするといいんでないかいの

960 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 21:08:33.73 ID:37E24O6c.net]
同じく期待通りに動いたぞ Fedora 30

$python3 -V
Python 3.7.4



961 名前:デフォルトの名無しさん [2019/10/13(日) 21:31:33.70 ID:oUSkq72n.net]
IDLEだと表示されないね
端末からIDLEを起動すると、b.py の出力が端末に出ているのが見える
https://i.imgur.com/g7xdagL.png

あと端末上で a.py を実行すると全部画面に出るけど、リダイレクトとかするとずれる
% ./a.py
a
b
c
0
%
% ./a.py | cat
b
a
c
0
%

962 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 21:49:00.46 ID:mUvVkZQa.net]
普通に関数にして呼び出したらよくね?
てか例だとサブプロセスにする意味が分からないんだけど
その順に処理したいなら関数呼ぶべきだろjk

963 名前: mailto:sage [2019/10/13(Sun) 21:54:47 ID:kaSZg9r2.net]
>>944
同じこと思ったw
関数にするまでもなく a.py を

print("a")
import b
print("c")

と書けばいいんじゃなかろうか

964 名前: mailto:sage [2019/10/13(Sun) 22:01:03 ID:2cfG7zlA.net]
なんか計り知れない思惑でもあるんちゃうか

965 名前: mailto:sage [2019/10/13(Sun) 22:13:04 ID:D2+OyZ4Y.net]
特に深い意味はなく最近知ったsubprocessを試してみたかっただけだろ

966 名前: []
[ここ壊れてます]

967 名前: mailto:sage [2019/10/13(Sun) 22:29:53 ID:T+KUU83v.net]
皆様ありがとうございます

>>945様の通りにしたら普通にいけました
用途的にもどう考えてもsubprocessでやるべきではなかったです
ありがとうございました

968 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 22:52:27.29 ID:QvtX88Gt.net]
>>943
print('a', flush=True)
にしたらリダイレクトしても期待通りの順番になった

969 名前:デフォルトの名無しさん [2019/10/14(Mon) 07:57:39 ID:mfuSBJ/S.net]
兄さん、catもバッファリングあるで。

970 名前: mailto:sage [2019/10/14(Mon) 12:19:48 ID:MWArLfdG.net]
最近のGNUのcatはバファリングしないみたいだよ
-uオプション(バファリングを無効にする)は残ってるけど無視される
macとかは知らん



971 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 00:14:25.01 ID:Bai05OKm.net]
VSCodeでpython書いてます
フォーマッタにautopep8を入れてます
関数宣言などの上に2行空白行を入れてくるのをやめさせたいのですが
何を設定すれば良いでしょうか

例として、
# say hello
def say_hello():
 print("hello.")
これをフォーマットすると
# say hello


def say_hello():
 print("hello.")
となってしまいます
宣言と、その上のコメント行との間には改行を挟みたくありません

972 名前:デフォルトの名無しさん [2019/10/15(Tue) 00:26:09 ID:Uk3+p6qz.net]
def say_hello():
 '''say hello'''
 print("hello.")

973 名前: mailto:sage [2019/10/15(Tue) 00:28:00 ID:6JoAHvL2.net]
>>952
関数に対するコメントはdefの下にdocstringで書く
まずはPEP8を一読して

974 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 01:00:53.51 ID:Bai05OKm.net]
>>953-954
ありがとうございます
ドキュメントストリング(トリプルクォート)の件はちらっと調べたりはしてました

後出してすみませんが、blender用のpyファイルをVSCodeで書いており
既存の公式アドオンファイルなどの中身を見ると
だいたいが951の通り、宣言文の上に行コメントが入っている感じなので
それに合わせたいのです(ならautopep8使うなよってツッコミはご遠慮ください)

例えばimport文の記述位置の修正(ファイルの先頭に持っていかれる)を無視する為に
--ignore=E402 を指定しています
このように特定コードを指定することで改行の件も無視できないかなと思ったのですが
autopep8 宣言前 改行 などでググっても思うように情報が出てきません

975 名前:デフォルトの名無しさん [2019/10/15(Tue) 01:07:21 ID:Uk3+p6qz.net]
blenderのサンプルのことは忘れろω
あれは糞だωωω

(blenderが糞とは言ってない)

976 名前: mailto:sage [2019/10/15(Tue) 01:17:19 ID:6JoAHvL2.net]
>>955
俺ならautopepをやめるw
uncrustifyでpep8用持ってきて自分好みの設定をした方が早そう

977 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 01:23:54.81 ID:NeqDSxDF.net]
flake8でチェックして、必要に応じて自分で修正してるわ
勝手に変更されるのが嫌なので

978 名前: mailto:sage [2019/10/15(Tue) 01:38:14 ID:72mqelru.net]
保存時フォーマット+手動フォーマット派だな
理由はこういう時こまるから
道具に遊ばれてるのほどばかばかしいこともない

979 名前: mailto:sage [2019/10/15(Tue) 11:35:47 ID:ntxaWRsX.net]
PEP8に従えないならpythonを辞めた方がいい
君には宗教は向いてない
もっと別の言語を探すべきだ

980 名前: mailto:sage [2019/10/15(Tue) 12:06:17 ID:YTs2ZIZB.net]
PEP8順守しないと
同じことするコードは
誰でも同じようなコードになり読みやすい(はず)
といううりにしているメリットが壊れる



981 名前:デフォルトの名無しさん [2019/10/15(Tue) 12:28:19 ID:/7eSP3bX.net]
「Pythonで書くと同じことするコードは誰でも同じようなコードになり読みやすい」
このカンバンは嘘だった!
特定のコーディングルールを守れば、という条件を付けるのであればどんな言語でも同じじゃんwww

982 名前: mailto:sage [2019/10/15(Tue) 12:33:26 ID:PCFM8zGG.net]


983 名前:bズは自殺してろ []
[ここ壊れてます]

984 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 12:45:38.61 ID:iZY+JTOL.net]
dストの位置でコードの読みやすさなんてノミのクソほどしか変わらんだろ甘えるな

985 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 12:57:41.28 ID:LXkkA+L3.net]
>>962 python のコーディング規約がPEP なんだからか守るべきだよ。

986 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 13:04:44.56 ID:LXkkA+L3.net]
3.8 がリリースされたな。

:=というオペレータが導入され、<変数> := <式>の形で変数への代入を式に埋め込むことができます。この表記をnamed expression(名前付き式)と呼ぶようです。



length = len(s)
if length > 3:
 print(length)
else:
 print('too short')

これは

これはこのように書けます。
if (length := len(s)) > 3:
 print(length)
else:
 print('too short')

余談 := はセイウチ演算子 walrus operator
と言うらしいな。両目と牙の形に似てるからだと

987 名前:デフォルトの名無しさん [2019/10/15(火) 14:24:13.16 ID:nuB7xRPW.net]
じゃあせめて :3= くらいやってくれないと。

988 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:43:12.22 ID:iJLx9DXs.net]
それじゃあエルビスにひげがついたようなもんだろ

989 名前: mailto:sage [2019/10/15(Tue) 15:08:50 ID:ntxaWRsX.net]
パスカル代入子でいいんじゃねえの

990 名前: mailto:sage [2019/10/15(Tue) 15:42:32 ID:4VeqxDxA.net]
>>967
バカボンのパパ演算子



991 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 15:45:01.35 ID:PY4hsy3Z.net]
:)

992 名前: mailto:sage [2019/10/15(Tue) 15:50:21 ID:7esu9lml.net]
execとevalの違いが良くわからないんですが、どっちが優秀なんですか?

993 名前: mailto:sage [2019/10/15(Tue) 15:58:02 ID:ntxaWRsX.net]
ttps://sicp.comp.nus.edu.sg/chapters/img_javascript/sicp.png
このオサンが持ってる通り

994 名前:デフォルトの名無しさん [2019/10/15(火) 16:02:48.63 ID:cAxXsgrc.net]
そんなにevalなよ
弱くなるぞ

995 名前:デフォルトの名無しさん [2019/10/15(Tue) 19:40:19 ID:UuW7b2Cm.net]
blender の python バージョン上がらんかな
ソースからビルドすれば好きなバージョンに出来るらしいが
まんどくせ

996 名前: mailto:sage [2019/10/15(Tue) 21:27:29 ID:Bai05OKm.net]
>>956-959
とりあえずignore設定で対処してしまいました

今後他にも煩わしい点が出てきて面倒になったらautopepは辞めて他の手段を探します
uncrustifyはメモっておきます
ありがとうございました

997 名前: mailto:sage [2019/10/15(Tue) 23:13:36 ID:h8wIShZn.net]
そこまでして間違ってる方のテンプレに合わせないと気が済まないとか病気だろ
なんとか障害ってやつ

998 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 23:57:18.52 ID:LXkkA+L3.net]
>>976 そこまでしてblender のコメント方式に合わせる必要性があるの?

Python の関数のコメントなら docstring を使うべきだろ。
help(関数名) でdocstring が出るし、Vscode でもサポートしてるし(autoDocstring)。

https://qiita.com/firedfly/items/00c34018581c6cec9b84

999 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 03:15:06.56 ID:Ia5ZcaaY.net]
他の言語ではスクリプトの上の部分にforなど使って処理を書いていました。
そして、下の方にサブルーチンを大量に作ってそこから適宜読み出していました。
このようにすると、上部を修正するだけでスクリプトが簡単に編集できるためです
Pythonだとサブルーチンを上部に書くとエラーが出ますが毎回ホイールで下に移動して書き直すのは不便ではないでしょうか?
慣れれば普通ですか?

また、Pythonではインデントに空白を使う人が多いようですが、
エディタの設定で改善されるかもしれませんが、うっかりDelやBackSpaceで消すとイ
ンデントがずれたりして嫌なのですが慣れますか?

1000 名前: mailto:sage [2019/10/16(Wed) 06:59:57 ID:r4KKfSye.net]
別にpythonに限らずネストの深さでインデント揃える癖ついてたから気にならなかったわ
可読性的にも癖つけた方がいんでない?むしろ今までどうしてたのか気になる



1001 名前:デフォルトの名無しさん [2019/10/16(水) 07:17:18.25 ID:n7nWPnDS.net]
python 3.8.0 で import win32clipboard を実行しても、以下のようなエラーが出る。
ImportError: DLL load failed while importing win32clipboard: 指定されたモジュールが見つかりません。

python 3.8系はしばらくインストールしないほうがいいカモ。

1002 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 08:59:50.72 ID:Mi1dGaVf.net]
>>979 > Pythonだとサブルーチンを上部に書くとエラーが出ますが

def で宣言する関数の事を言ってるんだよね? エラーなんて出ないけど。 関数呼び出しを先に書くとと言う話?

インデントについてはIDE で面倒みてくれるだろ。何を使ってる? 
下の方に関数呼び出しがあっても何ら不都合はないよ。

1003 名前: mailto:sage [2019/10/16(Wed) 10:15:15 ID:dCHq3Ix4.net]
>>979
WindowsならCtrl+F
MacならCommand+Fで
検索ウインドウが出るから
いちいちホイールコロコロしなくても
行きたいサブルーチン名さえわかってれば
一気に移動できる

>インデントに空白
どーしても宗教的理由とかでお嫌なら
タブで統一してもいい。
ただし、
どーしても長い行を分割して書かざるを得ない場合の
後半行のインデントにも
空白ではなく、タブを使うことになる。

1004 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:17:42.14 ID:dCHq3Ix4.net]
くだすれPython(超初心者用) その45【Ruby禁止】
mevius.5ch.net/test/read.cgi/tech/1571188632/

1005 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 10:27:55.66 ID:kX3OMluf.net]
いちいちスクロールして使ってるな〜
今ちゃんと動いてるから触りたくないけど関数だけ別ファイルに分けれるんだよね?

1006 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:28:50.95 ID:dCHq3Ix4.net]
>>985
>関数だけ別ファイルに分けれるんだよね?
Yes

1007 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 10:39:45.65 ID:pCAY8ipP.net]
関数へのジャンプだってIDEが面倒見てくれるだろ
ジャンプどころかその場に表示だってできる

1008 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:43:28.41 ID:dCHq3Ix4.net]
IDEが嫌いだったり、宗教上の理由で使えないだったり
PCのスペックが糞でうごかなかったり
するひとだって
いるんですよー!

1009 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 10:53:52.75 ID:pCAY8ipP.net]
IDEの導入ってそんなにハードル高いんか
そいつは知らなんだわ

1010 名前: mailto:sage [2019/10/16(Wed) 11:29:28 ID:1/rjcmpT.net]
IDEを使わないってどっちかと言うと宗教だろ。 プログラミングの効率がかなり違って来る。
どうしても複雑なIDEを使いたくなければ Sublime などのエディターでもかなりやってくれるけど。

そもそも今までプログラミングはどうしてたんだよ。 テキストエディタのみ?

IDEを使わないと、コード補完とかやってくれないから入力効率がかなり悪くなる。 ミスも多くなる。



1011 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 11:38:20.65 ID:RHZrzUKd.net]
え?ノミみたいな視野の見識してるね
IDEじゃないと補完できないだって
傑作すぎてジョークと区別がつかないわ
1990年くらいから書き込んでるんだろうかね

1012 名前:デフォルトの名無しさん [2019/10/16(水) 12:48:15.93 ID:dmmazo8P.net]
E.S.P.だが
上の方でサブルーチンがーとか言ってるVBerは
ソースの上からグローバルな場所にコード書き始めてるんだろ

hoge.py
--------
コード
コード
関数
関数
--------
どうみても馬鹿だが
どうしてもこんな書き方を望むなら

main関数とか作って
hoge.py
--------
def main():
 コード
 コード

関数
関数
main()
--------
って書いとけばいい

1013 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 12:54:49.05 ID:1/rjcmpT.net]
>>991 IDE以外のなにができるって? 例えば?

IDE例えば Jupytor Notebook の例
1)
import numpy as np
np.su で subtruct とsum が選択できる?

np.sum() でこんなの出る? できなくても構わないが
Signature:
np.sum(
['a', 'axis=None', 'dtype=None', 'out=None', 'keepdims=<no value>', 'initial=<no value>'],

2)
pr でprint選択できる?

print() でこんなの出る? できなくても構わないが
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:

1014 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 14:36:40.14 ID:bcBxjAM2.net]
エディタでもIDEでも関数を別ファイルに書いて
二つのウインドウで表示しながらプログラミングすれば
いいんじゃないの? 太古の昔からみんなそうやっているけど。
もちろん三つ以上のウインドウを開けてもかまわない。

1015 名前:980 [2019/10/16(水) 15:22:00.21 ID:6vD3SXWz.net]
C:\Windows\System32にdllをコピーして暫定対応できるようです。
以下issueの既知の不具合かも。
https://github.com/mhammond/pywin32/issues/1406

1016 名前:デフォルトの名無しさん [2019/10/16(水) 15:36:59.61 ID:3Ceb6FWi.net]
>>993
IDEじゃないJupyter Notebookでもそのぐらい出来るぞ、と思ってスクリーンショットを撮ってたところだったんだが、
Jupyter NotebookはIDEでこういうことが出来るという主張かな。
でも、Jupyter NotebookはあんまりIDEって言わなくないか?

1017 名前: mailto:age [2019/10/16(Wed) 16:54:17 ID:dCHq3Ix4.net]
>>989
HDDの空き容量の時点でね もうね

>>990
>今までプログラミングはどうしてたんだよ。 テキストエディタのみ?
Yes!(゚Д゚)

1018 名前: mailto:sage [2019/10/16(Wed) 17:06:12 ID:kX3OMluf.net]
関数探すの面倒でメモ帳に保存してそっちで編集してコピペでVSCodeに貼ってたけどちゃんとした使い方調べた方がいいな

1019 名前: mailto:sage [2019/10/16(Wed) 17:13:58 ID:lWzU93N+.net]
vim, emacs だとhotelのwindowsでも走るようにUSBメモリーに開発環境入っちゃう
なんてこともできたりはする

1020 名前:デフォルトの名無しさん mailto:sage [2019/10/16(水) 17:25:14.05 ID:bKQy1ZjZ.net]
>>996 Notebook は、完全なIDE では無いがIDEの最低限は持ってる。(コード補完)

Notebook とnbextentions が使えれば、iPhone でも同じことができるし。
長々としたものは閉じたり、開いたりできるし。

Jupytor からはVS Code も起動できるし、まあ手頃でいいんじゃない?
大規模なプログラム開発には無理だが、練習用としては使いやすいのでは?

そもそもの話の発端は、インデントが面倒とか、スクロールが面倒とかと言う話だったから、この程度で十分では。

>>997 テキストエディタだけでどんな言語をやってたの?



1021 名前: mailto:sage [2019/10/16(Wed) 17:27:32 ID:9ut2IWOv.net]
>>997
HDDの容量は?
VScode本体で230Mぐらいだよ。(mac用)
Pycharmだと610Mほどあるけど。

1022 名前:1001 [Over 1000 Thread .net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 20時間 24分 44秒

1023 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<266KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef