トップページ⇒tech
1001コメント300KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/04/23(金) 13:25:51
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その6
http://pc12.2ch.net/test/read.cgi/tech/1264686181/

関連スレ
Pythonのお勉強 Part37
http://pc12.2ch.net/test/read.cgi/tech/1268467168/
0357デフォルトの名無しさん2010/06/01(火) 21:27:35
いや、Cから入るのは多分望ましくない気がする。

Cで「コンピュータ・アーキテクチャ」を知っておくというのならお勧めできるのだが。

『プログラムはなぜ動くのか』という本にあるような事柄を知るためにね。

まあ、PythonとCを並行して勉強するのが理想なのかもしれない。

0358デフォルトの名無しさん2010/06/01(火) 21:27:46
前の質問を引き合いに出すとかタチ悪いわ
0359デフォルトの名無しさん2010/06/01(火) 21:42:18
>>356
その辺りのことは、

『初めてのPython』http://www.amazon.co.jp/dp/4873113938
の「6章 ダイナミックな型付け」に図も含めて詳しく書かれてあった。


0360デフォルトの名無しさん2010/06/01(火) 21:45:01
>>357
こういう風にやたらと改行するやつなんなの?
03613572010/06/01(火) 21:48:52
>>360
すまん。普段折りたたみ表示で書いているので、コピペミスでこうなった。
0362デフォルトの名無しさん2010/06/01(火) 22:12:25
>>359
ありがとう、その辺がちゃんと書いてあるんなら、問題ないかも知れないね
0363デフォルトの名無しさん2010/06/01(火) 23:43:47
ありゃー…wxPythonの日本語解説サイト消えちゃったのか…
0364デフォルトの名無しさん2010/06/02(水) 02:49:21
>>360
空行が多いのは、ほぼ携帯と思っていい
0365デフォルトの名無しさん2010/06/02(水) 02:53:48
       /:::/::::::::;: --- 、:::::::::|::::::::ヽ
        |::::|:::::::├――┤:::::::l::::::::::|
        |:::」.ィ ┴――┴‐- L::::::::|
       |´ : | , -‐ 、   ‐- 、| `T ト、     ありゃー
       l: : : |{  じ   じ  }: : :V::::::}     解説サイトとうとう死んじゃったのか・・・
        〃!: : | ー      ー | i: : }_/
      / |:i ; | u   '     jイ : ハ
          l:ト、:ト .  ^TTIト .イ/: /: :ヽ
       | ヾ ィ>イl川´}∨∠ェー ´
       _.. ヘ ヽ 川||/  ハー- ._
    , ィ''´    }  ンrtく  {      /ヽ
   /  l 、\ {_/ |o| \_}     /  ,
   {、 l  >--\   |o|     、 ,′   、
   ハ_} / _二ヽ \ Ll       V/     ヽ
   {  /   -- 、ン‐ヘ         {i   __}
   に7  ‐ァ-一'’_¨二\二二¨ `Y⌒ヾ_-―‐ノ
  //  /ヽ、<´ ミ=三ゝ=ミ `>ノ ノ  `ヽ |
0366デフォルトの名無しさん2010/06/02(水) 08:57:19
>>356
間接参照の概念の理解という点に関しては、、Cが一番理解しづらい(というか面倒くさい)と思う。
ポインタの本はいっぱい出てるのに間接参照の本が出てるのは見たことがない。
ポインタには余計な機能がいっぱいついてる分、理解しづらい側面があるんだろう。
0367デフォルトの名無しさん2010/06/02(水) 15:06:09
機械語の知識があれば一目瞭然だからだろ
0368デフォルトの名無しさん2010/06/02(水) 16:12:12
まあ具体的物理的メモリレイアウトの理解無しでは結局Cのコードは書けんし
そういう意味でアセンブラからやった方が早いぜと考える人は多いかも知れんね
別にCから入るのも「無理」ではないけど
Cの場合は具体と抽象の両面を理解する必要がある
0369デフォルトの名無しさん2010/06/02(水) 17:30:13
いや、普通はCから入るから。識者ぶって意味不明なこと言わないように
0370デフォルトの名無しさん2010/06/02(水) 18:11:59
別に意味不明なことは書かれてないようだが?

まあ、たしかに電子系・組み込み系の人なら普通はCからだろうね。
あと、段階的にカリキュラムを進めていける大学の授業とか
(それでもあのMITとかでも最近はPythonから教えるみたいだけど)。

それにしても、(超?)初心者用にしては厳しすぎる
コメントが多いなあこのスレって。
こんなんじゃ>>353みたいなのに客を取られてしまうぞ。


0371デフォルトの名無しさん2010/06/02(水) 18:16:14
本スレ(?)が荒らされてるから
初心者以外がここで暇つぶしてるんでしょ
0372デフォルトの名無しさん2010/06/02(水) 18:20:31
実際、日本の初心者はRubyで良いよ。MITで教えるとか言ってる方が寒いから
0373デフォルトの名無しさん2010/06/02(水) 18:36:44
プログラミング自体初心者で日本語しか読めない人はそうかもね
0374デフォルトの名無しさん2010/06/02(水) 18:37:52
    R    し!     _  -── ‐-   、  , -─-、 -‐─_ノ  R
  小 u     // ̄> ´  ̄    ̄  `ヽ  Y  ,  ´     )  u え
  学 b     L_ /                /        ヽ  b  |
  生 y     / '                '           i y  マ
  ま が    /                 /           く !? ジ
  で 許    l           ,ィ/!    /    /l/!,l     /厶,
  だ さ   i   ,.lrH‐|'|     /‐!-Lハ_  l    /-!'|/l   /`'メ、_iヽ
  よ れ   l  | |_|_|_|/|    / /__!__ |/!トi   i/-- 、 レ!/   / ,-- レ、⌒Y⌒ヽ
  ね る   _ゝ|/'/⌒ヽ ヽト、|/ '/ ̄`ヾ 、ヽト、N'/⌒ヾ      ,イ ̄`ヾ,ノ!
   l の  「  l ′ 「1       /てヽ′| | |  「L!     ' i'ひ}   リ
    は   ヽ  | ヽ__U,      、ヽ シノ ノ! ! |ヽ_、ソ,      ヾシ _ノ _ノ
-┐    ,√   !            ̄   リ l   !  ̄        ̄   7/
  レ'⌒ヽ/ !    |   〈       _人__人ノ_  i  く            //!
人_,、ノL_,iノ!  /! ヽ   r─‐- 、   「      L_ヽ   r─‐- 、   u  ノ/
      /  / lト、 \ ヽ, -‐┤  ノ  キ    了\  ヽ, -‐┤     //
ハ キ  {  /   ヽ,ト、ヽ/!`hノ  )  モ    |/! 「ヽ, `ー /)   _ ‐'
ハ ャ   ヽ/   r-、‐' // / |-‐ く    |     > / / `'//-‐、    /
ハ ハ    > /\\// / /ヽ_  !   イ    (  / / //  / `ァ-‐ '
ハ ハ   / /!   ヽ    レ'/ ノ        >  ' ∠  -‐  ̄ノヽ   /
       {  i l    !    /  フ       /     -‐ / ̄/〉 〈 \ /!
0375デフォルトの名無しさん2010/06/02(水) 18:38:28
>>370
お前こそ2ch初心者か?ここは合わなさそうだな、さっさと出て行け。
03763702010/06/02(水) 19:13:12
>>371
そうか。教えてくれてありがとう。

>>375
すまん。書き込み内容が寒い、ここに合わないことは確かだ。
いや、初心者ではないのだが久々だったので。
さっさと出て行くことにする。どうか、これ以上荒れないように頼む。
0377デフォルトの名無しさん2010/06/02(水) 19:21:57
本スレでやれ
0378デフォルトの名無しさん2010/06/02(水) 19:52:55
とりあえずみんなのPythonだけは超初心者には意味が解らなかった
オライリーの初めてのPythonのほうがまだ意味が解る
0379デフォルトの名無しさん2010/06/02(水) 21:28:29
チュートリアルはC++知らなかったら多分投げてた
0380デフォルトの名無しさん2010/06/02(水) 21:32:21
>>333

じゃあこれは嘘書いてるの?

The actual parameters (arguments) to a function call are introduced
in the local symbol table of the called function when it is called; thus,
arguments are passed using call by value (where the value is always
an object reference, not the value of the object).

http://docs.python.org/tutorial/controlflow.html
0381デフォルトの名無しさん2010/06/02(水) 21:58:12
>>380
文脈的に、どうみても関数呼び出しとは何の関係も無い話だったから
「全ての型が参照型である」というつもりの話なんだろうと
スルーしてたな俺は

関数呼び出しは参照渡しか値渡しかで言えば勿論値渡しが正しいけど
参照型の値渡しって独特だから
call by sharingとかいう呼び方もあるみたいだね
ttp://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_sharing
0382デフォルトの名無しさん2010/06/02(水) 23:28:38
いわゆる「すべてはオブジェクト」ってやつだろ
0383デフォルトの名無しさん2010/06/03(木) 03:54:11
参照を理解している人 = >>7を理解できる人
0384デフォルトの名無しさん2010/06/03(木) 13:05:53
>>383 はヤレば出来る子
0385デフォルトの名無しさん2010/06/03(木) 13:31:58
>>7
map(add, it, it)
>it.next() + it.next()
ab
cd
ef
gh
>StopIteration

どこに参照がでてくるの?
0386デフォルトの名無しさん2010/06/03(木) 13:49:20
>>> map(operator.add, it, it)
['ab', 'cd', 'ef', 'gh']
>>> map(operator.add, iter('abcdefgh'), iter('abcdefgh'))
['aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg', 'hh']
0387デフォルトの名無しさん2010/06/03(木) 13:51:17
>>385
>>383ではないが
itと、mapに渡ってくる第2、第3実引数が同じオブジェクトインスタンスを
「参照」してるから、そういう動きになるんだろ
0388デフォルトの名無しさん2010/06/03(木) 15:05:05
Python使うとなんでも参照になっちゃうな
この程度なら小学生でもわかるだろうし、いちいち意識してたらやってられんぞ
0389デフォルトの名無しさん2010/06/03(木) 15:26:35
薄いCのラッパーで参照が絡むとイケてないよね
0390デフォルトの名無しさん2010/06/03(木) 21:55:36
>>385はあんまり分かっていない子
0391デフォルトの名無しさん2010/06/03(木) 23:52:05
俺は分かっている子!
そう思っていた時期が(ry
0392デフォルトの名無しさん2010/06/04(金) 00:43:40
import csv
reader = csv.reader(file("a.csv", "rb"))
for name, body in reader:
 print name, body

csvモジュールを使ってcsvファイルからデータを読み込んでprintするプログラムですが、
130行以上のファイルだと下記のエラーが出ます。

ValueError: too many values to unpack

130行以上のcsvファイルの場合はどう対処すればいいんでしょうか?
0393デフォルトの名無しさん2010/06/04(金) 00:51:58
んー、それは129行ずつに分割するしかないなー
0394デフォルトの名無しさん2010/06/04(金) 00:55:08
130行以上でなくてa.csvの130行目が2要素以上あるんでしょ
for row in readerみたいに一つの変数で受けて len でチェックすれば?
0395デフォルトの名無しさん2010/06/04(金) 01:29:10
>>394
ありがとうございます。
ちゃんと確認したらcsvファイルの130行目のデータが間違った形式になってました。
直したら問題なく処理できました。
0396デフォルトの名無しさん2010/06/04(金) 07:50:00
>>393はあんまり分かっていない子?
0397デフォルトの名無しさん2010/06/04(金) 08:33:11
お前はなんも分かってないおっさん
0398デフォルトの名無しさん2010/06/04(金) 09:29:19
>>397
そんな顔真っ赤にすんなよw
0399デフォルトの名無しさん2010/06/04(金) 12:11:33
>>383辺りから馬鹿な流れ作ってる奴なに?>>7本人?
0400デフォルトの名無しさん2010/06/04(金) 12:37:18
別に7は単純なコードだけどとても参考になるのは違いない
だからといって強引に流れに絡めるのは低脳Ruby厨に違いない
0401デフォルトの名無しさん2010/06/05(土) 09:41:09
>>383 = >>11こそが真理。本人が言うんだから間違いない。
0402デフォルトの名無しさん2010/06/05(土) 10:37:16
>>11からずっと>>7にこだわってるわけ?いい加減にしてくれ
0403デフォルトの名無しさん2010/06/05(土) 11:17:54
こだわってるわけじゃなく深い感銘を受けたってことじゃないの
0404デフォルトの名無しさん2010/06/05(土) 12:11:18
>>402
そこから400近くなるまで、ずっと出てこなかったのに?
関連してる話が出てきたら、前の方で出た良レスを引っ張ってくるのはごくごく当たり前のこと。
0405デフォルトの名無しさん2010/06/05(土) 12:53:07
じゃあ>>7をテンプレ化して次スレにも貼りつけることだな
0406デフォルトの名無しさん2010/06/05(土) 14:14:00
>>405
お前自分で言ってることがおかしいってわかってるんだろw
それともあれか>>385あたりの理解できずに文句いわれた人?
だったら完全にお門違いだろ

>>399
別に馬鹿な流れじゃない
むしろ今こそ馬鹿な流れだ
0407デフォルトの名無しさん2010/06/05(土) 14:29:01
○○は出来る子とか○○は理解してる人とか、つまりいかにも自画自賛する幼稚な流れを馬鹿だと言ったんだが
0408デフォルトの名無しさん2010/06/05(土) 14:38:05
おまいらほかでやってくれよ
0409デフォルトの名無しさん2010/06/05(土) 14:40:27
本スレが腐り過ぎてこっちにも浸食してきたか
0410デフォルトの名無しさん2010/06/05(土) 14:50:45
いろんな言語のスレあるがpyてょnは間違いなくひどい部類だな
天下のググるが使ってるって本当なのかと疑いたくなる
0411デフォルトの名無しさん2010/06/05(土) 14:54:34
まずは自分の頭がひどくないかを考えてみた方が良いよ
0412デフォルトの名無しさん2010/06/05(土) 15:08:50
Ruby最強ということでFA?
0413デフォルトの名無しさん2010/06/05(土) 15:10:52
それはない
0414デフォルトの名無しさん2010/06/05(土) 15:11:33
つーか結局、このスレを荒らしてた奴はRuby厨かよ。敵対心強過ぎw
0415デフォルトの名無しさん2010/06/05(土) 15:29:57
ここで颯爽とjava-jaが登場
0416デフォルトの名無しさん2010/06/05(土) 19:24:40
java-jaって何?
0417デフォルトの名無しさん2010/06/05(土) 19:26:51
そういうコミュニティがあるんだが
まあ気にするな
0418デフォルトの名無しさん2010/06/05(土) 19:37:24
ジャバじゃ
0419デフォルトの名無しさん2010/06/05(土) 19:43:27
ジャルーザダマジャの兄さんかなんかじゃね
0420デフォルトの名無しさん2010/06/05(土) 19:49:29
Come Cleanの人か
なつかしいな
0421デフォルトの名無しさん2010/06/07(月) 00:42:26
pygameを使いたいんだけど。
idle ではコード補完が利いたり効かなかったりするんですけど
pygame. の後に候補が出てほしい
わかるひとおしえてください
0422デフォルトの名無しさん2010/06/08(火) 18:21:06
はじめまして 他言語からPythonをちょっとかじってつまづいてます。

def get_location():
if self.is_gps:
str = 'これはGPS'
else:
str = 'これはGPSなし'
return str

def is_gps(self):
list = ('841SHs','942SH','943SH')
return self.model in list

のような関数を内蔵したクラスを外部から呼んでmodelに'V801'を代入してからget_location()を呼ぶと
これはGPSって言われます。なにかまずいことやってますでしょうか?教えてください。
よろしくお願いします。
0423デフォルトの名無しさん2010/06/08(火) 18:22:24
あ・・・インデントが消えてしまった・・・ すみません脳内補完お願いします。orz
0424デフォルトの名無しさん2010/06/08(火) 18:39:22
>>422
self.is_gps 関数オブジェクトなので True
self.is_gps を呼びたいのなら self.is_gps()

ほかの言語使えるなら公式チュートリアルお勧め
0425デフォルトの名無しさん2010/06/08(火) 20:20:30
>>424
うあああ ありがとうございます!! 文化の違いってほんとたいへんですね・・・
0426デフォルトの名無しさん2010/06/08(火) 20:24:49
なんだ、括弧が省略できる方面の人か
0427デフォルトの名無しさん2010/06/08(火) 22:12:15
一目でわかるだろって思ったが、そんな方面があるのか
0428デフォルトの名無しさん2010/06/08(火) 22:26:40
正しくは、括弧を省略できるようにしたばっかりに呼び出し可能オブジェクトが変数に代入できなくて困ってた方面の人だね
0429デフォルトの名無しさん2010/06/08(火) 22:26:56
関数呼び出しで括弧が省略できるのなら関数そのものを指したいときってどうするんだろ
0430デフォルトの名無しさん2010/06/08(火) 23:13:02
前に何か記号つけんじゃね?
0431デフォルトの名無しさん2010/06/08(火) 23:26:01
呼び出し可能オブジェクトなんてないから。
関数そのものもないから。

さすが Python 初心者スレだなw
0432デフォルトの名無しさん2010/06/08(火) 23:59:10
>>431
楽しそうだね
0433デフォルトの名無しさん2010/06/09(水) 01:40:13
>>431
Python 初心者スレなんてないから。
0434デフォルトの名無しさん2010/06/09(水) 07:32:25
431が自分の世界にひたっていて羨ましい。
0435デフォルトの名無しさん2010/06/09(水) 08:50:11
ここでは ruby ってワードはタブーなのですか?
0436デフォルトの名無しさん2010/06/09(水) 09:13:00
あるとかないとか初心者の俺は混乱するんですけど
初心者向きのスレで誤情報はホント勘弁して欲しいんですけど
0437デフォルトの名無しさん2010/06/09(水) 09:40:24
だよね
0438デフォルトの名無しさん2010/06/09(水) 12:09:41
したらば辺りに避難所作ることを考えんといけない時期かもね
>>431は俺も何言ってるか分からない。Rubyの話なのか?
0439デフォルトの名無しさん2010/06/09(水) 12:25:10
自治気取り死ねカス
0440デフォルトの名無しさん2010/06/09(水) 16:06:39
リアルの鬱憤ここで晴らすなよ
迷惑だし不愉快だわ
飯食って屁こいてとっとと寝ろ
0441デフォルトの名無しさん2010/06/09(水) 20:06:58
どんだけ効果あるか正直怪しいと思うが、それでもID欲しいなー
0442デフォルトの名無しさん2010/06/10(木) 00:58:46
IDって有って困るものじゃないと思うんだけど、なんか問題でもあるのかね
他のIDない板でも、あった方が良いって話題は必ず出る
0443デフォルトの名無しさん2010/06/10(木) 02:16:22
>>436
細かいことなので、初心者のうちは気にしなくていい。

>>431の内容についてまともに答えるなら、
呼び出し可能オブジェクトって名前だったかどうかはさておき、オブジェクトの後ろに()って付けて__call__メソッド呼び出せるオブジェクトはいくらでもある。
関数だって所詮、__call__メソッドを持ってるオブジェクトにしか過ぎないって意味では、純粋な関数なんてない。
ということなんだけど、細かいことは詳しくなるにつれて自然についてくる。
0444デフォルトの名無しさん2010/06/10(木) 02:20:08
詭弁
0445デフォルトの名無しさん2010/06/10(木) 03:58:07
体言止め
0446デフォルトの名無しさん2010/06/10(木) 08:31:16
>443
友達いないだろ?
0447デフォルトの名無しさん2010/06/10(木) 10:26:25
ともだちならあたりまえ
0448デフォルトの名無しさん2010/06/10(木) 12:44:29
おしえてください。
rssで取得したデータなんですが、titleの中を日本語にパースする方法がわかりません。

<item>
<title>kabuwakitahama: イラン人たちが国内で
覚醒剤を製造していた
というニュース。警察
の話では終戦直後はと
もかくその後国内では
製造されていないとい
うことです。でも私が
昔覚醒剤について取材
した時には国内で製造
していました。国内で
の製造はないと信じて
いるためいつまでも根
絶出来ないのでは。株
以外の話でした。</title>
0449デフォルトの名無しさん2010/06/10(木) 13:47:19
英語なら出来んの?
0450デフォルトの名無しさん2010/06/10(木) 15:06:14
すいません、勘違いしてました。
そのままでいいみたいでした。
"北"ってそのままマルチバイトなんですね
0451デフォルトの名無しさん2010/06/10(木) 17:16:03
>"北"ってそのままマルチバイト
どういう事か分からんです
0452デフォルトの名無しさん2010/06/10(木) 17:32:02
中国漢字に置き換えられるらしく1バイトもあるんだって
0453デフォルトの名無しさん2010/06/10(木) 20:13:31
SJISの半角カナみたいなものじゃろか
0454デフォルトの名無しさん2010/06/14(月) 23:35:09
ctypesのソースを見ると

Python-2.6.5/Lib/ctypes/__init__.py
383 if _os.name in ("nt", "ce"):
384
385   class WinDLL(CDLL):
386     """This class represents a dll exporting functions using the
387     Windows stdcall calling convention.
388     """
389     _func_flags_ = _FUNCFLAG_STDCALL

Python-2.6.5/Modules/_ctypes/callproc.c
777 #if defined(MS_WIN32) && !defined(MS_WIN64) && !defined(_WIN32_WCE)
778   if ((flags & FUNCFLAG_CDECL) == 0)
779     cc = FFI_STDCALL;
780 #endif

みたいな感じでcygwinでSTDCALLなWin32API呼出しはできないようにされてる風に見えるのですが
>>> import ctypes
>>> user32 = ctypes.CDLL('user32.dll')
>>> user32.MessageBoxW(0, u'波浪ワールド', u'てすと',0,0)
で呼び出せています。

私のPCはメッセージボックスを表示させるたびに死へと近づいてるのでしょうか?
それとも私の知らないなにかが良きに計らってくれて安全が保たれてるのでしょうか?
教えてください
0455デフォルトの名無しさん2010/06/15(火) 14:04:58
良きに計らってくれて安全
0456デフォルトの名無しさん2010/06/15(火) 16:59:39
死ぬよ
win版だと普通にエラーでるよ
■ このスレッドは過去ログ倉庫に格納されています