トップページ⇒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/
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でどう書いたらいいでしょうか
0043デフォルトの名無しさん2014/05/27(火) 00:47:11.14ID:PXeOjUep
ついでに list(map(print, range(10))) みたいなこともできるようになったけど嬉しいかどうかはしらない
lambda に渡せるのは稀に便利
0044デフォルトの名無しさん2014/05/27(火) 01:52:08.30ID:ngkX6cAi
from __future__ import print_functionする前のprintと後のprintは別物
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> print(1,2,3)
(1, 2, 3)
>>> from __future__ import print_function
>>> print(1,2,3)
1 2 3
>>> print((1,2,3))
(1, 2, 3)
0045デフォルトの名無しさん2014/05/27(火) 01:54:42.96ID:fDLDDGc5
>>42
ドキュメントぐらい読めよ
0046デフォルトの名無しさん2014/05/27(火) 01:57:36.43ID:fDLDDGc5
そもそもprint(1,2,3)みたいな使い方をするってレアじゃない?
0047デフォルトの名無しさん2014/05/27(火) 02:54:09.71ID:vwK3Zsni
38が正解
0048デフォルトの名無しさん2014/05/27(火) 21:45:14.93ID:JvmXnqEP
sys.stdout.write
0049デフォルトの名無しさん2014/05/27(火) 21:53:35.90ID:xZjfoO9Y
print(*msgs) とかのことを考えると format で代用ってのもきつそう
もし両対応させるなら print_function ひっぱってきたほうが良さげか
0050デフォルトの名無しさん2014/05/30(金) 14:49:42.26ID:C8E1zgtw
pyenvはダメだ使うんじゃねえってツイートを見たんですけどpyenvがダメなのは有名なことなんですか?
ずっと使ってましたがどうやって複数バージョンを入れるのが良いのでしょうか?
0051デフォルトの名無しさん2014/05/30(金) 15:00:01.82ID:C8E1zgtw
ちなみに2.7と3.4しか使いません
0052デフォルトの名無しさん2014/05/30(金) 16:21:46.60ID:6WJTDNe5
virtualenvで済むのになんでわざわざpyenvなんかつかってんのっていう事じゃないの
0053デフォルトの名無しさん2014/05/30(金) 16:47:16.55ID:lri6NfmJ
virtualenvは今インストールされているバージョンのpythonで複数の環境を作れるので
pyenvは異なるバージョンをインストールできるし管理できる。
特定のバージョンしか使わないならvirtualenvで環境わけるだけでいいだろう
virtualenvとpyenvを比較する話ではないと思うんだけどtwitterでは何故同一で考えている人が多いのか
0054デフォルトの名無しさん2014/05/30(金) 17:06:29.11ID:6WJTDNe5
>>53
virtualenvでも別のバージョンの環境つくれるけど、それを知らない人がpyenv使ってるのか
0055デフォルトの名無しさん2014/05/30(金) 17:48:41.56ID:lri6NfmJ
virtualenvは複数バージョンを管理できない
0056デフォルトの名無しさん2014/05/30(金) 20:28:31.50ID:DRgNqQjq
君らあらゆる面ですべて間違ってるよ
「そのツイートした奴に聞けよ」が正解
0057デフォルトの名無しさん2014/05/30(金) 20:36:47.48ID:DRgNqQjq
まあvirtualenvのドキュメントに

バージョン違うPythonを使ってるなら、それぞれにvirtualenvを入れてください
スクリプトにバージョンのサフィックスをつけるようにしましたので、衝突しません

って書いてあるけど
0058デフォルトの名無しさん2014/05/31(土) 00:14:16.80ID:FdQ8Co+W
pyenv+virtualenvでならたまに
0059デフォルトの名無しさん2014/05/31(土) 18:57:13.02ID:XGX5yLkH
pyenv使えばいろんなバージョン入れられるから便利だよ
0060デフォルトの名無しさん2014/05/31(土) 21:20:19.81ID:5YDfME91
virtualenvでもいろんなバージョン入れられるよ

dev@deb:~$ python --version
Python 2.7.3
dev@deb:~$ source py2.7/bin/activate
(py2.7)dev@deb:~$ python --version
Python 2.7.6
(py2.7)dev@deb:~$ source py3.4/bin/activate
(py3.4)dev@deb:~$ python --version
Python 3.4.0
0061デフォルトの名無しさん2014/05/31(土) 21:22:28.27ID:AMs2U+EM
馬鹿馬鹿しい
0062デフォルトの名無しさん2014/05/31(土) 21:23:24.28ID:AMs2U+EM
てか質問の意味が分かってないなら喋るなと
0063デフォルトの名無しさん2014/05/31(土) 21:29:24.15ID:FdQ8Co+W
しかも>>53は作れるでなくて管理できるって言ってる
人の話をまず正確に解釈しろ
0064デフォルトの名無しさん2014/05/31(土) 22:37:23.91ID:xM8SOXBn
python2.7です。

rowにはユニコード型の文字列が含まれています。

以下の行だとエラーになりますが、
In: a = [row[3:] for row in PartsList if re_SH.match(row[3])]
Out:TypeError: expected string or buffer

str(row[3]) とする以下の行では正常に動作します。
a = [row[3:] for row in PartsList if re_SH.match(str(row[3]))]

ネットで調べると、正規表現でユニコード型をつかうなら、正規表現パターンと文字列両方をユニコードに
すればいい、と書かれていたのですが、両方にuをつけても、上記エラーになります。

理由を教えていただけないでしょうか。
0065デフォルトの名無しさん2014/05/31(土) 22:54:07.79ID:CxiaUoc1
長文ですいません、質問お願いします。
BeautifulSoupで特定のurlのみを抜きたい場合、例えば以下のような

<div id="tieup_list_content">
<div id="tieup_list_content-0" class="test">
<ul>
<li class="clearfix">
<div class="left-col">
<a class="head-text" href="http://cookpad.com/loading/ct/?crid=21746&;amp;pid=511" target="_top">
</div>
<div class="right-col">
<::after>
</li>
</ul>
</div>
<div id="tieup_list_content-1" class="test">
<div id="tieup_list_content-2" class="test">
<div id="tieup_list_content-3" class="test">

構造の場合、
for list in soup.findAll("a",class_="head-text"):
if ( list.has_key('href') ):
print (list["href"])

と書いても抜けません。class='test'としても、最初にfor tieups in soup.find('div',{'id':'tieup_list_content'}):
を書いてみたのですが駄目でした。どう書いたらいいでしょうか?
0066デフォルトの名無しさん2014/05/31(土) 23:31:23.25ID:tD8EEUor
>>65
手元でコピペして試してみたらちゃんとurl出力されたよ
has_key('href')じゃなくてhas_attr('href')使えって警告は出たけど
0067デフォルトの名無しさん2014/05/31(土) 23:43:44.85ID:1umWzhcx
Pythonって実際どのレベルまで使えるの?
0068デフォルトの名無しさん2014/05/31(土) 23:50:56.69ID:Na4FnqiV
https://twitter.com/jkltf/status/472742638844518400
pyenvってactivateするんだっけ?もしかしてこれはvirtualenvの話?
0069642014/06/01(日) 00:09:19.66ID:Bz5RJ4Oy
すみません、row[3]はlistでした・・・。
ユニコード型はもう1階層深いところでした。

上の質問は忘れてください。
0070デフォルトの名無しさん2014/06/01(日) 00:47:09.03ID:LDAZuhZw
>>67
それは貴方自身で試して確認すべきことですよ
0071デフォルトの名無しさん2014/06/01(日) 02:32:20.18ID:aUREUHMV
初心者質問ですみません。サービスを作って公開したところへスクリプトか何かでアタックされたら一気に課金枠内上限までいってサーバーが停止してしまうのでしょうか。Googleが感知してIPを弾いてくれたり、何らかのガードはGAEにデフォルトで付いてるのでしょうか。
もしそういった仕組みが無ければみなさんその辺りは自分で対策されているのでしょうか。
0072デフォルトの名無しさん2014/06/01(日) 02:35:46.44ID:R+1cviYt
初心者なのにアグレッシブだな。残念ながら知識がそれに伴ってないが。
0073デフォルトの名無しさん2014/06/01(日) 02:37:36.80ID:NChbU919
Google App Engine for Python 6アプ目
http://nozomi.2ch.net/test/read.cgi/php/1358570953/
0074デフォルトの名無しさん2014/06/01(日) 08:48:04.15ID:aUREUHMV
ああ!スレ間違えました!すみません!
0075デフォルトの名無しさん2014/06/01(日) 09:03:28.76ID:aUREUHMV
あっちのスレを見に行ったら既に誰かが自分のレス内容を書いておいてくれたようです。お手を煩わせてしまいすみませんでした。では失礼します。
0076デフォルトの名無しさん2014/06/01(日) 10:46:15.46ID:QQAPK+BU
報告が丁寧なので好感度大
0077デフォルトの名無しさん2014/06/01(日) 12:00:06.83ID:UelQ8/AM
>>70
いや、やってはいるんだけどマジで何もできない初心者用の言語なのかどうか知りたくて
0078デフォルトの名無しさん2014/06/01(日) 12:03:00.81ID:lZbdDAn5
初心者用って何?
0079デフォルトの名無しさん2014/06/01(日) 12:41:04.58ID:UelQ8/AM
>>78
どっかの紹介に書いてあった
0080デフォルトの名無しさん2014/06/01(日) 12:42:29.55ID:SbfJTSav
>>77
どのレベルまで使えるってどういうこと?

商売にもなるし、趣味でも使えるよ
実装効率やサーバーの稼働率や利益率まで考えろって事?
0081デフォルトの名無しさん2014/06/01(日) 12:49:53.35ID:+GsRp3YP
初心者用言語ではないな。初心者にも使いやすくはあっても。
(あくまでJavaとかC++とかと比べれば比較的、といった意味で)
0082デフォルトの名無しさん2014/06/01(日) 13:01:02.58ID:+GsRp3YP
言語自体が初心者用、教育用を謳ったのはBASICやPascalか。
今ならScratchかな?
0083デフォルトの名無しさん2014/06/01(日) 14:05:20.35ID:iIEd2k72
web2pyが挙げてほしそうにこちらを見ている
0084デフォルトの名無しさん2014/06/01(日) 18:50:32.51ID:5mIsRiq3
>>83
mail: [sage]
0085デフォルトの名無しさん2014/06/01(日) 19:35:42.10ID:MBRAGf+z
pythonってwebの仕事ある?
webできのこるためにpython勉強してるのは間違えのような気がしてきたんですがどうなのか教えてください
0086デフォルトの名無しさん2014/06/01(日) 19:50:06.92ID:IBW92nB5
自分の強みを生かして仕事を作れなきゃ生き残れないと思う
0087デフォルトの名無しさん2014/06/02(月) 00:43:01.71ID:s/t3maig
仕事を求めるなら特定の言語で求めてるうちは無いと思えよ
PHPだってJavaだってそれだけじゃ話にならん
0088デフォルトの名無しさん2014/06/02(月) 00:51:38.17ID:oyNEP+R5
勉強始めてからそんな疑問を持つようじゃとても生き残れそうにないな。
0089デフォルトの名無しさん2014/06/02(月) 05:59:18.15ID:Arg7CftR
>>85
生き残る為ってほど重要ならRubyにしとけば?

日本でだけはweb = Rubyみたいだから。
0090デフォルトの名無しさん2014/06/02(月) 07:23:03.34ID:/nxod1Xx
Python 2.7.7 リリース
https://www.python.org/download/releases/2.7.7/
0091デフォルトの名無しさん2014/06/02(月) 07:30:30.79ID:OMh1l+bm
うん、簡単に他言語に乗り換えられないとまず死亡フラグ
これからもどんどん新しい言語は出てくるだろうから
0092デフォルトの名無しさん2014/06/02(月) 09:59:44.26ID:RqFugdZY
求人みればphpがほとんどだよ
たまにrubyがあってpythonはめったにない
0093デフォルトの名無しさん2014/06/02(月) 10:16:55.64ID:yv/nHUfZ
javascriptはないわ
0094デフォルトの名無しさん2014/06/02(月) 17:05:49.63ID:cqLxz4Q6
まだBBQか?
0095デフォルトの名無しさん2014/06/02(月) 17:10:59.87ID:cqLxz4Q6
おー書き込める
>>66
レス遅くなってすいません、サイト上からはどうも抽出できなかったです。
で結局、昨日一日はまった挙句、今日からlxmlに変えて勉強しなおそうと思っているんですが
もし、BeautifulSoupで特定のdiv以下のaタグのみを抽出できる方法知っていたらご教示していただきたいです。
0096952014/06/02(月) 19:02:59.91ID:cqLxz4Q6
すいません、解決しました。というか
aタグ全て抽出しても、狙いのタグは抽出できていませんでした。
これは別の問題ですね。お騒がせしました。
0097デフォルトの名無しさん2014/06/02(月) 19:04:52.31ID:seA5qCd2
pythonで値渡しをするにはどうすればいいでしょうか!

value = 20
tmp = value # tmpにvalueの現在の値をコピーした後、
value += 5 # valueに処理を行います
value = tmp # valueの状態を以前の状態に戻したいのですが

tmpの値が変わっている為以前の状態に戻らないです。
理屈は分かっていますが、どう変えるのが一番簡単でしょうか?
0098デフォルトの名無しさん2014/06/02(月) 19:11:17.00ID:BvPtciGS
>>97
俺のPythonだとtmpは20のままだよ
0099デフォルトの名無しさん2014/06/02(月) 20:02:31.19ID:X19dTLG/
俺のPythonは最近元気が無い
0100デフォルトの名無しさん2014/06/02(月) 20:04:38.75ID:BvPtciGS
ていうかPythonのその辺、実はよく勉強せずに使ってるんだよなあ
浅いコピー・深いコピーとか意味わかんないし
Cのポインタが嫌だからこっちに逃げてきたのだし
0101デフォルトの名無しさん2014/06/02(月) 20:12:49.63ID:seA5qCd2
>>98
ごめんなさい、確かにそうですね。
ちょっと勘違いしてました。

>>> value = [1,2,3]
>>> tmp = value
>>> value.remove(1)
>>> print value
[2, 3]
>>> print tmp
[2, 3]

このようにtmpの値も変更されてしまうのです。
valueに処理を行う際に、その中身は退避するにはどうすればよいかが知りたいです。
0102デフォルトの名無しさん2014/06/02(月) 20:19:32.60ID:XrfIxkeA
浅いコピーでいいなら
tmp = value.copy() か tmp = value[:]
0103デフォルトの名無しさん2014/06/02(月) 20:30:51.09ID:4C3VTH4i
tmp = list(value) でもいいね

>>101
近年の言語では、「ポインタの値渡し」とか、「参照の・・・」とかという
概念からは避けて通れないので、理解してみると技術の幅が広がるよ

むしろC/C++のポインタと参照の方が、親切だと思うときはある
■ このスレッドは過去ログ倉庫に格納されています