|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
いちもつ
おっ
_ _ ∩ ( ゚∀゚ )ノ ))) おっ! ( 二つ ノ 彡ヽ (_ノ ⌒゙J ⊂ヽ ((( (_ _ )、 ぱい! γ ⊂ノ, 彡 し'⌒ヽJ _ _ ∩ ( ゚∀゚ )ノ ))) おっ! ( 二つ ノ 彡ヽ (_ノ ⌒゙J ⊂ヽ ((( (_ _ )、 ぱい! γ ⊂ノ, 彡 し'⌒ヽJ
7 :
デフォルトの名無しさん :2013/01/23(水) 12:35:41.83
いくら検索しても出てこないのですが Google app EnginegはPython2.5にしか対応していないのですか? 現在使用しているのはPython2.7です
2.5でgae使ってるとdeploy痔に毎回早く2.7にしろって催促される
12 :
デフォルトの名無しさん :2013/01/23(水) 13:55:47.04
>>9 Google App Engine Python2.7
で検索をしていました
>>11 ありがとうございます
GoogleでもBingでもその単語でわらわら情報出てくるんだが… では、一体どこの検索エンジンをお使いになったので?
AltaVistaです。
ってネタレスしたらAltaVistaってまだ検索エンジンやってる! しかも「Google App Engine Python2.7」で色々ヒットする!
Ask
17 :
デフォルトの名無しさん :2013/01/24(木) 10:54:30.24
わらわらわら
18 :
デフォルトの名無しさん :2013/01/24(木) 15:29:34.63
Python経験者の皆さん 通話無し、チャットのみでも良いのでちょくちょく教えて下さい! Skype or2013
ここに書けよ 一連のやり取りが他の初心者のためになるかもしれんだろ Skypeチャットという閉じた空間で助言してもお前一人しか得しない
初心者のためにならない罵倒レスで埋め尽くされては話にならないでしょ
マンツーマンでがっつり教えてやってもいいが、俺に頼むのであれば\6K/hの料金が必要だ。 もちろん領収書は発行しないので、そのつもりで。 ベンダーがやってるセミナーとか\10K/h超えとか普通だから安いもんだろ。
まず
>>21 の名前を出さなきゃ
匿名で10K/hとかない
自惚れすんなよ
>>16 Askは最初"Ask Geeves"だったんだよな。
>>21 いいねー
その金額で良いから俺に教えて欲しい
Androidはpythonも公式にサポートしてくんないかなあ GAEがそうであるように
pythonファンにはnode.jsいいよ
サードパーティやんw ちなみに使ったことある人おる?
30 :
デフォルトの名無しさん :2013/02/03(日) 19:29:36.44
糞スレ
既出です
32 :
デフォルトの名無しさん :2013/02/06(水) 11:49:18.50
python始めてみた クラスのメンバ変数の宣言ってできないの? def __init(self,a,b,c)__: self.xa=a self.xb=b self.xc=c この場合xa,xb,xcが突然メンバとして登場するんだけど 有ることを明示的に示したい
>>32 宣言ってこと?
Python は変数への値の代入が変数の宣言を兼ねてる
だから短くシンプルな書き方が出来るんだよ
質問に対して正確に答えるなら、JavaとかC++のような宣言は「できない」
メンバ変数を宣言したくなる事は、俺もある。なぜなんだろう?
37 :
デフォルトの名無しさん :2013/02/06(水) 13:09:38.36
みなさんありがとう。やっぱないのか 何か後からクラス見た時に上の方ざっと見てわかりやすいかなと思って。。 そもそも直接ソース見ろってことね。。わかりやした
setattr
class Foo(object): def __init__(self, a, b, c): self.xa, self.xb, self.xc = a, b, c def func(self): print('func()') foo = Foo(1, 2, 3) # foo.__dict__.keys() # dict_keys(['xa', 'xb', 'xc']) # foo.__dict__ # {'xa': 1, 'xb': 2, 'xc': 3} AttributeError: 'Foo' object has no attribute '__slots__'
いったい何が言いたいのかさっぱり。
class Foo(object): def __init__(self, a, b, c): self.xa, self.xb, self.xc = a, b, c def func(self): print('func()') foo = Foo(1, 2, 3) # foo.__dict__.keys() # dict_keys(['xa', 'xb', 'xc']) # foo.__dict__ # {'xa': 1, 'xb': 2, 'xc': 3} # print(foo.__slots__) print(dir(foo)) for attr in dir(foo): print('"{0}" = {1}'.format(attr, getattr(foo, attr))) print(Foo.__dict__) Objects/object.c _generic_dir(PyObject *obj) itsclass = PyObject_GetAttrString(obj, "__class__"); if (merge_class_dict(dict, itsclass) != 0) { classdict = PyObject_GetAttrString(aclass, "__dict__"); bases = PyObject_GetAttrString(aclass, "__bases__"); }
RTFM.
全くもって何が言いたいのかさっぱり
ドヤ顔でCPythonの実装コード引っ張ってきちゃうところとかがねー。
>>35 でリンクされてるドキュメント読むだけでいいのにねー。
>>> class Foo(object):
... def __init__(self, *args):
... self.xa, self.xb, self.xc = args
...
>>> foo = Foo(1, 2, 3)
>>> foo.__dict__
{'xb': 2, 'xc': 3, 'xa': 1}
>>> foo.xd = 4
>>> foo.__dict__
{'xb': 2, 'xc': 3, 'xa': 1, 'xd': 4}
>>>
>>> class Foo(object):
... __slots__ = ['xa', 'xb', 'xc']
... def __init__(self, *args):
... self.xa, self.xb, self.xc = args
...
>>> foo = Foo(1, 2, 3)
>>> foo.__dict__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Foo' object has no attribute '__dict__'
>>> foo.xd = 4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Foo' object has no attribute 'xd'
>>>
こうですか?わかりません><
http://d.hatena.ne.jp/yach/20080424
>>> foo = Foo(1, 2, 3) >>> foo.xd = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> setattr(foo, 'xd', 4) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> Foo.__slots__ += ['xd'] >>> Foo.__slots__ ['xa', 'xb', 'xc', 'xd'] >>> foo.xd = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> setattr(foo, 'xd', 4) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>>
>>> class Foo(object): ... __slots__ = ['xa', 'xb', 'xc'] ... def __init__(self, *args): ... self.xa, self.xb, self.xc = args ... >>> foo = Foo(1, 2, 3) >>> foo.xd = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> setattr(foo, 'xd', 4) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> Foo.__slots__ += ['xd'] >>> foo = Foo(1, 2, 3) >>> foo.xd = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> setattr(foo, 'xd', 4) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> どうしてこれもだめなのはなぜ?
>>> class Foo(object): ... __slots__ = ['xa', 'xb', 'xc'] ... def __init__(self, *args): ... self.xa, self.xb, self.xc = args ... >>> foo = Foo(1, 2, 3) >>> foo.xd = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Foo' object has no attribute 'xd' >>> Foo.__slots__ += ['xd'] >>> class Bar(Foo): ... def __init__(self, *args): ... super(Bar, self).__init__(*args) ... >>> bar = Bar(1, 2, 3) >>> bar.xd = 4 >>> bar.xe = 5 >>> Bar.__slots__ ['xa', 'xb', 'xc', 'xd'] >>> bar.__slots__ ['xa', 'xb', 'xc', 'xd'] >>> bar.__dict__ {'xd': 4, 'xe': 5} >>> 継承すると制限なくなるの?
50 :
デフォルトの名無しさん :2013/02/06(水) 16:22:12.43
>>35 でリンクされてるドキュメント読むだけでいいのにねー。
__slots__は、一応、本来の用途は、たくさんインスタンスを生成するオブジェクトの省メモリ化。 インターフェース的な役割を期待してると、サブクラス化したときにあれ?ってなるので気をつけて。 インスタンス変数の宣言は出来ないけど、代案 propertyが宣言的に使えて、doc-stringも設定できる。簡単な実装だと from operator import attrgetter def attrsetter(name): return lambda self,value: setattr(self, name, value) def attribute(name, doc): return property(attrgetter(name), attrsetter(name), doc=doc) class Point(object): x = attribute("_x", "point x axis") y = attribute("_y", "point y axis") def __init__(self, x, y): self.x = x self.y = y
〜続き 但し、このような簡単なコードだと、コンストラクタのソース読めば自明なので、 インスタンス変数は必ずコンストラクタの最初の方で纏めて初期化する、というような運用をすれば、 宣言と初期化を同一のコードで表現できる。これくらいの規模でドキュメント化が不要なら、ソース見ての方が手軽。 規模が大きくなると、宣言的なインターフェースは有用になってくるけど、 他の要望も多くなってくると思うので、ライブラリの利用をお勧め。zope.interfaceが定番
>>48 __slots__で確保するは記憶領域は、クラス定義時に決まるから。
>>49 Yes. ドキュメントにも書かれてる、仕様どおりの動作です。
どちらもドキュメントの__slots__ を利用する際の注意に書かれてるよ。
54 :
デフォルトの名無しさん :2013/02/06(水) 16:51:13.47
型定義も一緒に出来ると意味がある希ガス
>>51 自己レスだけど、後から見直してみると、読む人がattributeの実装を知らないと
クラス変数と混同してしまいそうで紛らわしいかなって懸念がでてきた。補足のみ
slackwa...
vipper が工作でもしたんかの…
> Linuxコミュニティが選ぶ
60 :
デフォルトの名無しさん :2013/02/11(月) 01:08:55.05
setup.pyやeasy_installで自分ちのパソにインストールされたファイルを(コンパイルはmingw) ftpでレン鯖に上げて使いたいことがあるんですが eggや、pythonのバージョンやOSにあわせてインストールされたようなライブラリの場合 どうしていいのかわかりません。例えば素直にインストールされるのが以下のような場合 PackageName-1.0.0dev-py2.7-win32.egg 1.スクリプトからimport packagenameで読み込めるようにするには eggを適切なパスに置く以外に何が必要ですか? 2.pythonのバージョンや対象OSを指定してコンパイルすることはできるんでしょうか?
61 :
デフォルトの名無しさん :2013/02/11(月) 02:13:05.04
1.の方は解決できました。eggを直接パスに指定する、または eggを展開して配置することで読み込むことができました。 そもそもどういう仕組みかよくわかってなかったので、すみません。 2.の方は、違う環境で実際どうなるか不明ですが、 gccでコンパイルしてることからとりあえずunix環境などでも動くはずなので 使いながら確認していってみることにします。
いまどきftpつかっちゃうひとって
レンサバも死語だよな PythonやるならGoogle App Engineでいいじゃろ
今どき env も使えん gae を使うとか… requirements.txt アップしたら pip -r でライブラリ取ってくるぐらいしてくれよ 確かに可用性は高いかも知れんが、aws 使っちゃうわ
aとbの配列の最初から交互にデータ取り出しyの配列を作る場合 a = [1, 2, 3] b = [4, 5, 6] y = [1, 4, 2, 5, 3, 6] zipでaとb結合すると[(1, 4), (2, 5), (3, 6)] [1, 4, 2, 5, 3, 6]に変換する方法があれば教えてください。 とりあえず1づつ取り出して入れる a = [1, 2, 3] b = [4, 5, 6] x = list(zip(a, b)) print (x) y=[] for i in x: for n in i: y.append(n) print(y)
>65 y = list(sum(list(zip(a, b)), ()))
できましたありがとうございます。 1行でできるんですね。 まだやっていることがわからないので勉強します。
sum()は勉強になった。 ( ・ω・) d
sum()の説明見てたら、itertools見つけたので紹介しとく。 >>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> tup = tuple(zip(a, b)) >>> tup ((1, 4), (2, 5), (3, 6)) >>> import itertools >>> tuple(itertools.chain(*tup)) (1, 4, 2, 5, 3, 6) >>> tuple(itertools.chain.from_iterable(tup)) (1, 4, 2, 5, 3, 6)
71 :
65 :2013/02/15(金) 15:50:55.00
>>69 ありがとうございます。
勉強になります。
>>70 違うのはsum()じゃなく'+'演算子。
>>> 0 + 1 + 2
3
>>> () + (1, 2) + (3, 4)
(1, 2, 3, 4)
>>> '' + '1' + '2'
'12'
先にPart47使い切れ
商標登録って時々話題になるよな。 前もPerl事件があったか。
75 :
70 :2013/02/16(土) 09:05:42.20
>>72 詳しい説明ありがとうございます。
勉強になりました。
みんなのPythonで勉強してるのですが一つ質問させてください name(変数)自体が関数のような命令を持っている〜データと命令をセットで持つものをオブジェクトと呼んでいます〜命令のことをメソッドと呼んでいます。 って記述があるんですが、この場合の命令を「持っている」とはどのように解釈すればいいのでしょうか 変数に入れたデータを「持っている」というのは解りますが、その都度付け足す命令を「持っている」というのが理解できません よろしくお願いします
┌──────────┐ │ オブジェクト │ ├──────────┤ │データ │ │メソッド │ └──────────┘ ↓ [変数nameという箱] これで分からんか?
状態と振る舞いを持っているのがオブジェクト
{}
┌──────────┐ │ 人 間 │ ├──────────┤ │年齢 │ │性別 │ ← データ 名詞になるもの │誕生日 │ ├──────────┤ │食う │ │寝る │ ← 振る舞い、メソッド 動詞になるもの │遊ぶ │ │ウンコする │ └──────────┘
pythonに限らずOOの話では
┌──────────┐ │ 仏 教 │ ├──────────┤ │空 │ ← データ 名詞になるもの ├──────────┤ │色 │← 振る舞い、メソッド 動詞になるもの └──────────┘ 色即是空、空即是色
似非原さんなにやってんすか
前スレが埋まったのは今日なのに、何でここはこんなに書き込みがあるんだ。
初心者さんが満足して帰ってるからな どんどん質問したくなるわけよ
locale.setlocale(locale.LC_ALL, '') しないと >>> time.strftime('%Z') b'\\x93\\x8c\\x8b\\x9e (\\x95W\\x8f\\x80\\x8e\\x9e)' ってなるのはちょっと無茶苦茶だと思う
pypi に登録している奴で最新のだけ持っていって欲しいんですが、 何か良い方法はないでしょうか。 前のバージョンを削除してしまうと、 そのバージョンのダウンロード数が消えてしまうので、 それはしたくないんです。。。 hideで隠していてもダウンロード数が 増えていってしまいますので、困っています。
set TZ=JST-9 export TZ=JST-9
>>88 どっかにバージョン付きのURLが貼ってあるんだろ
説明文に新しいバージョンがあるからそっち使ってねって書いとけば?
まあ、あんまり気にすんな
gmailを読み込みエンコードしているのですが1つのメールだけ 以下のエラーがでて止まってしまいます bodytxt = str(data[0][1], 'iso-2022-jp') UnicodeDecodeError: 'iso2022_jp' codec can't decode bytes in position 646-648: illegal multibyte sequence エラー部分のみ削除または?等に変換してエラーがでないようにするにはどうすればいいのでしょうか? python3.3を使っています。
すみません勉強不足ですみません。 ありがとうございました。
基礎知識もない初心者だがなにから手をつければいい?
何を作りたいんですか
プログラミングに触れてたい→Pythonが初心者にはおすすめと言われる→2chで聞いてみる←イマココ
『pythonスタートブック』というpythonだけじゃなくてプログラミング自体が 初めての人向けの本があるので買って消化してください
ノーマネーならチュートリアルでも読んでみたら
まあそのうち有料になるらしいけどね 70ドルくらいだっけ
わざわざmini買わせようとするなよ、節操ねーな
今も有料だよ。特に制限はないけど >There is currently no enforced time limit for the evaluation. って書いてあるくらいだから、今後何かする予定はあるんだろう。 つい最近出てきたエディタってわけじゃないのに、 ここ2~3ヶ月で奇怪なくらい記事流れまくったよね。 さすがに臭かったわ。
開発終了したらソース公開してくれるとかならともかく いつか使えなくなるプロプラなエディタに金払う気にはならないのが正直なところ
んじゃEclipseでいいんじゃね
あれはエディタの枠に収まりきらないだろ(主に重量的な意味で)
Python 使うっていう前提ならエディタは Eclipse で良いと思う。 普通のエディタは CotEditor で足りる。
結局vimに戻ってくる
108 :
デフォルトの名無しさん :2013/02/20(水) 08:18:33.22
初心者ならメモ帳で充分
自分もそう思ってたけどメモ帳はBOMを勝手に付けるらしいから不可
BOMがソースの先頭に付いてても普通に動いたけど
>>108 こういう見下した言い方、暗黙の強制はむかつくな
何をして充分と言ってるのかわからん
113 :
デフォルトの名無しさん :2013/02/20(水) 11:06:17.57
なんだかよくわかりませんが 琴線に触れてしまったようですね
私の発言が友人の琴線に触れて怒らせてしまった。 これって「琴線」の使い方が間違ってますよね? でもよく見られる表現です。 この場合の「琴線」が意味している内容をうまく表現する言葉は無いものでしょうか? 逆鱗に触れるだと、怒らせすぎでニュアンスが違うんですよね。 気に障るでいいような気もするんですが、そのまんまやんとも思うし。 このままだと、「琴線」誤用が定着してしまいそうな…
気に障るでいいよ
日本語には怒りを表す語彙少ないからなあ
そのまんまでいいやんけ
そういうときは「逆鱗」じゃない?
なんでシソーラスを使わないの
>>106 それってショートカットキーにコンパイルや実行のコマンドを登録できる?
komodo editの方が良いんじゃね。どのOSでも使えるし
あとはPyCharmがどれ程のものなのか
俺はPythonばかり使うわけじゃないから手が出ない
>>120 >それってショートカットキーにコンパイルや実行のコマンドを登録できる?
Eclipse なら yes。
ちなみに自分は shift + return でコンパイル&実行に登録してる。
>>121 Eclipseは糞重いIDEなのだから出来て当然じゃんw
聞いてるのはエディタの方だよ
ここまで Eric4 なし
糞重いIDEと言えばVisualStudioのPythonプラグインね おそらくPyDevよりインテリセンスは賢いと予想するが
xyzzy
py-modeはもう長らく更新されてないよね
メモ帳はtab/spaceの区別が付かないので、Python向きではない。 (他所からコピペしたりすると、容易にtab/space混在になる)
128 :
デフォルトの名無しさん :2013/02/20(水) 19:31:16.30
その観点からいくと VSのIDEも駄目じゃね?
スペース・タブ文字を可視化する機能は便利だが Pythonでは、タブ文字はスペース4文字に置き換えるのが流儀だから その機能は不要。むしろタブ文字をスペースに置き換える設定ができないことが問題
>>120 CotEditorはマクロ書けばできるよ。既に作ったマクロを配布してる人もいる。
なんならそのままPythonでマクロも書ける。
まぁMac専用だけど。
Pythonで書かれた"軽量"エディタってないのかな
UliPadとか?
idle
sl4aだと配布しづらいのがなあ
javascript食わず嫌いだったけど やってみると面白いね でもたぶんもうすぐ飽きそう
androidってなんであんなに不自由なの ubuntuのスマホ、タブレットなら普通に開発出来るんじゃね
ちょっと考えりゃ分かるやろ
バカチョンスマホって死語?
140 :
デフォルトの名無しさん :2013/02/23(土) 00:39:15.53
Python使いの人って何でselfって書くの? thisでもmeでも良くね?おれthisって書いてるけど selfって書くとなんか嬉しいことあるの?
たまにthisも見るね。混在してるは本人がどんな基準で使い分けてるのか教えて欲しい
他の人のソースを使う時に統一性がある
>>140 PEP8という公式のコーディングスタイルガイドがあって、そこで推奨されている。
あえて他にするメリットがない。
嬉しいことは、エディタで強調表示されるとか。
ほかの言語とあわせてthisでいいのに なんでわざわざ別のにしたんだろうな
何か思想があるんだろ ほかの言語とあわせて {} でいいのにって問いと変わらんと思う
thisが他言語の準標準だといつから錯覚していた?
C++系は大抵thisのような気がする Javaがいるからシェアもトップのような気がする
python・・・何コレ? VBみたいにendで閉じるわけでもなく{}使うわけでもなく インデントだけ・・? 気持ち悪いんだけど・・・
()大量の方がキモいです
151 :
デフォルトの名無しさん :2013/02/23(土) 02:48:31.53
lispの悪口はやめろ
lispは括弧で構造が(機械には)分かるけど 人間が読むために結局インデントするだもんなあ
正直インデント開始の : もいらないからなくして欲しかった。 なくても困らない。
>>149 HaskellやF#にもオフサイドルールはあるね
Haskell のインデント規則は Python と全然ちがって 自然でわかりやすい。 Python はなんで式の途中で改行できるようにしなかったんだろう。
改行はインデントと同様に式やブロックを制御するのに 式の途中で改行することが自然なのだろうか… その場合の改行は明示したほうが自然だと思うが
別に自然だと思うけど a = b + c + d + e + f + g
そういうコードを書かせないためだろうね
じゃあこっちの例で abcdefg = hijklmnopqrstu + vwxyzABCDEFGH + IJKLMNOPQR
Explicit is better than implicit. という考えだから、複数行にわたる式も括弧や\で明示的に示す方が自然なんだろう。
ありえる例として abcdefg = hijklm + nopqrstu + # 間違って入れた+ f(x) # 式とは関係なく呼んだ関数 これが abcdefg = hijklm + nopqrstu + f(x) となるね。式の間に空行を認めると特に。
そのためのインデントじゃないのか?
代入演算子の右辺値はブロックなのかよ
行継続だよ
pythonのブロックの書き方に従うなら abcdefg = hijklmnopqrstu + vwxyzABCDEFGH + IJKLMNOPQR こうだな
インデントしたらこれもいけるの? abcdefg = hijklmnopqrstu + vwxyzABCDEFGH + IJKLMNOPQR
Haskellで出来てるんなら まあ他でもできるんだろう
Haskellのこれは何と出力されるでしょう? f x y = if x > 0 then 1 else 0 + if y > 0 then 1 else 0 main = print $ f 1 1 答え: 1
できてねえじゃん!w
って、ああそうか else の後に全部入っちゃうのか
Haskellに限らずそうなるだろ
どこで繋がるかインデントで決まって欲しい気はするけど、 それはそれでバグの温床になるんだろうか
>>140 thisって書くと何か嬉しいことあるの?
perlとかphpはselfじゃなかったかしら。
別に分かればなんでもいいんだよ ただ慣習に従っているだけ
thisは元もとの言語でも、あれ?これおかしくね?って言われてたはず。
ま、俺らには英語のネイティブ感覚は分からんしな。ガハハ
hoge で良いんじゃね
imortエラーがでる件で質問です。 python sample.py とすると正常に動作するのに apache + mod_wsgi経由で動作させようとするとimport errorがでます。 対象のモジュールは、base64です。 mod_wsgi側で何か設定が必要なのでしょうか?
clsは読みにくかったからclazzにしてるわ。意見求む。
好きにしろってのが意見だな
>>180 PYTHOPATHが違うんじゃね。
またはuserでinstallしてるとか。
どこにpathが通ってて、どこの使ってるか調べるプログラムを書け。
>180 再現する最小限のソースをうp
>>141 >>145 デコレーターとかクラスメソッドとか書くと
self だけじゃなくて cls も使うことがある
this だと self / cls のどちらの意味にも取れるので使わない
>>155 \ を使うか () で囲うかすれば問題ないので気にならない
188 :
179 :2013/02/24(日) 00:53:17.46
>>181 , 186
ありがとうございます。
ちなみに、python_dでテストすると、
refs[n]
といった感じで、数字がでてきますが、
これが増減しないようにモジュールを作るようにすべきなんでしょうか?
どういうモノかによる。 しかし、想定した数だけ増えるか?じゃないのかな最初は。 一切増えないのは増えないで、inc忘れがあるんだろうね。 このままでは、意図しないobjectが解放されてしまい、 深刻なbugを引き起こすと思うよ。 core 吐いてもらって、debug 頑張るしかなくなる。 incし過ぎ・dec忘れの対処は、loopで何度も自作moduleを実行してみて、 python_dが太っていかないか?を目視で調べたりだと思うよ。 簡単な、本当に簡単なtest module作ってみて、 memory leakが発生しないことを絶対に保証できるmoduleで、 動作を確かめてみては?
見事なルー語
simple is better than complex だぜ なげーしまわりくどい
193 :
デフォルトの名無しさん :2013/03/03(日) 04:02:19.31
コマンドラインからPythonスクリプトを実行する際、 コマンドライン引数でモジュールをインポートしたいと思っています。 python -mfoo bar.py 他言語の経験からは↑のようにすれば [ foo.pyがメインスクリプトbar.pyの先頭にインポート ] され 機能追加できるイメージですが、pythonの-mの説明を読むと、 foo.pyの内容を__main__として実行するということで、bar.pyは実行されないと思います。 上の[]内と同等の動作にするためにはどのようにすればよいでしょうか?
馬鹿には無理
スクリプト内で明示的にインポートする トップレベルの名前は全てそのファイルだけを見れば完結するってのがpythonの基本思想
196 :
193 :2013/03/03(日) 11:29:21.65
そうですか。通常の起動と別に、 必要に応じてテスト用のフィクスチャを読み込むような風に考えてたんですが fooとbarをインポートする別のテスト用スクリプトでやるのが正解のようですね
誰もそんなこと言っとらんが
裏で暗黙に、が無いだけで 引数で明示的に、は可能 __import__にモジュール名与えればいいだけ
199 :
193 :2013/03/03(日) 14:35:48.31
>>197 は
>>195 ?
bar.pyの中でfooをimportすべきということじゃないんですか
>>195 barの中で常にfooを読み込む(実行させる)わけにはいかないので
別のテストスクリプトを用意して
import foo, bar
と順に書けば、一応思うような動作にはなるので
そういうことかと思ったんですが
>>199 それなら、python -c 'import foo,bar'でいい気もするけど__MAIN__にならない気がして言わなかった。
自分で作ったプログラムなら依存しないように作ればいいだけだけど。
>>200 >>198 ありがとうございます!たいへん参考になりました。
常に__main__がどうなってるかを意識しないといけないですよね・・・
>>199 でどうなってるか、確認もしていませんでした。
今はすぐに試せないのですが取り急ぎ感謝感謝
ubuntu + apache + python +phpの環境でpythonを動かしているのですが、 設定してるはずのaliasにアクセスしても404のエラーになってしまいます。 pythonが実行されているかどうか確認するためには、どこのログを見れば良いのでしょうか?
それってpython関係あるか? apacheの話だと思うけど。。。 $ grep -ri APACHE_LOG_DIR /etc/apache2/ /etc/apache2/envvars:export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
ごめんなさい mod_wsgi ってのがいるんですね! っていうか wsgi ってすごい思想ですね! って落ち?
werkzeug
206 :
202 :2013/03/06(水) 11:13:01.42
>>204 mod_wsgiも使っています。
pythonのプログラムに処理が来ているかログで追いかけたいのですが、それがわからずにいます。
207 :
202 :2013/03/06(水) 11:13:19.28
>>203 ログ見てみます。
ありがとうございます。
1週間前にPython3系の実験サポが含まれたdjango1.5出たのに誰も話題にしてない これ本当にPythonでユーザー数一等賞のフレームワークなの?? うそくさ 結局一部の声でかい奴が目立ってただけか
煽りを装ったステマにしか見えない
要するに皆Django使えよというツンデレ
それでも僕はpyramid
僕もとっくの昔に3に対応しているpyramid
本家のmlかtrac見てこい 1.5の3サポートは実験。プロダクション非推奨。 普通に使う機能は1.4と対して変わらん
pyramid厨が沸いております 注意してください
django はオワコン。 3 対応遅すぎた。
Djangoはやっぱり塩に限る
ぶっちゃけwsgiの本質判ってたらdjangoいらんよ
本質厨
本質かわいいよ本質
やっぱ今時web2pyやろ
bottleがオススメという記事が山ほどヒットするのに。
お前ら思いついたの適当に言ってるだろw
直感的プログラミングがPythonのスタイルだからな
やる気があればなんでもできる
プログラミング入門としてPython始めてみた 楽しいね
pass
web2pyは割と真面目に使ってる 短くかけるのに自由度が低いわけでもないし、セキュリティ重視
でも怨念が詰まってそう
せめて執念と言って欲しい
web2.py使うくらいならwsgi使う
先月からpythonはじめたけど twitterのAPIが3.3に対応してないようなのでしばらく休憩
言ってることはそのとおりだけど、 入門者、初心者スレとしてはあまりこだわらないほうが良いよね。 知識として知っておいて、いずれはそうするべきだってのを知っていればいい。 変に考えすぎて失敗して完成しないパターンに入る気がする。
234 :
デフォルトの名無しさん :2013/03/17(日) 21:34:19.38
みんなのPythonを勉強した後のオススメの参考書は何ですか? ・パーフェクトPython ・空飛ぶPython ・Python3 徹底入門
エキスパートPythonプログラミング
Dive into Python
ウェブページになってる
240 :
デフォルトの名無しさん :2013/03/18(月) 20:50:41.80
python cock book
ん?python公式リニューアルするのか ってかっけええ
245 :
デフォルトの名無しさん :2013/03/19(火) 06:37:47.70
基調色が何かわかんないね。白なのか青なのかオレンジなのか 読みやすさ重視でコントラストが強いのもあって見てて疲れる
みんなのPython パーフェクトPython うちのところは図書館で借りれる
windows7のcmd.exeでpython使ってますが > hoge.exe | python -c "import sys; print sys.stdin.read()" としたとき hoge.exeの標準出力に出力されたデータは表示出来るのですが 標準エラーに出力されたデータをうまく拾えません > hoge.exe | python -c "import sys; print sys.stderr.read()" とすると IOError: File not open for reading エラーになります python側でデータを得るにはどうすれば良いですか?
> hoge.exe 2>&1 | python -c "import sys; print sys.stdin.read()"
Python 関係ないな。
>>249 出来ました
ありがとうございます
>>250 判ってたら黙っててください
うざいだけです
pass
pass
pass
pass
お前らw
257 :
デフォルトの名無しさん :2013/03/19(火) 18:02:35.20
pas encore
pass
pass
今ubuntu12.10のサーバーでパーフェクトpythonを読みながら sudo apt-get install python3.3 python3.3-dev 上記コマンドでpython3.3をインストールしました。 apt-cache show python3 | grep 'Version' バージョンを確認しても3.2.3のままなのですが 3.2の削除または切替はできないのでしょうか?
馬鹿には無理
262 :
260 :2013/03/22(金) 10:50:00.49
264 :
260 :2013/03/22(金) 11:22:31.58
>>263 ありがとうございますダウンロードできました。
下手に3入れるとシステムが使ってる2のコードのせいで死ぬよ
レスも読まないバカは即死しろ
pass
そういうノラパッケージいれない方がいいぞ ベンダーが提供してくれるバージョンを大人しく使っておけ バグ修正なんかでのバージョンアップも半自動でしてくれるのだから
ノラにベンダー 薬でもキメて頭がハッピーなのか?
運が悪かった
12.10でapt使うと下のようになってる $ python3 -V Python 3.2.3 $ python3.3 -V Python 3.3.0
Python3いれてリンク張ったら yumが使えなくなった事がある。2系使ってたんだな。
自分のバカ自慢して楽しいか
春だから楽しいのだろ
pass
pass
break
raise Exception('You can (not) catch.')
pythonの公式チュートリアルで勉強してますが長いですね; 今5章を終わるところ 対話式でずっとやってきているからやった結果も残ってないし 満足感とか達成感がない
>>281 ループや関数、変数のついた計算機として使ってもいいのよ
いきなりOpenCVに手を出した俺は少数派 辛かったわ
Pythonをwebのserver-sideに使う場合、 どういう組み合わせにすると最速になりますか? Pythonのランタイムもたくさんあってわけがわからない。 RPythonとかいうのが最速ですか??
>>284 今時のマシンはそれなりに速いんだから、どれでも好きなの使えば?
で、やっぱり速度足りないってなったら、スケールアウトすればいい。
そもそもの話、速度追求するんだったらPythonは選択肢には挙がってこないと思うが。
RPythonはコンパイラ書くための道具なので、Webの世界とはちょっと違うかも。
PyPyはえーけど元々バイナリのモジュールなんかは遅くなるし一長一短
>>285-286 どうも
RPythonも好きなフレームワークでつかえるわけじゃないんですね
>>285 後からスケーラビリティが不十分だとわかった場合に
サーバ運用コストが増えたり、最悪、大半のコードの書き直しする羽目に
なるかもしれないので、初めからなるべくパフォーマンスいい組み合わせで開発したいってのが理由です。
>速度追求するんだったらPythonは選択肢には挙がってこないと思うが。
言語単体の速度はPythonよりJavaのが速いんで、最初はJavaを検討しました。
Javaのフレームワークはいくつも見ましたが、すばやく開発できる良いフレーム
ワークがなかったんです。
JavaにはDjangoやRailsのような開発生産性の高いフレームワークがなかった。
StrutsやSpringMVCなどの有名フレームワークは、冗長なJavaコードと、XML地獄。
Play!、もステートレスで要件を満たさなかった。
WebフレームワークはPythonが一番充実してる感じがします。
難しいところだ 環境がリッチになるということは、そのリッチさを生む作業がどこかに発生するわけで それが結局言語や、フレームワークのオーバーヘッドになる それに今現在最速の環境を選んだとしても それが後からスケーラビリティが不十分ということにならない保証もない 結局のところ何らかの見積もりはしなければならない
どんなの作りたいのか分からないんだけど、 簡単なwebを作りまくって性能比較するしかないだろうね 地道な作業だけど頑張りなよ
>>287 まずは完成させないとw
(最初から最高に性能のいい環境で組むと
サーバ増強以外の手段が無くなるんだよな…)←悪魔の囁き
>>288 たしかに
フレームワークのベンチマークを検索してると
Djangoのようなfull stack frameworkよりも
micro framworkのほうが、スケーラビリティが高く、レスポンスタイムも短い傾向にありますね
>それに今現在最速の環境を選んだとしても
今はもう実行速度だけで選ぼうという気もないです。
JavaのStrutsみたいな冗長なフレームワークを使うと
今度は開発のスピードが劇的に落ちてしまうでしょうし
>>289 はい、地道にサンプルデータ入れてベンチとってみます。
不特定多数向けの無料Webサービスで、DBへの書込みも多いようなやつです。
おそらく言語の性能問題よりも先に、DBのマスタがボトルネックになるので
最初からNoSQLで作ります。
マイクロフレームワークよりフルスタックフレームワークの方がスケーラビリティが高い? 意味不明
言語の性能よりフレームワークの性能より I/O コストってか Queries/Rrequest かと クエリ数が少なくて住む ORM が付いてるフレームワーク選べば良いかと おっしゃるとおり言語 or フレームワークのパフォーマンス差異なんて誤差の範囲 NoSQL が速いってのもわからん MySQL を KVS ライクに使うとパフォーマンス半端ないぞ KVS ライクに使うとクエリ数は増えるかもしれない フレームワークのベンチ頑張るよりクエリ数の削減とクエリ速度、自分が使えるリソースをあれこれベンチ取ったほうがよっぽど有用かと
294 :
291 :2013/03/28(木) 00:23:20.40
>>293 カラム型のNoSQLは、単純なKVSよりも柔軟なスキーマが作れる。
NoSQLは一般的にRDBよりスケールアウトしやすい。
サーバーを追加していくだけでスケールアウトできる。
こういうのはRDBにはできない
MySQLをKVSとして使えば速くなるのは当然だけど
JOINもできないし、RDBのメリットが失われる。
RDBのメリットを捨てるくらいならNoSQLでいいや、という感じ。
NoSQLだと自動でShardingできるのがあるけど
これが一番欲しい機能なんだな
うーんなんだろうこの違和感 webフレームワークで言語の速度が問題になるような事例ってのは世界でTOP500に入るサイトとかそういうレベルだよ あと軽いFWだからスケールしやすいってのはちょっと違うと思うなあ フルスタックでも問題無くスケールするし、むしろフルスタックの方がノウハウが大量にある(枯れてる)のでスケールしやすい もしマイナーなFW選択してなにかトラブルが起きた時にどう解決するのか そっちの方がスケールとかより遥かに問題だと思うよ NoSQLに幻想を抱いてるっぽいのも気になる 本格的に使い出すと色んな粗が見えてくるよ 現在進行形のプロダクトで解決策があまり世に出てないから、自分でソースの中身を見ないといけなかったりする 俺はMongoDBをメインのデータストアにしてるけど、どんな挙動・トラブルもほぼ完璧に把握できるようになるまで1年かかった あとShardingなんて聞こえはいいけど現状はまだ使い物にならないのばっかり サーバー追加したらどんどんスケールするみたいに思われてるけど実際は中で泥臭いことをエンジニアがやってます データが消えたり、インデックスの仕様が変わったりとデメリットも大量にあります 「可能な限りシャーディングは避ける」って言われてるぐらいだよ これ冗談じゃないんだよね ぶっちゃけ日本を代表するwebサービスじゃとかじゃ無い限りMySQLでじゅうぶんスケールするし安易な方向に流れない方がいいと思う なんか全体的に「速さ」っていう曖昧で無意味な概念に捕われすぎてて泥沼に進んでる気がするので老婆心ながら長文書いてみた
296 :
デフォルトの名無しさん :2013/03/28(木) 03:27:36.79
MySQL→MariaSQL
漢なら速さを追求するのさ、それがロマンってもんだ
298 :
291 :2013/03/28(木) 06:41:09.83
>>295 >世界でTOP500に入るサイトとかそういうレベルだよ
それはないと思う。
DBアクセスなしのHelloWorldのみのベンチマークで秒間100リクエストしか
さばけない有名フレームワークがある。
名前を出すと荒れそうなんで出さないけど、
cakeP○P(PHP) とsymf○ny(PHP)が秒間200とすると、Django(Python)が2000くらいのスコアだった。
10倍もの開きがある
フレームワークがボトルネックになるってのは実際に起こりうる。
(フレームワークじゃなくてPHPとPythonの差じゃないか?というツッコミは置いておいてほしい
同じ言語系のフレームワークでもちゃんと差は出てる)
>あと軽いFWだからスケールしやすいってのはちょっと違うと思うなあ
これについては誤解を生みそうだから取り消しておく。
>>291 の書き方も悪かった。
AP serverで1台でさばけるリクエストが多くなれば必要台数が減らせるし
そうすると運用コストが減らせるっていう意味です。
AP serverはRDBと違ってスケールアウトはしやすいってのは理解してます。
299 :
291 :2013/03/28(木) 07:01:21.89
>>295 >あとShardingなんて聞こえはいいけど現状はまだ使い物にならないのばっかり
DBのスレじゃないからあえてNoSQLとまとめて書いたのは自分だけど、
クオリティや速度もNoSQLの製品ごとに違うんじゃないかな
Mongoは多機能で使いやすそうではあるけれど、
MongoDBのバグ、トラブル事例はネット見てるだけでもよく見かけるなぁ
Mongoは何台のクラスタ構成にしているの?
>>297 ロマンか。そうかもしれない。
できるだけ速くユーザにレスポンスを返したい
Sphinxが便利そうだから使ってみたいんだけど、 日本語対応状況ってどうなの?
速度狂はロマンじゃない
自分が技術的に精通していて開発効率が最も良いプロダクトを選択して、 仮にアクセスが爆発したらAWSでも使ってスケールするのが2010年代のスタートアップwebベンチャーのやり方じゃないですか スケールを先に気にするのは悪手というのが定説な気がします あなたみたいに個人で何かをやろうとしている人が1000人いて、実際にスケールが必要になるのはその中の数人 小学生が将来のマイホーム購入に備えて長期金利の動向を探るようなもの 一番大事なサービスの中身にあなたの知識と時間の98%をつぎ込むべきかと思います FW選定、FW勉強、NoSQL選定、NoSQL/Sharding挙動調査、言語とNoSQLのORMの調査、etc これを今からやってたら果たしてそれいつ終わるんでしょうか 半年以上かかりますよ 今持ってるスキルで作った方がいいと思います 王道から外れると茨の道ですよ 大変な事が多過ぎます あとDBが絡まないFWのベンチなんて何の意味も無いベンチだしそういうのに目を捕われない方がいいと思う
>>302 性能要件を無視してWebサービスを作り始めるのは
計画性がないしただのアホだとおもう
エンジニアなら(ユーザー数の上限がわかっている)社内システムであっても
性能は気にするしベンチマークくらい取るでしょ
いやある程度スケールを気にしてプロダクトやソリューションは選択すべきじゃね こんだけノウハウが公開されてんだから もうねーサービスが軌道に乗るまでのスピードが早すぎる。そしてすぐ収まる。 なのでスケールアウトとスケールイン、スケールアップとスケールダウンが柔軟に出来る方が良い > 一番大事なサービスの中身にあなたの知識と時間の98%をつぎ込むべきかと思います このためにもね。この考え方は大好き このためにコード量がなるべく少なく、ユーザベースのでかい WF を選択するようにしてる パフォーマンスなんて二の次 速いけど使われないサービスとか意味をなさない
>>303 なんのベンチとるかによるんじゃね?
もしかして WAF のベンチ取ってるの?
306 :
デフォルトの名無しさん :2013/03/28(木) 14:30:44.35
>>302 王道ってなにが王道?
「何も考えずに一番有名なものを使う」のが王道?
308 :
デフォルトの名無しさん :2013/03/28(木) 14:53:35.40
「何も考えずに一番有名なものを使う」 って誰が言ってる?
王道って何?
ビッグデータを扱うWebサービスではNoSQLは「王道」になりつつあるんだけどね
ビッグデータはお前らのPCで処理できるようなものじゃないから心配しなくて良いぞ
言語でもフレームワークの話でもなく、所謂「春の風物詩」という認識でいいんだよね?
>>312 参加できないなら rom ってると良いよ
ム板で速度やビッグデータなど性能に関する単語が出てきたら それは中身のないお話ということです。
http://www.chasen.org/~taku/blog/ 開発者が自身のプロダクトでユーザを「驚かせる」方法には二種類あります。
前者は正の驚き。セクシーなインタラクションやビジュアル、クールな機能。
もう一つは負の驚き。ウンコなインタラクション、直感的ではない動作、
データ喪失、甘い作り込みなどです。
開発者はどうしても正の驚きにフォーカスをあて、合コン受けするような
プロダクトを作りたがりですが、私に言わせれば、1000個の正の驚きを
生み出すぐらいなら、1個の負の驚きを潰すほうがはるかに重要です。
ファンも同様に正の驚きを誇張しがちです。
ファンじゃない普通のユーザは「この部分はウンコだ」と負の驚き、
改善点を正直にぶつけてきます。
Microsoftのスゴイところは、ユーザ(not ファン)にdisられまくってますが、
それらを真摯に受け止めコツコツと改善していっているところです。
Vistaになってセキュリティモデルが一新され、IEが乗っ取られてもシステムには
影響がないような設計になってますし、VistaのウンコなUIはWindows7で
それなりに改善されています。
私もオープンソースのソフトウェアをいくつか公開しています。
ポジティブなファンの応援は確かに励みになりますが、
改善点を正直にぶつけてdisってくれるユーザ(not ファン)を
大事にしていきたいと思います。
良くも悪くも言われないんだけど、誰もが空気のように使っている
というのが私の理想のプロダクトです。
>>316 誰もそんなこと言っていない
読解力ないだろ
pyvenv-3.3で環境作ったあと python distribute_setup.pyでインストールすると local/binにインストールされるのですがなにか設定が違うのでしょうか? echo $PATH で確認してもパスが通ってません。
>>309 辞書ひくと、安易な方法って意味とか出てくるよね
楽な道あるなら楽な道行けばいいのに 馬鹿なの?
322 :
デフォルトの名無しさん :2013/03/28(木) 18:12:59.73
少なくとも、王道には、 「何も考えずに一番有名なものを使う」 という意味は無いな。
pass
>>302 の王道のニュアンスは有名なものって感じだけど
pass
pass
python界はいろいろ盛り上がってて 知れば知るほど面白いな
そうか?むしろいま中だるみしてると思う
マタイによる福音書 / 7章 13節〜14節 「狭い門から入りなさい。滅びに通じる門は広く、その道も広々として、そこから入る者が多い。 しかし、命に通じる門はなんと狭く、その道も細いことか。それを見いだす者は少ない。」
最近これどこかで見たんだけどどこだったかなぁ
PythonスレだからPythonで例えるけど、CPythonではなくPyPyを選択するのは王道から外れる行為じゃないか PyPyは局所的に速いところもあるが万能じゃないしCで書かれたライブラリは全然対応してない Pythonに熟知してない人が「速そう」と飛びついても最終的にCPythonに戻って時間を無駄にする その世界に熟知してない人が王道から外れても、結局回り道をするのがオチ だから俺はあくまで王道的で枯れたものをまず第一に候補として検討するのがベターだと思うんだよね 俺もそうだったから気持ちはわかるんだけど20代ぐらいの人はすぐ「速い」「新しい」に飛びついちゃう傾向にある
毎日新しいアーキテクチャに触って20代は過ごしてきたよ
言うほど速くないよぱいぱい 個人的に使ってみた感想としては、これまでPythonでは非現実的だったことがPythonで可能になるというようなレベルには全く達してない RPythonとごっちゃになって勘違いしてる人が多い気が
それを実戦投入するかどうかは別問題でしょ
つか局所的にCで書いてthreadingぶん回す方が速いですし押すし
PHPでいいじゃんって思うけどね元の人は Djangoでわかんないことがあったら彼はどうするんだろ 日本語で質問したって回答なんてつかないぞ
寿司食いたいフフフフフフフフフ
不覚にも(ry
>>336 元の人だけど、フレームワークや新しいDBの使い方
覚えたりするのは英語の情報でやってます
Stack Overflowも使ってる
PHPのフレームワークは定番がなくてかなり分散しているから
海外含めるとユーザー数ではDjangoのが多いと思う
ちなみに、Javaはもっとカオス
ORACLE純正フレームワークがゴミ認定受けてる世界
僕はDjangoの開発が停滞したころに見切りを付けちゃいました 保守編重になるとコミュニティって生気を失うんだよね
>>340 今、Pythonで元気なフレームワークはなに?
>>340 サードパーティのミドルウェアとして提供されてれば十分では。定番になったらcontribになって別途インストールする必要がなくなる程度の違いじゃないか。
それより言語への追従とかを頑張って欲しいわ。
いやPyPyは普通にREPLで使えるし多重ループは圧倒的に速いからちょっと使うのには便利だよ まずはPyPyで何も考えずに総当り。それで遅かったら初めてアルゴリズムを考えなおす
>>343 データ量多くなるとMRに逃げた方が速いし、メモリ死ぬほど食うし、富豪プログラミングじゃね?
>>340 py3 対応の時の停滞? スクラッチから開発してんだから仕方ないだろ
>>339 Weblogic のパフォーマンスすげーじゃん
フレームワークとしては Django の数倍筋がいいよ
使わないけど
347 :
デフォルトの名無しさん :2013/03/29(金) 04:27:38.47
ボラクルかよ
等価であってる 要素が1つのタプルを表すのに (1,) と書くのに合わせたか混同したんじゃないかな
>>300 utf8で普通に使ってたよ
100ファイルくらいでそんなに大規模じゃないけど
>>351 やっぱり
>>349 なしで
後々要素を手で書き加えるときのことを考えて , を付けてあるんだと思う
加えるときに書けばいいのに
Sphinxって単語の分割がまともにできないんじゃなかったっけ。 回避手段を試してみたことがあるけど、ファイルサイズがほかの 言語の50倍くらいになった。
http://www.chasen.org/~taku/blog/ 開発者が自身のプロダクトでユーザを「驚かせる」方法には二種類あります。
前者は正の驚き。セクシーなインタラクションやビジュアル、クールな機能。
もう一つは負の驚き。ウンコなインタラクション、直感的ではない動作、
データ喪失、甘い作り込みなどです。
開発者はどうしても正の驚きにフォーカスをあて、合コン受けするような
プロダクトを作りたがりですが、私に言わせれば、1000個の正の驚きを
生み出すぐらいなら、1個の負の驚きを潰すほうがはるかに重要です。
ファンも同様に正の驚きを誇張しがちです。
ファンじゃない普通のユーザは「この部分はウンコだ」と負の驚き、
改善点を正直にぶつけてきます。
Microsoftのスゴイところは、ユーザ(not ファン)にdisられまくってますが、
それらを真摯に受け止めコツコツと改善していっているところです。
Vistaになってセキュリティモデルが一新され、IEが乗っ取られてもシステムには
影響がないような設計になってますし、VistaのウンコなUIはWindows7で
それなりに改善されています。
私もオープンソースのソフトウェアをいくつか公開しています。
ポジティブなファンの応援は確かに励みになりますが、
改善点を正直にぶつけてdisってくれるユーザ(not ファン)を
大事にしていきたいと思います。
良くも悪くも言われないんだけど、誰もが空気のように使っている
というのが私の理想のプロダクトです。
オライリーのはじめてのPython買ったお Pythonがんばるぞー
357 :
デフォルトの名無しさん :2013/04/12(金) 17:59:04.62
super()で親クラスのメソッドを呼び出す際のエラーで困っています。 Python(2.4)で既存のクラスを継承した場合のエラーです 以下は単純化した一例です class MyException(Exception): def __init__(self, **args): self.message = args['message'] class MyException2(MyException): def __init__(self, **args): super(MyException2, self).__init__(**args) # super(type(self), self).__init__(**args) # MyException.__init__(self, **args) MyException2を初期化した場合、2.7では1行目のsuper()で正しく動作します。 しかし2.4環境でこれは以下のエラー super() argument 1 must be type, not classobj 次に2行目では super() takes at least 1 argument (0 given) super()を使わない3行目はOKです Exceptionではなくobjectを継承した場合などは問題ないため 2.4と2.7での継承関係の違いから結果が異なると考えています。 Exceptionに関しては2.5でベースクラスが変わったとマニュアルにもありますが 他の標準ライブラリでも同じようなことがちょくちょく起きており super()のドキュメントでもこの辺の互換性については触れられていないようです。 2.4で動かす必要があるなら3行目で書くしかないんでしょうか
はいその通りです 次のかたどうぞ
おお、新スタイルクラスでしか使えないんですか
普通の関数を使うべきか メソッドにすべきかって どうやって使いわければいいのですか?
関数とメソッドという使い分けをしない たぶんクラスに紐ついてるものをメソッドと呼んでいるんだろうけど そういう分類は無い
で、使い分けについて selfを使う必要があるものをクラスに属させればいい そうでないものはクラスの外に置けばいい それだけの話
staticmethodは?
そもそもクラスを使うべきか mainに書くべきかがわかんないんだけど なにが基準になるのか?
使った方が楽なら使う そうでないなら使わない
Pythonのお勉強よりオブジェクト指向のお勉強が必要だな。
昔はクラスなんて無かったんや 全て関数で書けばよか
内部状態があるならメソッドにした方が楽 全部関数で出来る言語もあるけどね
>>366 クラスとは分類という意味だ。分ける必要があるならクラス使うと良い。
関数は汎用的に使えるものだけ
iPhoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61 Http://qr. net/kh4y
複数の関数に共通する引数がある場合、シリアライズするならクラス 他は関数 新クラスができる前に出来た慣習
いみふ
urlopenってなんなんだ 指定したurlのソースコードを取ってきたオブジェクトを作るってこと?
openみたいにfile like objectを作る
WindowsのPython 3.3.1で chr(134047).encode('cp932', 'xmlcharrefreplace') ってやると暴走する。
>> False is False is False True >> (False is False) is False False >> False is (False is False) False 何の気なしに試して吹いたんだけどこれどうなってんの バグかと思ったら2.4.1でも2.7.3でも3.3.1でもこうだった
Pythonでは1 < x < 7とか書けるんだけど それと同じ規則で結合されてるだけ
なるほど
383 :
デフォルトの名無しさん :2013/04/26(金) 22:46:21.85
(False is (False) is False) True
(False is False) and (False is False)って事?
numpyのインストールで質問ですが、 行列演算の高速化を図りたいのですが、 openblas、atlas、lapack、blasのどれを利用するのが良いですか?
atlas一択
用途と環境によるだろ 測れ
最近気になったんですが 低レベルなライブラリや ネットワークなどのライブラリはどのようにしてできているんでしょうか 単純に考えてもかなり細かな処理をしておることが分かります プログラミングの基本は 演算、代入、条件分岐、ループ だけですがどうやってできているのてすか?
>>389 今時いくらでもソース読めるだろう。
ネットワークなどはIOと言われるもので、あるメモリにデータを置いておくと何かしといてくれる。低レベルはpythonの話じゃないので、Linuxとかのソース読むと良いんじゃないか。
392 :
デフォルトの名無しさん :2013/04/30(火) 03:12:27.45
>プログラミングの基本は >演算、代入、条件分岐、ループ >だけですが 広義では「分岐」に含まれるかも知れないが、 あえてそれらとは別次元の要素を付け加えるとすると、 ●割り込み ●割り込みベクタ ●スタック が必要。 そして、割り込みベクタは、 レジスタで指定するもの、メモリの特定の部分の内容で指定するもの、 定数で決まっているもの、割り込んだハードウェア側から送られてくるもの、 それら複数の組み合わせ等々CPUやそのアーキテクチャによって色んな種類があるよ。 あと、必須ではないが、 ●なにもしない(割り込みが入るまで任意の時間待つ) というのも含めても良いかも知れないね。
基本は足し算。
>あるメモリにデータを置いておくと何かしといてくれる 割り込みを一切使わずにポーリングのみで済ませる方法もあるが、 一般的にはその方法だと取りこぼしが出るケースがあるので その対策(データ構造を多段キューにするとか)が必要。
ハードウェアの仕様についての予備知識が無いと ソース読んでも判らんと思う
すごいのつくった
しゅごいのおおおお
コンピューターは加算しか出来ない
加算ドラ・クロス
>>399 加算だけで、右シフトってどうやってやるの?
Y = X / 2 X を超えない整数 N で N + N が 2 を超える最大のものを探せば 加算(と比較)だけで可能 もちろん比較は加算で可能
まちごーた 誤 N + N が 2 を超える 正 N + N が X を超える
バカみたい
405 :
デフォルトの名無しさん :2013/05/06(月) 12:12:27.32
いや、それも違うし。
本物の馬鹿だな
馬鹿には無理
加算一元論つくりたいの? ばかなの? まぬけなの? 偏執狂なの?
pass
else: 可能であることと実装との区別がついてないだけの妄想狂
NANDやNORで全部作れるという話はあるけど、なんで加算? 基本は加算とか、加算しかできないは明らかに間違い。 1bit Full AdderでNANDは作れるから加算だけでも作れるけど…
キャリーが動くから純粋なNANDを作るのは無理
ANDとNOTが作れるから
論理演算ならキャリー保存しろっつってんだよボケ
このつまんねー話あとどのくらい続きますかあ?
圏論とか計算理論のスレで話せば
417 :
デフォルトの名無しさん :2013/05/06(月) 20:40:10.85
やっぱ入門書では柴田本一択ですね
宣伝乙
>>415 キャリーがどうのこうの言ってるアホが飽きるまでじゃね?
>>420 お前は情報処理の基本やってないからキャリービット知らずに恥じかくんだよ
久しぶりに来てみたらおまえらが相変わらずで安心しました
415 = 417かな。 宣伝するためにわざわざ流れを変えようとするも失敗www
争いのない世界は滅ぶらしいからこのくらいがちょうどいいんだと思う。
ビット操作、なんて懐かしい響きなの キャリービット覚えるために やらせてくる若いキャリーねえちゃんを思い浮かべたなー キャリーピッチのキャリービット 漏れて子供が出来ました しかし、加算だけとか何とかいってる人 CPUの構造知らんのだろう お疲れ様どす ところでパイソンは好きです 女と言語は美しくないとな 因みに俺のふるさとはリスプにカーニハンのシー そんな俺にはパイソンが愛おしい
>>421 恥じかしい奴
情報処理の前に日本語勉強した方がいいぞ (w
>>426 話ずらそうとして失敗してる点が面白いです
>>427 誰も関係あるなんて言ってないんだけど?
日本語不自由なのがまたばれちゃったね (w
まーた都合悪くなると話そらし厨がやらかしてるのか
話そらし厨の方に話をそらしたい奴がいるな
431お前か,話そらし厨
話そらし厨に話そらし厨だといって話をそらす話しそらし厨が話しそらし厨より話そらし厨
このくだらないやり取りよりは、つまんねー話の方がまだよかったろ? な?
まあ、何を言ってもキャリービット君が恥じかしいのは変わらないけどな
うわぁ・・・
>>429 君、日本語が不自由というより
単純に頭悪いのね
すまんかったな、気付かないで
一応マジレスしとくと、入力 1bit × 2, 出力 2bit の加算器があれば、 AND と NOT が作れるから、後は何とでもなる。 A B | X Y ---+---- 0 0 | 0 0 0 1 | 0 1 1 0 | 0 1 1 1 | 1 0 の場合、A, B ⇒ X で AND が作れる。 A = 1 に固定して、B ⇒ Y で NOT が作れる。 キャリー君には難しいかな (w
引っ張りすぎキモイ
むしろキャリー付きの方がオプションなのに なんでキャリー持ち出したのか読み返しても全く分からない
最上位ビットをキャリー扱いにすることを なにかキャリービットなるものが独立してはあると思ってるじゃない?
>>440 >>411 full adder
フラグレジスタのキャリービットが立つ
演算順序に制限が生じて四則演算したあと論理演算してキャリービットで分岐が出来なくなる
NANDで全ての演算が出来るのは知った上でキャリービットを立てる
>>438 は論外と言ってるんだが
加算器の話してるのにどっからレジスタが出てきた
加算でNANDが出来るかの話してるのにどうして加算器になった
NAND って「論理回路」なんだけど… そもそも、「コンピューターは加算しか出来ない」って言うのは、 別に加算命令しかないと言う話じゃないし。
加算だけで、右シフトってどうやってやるの?
話を単純にするためにレジスタを2ビットと仮定すると 00 (+ 00) = 00 01 (+ 11) = 00 10 (+ 11) = 01 11 (+ 10) = 01 とでもすれば左シフトできるんじゃない 今度は条件分岐が必要になるけど
間違った右シフトだった でもこんな些細なことを話すより加算(どんな加算きっちり決めないと行けないけど) でチューリングマシンを構成できるかできないかを考えたほうがいいと思うけど 何にせよpythonスレで話す内容じゃない
その通り
まあ条件分岐許すなら何でもありだろうな。
それはそれとして
>>389 が悪いことには同意するけど。
流れ的には実にpythonっぽい
俺は今日休み 今から女が来る ワクワク シャワーも浴びたし おまえ等のぶんまでしといてやるな
pass
pass
bisect.insortって何のためにあるの? ソート済み配列のつもりで使ったらクッソ遅くいから調べたら listへの挿入がO(n)だからいくら二分探索したって意味ないじゃん
何のためにってソート済み配列を実現するためだろ 挿入O(n)が何か珍しいことのような言い方をしているが リンクリストでない配列なら普通O(n)だ
いやだからlistをソート済みに保つなんてコストかかりすぎるんだから なんで二分木が標準になくてbisectみたいな紛い物が代わりにあるの? バッテリー入りのくせに
なんだ二分木が欲しかったのか クドイとか結論から喋れって言われない?
pass
CPUは補数計算だろ 違うのか? だから加算しか無いんじゃないのか? ほじくってスマン
わざとらしい
教えてください。 >>> d1=[1,2,3,4,5] >>> d2=["a",["b","c"],"d",["e","f","g"],"h"] >>> d3=list(zip(d1,d2)) >>> d3 [(1, 'a'), (2, ['b', 'c']), (3, 'd'), (4, ['e', 'f', 'g']), (5, 'h')] >>> d4=[] >>> for x in d3: for y in x[1]: d4.append([x[0],y]) >>> d4 [[1, 'a'], [2, 'b'], [2, 'c'], [3, 'd'], [4, 'e'], [4, 'f'], [4, 'g'], [5, 'h']] d4の処理を内包型にできないかなと試してみたのですがエラーがでます。 >>> d5 = [[x[0],y] for y in x[1] for x in d3] NameError: name 'x' is not defined forの前に[]をつけるとエラーは出ないのですが >>> d5 = [[[x[0],y] for y in x[1]] for x in d3] [[[1, 'a']], [[2, 'b'], [2, 'c']], [[3, 'd']], [[4, 'e'], [4, 'f'], [4, 'g']], [[5, 'h']]] 思ってたのとは違うのですが内包型にはできないでしょうか
>>> from itertools import chain >>> list(chain.from_iterable([[x, z] for z in y] for x, y in d3)) [[1, 'a'], [2, 'b'], [2, 'c'], [3, 'd'], [4, 'e'], [4, 'f'], [4, 'g'], [5, 'h']]
468 :
デフォルトの名無しさん :2013/05/23(木) 11:08:36.42
>>> d1=[1,2,3,4,5] >>> d2=["axyz",["b","c"],"d",["e","f","g"],"h"] >>> d3=list(zip(d1,d2)) >>> d3 [(1, 'axyz'), (2, ['b', 'c']), (3, 'd'), (4, ['e', 'f', 'g']), (5, 'h')] >>> d4=[] >>> for x in d3: ... for y in x[1]: ... d4.append([x[0],y]) ... >>> d4 [[1, 'a'], [1, 'x'], [1, 'y'], [1, 'z'], [2, 'b'], [2, 'c'], [3, 'd'], [4, 'e'], [4, 'f'], [4, 'g'], [5, 'h']] この動作はあなたの期待した動作ですか?
469 :
466 :2013/05/23(木) 11:52:30.87
>>467 ありがとうございます。
勉強させていただきます。
>>468 アルファベット部分は実際のところは文章が入っているので
望ましくないです。
d5 = [[x[0],y] for x in d3 for y in x[1]]
はっきりしたことは>466に聞かないと分からんけど、 >467のzとか>470のx[1]とかって、strかlistかで分岐しないとダメなんじゃないの?
>>471 >>> d3
[(1, 'axyz'), (2, ['b', 'c']), (3, 'd'), (4, ['e', 'f', 'g']), (5, 'h')]
>>> [[x, z] for x, y in d3 for z in ((y,) if isinstance(y, str) else y)]
[[1, 'axyz'], [2, 'b'], [2, 'c'], [3, 'd'], [4, 'e'], [4, 'f'], [4, 'g'], [5, 'h']]
473 :
466 :2013/05/24(金) 16:19:24.36
>>472 出来ました。
ありがとうございました。
474 :
466 :2013/05/27(月) 10:01:20.06
>>467 -473
473書き込んだ記憶がないのですがみなさんありがとうございます。
>>470 forを入れ替えるだけでできるんですね
本には内包型右側から読むように書いてたのですが
d5 = [[x[0],y] for x in d3 for y in x[1]]
for x in d3:
for y in x[1]
[x[0],y]
勉強になりました。
コーディングってよりプログラム全体の仕様を考えてるんですが、質問させてください。 webサーバー上にあるpostgresqlのデータベースのデータをpythonで取り出し・処理してブラウザ上で表示させたり pythonでデータを新規追加するようなwebアプリを作ろうと考えています。 処理というのは、データ(日付・数値の組み合わせ)の平均を取ったり、合計を取ったりする操作です ブラウザ上でjavascriptを用いて、あるボタンを押すとある方法でのデータの平均が、別のボタンを押すと別の方法でのデータの平均が表示される、ようなしくみにしたいです。 データの追加自体は頻繁に行う物ではないです。 こういう場合、ブラウザ上でjavascriptのボタンが押される度に、pythonがそれに対応するsql文を発行してデータベースにアクセスして結果を表示させるのがいいのでしょうか? それとも、ブラウザを開いた状態で全部のデータを取得しておいて以後単にそれを表示させるだけにしておいたほうがいいのでしょうか?
データの量によるんじゃないですか 例えば1GBあったら後者なんてナンセンス極まりないでしょ
>>475 クライアントのスペックによるんじゃないか。自分しか使わないとかなら、webよりアプリの方がよさげ。
ブラウザ上に読み込める量のデータとかpostgresqlがオーバースペックだし、自分しか使わないんだったらpostgresqlにクエリー発行すりゃいい
beautifulsoupでコメント抽出したのですが 'aaaa\n bbbb\n ccc' 改行とスペースを除去したいのですが他にいい方法があれば教えて下さい。 スペースと\nを置換 >>> a = 'aaaa\n bbbb\n ccc' >>> b = a.replace("\n","") >>> c = b.replace(" ","") 'aaaabbbbccc'
import re re.sub(r'\n\s*', '', 'aaa\n bbb\n ccc')
あなたの想定している「いい方法」の基準を教えてください。
''.join(c for c in comment if not c.isspace())
>>480 勉強になりましたありがとうございます。
\sだけで改行も消えるみたいです。
re.sub(r'\s*', '', 'aaa\n bbb\n ccc')
>>481 スペースと改行1つづつ消していく以外にも一括で消す方法があれば
\nは改行みたいなので行で行分割してスペース削除再結合
"".join([i.strip() for i in a.splitlines()])
>>482 ありがとうございます。勉強になります。
485 :
デフォルトの名無しさん :2013/06/01(土) 15:27:05.20
漏れも勉強してみたお >>> a = 'aaaa\n bbbb\n ccc' >>> a.replace("\s","") 'aaaa\n bbbb\n ccc' >>> a.replace("\n ","") 'aaaabbbbccc'
>>483 これが一番簡単。
"".join(a.split())
そういうのだと空白ぜんぶ消えちゃうから HTML のコメントに対する処理としてはどうだろ
>>486 ありがとうございます。
目的は同じでもたくさんのやり方があって勉強になりました。
みなさんどうもありがとうございました。
>>487 自分の場合は特に問題ないです。
ありがとうございます。
あまりにひっそりと2.7.5と3.3.2が出ていて気づかなかった
なんか大きいバグでもあった?
なんか大きいバグでもあった?
なんか大きいハゲでもあった?
ハゲちゃうわ
Pythonを勉強しようとしています しかし日本語の活発な質問や情報のやりとりがされていないと感じます MLももっと活発だといいなと感じてるのですが みなさんどんな印象ですか?
495 :
デフォルトの名無しさん :2013/06/14(金) 17:49:59.49
他人のことはどうでもいい
日本語の情報を希望するならPythonを選ぶべきではないという印象かな
numpyとか使うなら英語読めるだろうし WebならRuby、PHP、Javaが良いのでは
情報を求めてるんじゃなくて 活発なやりとりを求めてるわけで 活発なやりとりできるだけの英語力までも求められるでOK?
OK
なんだかわかったのは ここの住人は日本語が出来ない人だということかな 英語だけ出来たらいいならなんで2chにいるんだろう
どこをどう読んだらそうなるのか お前の日本語力のほうが心配だわ
>>501 だからどうして2chにいてそんなこと書き込みしてるの?
ここもアスペな人ばかりか
Pythonが悪いんじゃなくアスペな人がいついてるんだな
他の板でもスレでも行けばいいのに ここそんなに居心地いいんだねアスペさん
プログラミングよりお医者行け
>昨年同様、基調講演として著名なゲストをお二方お招きいたします。 去年dan kogaiだったけど今年誰だよ。Matzか?
現状は
>>499 が答えてるから
活発ななコミュニティが欲しいなら自分で作るしかない
日本語は出来るけどちょっと不自由ななんだな
ちょっとなのかねぇ 通常の感覚ではかなり不自由に感じる あと2chとしてもかなりひどいスレだよ
今度は質問する前に察せるとイイネ
もっとおかしな人だらけのスレいくらでもあるけどなぁ
もっとおかしいところがあるからどうしたの? だから良いとかそこまでじゃないからとか? おかしいスレはあるし そういう集まりがあってもいい ここは Pythonのお勉強 スレだよ? そういう集まりになってますか? やっぱり日本語が不自由すぎる これがちょっとなのかねぇ
ここまでを Python で頼む
よくわからないにょろ
import this
話の流れが全く見えないな 何に怒ってるの?
最近の2ちゃんではあまり見ないタイプの押し付けクソ野郎
しゃぶってよ。怒ってんの?
日本語難しいね
キレる17歳こわいなあー
import japanese
話の流れは理解できてるが それでも何に怒ったのかはよく分からない
同意して欲しかっただけなのに、使わなくていいとか無碍にしたからでしょ。
ここもアスペだらけw 同意なんてして欲しくないと思うよ 書いてあることそのままでしょ 違う意味でとったり勝手に思い込むアスペ体質多すぎ 質問があったら答えればいいそれだけ 関係ない話持ち出したりおかしいからこのスレ 必ず人格攻撃に出るのも毎回 そんな人達しかいないスレ
わざわざ騙りまでしなくていいのにね
しばらくオモチャに不自由しなさそうだね
質問あるなら質問すりゃいいじゃん 俺は活発なコミュニティでしか質問しないぜーとかそんなの?
>>522 人をアスペ扱いするのは人格攻撃じゃないのかよw
Pythonについての質問なら普通に答えられてる
>>494 みたいなピント外れの質問が馬鹿にされてるだけ
アスペは性質だから男とか女とか年寄りと同じだよ 人格を批判してるわけじゃない 日本語が不自由だと分からないかもね
英語読めないことだけはわかった
全角スペースとアスペって シングルクォートで大騒ぎしたのもこいつだろ 火種にしかならない奴だな 集団に加わっちゃいけないタイプだよ
何かコンプレックスがあるんだろうな
盛り上がらんのお
>>530 こういうやつが一番いらないw
すぐに人格否定
また来た
短芝、人格否定、全角スペース、アスペをNG追加でOK
普段否定されがちだから敏感なんだろう。
暑くなってきたからね
まだまだ暑くなるというのに、先が思いやられるな
>>530 シングルクォートは直後に答えてるほうが騒いでただけな気が
後からちゃんと答えてる人も出てきたし
はいはい表で遊んでね
まあぶっちゃけpythonにこだわる必要も無いかと ruby perl web用途ならphpどれも成熟してきてるし あとは細かいことで選べばいいのではないだろうか 日本語での情報なら、rubyのほうがより適していると思うし。
そっ閉じ
宗教だからな。 pythonはパナウェーブでrubyは法の華三法行みたいなもん。 みんなパナウェーブ選ぶだろ。
そうだろうか・・・
perlはなんですか?
python アメリカ php 韓国 perl 日本
すでにPerlやRubyが使えるならPythonを勉強しても得られるものは少ないね。兄弟みたいなもんだし。 Haskellのように言語的に距離のあるものの方が幅が広がる気がする。 「programming language history」とかで画像検索するといいよ。
ライブラリを抜きにして言語本体だけ見ればそうかも
Pythonは極めて*普通*で、面白さはあまりないからな。 プログラミング言語そのものに興味があるのであれば、他の言語でキャッキャウフフするのがいいかもな。
LISPで宇宙を創造するデス
pyてょn…pythonはpassってのが生理的に受け付けん
pass
pass 書くことなんて滅多にないぞ
nop
passはインデント強制の弊害
557 :
デフォルトの名無しさん :2013/06/19(水) 00:43:40.72
rubyのend無双から見たら、pythonのコードはやっぱりすっきりしてて綺麗に見える でもrubyのが短く書けるとかジレンマ過ぎるわ…
self無双はいいのか
Pythonはインデントに意味を持たせた (言語仕様に取り込んだ) せいで、制御文の構文のケツに「:」を つけないといけないようにしたり、passが必要になった。 インデントに意味をもたせたせいで、それがない言語にないこと強制するハメになってしまった印象。 時代の流れが逆だったらと思うとPythonに文句言う気にもならないけど。
>>558 selfがあるおかげでPythonのクラスを使ったコードの長さは
本来の三割増しになるからな。もったいないことだ。
Pythonは最初からオブジェクト指向言語として設計されたっていうけど嘘だろ
どっか途中で無理にくっつけたに違いない
pythonはselfだけがほんとに弱点 せめてglobalとかnonlocalみたいに、memberとかで指定できないものか
562 :
デフォルトの名無しさん :2013/06/19(水) 03:23:19.05
with self:
>>561 まあクラスを使わなきゃいいだけの話
普通の構造化言語としてなら最強言語の一角だ
賢者のBASIC・COBOLと呼ばれるのは伊達じゃない
cheese
Pythonには、トップに現れる名前は必ずモジュール内で明示的に宣言されていなければならない というポリシーがあり、selfを省略してスーパークラスのメンバを見れたりするとそれに反する
クソの役にも立たないポリシーで手間増やされたら世話ねえわ
567 :
デフォルトの名無しさん :2013/06/20(木) 07:46:37.13
逆に、単身グラマーにとっては面倒臭いルールがあるから大規模プロジェクトに使われたりするのか
つーかthisと同じでしょ 引数のパラメータだけの話?
selfを引数からも無くしたら、メソッドのデコレータを書くとき selfにアクセスするのが大変になりそうだ ヘンテコなトリックが必要になったりとか
>>568 パラメータだけでなく、メンバアクセスでthisやselfを省略できるオブジェクト指向言語はかなりあるが
webしか知らないドカタ?
「省略できる」の意味わかってないのかコイツ
pythonみたいにインスタンスに後からメソッドを追加できる言語の場合、 メソッド内で使ってる変数がメンバがグローバル変数かわからないから、なんらかの指定が必要なのはわかる でもそれはglobal文みたいな形でも良かったはず
文は柔軟性が無いのでもういいです
つーか、もうエディタ側でどうとでもなるような話だな。
C→pythonとやってるけど 初めてのpythonの4章終了時点でpythonのあまりの柔軟性にコーヒー吹いた
でもCで作られてるんですよ(CPythonは)
そろそろPython3に移行しようと思うんだけど 2から変わってるのは文字列の扱いとprintが関数になったこと以外何か知っておいたほうがいいことってある?
3.0,3.1と3.2以降はかなり変わってると聞いたからそれは信用できないなあ
そのくせ聞いた程度の話は信じると 基準が分からないね その話を聞いた奴に聞けば?
>>579 の記事は
「数字の扱いの変更」「イテレータとview」「例外の使い方」「モジュール統廃合」
と、文字列とprint以外の知っておくべきことがほぼ全てまとまってるじゃん
じゃあ信じていいのか
>>580 の情報源はもう思い出せない
あとclassを定義したときに自動でobjectが継承されるんだっけ
他にもいろいろありそうだけどどうしようかな
花金なのにそんなにカリカリしないの!
趣味でpythonとか謎.本当に趣味でイジるならocamlで遊ぶ 仕事としても趣味としても何にかけても中途半端な領域がperl,python,ruby
以下 let or die
pass
Windows8でwxPythonを使うとコントロールのスタイルが XP風にならず2000風になってしまいます python.exe.manifest とか pythonw.exe.manifest とかを wiki.python.org/moin/PythonQuestions#Windows_XP_look-and-feel の指示通り書いてもやっぱりだめです (WindowsXP上で同じ事をするとうまくいきました) あとpy2exeを使ったときもなぜかWindows8でもうまくいきました ただpy2exeで毎回buildしないといけないのが面倒なので そのままWindowsXP上で実行したときと同じようになりませんかね
内部マニフェストと外部マニフェストの優先順位が XPまでとVista以降で違うから XPまでは外部マニフェストの方を優先していたから python.exe.manifestなどを書き換えることで動作を変更できた しかしこれは過渡期的な仕様だったのでVistaから逆になり 同じ手は通用しなくなった py2exeを使わないならPython自体をリビルドしないと無理 やりたければどうぞ 苦労には見合わないと思うけどね・・・って感じ
同じディレクトリにマニフェストを置いたら、 python(w).exe のタイムスタンプだけを更新する。 改めて python(w).exe を実行。 これで多分 OS 側の内部状態も書き換わる。
そういう問題じゃない
>>585 sublime text2をお仕事で使いたいから
Pythonのお勉強始めました
一瞬話題になったけどその後音沙汰のないsublimeね
>>593 あのステマは凄かったね
金を取るために必死だったんだろうか
側しか見てない馬鹿が騒いでただけだろう
音沙汰ってw facebook見てれば分かるやん
何が? 下痢便でも漏らしたか?
Python使いってこんなお下品しかいないの
Pythonはユーザーが少ないから レベルの高い人も少ない だから馬鹿がよく目立つ
Vim使えたら他のいらないし
602 :
588 :2013/07/02(火) 00:12:10.92
>>590 できました
ありがとうございました
意外と簡単な方法があったんですね
ソーシャルメディアの分析がやりたいのだが、python2とpython3のどちらがいいのかな? python3は未対応のライブラリが多いみたいだけど、Unicode周りの扱いがスッキリしているようで気に入っている。 とりあえず「みんなのPython」3版の記述をPython2に読み替えながら勉強を始めたけど、Unicode文字列のところで読み替えるのに挫折した。 3に乗り換えようか、2用の参考書を買ってこようかどうか迷っている。 環境はMountain Lionで、標準のPython2.7.2を使っている。
具体的に自分に必要そうなライブラリをPyPiで見繕って対応するバージョン決めな 個人的な観測だけど、リリースから5年経過して 未だに3対応しないライブラリが今後3に対応することはないと思う そんなリソースないんだろう もう諦めて全部切り捨てるか自分で書き直した
>>603 3でやりなよ
2にはもう未来がないからさ
>>603 UNICODEはpython2でも問題ないと思います
>>604-607 ありがとう。
2の入門書を立ち読みして、どちらでいくか決めようと思う。
扱いたいのは主にtwitter apiだけど、3に対応しているライブラリもあるので、3でも何とかなりそうな気がしている。
自然言語処理は別のソフトを使うので、nltkには当分は世話にならなそう。
.encodeと.decodeをとっかえひっかえやってればたいてい何とかなる
610 :
デフォルトの名無しさん :2013/08/16(金) 05:40:20.82
python初心者なんですが、 from OOO import* として複数のファイルからdef main(): のみ実行している?のですが、 ex.) main.py #!/usr/bin/env python OOO import p = OOO.OOO (以下略 OOO.py class OOO(以下略 とあって form OOO import* とOOO importについて、 from OOO import* はあまりおすすめしないと書いてあったのですがその理由がわかる人がいたら ご教授願います
611 :
デフォルトの名無しさん :2013/08/16(金) 05:41:38.23
>>610 OOO importではなくimport OOOでした
>>610 from OOO import *
from XXX import *
ってやったとき
OOO.hoge()
XXX.hoge()
ってのがあったとしたら困るから。
その例だと別に困ってないように見える(小声)
>>613 hoge()とした時に、どっちかわかりにくいからってことだろ。確か、後でimportした方が定義を上書きして利用されるんだよな。
>>610 自分で管理しているモジュールならまだしも、ライブラリとかだとアップデートで増えたり減ったりすることもあるしな。
こういうのもやもやする
?
617 :
デフォルトの名無しさん :2013/08/19(月) 18:21:28.10
もやもやしたくなければ from FUGA import * をお勧めしない ってことだろ もやもやしたい香具師は逝ってよし
悶々します
煩悩はさっさと吹っ飛ばせ
もやもやしたい
621 :
デフォルトの名無しさん :2013/08/29(木) 00:00:12.85
pythonで専ブラ作ろうとしてるんだがhttp通信ができなくて困った
さいで
フレームワークのサンプルスクリプトがimporterror: No Module Namedなんちゃらで動かなかった サンプルスクリプトのファイル名をパッケージの名前と同じにしてたのが原因だった
みなさんお世話になりました 明日で2ch終了らしいので 今のうちに最後のご挨拶をしておきます
>>>import this
eclipseにpylntを導入したところ警告の嵐だったのですが、
627 :
626 :2013/09/08(日) 23:11:52.84
途中で送信してしまいました。 eclipseにpylntを導入したところ警告の嵐だったのですが、 最初のutf宣言とコメント部分で C: 1, 0: Trailing whitespace (trailing-whitespace) C: 2, 0: Trailing whitespace (trailing-whitespace) C: 3, 0: Trailing whitespace (trailing-whitespace) C: 4, 0: Trailing whitespace (trailing-whitespace) C: 5, 0: Trailing whitespace (trailing-whitespace) C: 6, 0: Trailing whitespace (trailing-whitespace) C: 7, 0: Trailing whitespace (trailing-whitespace) C: 7, 0: Trailing whitespace (trailing-whitespace) のようにエラーが出てきたのですが、何を直せばよいのでしょうか? 空白は単語の切れ目にしかないのですが・・
629 :
626 :2013/09/10(火) 00:47:46.59
>>628 それです。ありがとうございます。
改行文字の部分でバグっていたんですね。コードを修正します。
ありがとうございました、
gnome3があまりにひどいのでgnome2がmateにフォークした python2もフォークさせるべき
ActiveStateあたりが2.xを保守するから安心していい
2.xに依存してしまうと大変みたいだね
何だってそうでしょう 世間だって変化を拒んだものから消えていく
PHP使いたくないんだけど
pythonに関しては3は別に失敗じゃないでしょ? どこが不満なんだ
2じゃないところ
まさに取り付く島もない
PyCharm使い倒してる猛者いたら教えて欲しいんだけど 設定でPython Interpretersでリモート先のpython情報登録したんだが windowsのクライアントからLinuxのリモート先を設定したは良いんだが、 どうしても実行すると文字化けした内容がコンソールに出てきちゃう これはもうどうしようもないんかな? SSH接続の方は文字コードを設定するところがあったから何とかなったけど 実行の返り値が文字化けすると悲しくなる。 結構使える機能なので、是非使いたいんだよね
python界隈の最新の話題ってどこで仕入れてる?
海外サイト
641 :
デフォルトの名無しさん :2013/09/14(土) 13:00:24.59
webprog過疎なので教えて下さい。 phpやjspのようにhtmlにコードを埋め込むことはできませんか? pythonでフレームワークを使わないでMVCってどんな感じにやるのでしょう?
643 :
642 :2013/09/18(水) 02:10:59.58
pythonを学ぼうと思っていますが、 2系と3系どっちがいいのですか? ちなみにプログラミング初めてです
特にしがらみがないなら3
たまーに古いライブラリが対応してないけど、 基本的に3
なにかやりたいことがある訳じゃなくて Pythonを学ぶことそのものが目的なら2から やりたいことが既に決まっていて Pythonでどうするかを学びたいなら やりたいことが3で出来るなら3から 3で出来ないなら2から
Flaskが3対応したのでまあまあ3を勧められるようになったかしら
IronPythonって3どうなんだろ
>>648 Pythonを学ぶことそのものが目的なら3からでいいんじゃね?
>>648 > Pythonを学ぶことそのものが目的なら2から
なんで?
3の方が文字コードで苦しまなくて済むと思うが
日本語の説明が多いくらいかな2すすめるとしたら でも3からでも余裕だろう
2を知らずに3だけ知ってても、 Pythonを学んだことにはならない。(キリっ) とかそういう話? もしかして、C知らずにC++から入ったら文句言うひと?
冗談みたいな話だけど 3 だけ Python 勉強して 「ぼく Python できます」 って入社面接で言って採用されたは良いけど 2 のメンテ任されて逃げ出す香具師とかも居るんじゃね?
3やったら2が出来なくなるわけじゃないし 両方やれよ
そこまで大きな違いじゃねーよ
文字型とバイト型の区別があるとバイナリ扱うときにどうもめんどくさい
>>656 それで逃げ出すなら他のトラブルに直面しても逃げ出すだろう
早めに地雷社員に気づけてむしろよいことだね
>>657 3 から入ったひとは 2 の str とか unicode とか理解に苦しむだろうね
>>663 大雑把には、3のbytesが2のstrで、3のstrが2のunicodeと思えば
そこまで意味不明でもない
数ヶ月前にMayaのPython2.7がVS2010でビルドされてるみたいで困ったって書き込みがあった 故にたぶん美味しくないはず
3DCGおっぱいは何かね・・・俺はPythonでいいや
Maya自体何十万のソフトだから Blender Python でおk
ちなみにBlenderはPython3
なんというロングパス
アウトオブバウンズだけどな
677 :
デフォルトの名無しさん :2013/10/24(木) 18:53:28.75
(1+1)^√91
レス番 1002 とかなら見たことあるけど、これはさすがに届かんだろうな (w
1001が壊れた時に1万くらいまで伸びたスレがなかったっけ
12535レスだそうだ
681 :
デフォルトの名無しさん :2013/10/25(金) 06:49:38.00
11 x 91
いい杭作ろう鎌倉幕府
683 :
デフォルトの名無しさん :2013/10/27(日) 10:24:46.80
冗談抜きでプログラムさくさく書けるひと尊敬するわ コミュ障が多いけど
それはしょうがない 何かに秀でるということは 何かを犠牲にしていることの証なのだから
プログラムをサクサク書けるようになると、 破綻のない設計できる人を尊敬できるようになる。 それもできると、期間内に計画通りに開発出来る人を…。 そのうち、プログラムできない人を尊敬するようになる。
コミュ障っていうか対人恐怖症 プログラムなんてちゃちなもので大切なもの犠牲にしたのか そんなことならピアノがうまくなりたかったよ
今からでも十分間に合う 乗り換えるなら早ければ早いほど良い
対人という意味ではピアニストも似たりよったりじゃねえの。
>>685 >そのうち、プログラムできない人を尊敬するようになる。
プログラマーを宥めすかして使える人は尊敬するわ
何も知らない人にプログラム見せても へぇ〜それがプログラムなんだなんか難しそうだね程度だけど ピアノだと詳しく無い人でもなんかすごいね!もっと弾いてーみたいなリアクションが期待できる
>>690 プログラムは人に見せるものじゃないだろwww
オープンソースならまだしも。
そんなあなたにスマホのアプリおすすめ まぁプログラムの技術ってよりもアイデア勝負だけど
>>691 横レス
興味ある風で見せてって言ってくる人はけっこういるけどなぁ。女の子とかでも。全く理解できないけど。
オープンソースだからって何も知らない人は見ないでしょう。見ても意味ないから。
若い話してるな もうそんなん遠い昔にあきらめたわ
悲しいこというなよ…
696 :
デフォルトの名無しさん :2013/10/27(日) 19:25:12.81
>興味ある風で見せてって言ってくる人はけっこういるけどなぁ。女の子とかでも。 あるある >全く理解できないけど。 教え方が悪いんだよ
>>696 見たいだけで理解したいわけじゃないなら、教えるのはオナニー無理矢理見せてるだけで迷惑でしょ。社交辞令と開放されたくて相槌打つかもだけど。
人によるけど俺の周りの仕事関係でない女の子は、ほぼこっち。
699 :
デフォルトの名無しさん :2013/10/30(水) 12:08:04.34
だいぶ紗季
相武紗季
702 :
デフォルトの名無しさん :2013/10/31(木) 07:53:56.97
>>680 最後尾の535がコンピュータっぽくて良い数字だな
703 :
デフォルトの名無しさん :2013/11/08(金) 16:39:41.08
以前くだすれでも質問しましたが回答がもらえなかったので再度質問させてください。 ubuntuでpyenv内にpylonsフレームワークを利用しているのですが、controllerのpyファイルを修正して、再度サイトにアクセスしても修正前の結果となってしまいます。 apacheのアクセスログにも修正前のログが出力されているので、ブラウザのキャッシュではないと思います。 .pycファイルも消してから実施していますが結果が変わらずです。
704 :
デフォルトの名無しさん :2013/11/08(金) 16:43:17.00
iOSでお勧めのPython環境ってありますか? 有料無料問わず、使っている人がいたら感想教えて。
ふむ苦しゅうない
3日前からpythonを勉強してます 本年度中にアプリ開発して納めるので、かなり本気でやってます 今からはじめるのであればpython3を勉強したほうがよいのでしょうか?
うん
では、3でやってみます
3をおすすめするのがいいと思うけど バージョンアップできてないライブラリのせいで2系に触れざる得ないことを先に言っておく
じゃあ俺は2と添い遂げる!
いま3を使うメリットはあまりない あと2年まて
pypyっていつ3系に対応するの
3.14ぐらいじゃないですか?
>>714 2.x系で作ると2年経てば作ってる物はゴミとなるって事ですね
718 :
デフォルトの名無しさん :2013/11/22(金) 23:09:12.00
Python2で作って2年後に3に作り変えるのが一番利口だな ライブラリの対応状況が現状のままでは電池入ってないのと一緒
つか何を基準に2年と言ってるん 2.xが保守されてる限りそれでいいだろ 動いてるものには触るなって1年生の時教わらなかった?
触らぬ蛇に祟り為し
為したらアカン
為せば成る 為さねば成らぬ 何事も 成らぬは人の為さぬなりけり
2015年でサポ終わりそうなのは「公式」の「CPython」の「2.7」だかんね。 たぶん誰かが保守するだろう。ActiveStateとか。 一方、ライブラリの対応状況は5年かけた結果が現状なわけだが その半分以下のあと2年で、必要なものの対応が揃うっていうのは 甘い想定と言わざる得なくなりつつある。
話豚切ってすまん Python で Dart みたいなことって出来る?
もう少し、くわしく でないとどちらもチューリング完全だから同じことは出来るって答えちゃうよ
なぜ必至に2にしがみつくのか・・・
2.xって公式でもうバージョンアップしないって告知してたんじゃなかったっけ? どう見ても全体的に3.xへ移行しようとしているのに、 今から2.xを使う意味はほとんどないと思うけどな。 まぁ、どうしても必要なライブラリが2.xでしかないと言うなら選択肢はないけど。
2.8は無いよ
2.8はないが2.7.72ぐらいまでリリースされる 間違いない
2から3に移行しようとしてるけどprint文とunuicodeくらいしか違いがわからん
いずれ必ず消えるものから始めること事態ナンセンス。
何度でもよみがえるs
ぶっちゃけ2でもあと10年は大丈夫 それより先は知らん
10年大丈夫の根拠は
CMで10年経っても大丈夫ってやってた
10年も経ったら2に対応してる主要ライブラリは無くなる
738 :
デフォルトの名無しさん :2013/11/23(土) 14:53:25.94
100人乗っても大丈夫なら見たことあるが
>>727 自分が3に移行できないから、道連れが欲しいのだろう。
バージョンの壁がなければ躊躇なくPython始めるのに…
むしろ2と3の言語仕様の違いなんて大したことないのに 3rdライブラリが揃ってない3を選択するほうが無能
PHP4とPHP5程度の違い? C#とJavaぐらい違うの?
小さな仕様差は2to3使った後すこし手直しするくらいで済む 問題は文字列だ 広範かつ根が深い
>>740 ゼロから始めるなら3でいいのでは?
今苦しんでいるのは、2に長く慣れ親しんだ人と
3に対応していないライブラリを使っている人だよ
しかしpythonって流行ってるってほど日本じゃ流行ってないんだね どこのコミュニティ覗いても進行が渋い ruby使いたくないんだからもっときみら普及頑張ってよ
レン鯖に入ってるのがまだ2だったりするのが一番大きいかな
自分でコンパイルすればいいじゃない。 今時SSHでログインできないレンタルサーバなんて少ないんだし。
Python2使いの人で自分の作ったプログラムをPython3に移行できないなんて奴はほぼ皆無じゃないの 外部のライブラリとか人の作ったものの移行は面倒だったり、バージョンアップの度に移行作業が必要だったり さらに複数の外部ライブラリを使っているとますます大変。だからPython2を使うという至極真当な選択 この状況下でPython3をおすすめする理由がわからない 別に3が特段優れているわけでもなんでもないのにな
移行にも金がかかるだろ 趣味なら好きな方使えば良い
752 :
デフォルトの名無しさん :2013/11/23(土) 23:58:20.22
今からなにっもないとこから始めるならDartだろ
できることとやることは別だからな
XPみたいに切られる直前になって素人宜しくわめかないならそれで構わん
具体的に何のライブラリがPython3対応してなくて困ってんの?
わかんない
俺も今どれが対応してなくて困ろうか物色していた所なんだ
wallを見てると
https://python3wos.appspot.com/ 母数が多い順に
boto
ssl
Paste
paramiko
Fabric
MySQL-python
...
この中でおそらくこのまま死ぬと思われるのはPaste
WebAppフレームワークはPasteに依存してる奴が多かったけど
FlaskやPylonsは見限って自前対応にしてしまったみたいだ
俺が使ってる範囲だとPython2じゃないといけないのは・・・opencvがあったな
スレで挙がった奴はmechanizeとpygameかな
mechanizeはSelemium使えよ
高機能だし
paramikoとssl/sshは連動してるのか
geventが対応したら3に乗り換える
10年後対応する頃には変わりになる物がすでに出ているだろ いつまでも3に対応しないプラグインは淘汰されるだけ
763 :
デフォルトの名無しさん :2013/11/24(日) 00:48:03.82
2に依存してるっていうより、特定のプラグインに依存してるって感じがする
>>720 お前は何年生になっても「テストの重要性」は教わってないようだな
Pythonのお勉強ってすなわち英語の勉強だね 高校入ってから勉強しなかったから英語は苦手でぶっちゃけ中卒レベル TOEIC600点ぐらいまで英語力あげないとちょっとむずかしそうだな
>>765 Pythonに限らず、OSSの世界は大抵そうだよ。
コンピュータ関連の技術文章読むだけならTOEICとか遠回り 日本語訳のある英語マニュアルを対比してみて 知らないフレーズと単語覚えるだけでいい 3日も必要ないよ
日本語訳がないから苦労してるんでしょw
勉強方法の話をしているんだが
python関係ない マ板いけ
771 :
忍法帖【Lv=7,xxxP】(1+0:5) :2013/11/24(日) 08:09:13.31
馬鹿には無理
プログラムを仕事にしている人で英語読めない人なんて山のようにいるよ ソースは俺。 けど、変数名付けるのに悩んで調べているうちに単語は覚えて行ってるな
そんなんローマ字でおk TYOHYO1 NANBAA SAKUJO_HURAGU みたいなの希に良くある。
datas とかみると萎える
>>774 せめて、FURAGUにしてほしいです><
C言語で char aznable = '\0'; とか書く奴はだいたいニュータイプ
778 :
57 :2013/11/24(日) 10:15:13.01
おれ、oldに生まれてきたことを誇りに思う。
ローマ字だけはやめろ
原理原則論は現実の前では役に立たない
Ruby公式サイトのデザインがリニューアルしてた
できない奴の現実に合わせるのは嫌だ。 これだけ説明しても、そんなの正論/現実は〜とか言っているのお前だけじゃん と、嫌な現実を思い出した。
次ははっきり言われるな 君、邪魔なんだよって
ローマ字変数とかマジ勘弁してよ そういうのはずっとネタだと思ってたんだが
フランス語やドイツ語やロシア語やイタリア語が元の変数名は分かりづらい ローマ字はまだましな気もする
>>784 1.プログラム設計書の文章をテキストにコメントで打ち込む
2.そのコメントの下にコーディングをしていく
自分はいつもこの開発方法なので、設計書に出てくる
機能名や用語は基本的にそのまま関数名・変数名に使う
もちろん○付き数字も使う
だから勘弁とか言わないで欲しい
こうしないと設計書と見比べた時に何が何だかわからないんだ
何歳か知らんがよく生きてきたなというレベル
>>788 50行や100行の捨てコードならいざ知らず
まともなアプリならば設計書と関連づけておかないと
後になってメンテ性に響いてくる
設計書の第何章とかのタイトルもそのまま打ち込めば
検索ですぐに見つかるじゃない?
それが自分にはとても大切なことなんだよ
Python3なら変数名にUnicode文字使えるし、ローマ字使うくらいなら日本語で付けたほうがいいな
>>789 いかにもJavaで業務アプリ書いてるって感じだな
つかプログラム向いてないんじゃね
クラス図上で先に英語化する。 業務担当に聞くとけっこう考えてくれる。 日本語と英語、2つで定義するので意味のズレが少なくなる。
>>791 確かに向いていない自覚はあるよ
CもJavaもRubyも挫折して
唯一何とか書けるようになったのが
Pythonなんだわ
>>789 基本だとは思うが、あまりやりすぎると仕様書変更時に混乱しそう。
WEBで文芸的プログラミングなら大丈夫か。
ソースでコピペ多用はバグの温床になるのと同じで コメントに仕様書コピペは最悪の手段 仕様書へのリンク貼って いつでも最新のものを エディタから参照できるのが理想
今からはじめるとしたらPython3ですか? 今からはじめる人にとってPython2が優位な点ってなんでしょう?
使いたいライブラリが2しかない場合 レン鯖で2しか入ってなくて自分では3入れられない場合くらいしか2選ぶ理由ないな
なるほど 自分の使ってるレン鯖を調べたら2.4と2.7だった PHPは4と5入れてるサーバも多いのに Pythonは2か3のどちらか一方しかないってことは共存できないのかね
共存は可能 ssh出来るサーバーなら自分でコンパイルすれば入れられる可能性大 そうじゃなくてもバイナリ互換の環境をローカルに作れれば コンパイル済のものをもっていって使ってるひともいることはいる
rootのあるVPSとかならわかるが レン鯖でPython使う人いるの? PythonでWEBサービス書いてもApacheしか使えないじゃ旨味が少ないよね それだったらPHPとかで作ったほうが効率的な気がするの
803 :
デフォルトの名無しさん :2013/11/25(月) 11:01:38.15
また臭いのが湧いてきたな
Debianはパッケージシステムで両方入れられる。
もちろんapacheは使わないよ
2でも3でも片方にvirtualenv入れて、必要に応じて使いたいVer使えばええのでは
レン鯖の PHP はサーバ組み込みではなく CGI で動いてることのほうが多いだろう であれば Python も PHP もたいして違わない
3は共用サーバで使えないのが痛いな
そもそも共用サーバーでマジなサービスなんか動かせんよ 旨みとか言ってるけど動かしたことあるの
そもそもレン鯖のインタプリタなんてバージョンが古くて脆弱性残ってんのがざらにありすぎて こんなの使わせるの正気?ってのが腐るほどある
ド素人が偉そうだな
ええ使ったこともない玄人様には到底かないませんわ
>>809 別にPython使うからってマジなサービスである必要ないでしょ
アクセスカウンターからPythonで作っちゃえばいいと思うよ
yum の悪口はそこまでだ!
CSVファイルで空文字だとリストが詰められてしますのですが 詰められないようにするにはどうしたらいいのでしょうか csv a, b, ,d ,e 予定 ['a', 'b', '', 'd', 'e'] 実際 ['a', 'b', 'd', 'e']
816 :
815 :2013/11/27(水) 11:45:41.39
ファイル間違えてました。
ばかあああああああ
わらた
819 :
デフォルトの名無しさん :2013/11/27(水) 16:39:12.06
smtpでメール送信に失敗すると、サーバから通知やエラーが返されると思います。 pythonのsmtplibではサーバの応答に応じた例外が多数定義されているようですが なぜかこれを捕捉できません。 try: smtp = smtplib.SMTP(host, port) smtp.sendmail(from_addr, to_addr, msg) except SMTPException, e: pass (つづく)
820 :
デフォルトの名無しさん :2013/11/27(水) 16:41:38.53
例えば送信先のメールアドレスが存在しない場合、 送信元メアドには 550 Invalid recipient といったようなメールが返ってくるのですが スクリプト中で捕捉して処理を止めたいです。 また、試しにサーバの接続に失敗した場合などにもやはり捕捉されず このときにはwindows特有のエラーが返っているので そのせい(windowsでやってるから)で正しく例外が発生しない気もするけど、どうでしょうか?
except SMTPException, e: pass の pass の箇所って本当は何か書いてあるの?
except (SMTPException, Exception, ), e: print '馬鹿には無理'
>>820 MTAによっては250で応答しておいて
あとからエラーメール送りつけるやつもあるで
SPAMerには極力出来ん
825 :
820 :2013/11/27(水) 18:46:38.69
>>821 テストだったのでエラーをログに書き込むだけのコードでした
>>823 MTAによる部分てことで考えると、あんまし理解せずsmtplibを使ってる感じではあります
ちょっとそちらも調べてみますです
smtplibのsendmail()で結果を返してくればわかりやすいんですが、
レスポンスへのアクセス方法もわからないレベルなので・・・
メールのエラーはSMTPの応答コードはとりあえずの仮の結果や エラーメールが帰ってきたらそれが本当の結果になるねん つまりSMTPの応答だけでは判別できんのや 必ずエラーメールの解析をせなあかん
半年ぶりくらいなんだけど pysetupってまだなの
まだDEATH
昨日夢にPythonが出てきたんだが、 これって日本でも流行りだす前兆じゃね?
モンティパイソン再結成の話題に乗れれば
タブウインドウくらいpython3標準でサポートして欲しいもんだ
Python6くらいじゃね 数字は適当
pythonって変だよね。 ;{}方式の方が書きやすいし。 Trueも謎のキャピタライズだし。 x==1 ? 1 : 0 の方がわかりやすいやん。
>>829 つ
蛇の夢に関するキーワード:生命力。想像力。聖なる霊。幸運。毒と薬。自己の中の矛盾点や葛藤。創造力と破壊力。利益と損失。攻撃。危険。脅威。欲望や衝動。しつこくまとわりつくもの。恋心。男性器。
>>834 そんなの慣れの問題に過ぎないよ
君はPythonを何年、一日何時間書いて
そのようなことを言ってるわけ?
web2pyってかなり優秀だと思うんだが、どうしてこうも人気ないのかな 分析願う
pythonって、最強のスクリプト言語なの?
つよい プログラム よわい プログラム そんなの ひとの かって ほんとうに すごい プログラマなら すきな げんごで かてるように がんばるべき
>>834 単純さで言うならlispの方が書きやすい。
>>843 言語じゃねーだろ
vbs って言いたいのか?
pythonは高水準で平凡な言語だと思う 会社とかで使うならとてもいいと思う 個人ではワクワク感が無くて使わなくなってしまった
shell = WshShellClass() shortcut = shell.CreateShortcut('c:\\Test\\SomeFile.lnk') shortcut .TargetPath = targetPathName shortcut.WindowStyle = 1 shortcut.Hotkey = "CTRL+SHIFT+F" shortcut.IconLocation = "notepad.exe, 0" shortcut.Description = "Shortcut Script" shortcut.WorkingDirectory = "c:\\Temp" shortcut.Save() ださいたま
>>847 ごめん、言いたいことか全く伝わってこない
ワクワク感て何?
>>850 どちらの国の方?
日本人なら理解できるはずだが
言語に対するワクワク感って何?ってことだろ。 人によって物事の捉え方は違うんだから、もう少し誤解を与えない書き方をしようよ。
>>853 いや違うよ
この人はワクワク感という単語がわかってないっぽい
アスペ
昨日くだすれでコミュコミュ言って馬鹿かお前と罵倒された奴がこちらに流れてきたらしい
ここは会話の場だから、読んだ人に誤解を与えない文章を 書こうという配慮は必要だよね 自己中日記を投げつけて会話の代わりにしている人が多すぎ
お前がそう思うんならそうなんだろう
君はそう思わないの? じゃあ書き込みにおける他人への配慮について 君がどう思っているのか意見をくれよ
そんな話をする場じゃないよ 君は3レス前に何を言ったんだ
>>860 会話トラブルが頻発している現状、
平和なスレ維持のための話し合いは必要だろう?
それともこのままケンカばかりの流れでいいというのか?
スレ違い。以上です。
Pythonができるなら日本語できなくてもなんら問題はない ここはそういう場所だ
もうレスしなくていいからね たぶんあなたは手段と目的が逆転しがちな人だろうから
ふーん、じゃあPythonの話をせずに 人の書き込みにいちいちケンカをふっかける姿勢で参加してもいんだ? これからはそうさせてもらうよ
自覚のないトラブルメーカーだろうな…こいつ。
>>865 あんたさあ、偉そうに語ってた割に最終的にそういう態度とるんだな。
語るに落ちるって知ってるか?
知らないなら脳の片隅にくらい刻んどいてくれよ。今後のために。
>>867 だってそれが君たちスレ参加者の総意なんだろ
だからスレの総意に従わせてもらう
流れを正そうとした自分を否定したことは金輪際忘れない
はっきりわかんだね 紛れもなくゲス
自分の主張が通らなかったから粘着するってガキかよ 頭に豆腐でも入ってんじゃねえの
以下ラーメン…いやいや、Pythonの話
じゃあパイソンにちなんでパンの話もしようぜ ビニール袋に生地を詰めて冷蔵庫でパンパンになるまで発酵させる技法があってこれがなかなか
まわりくどいな パイパンの話がしたいだけだろぉ
パインパンのスレ思い出したぜ
日本語わかってねーよコイツみたいなレスしといて喧嘩ふっかけたのはそっちだろってわけわからんな JythonからJava使うとかCから使うとかnum.pyやpandasでデータ処理させるとか結構いろいろおもしろいと思うが 浅いとこだけみて掘り下げないでワクワクせんわと言われても
mro()を活用してるソースコードを読みたいのでオープンソースとか紹介してください __class__の書き換えも読んでみたいです
>>876 なんか特殊なことしたいの?
mro()の活用って?
__class__ の書き換えなんて出来るんだ知らなかった。
mro()の内容が必要になるのはdebugぐらいだと思うよ。
どんな継承してるんだろ?このobject。
って思って調べたことはあるけど。
>>> print(sys.version)
3.3.2 (default, Nov 10 2013, 22:26:55)
[GCC 4.8.1]
>>> int.mro()
[<class 'int'>, <class 'object'>]
mro()の情報ってこんなもんだよ?
活用できるとは思わない。
それとも、C実装の話を知りたいの? これ読んだ? Python-3.3.2/Objects/typeobject.c 読んでなければ、↑の mro, tp_mro を手がかりに頑張ってくれ。 すぐにsuper()にも気づくと思う。 そっちも併せて読んでくれ。 __class__ の書き換えって、それは特殊な用途じゃないの? 私は必要になる具体的な状況を思い浮かべることが出来ない。 でも、調べてみたら確かにそれっぽいことしてました。 :!grep '__class__ ' -r ./**/*.py ./Lib/test/test_descr.py: x.__class__ = cls2 ./Lib/test/test_isinstance.py: __class__ = property(getclass) ./Lib/test/test_super.py: __class__ = 413 ./Lib/unittest/test/testmock/testmock.py: mock.__class__ = int 何で知りたくなったのかは分からないけど頑張れ。 応援しているぞ。
>>877 ,878
知りたくなったのはただの興味なんだ
ドキュメントで
class.mro()(原文)
このメソッドは、メタクラスによって、そのインスタンスのメソッド解決の順序をカスタマイズするために、上書きされるかも知れません。これは、クラスインスタンスの作成と呼び、その結果は __mro__ に格納されます
なんて書いてあるから何かの活用する方法があるのかと思ってね
__class__についても同じような感じ
テストコードで見かけるんだね
いろいろありがとう
多重継承で使うことがある・・・かも 基本的に多重継承はミクスイン以外ご法度みたいな空気だが
__class__ を活用した事があるのは、 とある自作objectのmro()を知りたくなった時ぐらいだなぁ。 ↓みたいにobject自身にmro()を呼ばせると例外吐いてしまう。 >>> n = 100 >>> n.mro() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'int' object has no attribute 'mro' なので、__class__を読み込んで、mro()を呼び出す。 とかだなぁ。 >>> n.__class__.mro() [<class 'int'>, <class 'object'>] >>> type(n) <class 'int'>
ほとんど使わない感じなのか とんとん
CSVで列をリスト化したいのですがいい方法ないでしょうか 全部リストとしてからだとすごく重たいのです
884 :
デフォルトの名無しさん :2013/12/04(水) 18:50:07.54
CSV方言があるから嫌い。 TSVが好き。
まったく同じ理由でTSV派なんだけど 客先に納品するものはCSVにする だってTSVとか言ったらなにそれ美味しいの?状態になるからな
うめぇええええええええええ
sikuliってやつ便利だねubuntuに入れてみた
889 :
884 :2013/12/05(木) 13:06:46.18
2次元リストの行と列を変更はzipでできたのでとりあえずやりたいことはできた 列の内容をカウントして多いほうから他の列を調べて同じ項目があれば表示 import csv from collections import Counter with open('test.tsv','rt', encoding='utf-8') as fr: reader = csv.reader(fr, delimiter = '\t') excel = [row for row in reader] data = list(zip(*excel)) rank = [Counter(i) for i in data] kosu = len(rank) for x in range(kosu): for moji, kazu in rank[x].most_common(100): n = 0 for y in range(kosu): if rank[y][moji] > 0: n += 1 if n > 1: print(moji, end=' ') for z in range(kosu): print(rank[z][moji], end=' ') print('') print('-'*20)
スクレイパー御用達スレ
pythonって、CでOpenGLのプログラミングやるみたいに グリグリ3D物体動かせるアプリとか作れるの?
PyOpenGLとかラッパーを使う 数値計算が多くて速度に影響するならそこをCで書いてモジュールに・・・
Mincraft-likeなら一発ネタじゃなくて実際に稼働してるゲームがあったはず 名前は忘れた
よく「pythonって〇〇出来るの?」って質問見るけど、 逆に出来ないこと知りたい。
895 :
デフォルトの名無しさん :2013/12/10(火) 04:44:14.64
pythonってCより速く(あるいはCと同じくらい速く)OpenGL出来るの? って質問だと思いますん
>>894 それ前提条件つけないと意味ないぞ。
極論すると、Python でアセンブラ書けばアセンブラでできることはできてしまうから。
pythonはCの6倍速い
ホモかよw
>>892 ありがとうございます
それを調べてみます
>>897 ありがとうございます、これも参考にさせていただきます
pythonでデータ解析をしたいのですが、現在統計にSASプログラム使っててデータの読み込みをフォーマット入力で入力してるのでそれをいったんcsvに書き出して再度読み込んで統計処理をしたいと思ってます。 この場合のpython(2.7)ではどのようなプログラムになるかご教授おねがいします。 データ:data.dat 0001 abcde 123456789 123456789 1234567890 0002 … (↓続く)
908 :
デフォルトの名無しさん :2013/12/15(日) 02:26:46.81
自分では何も書いてないの?
(↑続き) 上記のようなデータで一人分で2行使っていて最初がId番号、abcdeは例えば、 男子で(a)、一人暮らしで(b)、喫煙者で(cd)、通勤が徒歩(e)な人で残りの数字が 3つのアンケートの回答素点になってます。 これを、 0001,a,b,cd,e,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,0 0002, というようなCSV形式で書き出したいです。 よろしくお願いします。
2行ずつ読んで1行で書き出すプログラムになるだけだろ それを書けというならソースコードを提供しろと言ってるに等しいだろ 宿題スレに行くか対価を持って来い
openでファイルを開く readlineで1行読む*2 splitする ','.joinで繋ぐ printする hoge.py > huga.csv
>>911 おーreadlineを2回やればよかったのか!!
助かりました!!ありがとうございます
はあ?
ゆとりすなあ
お勉強スレなんだから親切に教えてやりゃいいだろ
土曜深夜のこんな時間に大量に人が涌くとは
>>915 自分でどうやったか書かない時点で代わりにやれってことだろ。
教えてやりゃいいだろというという奴が教えない件
1+1の答えを教えてください これに答えると 1+2の答えは何ですか? 2+5の答えは何ですか? ……(r ってこういうことになる
>>919 別に誰もお前に答えろなんていってないんだからいいじゃん
921 :
911 :2013/12/15(日) 14:22:03.37
お前にいいか悪いか判断しろとも言ってない
>>921 答えたいなら答えればいいだけだろ、答えたくなきゃスルーしとけ
質問しといて
>>920 ,923とか言う奴の気が知れないわ
お歳暮くれたら回答してやる
知識ない 知能ない 常識ない 論破されて逆ギレ これがゆとり 何が問題かって日本のレベルの低下だろうな 周りがDQNばっかりのところに住みたいと思うか?
929 :
911 :2013/12/15(日) 14:38:10.54
今更こたえなきゃ良かったかなと思うよ クソカスがうるさいからな
933 :
911 :2013/12/15(日) 14:45:38.19
>>933 騙りまで始めるとは本当に心底クズなんだな
蛆虫以下だとストレートに軽蔑できてすっきりするぜ
935 :
911 :2013/12/15(日) 14:48:31.95
俺の偽物が2人も出ててワロタw
これは答えるときも鳥つけるべきかもわからんね
>>919 3回目ぐらいでいい加減にしろという心理作用がスレ住人に働くので別に質問は何回までとか制限する必要もない
全ては自然の赴くままに
マイナーなくせにスレが荒れてるって終わってんな<Python
質問したい奴はくだスレ行け、あっちの住人はここと違って心広いしひねくれてないから素直に答えてくれるぞ
デファクトをなんて略すのが正しいかで罵り合ってたばかりじゃねえか どこがだよw 目にうろが空いてんじゃねえか
Python is a de facto computer language.
デファクトww 頭悪そうw
アンチスレってなんで使われてないんだろ
なるほど
今回の質問ならPythonスレに限らずどこいってもフルボッコだろうに
答えた後もグチグチ言うんじゃねえっての 解決したんならそれで終われよ 女々しい野郎だ
>>938 どうでもいいことだけど、リダイレクトの方向が正しくてほっこりした
なんかありがとう…
わかったわかった すべてゆとりが悪い
ゆとりって、差別されるほど 小中高とバラ色で遊び回れる生活送ってたんか? それならそれでええやないか うらやましいわ
お前らはどの時代でも変わらないけどなw
PythonってRubyみたいなメタプログラミングってできるの?
二番煎じは通用しない
rpyでRの関数をpythonから使えるみたいですけど Rのパッケージを読み込んでから そのパッケージ内の関数を呼ぶのを rpyでやるのってどうするのですか?
括弧付の数字のかっこを外したいのですが '(100)'.lstrip('(').rstrip(')') 他にいい方法があったら教えてください。
>>> '(100)'.strip('()') '100' >>> re.sub(r'^\((.+)\)$', r'\1', '(100)') '100'
957 :
955 :2013/12/17(火) 13:12:29.15
>>956 ありがとうございます。
勉強になりました。
>>909 2行ずつ読み込むのに使えるイテレータのイデオム
for e in zip(*[iter(stream)]*2):
ideone.com/rGO5EA
PyQtとPySideってどちらが良いでしょうか。
君が初心者で物をよく考えられないのならPyQtのライセンスを読んで悶絶すると思うぜ
961 :
959 :2013/12/18(水) 18:58:04.57
PyQtがGPLってことなら知ってますよ。 Pythonの経験はあまりないものの他の言語使ってたので初心者ではないです
完成度なら明らかにPyQtの方が高い
次スレはよ
やっぱちょい古い本のサンプルコードじゃ動かんのか・・・、スレ汚しすいませんでした。
GOBAKU
受け答えって大切だなー
pythonで給料もらってる人って どんなのを開発してるんだ? 趣味って人ならいっぱいいるだろーけど
>>959 そりゃライセンス料払えるなら断然PyQt
配布時にライセンスで面倒なこと考えなくていいし
何よりも開発速度が違いすぎる
PySideはいまだにQt5に対応していない
Python3への対応も遅かったし
>>967 趣味で環境決めるようなシステム開発。
でもライブラリは充実してると思うよ。twitterのクライアントとかそういうようなの。
>>967 自分は担当じゃないけどフロントエンドのチームはDjangoだな。
なるほど商業的にはウェブインターフェースの開発が多いんだな
Djangoみたいな、てめえでコンテンツのバージョニングもろくにできないフレームワークが普通に使われてるのマジ迷惑 ※特にそんなプロジェクトのくせにi18nとかいってるところね。
1ヵ月半くらい前からi18nに親を殺されたアベンジャーがいる模様
コンテンツのバージョニングってCMSの仕事じゃないのか。 djangoが何かわかってないで使って、使えねーと言ってるわけか。
ある意味Pythonを計算に使う学術系の人はPythonで給料をもらっているといえるかも しれない。 別にPython使えるから給料をもらえているわけではないけれども、仕事道具として。
センター試験はN88BASICよりもPythonの方が良いと思うわりとまじで
>>967 カードゲームのカードの処理に使ったことあるよ。その時だけだから
pythonで給料をずっともらっているわけではないけど。
>>968 商用ライセンスって数千ドル掛かるんでしたっけ。
ありがとうございます。
利いた風な口きいといてそれかい
>>979 978ですが、私の事ですかね?
どちらが良いかというのでライセンス料が払えるならPyQt。(=払えないならPyside)
と安価貰ったのでQtって有料のは数千ドルライセンス料居るんだよなという事を書いた上で
教えてもらったのでありがとうございます。といったのですが何か問題あったでしょうか。
そうだね(プ
無能なやつほどよく吠える
wxPythonが完成度高くていいよ
wxPythonがPython3に対応したら本気出す
tkinter...
どうでもいいこと聞くけどさ tkinter これなんて読むの
wxPythonは思ったよりも色々できなくて結局他のを使うことになると思う
PyPyとか嫌らしすぎるわ 名前からして狙い過ぎ
てぃーけいいんたー って読んでる
992 :
デフォルトの名無しさん :2013/12/20(金) 16:51:14.71
はよ次スレ立てんと落ちるお
GJ
スマタ にみえた
997 :
デフォルトの名無しさん :2013/12/20(金) 20:23:42.93
埋めっ
998 :
デフォルトの名無しさん :2013/12/20(金) 20:25:13.65
埋めまくり
おっぱいそん
ぱいぱん
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。