2 :
デフォルトの名無しさん:2014/05/19(月) 15:01:40.81 ID:C9xN4CIo
立った
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
| i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
|( ´∀`) < きのこ のこーのこ げんきのこ ♪
|(ノ |つ
| |
⊂ _ ノ
""U
_,,,......,,__
/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
(´∀` )| < エリンギ まいたけ ブナシメジ ♪
⊂| (ノ |
| |
ヽ _ ⊃
.U""
|
| ミ
| ミ サッ!
| ミ
|
┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは
>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
6 :
デフォルトの名無しさん:2014/05/20(火) 00:53:14.02 ID:c/zSMJrz
乙乙py
8 :
デフォルトの名無しさん:2014/05/24(土) 03:26:05.27 ID:4Shar09G
てす
難しいコンピュータ理論のわからない人間に
Pythonで以下のようになる論理的な説明を誰かお願いします
a = [] の時
bool(a)はFalse
all(a)はTrue
allは、「要素がある⇒それはすべて真」がTrueであることだから
前提がFalseなら、all自体はTrue
>>> bool([False])
True
まずboolとallの定義からはじめようか
> allはイテラブルにFalseが含まれていたらFalse。それ以外はTrue
それだと all([""]) は True を返すように聞こえる
>>15 ""はFalseだから問題ないような……
でもちょっとわかりにくかったか。すまん
リンク先にコードあるし俺の一言は蛇足だったかも
""はFalseだから問題ないよ
なんで
all([""]) が True を返す
と思ったの?
False と "" はまったくの別物じゃないか
だからドキュメントでは "Return True if bool(x) is True for all values x in the iterable." なんて
言い方をしているわけで
pythonってNullに相当する定数てないの?
NoneってNullじゃないよね
None == "\0" # False
PythonのNoneは他の言語のヌルポインターに相当している定数で合っている
何のプログラミング言語か分からないけど、Nullと"\0"は意味が違う
Nullはヌルポインター、"\0"はヌル文字を含む文字列を表していると思われる
PythonだとNoneは値がないことを表す値、"\0"はヌル文字を含む長さ1の文字列を表している
比較したときに暗黙の型変換は起こらないので真にならない
>>14-18 Pythonは強い動的型付けを取り入れていて、基本的に暗黙的な型変換はしないけど
真偽値が期待される場所では積極的にbool型への暗黙的な型変換が働く
なるほど、わかった気がします
boolは引数全体を評価する
↓
空iterable全体はFalseに変換されるので、bool([])はFalse
allは引数のiterableの各要素を評価する
↓
空iterableの要素は「存在しない」のでbool値に変換できず、TrueでもFalseでもない ※ココ重要
↓
「要素にFalseが含まれていたらFalse、それ以外はTrue」というallの仕様により、all([])はTrue
boolは引数全体を評価する
↓
空iterable全体はFalseに変換されるので、bool([False])はFalse
>>> all([True])
True
>>> all([False])
False
>>> all([])
True
>>> bool([True])
True
>>> bool([False])
True
>>> bool([])
False
いろいろありましたが、
allを「iterableの全ての要素がTrueであり、かつ空でない」ことの
チェックに使うと怪我をするということですね。
けっこうクリティカルな業務に使っているので肝に銘じます。
all に限らないけど
使うな危険とか
はまりどころとか
まとめてるサイトってある?
素数を生成するライブラリってNZMATHの他にあります?
以前見かけた気がするのですが、検索してもでなくて
sqliteでreqカラムのword(部分一致)ってどうやったらいいですか?
con.execute(u'select rowid, * from db where %s LIKE "%s"' % (req,word))
馬鹿には無理
word = u'%hoge%'
本当は直接聞けって言われるかも知れませんがあまりにもフォロー数とフォロワー数が異なるので
フォローしてない人のリプは読まない人っぽいのでこちらで質問させていただきました
かなり今更感
>>31 >>> print("a", "b", "c" , sep="|")
SyntaxError: invalid syntax
>>> from __future__ import print_function
>>> print("a", "b", "c" , sep="|")
a|b|c
>>31 補足しとくと
2.xのprint()はprint文に(1, 2, 3)っていうタプルを渡してるだけ
>>> print ("a", "b", "c")
('a', 'b', 'c')
(1, 2, 3)じゃなくて("a", "b", "c")だったな
間違ってるって指摘したらブロックされそうだ
print(1,2,3)みたいに書くなら
print("{}{}{}".format(1,2,3))って書けば両方対応できると思うんだけど
そんなめんどくさいことするくらいなら素直にfrom __future__ import print_function使えよ
phpの$object->$nameはpythonではどう書いたらいいでしょうか?
すみません自己解決しました
getattr(object, 'name')
続けてすみません
phpのUser::$nameはpythonでどう書いたらいいでしょうか
ついでに list(map(print, range(10))) みたいなこともできるようになったけど嬉しいかどうかはしらない
lambda に渡せるのは稀に便利
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)
そもそもprint(1,2,3)みたいな使い方をするってレアじゃない?
38が正解
sys.stdout.write
print(*msgs) とかのことを考えると format で代用ってのもきつそう
もし両対応させるなら print_function ひっぱってきたほうが良さげか
pyenvはダメだ使うんじゃねえってツイートを見たんですけどpyenvがダメなのは有名なことなんですか?
ずっと使ってましたがどうやって複数バージョンを入れるのが良いのでしょうか?
ちなみに2.7と3.4しか使いません
virtualenvで済むのになんでわざわざpyenvなんかつかってんのっていう事じゃないの
virtualenvは今インストールされているバージョンのpythonで複数の環境を作れるので
pyenvは異なるバージョンをインストールできるし管理できる。
特定のバージョンしか使わないならvirtualenvで環境わけるだけでいいだろう
virtualenvとpyenvを比較する話ではないと思うんだけどtwitterでは何故同一で考えている人が多いのか
>>53 virtualenvでも別のバージョンの環境つくれるけど、それを知らない人がpyenv使ってるのか
virtualenvは複数バージョンを管理できない
君らあらゆる面ですべて間違ってるよ
「そのツイートした奴に聞けよ」が正解
まあvirtualenvのドキュメントに
バージョン違うPythonを使ってるなら、それぞれにvirtualenvを入れてください
スクリプトにバージョンのサフィックスをつけるようにしましたので、衝突しません
って書いてあるけど
pyenv+virtualenvでならたまに
pyenv使えばいろんなバージョン入れられるから便利だよ
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
馬鹿馬鹿しい
てか質問の意味が分かってないなら喋るなと
しかも
>>53は作れるでなくて管理できるって言ってる
人の話をまず正確に解釈しろ
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をつけても、上記エラーになります。
理由を教えていただけないでしょうか。
長文ですいません、質問お願いします。
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&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'}):
を書いてみたのですが駄目でした。どう書いたらいいでしょうか?
>>65 手元でコピペして試してみたらちゃんとurl出力されたよ
has_key('href')じゃなくてhas_attr('href')使えって警告は出たけど
67 :
デフォルトの名無しさん:2014/05/31(土) 23:43:44.85 ID:1umWzhcx
Pythonって実際どのレベルまで使えるの?
69 :
64:2014/06/01(日) 00:09:19.66 ID:Bz5RJ4Oy
すみません、row[3]はlistでした・・・。
ユニコード型はもう1階層深いところでした。
上の質問は忘れてください。
>>67 それは貴方自身で試して確認すべきことですよ
初心者質問ですみません。サービスを作って公開したところへスクリプトか何かでアタックされたら一気に課金枠内上限までいってサーバーが停止してしまうのでしょうか。Googleが感知してIPを弾いてくれたり、何らかのガードはGAEにデフォルトで付いてるのでしょうか。
もしそういった仕組みが無ければみなさんその辺りは自分で対策されているのでしょうか。
初心者なのにアグレッシブだな。残念ながら知識がそれに伴ってないが。
ああ!スレ間違えました!すみません!
あっちのスレを見に行ったら既に誰かが自分のレス内容を書いておいてくれたようです。お手を煩わせてしまいすみませんでした。では失礼します。
報告が丁寧なので好感度大
77 :
デフォルトの名無しさん:2014/06/01(日) 12:00:06.83 ID:UelQ8/AM
>>70 いや、やってはいるんだけどマジで何もできない初心者用の言語なのかどうか知りたくて
初心者用って何?
79 :
デフォルトの名無しさん:2014/06/01(日) 12:41:04.58 ID:UelQ8/AM
>>77 どのレベルまで使えるってどういうこと?
商売にもなるし、趣味でも使えるよ
実装効率やサーバーの稼働率や利益率まで考えろって事?
初心者用言語ではないな。初心者にも使いやすくはあっても。
(あくまでJavaとかC++とかと比べれば比較的、といった意味で)
言語自体が初心者用、教育用を謳ったのはBASICやPascalか。
今ならScratchかな?
web2pyが挙げてほしそうにこちらを見ている
pythonってwebの仕事ある?
webできのこるためにpython勉強してるのは間違えのような気がしてきたんですがどうなのか教えてください
自分の強みを生かして仕事を作れなきゃ生き残れないと思う
仕事を求めるなら特定の言語で求めてるうちは無いと思えよ
PHPだってJavaだってそれだけじゃ話にならん
勉強始めてからそんな疑問を持つようじゃとても生き残れそうにないな。
>>85 生き残る為ってほど重要ならRubyにしとけば?
日本でだけはweb = Rubyみたいだから。
うん、簡単に他言語に乗り換えられないとまず死亡フラグ
これからもどんどん新しい言語は出てくるだろうから
求人みればphpがほとんどだよ
たまにrubyがあってpythonはめったにない
javascriptはないわ
まだBBQか?
おー書き込める
>>66 レス遅くなってすいません、サイト上からはどうも抽出できなかったです。
で結局、昨日一日はまった挙句、今日からlxmlに変えて勉強しなおそうと思っているんですが
もし、BeautifulSoupで特定のdiv以下のaタグのみを抽出できる方法知っていたらご教示していただきたいです。
96 :
95:2014/06/02(月) 19:02:59.91 ID:cqLxz4Q6
すいません、解決しました。というか
aタグ全て抽出しても、狙いのタグは抽出できていませんでした。
これは別の問題ですね。お騒がせしました。
97 :
デフォルトの名無しさん:2014/06/02(月) 19:04:52.31 ID:seA5qCd2
pythonで値渡しをするにはどうすればいいでしょうか!
value = 20
tmp = value # tmpにvalueの現在の値をコピーした後、
value += 5 # valueに処理を行います
value = tmp # valueの状態を以前の状態に戻したいのですが
tmpの値が変わっている為以前の状態に戻らないです。
理屈は分かっていますが、どう変えるのが一番簡単でしょうか?
>>97 俺のPythonだとtmpは20のままだよ
俺のPythonは最近元気が無い
ていうかPythonのその辺、実はよく勉強せずに使ってるんだよなあ
浅いコピー・深いコピーとか意味わかんないし
Cのポインタが嫌だからこっちに逃げてきたのだし
>>98 ごめんなさい、確かにそうですね。
ちょっと勘違いしてました。
>>> value = [1,2,3]
>>> tmp = value
>>> value.remove(1)
>>> print value
[2, 3]
>>> print tmp
[2, 3]
このようにtmpの値も変更されてしまうのです。
valueに処理を行う際に、その中身は退避するにはどうすればよいかが知りたいです。
浅いコピーでいいなら
tmp = value.copy() か tmp = value[:]
tmp = list(value) でもいいね
>>101 近年の言語では、「ポインタの値渡し」とか、「参照の・・・」とかという
概念からは避けて通れないので、理解してみると技術の幅が広がるよ
むしろC/C++のポインタと参照の方が、親切だと思うときはある
安価ミス…?
106 :
デフォルトの名無しさん:2014/06/03(火) 01:14:47.69 ID:sqxj/P/2
python2.7.7をインストールしたせいかIDLEが起動できなくなってしまいました。
クリックしても何も起きません。
どうすればよいでしょうか。
>>100 クラスAの中にクラスBがあり、
Bの中にクラスCがある、A.B.C という階層を考える
浅いコピー(shallow copy)は、そのクラスA しかコピーしない
BCの参照(ポインタ)だけをコピーして、
実体をコピーしていないので、
Aは2つあるが、BCは1つしかないので、同じBCを使う
普通は、同じBCを使うとマズイことになる
深いコピー(deep copy)は、ABCと深い階層までコピーする
ABCも2つずつあり、独立して使える
pythonのオブジェクト指向ってjavaと比較して足りない機能ってありますか?
phpとpythonどっちかで学ぼうと思っていたんですがphpは足りない機能があるそうなのでpythonを検討しています
phpって仕事で要求されてる人以外で自ら勉強しようと思ってる人っているの?
思いつくところとしてはフィールドのアクセス制限は強制じゃない
それで特別困ったことはないが
いわゆる古臭いオブジェクト指向の3原則から脱却できてない奴は
見えない敵にフィールドを書き換えられる恐怖に苛まれて精神的にキツイらしい
ゆるいオブジェクト指向ω
Pythonに限った話じゃないが動的型付けだからインターフェースは用意しなくていい
ダックタイピングでゆるゆるいこうぜってノリが標準ライブラリまで浸透しているのでそこんとこよろしく
ダックタイピングってゆるゆるなのか?
pipでインストールするだけで使えるサードパーティ製GUIライブラリってありませんか?
pyqtはpipじゃないので悔しいですがインストールが面倒くさいのとアップデートが面倒くさいので諦めますた
0から99までの数字をランダムに1個抽出するというのを1000回繰り返した時の統計がほしいんですけど
なんてライブラリを使うと楽ですか?
numpyでrandomしてhistgram
バイナリデータを読んで
途中の数バイトを別のデータに置き換えるっていう処理、簡単にできる?
添字指定による部分参照ってバイナリではできないよね
添字計算できるならseekしたらいいんでねえの
つ bytearray
あとbytesでもreplaceやre使える
条件が決まりきってるなら
>>115 import random
[random.choice(range(99)) for _ in range(1000)]
>>121 range(99)だと0から98だ
>>> num_list = [random.choice(range(100)) for _ in range(1000)]
>>> for num in range(100):
print("{}: {}".format(num, num_list.count(num)))
>>122 うっかり
バグってこうやって作っていくんだな
とん
どこで聞いたら良いか分かんないのでここで聞いてみますが
YouTubeの再生履歴をPythonとYoutubeのAPI(v3)経由でダウンロードしたいんですが、どうもAPIアクセスを有効にした後のしかダウンロード出来ない仕様っぽいです
APIバージョンのv2までは出来たみたいですけど
うまくダウンロードする方法はないんでしょうか?
ubuntu python3.4.1です
127 :
デフォルトの名無しさん:2014/06/04(水) 02:50:53.19 ID:L7kMUTbA
おれもあたらしいパソコンがほしい。神様たすけて
swiftの話で蛇disが始まるかと思えば、そうでもなかった。意外だ。
挙げるほどのものでもないと認識されている可能性も
てかなぜdisられると思ったし
googleを牽制するため
へーこんな改善されたの
Javaじゃないのね
google牽制するにしても、こんな別質なものの比較はバカさをアピールするだけだと思うんだけどな…
空気を作ったものが勝つ
AIRってほんとに空気
>>132 少なくともお前よりはスキルが上の技術者がスライド作ってるから心配するな
スライド作った個人の心配なんて誰もしてないんだけど
個人だってよwwwwwwwwwwwwwwwwwwwwwwwww
ID変更お疲れ様です
スライド作ったのは一人じゃないから個人じゃないって?
とても面白いギャグセンスしてるね
いいアピールだね
その調子で
読解力も煽り耐性も無いんだな
悔しいからって、無理にレスしないほうがいいと思うけどな
うまく言い返したつもりになってるかもしれないけど、
人格攻撃が詭弁とわかる人から見たら、ださいことこの上ないよ?
連レスしちゃうあたり、焦りが感じられるしね
そうyだなピエロだな
Python
>>128 macのpython遅いのんなー
ぐらいの感想しか・・・
雑談中すいません
2.7でスクリプト実行するとprintで日本語が文字化けしてしまうんですが、どう対処すればいいですか?
sitecustmize.pyでutf-8にすると、意味不明な文字で、デフォルトだと????になります。
インタプリタに直接記述すると問題なく表示されます。
utf-8 でダメなら cp932 なんじゃないの
>>146 レスありがとうございます。
sitecustmize.pyをcp932にするとインタプリタは正常に出力されたんですが
別の場所で、exceptions.UnicodeDecodeError: 'cp932' codec can't decode byte ...になってしまうんですが
どうすればいいでしょうか?
osぐらいかけや
すいません、vista32bitです。
sitecustmize.pyも、もともとファイル書き込みでUnicodeDecodeErrorに
なったので適用したのですが。
git いれてる?
git bash上で実行しても化けるか確認してみ
>>150 レスありがとうございます。
'git bash上の実行'がよくわからないのでインストールしてみて明日、報告します。
153 :
デフォルトの名無しさん:2014/06/05(木) 04:28:09.87 ID:82BFuaye
>numpy.distutils.system_info.LapackNotFoundError:
>Lapack (
http://www.netlib.org/lapack/) libraries not found.
>Directories to search for the libraries can be specified in the
>numpy/distutils/site.cfg file (section [lapack]) or by setting
>the LAPACK environment variable.
>Lapack (
http://www.netlib.org/lapack/) libraries not found.
Lapackライブラリがないってエラーが出てるよ
さっそくいれてみたらコンパイルにすすめました
ただコンパイルにすごい時間かかりますね
省電力だったり
しょぼいHDDだったらそうだね
SSD使え
>>152ですが、なぜかPC再起動で改善してしまいました。
再起動後、pyscripterが起動しなくなるという謎現象になりましたが
exe版のインストールでとりあえず対処できました。
文字コードに関して、とりあえず'utf-8'にしとけ、程度の認識なので
>>153さんのリンクも含め、もう少し勉強してみます。ありがとうございました。
整数からバイナリオブジェクトを作るスマートな方法ってないものか
マニュアルを眺めてみたが、自分には以下の方法しか考えつかなかった
>>> a = 255
>>> bytes.fromhex(hex(a).replace('0x', '').rjust(2, '0'))
b'\xff'
>>> bytes([255])
b'\xff'
>>160 サンクス
スマート過ぎて放心した
マニュアルからは読み取れんかったな…
chr(255)
Linuxでキー入力をグローバルフックできる方法またはライブラリを教えてください
いいかみんな
SSDとPython3にはまだ手を出すなよ
あと2年待て
たしかにSSDは完全置き換えよりハイブリッドでキャッシュにするのが正解だな
2年前からssdとpython3使ってるわ
DigitalOceanの鯖借りてるけどSSDみたいですな
実感0
2ちゃんの鯖はSSD化されてから
頻繁に落ちるようになったから
すごく実感ある
SQLiteモジュールって、どんな時に使っているか
初心者の参考に聞かせて欲しい
イメージ的には、巨大データをリストなどに読み込むと
スワップしてPCが使い物にならないので、そんな時の
変数外だしに使うのかなって
アドレス帳に使ってる
>>170 永続化したいデータがあって、全体から必要なデータだけを取り出したいとき
あと取り出すときにソートできるし楽
>巨大データをリストなどに読み込むとスワップしてPCが使い物にならない
これは不必要なデータもとりだしてるんじゃないか。そうでないなら、そのPCが性能不足ということになる
>>170 ソートとか、ややこしい集計とかで楽したい時とか
>>170 スクレイピングのキャッシュ保持に使ってる
>>170 SQLiteというよりはデータベースの使い道?
端的に言えば複数の同種データとか永続化したいならならなんでもござれだよ
抽出したりソートしたり集計したりリスト使うよりSQLのが楽というかそれこそが仕事
SQLiteはファイルベースだからアクセス権もそれに依存だけど
それだけにぽんぽん移動できて取り回しが楽だし
インメモリデータベースとしても使える
参考になりました
メインメモリ2GBのPCで、60GBほどのテキストデータを
リストで処理しようとしたら、スクリプトの実行が終わっても
グゴゴゴ・・・とHDDの音が数分続いて恐くなった次第
どうやら用途としては間違っていないようでよかった
pytables使えば?
よくわからないけどでかいデータはちょっと読んでは捨て、ってやっていったほうがいいと思う
あと、その用途ならpickleが使えるかと
やっぱり人力が一番だよ
>>178 realplayer とか flash とか全部オンメモリで糞みたいに固まるからなω
os.rename とか os.link とかはあるのに
os.copy とか os.cp が見つからない
ファイルのコピーってどうすんの?
標準ライブラリの shutil
できたー!
ありがとう!!!
> asmeurer commented on 5月21日
>
>It sounds like there is a bug with scikit-learn with Python 3.4, so you may have to wait until the next scikit-learn release.
って書いてあります。
次のバージョンアップを待つのが良さそうですね。
わかりました
flashの知識が皆無なんですが、下のような構造のサイトのflashのコンテンツ(音声)をローカルに保存するのは
初心者には難しいでしょうか?
何をググればいいかわからないのですが、最低限どんな知識が必要でしょうか?
<td>
<p class="audioplayer_container">
<object type="application/x-shockwave-flash" name="audioplayer_3" style="outline: none"
data="
http://hogehoge.com/wp/wp-content/plugins/audio-player/assets/player.swf?ver=2.0.4.6" width="200" height="24" id="audioplayer_3">
</p>
<script type="text/javascript">AudioPlayer.embed("audioplayer_3", {soundFile:"aHR0cDovL2VuZ2xpc2gtbGlzdGVuaW5nLWNlbnRlci5jb20vYXVkaW8vMS0yLm1wMw"});</script>
</td>
ipythonよりおすすめのものがあるって盗み聞きしたんですがなんですか?
pyenvは使わない人って2.xと3.x両方使いたい時はどうやってインストールしてるんですか?
/optの下に5バージョンくらい入れてるよ
/usr/local 配下にマイナーバージョン全部入ってるよ
兄ちゃんスゲェ!
D:\program\以下に2系と3系の最新入れてるよ
ていうかソースもインストーラも用意されてるんだから、それぞれビルドする時、インストールする時にインストール先をバージョン毎に別に指定したらいい
virtualenvで仮想環境を構築するのはその後の話
196 :
187:2014/06/09(月) 23:26:18.12 ID:VMqdDwPo
ここだと答え貰えそうにないので、よそで聞きますね
>>197 いや、pythonでなにかいい方法ないかなって…
それでレス流したんですか?ジメッとした性格してるなぁ
>>187 そのサイトだけの話なら
soundFileの長い英数文字列をBASE64デコードでURLにして、リファラ指定でダウンロードするだけ
全般的なことなら
HTTP、swfデコンパイル、ActionScript、Javascript の知識
解析経験とセンスさえあれば深い知識はいらない
Python全然関係ないな
>>199 具体的に教えていただいてありがとうございます。
確かにまったく関係ないみたいですね・・・
偉そうにすいませんでした。
湿度上がったな
>>202 ありがとうございます。それも、まったく知りませんでした。
完全に質問するところを間違えている事を自覚しました。
スレ汚しすいませんでした。
やりたいことが文字で書けたんだから、そのままキーワードを検索にかければ良かったんじゃないかな
てかどうやったら「Pythonでいい方法ないかな」って発想に至れるんだろう
別に悪口じゃなくて、本当に不思議だなあと
こういうスレでは、それが回答者側に求められるリテラシーだったりして。
初心者の私に替わって
ぐぐって 「くだ」 さい
スレ
いつまでその話題を続けるんですか?ジメッとした性格してるなぁ
vimでpython3を使えるようにしたいのでpython 2と3を両方ソースコードから入れたいんですがいれたいんですが
両方入れた場合のpythonの実行方法がわかりません
2を実行する時と3を実行するときはどうやるのか教えてください
:py3
>>208 別にソースコードから入れなくても使える
ていうか、vimのコンパイル時に使うバージョンを指定したい
今だと、python3は/usr/local/bin/python3を探しにいく
src/Makefile
421 # For Python3 support make a symbolic link in /usr/local/bin:
422 # ln -s python3 python3.1
vi_cv_var_python3_versionを設定しておけば、configure上は見てくれるようにみえる
あと、同じpython3でもwhichで見つかる奴(=PATHが前にある)が優先
あまりpython関係ない質問なんですが、昔あった[どう書く?]みたいな
させることが決めてあって、各々でコードを書きあって最短を目指す
ようなサイトがあったと思うんですけど名前わかりませんか?
ゴルファースレにどうぞ
ワンライナーって無駄を省いて最適化する分にはいいけど
それが目的になっちゃうと却って保守し辛いコードになりそう
>>210 デフォルトのvimだとpythonが有効になってないんですけどコンパイルしなくても使えるのですか?
jedi.vimでpython2とpython3の両方を補完できるようにできればいいのですが
>>209 両方は言ってた場合はそうやって実行するんですねメモしておきます
>>211 つまりvimをコンパイルして+pythonにしなくていいってことでしょうか?
vi_cv_var_python3_versionでぐぐっても449件しかヒットしなくてこれはど子にどう設定するのかよくわかりません
正直初心者に説明するのはめんどくさい
+python3のVimのインストールする話がね
まずディストリビューション何?から話が始まるからね
cx はあかんよ
出来損ないの py2exe よりマシ
すんません、その出来損ないのpy2exe関連で質問です。
Windows環境で Python2.7 + wxPython + py2exe という環境で GUIで動くexeファイルを吐き出すようにしたいのですが
distディレクトリの中がexeの他にdllファイルや関数名が付いているファイルだらけになってうんざりしてました。
setup.pyをのsetup項目かConsole項目を書き換えれば、DOS画面も出ず、EXEファイルだけを吐き出せるかと思うのですが
誰かどのように書けばいいのか教えてくれませんか?
できればvc90問題も解決した形式で見せて貰えると助かります
出来ないから出来損ないと言うんだ
6月版教えてくん
Python3+PySide+CxFreezeでいいのに
なぜわざわざダメな方に行くのか
2年ぐらい前にpy2exeから
pyinstallerに乗り換えたけど
そっちの -onefile モードでいかが
(うろ覚え
232 :
デフォルトの名無しさん:2014/06/14(土) 14:32:31.61 ID:gViTkWWV
>>230 PySideを静的リンクしたらアプリがLGPLに感染するぞ
アウトローだからそんなの関係ない
静的リンクなんかしてなくね?
そもそも公開したくないならPythonは選択しないが
3.3の和訳が終わるまで3.4は和訳しない方針ですか?
ものすごく和訳に時間かかりすぎてませんか?
活動されてるんでしょうか?
幽霊じゃないですよね?
例え幽霊だとしてもお前みたいな箸にも棒にもかからないカスにああだこうだといわれる覚えはない
批判されたくないってのはちょっと無視が良すぎやしやせんか
あわてて書き込む前に誤字でも見直すといいね
自分ですべてのリファレンスを公式よりも早く翻訳するぐらいの気概を見せろ
和訳が無かったらなんなの?
Pythonより英語を覚えた方が君の今後のためだよ
精力的にかつどうしてないのに「私は翻訳活動を行なっております」なんてアピール材料に使うのだけはやめてほしいね
245 :
デフォルトの名無しさん:2014/06/15(日) 00:15:32.75 ID:u0KvSoCd
いま精力的に翻訳かつどうしてるトコってどこがある?
そんなアピールもやめてくださいよww
本気で潰す気があるのなら証拠を見せてください
python japanは金儲けっぽくてね
金儲けネタだけはサイトの更新早いんだよな
そうだね3.4対応など更新の遅いPython-doc-jaは金儲けっぽくないね。
金儲けでもなんでも役に立てばいいじゃない
ひがみ根性丸出しでワロタ
有料宿題スレを潰そうと息巻いてた連中が
よりにもよってWin32APIスレの奴らに
そんなに羨ましいならお前も駅で乞食してきたら?
って言われてたのを思い出したわ
>>242 いやいや、俺は和訳無くても困らんだろって意見だよ。君は文盲か。
俺が和訳いらないから皆もいらないだろ(キリッ
俺は要る。
辞書を引きながらドキュメントを読むような拷問は勘弁。
それに技術系の英文は単に単語の意味だけ引いてもわからないことが多い。
英語読めないのにPython選ぶとかドMだな
読めるアピールも読めないアピールもいらないですよ
翻訳もボランティアだしリファレンスの量なんて膨大だしなあ。
258 :
デフォルトの名無しさん:2014/06/15(日) 12:45:37.59 ID:Yby/fsOm
RT >248
259 :
デフォルトの名無しさん:2014/06/16(月) 19:28:26.14 ID:mY7NYYx7
初心者です.Moduleについての質問です.
module1.pyファイルとmodule2.pyファイルを同じフォルダ内(Testというフォルダ名)においていて,
http://codepad.org/F1PoJeuh の上半分がmodule1.py,下半分がmodule2.pyです.module1.pyを実行すると,
やりたかったこと:
M2.function1(3,5) は function2(3,5) が偶数なら 3+5で8,奇数なら0を返す.
function2(3,5) = 3*5 = 15だから,0を返すようなプログラムを書いたつもりです.
実際:Message File Name Line Position
Traceback
<module> C:\Users\user\Desktop\TEST\module1.py 13
<module> C:\Users\user\Desktop\TEST\module2.py 12
<module> C:\Users\user\Desktop\TEST\module1.py 21
AttributeError: 'module' object has no attribute 'function1'
となりエラー.どのように修正したらいいか教えてください、お願いしますヽ(;▽;)ノ
使っているもの:PyScripter for Python 3.3
※実際はもっと複雑なプログラムでエラーが起こっています.ただ、エラーの内容が同じなので、もっと簡単なプログラムでの例を書いてみました.
261 :
デフォルトの名無しさん:2014/06/16(月) 22:18:27.19 ID:PNGKqyHD
pycharmでエディタの背景を変える方法を教えてください
265 :
デフォルトの名無しさん:2014/06/17(火) 02:54:42.35 ID:gUXRuUGZ
>>259 モジュールはインポートされるものなので関数やクラスの定義、公開する変数などだけを書き
実行するコードはスクリプトとして別ファイルにする
あるいは同じファイルに、import時は動かず実行時だけ動くように if __name__ == "__main__":で分離して書く
この例ではmodule1のprint文が実行時にだけ動いて欲しい部分に該当
これに対して上のどちらかの対策をすればおそらく動くでしょう
また2つのモジュールが循環参照している、
つまりお互いにimportし合っているので
これを解消するようファイル分けや設計の再考を勧めます
循環参照は流れが複雑になるのでなるべく避けたほうが無難です
266 :
デフォルトの名無しさん:2014/06/17(火) 15:15:58.28 ID:58S2FSJO
def put(text):
tkinter.Text().clipboard_clear()
tkinter.Text().clipboard_append(text)
みたいなスクリプトを噛ませて他のプログラムから呼び出しクリップボードへの書き込みを
行っていたのですが、pythonを3.3系から3.4.1に上げたタイミングと思いますが
クリップボードへの書き込みが反映されなくなったようです。
上のコードの下の行でclipboard_get()すると正常に取得できているのですが、
windowsのクリップボードは内容が変わっていないどころかそれまでのクリップボード内のデータもクリアされているようです。
クリップボードを経由してテキストを受け渡すにはどうすればいいでしょうか。
http://yono.cc/python/gae/ こちらを参考にして、HelloWorldを表示するだけのWebサーバを作りました。
上記ページの「webapp フレームワークで Hello World を書き直してみる。」のところに掲載されているソースコードをまるまる利用しています。
しかし、実際にブラウザでアクセスすると以下の様なエラーが出るのですが、これは何が原因なのでしょうか・・・?
Hello worldすら出来ないとかもうどんだけダメなんだ自分・・・
ERROR 2014-06-17 07:20:34,551 wsgi.py:262]
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 239, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 301, in _LoadHandler
raise err
ImportError: <module 'test' from '/中略/channelapitesttest/test.py'> has no attribute app
INFO 2014-06-17 07:20:34,555 module.py:639] default: "GET / HTTP/1.1" 500 -
>>268 ごめんなさい。
そちらで改めて聞いてみることにします。
ご指摘ありがとうございました。
>>266 3.3に戻す
安定稼働している本番運用環境は
滅多なことがない限りいじってはいけない
滅多なことって
致命的なバグとサポート切れの他になんかある?
>>271 特殊なケースだが、環境が壊れてしまった場合とか
例えばWindows2000までしか対応していないPythonがあったとして
PCが壊れてWindows7になった場合は、Pythonを新しくするしかないだろう
273 :
デフォルトの名無しさん:2014/06/17(火) 21:32:34.63 ID:DvuzGkKT
>>260,265
ありがとうございます。解決しました(=´ω`)
>>266 windows 側のクリップボードがクリアされたように見えるだけで
put に渡した text の中身に問題があってクリップボードが壊れて
見えないだけなのかもしれない
276 :
デフォルトの名無しさん:2014/06/18(水) 23:11:34.49 ID:+Eu6968H
超初心者です。
.txtで書かれて|で区切ってある顧客情報をsqlite3テーブル作りたいです。import
filename table name をsqlite3.exeでしてデータベースをsqlitebrowser
でみてましたがなにもはいっていません。どうしたらよいでしょうか。。。お願いします!!!
まず落ち着いて誤字を直して
278 :
デフォルトの名無しさん:2014/06/18(水) 23:18:54.07 ID:+Eu6968H
すいませんでした もう一度書き込みます
.txtに入っている|で区切ってある顧客情報をsqlite3を使ってテーブル作りたいです。import
filename table name をsqlite3.exeで実行して、テーブルを入れたデータベースをsqlitebrowser
でみてましたがなにもはいっていません。どうしたらよいでしょうか。。
。お願いします!!!
もっと頑張って!!
ああよく見るとsqlite3.exeでやってんのか
282 :
デフォルトの名無しさん:2014/06/18(水) 23:37:53.14 ID:+Eu6968H
すいませんでした データベース板行きます ありがとうございました
jedi.vimをpython3.4で使えてる人いますか?
[[1, 2], [3, 4]]をべつの[[0]*4]*4のリストに加工(*-1)して入れて
[[-1, -2, 0, 0, ], [-3, -4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]のようにしたくて
下のコードを書いたんですが,想定外の結果になります
これはなにがどう間違ってるんでしょう?
http://ideone.com/cT4qWG
>>284 L2 の作成方法がまずい。値型と参照型の違いに注意すべき
* 演算子だと同じ物が繰り返されるだけなので
x = [0]*4
L2 = [x, x, x, x]
と同じになる。
print([id(L) for L in L2]) をしてみれば同一のインスタンスだと分かる
別々のインスタンスにするなら
L2 = [[0]*4 for _ in range(4)]
>>285 できました! ありがとうございます!
2つを区別して使い分けれるように勉強します!
python3です
byte文字列を表示したいのですが、そのままやると
>>> b'\x81\x41'
b'\x81A'
のように、b'\x81\x41'と表示させたいのに41が評価されてAとなってしまいます
>>> [print(hex(i), end=" ") for i in b"\x81\x41"]
0x81 0x41
とやればまあ似たような感じにはなるのですが、もっと楽にできませんか?
>>287 これはドキュメントにも書いてあるのだけど、ASCII文字に解釈できる
バイナリデータは文字として表示する仕様だそうだ。その方が便利な
局面が多かろうという思考らしい。だから諦めてhex関数を使おう。
この仕様には自分も不満なのだけど、スクリプト言語でバイナリデータ
なんか扱うんじゃねえ!と、暗に言われているような気がする。
289 :
デフォルトの名無しさん:2014/06/20(金) 21:21:11.27 ID:fQqGdEOm
そゆ関数こさえて丸投げするようにすれば気にならなくなるだろ
292 :
デフォルトの名無しさん:2014/06/21(土) 03:26:37.35 ID:G2XLQIqY
PycharmでKeyPromoterを使いたいのですがどうすればよいのでしょうか?
IntelliJしかもってないけどSettings -> Plugins -> Browse repositories... からインストールすればいいのでは?
ついにstableになったのか
・・・Donationがリセットされてる気がするのは気のせいか?
この前10$いれたばっかりだろ
だろと言われてもしらんがな
pythonって特にコンパイルオプション指定しなくても全ての標準ライブラリを使えるようになってますか?cursesとか必要なライブラリは予めいんすとーるしてあります
298 :
デフォルトの名無しさん:2014/06/21(土) 12:49:46.37 ID:2OQISpPs
いいえ
./configureにenable-fail-if-missingみたいなの入れて欲しい
makeするまでリンクされなくて有効にならなかったモジュールが分からないって苦行
ここの先輩がうるさいのでpyenvをやめていまから3.4.1をインストールします
すでにあったらごめんなさい
プライベートまで誰かの指示に従う奴隷でいるなんて見上げた根性です
ディストリの公式パッケージに2.7と3.2が入ってるんですけどこういう場合ってどうやって3.4を入れればいいですか?
なんとなくDebianかUbuntuのような気がしますが
そんなことで悩むくらいならpyenvに戻りませんか?
そのまま突き進むってんなら
aptにPPAのリポジトリ追加するとか
自分でビルドするとか
Debianだとunstableとかtestingを探せば公式のリポジトリにも3.4.1あると思います
Vimインストールしたときのログがあった
su root *****
apt-get build-dep python3
apt-get install libsqlite3-dev libbz2-dev libncurses5-dev \
libgdbm-dev liblzma-dev libssl-dev tcl-dev tk-dev libreadline-dev
curl -O
https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz jar Jxf Python-3.4.1.tar.xz
cd Python-3.4.1
./configure --prefix=/opt/python-3.4.1 --enable-shared
make install
6行目jarじゃなくてtarですね
なんでenable-sharedつけようと思ったの?
Vimで2と3を両方リンクするのに要るから
オプションを何も指定しないでconfigureしたんですが
vim で:python3 import timeするとエラーになります
time.cpython-34m.soはちゃんとあるようなんですがなんでですか?
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: /usr/local/lib/python3.4/lib-dynload/time.cpython-34m.so: undefined
symbol: PyExc_OSError
何をconfigureしたのかすら分からないこの文章
本当に解決したいと思ってるのか?
>>313 vimがPython3.4に対応していないんだろ
raspbian上なのでまあ参考に
multiprocessing.Process で子プロセスを実行させる時、start() は2回やっちゃダメとされていますが、
同じ子プロセスを何度も実行するには、毎回 Process() でインスタンスを作成するという方法しかないですか?
>>318 concurrent.future.ProcessPoolExecuterとかもあるよ
:python3 import time; print(time.ctime())
Sun Jun 22 00:11:17 2014
他にもいるようですねって、意味わかってないだろ絶対
UbuntuのVimが+python3になってるからって
python3にパス通ってれば動くと思ったら大間違いだ
322 :
318:2014/06/22(日) 00:42:18.90 ID:JA7JzeS0
>>319 ありがとうございます。
ちょっとそれ使ってみます。
>>321 > UbuntuのVimが+python3になってるからって
> python3にパス通ってれば動くと思ったら大間違いだ
まさにそこを知りたいのだから教えてやんなよw
普通に話の流れ読んでれば、python3のconfigureに--enable-shared付けろって分かるだろうに
昨日python3.4を--enable-sharedつけてconfigureしたんですけど
vimを./configure --enable-fail-if-missing --enable-python3interp=dynamic --with-features=hugeしてmakeしたんですが
+python3/dynってところまではできました
でも:python3 print(1)をすると
>E370: ライブラリ libpython3.4m.a をロードできませんでした
>E263: このコマンドは無効です,ごめんなさい: Pythonライブラリをロードできませんで>
>した.
ってなります(>_<)
後少しで最強のpython開発環境を構築できそうなのに状況は厳しいです助けてください
馬鹿には無理
なんで .so じゃなくて .a なんだろう
試しに Python3 の共有 DLL 作ってあるんなら libpython3.4m.a からリンク張ってみるとか
ちょっとやってみます
たぶんpythonのコンパイルは大丈夫なのであとはvimのほうですね
あとはvimスレできいてきます
329 :
デフォルトの名無しさん:2014/06/22(日) 17:06:53.01 ID:oHZVLzgW
class Foo:
class Meta:
hoge = True
class Bar(Foo):
class Meta:
fuga = True
Fooクラスにはクラス内のクラスとしてMetaがあり、Fooを継承したBarクラスがあります。
そのBarクラスで継承元のFooクラス内で定義したMetaクラスを継承しつつ、プロパティを追加したいのですが、この場合はどのように書けばよいのでしょうか。
>>> class Bar(Foo):
... Foo.Meta.fuga = True
...
>>> Bar().Meta.fuga
True
>>> Bar().Meta.hoge
True
>>>
class Bar(Foo):
class Meta(Foo.Meta):
fuga = True
3系ならFooのMetaにfugaは波及しない
>>> Foo.Meta.fuga
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'Meta' has no attribute 'fuga'
>>> Foo.Meta.hoge = 123
>>> Bar.Meta.hoge
123
馬鹿は「馬鹿には無理」とレスするしか能がない
vimの件ですがあきらめます
debianは特殊なのでできないのです
ubuntuなら問題ないんですけどね
自分ができないのはおまえが悪いから
バカのテンプレートいただきました
超初心者がトラブル対処できるとは思えないねえ
ま、時期尚早ってこった
そういう状況を一言で表せる便利な言葉
馬鹿には無理
必死だなw
生暖かく見守っておけばいいものを
人をバカにすると偉くなったように思える病気なんだろ
スルーしてやれよ
まあ、俺も人のことは言えないから、スルーしてくれ (w
バカ「人をバカにすると偉くなったように思える病気なんだろ(キリッ」
掛け算がまだ出来ない人が、いきなり微分積分を教えろって言ったって
答えを書き写すことは出来ても、自分自身で問題を解くことが出来ないのと同じ
その点に気付かないとすればバカ
手順踏んで学習すれば、いずれ解けるようになるさ
341 :
デフォルトの名無しさん:2014/06/23(月) 17:05:26.87 ID:Te+HAwBv
それ最近見たコピペ
結論:Debianでvim+pythonの組み合わせは相性が悪い
>>342 バカが使うとなんでも相性悪くなるもんだよ
迷惑だから死ねばいいのにな
お前とか
コピペするほどの価値もないレスやろ
バカバカ言ってる人もたぶんインストールできない
347 :
デフォルトの名無しさん:2014/06/24(火) 12:49:31.51 ID:KPD/KS2L
pythonはphp, rubyより遅いと聞いたんですが本当ですか?
このまま勉強続けるか他の言語やろうか悩んでます
>>347 他人の回答待たなくても python php ruby 速度 比較 でググれば済むでしょ
速度重視のことしかやる予定がないならばスクリプト言語は選ぶべきじゃないよ
微積の原理なんて、足し算だけで説明つくから
>>347 PHPが入ってるからweb利用だと思うんだけど、そうなるとフレームワークのスピードまで考えないといけないからどのフレームワークを使うかまで示さないと答えが出ないと思う。
Rubyは1.8まで鈍足だったけど1.9や2.0から爆速になったらしい。
>>349 極限が抜けてるし
近似がどのくらいになるか実用でも大切なんで
もうちょっと頑張って欲しい
python3.4に対応したscipyっていつ出るのか教えてください
>>347 工夫出来ない人には遅いからやめたほうがいいと思うよ
354 :
デフォルトの名無しさん:2014/06/24(火) 19:13:27.85 ID:/C23Uhbr
なかやま近似くん
やっぱりpyenvは便利だね〜
さくっと入れられる
>>349 次の足し算の値をそれぞれ求めてください(「^」は冪乗)
S0 = Σ[n=1->∞](1/n)
S1 = Σ[n=1->∞](1/(n^2))
S2 = Σ[n=1->∞](1/(2^n))
S3 = Σ[n=1->∞](1/(n!))
S4 = Σ[n=1->∞](((-1)^n)/(n!))
a, b, c, d, e = 0, 0, 0, 0, 0
これを
a, b, c, d, e = 0
こんな感じにやる方法ありますか?
a = b = c = d = e = 0
a, b, c, d, e = (0, ) * 5
a = b = 1
a = 2
print(b) # 1
Why?
pythonの変数はオブジェクトへのポインタを持つようなものだから
aもbも1を指し示してるだけ
359 は別に Why でもなんでもないが
a = b = 1
b = 2
print(a) # 1
Why?
って感じはする
>>357 a = b = c = d = e = 0
>>357 a, b, c, d, e = (0 for i in xrange(5))
a が 1、b が 1のとき
a = 2
print(b) # 2
というふうにaに代入した値をbにも反映されるようにするのどうしたらいいのか教えて
参照渡しってできないの?
>>366 a = b = [1]
a[0] = 2
print b[0] # 2
参照渡しはないよ
>>357 def func(n):
while n:
yield 0
n -= 1
a, b, c, d, e = reduce(lambda x, y: x + (y, ), func(5), ())
>>366 import ctypes
x = ctypes.c_int(6)
print x.value
y = ctypes.pointer(x)
print y[0]
x.value = 9
print y[0]
>>368 は
a, b, c, d, e = func(5)
だけでよかった
そういう風に書きたいだけなら
a,b,c,d,e=O
でおk
どのバージョンから?
>>371 少なくとも俺の3.3.5ではエラーになるぞ
>>> a,b,c,d,e = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> a = 257
>>> b = 257
>>> a is b
False
>>> a = b = 257
>>> a is b
True
>>> a, b = 257, 257
>>> a is b
True
>>> a = 257; b = 257
>>> a is b
True
>>> c = (257, 257)
>>> c[0] is c[1]
True
つまりはこういうことよ。後は
>>375が説明してくれる
小さい整数の同一性とかそんな話じゃなかったのにさらにややこしくなってきた
>>> a = 257
>>> b = 257
>>> a is b
False
これだけFalseなのは何でだ?
二行に渡って書くと別のオブジェクトが生成されるのか?
>>377 つまり既存の整数オブジェクトを指すときは二行に渡って書いてもどちらも勝手にそれを指してくれるが
それ以上の整数オブジェクトを指すときに二行以上に渡って書くと二つ目かそれ以上の同値のオブジェクトが生成されてしまうのか
>>377 危険な香りのする仕様だなあ
動的言語は、ただでさえ変数とオブジェクトの結びつきが把握しづらいのに
2と3の両対応面倒くさいッス
=== で比較する言語より256倍マシ
a,b,c,d,e=intertools.repeat(0,5)
def func():
while True: yield 0
a,b,c,d,e=map(operator.itemgetter(0), zip(func(),'.....'))
>>379 is は値が等しいかどうかを調べるための演算子じゃないんだよ。
isと==の違いを解説する記事を書いたら叩かれますか?
「いまさらでもないような」とか陰湿なはてなコメントがつきますかね?
ディレクトリの中のファイル一覧を取得したいです。
os.walk('hogehoge').next()[2]
と書けばお目当てのリストが手に入るのですが
なんとも回りくどいというかダサいような気がしてて
「お前普通これはこう書くぜ」
ってのがありましたらご教授ください。
あと「こんなときはこう書く」といったセオリー集みたいなものがあれば
推薦いただけると助かります。
よろしくお願いします。
glob.glob('hogehoge/*')
pathlib.Path('hogehoge').glob('*')
>>387 [f for f in os.listdir("dir") if os.path.isfile(f)]
is って低レベルのデバッグ以外では is (not) None くらいでしか使い道ないよね。
>>387 Python3.4が使えるならpathlibあるからいろんな環境で使いまわせる
>>> def get_files(target):
p = pathlib.Path(target)
for row in p.iterdir():
if row.is_file(): yield row
#windows
>>> list(get_files("../"))
[WindowsPath('../a.txt'), WindowsPath('../b.txt'), WindowsPath('../c.txt')]
#posix
>>> list(get_files("../"))
[PosixPath('../a.txt'), PosixPath('../b.txt'), PosixPath('../c.txt')]
>>387 client = gdata.docs.service.DocsService()
client.ssh = True
client.ClientLogin('
[email protected]', 'fuga')
for entry in client.Query(gdata.docs.service.DocumentQuery(categories=['folder|document|spreadsheet'], params={'showfolders': 'true'}).ToUri()).entry:
print entry.title.text.decode('utf-8')
>>> a = 257
>>> b = 257
>>> c = 257
>>> a is b
False
>>> b is c
False
>>> c is a
False
やっぱり複数行に渡って書くとそれだけ別のオブジェクト作ってるみたいね
つまり、a =257;b = 257は、a = b = 257と同じなのか
かなり衝撃の仕様だな
これ知らない人多いんじゃね
395 :
387:2014/06/28(土) 08:45:53.61 ID:pESjXYY5
みなさんありがとうございました。
精進します。
>>394 ちがう
https://docs.python.org/3/reference/simple_stmts.html#assignment-statements > assignment_stmt ::= (target_list "=")+ (expression_list | yield_expression)
>
> An assignment statement evaluates the expression list (remember that this can be
> a single expression or a comma-separated list, the latter yielding a tuple) and
> assigns the single resulting object to each of the target lists, from left to right.
a = b = 1 ってあったら a と b が target_list
でもってリテラル 1 を評価して得られたオブジェクトをまず a に代入し、続いて b に代入する
Python の代入が値を返さないことからくる仕様
>>396 結果が同じなのに違うという意味がわからない
a = 257;b = 257と書くと、内部的にa = b = 257と
同じ動作をする、と解釈するのが自然でしょ
>>397 結果は違うよ。副作用を持つ式を右辺に持ってくるとよくわかる
def foo(): print "foo"
a = b = foo()
c = foo(); d = foo()
>>398 257が同じオブジェクトかどうかという話なのに何でそんな話が出てくるの
>>393 > やっぱり複数行に渡って書くとそれだけ別のオブジェクト作ってるみたいね
ちょいとイヤーんな仕様だけど、同一行に書いてるのにいちいち別のオブジェクト作るのもどうかと思うし、まあ納得できなくもないな。
勘違いする人もいそうだから補足するけど
>> a = 257
>> b = 257
>> a is b
がFalseを返すのは「複数行に渡って書いてるから」ではなく「REPLが一行ずつコンパイルしているから」だよ
通常のコーディングではモジュールや関数単位でリテラルを保存する領域が作られて、そこへの参照が代入されているためTrueを返す
REPL上でも
def function():
a = 257
b = 257
return a is b
はTrueを返すのが確認できるはず
>>401 なるほどね
会話モードで実行する場合とスクリプトファイルを書いて
実行する場合とでオブジェクト解釈動作が異なるとはな…
これは動的言語全般の弱点と言ってよいのだろうか
文字列だと大丈夫じゃない?
まぁ数値だろうが何だろうがコードに直接書いたもんでも計算の結果でも同じものなら同一単一のユニークなオブジェクトになっては欲しいが
実際にプログラム書くときはあんまり関係ないけど
確かに文字列だとキャッシュされてるのかどこに書いても同一になるね
でもさすがに
a = "abcdef"
b = "abc"
c = "def"
a is b + c
はFalseが返ってくる模様
a is "abc" + "def"
ならTrueになるんだけどコンパイル時に文字列の連結だけは勝手にやってくれるんだっけか
ともあれ、会話モードは絶対ではないということと
オブジェクト同士の一致・不一致をよりどころにしたコーディングは
避けた方が無難という教訓は得られたな
>>405 数値型や文字列はキャッシュされるから例外的であって
その他の一般的なオブジェクトは個別にインスタンス持つから問題ない
>>405 そんなことはドキュメントに書いてあんだよ。
「オブジェクトが同じかどうか」 ≠ 「値が同じかどうか」
オブジェクトへの参照は実装依存だから is は「値が同じかどうか」でつかっては「いけない」演算子。
値が同じかどうかは == で評価する。
でもって「参照しているオブジェクト」が同じかどうかなんてことがプログラミング上重要なことなんてまずない。
だから is とか普通使わないの。
使うなら「オブジェクトがひとつしか存在しない」と規定されてる None に対してくらい。
a is b は id(a) == id(b) と等価
C/C++での格納域の先頭ポインタ比較と一緒
ツリー構造や循環リスト構造みたいに、オブジェクトのリンクで構成さてれるものでは
同じオブジェクトを示してるのか比較する場面はよくある
プログラミング初心者には None との比較くらいだろうけど
日本語マニュアル(djangoみたいに更新されてないやる気ないとこは無し)があるwebフレームワークってありませんか?
410 :
デフォルトの名無しさん:2014/06/28(土) 13:20:35.78 ID:sKWOMnpi
ありますん
ありませんなあ
門前払いでごめんね
馬鹿には無理
pyramidって無かったっけと思ったら一部だけだった
プログラミングに関する英語は困らないけど
フレームワークのフィロソフィーとか語られても意味わかんない
哲学というよりむしろ文学だからか
あと英語圏のギャグもよく分からん
そら仕方ないね
言語は生活と表裏一体のものだから
日本に住みながら外国の言語を理解できるはずもない
だから日本独自のPythonコミュニティが必要なのだ
Google の開発者向けビデオとか見てると
インド人が多い印象
Python なんか特に
彼らの英語(というか文化)は日本人になじみやすいと思う
postgresqlの日本NPO法人は優秀
すぐに最新ドキュメントの和訳を提供してくれる
言語のリファレンスは訳されててもよくわからん
外部ライブラリのリファレンスは訳されてなくとも実際のコードの記述例と
申し訳程度の英語コメントが書いてあったりで分かり易いんだけどね
日本にもNPOが必要
python.jpとかいらねえわ
経産省に300万出して造ってもらえ
NPO の話なのに経産省って
クスクス
>>423 助成してもらうとかの話じゃね?
ruby みたく
やだこのスレ面白い
佐賀県に「福岡県に勝ちたかったらPythonですよ」と持ち書ける。
佐賀って福岡に勝とうとしてるの?
429 :
デフォルトの名無しさん:2014/06/30(月) 02:51:03.61 ID:DRQLq2tT
postgresqlのユーザーサイトはひどいね
最新版○○とあるのが半年近く前のとかいう状態だった
webmasters@非公開だから知らんが3月のに更新されたの大方今月じゃねーのか
python.jp のひどさにくらべたら・・・
python.jpって何がそんなにひどいの?
日本語の情報とか冗談抜きで探すだけ時間の無駄だから
たしかに日本語は古い情報が多いけど、それでも英語より格段に読むスピード上がる分有益。
そんなこと言ってるとMSDN日本語版みたいな罠にはめられますよ
素早く駆けつけて
素早く転び
素早く立ち上がってまた
素早く走りだす
それでいいじゃないか
あの人すげえ、その場でクルクル回ってる…
437 :
デフォルトの名無しさん:2014/06/30(月) 14:29:52.57 ID:DRQLq2tT
これ思い出した
519 :名無しさん? [↓] :2013/09/19(木) 09:31:26.97 ID:???
じゃ、回そう。
520 :名無しさん? [↓] :2013/09/19(木) 10:51:13.14 ID:???
(゚д゚)ゞ
521 :名無しさん? [↓] :2013/09/19(木) 10:58:48.52 ID:???
━(゚Д゚)━( ゚Д)━( ゚)━( )━( )━(゚ )━(Д゚ )━(゚Д゚)━
522 : ◆etiOLKFoxvIO [] :2013/09/19(木) 23:31:09.65 ID:ARpBcEI7
お前が回れと誰が言った
やっと Google Drive SDK の python クライアントが動いた。
これから遊ぶ。
何でnodeのnpmみたいにpipでインストールしたパッケージをプロジェクトごとに分けられないのですか?
venvもvirtualenvもpythonの実行ファイルをコピーして仮想環境を構築するのは容量の無駄な気がするんですよ
別に気のせいじゃないですよ
普段軽んじられてるのかもしれないけど、もっと自信もって
easy_install したものがアンインストール出来ないのもな・・・
フォーラムとかメーリングリストで誰も改善しようとか議論ってないんですかね?
仮想環境つくるためにバイナリコピーしてるのに、それが無駄とは不思議な事をおっしゃる
npm はカレントディレクトリに入れたり -g でグローバルに入れたり出来て良いよね。
pythonの仮想環境はまだ他の言語に比べると弱い
なんでPython式の字下げ構造作る方式ってほかの言語は採用してないの?
いいものなら、あちこちで真似されててもいいと思うんだ
新しい言語はいっぱいあるけど
どれもこれも中カッコで囲ったり最後にEndってついたり
字下げ方式って何か致命的な欠陥があるのでは
>>447 メーラーか、トランスレーターか、HTMLか、エディターかで自動変換されて、
インデントがすべて消失したことがある身としては、end 的な識別子はオプションでいいので欲しいかな
いらねーよ
>>447 ・ソースが横に長くなって見づらい
・スペースやタブがうっかり一つ入った、または削れただけで動作が変わる
・コードブロックの削除・追加時に周囲との字下げの調整に多大な手間を要する
右へ倣えとも言いますしね
下手に本流から外れるのはちょっと…
一つだけ何らかの言語の仕様を抹消できるなら
個人的にはJavaのチェック例外を消滅させたいですね
Python はじめて間もないころに「ああここ if 入れなきゃ」みたいになってインデントを調整してるときに
のんきにエディタ任せにしてたら元のからずれたのに気づかないで後でものすごく苦労した経験から
インデントの変更にはヒステリックなくらい神経を使うわ
>>447 誰も真似したくなかったって事
つまりそういう事
>>453 糞と言われましてもねえ。
運用現場のPCには、メモ帳しか入っていないことも
ザラにあるわけでして。
C#もインテリセンスの介護がないと駄目なように
インデントブロックもゆとりエディタがあれば大丈夫だと思うけどね
貧困な環境自慢をされても・・・
メモ帳なら括弧の閉じ確認とかも出来ないじゃん・・・
>>456 へぇ、クソですね
甘んじてるお前も疑問に思わないお前もクソですね
クソ袋が自分のゲリ便指差してドヤってるとかマジ終わってますわ
そのまま便所に流されてろクソカス
確かにブレースの対応だってエディタがないと面倒なんだからインデントが殊更に批判されるのはおかしいわ
運用PCと検証PCと開発PCが同じって事?
それはひどいなー
>>373 a,b,c,d,e = (0,) * 5
なんかみんな勘違いしてない?
>>447からの流れで、インデント強制には欠点もあるっていう話をしているだけ。
道具である以上、欠点も理解しておかなきゃでしょ。
お、おう
少し使えば誰でも気付くようなこと書くから勘違いされるんだよ
俺らは欠点だと思ってないんだが
整形に関してはブロック形式だってエディタの補助がないと困るし
インデントを際限なく深くするのはただのバカ
468 :
デフォルトの名無しさん:2014/07/03(木) 21:34:37.29 ID:On3DpZgr
Python 2.7環境での質問です
多次元配列(リスト)から重複要素を削除する場合についてご指南ください
x = [1,2,3,4,5,2,3,4,5,6]
y = [2,2,3,3,4,2,2,3,3,4]
f = [x,y]
このようなリストがある場合に、f[5,5]=(2.2),f[7,7]=(4,3)を削除し
f' = [[1,2,3,4,5,3,5,6],[2,2,3,3,4,2,3,4]]
x = [1,2,3,4,5,3,5,6]
y = [2,2,3,3,4,2,3,4]
としたい場合にどう書けばよいのか、頭を悩ませています
(本来は要素数が膨大なので人海戦術は難しいです)
469 :
デフォルトの名無しさん:2014/07/03(木) 21:50:58.43 ID:beuPiWz3
俺ならdictにxy突っ込む
コピペIT土方にとっての致命的な欠点がぐぐったのをそのままパクるときのコピペがめんどくさい
メリットとしては
}
}
}
}
}
}
みたいな無駄を省ける
インデントによる階層分けと中括弧による階層分けのどちらも実装してくれればよいのではないか
>>468 並びが変化してもいいなら
s = {(xx, yy) for xx, yy in zip(x, y)}
x[:] = [xy[0] for xy in s]
y[:] = [xy[1] for xy in s]
並びを維持するなら
import collections
d = collections.OrderedDict(zip(zip(x, y), x))
x[:] = [xy[0] for xy in d.keys()]
y[:] = [xy[1] for xy in d.keys()]
>>468 UNIX系のコマンドで、重複排除の基本は、sort + uniq。
uniqは連続した重複しか排除できないので、先にsortしておく
x = [1,2,3], y = [2,2,3]に、
a = [1,2,3]と、インデックスを表す列を加える
DBを使って、(a,x,y)を1レコードと考える(keyはa)
(1,1,2)(2,2,2)(3,3,3)
そしてSQLで重複を排除するか、
GroupBy x,y でレコード数が、2以上のものを取り出す
他には、x,yを連結して、x-y(1-2,2-2,3-3)のようにして、
文字列としてソートして、一つずつ調べる
ソート後の並び順を、元の順序に戻したいなら、
インデックスを表す列を加えておけばよい
ノNumPy
[[1,2,3,4,5,3,5,6],[2,2,3,3,4,2,3,4]]
>>468 javascript3
http://peace.2ch.net/test/read.cgi/tech/1380177260/ 691 デフォルトの名無しさん [sage] 2014/07/03(木) 23:37:02.87 ID:GubF7XEh Be:
2種類質問です。
1 オブジェクトを代入した変数を配列で持たせたい
var hoge = document.getElementById('foo');
var fuga = document.getElementById('bar');
var box = new Array[hoge,fuga];
.box[0].innerHTML = "ああああ";
box[1].innerHTML = "いいいい";
2idの値を変更したい
var id = element.id;
var tmp = id.toString();
if(tmp == "hoge"){
var id = id.replace("hoge","piyo");
}
両方とも実行しようとして失敗したのですが、これは仕様としてできないのでしょうか?
それともやり方が間違ってるだけなのでしょうか、お願いします
>>470 閉じカッコとendの連続は無様極まりないわ
どうせインデントしてないコードなんて糞なのに何が嫌なのか分からん
});
});
});
});
});
});
最近の流行はこれだからな
やっぱjavascriptって糞だわ
:)
>>460 それ twitter で大量に RT されてたな
484 :
デフォルトの名無しさん:2014/07/04(金) 13:49:32.56 ID:s7hbKy2B
:D
ipythonで run foo.py < test
ができないんだど どうやればいい?
ipythonで run foo.py < test
ができないんだど どうやればいい?
487 :
デフォルトの名無しさん:2014/07/04(金) 20:03:47.37 ID:PKDod491
>>468です
皆様、アドバイスありがとうございます
>>473さんの案を使わせていただき、
(x,y)各点のz軸に値を与えるという操作をしたところ、
計算コストの面で「並びを維持する」方法が優位でした
>>468 汎用性を考えて以下の2つの関数を作り対処する方法を述べる
1. x y の各要素のペアからなる集合を作る
関数mkpair-set
mkpair( [1,2,3,1] [a,b,c a]) -> [ [1 a] [2 b] [3 c]]
2. ペアリストを 分解して2つのリストに分ける
関数div-pair
div-pair( [ [1 a] [2 b] [3 c] ]) -> [ [ 1 2 3] [a b c]]
実装例
ttp://codepad.org/uv35qyWv
>>480 pyramid of doomに対するQやpromiseって、素敵なネームセンスだよね
なんだか秘密結社を彷彿とさせる
>>479 普段は問題ないけど、
>>470のいう様に他からコピペしたときとか、
>>452みたいに
コードブロック単位でインデントの変更が発生したときに、普通のエディタはブロック単位での
インデントを認識しないので、のほほんとTABでインデントを変更すると破壊的結果になりうる
危険性がある。
インデントに意味がない言語ならそういう危険はない。
強いて言えばそういうこと。
どうでもいいけどPythonでも
>>470 みたいになるコード書いたらインデント深すぎてコードの
視認性台無しになるでしょ。PEP8? なにそれ? 俺の大画面モニタ超見やすいわーとかいうのは
おいといて。
>>490 普通のエディタがそもそも何かわからん
python対応のエディタならインデントも自由自在じゃん
っていうか俺様がコピペ出来ないから糞言語だ!って騒いでたの?
あれ、触っちゃダメだったやつか。くわばらくわばら。
基本的には深くなるのは糞コードって話だけど、統合開発環境で介護するから長くなる糞言語仕様だけど我慢しろって風潮はあるな。
なんとかリスナーの登録みたいなのだと、名前空間やクラス名、() {} ; が入り乱れて長くなることこの上なしだからな。
Pythonも巨大なプログラム作るなら回避不可能な深さにせざるを得ない場合があるのかも知れないけど。
まぁPythonは、ループの回避や一時的に別名つけるみたいなのはやりやすいと思うけど。
os.path.waik って何で無くしちゃったの?
インデント深すぎる糞コード書くな死ね
>>492 インデントによるブロック認識がなぜ他の言語にも採用されないんだという
意見に対し、デメリットもあって良いことづくめではないからという意見が出て
それをPython叩きだと勘違いした一部の基地外が過剰反応しているだけ
498 :
デフォルトの名無しさん:2014/07/05(土) 08:14:30.61 ID:MbZ2I/h/
インデントにケチ付けてる香具師はPythonでプログラム書いたことないのに煽ってるんだろうな
Goに採用されなかったのは残念だよなあ
ぐぐる的にはカッコあったほうがいいって結論なんだろか
必ず見た目と中身が一致するってのがオフサイドの目的だと思うんだけど、その点じゃGoの自動整形するって方法の方がいいと思った
ブロック減らすのも増やすのも楽
501 :
デフォルトの名無しさん:2014/07/05(土) 17:05:37.78 ID:ZXXpEMkc
サブルーチンにして追い出せばいいだけだ
>>490 使っているエディターが悪い
vimにしろ
jedi.vimはやっぱり入れたほうがいいですよね
504 :
デフォルトの名無しさん:2014/07/06(日) 00:47:24.94 ID:TeRvZ6nB
最近rubyから乗り換えたんだけど、endがないのって読みづらくないですか?
可読性ならpythonとよく言われますが、endがないのに慣れない
僕はendが嫌いなんですお
}やendを書かない事で不必要な文字は見なくてすみますしね
>>502 コードの正当性の維持がエディターの機能の有無に依存するのは言語側の欠点だってことだろ
>>504 その慣れの問題
C#とかもメモ帳じゃ無理
C#はIDEありきの言語で、
C# 6.0 はIDEのためにコンパイラを作り直したからな
>>506 ハイハイ欠点で結構ですからお引き取り下さい
どんな短所も、それを認めて前向きになれば長所になる。
インデントによるブロック制御は長短併せ持つ諸刃の剣であり、よく理解して
前向きに使いましょう、という姿勢でいればよい。
>>509みたいに短所の指摘に反発するだけでは、他人の理解は得られないし
Pythonの普及を阻害するだけ。
例えば、他の言語は閉じ記号をエディタで検索してコードブロックの範囲を機械的に
把握できるけど、Pythonは目で追うしかない。これは明らかに短所である。
しかしその短所があるゆえ、長いブロックをダラダラと重ねていくスタイルは敬遠され、
見やすく保守しやすいコードを書くようにユーザーが自然と躾けられていく。
これは長所である。
python厨にはいかなる短所の指摘も耐え難いんだろう
> 閉じ記号をエディタで検索してコードブロックの範囲を機械的に
> 把握できるけど、Pythonは目で追うしかない
インデント幅よめばできるんじゃない? vim-textobj-indent 的な
閉じカッコの方がよっぽど把握しづらいんだが
>>510 まず俺の理解を得られていないだろう?
書きやすさの短所や長所は主観でしかないんだ
俺はpythonに魅力を感じてこのスレにいる
君は短所を普及するために活動しているのか?
>>510 インデントの深さを見れば機械的に把握できますよ
閉じかっこあってもインデントめちゃくちゃなソースは見たくないわ
それこそ、エディタの自動整形使えば
括弧があればインデントはエディタが自動整形してくれる。pythonはそれができない。
まぁ書いた時点で整形済みって事なんだけどどっちがいいかは好みだね。
}を書いて改行を入れる手間が不要なのがpython
まあ割とトレードオフですなあ
僕は off-side rule 好きやけど
コメントの # と''' はなにか使い分けるルールってある?
ただの好みでいいのかな?
re.sub("a", callback, "aiueo")
のように置換の際にコールバック関数を呼ぶ方法で
callbackに任意の引数を与えることはできませんか?
できなければ何か良い方法無いでしょうか。
re.sub('a', lambda matchobj: callback(hoge), 'aiueo')
何がやりたいのかわからんがlambda使うとか?
>>523 おーできました!lambdaって式だけでなく関数も呼べるんですね
やりたかったのはどのように置換するか書いてあるdict型データを一緒に渡したかったので
第二引数をlambda match: callback(match, dictdata)としました。
どうもありがとうございました!
>>521 """は自動生成されるドキュメントに拾われる
#は拾われない
pydoc
>>509 欠点だからその言語がダメって話じゃないんだよな。
なので結局
>>509みたいなのが、その言語を不当に卑下しちゃうんだよね。
というかオフサイドルールはエディターの支援抜きなのにブロックは支援ありきで話進めてるからdisりたいだけにしか見えない
>>521 C で喩えると
'''〜''' が /*〜*/
#〜 が //〜
"""〜""" も使えるので
/*〜*/ のネストに相当することも可能(めったにしないけど)
>>521>>525>>528 いや…3連クォートはヒアドキュメント文字列リテラルでコメントじゃないから
ドキュメントに拾われるのは最初の文字列リテラルってだけで
3連かは関係ないしコメントを拾うはずもない
本来のそれとは大分違うからヒアドキュメント文字列とは言わないんじゃないかな
せいぜい triple-quoted strings とか multi-line strings
531 :
デフォルトの名無しさん:2014/07/07(月) 08:58:44.90 ID:dSawaSg/
スペース'''開始行
二行目
三行目'''
って感じで最初の行だけずれるのが嫌
開始行を次の行から始めると無駄な改行入るし
>>531 '''\
unko
nigai
'''
バックスラッシュが便利
うんこをナメるのもいい加減にしろよ
>>532 ありがとう
2ちゃんが役に立つときもあるんだぬ
535 :
525:2014/07/07(月) 22:32:20.83 ID:pLbnnLHQ
適当な事書きました。ごめんなさい
俺も半分は嘘を書いてるから気にすんな
32bit用のビルドと64bitのものはどちらがベターでしょうか?
現在win7x64を使用しており、どうせならx64用のものを利用したいのですが
ライブラリはx86用のものが多いのでは無いかと思い32bitと64bitで迷っています。
64bit環境で32bitのpython動くの?
Windowsで使うならActivePerlがベストなんだけどな
>>540 activeperlってpython動くの?
思いますじゃねえんだよこの業界は
543 :
537:2014/07/08(火) 00:09:25.24 ID:9FjUx/oq
64bitの環境で32bit版を導入しているブログの記事があるから使えるかと
問題はそこではなく、64bit版を使うことで得られるメリットを知りたいです
よろしくお願いします
>>543 お前が満足するという最大のメリットがあるだろ。
ウジウジしてんじゃねーよ、みっともねーな。
1プロセスが2GBを超えるメモリ利用とかできるとかじゃないの
両方入れて気分で使い分ければいい
ソースそのまま公開すればビット数とか関係ないんじゃないの?
winはx86でいい
問題になるとしたらメモリとサンクできないからx64のdllを呼べないとかその辺
549 :
デフォルトの名無しさん:2014/07/08(火) 15:35:41.59 ID:yYRIMg05
初心者です。いまpython使って重回帰分析しようと思っているですがうまく行き
大体の流れは数値のうちこんであるcsvファイルを読み込んでX、Yを定義して
model = sm.OLS(Y,X)
results = model.fit()
results.summary()
これで検定したいのですが
定数項をXに加えようとしてX = sm.add_constant(X)
を実行すると
AttributeError: 'numpy.ndarray' object has no attribute 'name'
と出てきてしまいます。どうしたらよいでしょうか。
Xはcsvファイルのある一列を定義したものです。定義はきちんと出来ている
とおもいます
X = sm.add_constant(csvfilename.X,prepend=False)
↑こうもしてみたのですが
'DataFrame' object has no attribute 'X'
このようなエラーが出てきてしまいます。お願いします!!
550 :
549:2014/07/08(火) 15:37:41.94 ID:yYRIMg05
ごめんなさい 最初の一行の最後「行きません」です
もうちょっとどのモジュール import してるかとか書いたほうがいいのでは
552 :
549:2014/07/08(火) 19:35:55.69 ID:MebIA9xX
アドバイスありがとうございます!
モジュールは下のものをimportしました
import pandas as pd
import numpy as np
from scipy import stats
from statsmodels.sandbox.regression.predstd import wls_prediction_std
import statsmodels.api as sm
import matplotlib.pyplot as plt
%pylab
553 :
デフォルトの名無しさん:2014/07/08(火) 21:39:38.91 ID:LNNL/Tjb
covendy を使いGAEにてデプロイして、htmlフォームから入力されたデータを一行ずつテキストファイルに書き込む処理をしているのですが、
処理に時間がかかり、deadlineを起こしてしまいます。
そこで Task Queue を使おうと思うのですが、使い方が分かりません。
なんらかのリンクを作り、そこにpostすることは分かったのですが、formからデータを取得するためにもう
def post(self)は使っていますが、その処理でもTask Queue は使えるのでしょうか?
また取得したデータの受け渡しは、どのように行っていますか?
GAEスレ池
>>544-548 ありがとうございます
とりあえずx86を入れて上達したらx64の検討をすることにします
PyPI に登録すると公開一日目だけで1000件くらいダウンロードされたんだが
これってミラーサイトにコピーするbotかなんかがダウンロードする件数もカウントされてるってこと?
platform.system() が
'Windows' を返してたはずなのに
いつのまにか
'Microsoft' を返すように変更されとる
phpのspl_autoload_registerみたいに
必要なモジュールを自動で読み込ませる方法を教えてください
pip freeze > hoge.txt
pip install -r hoge.txt
モジュールをインストールしたいんじゃないんですよ
たとえば
datetime.nowならimport datetimeをいちいち書かないで済むようにしたいんですよ
>>561 PYTHONSTARTUPで事前に実行されるファイルを指定する
$ echo 'import datetime' >startup
$ PYTHONSTARTUP=startup python3 -q
>>> datetime.date.today()
datetime.date(2014, 7, 9)
>>>
563 :
デフォルトの名無しさん:2014/07/10(木) 19:40:56.17 ID:V8dqNcnh
ループ処理をしてると前半と後半で1ステップにかかる時間が長くなるのを回避する工夫などありましたら教えてください
564 :
デフォルトの名無しさん:2014/07/10(木) 22:41:37.27 ID:LpN/lx9F
pythonの勉強始めたばっかりだけど、やっぱり本買ったほうがいいですか?
入門サイト見てもわからないことが多いので。
便利なアプリとか、スクリーンメイトとか作ってみたいです。
本は情報が古い
数年前は全然情報なかったけど今は検索したらすぐに出てくるよ
567 :
デフォルトの名無しさん:2014/07/10(木) 23:23:42.30 ID:LpN/lx9F
じゃあどうすりゃいいんだよおおおおおおおおお!!!!
因みに今↓のサイト見て勉強してたけど、(リンクフリーとのこと)
http://www.python-izm.com/contents/introduction/outline.shtml 「タプル」とか「リスト」とか本当に使うのか?使うとしたら何に使うんだ?
もう何がなんだかわかんねえよおおおおおおおおおお!!
また、今とりあえず作ってみたいのは、
キーボードのhome2回押すと立ち上がるような日記的なアプリ。
将来はスクリーンメイトとか作りたいと思ってる。
頼むから今どうすればいいのか、どうやったらpython使ってアプリ作ったりできるのか教えてくれ......。
568 :
デフォルトの名無しさん:2014/07/10(木) 23:28:04.68 ID:LpN/lx9F
<<566
超初心者向けの情報があまりにも少ないんですよ
まさに点と点が線で結ばれない感じ
やりたいこと見る限りあまりpythonは向いてないんじゃないか?
もっとネイティブアプリ作るのに適した言語があるだろう
GUIとなるとc,c++は少し難しいからc#とか
pyside てか qt 使おう
ここでC#を勧めるとか
572 :
デフォルトの名無しさん:2014/07/10(木) 23:54:15.63 ID:LpN/lx9F
1つ聞いていい?
ある1つのプログラミング言語を「身につける」って、どのくらいのレベルのことを指すの?
というのも、実は自分はこの↓「how to become a hacker」というサイト見てpython始めたんだ。
http://cruel.org/freeware/hacker.html#basic_skills このサイトには、ハッカーになるにはプログラミング言語の習得が必要。また初心者はpythonをお勧めするって書いてある。
自分的にはプログラミング言語を「身につける」っていうのは、いろんなアプリ作ったりできるようになることだと思ってたんだけど。みんなはどう思う?
急に話が変わってすいません。これを聞かないといけないと思ったので。
C++に関しては埋め込みで使われることもあるからギリギリおk
574 :
デフォルトの名無しさん:2014/07/11(金) 00:12:51.17 ID:UP9UrVqy
必要なことができることだろ
実際、Pythonでそういうデスクトップガジェットというのか?
アプリは作れるものなのかね。ああいうのってけっこう難しいでしょ。
GUI部品やウインドウ制御はもとより、OSとの連携、排他制御などの機能と
それらを使いこなす知識が要る。
自分はPythonを、テキストデータ加工特化言語と割り切ってしまっている。
初心者でGUIは相当な悪路だと思う
Python自体は良い言語だけど、今回の目的に限っては
Pythonでやるとなればライブラリだの環境を整える必要も出てくるし
暗いことばかり言ったけど当初の目的はGoogleでwxPythonかQtと検索すれば果たせると思うよ
CUIから地道にやる道もあることも忘れないでね
そもそもプログラミングの素養があればああいう質問はしないんだろうなとは思うけどね。
578 :
デフォルトの名無しさん:2014/07/11(金) 01:18:47.89 ID:ink5d5Kl
自分がいきなり難しいことに挑戦しているということは理解した...。
じゃあpythonを身につけるにはまずどんなことからやるべきだと思いますか?
Pythonは、他のプログラム言語をある程度かじった人には、お手軽で便利な言語になるかもしれないけど
かなりいびつな部類の言語だから、教育とかプログラミング初心者には向かない気がするなあ
>>578 体系的にIT系の知識を学習できる環境にないなら、どうやったらそういう知識を得られるか考えた方がいいと思う
そういうのが面倒くさいなら、Pythonで作るウェブアプリみたいなのやってみたらいいと思う
でも、何時かは前者も必要になるから両方同時にやってみたらいいと思う
Pythonに限らないよ
便利なソフトを作った成果があれば使い続けるやる気が起きるので、身の回りで不便なこと面倒くさいことを見つける
まずCUIでテキストデータの読込、表示、保存から開始かな。
次にテキストデータの中身を削ったり文字を追加したり。でも先は長いなあ。
プログラミング自体初めてでWindowsのGUIアプリ開発が最終目標ならば
いきなりVisualBasicでいいんじゃね。
>>579 構文は相当素直だと思うんだけど
アルゴリズムの本でよくある仮想言語に近いから見ただけで理解しやすい
暗黙のなんたらやら変な記号も少ない
if for 代入 比較 関数の辺りに限ればこれ以上分かりやすい言語なんて知らない
ライブラリをネガティブな方向に捉える理由がわかんね
pythonでguiてそんなにおかしいことでもないでしょ
作りたいもののためならモチベも維持できるだろうしやったらいいと思う
pythonでguiが可笑しいとは言ってないんじゃないかな
初心者がいきなりguiが厳しいって話で
ちなみに自分はpythonでguiは「普通の」アプリ作る分には初心者でも楽だと思うよ
>>567 の言ってることは
>>567 には無理だろうけど
>>575 は言い過ぎ
589 :
デフォルトの名無しさん:2014/07/11(金) 13:21:24.36 ID:ink5d5Kl
アドバイスありがとうございます。
あと、大学にプログラミングのサークルがあるということが発覚したので、明日ちょっと行ってみます。
pydoc が吐く html の色が気に入らないのですが、
css とかでイメチェン出来ますか?
既に誰かが作ったスタイル集みたいなのありますか?
プログラミングサークルか。他言語に懐柔させられそうだな。
先輩曰わく
アッセンブリー言語を知らずしてプログラミングを語るな!
パイソンだぁ?
おっぱいももめないくせに生意気な!
よし、今日は二進数の勉強だ
大学でプログラミングの勉強とか最高だなぁ
なんで文系に行ってしまったのか
女体のプログラミング
>>593 大学のプログラミング演習なんて、何の役にも立たないよ
役に経つのは、線形代数や制御工学、整数計画法ぐらい
製造系に行かない限り、無用の長物だよね
文系の日本人が日本語の技術文書を理解出来ないように
英語が母国語の文系の人も英語の技術文書は理解出来ないと思うんだ
やらないよりは全然マシでしょ
上の人が言ってた、Homeキー二度押しで日記帳アプリを
起動するような機能も、PythonのGUIライブラリは持っているのか。
それならけっこう実用性がありそうだな。手を出してみるか。
600 :
デフォルトの名無しさん:2014/07/11(金) 22:07:02.17 ID:UP9UrVqy
大学の英語なんて必要ないね
知識はあるに越したことはないんだが
前置詞一つでひっくり返るなんてことは割とあるわけで
注意力のない奴は誤読するからな
Pythonやるなら英語は必須だが、日本で本職でプログラミングやるなら
英語もPythonも全く必要ないね
>>601 納品先によってはソース中のコメント(ドキュメント化コメントを含む)は全て英語でお願いしますって場合もあるよ
納品しないという選択肢もあるんだぜ
>>588 楽かなぁ?
Python がどうのこうのの前に、VB とか C# はあるレベルまでは IDE がかなりの部分を見てくれるからなぁ。
C#は簡単にGUI作れるけどコードが汚いんだよね
初心者がアレやったら他の言語の習得に萎えそう
C#はわりとPythonに似た思想の言語で見た目綺麗だと思うけどね
GUIはどの言語でも汚くなるけどC#は言語レベルでIDEサポートしてるからわりとマシな方
JavaなんかIDEに頼ると悲惨なことになるよ
>>605 > C#は簡単にGUI作れるけどコードが汚いんだよね
具体的にどの辺のことを言ってるの?
もうスレちです。
テキストデータ加工特化言語として使うならCommon LispかSchemeがええんでないか?
まあ、パイソンも楽そうだな
Pythonは複雑なデータ処理をするとき用だな
切り貼りするだけならPythonは大袈裟
>>611 お馬鹿はかきこまずに
マスかいてなさい
東京生まれHIPHOP育ちのLyricみたいなFlowだなおい
a = 1
b = 2
a ^= b
b ^= a
print(a,b) # 3 1
why?
>>616 1と2の排他的論理和は3だし
2と3の排他的論理和は1だから
合っていると思う
くだ質に移動する
620 :
デフォルトの名無しさん:2014/07/13(日) 11:35:26.85 ID:g8Ou8aAJ
621 :
デフォルトの名無しさん:2014/07/13(日) 11:38:01.56 ID:g8Ou8aAJ
>>> a = 275638
>>> b = 362553
>>> a,b
(275638, 362553)
>>> a ^= b
>>> a,b
(113807, 362553)
>>> b ^= a
>>> a,b
(113807, 275638)
>>> a ^= b
>>> a,b
(362553, 275638)
a,b以外の変数を使わずに値を入れ替えるときの常套手段
a, b = b, a
624 :
デフォルトの名無しさん:2014/07/13(日) 12:24:55.63 ID:hh7t9GxI
同地ならもんだいない
へ?
バカに絡むとバカが伝染るぞ
何と勘違いしたのか
ああ、
>>616は排他的論理和で値を交換したかったのか。
そう言ってもらえればわかったのに。
>>622のやり方って地味にPythonの凄いところよね。あまり使う機会はないけど。
pyqtってインストール面倒くさいですね
pipで入れられるguiライブラリってないですか
wxpython
で、でもそれは3.4でつかえないのはこまります
pysideは?
634 :
デフォルトの名無しさん:2014/07/13(日) 15:14:49.11 ID:T9hX6WaS
◎2ch勢いランキングサイトリスト◎
★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢
・ READ2CH
・ i-ikioi
※ 要タイトル名検索
>632
情報後出し
時代はPython
pythonはdjangoとtracがあるから名前が知られている
djangoの翻訳に関する規約はどこに書いてあるのか教えてください
日本語の方にもそういうの書いてないのでわかりません
641 :
デフォルトの名無しさん:2014/07/14(月) 12:35:49.45 ID:rNFEdlTf
djangoの良さが判らんわ
自分はdjangoしか使ったことが無いんですが他に何がオススメですか?
あ?
644 :
デフォルトの名無しさん:2014/07/14(月) 15:50:19.10 ID:onJk1ku8
なんでwsgi使わないの?
フレームワークのキモい作法覚えるの苦痛じゃないの?
J
django-jpはやっぱり金儲けか
>有償のサービスや書籍として、成果物を公開することがあります。
>>645 同意
wsgi で自前で書いたら django 要らなくなった
>>645,649
バカは書き込みするな
djangoをwsgiで動かせるけどそういう次元じゃねえな
仕事でやってるならともかくホビーアマチュア用途ならpythonのバージョンアップにも付いてけないフレームワークなんざ論外だろ
質問させてください
WindowsでLightWaveというソフトでPythonを触っていてpyqtを使おうと思ったのですが
ImportError: DLL load failed: 指定されたプロシージャが見つかりません。
と出ます
Python Pathを確認したところLightWave PythonでもPathは通ってました
普通のPython側ではpyqtもちゃんと動いています
LightWave Pythonのバージョンが
'2.7.2 (default, Jun 20 2011, 09:52:21) [MSC v.1500 64 bit (AMD64)]'
普通のPython側が
'2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)]'
です
英語サイトを見た限り使ってる人は普通に動いているようですが…
会社がdjangoやpyramidなりのフレームワークを採用しているから使わざるを得ないというならわかるが
個人や規模の小さいビジネスが新たにがwebサービスを作るケースでは足かせにしかならない
655 :
デフォルトの名無しさん:2014/07/15(火) 04:48:06.66 ID:7MWYl2Sv
>>653 再現の手順書けばだれか試してくれるかも
フレームワークを使わずに1からしこしこ書くほうがクソ
どうでもいい
小規模なら学習コストの方が高く付く
webobと適当なormで相当カバーできるし
RT >659
フレームワークとかゲームエンジンは使った方が効率いいけど
なんでこんなもん覚えないといけないんだとムカつき度も上がる
言語を覚えるときはむかつかなかった?
新しいOS(ω)のインターフェースを覚えるときはめっちゃむかつく
Pythonで違和感を感じたのは文字列がイミュータブルなこととall()の挙動くらい、あとは厚化粧したC言語だなと思った
Rubyは短く書くことが目的だから読めない
p 100とかなんだよふざけんなよ
食わず嫌いイクナイ
どんな言語にも長所短所・向き不向きがある
そこを理解して用途に応じ柔軟に使い分けられれば
IT人としてこれ以上の幸せはないだろう
どんな言語でも使いこなす必要はない
質問です
pytz で手元の PC の時刻から
その timezone 情報を調べるために
次のようなコードを書きました
t = datetime.datetime.utcnow()
d = datetime.datetime.now() - t
for s in pytz.common_timezones:
z = pytz.timezone(s)
if pytz.utc.localize(t) - z.localize(t) == d:
print s, z.tzname(t), z.utcoffset(t)
ここで
d = datetime.datetime.now() - t + datetime.timedelta(hours=4)
とすると
NewZealand の Auckland が出て来るのを期待したのですが
d = datetime.datetime.now() - t + datetime.timedelta(hours=3)
でないと出て来ません
おそらくサマータイムのせいだと思うのですが
どうすれば正しく取得出来ますか?
>>668 ニュージーランドは今は冬のはず
とか言う話じゃなくて?
>>670 ありがとうございます
マジでそれかも知れません
北半球の都市で確認し直してみます
ヒューッ
冬まで動作確認おあずけになるのは仕方ないとして
夏時間の期間が年ごとに替わる国だと
毎歳pytzアップデートインストールとか
あほらしくてやってられんのだが
jedi.vimのインストールに挫折したけどやっぱりおまいらってjedi.vim使ってる?
>>673 OSが持っているデータベースを使うとか、どうだろう
(OSのアップデートが必要だが、OSなら大抵アップデートしてるし)
>>676 pytzがそれやればいいんじゃないの?
>>671 「おい、シドニー生まれ!
オーストラリアは今は夏だぞ!」
というシーンを思い出した。
pycharmに金払わないとdjangoも扱えないとかクソだな
pythonのideにはまともなものがないのか金儲け主義しか業界にいないからだ
>>679 じゃあここはひとつ君が作ってくれ
Pythonは中括弧がないからソースの整形に難儀する
利用者の意図を汲んでインデントを整形するエスパーリファクタリング機能を搭載してくれれば文句はない
autopep8でも使ってろよ
死ね
>>682 まあ死んだほうがいいのはおまえだけどな
>>683 てめえが死ねや単発
お前の脳内はスパゲッティだな
冷めて固まった最悪のだ
ipython notebook & matplotlibを試そうとして
sourceforgeからWinPythonをダウンロードしたら
ClamXAavにadwareだとはねられたorz
Macで拾いに行ったのがアカンかったの?
なんでMacでwinpython使おうなんて思ったんだ
いわゆるDSTまたぎの夏時間終了時刻の
1:50に造られたファイルより
1:20に造られたファイルの方が新しかったりするのか
os.listdir()で時刻でソートかけたときの結果はどうなるんだろ
OS が返すファイルのタイムスタンプが UTC なら問題ないだろう?
>>687 Macで拾って検疫してからWin8にもっていこうとしたんだよ
それほど重要じゃないことは
脳が忘れるように出来ている
ちょっとツール作るには良い言語だな
記述量もそんなに多くないし
でも、やんないけど
まったくの初心者でpythonjapanのチュートリアルから勉強中なんだけど
日本語チュートリアルを 脳内でさらにもう一回日本語翻訳しないと理解できない・・・
この文書 pythonを普通に使いこなしてる、使い方がわかる人が読むと普通に素直に読めるの?
os.walk で特定の名前のディレクトリ ( .git とか) だけスキップするにはどうするのが普通?
>>693 チュートリアルが読みにくいのは同意だけど自分は読んでないので確認が面倒
そういうのは具体的にどのページのどの場所かまで言った方が良いと思う
ちょっと変な日本語なので修正
>>693 チュートリアルが読みにくいのは同意だけど自分は今はもう読んでないので確認が面倒
そういうのは具体的にどのページのどの場所かまで言った方が良いと思う
help(os.walk) するのが吉
ああ dirnames[:] = [1:] とかで消せるのか
>>697 ありがd
python.jp のせいじゃないかも知れないけど
チュートリアルはなかなか本題に入っていかなくて
もどかしい感じはするね
全くプログラム未経験者向けに書かれてるからかな
既にほかの言語知ってる人用に
別のチュートリアルというか
how to in python
みたいなのもあると良いと思った
既にあったらスマソ
dive into python3は他の言語を知ってる人向けで参考になった
二個おっぱいと三個おっぱいがあって
感度は三個の方がいいのに技が単調という
困るなこのおっぱい
702 :
デフォルトの名無しさん:2014/07/16(水) 19:01:59.83 ID:rH8aHZQn
find()の2つ目以降ってどうやって表示させるの
>>698 dirnames[:] = dirnames[1:]
なら上手くいくのに
dirnames = dirnames[1:]
だと出来ないんだな
なんなのこれ
>>702 言っている意味がよく分からん
str.find() かい?
>>702 hoge1 = s.find('a')
hoge2 = s.find('a', hoge1)
hoge3 = s.find('a', hoge2)
re.findall の方が使いやすい
hoge1 = s.find('a')
hoge2 = s.find('a', hoge1 + 1)
hoge3 = s.find('a', hoge2 + 1)
だったわ
>>703 dirnames[:] = dirnames[1:]
dirnames変数の示す既存インスタンスの中身を変更
dirnames = dirnames[1:]
既存インスタンスの内容は変更せず、dirnames変数の示す先を新規作成したインスタンスにする
dirnames[:] = dirnames[1:] なら
del dirnames[0] か elem = dirnames.pop(0) でいい気もする
インデックスがあらかじめ分かってないと
ignore = ['.git', '.svn']
dirnames[:] = [_ for _ in dirnames if _ not in ignore]
みたいな書き方しかできない気がする
710 :
デフォルトの名無しさん:2014/07/16(水) 20:31:34.17 ID:rH8aHZQn
誤解されないように書いておきます
re.findall の方が使いやすい
712 :
デフォルトの名無しさん:2014/07/16(水) 23:32:16.96 ID:r0g4IjNr
phpの $object->$field はpythonではどう書いたらいいでしょうか
object[field]など試してみましたがダメでした
object.fieldじゃねえの
>>713 やりたいのは$object->fieldではなくて。$object->$field です。
javascriptでいうobject[field]です。
>>714 ありがとうございます!
GAEってPython3対応してる?
>>675 使ってるYO
BundleとかNeoBundleつかえば一発ちゃうん?
>>694 ちょっとずれるけど、os.walkって遅いんだよね
フィアル数が多いと使いものにならないからC作ったライブラリ呼ぶようにした
Python の正規表現で
行頭から N 文字のスペースだけ見つかったら
を N 回繰り返しに置換するようにするには
どう書けば良いですか?
>>721 ごめん、予定は知らないけどまだ2.x系のバージョンアップが続いてるからしばらくはそっちを追うんじゃないかな
その間にphpとかgoとか出てきてて、python 3に力を入れてるようには思えない
>>722 r = re.compile(r'^(\s+)', re.M)
html = r.sub(lambda m: ' ' * len(m.group(1)), html)
>>723 GAE は Dart の方が勢いあるのかな
>>599 Qtを使うなら出来るでしょ
標準ライブラリでは無理だけど
'12ab34cd56ef7890' (実際はもっと長いです。)
という文字列を、
0x12, 0xab, 0x34, 0xcd, 0x56, 0xef, 0x78, 0x90, ...
というリストに変換してくれる関数を教えてください。
s = '12ab34cd56ef7890'
for i in range(0, len(s), 2):
print("0x" + s[i:i+2])
729 :
727:2014/07/17(木) 11:51:45.02 ID:Im0E1ROG
なんという自演ωωω
731 :
デフォルトの名無しさん:2014/07/17(木) 12:55:40.80 ID:9HyFGjJE
sqliteでexecuteをやる際に参考書かれているのに"""ってダブルクォーテーション×3が入っていますが
どのような意味ですか
>>732 ありがとうございます。ずっとコメントアウトだと思っていました。
複数行文字列なんですね
実はsqliteで長いSQLがあって、"""で囲むと正常に動作するのに
"だと正常に動作しなくて困っています。sqliteでexecuteをする場合になんで"""を使うのかは
わかりますでしょうか。文字列に限界があるのでしょうか
hoge="%s" とかしてないか
hoge=? にしないとだめよ
>>734 はい、ネットで調べてどうもそこらへんだと思うのですが
まだうまくいっていません。
難しいですsqlite
>>735 エラーにはなっておらず、ヒットがしません。
手動で同じSQLを入力するのとヒットするのですが
SELECT idFile FROM files WHERE strFilename LIKE "videoplayback?itag=22&expire=1405587600&key=yt5&
nh=IgpwcjAzLm5ydDE5KgkxMjcuMC4wLjE&mv=m&mt=1405564550&source=youtube&
ratebypass=yes&id=o-ANPJKPdt3p2ED6S6LastRRngGh8OM1YzE$_$bixnZwL6Sy&
upn=b5Lt38efjzU&fexp=902408,924213,924217,924222,927622,930008,934024,934030&mws=yes&
signature=ADA2437B43C7E54F0CD05BECC35593EC73336C18.E6A06CD4AD140E4303006C018291ABD3FD80D323&sver=3&ipbits=0&
initcwndbps=3092000&sparams=id,initcwndbps,ip,ipbits,itag,ratebypass,source,upn,expire|User-Agent=
Mozilla$%$2F5.0+$%$28Windows+NT+6.2$%$3B+Win64$%$3B+x64$%$3B+rv$%$3A16.0.1$%$29+
Gecko$%$2F20121011+Firefox$%$2F16.0.1&$_$3D$_$SBS$_$" ESCAPE "$"
このようなSQLなのですが
ダブルクォーテーションを含む文字列をダブルクォーテーションで囲ったらSyntaxErrorでるはずだけど
すみません。参考で載せたは少し前のでした。
最初はこんなふうにしてました。
c.execute(sql)
馬鹿には無理
pythonでGUIが一番簡単にできるのってなに?
バカそうだから何使っても無理
>>737 SQLだけでなく周辺のソースコードを貼ろう
問題はSQLではなく文字列リテラルの書き方にあると疑ってるんでしょ?
ならコードを貼らなきゃ
SQLに'''を使う理由だけどこれなら複数行文字列を書ける&文字列に'も"も埋め込めるから
一行のSQLなら'でいける
>>741 tkinter
744 :
デフォルトの名無しさん:2014/07/17(木) 16:25:18.84 ID:7d47ImZP
pythonでGUIが一番人気なのってなに?wxpythonかtkinterかな
pyqt or pyside
>>743 こちらを実行するとヒットします。
c.execute("""SELECT idFile FROM files WHERE strFilename LIKE 'videoplayback?ipbits=0&ratebypass=yes&fexp=902408,
913430,917000,924213,924217,924222,927622,930008,934024,934030,936102,945064&mws=yes&signature=4631B5CAB319D6CB5BEE47E1677279A444D381E7.5409D318B7BBC365F08182555DCCC76E9BAADA1E&
sparams=id,initcwndbps,ip,ipbits,itag,ratebypass,source,upn,expire&mv=m&key=yt5&expire=1405605600&sver=3&source=youtube&ms=au&
upn=LH7aoxDlCBE&id=o-ALw7pYyEqc7sMBTUjOMtw-$_$QgvG9BGHlUXaKbdWuwIcg&nh=IgpwcjAzLm5ydDE5KgkxMjcuMC4wLjE&itag=22&
initcwndbps=2771000&mt=1405581564|User-Agent=Mozilla$%$2F5.0+$%$28Windows+NT+6.2$%$3B+Win64$%$3B+x64$%$3B+rv$%$3A16.0.1$%$29+Gecko$%$2F20121011+Firefox$%$2F16.0.1' ESCAPE '$'""")
しかしいくつかの置換を通して整形したものだとヒットしなくなってしまいます。
実際に使うのは整形したものになるので、困っています。
file = 'videoplayback?ipbits=0&ratebypass=yes&fexp=902408,913430,917000,924213,924217,924222,927622,930008,934024,
934030,936102,945064&mws=yes&signature=4631B5CAB319D6CB5BEE47E1677279A444D381E7.5409D318B7BBC365F08182555DCCC76E9BAADA1E&
sparams=id,initcwndbps,ip,ipbits,itag,ratebypass,source,upn,expire&mv=m&key=yt5&expire=1405605600&sver=3&source=youtube&
ms=au&upn=LH7aoxDlCBE&id=o-ALw7pYyEqc7sMBTUjOMtw-_QgvG9BGHlUXaKbdWuwIcg&nh=IgpwcjAzLm5ydDE5KgkxMjcuMC4wLjE&itag=22&
initcwndbps=2771000&mt=1405581564|User-Agent=Mozilla%2F5.0+%28Windows+NT+6.2%3B+Win64%3B+x64%3B+rv%3A16.0.1%29+Gecko%2F20121011+Firefox%2F16.0.1'
file = file.replace('%', '$%$')
file = file.replace('_', '$_$')
t = (file,)
c.execute("""SELECT idFile FROM files WHERE strFilename LIKE ? ESCAPE '$'""", t)
print(file)
>>741 1. Tkinter
標準で入ってるのでインストールが要らないので簡単。tk に慣れてないと使うのはつらいかも。
2. wxPython
馬鹿でも使える。使うのは一番簡単。
3. PyQt (一説には PySide の方が良いらしい。)
馬鹿には無理。見栄えは一番良いと思う。
つかいずらいなsqlite
日本語もまともに使えないんじゃねえ
PyQtが嫌われるのはGPL体験版商法だからだよ
Qt使うような気合入ったアプリならソース公開しない場合が多いだろうからな
SQLやGUIをすると、コードの美観が損なわれるのがつらい。
特にPythonは言語自体もユーザーの思想もシンプルさを尊ぶ傾向があるし。
かといってORMもいまいち使い辛いずら
SQLAlchemyいいじゃない!
そうかな?
757 :
746:2014/07/18(金) 08:14:22.72 ID:YSHkN/Xp
あ、たぶんわかった
LIKEで%の検索かける時に、問い合わせの文字列もESCAPEした状態にしないといけない
分りづらい
8年前にSQL周りさわったとき日本語のエスケープに問題があって
ADOだったかODBCだったを使うしか解決法がなかったのを思い出した
Win,Macの場合。
もしかして pytz って GAE で使えない?
761 :
デフォルトの名無しさん:2014/07/18(金) 12:57:15.04 ID:P4uOsCCD
762 :
デフォルトの名無しさん:2014/07/18(金) 15:55:41.87 ID:YdyGEEfC
cx_freezeによる実行ファイル作成でエラーが出るのですが、こちらで質問してもよいですか?
馬鹿には無理とか言って悦に入る馬鹿w
アホにいちいち反応してるご新規さんがいるな