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

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

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

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

前スレ
くだすれPython(超初心者用) その22
http://toro.2ch.net/test/read.cgi/tech/1394240091/
関連スレ
Pythonのお勉強 Part49
http://toro.2ch.net/test/read.cgi/tech/1387528488/

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

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

◆まとめwiki
ttp://python.rdy.jp/
0002デフォルトの名無しさん2014/05/19(月) 15:01:40.81ID:C9xN4CIo
立った
0003デフォルトの名無しさん2014/05/19(月) 15:26:57.12ID:xs01V/sZ
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
0004デフォルトの名無しさん2014/05/19(月) 15:31:56.04ID:xs01V/sZ
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0005デフォルトの名無しさん2014/05/19(月) 16:14:27.05ID:6L2g2kAx
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
0006デフォルトの名無しさん2014/05/20(火) 00:53:14.02ID:c/zSMJrz
乙乙py
0007デフォルトの名無しさん2014/05/21(水) 08:59:06.89ID:/08zgsVl
>>1乙乙
0008デフォルトの名無しさん2014/05/24(土) 03:26:05.27ID:4Shar09G
てす
0009デフォルトの名無しさん2014/05/24(土) 15:27:47.49ID:h2zYt45c
難しいコンピュータ理論のわからない人間に
Pythonで以下のようになる論理的な説明を誰かお願いします

a = [] の時
bool(a)はFalse
all(a)はTrue
0010デフォルトの名無しさん2014/05/24(土) 15:35:11.07ID:Gl+D6mpu
理論的な説明もなにもそう決まってるからとしか言いようがない

http://docs.python.jp/3/reference/expressions.html#boolean-operations
ブール演算のコンテキストや、式が制御フロー文中で使われる際には、
以下の値: False 、 None すべての型における数値の 0、空の文字列、
空のコンテナ (文字列、タプル、リスト、辞書、集合、凍結集合など) は
偽 (false) であると解釈されます。それ以外の値は真 (true) であると解釈されます。

http://docs.python.jp/3/library/functions.html#all
iterable の全ての要素が真ならば (もしくは iterable が空ならば) True を返します。
0011デフォルトの名無しさん2014/05/24(土) 15:57:29.60ID:fV/1J88J
allは、「要素がある⇒それはすべて真」がTrueであることだから
前提がFalseなら、all自体はTrue
0012デフォルトの名無しさん2014/05/24(土) 16:02:45.13ID:hlo3j/US
>>> bool([False])
True
0013デフォルトの名無しさん2014/05/24(土) 18:03:32.61ID:DFMQ1RaY
まずboolとallの定義からはじめようか
0014デフォルトの名無しさん2014/05/24(土) 22:07:14.68ID:GtRtgzPJ
>>9
これとこれを読もう
http://docs.python.jp/3.3/reference/datamodel.html#object.__bool__
http://docs.python.jp/3.3/library/functions.html#all

allはイテラブルにFalseが含まれていたらFalse。それ以外はTrue
だから空イテラブルはTrueになる
0015デフォルトの名無しさん2014/05/24(土) 22:38:14.54ID:QeWtQmqd
> allはイテラブルにFalseが含まれていたらFalse。それ以外はTrue
それだと all([""]) は True を返すように聞こえる
0016デフォルトの名無しさん2014/05/24(土) 23:08:01.90ID:GtRtgzPJ
>>15
""はFalseだから問題ないような……
でもちょっとわかりにくかったか。すまん

リンク先にコードあるし俺の一言は蛇足だったかも
0017デフォルトの名無しさん2014/05/24(土) 23:19:44.40ID:4Shar09G
""はFalseだから問題ないよ
なんで
all([""]) が True を返す
と思ったの?
0018デフォルトの名無しさん2014/05/24(土) 23:46:17.80ID:QeWtQmqd
False と "" はまったくの別物じゃないか
だからドキュメントでは "Return True if bool(x) is True for all values x in the iterable." なんて
言い方をしているわけで
0019デフォルトの名無しさん2014/05/25(日) 00:22:53.24ID:Bq1986NC
pythonってNullに相当する定数てないの?
NoneってNullじゃないよね
None == "\0" # False
0020デフォルトの名無しさん2014/05/25(日) 03:26:50.63ID:Vi+cJlmc
PythonのNoneは他の言語のヌルポインターに相当している定数で合っている
何のプログラミング言語か分からないけど、Nullと"\0"は意味が違う
Nullはヌルポインター、"\0"はヌル文字を含む文字列を表していると思われる

PythonだとNoneは値がないことを表す値、"\0"はヌル文字を含む長さ1の文字列を表している
比較したときに暗黙の型変換は起こらないので真にならない
0021デフォルトの名無しさん2014/05/25(日) 03:51:31.83ID:Vi+cJlmc
>>14-18
Pythonは強い動的型付けを取り入れていて、基本的に暗黙的な型変換はしないけど
真偽値が期待される場所では積極的にbool型への暗黙的な型変換が働く
0022デフォルトの名無しさん2014/05/25(日) 07:00:43.18ID:UhrsCUPW
なるほど、わかった気がします

boolは引数全体を評価する
↓
空iterable全体はFalseに変換されるので、bool([])はFalse

allは引数のiterableの各要素を評価する
↓
空iterableの要素は「存在しない」のでbool値に変換できず、TrueでもFalseでもない ※ココ重要
↓
「要素にFalseが含まれていたらFalse、それ以外はTrue」というallの仕様により、all([])はTrue
0023デフォルトの名無しさん2014/05/25(日) 10:26:15.68ID:Wcl6d7YS
boolは引数全体を評価する
↓
空iterable全体はFalseに変換されるので、bool([False])はFalse
0024デフォルトの名無しさん2014/05/25(日) 10:28:06.48ID:Wcl6d7YS
>>> all([True])
True
>>> all([False])
False
>>> all([])
True
>>> bool([True])
True
>>> bool([False])
True
>>> bool([])
False
0025デフォルトの名無しさん2014/05/25(日) 11:22:27.34ID:UhrsCUPW
いろいろありましたが、
allを「iterableの全ての要素がTrueであり、かつ空でない」ことの
チェックに使うと怪我をするということですね。
けっこうクリティカルな業務に使っているので肝に銘じます。
0026デフォルトの名無しさん2014/05/25(日) 11:33:03.86ID:sSegk3tB
all に限らないけど
使うな危険とか
はまりどころとか
まとめてるサイトってある?
0027デフォルトの名無しさん2014/05/25(日) 15:25:44.87ID:t1V1lNcr
素数を生成するライブラリってNZMATHの他にあります?
以前見かけた気がするのですが、検索してもでなくて
0028デフォルトの名無しさん2014/05/25(日) 18:35:43.80ID:cec37mBk
sqliteでreqカラムのword(部分一致)ってどうやったらいいですか?
con.execute(u'select rowid, * from db where %s LIKE "%s"' % (req,word))
0029デフォルトの名無しさん2014/05/25(日) 23:37:27.54ID:QUzAifTx
馬鹿には無理
0030デフォルトの名無しさん2014/05/26(月) 01:12:17.11ID:Dq9xHmpl
word = u'%hoge%'
0031デフォルトの名無しさん2014/05/26(月) 14:13:27.92ID:Egp27eY/
https://twitter.com/methane/status/470700720652431360
これどういう意味ですか?
print()ってかけば2と3両方共対応できると思うんですがこれは何の話ですか?
0032デフォルトの名無しさん2014/05/26(月) 14:14:33.99ID:Egp27eY/
本当は直接聞けって言われるかも知れませんがあまりにもフォロー数とフォロワー数が異なるので
フォローしてない人のリプは読まない人っぽいのでこちらで質問させていただきました
0033デフォルトの名無しさん2014/05/26(月) 14:30:35.08ID:2JzRM12h
かなり今更感
0034デフォルトの名無しさん2014/05/26(月) 17:32:32.53ID:ssj5W0pD
>>31
>>> print("a", "b", "c" , sep="|")
SyntaxError: invalid syntax
>>> from __future__ import print_function
>>> print("a", "b", "c" , sep="|")
a|b|c
0035デフォルトの名無しさん2014/05/26(月) 17:41:20.01ID:ssj5W0pD
>>31
補足しとくと
2.xのprint()はprint文に(1, 2, 3)っていうタプルを渡してるだけ
>>> print ("a", "b", "c")
('a', 'b', 'c')
0036デフォルトの名無しさん2014/05/26(月) 17:43:24.65ID:ssj5W0pD
(1, 2, 3)じゃなくて("a", "b", "c")だったな
0037デフォルトの名無しさん2014/05/26(月) 17:43:24.78ID:2JzRM12h
間違ってるって指摘したらブロックされそうだ
0038デフォルトの名無しさん2014/05/26(月) 22:55:36.43ID:EPKtpGZs
print(1,2,3)みたいに書くなら
print("{}{}{}".format(1,2,3))って書けば両方対応できると思うんだけど
0039デフォルトの名無しさん2014/05/27(火) 00:23:30.18ID:b99/t4fc
そんなめんどくさいことするくらいなら素直にfrom __future__ import print_function使えよ
0040デフォルトの名無しさん2014/05/27(火) 00:29:24.93ID:GgBMhOaf
phpの$object->$nameはpythonではどう書いたらいいでしょうか?
0041デフォルトの名無しさん2014/05/27(火) 00:34:50.21ID:GgBMhOaf
すみません自己解決しました
getattr(object, 'name')
0042デフォルトの名無しさん2014/05/27(火) 00:46:24.20ID:GgBMhOaf
続けてすみません
phpのUser::$nameはpythonでどう書いたらいいでしょうか
■ このスレッドは過去ログ倉庫に格納されています