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


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

くだすれPython(超初心者用) その29



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/02/18(木) 12:33:22.06 ID:S96kZ0X7.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その28
peace.2ch.net/test/read.cgi/tech/1447568768/

関連スレ
Pythonのお勉強 Part51
peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

684 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ.net]
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん

685 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:36:25.92 ID:X+8v2WhO.net]
>>652
add_argument()のtypeキーワードに引数をチェックする関数を指定すればいい

686 名前:
チェックが通ったら煮るなり焼くなりしてreturnすればおk

def hoge_type(value):
 if not re.search(r'\.py$', value):
  raise ValueError('invalid extension')
 return value

このhoge_typeを下のように指定する

parser.add_argument('--hoge', type=hoge_type)
[]
[ここ壊れてます]

687 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:43:16.69 ID:X+8v2WhO.net]
ここに書いてあった
docs.python.jp/3/library/argparse.html#type

688 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 02:36:07.72 ID:b0qHmmcL.net]
不出来なのは頭だったか
無念

689 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 07:53:31.52 ID:X+8v2WhO.net]
argparseは多才だからなんでもやらせたい誘惑に駆られる
でもdocoptのようにコマンドライン引数の構文解析程度にとどめるべきかもね
値の評価や機能の実行までやらせるのは役割を与えすぎかなと感じる

690 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 08:53:22.93 ID:6AZT6oQ7.net]
最近ちょっと思ったのは、もしかしたらPythonは関数型言語の入口かもしれん
Pythonでmap,filter,reduce,内包表記とか慣れると関数型言語に割とすんなり移行できる
そして、関数型言語はより短く効率的に書けて、大抵コンパイル型言語だからより高速
故に、PythonもできますがhaskellなりscalaなりF#もできますってのが普通で、
Pythonしかできませんってのは、頭の中身が手続き型のロートル脳なんだな

691 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:21:18.13 ID:b0qHmmcL.net]
ごめんそれ100万回くらい聞いた

692 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:28:26.30 ID:VJ6TUrY4.net]
for i in range(1000000):
  print ">>662"



693 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:43:09.21 ID:zUwxY7yt.net]
if >>662 == バカ:
  for i in range(1000000):
    print("map,filter,reduceもpythonではdeprecatedですよ")

694 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:50:18.72 ID:RIWhlWWt.net]
君達ってfor使う必要ないところで使ってるしレベル低そうだね
"a" * nこれ知らなさそう

695 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:54:11.86 ID:b0qHmmcL.net]
ごめんそれ100万回くらい聞いた

696 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 10:02:23.09 ID:ZvqErOlJ.net]
>>661
詰め込みすぎだよな
業務の現場でちゃちゃっとコマンドラインツールを作りたいだけなのに
印刷するとけっこうなページ数になるargparseなんか学んでられるかっての
inputでオプション一個ずつ入力させるやり方で逃げたわ

str.formatやpathlibなんかもそうだが、堅苦しく冗長な機能拡張が目立つようになってきた
シンプルお手軽っていう特長を捨ててJavaのようなカオスな方向に向かうのなら
言語として先は長くないだろう

697 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 10:13:50.73 ID:6AZT6oQ7.net]
>664-665
Pythonと関数型言語も両方ともって話なのに、
こんなに過剰反応とは・・・ウププ、あ、いや、なんでもないですw

698 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 10:27:46.84 ID:b0qHmmcL.net]
自分の理解できない物を無駄と評するのはどうなんでしょ
超初心者っぽくていいけどね

ここから引用
多くの初心者は自身が習得した一部の言語機能に拘泥しがちであり、知識を広げようとはしない。
引用終わり

699 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 12:44:27.04 ID:Xgwcc4Sq.net]
class 意味分からない
codecademyで 90%まできたけどclassの章で詰みそう

700 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:17:15.51 ID:Dac8LcQl.net]
python使う上でclassなんていらんやろ
classとannotation使い始めるとコードがとたんに汚くなる

701 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:27:42.56 ID:fcicNZfN.net]
また超初心者っぽい極論ですね。

702 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:41:15.94 ID:lZ/qTWvV.net]
argparse優しすぎるのにドキュメント呼んで理解できないのはアスペ



703 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:45:13.11 ID:sTpf+U42.net]
理解できない

704 名前:ニは書かれてないな
文意に沿った回答をするべき
[]
[ここ壊れてます]

705 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 13:47:18.82 ID:lZ/qTWvV.net]
657 :デフォルトの名無しさん [↓] :2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ (1/2)
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん

657 :デフォルトの名無しさん [↓] :2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ (1/2)
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


706 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 14:07:24.43 ID:MNddmiLP.net]
あのドキュメントは嫌い
リファレンスとHowToは分けろよ
というかHowToページ別にあるのに

707 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 14:08:14.27 ID:MNddmiLP.net]
途切れた

というかHowToページ別にあるのに、なんでリファレンスにまでHowTo書くんだよ

708 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 14:42:07.25 ID:b0qHmmcL.net]
他言語と比べると異質なリファレンスではあるね
Djangoやrequestsと比べでも何か異質
無駄とは言わないけど読みづらい

709 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 15:34:55.87 ID:Xgwcc4Sq.net]
classの
def __init__ (self)のこのselfは何者ですか?
なんで消えるの?いんすうではないの?

710 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 15:39:59.71 ID:sTpf+U42.net]
>>676
「よくわからん」と「理解できない」は違うぞ

711 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 15:41:07.77 ID:sTpf+U42.net]
>>680
消えるとは?

712 名前:649 mailto:sage [2016/06/05(日) 15:43:57.55 ID:7j5k7Q75.net]
>>658

できました!
参考URLもありがとうございました。



713 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 15:48:12.51 ID:VJ6TUrY4.net]
>>680
いんすう?ああ、ひきすうね

selfは自分自身の参照
javaとかはthisキーワードで明示しなくても勝手に作られるがpythonは何故か
指定しないと嫌だったらしい

あと消えてない
>>> class A:
... def __init__(self):
... self.a = 120
...
>>> a = A()
>>> print a.a
120
>>>

714 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 16:04:21.50 ID:Xgwcc4Sq.net]
>>682
消えるというかほかの引数と挙動が違うといいますか、
>>684
selfもメンバー変数として使えるということですか?
この場合の参照する自身とは何を指すのでしょう?class?

715 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 16:17:02.02 ID:b0qHmmcL.net]
クラスとインスタンスの対比を理解してないんじゃないかなー

716 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 17:33:23.51 ID:VJ6TUrY4.net]
頭の中だけで考えるんじゃなくてとにかく手を動かして
自分で確かめるのがいいよ

バグでつまる度に他人はいちいち付き合ってはくれない

class A:
  def __init__(self, a, b):
    self.a = a
    self.b = b
  def sum(self):
    return self.a + self.b


instance_a = A(12, 3)
instance_b = A(5, 16)

print instance_a.sum()
print instance_b.sum()

717 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:02:01.24 ID:zUwxY7yt.net]
なぜPythonにはfinalやconstがないのか
なぜタプルなんて中途半端なもんで諦めたのか
可読性(藁)

718 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:10:10.42 ID:Xgwcc4Sq.net]
>>687
一語1語意味を考えるよりも
まず形にすることが重要なんですかね
この例文をそらで書けるように写経してみます。ありがとうございます

719 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:14:31.56 ID:b7IP4BCr.net]
>>689
オブジェクト指向について少し勉強すると良いよ

720 名前:デフォルトの名無しさん mailto:sag [2016/06/05(日) 19:21:21.29 ID:odhU5/tC.net]
>>688
Pythonは動的言語なので結局実行してみてコケるまではミスに気付けない
だからそういうのはあまり意味がないの

721 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 19:30:41.98 ID:ZvqErOlJ.net]
座標x,yを扱うメソッドの宣言がself,x,yてなるのは違和感あるよねえ
せっかくのデートにお邪魔虫が一人付いてくるような感じ
何でこんな仕様にしたのか設計者に小一時間問い詰めたい

722 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 19:39:19.34 ID:IN+Q8fDx.net]
座標x,yを与えるには平面が必要。selfは、平面のこと考えている。



723 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 21:04:41.72 ID:IuZ3TLQW.net]
プログラムは写経が最高の教科書って誰か言ってたな

724 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 21:22:06.74 ID:VJ6TUrY4.net]
それもいいが自分なりに何か変えてみるともっと理解は早くなるはず

書いてみて、結果を予想する 予想が違えば何が違ったのかを考える
そうすればだんだんとパターンが見えてくるよ

725 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 22:57:33.42 ID:bEHxSIM9.net]
>>658
Groovy なら、クロージャを渡して、フィルタリングできる

(1..6).grep{ it % 2 == 0 } → [2, 4, 6]

>>685
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版

オブジェクト指向は難しいから、必ず、この順番で勉強するように言われている

726 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 01:30:22.89 ID:xte0zwCj.net]
sexメソッドはmaleとfemaleを引数に取ればいいだけなのに
なぜかselfとかいう謎の人が付いてくる

これは言語設計に失敗してると言って過言ではないのでは??

727 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 02:01:00.51 ID:i3B2Q/oE.net]
>>697
面倒といえば面倒だが、
関数ではなくメソッドであることを明確に示すことができるので、
アリだと思っている

728 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 02:14:17.67 ID:4oDFfzZn.net]
デスクリプタHowToでも読んで
設計思想が理解できないのなら
失敗してる言語はやめれば良い

729 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 02:14:21.66 ID:xG6oh14B.net]
selfのおかげでクラスとインスタンスの関係が簡単になるから良い設計だと思うけどな

730 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 02:19:56.88 ID:XLITscU6.net]
>697
言語設計が悪いのではなく、あなたのsexメソッドや、male female オブジェクトの設計が変なだけだと思うよ。
たとえば、整数同士の二項演算子__add__ や__mul__は、引数にselfとotherをとる設計になっている。self, left_hand_side, right_hand_side の3つの引数をとるような設計にはなっていない。
sexメソッドも、humanオブジェクトの二項演算子のように定義すればいい。male female なんて無駄な区別も必要ない。LGBTにも対応可能だ。
二人が対等な関係で無いのが嫌というなら、couple オブジェクトを作って、couple オブジェクトのメソッドとしてsexメソッドを実装すればいい。__init__に登場するselfは他人ではなく、他ならない二人のカップルそのものを指している。

class Couple():
__def __init__(self, a, b):
____self.a=a
____self.b=b
__def sex(self):
____pass

tsukkomi=Human('Hanako')
boke=Human('Daisuke')
miyagawa_fusai=Couple(tsukkomi, boke)
miyagawa_fusai.sex()

731 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 02:22:39.56 ID:C/umrOnE.net]
>>697

def sex(self, male, female):
  self.female.say("No thanks.")
  self.male.say("oh... my god...")
  self.male.onani()

732 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 05:00:17.45 ID:QbKl1YZH.net]
超初心者ってか厨房スレみたい



733 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 10:07:50.49 ID:PqDnUBGZ.net]
>>697は明らかにオブジェクト指向のオの字も理解してないからどうでもいいけど
selfは暗黙に定義して欲しかったわ
関数がどうかなんて定義位置とデコレータの有無で一目瞭然だし

734 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 11:37:26.92 ID:Eh/3Xe+J.net]
self明示はOOPが後付であるのとOOPにどっぷり依存する気がないからだと思う
アクセス制御機能は未実装だし、メソッドはインスタンス無関係に関数として呼び出せる

735 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 16:40:02.89 ID:/qKSCvxc.net]
>>692
気に入らないなら
def hogemethod(w, x, y):
とか書いても良いんだぜ

736 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 16:42:44.32 ID:/qKSCvxc.net]
>>703

737 名前:
同じ人間って書き方みたら判るもんなんだな
http://hissi.org/read.php/tech/20160606/UWJLbDFZWkg.html
[]
[ここ壊れてます]

738 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 16:51:39.69 ID:B7qEBb4m.net]
680以降の半分以上は俺のレスだけどね
見て分かったかな

739 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 17:06:45.96 ID:/qKSCvxc.net]
680以降の半分以上は読んでなかったからちょうど良かった

740 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 17:16:22.11 ID:gOmKNf/3.net]
ここまでチンパンジーアイちゃんの自…
いやなんでもないです

741 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 22:56:40.40 ID:xte0zwCj.net]
>>704
male extends human
def sex (self, female)
      ↑誰だお前

すまんのか?

742 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 22:59:16.48 ID:xte0zwCj.net]
>>701
miyagawa_fusai.sex()とか気持ち悪い喩え持ち出すなボケェ!



743 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 23:12:01.83 ID:1e9MzW/h.net]
>712
ちゃんとCoupleのsexメソッドの定義を見て下さい。
pass
としか書いてませんから、何も起きません!

744 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 01:13:46.40 ID:i5smxfKl.net]
>>713
なんてこった・・・あんたさては未踏タイトル保持者だな?
俺の負けだよ、完敗さ、君の瞳に乾杯

745 名前:デフォルトの名無しさん [2016/06/07(火) 03:05:33.76 ID:41OqMrsx.net]
Pythonは、Rubyよりもキーワードを少なくした。
thisをキーワードにしたくなかったんだろう

selfを渡しておけば、キーワードにならないし、thisなど、self以外を使ってよい

逆に、Rubyから言えば、実装上の詳細が、プログラマーに見えるのは、おかしい

746 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 05:15:36.17 ID:No9ZP2EK.net]
>>697
君は第三者の立場が好きなんだな

747 名前:デフォルトの名無しさん [2016/06/07(火) 07:06:02.26 ID:N3u46K1k.net]
>>711
何この言語

748 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 09:28:21.23 ID:y1uFD4iG.net]
ちくわ大明神

749 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 12:58:53.24 ID:iYzT2OEj.net]
誰かアンタッチャブル柴田をpythonで書いてください

750 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 13:00:05.91 ID:Ts73h3EG.net]
設計書はあるんですか?

751 名前:デフォルトの名無しさん [2016/06/07(火) 17:10:40.05 ID:0rvA4F4X.net]
●AI技術で起業したい方へ3000万円まで投資します●

経験と情熱のある方のみ、お願いします。
good-hill.xsrv.jp/?id=789122

『 グッドエンジェル 』
投資家と起業家のマッチングサービス

752 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 22:37:02.43 ID:i5smxfKl.net]
>>720
設計もおまえの仕事やぞ



753 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 02:17:13.72 ID:x3ey/7l2.net]
argp = argparse.ArgumentParser(description="さんぷる",formatter_class=argparse.RawDescriptionHelpFormatter)
argp.add_argument("--file-path", help="file path.", dest="--file-path", metavar="FILE_PATH", type=str, required=True)

上記のように書いて実行すると下記のように、helpの表示で、 --file-path の説明部分が改行されます。

% ./sample.py -h
usage: sample.py [-h] --file-path FILE_PATH --files FILE

さんぷる

optional arguments:
 -h, --help      show this help message and exit
 --file-path FILE_PATH
             file path.

改行されると見づらいので、ここを参考に→ttp://d.hatena.ne.jp/yuheiomori0718/20120125/1327494051
試しに下記のように書いたのですが、同じく改行されました。
(実際には100カラム以下の設定にするとは思いますが、テストで大きくしています)

os.environ['COLUMNS'] = "1000"

help時に改行を防ぐにはどうすればよいでしょうか?

754 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 06:43:53.48 ID:UrL3khAu.net]
>>723
オプションとヘルプの間に改行が入るか否かは
HelpFormatterクラスのmax_help_positionキーワードで決まる

max_help_positionを変更した自作HelpFormatterクラスを
ArgumentParser()のformatter_classキーワードに指定する方法で
長い名前のオプションでもヘルプを続けて表示できる

この方法ではヘルプ全体は80桁で折り返しになる
表示を調整するならos.environ['COLUMNS']を変えるか
HelpFormatter()のwidthキーワードに折り返しの桁数を指定する

755 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 06:45:48.76 ID:UrL3khAu.net]
>>723
自作HelpFormatterクラスの手抜き実装
max_help_positionでヘルプの表示位置、widthで全体の折り返しを指定する

class MyHelpFormatter(argparse.HelpFormatter):
 def __init__(self, prog):
  indent_increment = 2
  max_help_position = 50
  width = 100
  super().__init__(indent_increment, max_help_position, width)

756 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 06:51:59.28 ID:UrL3khAu.net]
>>725の最後を間違えた
super().__init__(prog, indent_increment, max_help_position, width)が正しい

HelpFormatterクラスのインターフェースがドキュメントになっていないのは困ったもんだ

757 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 07:13:37.13 ID:dpHglwEd.net]
人が楽をするために作られたはずのライブラリが
逆に人を振り回すようになってきたな・・・

758 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 07:26:15.84 ID:zEmhDMcI.net]
プログラミングそのものがバグを注入する作業に違いないと言われて久しいのに今更だな

759 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 07:32:30.53 ID:3hYUw3qX.net]
コンピュータに限らず
人間の文明そのものがそうだな

760 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 07:53:30.49 ID:V7RBddf9.net]
俺たちの存在そのものがバグだった・・・?

761 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 08:08:57.04 ID:zEmhDMcI.net]
UTSLもたまにはいいけど
標準ライブラリからこの体たらくだとやる気が削がれるのは確か

762 名前:デフォルトの名無しさん mailto:sag [2016/06/08(水) 08:13:51.28 ID:yLejXJHl.net]
この世界でAPIリファレンスがまともなのはMSくらいだろ
Pythonはまだマシな方



763 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 13:46:40.83 ID:78Tk8wL/.net]
多重ループを抜ける方法を教えてください

764 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 14:34:13.74 ID:G2ArSS3q.net]
def f(c):
__c[0] = 0
__return c
a = [1, 2, 3]
b = f(a)
print(a)
print(b)

なんでaも値が変わっちゃうんですか?
どうしたらaの値をキープできますか?

765 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 14:46:42.43 ID:5Ujr+av3.net]
listはミュータブルだから

766 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 14:59:27.47 ID:N9K6PozS.net]
>>734
b = f(a[:])

>>733
python 多重ループ 抜ける でぐぐる

767 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 15:02:24.00 ID:vAuk/aLa.net]
www.amazon.co.jp/dp/B01GF018UY python入門書(英語)タダ

www.amazon.co.jp/dp/B01GK955A4 スレ違いだけどおまけ SQL入門書もタダ

768 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 15:59:39.11 ID:G5w4BYim.net]
ちらみしたけど確かにただ同然の
内容だった

769 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 16:31:19.44 ID:c99ZJOB9.net]
>>733
returnとかraiseとか色々楽出来る

770 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 21:02:27.73 ID:DyDwul9e.net]
>>737
オライリーのパクリっぽい装丁だな、今見たら500円になってる

771 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 21:34:29.83 ID:G5w4BYim.net]
>>740
みたけど0円の価値すらないほん

772 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 21:47:34.78 ID:DyDwul9e.net]
>>741
英語読めないから?



773 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 22:26:52.19 ID:R7wKDA60.net]
>>736
b = f(a[:])
>> [0, 2, 3]
a
>> [0, 2, 3]

774 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 22:54:39.05 ID:V7RBddf9.net]
>>742
おまえと違ってビギナーじゃないからじゃボケなす

775 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 22:56:16.19 ID:G5w4BYim.net]
>>742
小防かよ
義務教育で必修なんだから
おまえみたく不登校児でもないかぎい

776 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 22:57:08.97 ID:G5w4BYim.net]
>>744
ビギナーこそヨンジャだめだめ

777 名前:723 mailto:sage [2016/06/09(木) 00:08:40.81 ID:G0dYhsWN.net]
>>724,725

具体的なコメントまでありがとうございます。

添付のHelpFormatterクラス使ったら改行なしでできました!

778 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 00:09:46.60 ID:G0dYhsWN.net]
改行のコントロールくらいデフォルトでついててもいいのになー。

改行のコントロールは少数派なんだろうか。

779 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 00:22:10.35 ID:dIu2vu4F.net]
モジュールを書いた人の意識の差かね
argparseは徹底的な抽象化、モジュール化、カスタマイズ性に理想の高さを感じる
途中で収拾がつかなくなって投げた感もある

780 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 00:53:51.91 ID:G0dYhsWN.net]
シンプルな汎用性と、カスタマイズすればで何でもできるよの両方を突き詰めた感じですかね。

781 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 01:58:39.37 ID:iYl+3gJl.net]
>>747
>>725はHelpFormatter()のキーワードを変えてるだけなのでサブクラス必要なかった
lambdaか関数でラップして実引数で指定すればいい
クラスのドキュメントに気を取られて簡単な方法が思いつかなかったよ

def my_help_format(prog):
 return argparse.HelpFormatter(prog, max_help_optision=50, width=100)

parser = argparse.ArgumentParser(formatter_class=my_help_format)

782 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:02:06.80 ID:Bcqmo76nj]
>>743

>>> def f(c):
... c[0] = 0
... return c
...
>>> a = [1, 2, 3]
>>> b = f(a[:])
>>> print(a)
[1, 2, 3]
>>> print(b)
[0, 2, 3]



783 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:03:10.80 ID:a9ttoeJ0.net]
>>743
>>> def f(c):
... c[0] = 0
... return c
...
>>> a = [1, 2, 3]
>>> b = f(a[:])
>>> print(a)
[1, 2, 3]
>>> print(b)
[0, 2, 3]

784 名前:723 mailto:sage [2016/06/10(金) 01:24:23.76 ID:nGW8B2Ze.net]
>>751

おお!
マニュアルからそんなことを読み解けるようになるんですね。

max_help_optision とあって訳の分からないエラーが出てしばらく悩みました笑max_help_position






[ 続きを読む ] / [ 携帯版 ]

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

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