くだすれPython(超初心者用) その3 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
09/01/16 06:33:45
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その2
スレリンク(tech板)

関連スレ
Pythonのお勉強 Part31
スレリンク(tech板)

2:デフォルトの名無しさん
09/01/16 06:34:11
◆関連リンク
Python の Home Page
URLリンク(www.python.org)

Python 日本語ドキュメント - Pythonistaのお友達
URLリンク(www.python.jp)

最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも
URLリンク(www.python.org)

Python のコーディングガイド PEP8
URLリンク(www.python.org)

Python のコーディングガイド PEP8 - 日本語訳
URLリンク(www.oldriver.org)

日本語文字列コード問題まとめ
URLリンク(python.matrix.jp)

インタラクティブモードのエンコード
URLリンク(python.matrix.jp)

3:デフォルトの名無しさん
09/01/16 06:35:15
テンプレを多少改変しました。あと色々あるのでしょうが python.jp と書籍へのリンクは日本語ドキュメントをのぞいて省きました。
文句とかテンプレ改良とか次スレに向けてぼちぼちやっていきましょう。

4:デフォルトの名無しさん
09/01/16 07:08:12
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ


5:デフォルトの名無しさん
09/01/16 07:15:04
>>3
ありがとう!!
GJ!!!!

6:デフォルトの名無しさん
09/01/16 14:28:12
2.5.2 on FreeBSD環境です
5つの値を任意に変えられる関数は、なんでしょうか?
import sys
print sys.getfilesystemencoding()
print sys.stdin.encoding
print sys.stdout.encoding
print sys.stderr.encoding
print sys.getdefaultencoding()
実行結果
US-ASCII
US-ASCII
US-ASCII
US-ASCII
ascii

7:デフォルトの名無しさん
09/01/16 15:47:29
>> sys.getfilesystemencoding()
プラットフォームと言語に依存しているはずで通常は変更する必要はない
>> sys.stdin.encoding
>> sys.stdout.encoding
>> sys.stderr.encoding
環境依存でPythonランタイムや埋め込んでいるアプリケーションが用意する。stdin/stdout/stderrは上書きできる
>> sys.getdefaultencoding()
sitecustomize.py で sys.setdefaultencoding()

できれば >>3 の後ろ2つも参照してくれ

8:デフォルトの名無しさん
09/01/16 15:48:05
× できれば >>3 の後ろ2つも参照してくれ
○ できれば >>2 の後ろ2つも参照してくれ

9:デフォルトの名無しさん
09/01/16 16:45:09
日本語のエンコードについて教えてください。
お願いします。

10:デフォルトの名無しさん
09/01/16 17:21:38
>>7,8
うーん
>>7
> >> sys.stdin.encoding
> >> sys.stdout.encoding
> >> sys.stderr.encoding
> 環境依存でPythonランタイムや埋め込んでいるアプリケーションが用意する。stdin/stdout/stderrは上書きできる
具体的な例文を書いてもらえませんか?
ググっても、例文が出てこなくて、困っています

とりあえず、sitecustomize.pyに下のを書いてみた
軽く試したところ、思うように動作するので、この設定で騙し騙しやってみようと思います
reがちゃんと動くのか、まだ試してないけど・・・

from encodings import aliases
aliases.aliases['us_ascii'] = 'euc_jp'

import sys
sys.setdefaultencoding('euc_jp')

11:デフォルトの名無しさん
09/01/16 20:46:14
if x == undefined:
  x = "Foo"
みたいなことがしたいんですがどうすればいいですか?

x = x or "Foo"
x or x = "Foo"
x = x if x else "Foo"
if not x:
  x = "Foo"
if x != None:
  x = "Foo"

どれもダメでした
LLって難しい…

12:デフォルトの名無しさん
09/01/16 21:04:18
>>> vars().has_key('hoge')
False
>>> hoge=4
>>> vars().has_key('hoge')
True

13:デフォルトの名無しさん
09/01/16 21:05:52
>>4


14:デフォルトの名無しさん
09/01/16 22:05:10
ユニコード相当の8ビット文字列とユニコード文字列はなぜ別に扱われるのですか。


15:デフォルトの名無しさん
09/01/16 22:10:51
UnicodeとUTF-8の違いは?
スレリンク(tech板)

16:デフォルトの名無しさん
09/01/17 04:01:52
Ubuntu on VMware、クソワロタ
2週間ぐらいpython on cygwinと日本語関係で悩んでいたけど
あっさり解決しそうだw

VMware用仮想マシン | Ubuntu Japanese Team
URLリンク(www.ubuntulinux.jp)

>>前スレの942
>Cygwinを使う明確な理由があるならともかく
>そうでないならUnix環境の劣化コピー

もっともだけど、なんかなあと思っていたけど
求めていた解が前スレの942のまんまでした

17:デフォルトの名無しさん
09/01/17 04:08:06
>>16
VirtualBoxでもUbuntuのイメージが用意されてるよ。
VMWareより、VirtualBoxの方がデスクトップ弄ってる時は素直に動いてくれる。


18:デフォルトの名無しさん
09/01/17 04:33:35
>>17
そうだね
VirtualBoxは、サクサク動作でいいよね

いや、それがVMWareもかなりすんなり使えて、ビックリしている
VMwareのバージョンは、1年前ぐらいのヤツなんだけどなあ
Cent OSとか、いろいろ試したときにこんな機能あったっけかな・・・
プログラミングとあんまり関係ないけど、サウンド関係とかも使えるのが好きなんだよなあ
動作は、ちょっともっさりだけど、触り慣れているVMWareにします

19:デフォルトの名無しさん
09/01/17 06:16:20
Ubuntuは馬鹿用だからなぁ

20:デフォルトの名無しさん
09/01/17 06:18:15
coLinuxとかandLinuxが高速


21:デフォルトの名無しさん
09/01/17 06:19:17
すれち

22:デフォルトの名無しさん
09/01/17 09:01:30
希望の動作した

23:デフォルトの名無しさん
09/01/17 13:14:29
常駐させるならcoLinuxだな。

24:デフォルトの名無しさん
09/01/18 01:13:17
>>4
こんなAAで爆笑してしまった・・

25:デフォルトの名無しさん
09/01/18 05:06:54
∫x/x-1 dx
t=x-1とし
∴x=t+1 また dt=dx

∫t+1/t dt
=∫1+(1/t) dt
=t + log|t|
=x-1 + log(x-1)

正答は最初に部分分数分解してx + log(x-1)ですが
上記の場合なにが違ってるんでしょうか?

26:デフォルトの名無しさん
09/01/18 08:02:42
誤爆乙

27:デフォルトの名無しさん
09/01/18 09:08:30
誤爆じゃありませんが。
何が違っているんでしょうか。

28:デフォルトの名無しさん
09/01/18 10:08:53
積分定数

29:デフォルトの名無しさん
09/01/18 13:05:24
答えが出せないってことは、Pythonスレの人のレベルが相当低いんですねえ。
ありがとうございました。

30:デフォルトの名無しさん
09/01/18 13:40:23
正しい板に質問を投げることができない奴が来るくらい低いな。

31:デフォルトの名無しさん
09/01/18 13:47:45
>>28 が答えだということも分からないくらいレベルが低いようだな。

32:デフォルトの名無しさん
09/01/18 13:59:24
最近、本当に知りたくて質問してる人の割合が低すぎる気が

33:デフォルトの名無しさん
09/01/18 17:18:41
>>25
=∫1+(1/t) dt
=t + log|t| + C
=x-1 + log(x-1) + C
=x + log(x-1) + C

34:デフォルトの名無しさん
09/01/18 22:08:28
『Pythonで学ぶ大学数学』って本があったら面白そうと思ってしまった。

35:デフォルトの名無しさん
09/01/18 23:03:40
英語だったら、ありそうだね

36:デフォルトの名無しさん
09/01/18 23:31:50
スクリプトファイルとモジュールの違いは何ですか?
教えてください。

37:デフォルトの名無しさん
09/01/18 23:52:06
Pythonでは同じ扱いです

関数も何も定義せず、
べた書きしてたらモジュールにはなりえない
(オブジェクトへのリファレンスは除く)

38:デフォルトの名無しさん
09/01/19 04:11:08
Pythonでtestfirstコード書くのに標準的なのはありますか

39:デフォルトの名無しさん
09/01/19 17:29:49
ちょっといいですか

40:デフォルトの名無しさん
09/01/19 18:03:15
>>39
おまえはだめだ

41:デフォルトの名無しさん
09/01/19 18:22:23
>>1の和訳チュートリヤルに嘘ばっかり書いてあるな
print 'Hello, world!'
ってやってもエラーになる
嘘ばっかだなと思って
英語のほうを見たら
print ('Hello, world!')
って書いてあったので
そのとおりやったらできた。
>>1はうそつき超汚染人だ!

42:デフォルトの名無しさん
09/01/19 18:26:26
3.0乙

43:デフォルトの名無しさん
09/01/19 18:26:36
そりゃまあ 2.X 用のチュートリアルだからな

44:デフォルトの名無しさん
09/01/19 18:35:43
>>41
チュートリアルにprint 'Hello, world!'なんて書かせる項目なんてなかったと思うが
というか、普通にprint 'Hello, world!'で通るだろ

あと嘘ばっかりについてkwsk上げてもらおうか

45:デフォルトの名無しさん
09/01/19 18:36:45
>>38
doctestとか
>>41
1に和訳へのリンクなんてないけどな

46:デフォルトの名無しさん
09/01/19 18:39:03
>>41
スレリンク(tech板:264-266番)

47:デフォルトの名無しさん
09/01/19 18:40:37
>>44
2厨乙

48:デフォルトの名無しさん
09/01/19 19:00:01
>>46
>39

49:デフォルトの名無しさん
09/01/19 19:11:01
2.xでprint文を使うとして、一応、3.0のことも考えて
L = ('spam',('pypy','thth'))
print(L)
と書いたほうがいいの?

50:デフォルトの名無しさん
09/01/19 19:12:44
def print(hoge):
print hoge

51:デフォルトの名無しさん
09/01/19 19:40:03
>>50
予約語

52:デフォルトの名無しさん
09/01/19 19:51:15
2to3で変換できるからそのままでいいと思うが、
2.6なら from __future__ import print_function してもよい

53:デフォルトの名無しさん
09/01/19 19:57:30
print_function 使ってる場合
2to3で変換されますか

54:デフォルトの名無しさん
09/01/19 21:06:22
・What’s New In Python 3.0 ? Python v3.1a0 documentation
URLリンク(docs.python.org)
・Python3000 - TSNETWiki on TextWorld
URLリンク(text.world.coocan.jp)
・もっと知りたいPython3000:第1回 Python 3.0の思想と意義|gihyo.jp … 技術評論社
URLリンク(gihyo.jp)
> また,3.x系の開発と共に,少なくとも数年は2.xの開発が続くことが予告されています。
> Guido自身,「Python 3が広まるのは3.1か,もしかしたら3.2の頃だろう」と言っています。
> ユーザの移行に関しても,明確なビジョンが示されています。
・「Python 3.0」の正式版がリリース--Python 2シリーズとは非互換 - builder by ZDNet Japan
URLリンク(builder.japan.zdnet.com)


55:デフォルトの名無しさん
09/01/19 23:16:11
騙り多すぎだなこの板。

56:デフォルトの名無しさん
09/01/20 12:15:52
URLリンク(webpy.org)
ここのサンプルの f = register_form() の意味が分かりません.

一般に class A のインスタンス a を呼び出す a() と
Python ではどんな意味があるのでしょうか?
インスタンスのアドレス(参照というかハンドルのIDみたいなもの?)は
変わっているようです.ということはクローンが得られてるのでしょうか?

C++ のように operator() をオーバーロードして
ファンクタになっているということなのでしょうか?

57:デフォルトの名無しさん
09/01/20 12:19:28
すんまそん、パッケージのソースながめたら

def __call__(self, x=None):
  o = copy.deepcopy(self)
  if x: o.validates(x)
  return o

って書いてありました。子ね俺。

58:デフォルトの名無しさん
09/01/20 12:47:43
You should not die.

59:デフォルトの名無しさん
09/01/20 16:48:25
importってなんなの?しぬの?

60:デフォルトの名無しさん
09/01/20 20:03:00
importanceの略です

61:デフォルトの名無しさん
09/01/20 20:05:23
impotenceですねわかります

62:デフォルトの名無しさん
09/01/20 20:55:11
3文字の総当り

chars = 'abcdefg'

for char1 in chars:
  for char2 in chars:
    for char3 in chars:
      word = char1+char2+char3
      print word

これを

word_list = create_word_list(3, 'abcdefg')
word_list = create_word_list(4, 'hijklmnop')

のような感じで好きな長さで生成する関数「create_word_list」をどうかきますか?
知恵を貸してください。よろしくおねがいします。

63:デフォルトの名無しさん
09/01/20 21:31:24
2.6/3.0ならitertools.combinations

64:デフォルトの名無しさん
09/01/20 22:04:23
URLリンク(www.usamimi.info)
ここの187-193で拾った
>>> def combi(a, b):
... if isinstance(a[0], tuple):
... return [x + (y,) for x in a for y in b]
... else:
... return [(x, y) for x in a for y in b]
...
>>> def combination(*l):
... return reduce(combi, l)
...
>>> def create_word_list(n, s):
... l=[xrange(len(s)) for i in xrange(n)]
... c=combination(*l)
... return [''.join([s[i] for i in t]) for t in c]
...
>>> create_word_list(2, 'abc')
['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
>>> create_word_list(3, 'abcd')
['aaa', 'aab', 'aac', 'aad', 'aba', 'abb', 'abc', 'abd',
'aca', 'acb', 'acc', 'acd', 'ada', 'adb', 'adc', 'add',
'baa', 'bab', 'bac', 'bad', 'bba', 'bbb', 'bbc', 'bbd',
'bca', 'bcb', 'bcc', 'bcd', 'bda', 'bdb', 'bdc', 'bdd',
'caa', 'cab', 'cac', 'cad', 'cba', 'cbb', 'cbc', 'cbd',
'cca', 'ccb', 'ccc', 'ccd', 'cda', 'cdb', 'cdc', 'cdd',
'daa', 'dab', 'dac', 'dad', 'dba', 'dbb', 'dbc', 'dbd',
'dca', 'dcb', 'dcc', 'dcd', 'dda', 'ddb', 'ddc', 'ddd']

65:62
09/01/21 00:22:26
>>63
ごめんなさい、バージョン思いっきり忘れてました。2.5を使用してます。

>>64
すごすぎます。
内容がまったく理解できてないけど、実現できました。
ありがとうございます!

66:デフォルトの名無しさん
09/01/21 08:04:39
あるクラス変数が定義されているかどうかを調べるのって
どうすればいいのでしょうか?

__init__ の中で、あるクラス変数が定義されていなければ
そこで定義する、既に定義されていたらなにもしない、
という挙動をしたいと思っています。

「定義」という言葉が適切かどうかわかりませんが・・

67:デフォルトの名無しさん
09/01/21 08:47:58
>>> class a:
... hoge=2
... def __init__(self):
... print a.__dict__.has_key('hoge')
... print a.__dict__.has_key('fuga')
...
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... print a.__dict__.has_key('hoge')
... print a.__dict__.has_key('fuga')
... print a.__dict__.has_key('hage')
...
>>> b=a()
True
False
False

68:デフォルトの名無しさん
09/01/21 08:54:52
>>66
スレリンク(tech板:21-27番)

69:デフォルトの名無しさん
09/01/21 09:02:33
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... self.hage=4
... print a.__dict__.has_key('hoge')
... print a.__dict__.has_key('fuga')
... print a.__dict__.has_key('hage')
... print a.__dict__.has_key('moge')
... print self.__dict__.has_key('hoge')
... print self.__dict__.has_key('fuga')
... print self.__dict__.has_key('hage')
... print self.__dict__.has_key('moge')
... print self.__class__.__dict__.has_key('hoge')
... print self.__class__.__dict__.has_key('fuga')
... print self.__class__.__dict__.has_key('hage')
... print self.__class__.__dict__.has_key('moge')
...
>>> b=a()
True
False
False
False
False
False
True
False
True
False
False
False

70:デフォルトの名無しさん
09/01/21 09:25:21
has_keyはもうやめよーぜ

71:デフォルトの名無しさん
09/01/21 10:05:07
>>> l=['hoge','fuga','hage','moge']
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... self.hage=4
... print [k in a.__dict__ for k in l]
... print [k in self.__dict__ for k in l]
... print [k in self.__class__.__dict__ for k in l]
...
>>> b=a()
[True, False, False, False]
[False, False, True, False]
[True, False, False, False]

こうですか?

72:デフォルトの名無しさん
09/01/21 10:10:22
>>> l=['hoge','fuga','hage','moge']
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... self.hage=4
... print [k in a.__dict__ for k in l]
... print [k in self.__dict__ for k in l]
... print [k in self.__class__.__dict__ for k in l]
... print [k in vars() for k in l]
...
>>> b=a()
[True, False, False, False]
[False, False, True, False]
[True, False, False, False]
[False, True, False, False]
>>> 'fuga' in vars()
False

fugaは何処へ消えたんだろうと思った俺アフォ杉orz

73:デフォルトの名無しさん
09/01/21 11:33:25
>>> [hasattr(a, k) for k in l]
[True, False, False, False]
>>> [hasattr(b, k) for k in l]
[True, False, True, False]

74:デフォルトの名無しさん
09/01/21 13:29:20
なんかみんなすごいねw
その遊びについていけね

75:デフォルトの名無しさん
09/01/21 22:38:07
>>65
spamメールのアドレス生成とか
パスワードクラッキングとかに
使われそうですねだめですよ

76:デフォルトの名無しさん
09/01/22 01:46:53
ただの組み合わせ演算のコードだろ。
素因数分解のコードの質問でもしたら「RSAの解読に使われそうですね」
とか言うのか?w

77:デフォルトの名無しさん
09/01/22 02:06:42
そうですね
RSAはあと2年もたないと言われていますが

78:デフォルトの名無しさん
09/01/22 09:05:46
>>77
> RSAはあと2年もたないと言われていますが

ソース。てか何ビットのRSA?

79:デフォルトの名無しさん
09/01/22 11:30:08
2010問題のこと?

80: ◆UNKOVIP9RM
09/01/22 14:32:44
RSAのソース出してみろよこら

md5と勘違いしてね?

81: ◆UNKOVIP9RM
09/01/22 14:43:21
ソースだせばいいのか

(`・ω・´)つ URLリンク(www.flickr.com)

とっとけ。

82: ◆UNKOVIP9RM
09/01/22 14:44:49
URLリンク(itpro.nikkeibp.co.jp)

「1024ビット以下の・・・」ってのが抜けてました。

ごめんなさい。

吊ってきます。

83: ◆UNKOVIP9RM
09/01/22 14:45:53
>>82
分かったならよし

84: ◆UNKOVIP9RM
09/01/22 14:48:04
>>83
おまえうざい

85:デフォルトの名無しさん
09/01/22 15:52:47
Python/Tkでソースの間違いを見つけられないのですが、
探してもらってもいいですか?

86: ◆UNKOVIP9RM
09/01/22 16:59:17
うんこ食わせろ

87:デフォルトの名無しさん
09/01/22 23:22:12
””   ””
 ̄   ̄
  ,,

88:デフォルトの名無しさん
09/01/23 18:29:44
辞書やリストを str() で文字列として表示させるとき
(あるいは print 「文」で表示するとき)
文字列をシングルクォートではなくダブルクォートで
囲ませる方法ってありませんか?

そういう出力をするように __str__() を再定義
するしかないものでしょうか?

89:デフォルトの名無しさん
09/01/23 18:53:13
>>> s={'abc':'def','ghi':['jkl','mno'],"pqr":["stu"],"vwx":"yz"}
>>> s
{'pqr': ['stu'], 'abc': 'def', 'vwx': 'yz', 'ghi': ['jkl', 'mno']}
>>> import json
>>> json.write(s)
'{"pqr":["stu"],"abc":"def","vwx":"yz","ghi":["jkl","mno"]}'

90:デフォルトの名無しさん
09/01/23 18:56:43
ううむ,json っすか.
import json となると 2.6 系にしなきゃだめか・・・
検討してみます.ありがとうございました.

91:デフォルトの名無しさん
09/01/23 20:43:44
URLリンク(pypi.python.org)

92:デフォルトの名無しさん
09/01/23 21:30:35
>>90
ごめん 2.5 で↓これ入れて使ってた
python-json 3.4
URLリンク(pypi.python.org)
メリットはソースが json.py しかないのでインストールする手間が不要w
日本語はUTF-8しか通らないみたいだけど
json.read, json.write しか使わない分には充分いけてる

93:デフォルトの名無しさん
09/01/23 21:42:52
みんなのpythonを読んだあと、
次に何を読んだらいいですか?
中級ぐらいの参考書ってありますか?

94:デフォルトの名無しさん
09/01/23 22:18:40
実技

95:デフォルトの名無しさん
09/01/23 22:37:28
>>93
なんでそんなに読みたいの? 何が目的?

96:デフォルトの名無しさん
09/01/23 22:45:09
>>93
黒い方

97:デフォルトの名無しさん
09/01/23 23:04:43
あの、みんなのpythonに書かれている標準ライブラリってそれを利用するのに必要な基礎知識がなかったとしても必ず覚えるべきなんでしょうか。
もしその作業が後回しにしてもとりあえずは支障のない程度のものであるのでしたら標準ライブラリについての勉強を後回しにして他の勉強を始めたいのですけれども

98:デフォルトの名無しさん
09/01/23 23:09:38
いちいち覚える必要ねえよそんなもん
必要に応じてリファレンスマニュアル見て使えりゃ十分だろ

99:デフォルトの名無しさん
09/01/23 23:19:31
有難う御座います。気が晴れました

100:デフォルトの名無しさん
09/01/23 23:52:50
setuptools でスクリプトとして a.py を指定してしまうと
easy_install で /usr/bin/ 直下に a.py がコピーされて,
アンインストールしたい時に困りませんか?

easy_install ってアンインストールの機能は
提供してくれていませんよね?


101:デフォルトの名無しさん
09/01/24 00:36:41
easy_uninstall

102:デフォルトの名無しさん
09/01/24 05:20:45
>>97
覚える必要ないけどライブラリリファレンスのインデックスだけでも
目を通しておくと後で損しないかも

103:デフォルトの名無しさん
09/01/24 05:56:32
何故以下のプログラムでabcdと並ばないのか教えてください
import Tkinter as Tk
class unko:
def __init__(self):
self.root = Tk.Tk()
frame = Tk.Frame(self.root)

l = Tk.Label(frame, text="a ")
l.grid(row=0, column=0, stick=Tk.N+Tk.E+Tk.S+Tk.W)
l = Tk.Label(frame, text="b ")
l.grid(row=1, column=0, stick=Tk.N+Tk.E+Tk.S+Tk.W)
login_button = Tk.Button(text="c")
login_button.grid(row=2, columnspan=2, stick=Tk.N+Tk.E+Tk.S+Tk.W)
l = Tk.Label(frame, text="d ")
l.grid(row=3, column=0, stick=Tk.N+Tk.E+Tk.S+Tk.W)
frame.grid(row=1, padx=2, pady=2, stick=Tk.N+Tk.E+Tk.S+Tk.W)
def main(self):
self.root.mainloop()

if __name__ == "__main__":
unko().main()


104:デフォルトの名無しさん
09/01/24 07:20:30
>>103
login_button = Tk.Button(text="c")
 ↓
login_button = Tk.Button(frame, text="c")


105:デフォルトの名無しさん
09/01/24 08:38:14
0.txt 、 1.txt 、 2.txt  ・・・  x.txt

というテキストファイルを新規に作ってそこに何か書き込みたいんですけど、どうしたらいいでしょうか?

0〜xまで
open('0.txt','w+')
open('1.txt','w+')
open('2.txt','w+')
...
って書き込むのは避けたいんです


106:デフォルトの名無しさん
09/01/24 08:45:33
[open("%d.txt" % i, 'w+') for i in range(x)]

107:デフォルトの名無しさん
09/01/24 08:49:33
文字列に簡易的なスクランブルをかけるライブラリーってありますか?
本格的なものでなくてかまわないのですが。
自分のデスクトップ検索に不用意に引っ掛からないようにしたいだけなので。
単純にbase64でも掛けておけとも考えたのですがもう少し冗長度を下げたいです。

108:デフォルトの名無しさん
09/01/24 10:07:24
>数学的思考法
1 答えはあるので、問題の条件を吟味して、解法を見抜いてしまう
2 大抵は厨房の幾何問題で解けてしまう
3 答え合わせをする

>数学者的思考法
1 たいていは答えがでないほうがおおい
2 くりかえされた手法はあっさりすてる
3 べつのみかたで問題をたてなおす

109:デフォルトの名無しさん
09/01/24 10:51:42
>>106
ダンケ

110:デフォルトの名無しさん
09/01/24 20:23:41
>>107
英数字のみならrot13とか
日本語文字混じるならurllib.quoteとか

111:デフォルトの名無しさん
09/01/24 20:57:33
>>107
zlibで圧縮

112:デフォルトの名無しさん
09/01/24 20:58:13
>>107
適当な定数で xor

113:デフォルトの名無しさん
09/01/24 23:13:15
かとるみてえかべ並らかぎみ

114:デフォルトの名無しさん
09/01/24 23:33:24
文字の境界を判別する処理ってどのように作りますか?

115:デフォルトの名無しさん
09/01/25 00:04:22
もうちょっと曖昧でない表現を頼む

116:デフォルトの名無しさん
09/01/25 00:55:39
文字/の/境界/を/判別/する/処理/ってどのように/作/りますか/?
もうちょっと/曖昧/でない/表現/を/頼/む

ということ
それとも

文字の/境界を/判別する/処理って/どのように/作り/ます/か/?
もうちょっと/曖昧でない/表現を/頼む

ということ


117:デフォルトの名無しさん
09/01/25 01:00:17
形態要素解析+Pythonでググっ鱈こんなのが出て来た
URLリンク(d.hatena.ne.jp)
URLリンク(d.hatena.ne.jp)
スレリンク(tech板:727-772番)
スレリンク(tech板)
URLリンク(www2.atpages.jp)
URLリンク(www.paken.org)


118:デフォルトの名無しさん
09/01/25 01:16:07
MeCab

119:デフォルトの名無しさん
09/01/25 01:20:39
>>115
エンコードされた日本語の文字の処理です。
文字列を分割したり置換するときに文字の境界を適切に判別しないと文字化け
が起こると聞いたので詳しく知りたいです。

120:デフォルトの名無しさん
09/01/25 01:44:24
>>119
Unicodeにすればおk

121:デフォルトの名無しさん
09/01/25 13:53:52
>>119
Ruby/Perl/PHPはそうらしいけどPythonは2.5以降なら大丈夫

122:デフォルトの名無しさん
09/01/25 15:37:59
Pythonの内部使用文字リテラルをUnicodeにするっていう
移行手順は比較的すんなりいったけど、↑の三言語はけっこうめんどくさい

123:デフォルトの名無しさん
09/01/25 17:22:45
そんなわけない。特にRubyは利用者のことを考えた
スムーズな移行方法をとってる。pythonより上。

124:デフォルトの名無しさん
09/01/25 17:24:21
kwsk plz

125:デフォルトの名無しさん
09/01/25 18:14:01
>>123
俺も知りたい

126:デフォルトの名無しさん
09/01/25 18:48:40
てーか、CSI(Code Set Independent)を墨守してI18N化したLLってRuby以外にあるのか?

127:デフォルトの名無しさん
09/01/25 19:12:27
Python3

128:デフォルトの名無しさん
09/01/25 19:25:47
CSIってBSDのCitrusとかでやってる奴だよな
PerlやPythonはUCSベースだからCSIではないっしょ

129:デフォルトの名無しさん
09/01/25 19:30:13
内部コードとして特定の文字コードが仮定できないと
現実的には不便極まりないように思えるが……


130:デフォルトの名無しさん
09/01/25 19:58:28
Ruby厨ってどうしてこんなに気持ち悪いの・・・

131:デフォルトの名無しさん
09/01/25 20:04:15
python厨のが気持ち悪いよ。日本で使ってる人いないのになんでつかうの

132:デフォルトの名無しさん
09/01/25 20:09:32
Rubyでもshebangのあとに
# -*- coding: utf-8 -*-
書いてるコード見るけど
書いた方が良いというか書くべきなんだよね?

133:デフォルトの名無しさん
09/01/25 20:10:50
内部使用文字リテラルとは無関係

134:デフォルトの名無しさん
09/01/25 20:12:51
誰か日本語処理の比較して
php5,perl6,python3,ruby1.9

135:デフォルトの名無しさん
09/01/25 20:14:26
>>104
遅くなりましたがどうもありがとうございました。

136:デフォルトの名無しさん
09/01/26 00:06:05
データの性質によって処理の内容を変える仕組みとは具体的にどういうことですか?

137:デフォルトの名無しさん
09/01/26 00:43:16
3 + 6 -> 9
'A'+'B' -> 'AB'


138:デフォルトの名無しさん
09/01/26 07:49:30
お勧めのOSを教えてください

139:デフォルトの名無しさん
09/01/26 08:17:50
FreeBSD

140:デフォルトの名無しさん
09/01/26 08:23:46
>>139
はあ?あなたもしかしてRuby厨ですか?

141:デフォルトの名無しさん
09/01/26 09:15:01
すまん
Rubyスレと間違えたw

142:デフォルトの名無しさん
09/01/26 10:10:24
PythonのUnicode文字列は、UTF-16とUTF-32の2種類あるよ。
UTF-32は、1 code point = 1文字 になってるけど、UTF-16だと
サロゲートペアのときに 2 code point = 1文字 になるから注意が必要。

この問題は、Windowsの〜W系APIとか、Javaや.NETの文字列も
同じ問題を抱えている。
というか、Windowsの〜W系APIとの親和性や、Javaや.NETでの
効率を考えて、UTF-16を許可しているという面もある。

143:デフォルトの名無しさん
09/01/26 10:11:06
「2種類ある」というのは、Pythonをビルドするときの設定で選べるって事ね。
Pythonを使うときに2種類から選べるわけではない。

144:デフォルトの名無しさん
09/01/26 12:59:19
sys.maxunicode

UCS-2かUCS-4かがわかる

145:デフォルトの名無しさん
09/01/26 13:21:19
しかし、なんでUnicodeみたいな糞仕様作ったんだろうな。

146:デフォルトの名無しさん
09/01/26 14:42:31
その前の仕様がShiftJISみたいなクソ仕様とかEUCみたいな
日本語と中国語の区別がつかない仕様とかISO-2022みたいな
無闇に拡張性ばかりある仕様とかそんなのばかりだったから

147:デフォルトの名無しさん
09/01/26 14:50:59
無理だって言ってるのに
2バイト固定長の文字コードにしようとしたから。

148:デフォルトの名無しさん
09/01/26 15:14:54
Rubyだけだよなあ、安全に文字コード扱える言語は。

149:デフォルトの名無しさん
09/01/26 15:57:44
もう20年も経ったんだからそろそろ見直すべき

150:デフォルトの名無しさん
09/01/26 16:02:44
YEN SIGN問題
Shift_JISではJIS X 0201における円記号 "\" が0x5Cに置かれている。
これをUnicodeのマッピングに合わせるとYEN SIGN (U+00A5) にマップされる。
しかし、0x5CはASCIIではバックスラッシュ "\" に相当し、
C言語などのエスケープシーケンスに使われる事から、
この文字のコードを変更すると問題が起きる。
そのためUnicodeを利用するアプリケーションはU+007F以下のコードに関しては
移動させないという暗黙のルールができている。
そうなると、Unicode環境では円記号がバックスラッシュの表示に
変わってしまうように思われるが、これは日本語用のフォントデータの
0x5Cの位置には円記号の字形を当ててしまうことで対処している。
これによって、それまでの文字コードを使用していたときと同じ感覚で
円記号を用いることができる。
この問題は日本語環境に限った事ではない。もともと、ISO646上で0x5Cを
含む数種の文字は自由領域(バリアント)として各国での定義を認めていた。
そのため、日本語以外でもASCIIでバックスラッシュに相当するコードに
異なる記号を当てているケースが多い。例えば、韓国ではウォン記号
(WON SIGN, U+20A9, "₩") である。


151:デフォルトの名無しさん
09/01/26 16:04:16
WAVE DASH - FULLWIDTH TILDE問題
JIS X 0221規定のJIS X 0208とJIS X 0221の対応表では、
波ダッシュはWAVE DASH (U+301C, "〜") に対応させているが、
マイクロソフトはWindowsのShift_JISとUnicodeの変換テーブルを作成する際に、
JIS X 0208において1区33点に割り当てられている波ダッシュ "〜" を、
Unicodeにおける全角チルダ (FULLWIDTH TILDE, U+FF5E, "〜") に割り当てたため不整合が生じる。
この結果、Mac OS等のJIS X 0221準拠のShift_JIS ⇔ Unicode変換テーブルをもつ処理系と、
Windowsとの間でUnicodeデータをやり取りする場合、文字化けを起こすことになる。
そこでWindows以外のOS上で動くアプリケーションの中には、CP932という名前で
マイクロソフト仕様のShift_JISコード体系を別途用意して対応しているケースが多い。
この原因とされているUnicode仕様書の例示字形の問題に関しては、
波ダッシュ#Unicodeに関連する問題を参照すること。
また、マイクロソフトは同様にEM DASH (U+2014, "—") をHORIZONTAL BAR (U+2015, "―") に、
DOUBLE VERTICAL LINE (U+2016, "‖") をPARALLEL TO (U+2225, "‖") に、
MINUS SIGN (U+2212, "−") をFULLWIDTH HYPHEN-MINUS (U+FF0D, "−") に
割り当てており、これらの変換時にも問題が起こる。Windows VistaやMicrosoft Office 2007に
付属するIMEパッドの文字一覧におけるJIS X 0213の面区点の表示は、上記の文字についても
JISで規定されているものと同じマッピングを使用している。


152:デフォルトの名無しさん
09/01/26 16:05:53
無理やり2バイトに当て嵌めようとしたとかそういうレベルじゃなくて
それ以前のもっと根源的な問題
(従来のいくつかの文字コードでの問題点がなんら改善されていない)

153:デフォルトの名無しさん
09/01/26 16:07:32
へんな文字コードをさらに増やしただけ

154:デフォルトの名無しさん
09/01/26 17:18:32
pythonがだめな言語であることがよくわかりました。

155:デフォルトの名無しさん
09/01/26 18:43:29
これから始めようと思ってるんだけど2.6と3.0どっちがいいの?

156:デフォルトの名無しさん
09/01/26 18:49:48
>>155
好き勝手できるのなら3.0



157:デフォルトの名無しさん
09/01/26 19:21:36
2.5

158:デフォルトの名無しさん
09/01/26 19:40:47
2.6

159:デフォルトの名無しさん
09/01/26 19:45:47
2.71828182845904523536

160:デフォルトの名無しさん
09/01/26 19:51:24
e

161:デフォルトの名無しさん
09/01/26 20:29:51
METAFONT乙

162:デフォルトの名無しさん
09/01/26 20:32:14
またruby厨が荒らしてるのか

163:デフォルトの名無しさん
09/01/26 21:17:09
またruby厨が荒らしてるのか

164:デフォルトの名無しさん
09/01/26 21:22:20
py乙

165:デフォルトの名無しさん
09/01/26 21:23:04
しかし、なんでUnicodeみたいな糞仕様作ったんだろうな。

166:デフォルトの名無しさん
09/01/26 21:25:40
python.jp のサイトの python ダウンロードリンクは
どう読んでも python 初心者向けなのに初心者用じゃない説明
日本語を扱うために別途 codec ダウンロードが必要な気がしてくる


167:デフォルトの名無しさん
09/01/26 21:32:25
「初めてのかたへ」とあるから「Pythonのダウンロード」行ってみると
URLリンク(www.python.jp)
ここの左側のコンテンツに目立つように
「日本語環境用インストーラ(Win32)・・・」
っていうのがあって嫌でも目に入ってくる
URLリンク(www.python.jp)
もうこれを入れなきゃ恥じマラ内みたいな

どっかに断り書きが一言でもあれば
不要だということが分かって良いのに

168:デフォルトの名無しさん
09/01/26 21:40:43
頼むから少しは>>2を見てくれ

169:デフォルトの名無しさん
09/01/26 21:51:57
馬鹿ですね分かります

170:デフォルトの名無しさん
09/01/26 21:53:57
頼むから少しは>>2を見てくれ

171:デフォルトの名無しさん
09/01/26 21:56:18
>>167
まあそれは言いがかりだけど
ダウンロードページ左のコンテンツの内容が古過ぎなのは同意
Python for Windows Extensions なんか見ても
URLリンク(www.python.jp)
2.3までしかないしww
やる気あんのか?とは思う


172:デフォルトの名無しさん
09/01/26 21:57:19
頼むから少しは>>2を見てくれ

173:デフォルトの名無しさん
09/01/26 22:03:28
日本語のエンコードについて教えてください。
お願いします。

174:デフォルトの名無しさん
09/01/26 22:06:01
はじぱい 第2版 (2004/11) \5,040
URLリンク(www.amazon.co.jp)
はじぱい原著 3rd Edition (2008/07/16) $26.39
URLリンク(www.amazon.com)

日本語の第3版って安価で出る予定ある?

175:デフォルトの名無しさん
09/01/26 22:28:20
またruby厨が荒らしてるのか

176:デフォルトの名無しさん
09/01/26 22:34:32
>>144
>>> import sys
>>> sys.maxunicode
65535

177:デフォルトの名無しさん
09/01/26 22:46:27
>maxunicode
>Unicode文字の最大のコードポイントを示す整数。この値は、オプション設定
>でUnicode文字の保存形式としてUSC-2とUCS-4のいずれを指定したかによって
>異なります。

178:デフォルトの名無しさん
09/01/26 22:50:36
UCS-2 だな

179:デフォルトの名無しさん
09/01/27 01:37:32
for a in range(10):
return a
でエラーが出るのはなぜですか?


180:デフォルトの名無しさん
09/01/27 01:51:55
SyntaxError? IndentationError?

181:デフォルトの名無しさん
09/01/27 07:00:08
またruby厨が荒らしてるのか

182:デフォルトの名無しさん
09/01/27 09:51:27
>>180
SyntaxErrorです。

183:デフォルトの名無しさん
09/01/27 09:59:39
>>> for a in range(10):
... return a
...
File "<stdin>", line 2
SyntaxError: 'return' outside function

184:デフォルトの名無しさん
09/01/27 11:57:07
>>182
意味がわかりません。
>>183
なんですかそれ?

185:デフォルトの名無しさん
09/01/27 15:36:37
>>184
SyntaxErrorです。

186:デフォルトの名無しさん
09/01/27 15:58:28
for a in range(10):
yield a
でエラーが出るのはなぜですか?

187:デフォルトの名無しさん
09/01/27 16:54:47
>>185
エスワインタックスエッロラー?
なんですかそれ?

188:デフォルトの名無しさん
09/01/28 13:24:24
++++[>++++[>+++++>++++>+++++>+++++<<<<-]<-]>>-----.>+.>+++.>-.

189:デフォルトの名無しさん
09/01/29 02:22:55
Python好きなんだけど命名規則はそろえてほしい

190:デフォルトの名無しさん
09/01/29 03:16:26
関数やメソッド名にCamelcase使っちゃいけないのはどうして?
_を使うよりもタイプしやすいんだけどな。

191:デフォルトの名無しさん
09/01/29 03:54:23
自分しか使わないんだったら使えばいい

192:デフォルトの名無しさん
09/01/29 05:57:24
BeautifulSoupとかキャメルなのが気になる
あと_で区切るとこと区切らないとこってなんか決まりある?
dict.has_keyは区切ってるのにdict.iterkeysとか区切らないのはなんで?

193:デフォルトの名無しさん
09/01/29 08:21:54
きちんとした命名規則に則ってるのは3.0のライブラリからだろ
2.Xまでは標準ライブラリですらバラバラだし
BeautifulSoupとかの野良ライブラリは従う必要ない
has_keyは3.0で廃止だから存在を忘れろ

194:デフォルトの名無しさん
09/01/29 16:07:38
python でオブジェクトがある属性を持つかどうかって
どのようにして調べるのが良いのでしょうか?
__dict__ にしてキーを持つかどうかですか?

195: ◆UNKOVIP9RM
09/01/29 16:15:55
>>194
下駄を履けば良いんじゃない

196: ◆UNKOVIP9RM
09/01/29 16:25:34
>>195
おまえもしかしてgetattrのことか?

197: ◆UNKOVIP9RM
09/01/29 16:26:12
>>196
だったらなんだよカス

198:デフォルトの名無しさん
09/01/29 16:35:38
↑こういうのって草民ってやつ?
ほんとうにきもちわるいんだねはきそう

199:デフォルトの名無しさん
09/01/29 18:01:33
モンティパイソン精神を忘れるな!

200:デフォルトの名無しさん
09/01/30 06:25:13
pydoc で関数の引数に対する説明も表示させるって
できるんでしょうか?関数を定義するときに
それぞれの引数に対するドキュメント文字列(docstring)を
設定できればいいなと思っているのですが。

201:デフォルトの名無しさん
09/01/30 07:02:28
func("ほげほげほげほげ", ["はげはげはげはげ", "長い文字列長い長い"], xxx="シシシシシシシシシシ", yyy="パパパパパパパパパパパパパパ"

のように、しばしば文や関数呼び出しが長くなることがありますが、
これは途中で改行していいんでしょうか?というのは Python って
インデントが意味を持つので、じゃぁ適当に改行したとして
インデントはどうすりゃいいんだよ!と悩んでいます。

202:デフォルトの名無しさん
09/01/30 08:06:58
>>> '
SyntaxError: EOL while scanning single-quoted string
>>> "
SyntaxError: EOL while scanning single-quoted string
>>> """
"""
'\n'
>>> (
    )
()
>>> [
    ]
[]
>>> {
    }
{}
>>> int(
     1
     )
1

203:デフォルトの名無しさん
09/01/30 08:47:00
>>> def hoge(fuga, hage):
... '''hoge(fuga:FUGA, hage:HAGE)HOGE'''
... return 1
...
>>> help(hoge)
Help on function hoge in module __main__:

hoge(fuga, hage)
hoge(fuga:FUGA, hage:HAGE)HOGE


204:デフォルトの名無しさん
09/01/30 08:51:44
>>201
問題なし
>>> def func(a, b, xxx='hoge', yyy='fuga'):
... print a, b, xxx, yyy
...
>>> func("ほげほげほげほげ", ["はげはげはげはげ", "長い文字列長い長い"], xxx="シ
シシシシシシシシシ", yyy="パパパパパパパパパパパパパパ")
ほげほげほげほげ ['\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\
xb0', '\x92\xb7\x82\xa2\x95\xb6\x8e\x9a\x97\xf1\x92\xb7\x82\xa2\x92\xb7\x82\xa2'
] シシシシシシシシシシ パパパパパパパパパパパパパパ
>>> func("ほげほげほげほげ", ["はげはげはげはげ",
... "長い文字列長い長い"
... ], xxx="シシシシシシシシシシ",
... yyy="パパパパパパパパパパパパパパ")
ほげほげほげほげ ['\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\
xb0', '\x92\xb7\x82\xa2\x95\xb6\x8e\x9a\x97\xf1\x92\xb7\x82\xa2\x92\xb7\x82\xa2'
] シシシシシシシシシシ パパパパパパパパパパパパパパ
>>>

俺はそんなことよりもインタラクティブモードで
リストの日本語が出ないことの方が問題だと思っている

205:デフォルトの名無しさん
09/01/30 13:02:15
>>> ["はげはげ"]
['\x82\xcd\x82\xb0\x82\xcd\x82\xb0']
>>> print str(_).decode("string-escape")
['はげはげ']
>>> [u"はげはげ"]
[u'\u306f\u3052\u306f\u3052']
>>> print str(_).decode("unicode-escape")
[u'はげはげ']

3.0なら
>>> ["はげはげ"]
['はげはげ']

206:デフォルトの名無しさん
09/01/30 13:17:36
thx!

207:デフォルトの名無しさん
09/01/30 13:20:16
str() と repr() はどうちがうのですか?

208:デフォルトの名無しさん
09/01/30 13:24:35
TerboGearでわからない所があるので、教えてください。

209:デフォルトの名無しさん
09/01/30 13:34:14

URLリンク(python.g.hatena.ne.jp)
URLリンク(jutememo.blogspot.com)
URLリンク(jutememo.blogspot.com)
URLリンク(jutememo.blogspot.com)
URLリンク(d.hatena.ne.jp)
URLリンク(programming-magic.com)
URLリンク(www.python.jp)

210:デフォルトの名無しさん
09/01/30 13:35:21
>>208
難題?

211: ◆UNKOVIP9RM
09/01/30 13:47:02
>>210
なんだい?


とかけてみた

212: ◆UNKOVIP9RM
09/01/30 13:54:10
モンティパイソン精神ってなんだよ。

見たけど、人生適当で良いんだなぐらいしか思わなかったんだけど。

213:デフォルトの名無しさん
09/01/30 14:07:16
人生は航海の連続です

214:デフォルトの名無しさん
09/01/30 14:13:00
・人の中で浮いてしまう
・幼児期は他の子と遊ぶより一人遊びが好きだった
・同年齢の人と波長が合わない
・人との接し方のマナーやルールがよくわからない
・意図せず人を傷つけて嫌われてしまう
・暗黙のルールにいつまでたっても気づけない
・変なところで積極的すぎる
・自分の関心のあることだけを一方的にしゃべり、しゃべり終えたら満足して相手の話をきけない
・会話が長続きしない
・話し方が簡潔でなく回りくどい
・曖昧なこと、ファジーなことが苦手
・細かいところにこだわる
・独り言を言う
・駄洒落や語呂合わせが好き
・融通がきかない
・電車、河や水の流れ、風にゆれる草木、雲などを延々と見続ける
・こだわりが強すぎる
・柔軟性に乏しい
・予想外の事態に対処ができない
・コレクション癖が普通より強い
・機械的記憶力が優れていることが多い
・自分の行動パターンに沿えない時は不機嫌になる
・ものまね遊びが好き
・ビデオやDVDに録画しまくって見ない
・模倣して習得することは苦手だが、模倣なしに自分一人でやると出来る
・独学でないと学べない

215: ◆UNKOVIP9RM
09/01/30 14:36:55
>>214
これがモンティの精神か

なるほど

216:デフォルトの名無しさん
09/01/30 14:38:20
わかってんじゃん

217:デフォルトの名無しさん
09/01/30 15:32:57
TurboGearsとpysqliteを組み合わせて使っているのですが、
tg-admin sql create とコマンドプロンプトでコマンドを打っても、
This command to be run from inside a project directoryと出て、
devdata.sqliteを生成できません。どうしたらいいでしょうか?

218:デフォルトの名無しさん
09/01/30 15:57:38
超初心者ですがGoogleカレンダーみたいなWebアプリを
作りたいんですが・・・・
カレンダーの日付の場所をクリックすると吹き出しみたいのが
出てきて、予定の詳細を入力できるような感じです。


Pythonだけで作れるんでしょうか?
JavaScriptとかと組み合わせないと無理なんでしょうか?



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5316日前に更新/164 KB
担当:undef