Python 3.0 は隔離スレを作るべきだと思うのは俺だけかな?
そもそもあれは実用で使うには時期が早すぎるわけで、ここで
普通に語られても困る。
--------
別に
--------
細分化する必要性が全く感じられない。
各自がレスの内容を収拾選択すればいいだけ。
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
■ このスレッドは過去ログ倉庫に格納されています
2009/02/19(木) 22:30:15
241デフォルトの名無しさん
2010/06/26(土) 11:29:12 10倍ですむならマシだな
ものによっては100倍ぐらい差がつく
ものによっては100倍ぐらい差がつく
242デフォルトの名無しさん
2010/06/26(土) 11:29:38243デフォルトの名無しさん
2010/06/26(土) 11:30:34 先輩が数十分、自分のだと1日とかそんな感じ
244デフォルトの名無しさん
2010/06/26(土) 11:51:10 Python2 にもどして、 PyPy 使うと良いよ。
今日 PyPy-1.3 がリリースされたし。
今日 PyPy-1.3 がリリースされたし。
245デフォルトの名無しさん
2010/06/26(土) 20:35:28 python3ってctypes使えますか?
246デフォルトの名無しさん
2010/06/26(土) 21:16:25 使える
247デフォルトの名無しさん
2010/06/26(土) 23:37:58 ctypesいじくり中。
pointerとbyrefってどう使い分けるんだ?
あとlistをそのまま配列としてcに渡したり出来ないのね。
内包表記でばーんと渡したりって訳にはいかないね。
pointerとbyrefってどう使い分けるんだ?
あとlistをそのまま配列としてcに渡したり出来ないのね。
内包表記でばーんと渡したりって訳にはいかないね。
248デフォルトの名無しさん
2010/06/26(土) 23:45:14 とりあえず全部PythonでつくってProfilerかけて時間のかかる処理だけSWIG+Cで書いてるけど
このオーソドックスな方法は素晴らしいっすよ
このオーソドックスな方法は素晴らしいっすよ
249デフォルトの名無しさん
2010/06/27(日) 02:10:57 Cythonも素晴らしいよ。
ちゃんとPython3にも対応してるし。
ちゃんとPython3にも対応してるし。
250デフォルトの名無しさん
2010/06/27(日) 15:23:06 #! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
def sample_comprehension(n):
return [i for i in range(n)]
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_comprehension(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_loop(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
実行結果
2010-06-27 15:19:23
2010-06-27 15:19:46
2010-06-27 15:19:46
Python3だとリスト内包表現って遅いの?
# -*- coding: utf-8 -*-
import datetime
def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
def sample_comprehension(n):
return [i for i in range(n)]
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_comprehension(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_loop(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
実行結果
2010-06-27 15:19:23
2010-06-27 15:19:46
2010-06-27 15:19:46
Python3だとリスト内包表現って遅いの?
251デフォルトの名無しさん
2010/06/27(日) 15:43:03 >>250
2.6でも3でもリスト内包の方が速い。
2.5以前は知らんが、たぶんリスト内包の方が速い。
http://dsas.blog.klab.org/archives/51742727.html
2.6でも3でもリスト内包の方が速い。
2.5以前は知らんが、たぶんリスト内包の方が速い。
http://dsas.blog.klab.org/archives/51742727.html
252デフォルトの名無しさん
2010/06/27(日) 15:50:16 こうしないと同じ条件にならないんじゃ?
def sample_comprehension(n):
L = []
return [L.append(i) for i in range(n)]
def sample_comprehension(n):
L = []
return [L.append(i) for i in range(n)]
253デフォルトの名無しさん
2010/06/27(日) 20:15:46 CPythonって、リストの実装って配列だっけ?双方向リストだっけ?
>>250
sample_comprehensionとsample_loopの順番を入れ替えてみても結果変わらない?
32bit環境だと50000000要素だと、配列なら約200MB、双方向リストなら約600MBのメモリ確保が必要になって、
それに時間がかかったんじゃないかなぁ。
一旦確保したら、ひとつめのsample_comprehensionで作ったリストはGCの対象になるから、新たにメモリ確保の必要がない。
だから2つめのsample_loopは早かった、と予想してみる。
>>250
sample_comprehensionとsample_loopの順番を入れ替えてみても結果変わらない?
32bit環境だと50000000要素だと、配列なら約200MB、双方向リストなら約600MBのメモリ確保が必要になって、
それに時間がかかったんじゃないかなぁ。
一旦確保したら、ひとつめのsample_comprehensionで作ったリストはGCの対象になるから、新たにメモリ確保の必要がない。
だから2つめのsample_loopは早かった、と予想してみる。
254デフォルトの名無しさん
2010/06/27(日) 20:45:54255デフォルトの名無しさん
2010/06/27(日) 20:48:28256デフォルトの名無しさん
2010/06/27(日) 21:03:11 #! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
def sample_comprehension(n):
L = []
return [L.append(i) for i in range(n)]
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_comprehension(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_loop(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
結果
2010-06-27 21:01:04
2010-06-27 21:02:11
2010-06-27 21:02:12
# -*- coding: utf-8 -*-
import datetime
def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
def sample_comprehension(n):
L = []
return [L.append(i) for i in range(n)]
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_comprehension(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
sample_loop(50000000)
d = datetime.datetime.today()
print (":",d.strftime("%Y-%m-%d %H:%M:%S") )
結果
2010-06-27 21:01:04
2010-06-27 21:02:11
2010-06-27 21:02:12
257デフォルトの名無しさん
2010/06/27(日) 21:30:30258デフォルトの名無しさん
2010/06/27(日) 21:53:13 #! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
n = 50000000
d = datetime.datetime.today()
print ("for文リスト作成開始:",d.minute,"分",d.second,".",d.microsecond,"秒")
L = []
for i in range(n):
L.append(i)
d = datetime.datetime.today()
print ("リスト内包 :",d.minute,"分",d.second,".",d.microsecond,"秒")
L = []
L = [i for i in range(n)]
d = datetime.datetime.today()
print ("終了 :",d.minute,"分",d.second,".",d.microsecond,"秒")
for文リスト作成開始: 51 分 11 . 930000 秒
リスト内包 : 51 分 53 . 554000 秒
終了 : 52 分 9 . 919000 秒
# -*- coding: utf-8 -*-
import datetime
n = 50000000
d = datetime.datetime.today()
print ("for文リスト作成開始:",d.minute,"分",d.second,".",d.microsecond,"秒")
L = []
for i in range(n):
L.append(i)
d = datetime.datetime.today()
print ("リスト内包 :",d.minute,"分",d.second,".",d.microsecond,"秒")
L = []
L = [i for i in range(n)]
d = datetime.datetime.today()
print ("終了 :",d.minute,"分",d.second,".",d.microsecond,"秒")
for文リスト作成開始: 51 分 11 . 930000 秒
リスト内包 : 51 分 53 . 554000 秒
終了 : 52 分 9 . 919000 秒
259デフォルトの名無しさん
2010/06/27(日) 23:05:53 糞コード貼り禁止
260デフォルトの名無しさん
2010/06/28(月) 03:36:29 >>256
ほんとだ。すげー、ループはえー、と思ったらインデントを
def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
にしてた(・ω・`)
2.5で動かしたからrange()がイテレータじゃなくてリスト返すおかげで数字的にリアルだった。
にしても、今時のCPU速いな。Pen4だとC++で同じような処理書いても2秒かかったぞ。
#include <vector>
#include <iostream>
class Range{
private:
int end;
int now;
public:
Range(int n) : end(n), now(0){}
int next(){return now == end ? -1 : now++;}
};
int main(){
Range range(50000000);
std::vector<int> l;
int i;
while((i = range.next()) != -1) l.push_back(i);
return 0;
}
ほんとだ。すげー、ループはえー、と思ったらインデントを
def sample_loop(n):
L = []
for i in range(n):
L.append(i)
return L
にしてた(・ω・`)
2.5で動かしたからrange()がイテレータじゃなくてリスト返すおかげで数字的にリアルだった。
にしても、今時のCPU速いな。Pen4だとC++で同じような処理書いても2秒かかったぞ。
#include <vector>
#include <iostream>
class Range{
private:
int end;
int now;
public:
Range(int n) : end(n), now(0){}
int next(){return now == end ? -1 : now++;}
};
int main(){
Range range(50000000);
std::vector<int> l;
int i;
while((i = range.next()) != -1) l.push_back(i);
return 0;
}
261デフォルトの名無しさん
2010/06/28(月) 03:39:39262デフォルトの名無しさん
2010/07/01(木) 06:54:38 Cyhonの使い方を勉強しよう
まだほとんど調べてないが、使い方がよくわからない
てかトイレ行きたくて集中出来ない
まだほとんど調べてないが、使い方がよくわからない
てかトイレ行きたくて集中出来ない
263デフォルトの名無しさん
2010/07/01(木) 12:02:02 先に下痢を治せ
264デフォルトの名無しさん
2010/07/07(水) 10:50:19 結局ある程度調べたつもりだが
cython全然わからんとです
超初心者スレで教えてもくれるかな
cython全然わからんとです
超初心者スレで教えてもくれるかな
265デフォルトの名無しさん
2010/07/07(水) 22:45:35 Python3について調べてたらsuper()がキモくなってて吹いた。
http://lucumr.pocoo.org/2008/4/30/how-super-in-python3-works-and-why-its-retarded
↑にも書いてあるけど、関数定義中の__class__って何なん?第一引数をスタックフレームから取るっておいおい。
以下のクラス定義でFoo()foo()すると
class Foo:
def foo(self):
print(locals()) #=> {'self': <__main__.Foo object> at ...>} # __class__いません
class Foo:
def foo(self):
print(__class__) #=> <super: <class 'Foo'>, <Foo object>> # ちょww
_super = super
class Foo:
def foo(self):
_super() #=> エラー # ちょww
いくらなんでもこの挙動はキモすぎだろ。たかがsuper()のためだけに。
最後のとか原因わかったとしても、難すぎる。
全くPythonicじゃない。こんなJavaに媚びるような仕様。
http://lucumr.pocoo.org/2008/4/30/how-super-in-python3-works-and-why-its-retarded
↑にも書いてあるけど、関数定義中の__class__って何なん?第一引数をスタックフレームから取るっておいおい。
以下のクラス定義でFoo()foo()すると
class Foo:
def foo(self):
print(locals()) #=> {'self': <__main__.Foo object> at ...>} # __class__いません
class Foo:
def foo(self):
print(__class__) #=> <super: <class 'Foo'>, <Foo object>> # ちょww
_super = super
class Foo:
def foo(self):
_super() #=> エラー # ちょww
いくらなんでもこの挙動はキモすぎだろ。たかがsuper()のためだけに。
最後のとか原因わかったとしても、難すぎる。
全くPythonicじゃない。こんなJavaに媚びるような仕様。
266デフォルトの名無しさん
2010/07/08(木) 00:21:03 Guidoパパ曰く:
> This whole movement to condemn super because it's not "pure" strikes
> me as wasted energy. That's my last word.
> This whole movement to condemn super because it's not "pure" strikes
> me as wasted energy. That's my last word.
267265
2010/07/08(木) 01:08:18 >>266
英語力不足で意味が掴みづらいんだけど、
super()への批判は聞き飽きた。もう知らん。by Guido
って感じ?なんかGuidoらしくないなあ。俺みたいに批判してる人は
なんで今までわざわざself書いてきたんだろう、って気持ちになるんだよ。
通常の関数定義には__class__は現れなくて、メソッド定義中では
それが現れるってええ?メソッドがただのclass内で定義された関数っていう
整合性のためにself書いてたんだよって。
もちろんそれ以外にもselfなければデコレータがこれ程強力に
使われることもなかっただろうし、他にも利点はあるから
selfは必要だけど、それでもselfが必要な重要な理由の一つ
が消えちゃったんだ。
英語力不足で意味が掴みづらいんだけど、
super()への批判は聞き飽きた。もう知らん。by Guido
って感じ?なんかGuidoらしくないなあ。俺みたいに批判してる人は
なんで今までわざわざself書いてきたんだろう、って気持ちになるんだよ。
通常の関数定義には__class__は現れなくて、メソッド定義中では
それが現れるってええ?メソッドがただのclass内で定義された関数っていう
整合性のためにself書いてたんだよって。
もちろんそれ以外にもselfなければデコレータがこれ程強力に
使われることもなかっただろうし、他にも利点はあるから
selfは必要だけど、それでもselfが必要な重要な理由の一つ
が消えちゃったんだ。
268デフォルトの名無しさん
2010/07/08(木) 01:47:54 メソッドの最初の引数にself付けるのも__class__が導入されたのも何が嫌なのか全く分からん
269デフォルトの名無しさん
2010/07/08(木) 03:33:46 Ruby そんなに嫌なら自分で新しい言語作れば良いのに
Python 我慢して使えよ
PHP 祈りなさい
Perl シラネ
Python 我慢して使えよ
PHP 祈りなさい
Perl シラネ
270デフォルトの名無しさん
2010/07/08(木) 07:23:15 >>268
うーん。selfがキモくないと思うなら(俺はキモくないと思う)、
__class__はキモいと思えるはず。
__class__導入によって、selfが2.xに比べてキモくなったって話。
たぶんキモいのは多くのPythonistaが認めてる。さっきのサイトの書き込みとか見てると。
でも、それでもDRYなコードを書けるようにしたかったんだと思う。
あと、__class__って属性の方の__class__じゃないよ。ローカル変数の__class__ね。
属性の方は別にキモくないよ。
うーん。selfがキモくないと思うなら(俺はキモくないと思う)、
__class__はキモいと思えるはず。
__class__導入によって、selfが2.xに比べてキモくなったって話。
たぶんキモいのは多くのPythonistaが認めてる。さっきのサイトの書き込みとか見てると。
でも、それでもDRYなコードを書けるようにしたかったんだと思う。
あと、__class__って属性の方の__class__じゃないよ。ローカル変数の__class__ね。
属性の方は別にキモくないよ。
271デフォルトの名無しさん
2010/07/08(木) 07:30:11 一応コードで説明する
def foo(self):
pass
class Foo:
def foo(self):
pass
このとき、fooとFoo.fooが全く同じだったのが今までのPython。
Foo.fooはFoo名前空間の中にある「関数」に過ぎない。
Fooがインスタンス化されて、次みたいに呼び出される瞬間だけメソッドになるのが、
Pythonの実装方法
x = Foo()
x.foo # これはメソッドになる。(xが第一引数になる)
でも、Python3では、fooのローカルには存在しない変数__class__がFoo.fooの中に勝ってに
入ってる。
まあ、それだけの話だから、Pythonのオブジェクトシステムに興味ない人にとってはどうでも
いいかもね。俺はキモくてしかたないわ。
def foo(self):
pass
class Foo:
def foo(self):
pass
このとき、fooとFoo.fooが全く同じだったのが今までのPython。
Foo.fooはFoo名前空間の中にある「関数」に過ぎない。
Fooがインスタンス化されて、次みたいに呼び出される瞬間だけメソッドになるのが、
Pythonの実装方法
x = Foo()
x.foo # これはメソッドになる。(xが第一引数になる)
でも、Python3では、fooのローカルには存在しない変数__class__がFoo.fooの中に勝ってに
入ってる。
まあ、それだけの話だから、Pythonのオブジェクトシステムに興味ない人にとってはどうでも
いいかもね。俺はキモくてしかたないわ。
272デフォルトの名無しさん
2010/07/08(木) 22:36:37273デフォルトの名無しさん
2010/07/08(木) 23:03:11 無引数super()の実装に__class__が必要。
Pythonには自分を呼び出した元の関数のローカル変数を参照する機能が、
CレベルでもPythonレベルでもある。
__class__があれば、super()内から、クラスとselfが参照できるから、
そのクラスの__bases__からスーパークラスを参照してそれとselfを結びつけられる。
無引数super()が必要な理由は、DRYのためだけだと思う。確かにLLなのにDRYの点で
Javaなんかに負けるのは許されないことだったのかもしれない。
言語仕様を汚すぐらいならキーワードにしちまえみたいな意見もあったみたいだけど、
多重継承のあるPythonでは引数有りsuper()もサポートしたいし互換性あるし
みないなところで、こうなった。
俺はこのsuper()は関数に見せかけたキーワードだと思うことにした。
そうすれば、x=superとかしたときにx()が動作しないのにまだ納得がいく。
さて、再びROMるか。
Pythonには自分を呼び出した元の関数のローカル変数を参照する機能が、
CレベルでもPythonレベルでもある。
__class__があれば、super()内から、クラスとselfが参照できるから、
そのクラスの__bases__からスーパークラスを参照してそれとselfを結びつけられる。
無引数super()が必要な理由は、DRYのためだけだと思う。確かにLLなのにDRYの点で
Javaなんかに負けるのは許されないことだったのかもしれない。
言語仕様を汚すぐらいならキーワードにしちまえみたいな意見もあったみたいだけど、
多重継承のあるPythonでは引数有りsuper()もサポートしたいし互換性あるし
みないなところで、こうなった。
俺はこのsuper()は関数に見せかけたキーワードだと思うことにした。
そうすれば、x=superとかしたときにx()が動作しないのにまだ納得がいく。
さて、再びROMるか。
274デフォルトの名無しさん
2010/07/08(木) 23:34:59275デフォルトの名無しさん
2010/07/23(金) 01:41:10 http://github.com/methane/ipython
誰か実験台になっておくれ。
誰か実験台になっておくれ。
276デフォルトの名無しさん
2010/09/09(木) 23:10:09 早くコンパイラ作って下さいお願いします
自分の作ったプログラムが終わるのに、後1年かかるとか待ってられない
自分の作ったプログラムが終わるのに、後1年かかるとか待ってられない
277デフォルトの名無しさん
2010/09/10(金) 06:07:32 それはプロファイル取ってチューニングして、という常道はすでにおこなっての話?
278デフォルトの名無しさん
2010/09/10(金) 06:27:43 つ Cython
つ PyPy-c-jit
つ PyPy-c-jit
279デフォルトの名無しさん
2010/09/13(月) 06:10:48 >>277
常時してるよ
かと言っても、シミュレーション行わないといけないから
ある程度早くなった段階で、実行して、実行中に改善して、
次、実行するときに少し早くなったのつかって、ってのを繰り返してる
>>278
Cythonは使ってる
下のやつは初耳調べてみます
プログラムをオブジェクト指向みたいに書いちゃったおかけで、その部分をCythonに直すのがよくわからない
あと、Cythonの関数?を呼び出す回数が多いから、まだ時間がかかる
全体的に関数使いすぎだけど、拡張性を高くしときたいからこれをinline化するのも何かあれな気もする
速度を早くすることに時間を費やしてばかりいられないのと、
自分が低脳なせいで改良の余地はまだまだあるのに、大して出来てない・・・って状況です
常時してるよ
かと言っても、シミュレーション行わないといけないから
ある程度早くなった段階で、実行して、実行中に改善して、
次、実行するときに少し早くなったのつかって、ってのを繰り返してる
>>278
Cythonは使ってる
下のやつは初耳調べてみます
プログラムをオブジェクト指向みたいに書いちゃったおかけで、その部分をCythonに直すのがよくわからない
あと、Cythonの関数?を呼び出す回数が多いから、まだ時間がかかる
全体的に関数使いすぎだけど、拡張性を高くしときたいからこれをinline化するのも何かあれな気もする
速度を早くすることに時間を費やしてばかりいられないのと、
自分が低脳なせいで改良の余地はまだまだあるのに、大して出来てない・・・って状況です
280デフォルトの名無しさん
2010/09/13(月) 08:06:20 Cythonなら、Pythonのコードの8割がそのまま動く(ジェネレータとかは動かない)し、
defをcdefに書き換えるとPythonの関数オブジェクトを作らず直接C言語の関数になる
から関数呼び出しも高速になる。
defをcdefに書き換えるとPythonの関数オブジェクトを作らず直接C言語の関数になる
から関数呼び出しも高速になる。
281デフォルトの名無しさん
2010/09/13(月) 09:10:07 >>280
cdefはpyxの中でしか呼べないから、
pyからpyxのdefを呼んで、pyx内で、cdefを呼んでる
うまく説明出来てないけど、今こうなってる。
全部pyxにしちゃえばいいんだけど、そうできないのがいくつかある
cdefはpyxの中でしか呼べないから、
pyからpyxのdefを呼んで、pyx内で、cdefを呼んでる
うまく説明出来てないけど、今こうなってる。
全部pyxにしちゃえばいいんだけど、そうできないのがいくつかある
282デフォルトの名無しさん
2010/09/13(月) 10:24:07 素直にSwigこれ最強
283デフォルトの名無しさん
2010/09/14(火) 02:13:37 boost.python ....
284デフォルトの名無しさん
2010/09/16(木) 18:38:30 結構色々とあるんですね
まあ、しばらくはCythonしか手を出せないんですが…
Cythonのオブジェクトが良くわからん
cdef class abc:
def aaa(self,val):
aaa_f(self,val)
cdef aaa_f(self,val):
self.A = 0
self.B = []
self.C = val
aaa_f がありませんだってお
まあ、しばらくはCythonしか手を出せないんですが…
Cythonのオブジェクトが良くわからん
cdef class abc:
def aaa(self,val):
aaa_f(self,val)
cdef aaa_f(self,val):
self.A = 0
self.B = []
self.C = val
aaa_f がありませんだってお
285デフォルトの名無しさん
2010/09/16(木) 22:58:34 >>284
CythonじゃなくてPythonでもそれはエラーになるだろ…
CythonじゃなくてPythonでもそれはエラーになるだろ…
286デフォルトの名無しさん
2010/09/16(木) 23:35:08 >>285
Pythonだとこんな感じ
#abc.py
class abc:
def aaa(self,val):
self.A = 0
self.B = []
self.B = val
特に実行エラーとかもなく普通動いてる
#main.py
neko=abc.abc()
neko.aaa(val)
こんな感じかな
Pythonだとこんな感じ
#abc.py
class abc:
def aaa(self,val):
self.A = 0
self.B = []
self.B = val
特に実行エラーとかもなく普通動いてる
#main.py
neko=abc.abc()
neko.aaa(val)
こんな感じかな
287デフォルトの名無しさん
2010/09/16(木) 23:50:26 >>284
aaa_f は誰の持ち物?
aaa_f は誰の持ち物?
288デフォルトの名無しさん
2010/09/16(木) 23:56:47 >>287
nekoちゃん
nekoちゃん
289デフォルトの名無しさん
2010/09/17(金) 00:03:00 >>287
クラスabcです
クラスabcです
290デフォルトの名無しさん
2010/09/17(金) 00:04:07 >>289
答えでてんじゃん
答えでてんじゃん
291デフォルトの名無しさん
2010/09/17(金) 00:11:15 >>290
よくわからないです…
#main.py
neko=abc.abc()
neko.aaa(val)
で、
#abc.pyx
のaaaを呼び出して
abc.pyxで、aaa_fを呼び出してる
cdef class abc:
cdef:
object A
とかも必要なのか…
よくわからないです…
#main.py
neko=abc.abc()
neko.aaa(val)
で、
#abc.pyx
のaaaを呼び出して
abc.pyxで、aaa_fを呼び出してる
cdef class abc:
cdef:
object A
とかも必要なのか…
292デフォルトの名無しさん
2010/09/17(金) 00:45:44 class Foo1:
def aaa(self):
self.bbb(0)
def bbb(self,val):
self.x = val
class Foo2:
def aaa(self):
bbb(0)
def bbb(self,val):
self.x = val
class Foo3:
def aaa(self):
Foo3.bbb(self,0)
def bbb(self,val):
self.x = val
どれなら動くと思う?
def aaa(self):
self.bbb(0)
def bbb(self,val):
self.x = val
class Foo2:
def aaa(self):
bbb(0)
def bbb(self,val):
self.x = val
class Foo3:
def aaa(self):
Foo3.bbb(self,0)
def bbb(self,val):
self.x = val
どれなら動くと思う?
293デフォルトの名無しさん
2010/09/17(金) 01:27:04 ああなるほど
Foo1かな
Foo3もかな
Foo1かな
Foo3もかな
294デフォルトの名無しさん
2010/10/05(火) 07:02:42 ここまで互換性が無いのに、仕様変更するのってが良い
規制で雁字搦めになって身動きが取れなくなってたりしなくて
これからも、互換性気にせず、ドンドン変更して欲しい
その上で、変換するものがあってくれれば
規制で雁字搦めになって身動きが取れなくなってたりしなくて
これからも、互換性気にせず、ドンドン変更して欲しい
その上で、変換するものがあってくれれば
295デフォルトの名無しさん
2010/10/05(火) 12:30:45 Python3のタイミングで変数の型指定(静的型付け)を導入してくれれば明るい未来が開けたのに・・・
296デフォルトの名無しさん
2010/10/05(火) 14:34:31 >>295
それPythonじゃなくね?
それPythonじゃなくね?
297デフォルトの名無しさん
2010/10/05(火) 19:11:33 Javaでも使ってろ
298デフォルトの名無しさん
2010/10/05(火) 20:39:58 >>295
あるよ
あるよ
299デフォルトの名無しさん
2010/10/09(土) 15:46:51 型指定すると何か良いことあるの?速度以外で
300デフォルトの名無しさん
2010/10/10(日) 00:48:13301デフォルトの名無しさん
2010/10/10(日) 01:22:35302デフォルトの名無しさん
2010/10/10(日) 01:30:34 >>301
コンプレックスというより、バカで使えない、というトラウマがあってw
コンプレックスというより、バカで使えない、というトラウマがあってw
303デフォルトの名無しさん
2010/10/10(日) 09:19:37 一山いくらのドカタとハッカーを一緒にするな!
304デフォルトの名無しさん
2010/10/10(日) 10:22:07 このスレ見てるとPythonももう終わったなって感じだな
305デフォルトの名無しさん
2010/10/10(日) 11:53:58 __class__きもいんだけど。
306デフォルトの名無しさん
2010/10/20(水) 04:03:55 どうでもいいニュース:
今日、Arch Linuxの/usr/bin/pythonがpython3になった。
今日、Arch Linuxの/usr/bin/pythonがpython3になった。
307デフォルトの名無しさん
2010/10/20(水) 10:30:47 Arch使ってるような変態じゃなくて玄人連中は別に困りそうも無いから問題無い
308デフォルトの名無しさん
2010/10/20(水) 13:26:33 debianは未だに(ry
309デフォルトの名無しさん
2010/10/20(水) 13:54:18 OSが勝手に3採用するのは困る
310デフォルトの名無しさん
2010/10/21(木) 00:22:52 どうせ2もpython2とかいう名前で入れられるんだろ?
311デフォルトの名無しさん
2010/10/21(木) 08:31:20 さっさと3に移行しろよクズども
312デフォルトの名無しさん
2010/10/21(木) 10:35:49 Python3の旅はこれからだ!
グイド先生の次回作、Python4にご期待ください。
グイド先生の次回作、Python4にご期待ください。
313デフォルトの名無しさん
2010/10/21(木) 13:57:52 Djangoが使えるようになったら移行する > 3
314デフォルトの名無しさん
2010/10/21(木) 15:13:32 Python素人だけれども、
ユニコード文字列とかのややこしさがなくていいなと思って3.1をインストールしたんだが、
間に合ううちに2.7に切り替えるべきか? それともどうせ通る道と受け入れるべきか?
ユニコード文字列とかのややこしさがなくていいなと思って3.1をインストールしたんだが、
間に合ううちに2.7に切り替えるべきか? それともどうせ通る道と受け入れるべきか?
315デフォルトの名無しさん
2010/10/21(木) 15:47:52 必要になったら2.xをいれればいいさ
316デフォルトの名無しさん
2010/10/21(木) 18:53:46 >>314
3rdパーティのライブラリが使いたくなったらPython2.xへ。
3rdパーティのライブラリが使いたくなったらPython2.xへ。
317デフォルトの名無しさん
2010/10/21(木) 22:39:06 必要になったら3.xをいれればいいさ
5年後ぐらいにはそうなるよきっと
5年後ぐらいにはそうなるよきっと
318デフォルトの名無しさん
2010/10/21(木) 23:15:30 Google App Engine(とWSGI準拠のアプリケーション)が
3に対応したら必要性で周りのライブラリも加速するんじゃねぇかなーと思う
3に対応したら必要性で周りのライブラリも加速するんじゃねぇかなーと思う
319デフォルトの名無しさん
2010/10/21(木) 23:16:58 3.2から一気に加速するよ。
320デフォルトの名無しさん
2010/10/22(金) 00:23:15 2から3に引っ越すメリットってなに?
321デフォルトの名無しさん
2010/10/22(金) 00:38:56 自己満足
322デフォルトの名無しさん
2010/10/22(金) 00:57:04 俺ってすごい感
323デフォルトの名無しさん
2010/10/22(金) 21:19:58 文字コード関連のエラーを見ないで済む
324デフォルトの名無しさん
2010/10/23(土) 00:08:54 嘘つくな。
UnicodeDecodeErrorは相変わらず出るぞ。
UnicodeDecodeErrorは相変わらず出るぞ。
325デフォルトの名無しさん
2010/10/23(土) 00:37:33 ということはつまり2から3に引っ越すメリットってなに?
326デフォルトの名無しさん
2010/10/23(土) 01:25:56 将来にわたって比較的安心につかえる。
現時点でのメリットはそれしかない。
現時点でのメリットはそれしかない。
327デフォルトの名無しさん
2010/10/23(土) 09:11:21 >>324
そりゃ、出るには出るよ。
そりゃ、出るには出るよ。
328デフォルトの名無しさん
2010/10/23(土) 20:45:30 >>326
クククッ, ハタシテ ソウカナ となりそうで怖い
クククッ, ハタシテ ソウカナ となりそうで怖い
329デフォルトの名無しさん
2010/10/24(日) 03:18:33 初心者ならいいけど、
ある程度の経験者でUnicodeDecodeErrorと格闘してるような奴は、
基礎を固めずに、行き当たりばったりでプログラムを書いてるんでしょ。
ある程度の経験者でUnicodeDecodeErrorと格闘してるような奴は、
基礎を固めずに、行き当たりばったりでプログラムを書いてるんでしょ。
330デフォルトの名無しさん
2010/10/24(日) 03:37:10 いちいち u'' を書かなくて良くなったんだってね
2.x の unicode = 3.x の string
2.x の string = 3.x の bytearray
っていう認識で桶?
2.x の unicode = 3.x の string
2.x の string = 3.x の bytearray
っていう認識で桶?
331デフォルトの名無しさん
2010/10/24(日) 03:48:05 俺はその認識。
332デフォルトの名無しさん
2010/10/24(日) 09:25:20333デフォルトの名無しさん
2010/10/24(日) 10:00:24 >>329
日本人以外にもそれ言える?
日本人以外にもそれ言える?
334デフォルトの名無しさん
2010/10/24(日) 11:28:51 >>332
PEP
PEP
335デフォルトの名無しさん
2010/10/24(日) 12:46:11 Python3.1使ったWEBを作ってるんですが
次のようなエラーが出て困ってます。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 178-180:
インタープリターで実行すると出ないエラーです。
ブラウザから実行したときに出るエラーです。
処理としてはDBアクセスして検索SQL実行して結果セットをループで回してXML形式の文字列としてクライアント側に返すといった内容です。
原因がわかれば教えてください。
次のようなエラーが出て困ってます。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 178-180:
インタープリターで実行すると出ないエラーです。
ブラウザから実行したときに出るエラーです。
処理としてはDBアクセスして検索SQL実行して結果セットをループで回してXML形式の文字列としてクライアント側に返すといった内容です。
原因がわかれば教えてください。
336デフォルトの名無しさん
2010/10/24(日) 13:08:26 原因はおつむの悪さ
337デフォルトの名無しさん
2010/10/24(日) 13:13:02 馬鹿には無理
338デフォルトの名無しさん
2010/10/24(日) 13:33:07 >>335
文字コードは、省略してもいいって絶対の自信がない場合は面倒くさくても指定しろ。
文字コードは、省略してもいいって絶対の自信がない場合は面倒くさくても指定しろ。
339デフォルトの名無しさん
2010/10/24(日) 13:54:27 >>335
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
のように、sys.stdoutを置き換えると良いよ(utf-8の部分は適宜置き換えて)
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
のように、sys.stdoutを置き換えると良いよ(utf-8の部分は適宜置き換えて)
340デフォルトの名無しさん
2010/10/24(日) 14:33:26 >>335
基本的に、文字列を出力するときはエンコードしなきゃいけない。
にもかかわらず、コンソールで実行するときに問題が表面化しないのは、
Pythonが端末のエンコーディング(例えば'UTF-8')を sys.stdout.encoding に自動で設定してくれているおかげ。
これによって、print "うんこ" は、sys.stdout.write("うんこ".encoding("utf-8"))として実行される。
しかし、CGIで実行する場合はそんな支援はしれくれず、sys.stdout.encoding はNoneになっている)ので、
print "うんこ" は、sys.stdout.write("うんこ".encoding("ascii"))として実行
されてしまい、エラーとなる。
基本的に、文字列を出力するときはエンコードしなきゃいけない。
にもかかわらず、コンソールで実行するときに問題が表面化しないのは、
Pythonが端末のエンコーディング(例えば'UTF-8')を sys.stdout.encoding に自動で設定してくれているおかげ。
これによって、print "うんこ" は、sys.stdout.write("うんこ".encoding("utf-8"))として実行される。
しかし、CGIで実行する場合はそんな支援はしれくれず、sys.stdout.encoding はNoneになっている)ので、
print "うんこ" は、sys.stdout.write("うんこ".encoding("ascii"))として実行
されてしまい、エラーとなる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 前駐中国大使・垂秀夫『高市首相が台湾有事答弁を国会でしてしまったのは高市首相のなかに戦略的思考が無いから。安倍晋三を見習え』 [718678614]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- 金曜ロードショー😭
- 朝だよー🥁🥺ドンドンドンドン
- ( ・᷄ὢ・᷅ )ケツ
- モブサイコ「私がJAグループに何か利益誘導するということは全くありません」 [402859164]
