[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/08 07:42 / Filesize : 111 KB / Number-of Response : 438
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



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

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

前スレ
くだすれPython(超初心者用) その12
toro.2ch.net/test/read.cgi/tech/1322115727/
関連スレ
Pythonのお勉強 Part45
hibari.2ch.net/test/read.cgi/tech/1321189773/
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
toro.2ch.net/test/read.cgi/tech/1235050215/
◆関連リンク
Python の Home Page
ttp://www.python.org/

   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘

263 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:43:38.57 ]
>>259
pythonドキュメントにまるっきり同じことが書いてあるわけだが。

264 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:48:46.76 ]
>>263
勉強になった

265 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:52:10.61 ]
>>263
へーpythonドキュメントにまるっきり同じことが書いてあるのか。勉強になった。

266 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:17:43.33 ]
ドキュメント厨か

267 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:41:38.27 ]
DQM

268 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 23:42:56.16 ]
>>267
採用

269 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 00:06:59.64 ]
pass

270 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 01:42:10.33 ]
>>269
おい!なんで俺のパスワード知ってんだよ


271 名前:デフォルトの名無しさん [2012/04/16(月) 13:35:30.05 ]
>> 208
$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local
これやらなくていいです。こんなことしなくてもsudoしてるので、distributeのインストールに問題ありません。




272 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 14:44:24.70 ]
>>271
そもそも>>208みたいに手動でdistributeを入れなければいけないのかどうかを先に論じるべき。

273 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 14:51:47.15 ]
258 名前:デフォルトの名無しさん [sage]: 2012/04/15(日) 20:58:38.50
これ、優先順位というか比較の連鎖か。
比較の連鎖ってのは x < y < z みたいな書き方のことね。

だから
"a" in abc == True

"a" in abc and abc == True
とほぼ同じ。(正確には上だとabcが一回しか評価されない)

abc == True は偽だがらFalseが返る。

実行結果が異なるんですけど

>>> [] in [[]] == True
False

>>> [] in [[]] and [] == []
True

274 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 15:16:37.73 ]
>>275
docs.python.org/reference/expressions.html#not-in

[] in [[]] == True は [] in [[]] and [[]] == True といっしょということだろう
( [] in [[]] ) == True ではない

こういう書き方は混乱の元だからやらないほうがいいと思う

>>271
そんなことをするとどんな危険性がありますか?

275 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 15:17:47.45 ]
>>273 どこが?

276 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 02:25:28.81 ]
くだらんけど
chgrpするならchmodでグループのスティッキービットたててほしい。

277 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 03:50:05.54 ]
$ sudo rm -Rf /

278 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 04:50:23.93 ]
はいはい
ステマステマ

279 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:27:22.37 ]
本も質問者もひどいもんだな。

280 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 17:24:56.56 ]
pass

281 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 10:42:32.51 ]
Pythonチュートリアル第2版の10.12節に「電池付属です」と銘打った説があって、「Pythonには『電池付属』の哲学がある。」と書いてあるのですが、これってどういう意味なんでしょうか?
「電池付属」って、英語特有の慣用表現みたいなもの?



282 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 10:48:21.90 ]
>>281
すぐ使えるようにする、ってこと

283 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 12:00:15.04 ]
おもちゃのCMとかで最後に必ず「Each sold separately, batteries not included.」
みたいな注意書きがはいる(たいてい1秒程度でしゃべる)。そのもじり。


284 名前:281 mailto:sage [2012/04/19(木) 12:31:15.81 ]
勉強になりました。thxです。

285 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 14:24:02.38 ]
核電池

286 名前:デフォルトの名無しさん [2012/04/19(木) 20:03:53.82 ]
電池付属もいいんだが、Python付属のは液漏れしてる

287 名前:デフォルトの名無しさん [2012/04/19(木) 21:26:21.55 ]
電池で思い出したけど、電池で動くような小型の端末で、ちまちまPythonのコードを書いたり動かしたりできるもんって無いのかなあ???

288 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:55:19.17 ]
>>287
www.disinterest.org/NDS/Python25.html

289 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 22:26:34.61 ]
>>287
android電話でsl4a

290 名前:デフォルトの名無しさん [2012/04/19(木) 23:19:48.82 ]
おおおお、いつの間にかいろんなのあるんだなあ。
最近でたっぽい、Python for iOSを買ってみるか。
電池じゃ動かないけど・・・・

291 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 01:09:06.94 ]
えィ



292 名前:デフォルトの名無しさん [2012/04/20(金) 15:50:03.15 ]
pythonでGUIプログラムを作ろうと思って情報収集していたのですが
code.google.com/p/pysta/
このようなものを見つけました
そもそもプログラミング初心者の上英語もちんぷんかんぷんで何がなんだかなのですが
これはpythonのGUIをvistaっぽくする何かってことでいいんでしょうか?
もしそうであった場合、こういったデータの使い方は学習サイトのどういう項目で勉強すれば良いのかまでご教示して下されば幸いです

293 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 16:05:25.12 ]
>>292
どんなものを作りたいのか具体的に書いた方がアドバイスしやすいと思う
リンク先は2009年に更新が止まっているので論外

294 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 16:24:46.68 ]
ぱっと見では全然開発が進んでないように見える
Vistaの部品を模してとりあえず4つwidgetができて、その後半年かけてバグ取ったと書いてあるが
多分使い物にならんだろう

しかしここにもないものを
wiki.python.org/moin/GuiProgramming
よく見つけてきたな〜

295 名前:デフォルトの名無しさん [2012/04/20(金) 17:11:26.00 ]
返答ありがとうございます
個人的にはvistaのようにウィンドウを透かす感じのデザインにしたいのですが
そういったことは可能なのでしょうか?
それともそれの開発が滞っているように難しいことなのでしょうか?

296 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 17:46:16.40 ]
Windowsネイティブの部品を使うライブラリならある程度見た目は
似せられるだろうけど、透明度の変更とか細かいことをやりたいなら
Win32APIを直接操作するしかないと思う
>>294のサイトで言うと"venster"、"Win32All"というあたり

ただこれらは、WindowsのAPIを直接呼ぶはずなので、PythonというよりCやC++でプログラムを
書くのに近い作業になると思う Win32APIの資料も必要
また日本語ドキュメントが揃ってないとくじけると思うけど、こういうマイナーなライブラリには
日本語資料がほとんどないはず

Windowsはあんまり詳しくないんで詳しい人補足お願いします

297 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 18:00:34.91 ]
>>295
具体的にどこを透かせたいの?
あと、実行環境も書いてね

298 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 18:04:13.96 ]
>個人的にはvistaのようにウィンドウを透かす感じのデザインにしたいのですが
>そういったことは可能なのでしょうか?

それだけならかなり簡単
あなたの言うリンク先のモジュールとかもいらない

299 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 18:19:02.57 ]
具体的に

300 名前:デフォルトの名無しさん [2012/04/20(金) 18:27:38.69 ]
実行環境とはOSのことでいいのでしょうか?
だとすればwindowsですが、やはりLinuxで類似のデザインにしたい場合は勝手が変わってくるのでしょうか?
窓の後ろがどうなってるのかわかるようにしたいのでフレームの透明度変更の遣り方が知りたいです

301 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 19:01:11.37 ]
Aero Glass効果が欲しいんなら、DWMAPIってやつを使うようだ
ただし、API一つ呼んで終わりじゃなくて自分で半透明で描画しないといけない
既存のコントロールを透過させたいんならWM_CTLCOLOR、オーナードローや
カスタムドロー
原理的にはウィンドウハンドル取る手段さえあればツールキットは問わないはず
あとはpure Pythonコードでやりたいならctypesで

CやC++でのAPIレベルのプログラミングの経験が無いなら無謀



302 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 19:41:12.03 ]
Pythonって関数定義やクラス定義の終わりを明示しないのっ!?
ソース見てたら、インデントが入ってることから判断すると内部クラスっぽいのがあんだけど
他の言語やってる経験からするととてもそうには見えない
これ、どうやって内部クラスかそうでないかを判別するんだよ
おせーて、そこのナイスな変態さん!

303 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 20:33:46.18 ]
API3つくらい呼んで終わりなんだけどなぁ

304 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 21:07:57.33 ]
>>302
折り畳むかアウトライン解析かな
vimならpython_fold.vim,tagbar.vim
手元にある他のエディタでは
SPE,eclise+pydev,geanyなどは
標準で備わってる機能だね

305 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:18:06.58 ]
>>302
インデントレベルが浅くなる、という形でしっかり明示されてると思うが

306 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:24:06.39 ]
>>302
from __future__ import braces

307 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:27:03.04 ]
なんて親切なスレなんでしょう(棒

308 名前:302 mailto:sage [2012/04/21(土) 00:42:38.92 ]
どういう誤解なのかわからないが
いやいや、パッケージをインポートするとかどうとかって話じゃない
あるクラスが定義されていてそいつが
内部クラス(インナークラス)なのか、そうではないただのクラスなのかって話だ
Pythonには内部クラスの概念がないってのならまあ、それで解決するんだが
だが、
ttp://d.hatena.ne.jp/hiratara/20080123/1201073976
によると、できるらしい
で、そのソースを見てもやっぱり区別がつかないというわけだ

>>305
そんな曖昧すぎる言語仕様があってたまるか

309 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 00:47:53.36 ]
>>308
もう面白くないから帰っていいよ。

310 名前:302 mailto:sage [2012/04/21(土) 01:18:33.18 ]
内部クラスについて聞いているだけなのに、
どうして俺がさもふざけてるような扱いをされるのか
おこちゃまなガラスの自尊心がブロークンハート状態なんですねわかります
君が今回得るべき教訓は、『そういう態度をとる事こそ真に恥ずかしい』だ

この質問を続けていると荒れてしまいそうだから、
ここでの質問は打ち切って2ちゃんねる以外の掲示板で聞くことにする
もし、ム板の「Pythonのお勉強」スレで訊いたら同じやつに絡まれるからな

311 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 01:25:38.24 ]
内部定義が一見してわからんソース(長かったり空行挟んでないとか)は、
書いたやつがクソって世界だから。
強制力はないけど言語仕様でそういうの排除できるって頭よくない?



312 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 01:34:22.96 ]
>>310
>>305が的確に回答してるのに
>そんな曖昧すぎる言語仕様があってたまるか
で返すのみたら誰だってふざけてると思うよ。
もしまだ不満なら何が気に食わないかを具体的に書けばいいだけ。

それ以前にまともに相手して欲しかったら普通の文体で淡々とやり取りすればいい。
それができないことこそ真に恥ずかしい。

313 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 02:13:50.23 ]
まあどこで訊いても>302の答えは>305だから、
>302,310はどこ行っても「自分の欲しい答え」は貰えないんじゃない?
Pythonだけがプログラミング言語じゃないんだし、勝手に他の言語使ってれば? と思う。
視野は狭くなるけど、自分で狭めてるんだからそれはしょうがない。

314 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 02:24:25.94 ]
emacsのPython Modeでは

[1]def foo():
    [2]def bar(): ...
    [3]def baz(): ...

[3]でC-c C-u (py-beggining-of-block) すると[1]には飛ばず[2]に飛ぶ
[3]から[1]に直接飛ぶコマンドがあってもよさそうだ。ちらし

315 名前:デフォルトの名無しさん [2012/04/21(土) 03:37:30.62 ]
ちらしage

316 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 10:17:00.93 ]
>>308
>そんな曖昧すぎる言語仕様があってたまるか

曖昧でも何でもない
Pythonでは自由なインデントは認められてなくて
インデントの仕方について厳密な規定があるからな
だからインデントレベルが下がるのは必ず何らかの構造の終わりを示す

317 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 10:05:29.48 ]
すんません
Windows XP環境で、コマンドラインからNTPサーバーに接続して時刻あわせをするスクリプトが欲しいのですが
どうやれば良いか試行錯誤しています。
見本を見せてもらえませんか?

318 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 10:11:16.04 ]
lmgtfy.com/?q=python+ntp+client

319 名前:デフォルトの名無しさん [2012/04/22(日) 10:29:15.46 ]
>>317
XP なら w32tm でいいんじゃないかな
ttp://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/time_w32tm.mspx
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060907/247379/


320 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 11:31:29.12 ]
>>318
NTPサーバから現在時刻を取得する
ttp://saekiyoshiyasu.org/pblog/programming/python/gettimefromntp-2007-06-13-00-34.html
IronPythonでも書いてみる。
(略)
あれれー? 原因を探す(pyがPython、ipyがIronPythonでの挙動)。
(略)
この辺に原因がありそう。IronPythonでは、エポックが西暦1年になっている様だ。
従って、time.ctime()の引数に、西暦1年1月1日0時0分0秒から
西暦1970年1月1日0時0分0秒までの秒数を加えてやれば、Pythonと同じ挙動をするはず。
>>> print time.ctime(t - TIME1970 + time.mktime((1970, 1, 1, 0, 0, 0, 3, 1, 0)))
水 6 13 00:28:26 2007


糞ワロタ


321 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 11:41:37.65 ]
>>317はPythonの話ではなくてXPの話
AD (Active Directory)に参加している端末なら強制的にADの時計に同期させられる
(Kerberos認証のため)
参加していなければ、Admin権限で
  net time /setsntp:[NTPサーバ]
を実行する

Pythonからやりたければこのコマンドをsubprocess.Popen()で呼び出す



322 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 12:14:17.62 ]
だれか性能の良い隔離スレ立ててくれ

323 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 00:55:31.53 ]
そもそも、ここが隔離スレだというのに。

324 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 09:58:08.20 ]
「自分は頭が良くて詳しいです」的な自己満足レスの典型だぞ。
相手は超初心者なんだからもう少し優しく教えてあげないと。
さもなくばスルーでOK

325 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:51:31.58 ]
hardwayのPracticeをeclipseのPydevでやってるんだけど、
どうやってEclipseで実行したらいいのかわからない

python ex13.py first 2nd 3rd
これをコマンドプロンプトとかで打つと別ファイルの内容が
出力できる問題なんだけどEclipseで確認したいです。
初心者すぎる質問だけど教えてください

ttp://learnpythonthehardway.org/book/ex13.html

326 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 19:59:01.28 ]
>>325
実行の構成>引数>プログラムの引数

first
2nd
3rd

327 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 21:34:15.24 ]
>>326
できました!ありがとう

328 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 01:18:32.94 ]
ファイルのreadについて質問させてください

file = open("aaa.txt")
file.read() #一度目のreadではファイルの内容が返ってくる
file.read() #二度目のreadでは空が返ってくる

これは二度以上はreadをしないように自分で気をつけるしかないのでしょうか?

329 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 01:22:55.38 ]
1回closeするクセをつければいいのでは

330 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 01:23:37.95 ]
>>328
何で空が帰ってくるかわかってる?
www.python.jp/doc/release/library/stdtypes.html#file.read

331 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 01:30:03.87 ]
たぶん>>328はそれを読んでも分からないんじゃないかな

言語をとわず、一般にファイルから読み込むread()みたいな関数は、
ファイルの現在の位置(カーソルみたいなもんだと思ってくれ)から
データを読み始めて、読んだ分だけカーソルが移動するのがふつうなんだわ

read()は引数を指定しないとファイルの現在の中身全部読み込むので、
その時点でカーソルは終端に移動する
もう一度read()を呼んだら、もう先には何も無いわけだから空が返ってくる

どうしてももう一度読み直したいんなら、seek()でカーソルを先頭まで持っていけば
いいんだが、本当にそれがしたいことなのか考えたほうがいい



332 名前:328 mailto:sage [2012/04/26(木) 02:38:25.88 ]
ありがとうございます、ファイル読み込みの概念は理解できました
Pythonに限らずどの言語でもファイルを読み込んだ後にcloseしている例が多いので、
なんとなくcloseするのがお行儀のいいやり方だとはわかっていたのですが二度readすると空になるとは思いませんでした

333 名前:328 mailto:sage [2012/04/26(木) 03:26:00.02 ]
何度もすみません。 実は自分で直接ファイルを扱っているわけではなくて、
MongoDBにファイルを格納できるGridFSという仕組みをPython上で扱える「MongoEngine」というライブラリを使っていまして、
そこで前述した問題にぶち当たりました(readthedocs.org/docs/mongoengine-odm/en/latest/guide/gridfs.html)。

ライブラリのコード見てみると、内部でファイルをreadした後に閉じていない?ようでポインタがEOFに到達したままになっているみたいです。
そこで、あまり行儀のいいやり方ではなさそうですが>>331さんの提案してくださったseek()で解決しました。
本当にありがとうございます。

334 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 04:01:26.09 ]
先頭に戻すのが目的ならrewind()がいいんじゃない?

335 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 04:50:08.69 ]
馬鹿には無理

336 名前:デフォルトの名無しさん [2012/04/26(木) 05:18:24.59 ]
IDはいらねーかなここ

337 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 06:43:49.28 ]
もう全板強制IDにして欲しいわ

338 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 20:48:30.72 ]
馬鹿には無理

339 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 03:27:31.94 ]
a = 1
print "OK" if a == 1 else print "NG"

これを実行すると
else printのtのところでSyntaxErroeになります。
どこが悪いのでしょうか。

340 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 04:30:13.32 ]
式のなかに文は置けない。なので条件式の中にprint文は置けない
print "OK" if a == 1 else "NG" なら動く

341 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 04:54:56.95 ]
>>339

print "OK" if a == 1 else "NG"

が正解。elseの後ろのprintが不要。

("OK" if a == 1 else "NG")

printの後ろに来るのはあくまで一つの値であるのが原則だから、
上のカッコ内全体が単一の値にevaluateされるためには、
printが無いほうが自然とわかると思う。つまり

if a == 1: "OK"
else: "NG"

ここで、elseの後ろにprintがあるとアンバランスということ。
別の言い方をすれば、普通のif-else statementでは、あるblockが
実行されるための条件を評価しているのに対し、ここではprintの目的語を
if-elseによって定めている、って感じかな。



342 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 06:39:08.47 ]
なるほど、2つの式のどちらかの値を返してもらうだけの
限定されたifなのですね。
ありがとうございました。

343 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 08:58:35.49 ]
条件式のifの方が優先順位が上なのか

344 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 09:58:10.80 ]
優先順位がどうのじゃなくて、ifって2種類あるんだよ
ステートメントのifと条件演算子のif

これらは優先順位じゃなく文脈によって定まる

345 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 10:00:19.52 ]
『カッコをつけなさい』
 - 神の声

346 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 10:01:21.90 ]
こっちが演算子if
conditional_expression ::= or_test ["if" or_test "else" expression]
expression ::= conditional_expression | lambda_form

こっちが分岐文if
if_stmt ::= "if" expression ":" suite
( "elif" expression ":" suite )*
["else" ":" suite]

347 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 10:04:02.89 ]
しかし条件演算子ifの導入には一悶着あったらしいね
俺は2.6からしか使ってないからよく知らないけど

348 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 10:06:01.15 ]
>>345
今回のは結合度や左/右結合の話じゃないのでそれはあてはまんない

349 名前:339 mailto:sage [2012/04/28(土) 12:35:59.22 ]
以下のように書いたら動いてしまいました。
これは関数名が式として解釈されるために
関数の中に文があっても問題ないということでしょうか?
「別にあんたのために動かしてあげたんじゃないんだからね
関数は式だから仕方ないでしょ」って言ってるみたいで
Python可愛いw

def A():
 print "OK"

def B():
 print "NG"

a = 1
A() if a == 1 else B()

350 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 13:04:34.00 ]
その通り
3.xだとprint文はprint関数になってるので

print('XXX') if a == 1 else print('yyy')

これも通る

351 名前:デフォルトの名無しさん [2012/04/28(土) 14:27:55.70 ]
IDはいらねーかなここ



352 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:22:09.19 ]
>>339
わかってるかもしれないけど一応補足しとくと、339が定義した
AやBという関数は、outputとしてはNoneを返しているってのに注意。
だから

(A() if a == 1 else B())

は全体として値はNoneとなり、標準出力には(関数のoutputではなく)
side effectとして文字列が現れているということ。
このことを明確にするには、

print (A() if a == 1 else B())

としてみればよい。

353 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:52:23.30 ]
『自演禁止』
 - 神の声

354 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:54:22.35 ]
馬鹿には無理

355 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 21:04:58.28 ]
『馬鹿には無理』
 - 馬鹿の声

356 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 18:23:46.04 ]
連休で勉強中。
リスト・辞書・セットの要素追加・削除メソッドが
統一されていなくて、やけに覚えづらく感じる。
みなさんは慣れちゃって平気って感じですか?

357 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 18:49:26.32 ]

統一されるわけなくないか?

358 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 19:27:54.84 ]
馬鹿には無理

359 名前:299 mailto:sage [2012/04/29(日) 19:38:51.47 ]
>>355
それはスクリプトです。
Akbの清楚な画像とかと同じ。

360 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:21:39.26 ]
pass

361 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:43:33.64 ]
>>357
追加はadd、削除はremoveに統一できるのでは
ないかと思うのだけど、初心者の浅慮ですかね…



362 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:53:57.43 ]
いまさら変えられない
初心者は黙ってろ

363 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:59:07.31 ]
インターフェイスを統一するラッパークラスでも書けば?






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

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

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