1 :
デフォルトの名無しさん 転載ダメ©2ch.net
2016/02/18(木) 12:33:22.06 ID:S96kZ0X7
2 :
デフォルトの名無しさん
2016/02/18(木) 12:35:26.14 ID:S96kZ0X7
●py3でshift-jisで表示できない機種依存文字をプロンプトに出力(解決)
丸1日かけてようやく解決した
環境:win10+VS2015+python3.5-64bit
str=”ハートなどの機種依存文字”
print(str)とした場合
・[デバッグ開始]だとpyhonのプロンプトが起動する(エラー*1)
エラー回避:print(str.encode("cp932","replace")(文字化け)
文字化け回避:ソース冒頭にos.system("chcp 65001")を記述
これにより、utf-8でプロンプトが起動する。その時にutf-8を規定に設定*2すると
os.system("chcp 65001")をしなくてもよくなる
・[デバッグ無しで開始]だとc:\windows\system32\cmd.exeが起動する(エラー*1)
上記と同じ
・[Excute Project in Python Interactive](問題なく表示される)
・バッチ経由で起動(文字化けせず表示される)
-run.bat-
chcp 65001
d:\Python35\python.exe PythonApplication1.py
pause
*1:cp932 cant encodeなんちゃら
*2:chcpがutf-8の状態の時に、右クリック>プロパティ>OK
で(規定とは表示されないが)規定に確定される
その他pythonやり始めて3日目で気づいたこと
pipでインストールするならVS上でした方がお手軽(Pillowとか)
3 :
デフォルトの名無しさん
2016/02/18(木) 12:35:52.03 ID:S96kZ0X7
ネットにはデマ情報がいっぱい残ってるので
正しい情報をメモ
cmd.exe
UTF-8
chcp 65001
cmd.exe のショートカット リンク先 %SystemRoot%\system32\cmd.exe /c start "UTF-8" cmd
このショートカットを起動してプロパティからフォントの設定(※ボールドフォントにチェックを入れる)
レジストリ \\HKEY_CURRENT_USER\Console\UTF-8 に
FaceName REG_SZ 適当
FontWeight REG_DWORD 0x0190
FontSize REG_DWORD 0x00120000
CodePage REG_DWORD 65001
http://nazochu.blogspot.jp/2011/08/blog-post_26.html 4 :
デフォルトの名無しさん
2016/02/18(木) 12:40:08.04 ID:S96kZ0X7
5 :
デフォルトの名無しさん
2016/02/18(木) 12:44:48.83 ID:S96kZ0X7
>>2-3 あと Git についてくる bash (mintty) が UTF-8 に対応してて便利
6 :
デフォルトの名無しさん
2016/02/19(金) 13:56:05.81 ID:hw/X0Y/j
7 :
デフォルトの名無しさん
2016/02/19(金) 19:05:59.22 ID:wHiD4SHT
>いちもつ
8 :
デフォルトの名無しさん
2016/02/19(金) 19:13:24.11 ID:5RH0Tfsb
anacondaデカすぎなんですが
9 :
デフォルトの名無しさん
2016/02/19(金) 19:56:16.23 ID:daYsQTki
10 :
デフォルトの名無しさん
2016/02/19(金) 20:31:53.62 ID:4zpSEqGj
11 :
デフォルトの名無しさん
2016/02/19(金) 20:32:20.30 ID:4zpSEqGj
Ruby、それは至高の存在
12 :
デフォルトの名無しさん
2016/02/19(金) 21:28:49.46 ID:4zpSEqGj
13 :
デフォルトの名無しさん
2016/02/19(金) 22:16:27.14 ID:ZJSn2tej
numpyについて質問させていただきます。
mat = [[1,2,3], [4,5,6]]
という2×3の行列を用意します。
この行列の0行めを2倍、1行めを3倍したいのですが、行列形式
v = [2, 3]
というベクトルを用意して、
out=mat*v
のように行列演算の形で表現するにはnumpyではどうすれば良いでしょうか。
14 :
デフォルトの名無しさん
2016/02/20(土) 02:06:09.19 ID:749NHuwC
vを列ベクトルで表現しましょう
v[:, np.newaxis]とすればできるはずです
15 :
デフォルトの名無しさん
2016/02/20(土) 08:20:14.66 ID:2LuQZdCE
beautifulsoup4の日本語ドキュメントが404になったそうな
きっと質問が増えるでしょうなあ
16 :
デフォルトの名無しさん
2016/02/20(土) 08:27:24.06 ID:MM5PC9JO
目的達成のため見様見真似でプログラマ様の書いたpythonを触ってみている初心者未満の者です。
http://blog.wizaman.net/archives/427 このページの下のほうのpythonコードを利用しようと思ったのですが、一つ目が終了後二個目の動画の作業を開始してくれる気配がありません。
うまく繰り返してくれないようなのですが対策をご存知の方がおられましたらどうかご教示よろしくお願いします。
17 :
デフォルトの名無しさん
2016/02/20(土) 08:49:53.99 ID:2LuQZdCE
わざわざAviUtlをインストールして試す気はさらさらないんで聞くけど
最後に出力されるprintはどれ?
18 :
デフォルトの名無しさん
2016/02/20(土) 11:54:11.40 ID:MM5PC9JO
>>17 >>わざわざAviUtlをインストールして試す気はさらさらない
もちろんでございます!
>>最後のprint
どの辺からおかしいのかそれで判明しうるわけですね!
その言葉をうけ最後のprintを読む為に、すぐ消えてしまうウィンドウを記録すべく画面動画キャプチャして調べたところ、
一つ目の変換のあと二つ目をスキャンしてる途中でエンコードを開始し、スキャンが終わっていない為にエンコードの開始に失敗し終了しているようでした。
そのため該当箇所にtime.sleep(50.000)を入れてみたところ大体希望通りの動作をするようになりました。
17さんの一言で無事解決いたしました。ありがとうございました。
19 :
デフォルトの名無しさん
2016/02/20(土) 17:11:31.34 ID:C1WV++I/
Pythonでsplitを使いリストにして取得したデータの先頭に邪魔な文字がひっついてきます
[u'取得したデータ']
[u'取得したデータ']
[u'取得したデータ']
...
って感じで出てきてこの「u」ってのが最高に邪魔です。
どうしたらよいんでしょうか・・・
20 :
デフォルトの名無しさん
2016/02/20(土) 17:20:01.98 ID:nWx+J+IP
21 :
デフォルトの名無しさん
2016/02/20(土) 17:52:06.31 ID:C1WV++I/
22 :
デフォルトの名無しさん
2016/02/20(土) 18:14:05.74 ID:9+Np4YM9
Cloud9で3系列使うことってできるの?
23 :
デフォルトの名無しさん
2016/02/20(土) 21:33:04.54 ID:tfd876FG
>>15 今度オライリーからスクレイピング本が出るのと何か関係があるんですかね?
24 :
デフォルトの名無しさん
2016/02/21(日) 01:16:45.03 ID:GEHiOhH4
>>22 tutorialに書いてあるから読めよ
マニュアルも探せない奴があんなもの続けられると思うなよ
25 :
デフォルトの名無しさん
2016/02/21(日) 07:19:47.50 ID:nTLfD9UI
26 :
デフォルトの名無しさん
2016/02/21(日) 10:42:40.74 ID:zmvsu5mb
27 :
デフォルトの名無しさん
2016/02/21(日) 12:07:18.49 ID:sfJNcPol
なんの拍子にこうなったか、pyファイルを右クリックしてもedit with idleが出なくなったし、昨日まで正常に動いてたpyファイルをダブルクリックしてもsyntax error…
pythonなんか嫌いだ
28 :
デフォルトの名無しさん
2016/02/21(日) 12:22:22.33 ID:sfJNcPol
パソコン再起動したらうまくいくようになった
…pythonなんか嫌いだ
29 :
デフォルトの名無しさん
2016/02/21(日) 12:52:21.01 ID:vvUk+ASg
PythonじゃなくてOSが糞なだけだろ
30 :
デフォルトの名無しさん
2016/02/21(日) 13:44:53.43 ID:7pFSlpBi
素人がパソコン壊した時に限って何もしてないって言うからな
(Windowsは本当に何もしなくても壊れるけどネ)
31 :
デフォルトの名無しさん
2016/02/21(日) 14:40:58.87 ID:RrLREyF7
Macだったらものすごくやる気と効率が上がるんじゃないかと幻想は抱いてるわ
32 :
デフォルトの名無しさん
2016/02/21(日) 20:34:58.09 ID:nSeDHc6M
>>26 Pythonやりたいんです(`・ω・´)
33 :
デフォルトの名無しさん
2016/02/21(日) 20:35:49.65 ID:CQH7KLjp
しかしmacbookはwindowsノートと比べて高い・・・
34 :
デフォルトの名無しさん
2016/02/21(日) 20:35:54.84 ID:mOR+hll2
それは病気だよ
35 :
デフォルトの名無しさん
2016/02/22(月) 06:05:48.36 ID:Ce5mTODY
抽象基底クラスABCがありABCを継承しメソッドを定義したクラスXがあります。
クラスXを継承し一部のメソッドだけをオーバーライドしてクラスYを作りたいのですが、この場合YでもABCの全てのメソッドを実装するものなんでしょうか?
しなくても動いてはいるんですが・・・IDE変えたら注意が出て気になりました。
36 :
デフォルトの名無しさん
2016/02/22(月) 12:18:22.84 ID:Y1bHL8fN
>>32 割とマジでJuliaはPythonよりUnicodeの扱いが親切だと思うω
37 :
デフォルトの名無しさん
2016/02/22(月) 12:19:27.13 ID:Y1bHL8fN
38 :
デフォルトの名無しさん
2016/02/22(月) 18:33:39.92 ID:QLpZ1xcH
39 :
デフォルトの名無しさん
2016/02/23(火) 20:13:02.11 ID:gZhXf5zg
>>8 minicondaをインストールしてあとは必要なライブラリだけ
condaを使ってインストールするといいですよ
40 :
デフォルトの名無しさん
2016/02/27(土) 18:37:02.21 ID:DcvSI5ef
pythonからGmailを操作してはてなブログへと投稿しているのですがブログを見ると文字化けが起きます。
自分ではてなブログ用のGmailを作成すると文字化けがおこならいのでpythonの部分に問題があると思っています。
以下に使用しているプログラムを記載しますので、どうすれば文字化けが直るかアドバイスをください。
http://ideone.com/bbtjqu 41 :
デフォルトの名無しさん
2016/02/27(土) 18:45:15.19 ID:pjbHtYaF
本文とタイトルの文字コード指定してないけど
指定しなくていいものなのか?
42 :
デフォルトの名無しさん
2016/02/27(土) 18:51:49.13 ID:DcvSI5ef
文字コード指定なしでGmailの送信履歴ではちゃんと日本語で送信できます。
しかし、はてなブログで文字化けするのはそこが原因かもしれませんね。
43 :
デフォルトの名無しさん
2016/02/27(土) 20:12:37.59 ID:oBoQ6DJP
はてなブログにはUTF-8じゃなくてiso-2022-jpで送らないとだめとか条件はない?
MIMETextは_charsetキーワードでエンコードを明示しないとasciiかutf-8にするはず
44 :
デフォルトの名無しさん
2016/02/27(土) 20:26:39.86 ID:NGoIxJDI
いやマジでここ最近オッパイソンさんのリリースラッシュは何なの?
3月にも出るし毎月数冊出てねえか?www
45 :
デフォルトの名無しさん
2016/02/27(土) 21:39:44.70 ID:72orIAoJ
>>8 minoconda は?
参考
pyenvとminiconda3で数値計算環境構築 - Qiita
http://qiita.com/edvakf@github/items/feb7f0f077d3830725c6
※
Python(xy)はもっとデカイぞっと
あとEnthought Canopy
46 :
デフォルトの名無しさん
2016/02/27(土) 21:41:22.69 ID:72orIAoJ
47 :
デフォルトの名無しさん
2016/02/27(土) 21:45:58.67 ID:kT2Kz8qX
ハードディスクの場所を指定するのにスラッシュじゃなくて円マーク¥使ってるんだけど、
いつの間にか¥が/に書き換わってる事がある。
なんかそういう事ってあります?
48 :
デフォルトの名無しさん
2016/02/27(土) 21:51:33.81 ID:kT2Kz8qX
あ、ごめんなさい
スラッシュが¥に変わるんだ
49 :
デフォルトの名無しさん
2016/02/28(日) 14:01:00.07 ID:PW8h2gxN
パス区切りを、/ で書いておいて、
Windows環境なら自動的に、\ に変わるのかな?
確か、Ant でもそういうやり方だった
50 :
デフォルトの名無しさん
2016/02/28(日) 15:44:34.06 ID:svY+4hTd
リストかどうかを調べるときにisinstance(arg, list)と書くと思うのですが
functionかどうかを調べたい時はどう書くのでしょうか?
51 :
デフォルトの名無しさん
2016/02/28(日) 15:53:52.93 ID:JV5n/VHC
52 :
デフォルトの名無しさん
2016/02/28(日) 15:54:28.67 ID:kYd0kHZJ
isinstance(arg, def)
53 :
デフォルトの名無しさん
2016/02/28(日) 15:54:58.63 ID:grWI4Lyl
hasattr(arg, '__call__')
typesモジュールにFunctionTypeってのがあるが
あれは直感的でないので使用すべきでない
54 :
デフォルトの名無しさん
2016/02/28(日) 16:03:03.43 ID:svY+4hTd
ありがとうございます
助かりました
55 :
デフォルトの名無しさん
2016/03/01(火) 12:06:38.17 ID:lOkufTHc
list1 = [
[1,1,1,1,1],
[1,1,0,1,0],
[1,1,1,0,1],
]
このリストの[0][2]を左上の頂点と捉えて右下の[2][4]までの範囲を別の変数に入れて[
[0,1,0],
[1,0,1],
]
というリストを作る簡単な方法を教えてください
56 :
デフォルトの名無しさん
2016/03/01(火) 12:08:43.38 ID:lOkufTHc
ミス
[0][2]は[1][2]の間違え
57 :
デフォルトの名無しさん
2016/03/01(火) 14:30:18.54 ID:mm4Of2PS
>>55 その例だと [L[2:] for L in list[1:]]
[a][b]から[c][d]までの範囲が欲しい場合 [L[b:d+1] for L in list1[a:c+1]] になる
意味調べる場合はスライス、内包表記あたりで
58 :
デフォルトの名無しさん
2016/03/01(火) 15:41:54.11 ID:5hWIshAp
59 :
デフォルトの名無しさん
2016/03/04(金) 00:40:04.85 ID:HJiU7/Cc
さっき、Anacondaの最新バージョンである2.5.0(64-bit python3.5.1)を入れたの
だけど、それにコマンドプロンプトがデフォルトで入っていないので、pip installが
出来なくて困っています。ipythonやインタラクティヴシェルは入っています。
前のAnacondaのバージョン(python2.7で使っている)であれば、ipythonや
対話シェルからq()やquit()で、普通に、コマンドプロンプトに戻れて、そこから
pip installなどが出来たのになぜなのでしょうか。
普段使っているコマンドプロンプトはpython2.7用になっているので、そこから
python3.5.1用のpip installも出来ません。コマンドプロンプトをpythonのヴァージョン
ごとに切り替えることができるのかもしれないけど、その方法も分かりません。
どなたか、知っている人がいたら教えて下さい。
よろしくお願いします。m(__)m
60 :
デフォルトの名無しさん
2016/03/04(金) 00:40:26.96 ID:HJiU7/Cc
61 :
デフォルトの名無しさん
2016/03/04(金) 00:42:36.44 ID:xJbL+GbX
なに、そこのアマゾンページで悪口書いとけばいいの?
売れないからここで宣伝してるんだよね
62 :
デフォルトの名無しさん
2016/03/04(金) 00:44:20.90 ID:HJiU7/Cc
>>60にある
>>815は、関係ないです。
別のスレに書いたものなので…
しばらく来てなかったから、スレ違いのところに書いてしまった。
63 :
デフォルトの名無しさん
2016/03/04(金) 00:47:38.04 ID:HJiU7/Cc
>>61 宣伝じゃないって、思い込み激しいな。
今日、これを使って3系に久しぶりにトライしたのだけど、最新Anaconda+3系で
入れると、それにコマンドプロンプトが見つからないので3系のpip installが
出来なくて、困っていると何回も書いているような、素人ですよ。
64 :
デフォルトの名無しさん
2016/03/04(金) 00:52:27.92 ID:HJiU7/Cc
普通に考えれば、今日が発売日になっているような新刊が売れているとか、
売れてないとか、ないんじゃないの。プログラミングの本で。
村上春樹の小説じゃないんだからw
本当、pythonは3系への移行がスムーズに出来ない言語だな。
3系自体は、そこそこよさそうなんだけれど…。
65 :
デフォルトの名無しさん
2016/03/04(金) 00:54:21.44 ID:KJ+KAEFc
Python関係ないところがわかってなさそうだな
コマンドプロンプトは独立したプログラムで
そこからVer2やらVer3を呼び出してるだけ
でお前のところはVer2を呼び出す設定になってる
Ver3のコマンドプロンプトなんてものはない
だから設定を書き換えろ
66 :
デフォルトの名無しさん
2016/03/04(金) 01:01:52.17 ID:HJiU7/Cc
>>65 その通りです。外回りの設定がややこしいんだよね、Pythonは…
ありがとうございます。あとで、調べますけど、Ver3をコマンド
から呼び出す設定に変える方法、書き換える方法が、そもそも
分からないのですけど。調べますが。
でも、3Verを呼び出せるように出来たら、今度は2Verが呼び出せなく
なると思うので、併用か、スイッチ切り替えで2系と3系を両方
気楽に使いたいんだよね。仮想環境でいいのかな。はあー。
どちらかというと、まだ2系主流で使うと思うので…。
けど、コマンドプロンプトは、基本、一つのVerでしか使えないのか、
ということは分かりました。m(__)m
67 :
デフォルトの名無しさん
2016/03/04(金) 01:04:09.11 ID:K5DVAqik
日付のディレクトリ作る処理が欲しいんだけど
その場合の変数って
どんな感じで定義すれば良いの?
68 :
デフォルトの名無しさん
2016/03/04(金) 09:31:06.55 ID:7Zl+7QrX
import datetime
today=datetime.datetime.now()
strdate = today.strftime( '%Y-%m-%d %H:%M:%S')
print strdate
69 :
デフォルトの名無しさん
2016/03/04(金) 09:32:08.64 ID:LYq4M8fM
>>66 なんも分かってねえじゃんw
神聖の馬鹿っぽいね
誤字じゃないよ
ほんと神聖
尊すぎて直視できないw
70 :
デフォルトの名無しさん
2016/03/04(金) 11:08:08.95 ID:hYGhQ4CE
環境変数の設定変えるだけじゃないの
71 :
デフォルトの名無しさん
2016/03/04(金) 11:21:31.53 ID:7Zl+7QrX
超初心者向けなんだからそれぐらい知らなくてもむしろ普通だと思うが。
逆にその辺わかってる様な人はこのスレ必要ないだろうし。
72 :
デフォルトの名無しさん
2016/03/04(金) 11:23:54.80 ID:oZSFBsGx
2と3を両方入れて使い分けるだけなら
python2 python3 両方
でググったら一番上にやり方出てきたけど
73 :
デフォルトの名無しさん
2016/03/04(金) 12:13:07.36 ID:W+1TyEEC
socketで受信して随時プロンプトに出力してるんですが、
同時に指定した文字列を入力して送信したいんですが
curses使わないとダメですか?
74 :
デフォルトの名無しさん
2016/03/04(金) 13:53:26.85 ID:4aC8Jy9P
Linuxでは、端末(シェル)を起動すると、
bashなどのシェルアプリ(プロセス)が起動される
起動したシェルは、そのシェル個別の環境変数を持っていて、
異なるシェルを起動すれば、その環境変数は異なる(共有しない)
シェル変数を、export して環境変数にすれば、
そのシェルから起動した子プロセスへ、環境変数は継承される
シェル内で、コマンドを書くと、
そのコマンドは環境変数PATHの順で、探索される
python-2.7.11 を使っているなら、
export PYTHON_HOME=/usr/local/python-2.7.11
export PATH=$PATH:$PYTHON_HOME/bin:
python-3.5.1 を使っているなら、
export PYTHON_HOME=/usr/local/python-3.5.1
export PATH=$PATH:$PYTHON_HOME/bin:
75 :
74
2016/03/04(金) 13:55:05.84 ID:4aC8Jy9P
74の続き
対話シェルにて、bashが起動されるたびに、
~/.bashrc が読み込まれるので、ここで環境変数を設定するか、
この中の最後の方に、
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
と書いてあり、~/.bash_aliases ファイルがあれば、
それを読み込むので、ここに個人用の設定を書く
設定のサンプルは、bash-doc パッケージの、
/usr/share/doc/bash/examples/startup-files
/usr/share/doc/bash-doc/examples
76 :
デフォルトの名無しさん
2016/03/05(土) 03:48:14.69 ID:ppTUK35o
http://blog.livedoor.jp/hamu_nbr/archives/39841935.html Windows上でPython 2.xと3.xを併用する:インタプリタの導入および
pip, virtualenvのインストール
「私はWindows上にPython 2.7と3.xをインストールし、それらを使い分けています。
しかし、安易にパッケージを導入してきたためか、不具合が生じるようになりました。
そこで、思い切ってPython関連のソフトウェアを一旦削除し、Python 2.7と3.xが
共存する環境を再構築することにしました。
本記事では、その手順について覚え書きを兼ねてまとめます」
>>72 言われた通り、調べてみたところ上記のものがありました。
たぶん、Pythonの2.7.Xヴァージョンを使っている場合は、
「pip2.7 install モジュール名」 と、コマンドプロンプトで入力し、
Pythonの3.5.Xヴァージョンを使用している場合は、
「pip3.5 install モジュール名」 と、コマンドプロンプトで入力すれば
指定したPythonのバージョンにpip installが出来ているのかなと。
77 :
デフォルトの名無しさん
2016/03/05(土) 03:48:48.53 ID:ppTUK35o
あとは、conda で python の環境つくり というのもあって、
http://gist.github.com/aphlysia/d5fcee79ff81b8272faf 「プログラミングをしていると、いろいろなバージョンの環境を行ったり
来たりしたくなることがあります。たとえば言語処理は python 2 へ
nltk を入れてやりたい。シミュレーションは python 3 へ numpy 入れてやりたいとか。
そういうふうに言語やモジュールのバージョンをいろいろ組合せた環境を
気軽に切り替えられると便利です。実際そういうことを可能にするツールは
たくさんあります。virtualenv, pyenv など。
ここで紹介する conda というツールもその1つです。
virtualenv などでは、モジュールを入れるときは通常の python の流儀で
インストールするのですが、インストールがうまくいかないというのはよくあることです。conda ではあらかじめビルドされたものを入れるので、楽です。もちろん conda に用意されていないモジュールもありますが、そういうのは pip 等通常の方法で入れて共存できます。
ではさっそく conda で python の環境を作る方法です。」
と紹介されていました。
78 :
デフォルトの名無しさん
2016/03/05(土) 08:28:12.79 ID:ppTUK35o
pip3.5 install モジュール名 という風に、pythonのバージョンを指定して
コマンドプロンプトで入力すれば、その指定バージョンにpipインストールされるん
じゃないかと書いたけど、
実際に自分でその方法を試してみると、インストールされている表示は出て、
環境パスを設定してあるpython3系の方のディレクトリの方に
pip3.5 install モジュール名(twitter)で指定したモジュールがインストール
されているようなのだけど、でも、それを確認するためにpython3.5.1の方の
ipythonで、import twitterをしてみると、入らないんだよね。
2系のpythonだと、普通にimport twitterが出来る。つまり、その3系の
カレントディレクトリにはtwitterモジュールがインストールされていない
らしい。pwd でカレントディレクトリが出るけど、ユーザー名のところまで
しか表示されない。
たぶん微妙に、pip3.5 install モジュール名 でインストールされている
場所がずれているような感じがする。2系の方は普通にimport twitterが入って
問題ないのだから…。まあ、API関連のモジュールは使う予定はないので、
別にいいのだけど、でも、pipで3系のバージョン指定で、ちゃんと入れられる
ようにしないと、今、Anacondaでデフォルトで入っているモジュールしか使えない
感じがする。まあ、それでも、結構使えるのだけど…
79 :
デフォルトの名無しさん
2016/03/05(土) 08:48:56.66 ID:OuxWCN0r
・質問したいなら要点を簡潔に
・女々しい愚痴はアロエリーナに言え
・condaみたいな発展的なツールはよく分かってない奴が使うものじゃない
・どこかの記事を読んで結果がおかしいのなら、その記事を書いた奴に質問しろ
ここはそいつのケツを拭くところじゃねえんだ
80 :
デフォルトの名無しさん
2016/03/05(土) 09:44:11.61 ID:ZCCa5WO9
最小の部分から検証しろ
基本だ
まずAnacondaもpython2も3もアンインストールしてまっさらな環境にしろ
次にpython2.7を入れろ
コマンドプロンプトでpython2と打って起動するか確かめろ
コマンドプロンプトでpip2と打って起動するか確かめろ
次にpython3.5を入れろ
コマンドプロンプトでpython3と打って起動するか確かめろ
コマンドプロンプトでpip3と打って起動するか確かめろ
コマンドプロンプトでpython2と打って起動するか確かめろ
コマンドプロンプトでpip2と打って起動するか確かめろ
コマンドプロンプトでpip2 install twitterと打ってインストールできるか確かめろ
(ipythonでなく)python2を起動してimport twitterできるか確かめろ
コマンドプロンプトでpip3 install twitterと打ってインストールできるか確かめろ
python3を起動してimport twitterできるか確かめろ
ここまでできたらその環境で1年生活しろ
1年後anacondaをインストールしろ
81 :
デフォルトの名無しさん
2016/03/05(土) 10:34:23.88 ID:ppTUK35o
>>80 アンインストールはしていないですが、アドバイス通り動かして
みると、発見がありました。3系指定でpip installしたもの(twitter)が、
3系設定にしてあるAnacondaのipythonでimport出来ないのがおかしい、
と思っていたんですが、ご指摘のように、3系の対話シェルの>>>の方で
import twitterを入れたら、import出来る状態になっていました。
だから、3系のipythonの方でなく、>>>コマンドの対話シェルの方へ、
pip3 install モジュール がなされていたようです。これが検証できた
だけでも大きい。感謝です。でも、2系だとipythonと>>>対話シェルの
両方にimport twitterが出来ている。
Anacondaは、3種類入れているんですけど、なぜか最新のAnacondaだけ、
Anaconda Promptが入っていない。前の2つのは、ちゃんとAnaconda
Promptが入っているのに…
コマンドからpython2, あるいは、python3と入力しても起動しません。
pythonと入力すると2系の>>>コマンドの対話シェルが起動します。
だから、やはり2系を呼び出す設定になっている。あと不思議なのは、
環境パスで2系を消去したのに、なぜか普通に2系が使えていること。
Anacondaの一年断食は無理ですね。Anacondaのipythonを中心に使いたいので…。
82 :
デフォルトの名無しさん
2016/03/05(土) 13:01:20.11 ID:OuxWCN0r
じゃあ愚かな自殺ってことで終了ですね
83 :
デフォルトの名無しさん
2016/03/05(土) 13:17:03.93 ID:ZCCa5WO9
Anaconda環境の質問はAnaconda使ってますって書けよ
スレテンプレにも入れて欲しい
84 :
デフォルトの名無しさん
2016/03/05(土) 13:41:46.75 ID:YrgdO5eg
>>81 Condaのドキュメントには、異なるバージョンのpythonが使いたいなら仮想環境を作成して使えと書いてある。
Anaconda2とAnaconda3を両方入れて共存は不可。
標準のpythonなら簡単にできるのになあ。
Anacondaって便利を謳うくせにこんなこともできないの?
使ってる人かわいそう。
85 :
デフォルトの名無しさん
2016/03/05(土) 13:51:49.37 ID:YrgdO5eg
あ、でも僕は今日からAnaconda使うことにしました。
だってPython3以外要らないから。
86 :
デフォルトの名無しさん
2016/03/05(土) 15:51:15.95 ID:cQ14RgjJ
スレ違いでしたらすいません。sqlite3で他のプロセスがロックを掛けているかを知る方法はないでしょうか
どうも連続して処理をすると、前の別プロセスが終了する前に変更を実行しようとして、書き込めないことがあるようで
悩んでいます。
87 :
デフォルトの名無しさん
2016/03/05(土) 17:05:45.81 ID:6Q7B0eK6
アルファベットと数字で構成されている文字列から1文づつ文字コードを取り出して処理に使いたいのですが、
良い方法がなかなか見つかりません。
ヒントをいただけると助かります。
88 :
デフォルトの名無しさん
2016/03/05(土) 18:08:33.74 ID:OfFAzhIz
>>86 事前に確認するような方法だとtocttou問題と同じ理屈で書き込めないので無駄
素直にリトライしよう
89 :
デフォルトの名無しさん
2016/03/05(土) 18:12:38.69 ID:OfFAzhIz
>>87 文字列にordを作用させると文字コードになるが、そういうことではないのか?
print(list(map(ord, 'あいうえお')))
90 :
デフォルトの名無しさん
2016/03/05(土) 18:21:56.78 ID:gTchn+Mo
91 :
デフォルトの名無しさん
2016/03/06(日) 00:24:03.11 ID:OgxzOe/C
>>81 >>74-75 にも書いたように、
端末(シェル)を別に起動すると、環境変数は共有しない
環境変数を共有するには、
そのシェルからコマンド(子プロセス)を起動して、export した場合のみ
対話シェルにて、bashが起動されるたびに、
設定ファイル、~/.bashrc か、~/.bash_aliases が読み込まれる
そこに、python-2.7.11 を使う、環境変数が定義されているとして、
export PYTHON_HOME=/usr/local/python-2.7.11
export PATH=$PATH:$PYTHON_HOME/bin:
仮想環境はたぶん、python系の環境変数で、
実ディレクトリを切り替えているから、
端末を起動したら、常にすべての、
python系の環境変数を、チェックすべき
まず、仮想環境の仕組みを学ぶ
92 :
デフォルトの名無しさん
2016/03/06(日) 00:39:19.62 ID:O4spCoyd
>>81 Anaconda Prompt なんてものはありません。
93 :
デフォルトの名無しさん
2016/03/06(日) 01:18:16.22 ID:qE3TWZVE
>>74>>75
シェル内で、そういうコマンド書いて設定するのはLinuxとかじゃないんですか。
自分はwindowsユーザーなので、少し違うかもしれない。
誰かが教えてくれたコマンドプロンプトからPython2 実行で2系対話シェル、
Python3 実行で3系対話シェル起動の仕様も、OS X/Linuxで使う場合の仕様で、
windowsでは、>pythonで、設定されているバージョンの対話シェルが
起動する仕様になっている感じです。
つまり、ここでの話が噛み合わないのは、OS X/Linuxユーザーとwindowsユーザーで
使用方法が異なること。あと、Ancondaをひとつだけ使っているユーザーと
複数使っているユーザーで、設定なり、出来ることがたぶん異なること。
2系と3系では後方互換性が低くて、両者の仕様が別の言語に感じるくらいに
異なることもあるので(たとえば、文字コード関係など)、ややこしくなる。
2系のバージョンで出来ることが、3系で出来ない、あるいは、その逆も然り、
といった感じですね。
94 :
デフォルトの名無しさん
2016/03/06(日) 01:21:56.27 ID:qE3TWZVE
新しいパソコン買ったら、3系PythonとAnaconda1つだけで統一して、
すっきりした状態で使う予定なので、それまで、この2系と3系による股裂きの刑を
しばらく楽しんでみようと思いますw 4系のPythonが出来たら、またループ状態ですがw
でも、まだ買って1年も経っていない、新しいパソコンだから、しばらくは
この半端に2系と3系のPythonを使う状態が続くのかなw
>>91 仮想環境は、使ったことないので分かりません。なるべく、シンプルに
使いたいんですよね。ヴァージョンの切り替えが面倒な感じがするのですが、
機会があったら、言われたように、仮想環境を学んで使ってみようかな。
>>92 Anacond Command Promptで、入ってます。
新しいAnacondaでは、それがないのでPython3系のコマンドに入れなくて、
困っているのです。仕方がないので、3系のAnacondaは、
Anaconda IPython だけで使っています。3系のNotebook(Jupyter)は
使えます。
95 :
デフォルトの名無しさん
2016/03/06(日) 01:43:51.57 ID:hANsEkzf
>>93 windowsでも環境変数は同じように設定するよ
そもそもパソコンの使い方から勉強しなおした方がいいのでは?
96 :
デフォルトの名無しさん
2016/03/06(日) 02:11:29.68 ID:OgxzOe/C
推測だけど、たぶん、Windowsでも同じじゃないの?
python系の環境変数で、実ディレクトリを切り替えているんじゃないの?
Windowsでの、python系の環境変数をすべて見てみ
python-2.7.11、3.5.1 の実行ファイルは、
どのディレクトリにインストールされているか、
そこを、PYTHON_HOME に設定して、
python2系・3系で切り替えているわけだろ?
export PYTHON_HOME=何々/python-2.7.11
export PYTHON_HOME=何々/python-3.5.1
その仕組みを理解すべき
97 :
デフォルトの名無しさん
2016/03/06(日) 02:19:16.52 ID:qE3TWZVE
96
今、パソコン開いてないので、あとで、見てみるけど、windowsの環境変数は、
システムから入って、そこで使うPythonのバージョンのパスを入れるだけ。
あと、その環境変数の中には、Anacondaのそれぞれのバージョンのパスも
入っているので、pythonシェルからの呼び出しが、もしかしたらAnacondaのパス
を通じて為されているのかもしれないし…
98 :
デフォルトの名無しさん
2016/03/06(日) 04:39:01.56 ID:OgxzOe/C
99 :
デフォルトの名無しさん
2016/03/06(日) 04:59:34.75 ID:OgxzOe/C
Anaconda の環境変数PATHって、通常のPATHよりも、前に置いているから、
システムの挙動が変わってしまうのじゃないか?
export PATH="/Users/user_name/anaconda/bin:$PATH"
普通は、今までのPATHの後に追加するけど
export PATH="$PATH:/Users/user_name/anaconda/bin"
以下のサイトでは、pyenv でエラーが出るようになったとある。
pyenv: curl: command not found
http://teratail.com/questions/23057 100 :
デフォルトの名無しさん
2016/03/06(日) 05:42:24.62 ID:qE3TWZVE
さっきwindowsアプリの方を確認していたら、
2番目に導入したAnaconda2に、なぜかNEWの表示と共に
Python3系が使えるAnaconda Promt(py35con)というのが
彗星のように輝かしく追加されていて、それで3系のPython
を使えるか幾つかのpyファイル実行などで動作検証してみたら、
ちゃんと使えるようです。
[py35con] C:\Users\User名> で、Python3系設定がされた
Anacondanoのコマンドプロンプトが表示されるようになった
ので、そこからPython3系のpip installも無事出来る
ようになりました。IPythonも>>>コマンドの対話シェルもちゃんと使える。
前の書き込みで、pip install twitterで、3系のIPythonに
それが反映されていないらしく、import twitterが入らなくて
困ると書いたけど、今回は、ちゃんと3系のIPythonにもpip install
したものがimportで入るようになっていました。
ああ、良かった。これで問題は解決された。色々アドバイス
してくれた人達にも感謝です。
2系と3系のPythonを使い分けるには、Anaconda Promtで操作 出来るので
あれば、Pythonの2系用と3系用のAnacondaを2つ入れて、
それぞれ使い分けて使えばいい感じがする。ちょっとした動作テスト
をするだけなら、virtualenvみたいな仮想環境を設定・有効化/無効化
して使えばいい感じがする。
101 :
デフォルトの名無しさん
2016/03/06(日) 05:43:04.61 ID:qE3TWZVE
>>98>>99 ありがとうございます。解決出来ました。
前に環境変数で、2系のPythonパスを消去したのに、なんで2系Pythonが
そのまま普通に動くのだろうか、と不思議だったのだけど、Anacondaの
パスが入っているので、それを通じて動くようになっているのかな、
と推測したんだけど、真相は定かではない。怖いから、また、念のため
Python2系のパスも再度、入れておいたけれど、Anaconndaのパスが入って
いれば大丈夫そう。
102 :
デフォルトの名無しさん
2016/03/06(日) 10:34:47.40 ID:h6QpGbpa
本末転倒感がすごいですね
103 :
デフォルトの名無しさん
2016/03/06(日) 13:00:56.36 ID:jIkAers3
Windowsでもpy.exe経由で実行すればシバンで指定できるよ
普通にインストールすれば .pyファイルはpy.exeに関連付けされるし
py.iniでシバンに何書かれてるときどのバージョン実行するかも指定できる
104 :
デフォルトの名無しさん
2016/03/06(日) 13:36:18.01 ID:9p8a7DdE
アホな質問orスレ違いだったら申し訳ありません
Raspberry Piでpythonを使ってるのですが
.pyのなかで他のディレクトリにある.pyを実行するにはどうすればいいですか?
ggると
commands.getoutputしか出てこなくてこれだと変数に値を代入するだけだと思うのですが・・・
105 :
デフォルトの名無しさん
2016/03/06(日) 13:49:21.74 ID:h6QpGbpa
どういうググり方だとそれにたどり着くんだろう…?
そういう場合はsubprocess.call使う
106 :
デフォルトの名無しさん
2016/03/06(日) 13:54:26.02 ID:h6QpGbpa
もしかして#include(のようなこと)をしたいんです?
だとしたら、「他のディレクトリ」が正しいpythonのパッケージ(またはモジュール)の構造をしていて、
かつpythonがimport時に発見できる場所(sys.pathの直下)にないと無理です
初心者には厳しいのではないでしょうか?
107 :
デフォルトの名無しさん
2016/03/06(日) 14:22:03.27 ID:ehayewiV
入門 Python 3 買った
早くも第2刷になってる
108 :
デフォルトの名無しさん
2016/03/06(日) 14:44:04.24 ID:9p8a7DdE
>106
ありがとうございます
subprocessを使ってみます。python2年目の小5には少々難易度が高そうですが
109 :
デフォルトの名無しさん
2016/03/06(日) 14:44:09.08 ID:9p8a7DdE
>106
ありがとうございます
subprocessを使ってみます。python2年目の小5には少々難易度が高そうですが
110 :
デフォルトの名無しさん
2016/03/06(日) 14:56:01.23 ID:6EHt/C22
importしたいということであれば、呼び出す*.pyファイルが
/path/to/sample.py
のように配置されているなら
import sys
sys.path.append('/path/to')
import sample
とすればimportできる
名前がかち合ったりすると動かないかも知れないが
その場合は質問するよりモジュールの基本を勉強した方よか
111 :
デフォルトの名無しさん
2016/03/06(日) 15:05:03.40 ID:e89tqiOX
よくできた小5だ
頑張れ
112 :
デフォルトの名無しさん
2016/03/07(月) 23:31:48.77 ID:Ut9DwT6U
>>111 お前は頭が小5のままで止まった、おっさんだなww
113 :
デフォルトの名無しさん
2016/03/08(火) 07:43:40.22 ID:8RQ2bRCe
ストレス貯まってるんですね
ご冥福をお祈りいたします
114 :
デフォルトの名無しさん
2016/03/09(水) 08:56:06.36 ID:3W3JogKR
https://ideone.com/fork/84F6Zw やっぱり、Pythonは2系よりも3系の方が言語仕様やグラフが洗練されて見える。
もっと早く、3系の良さに気付くべきだった。上記に書いたコードも2系だと
import import seaborn as sns as sns 部分のグラフ処理が入らなかったりするけど、
3系だと綺麗なseabornのグラフが入って、心地良い。
115 :
デフォルトの名無しさん
2016/03/09(水) 10:01:38.59 ID:FHx2+hCK
言語仕様が洗練されたのは当たり前だろ(退化してたらキチガイじゃねえか)
グラフが表示されないのは2系3系の差というより
ただのバグのような気がする
116 :
デフォルトの名無しさん
2016/03/09(水) 12:25:03.48 ID:xIqR/5Nm
(変なカッコ書きする奴って頭が悪そうだよな)
117 :
デフォルトの名無しさん
2016/03/09(水) 12:38:00.41 ID:/NJSTcae
118 :
デフォルトの名無しさん
2016/03/09(水) 13:08:37.80 ID:Xq+i7VCr
(ワロタ)
119 :
デフォルトの名無しさん
2016/03/09(水) 15:00:08.60 ID:01BFUa+0
(大抵のソフトウェアはバージョンアップすると退化するよね。)
120 :
デフォルトの名無しさん
2016/03/09(水) 15:56:25.91 ID:3jrP1VBb
んなこたない
ある程度以上普及して枯れてきたやつに限り
惰性的なバージョンアップで堕落する
121 :
デフォルトの名無しさん
2016/03/09(水) 16:00:11.42 ID:poRZGeKa
有料のソフトウェアは、新OSでも動作を保証しなければならないだろう
122 :
デフォルトの名無しさん
2016/03/09(水) 18:11:20.47 ID:U2csdxnD
123 :
デフォルトの名無しさん
2016/03/10(木) 13:52:44.40 ID:Y8XXBR6y
python2.7 pyinstaller最新版でビルドしてコマンドプロンプトから作ったアプリ起動すると
ascii codec cannot encodeって出てきて起動できない
なんかu"ああああ"って日本語のとこでおかしくなります
124 :
デフォルトの名無しさん
2016/03/10(木) 14:32:58.70 ID:EeoAGdLe
そうですか
pyinstallerなんか使ってるからですね
馬鹿みたいでイイよ
125 :
デフォルトの名無しさん
2016/03/10(木) 18:59:26.94 ID:r2FPz58s
pyinstallerは、パイインストーラーって読むの?
じゃあ、PyPyは…
126 :
デフォルトの名無しさん
2016/03/10(木) 20:11:16.59 ID:ymoy5mgn
そりゃパイパイよ
ππ
127 :
デフォルトの名無しさん(玉音放送)
2016/03/10(木) 21:23:20.25 ID:0JQd2A1b
シミュレーションくらいしかやらないから
データ加工でエクセルに比べてどう優位性があるのかわからん
128 :
デフォルトの名無しさん
2016/03/10(木) 23:09:37.51 ID:A4gGRzzJ
pywinautoでのコンテキストメニューの操作方法わかる方教えて下さい。
目的のメニュー位置のテキストは取得できましたが、
clickやselectを実行してみるとメニューは閉じるけど実行されません。
環境:Python 2.7.11 pywinauto 0.5.4
from pywinauto.application import Application
app = Application().Start(
129 :
128
2016/03/10(木) 23:18:21.87 ID:A4gGRzzJ
130 :
デフォルトの名無しさん
2016/03/10(木) 23:53:00.88 ID:nS2MfweZ
Rからpythonを呼び出すいい方法はありますか?
131 :
デフォルトの名無しさん
2016/03/11(金) 00:05:45.18 ID:sWFF5c5F
>>128 app.Notepad.MenuSelect(u"編集->貼り付け")
132 :
デフォルトの名無しさん
2016/03/11(金) 07:51:48.96 ID:HJn33USj
>>131 コンテキストメニューを操作したいのです。
メモ帳でテストしているだけで貼り付けをしたい訳ではありません。
わかるづらくてすみません。
133 :
デフォルトの名無しさん
2016/03/12(土) 12:43:16.37 ID:AlbUYP0L
短いスコープで変数や関数宣言のためにif 1:を使っていますが
バッドノウハウではないかと危惧しています
かわりに良い方法は何でしょうか?
if 1:
pass
134 :
デフォルトの名無しさん
2016/03/12(土) 12:49:59.37 ID:lGqei3yA
そもそもpythonはdefとclass以外スコープを作らないから
if 1は何の意味もねーぞ
135 :
デフォルトの名無しさん
2016/03/12(土) 12:51:56.03 ID:lGqei3yA
ブロックと勘違いしてる?
136 :
デフォルトの名無しさん
2016/03/12(土) 13:51:08.06 ID:AlbUYP0L
137 :
デフォルトの名無しさん
2016/03/16(水) 10:59:23.54 ID:q/6RNJn3
GUIから文字列を入力させたいんだけど、
from tkinter.simpledialog import askstring
res = askstring("title", "message")
print(res)
こうすると、AttributeError: 'NoneType' object has no attribute 'winfo_viewable' というエラーになる。
この前に
import tkinter
root = tkinter.Tk()
を入れるとちゃんと動作はするけれど、いらないウインドウが余計に一つ現れる。
なんとかならないですか?
環境は、Windows7にPython 3.5.1 :: Anaconda 2.5.0 (64-bit)です。
138 :
デフォルトの名無しさん
2016/03/16(水) 11:07:12.56 ID:CZzGqLtG
python 3.3でprint (["こんに ちは"])を実行すると['こんに\u3000ちは']と表示されてしまいます。
全角スペースをそのままさせるにはどうしたら良いのでしょう?
139 :
デフォルトの名無しさん
2016/03/16(水) 13:31:48.16 ID:MRtgESvf
140 :
デフォルトの名無しさん
2016/03/16(水) 18:10:10.17 ID:Rbdxk85U
>>138 >>> print (*["こんに ちは"])
こんに ちは
141 :
デフォルトの名無しさん
2016/03/16(水) 20:53:56.04 ID:ru4VtbP0
以下ような空行で区切られたテキストデータを読むときに
aの部分は無視して2つ目のブロックのbの部分からリストにしたいのですが
なにかいい方法はないでしょうか。
aaaaaaaaa
aaaaaaaaa
bbbbbbbbb
bbbbbbbbb
142 :
デフォルトの名無しさん
2016/03/16(水) 21:10:42.54 ID:NYy+u6T+
>>141 普通に空行まで読み飛ばせばいいだけだろ
143 :
デフォルトの名無しさん
2016/03/16(水) 21:35:43.43 ID:ru4VtbP0
空行の位置を特定してそこまで読み飛ばすという操作が分からないのです。
144 :
デフォルトの名無しさん
2016/03/16(水) 22:00:59.65 ID:kmHz5x2E
ifは?
145 :
デフォルトの名無しさん
2016/03/16(水) 22:05:58.14 ID:/j2iEmJk
>>143 適当に書いているのでバグってたらごめん。
import sys
f = False
lst = []
for line in sys.stdin:
__stripped = line.strip()
__if f: lst.append(stripped)
__if not stripped: f = True
print(*lst)
146 :
デフォルトの名無しさん
2016/03/16(水) 22:07:11.80 ID:iNKCnWDy
普通読み飛ばすというのは
「読み込み」をすっとばす
ではなく
「読み込み」するけど読んだ内容はすてる
という意味なんやで
147 :
デフォルトの名無しさん
2016/03/17(木) 06:54:02.01 ID:iTg3Mqjt
上から1行ずつ読んでいって、空行があれば、
次の行から、リストに格納する
148 :
138
2016/03/17(木) 09:26:15.84 ID:1s2Sxj3z
>>140 ありがとうございます。調べてみるとタプルってやつでしょうか?
このパターンではうまくいくのですが実際にはリストをリストのままテキスト出力したいのです。
リストと同じテキストを作成して出力しても良いのですが、
全角スペースだけ出ないのも不思議に思いまして。
print ([[\"こんに ちは\"],[\"こ んにちは\"]])
149 :
138
2016/03/17(木) 09:30:14.48 ID:1s2Sxj3z
別件で、pandasでcsvから取り出したデータの一部を
リストなり文字列なりに変換するのはどうすればいいのですか?
150 :
デフォルトの名無しさん
2016/03/17(木) 09:59:14.92 ID:yAA5+Veb
148は難しいと思いますよ
149はDataFrame.as_matrix(ndarrayを返す)経由でリストやらなにやらにできるでしょう
151 :
デフォルトの名無しさん
2016/03/17(木) 10:10:26.85 ID:1s2Sxj3z
>>150 ありがとうございます。rubyだとpで簡単に出力できるんですけどねぇ。
どうして全角スペースだけ化けるんでしょう?
149は英語で探してみたらありました。
mydata.values.T.tolist()でできました。
152 :
デフォルトの名無しさん
2016/03/17(木) 11:00:23.80 ID:ls5F9gX1
>>151 「リスト」として出力してるので非表示の文字は適宜エスケープされてる
むしろSPACE (U+0020)が特別扱いだよ
LINE FEED (LF) (U+000a)は"\n"になるし
NO-BREAK SPACE (U+00a0)などもエスケープされる
153 :
デフォルトの名無しさん
2016/03/17(木) 11:15:05.25 ID:3vycg2Fh
全角スペースだけ気になるなら置換してしまおうw
print(str(['こんに ちは']).replace('\\u3000', ' '))
154 :
デフォルトの名無しさん
2016/03/17(木) 11:20:47.07 ID:1s2Sxj3z
>>152 解説ありがとうございます。基本リストをそのままにテキスト化は難しいということですね。
>>153 ありがとうございます。
確かに特定文字列なので置換するのも有りですね。若干釈然としませんがw
155 :
デフォルトの名無しさん
2016/03/17(木) 20:07:12.94 ID:0eEUF0R8
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Dog(object):
____def __init__(self, name):
______ self.name = name
class UltraDog(Dog):
____def __init__(self, name, type):
__________super(UltraDog, self).__init__(name)
__________self.type = type
__________def bar():
____________print '%s says "wan!".' % (name)
foo=UltraDog("Taro", "akita")
print '%s is %s.' % (foo.name, foo.type)
###↓でbar()を呼びたいのですが、どう書いたらいいかわかりません…###
foo.bar()
156 :
デフォルトの名無しさん
2016/03/17(木) 21:31:25.10 ID:ls5F9gX1
1. barのインデントを下げて__init__と同じレベルにする
>>155だと__init__の中でbarを定義している、インデントは重要
2. barの引数にselfを加える
selfを明示しないとメソッドにならない、クラス定義のお約束
3. barの中のnameはselfから取り出す
selfはインスタンス自身をあらわす引数、これもお約束
157 :
デフォルトの名無しさん
2016/03/17(木) 21:50:37.00 ID:0eEUF0R8
>>156 123総てそのとおりしたら、無事動きました!!!
ご回答ありがとうございました!
158 :
デフォルトの名無しさん
2016/03/18(金) 22:53:40.23 ID:XviCrBsE
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#####img2pyがうまく動作してくれません#####
##環境は wxPython3.0-win32-py27 32-bit Python 2.7です。
import sys
from wx.tools import img2py
command_lines = ["-i myicon.ico IcoImages.py"]
for line in command_lines:
args = line.split()
img2py.main(args)
###エラーの文面↓
###UnicodeDecodeError: 'utf8' codec can't decode byte 0x81 in position 12: invalid start byte
###コマンドプロンプトで python img2py.py -i myicon.ico IcoImages.py とやっても同じエラーがでマス。
###日本語英語中国語で一通りぐぐりましたが、皆さんカンタンに↑のコマンドで.pyを得られているようで、情報がみつかりませんでした。
159 :
デフォルトの名無しさん
2016/03/18(金) 22:54:57.45 ID:XviCrBsE
連投すみません
インデントが消えてしまいました;
半角スペースを_で置換しておきます
import sys
from wx.tools import img2py
command_lines = ["-i myicon.ico IcoImages.py"]
for line in command_lines:
____args = line.split()
____img2py.main(args)
160 :
デフォルトの名無しさん
2016/03/19(土) 04:40:36.30 ID:5djHDgqa
「文字コード 0x81」で検索!
ascii文字は、0x7F までじゃないの?
0x80以上は、Shift-jisの全角文字かな?
ファイルを、UTF-8 で保存せず、Shift-jisを使っているとか。
メモ帳を使うと、BOM付きUTF-8になって、バグるとか、
TeraPadだと、UTF-8N(BOM無し)で保存できる
>for line in command_lines:
そもそも、1行しか無いのに、for を使うのはおかしいだろ
>command_lines = ["-i myicon.ico IcoImages.py"]
なんで、[ ]を使うの? 普通に文字列を使ったらアカンの?
ひょっとして君は、Pythonの本を読まずに、プログラミングしているのか?
161 :
デフォルトの名無しさん
2016/03/19(土) 10:11:26.87 ID:/ZaLB4zI
>>158 たぶんUnicodeDecodeErrorはwx内部で発生してる
だからエラー原因は最後の行だけではわからない
"Traceback (most recent call last):"から始まる全部があれば手がかり増える
エラーが長いなら
>>1のコード貼り付けるサービスを使ってほしい
162 :
デフォルトの名無しさん
2016/03/19(土) 11:00:08.13 ID:Ngg3+V62
>>160 >ファイルを、UTF-8 で保存せず、Shift-jisを使っているとか。
>メモ帳を使うと、BOM付きUTF-8になって、バグるとか、
秀丸でBOMナシUTF-8で保存しています
>なんで、[ ]を使うの? 普通に文字列を使ったらアカンの?
もとはもっと一杯同様の処理があったのですが、うまくいかないので1つに減らしました
163 :
159
2016/03/19(土) 11:08:24.52 ID:Ngg3+V62
164 :
デフォルトの名無しさん
2016/03/19(土) 11:09:59.06 ID:VZJ2bs3a
差し支えない範囲でスタックトレースも貼れるといいですな
165 :
デフォルトの名無しさん
2016/03/19(土) 11:14:21.63 ID:VZJ2bs3a
あ、スタックトレース貼ってあるね
良好良好
166 :
デフォルトの名無しさん
2016/03/19(土) 12:28:29.86 ID:VZJ2bs3a
>>163 スタックトレースの範囲ではUnicodeDecodeErrorが発生する余地なさそう
wxWidgetsのソースコードまで読む気にはならなかったので正確な原因は分かんない
ここからは予想
カレントディレクトリパスに日本語含んでない?
ImageMagickっていうプログラムで相対パスを使うと内部で絶対パスに直そうとしてて
その時にエンコーディングの考慮を忘れているためにエラーを起こすってのがあった
それに似ている気がする
167 :
デフォルトの名無しさん
2016/03/19(土) 12:30:46.96 ID:/ZaLB4zI
168 :
159
2016/03/19(土) 12:56:47.65 ID:Ngg3+V62
>>166 >カレントディレクトリパス
C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools
です。
「.」がいかんのかと思い、
C:\にターゲットファイルとpyファイルをもってきて
コマンドプロンプトをc:\で開いてから
img2pyを実行しても同じエラーになります
>>167 私ごときではどうしようもないということですね…
お二方とも、ご回答ありがとうございました。
169 :
デフォルトの名無しさん
2016/03/19(土) 13:37:22.43 ID:GpBZpbUt
170 :
159
2016/03/19(土) 14:45:21.51 ID:Ngg3+V62
171 :
159
2016/03/19(土) 14:52:41.10 ID:Ngg3+V62
入れ直してグーグルのファビコンでやってみましたが
やはり同じエラーが出ました。。。
申し上げ遅れてしまいましたが、
>>169さん ありがとうございます。
172 :
デフォルトの名無しさん
2016/03/19(土) 16:52:59.50 ID:rc40nbIH
173 :
159
2016/03/19(土) 18:02:27.83 ID:Ngg3+V62
>>172 あああああその通りです!
このマシンだけ、軽い気持ちでユーザー名に全角を使ってました! (・ω・`)
今から半角に変えてきます
それからまたためします
ありがとうございます!
174 :
デフォルトの名無しさん
2016/03/19(土) 18:10:57.55 ID:VZJ2bs3a
天才か
tempfileは盲点だった
175 :
デフォルトの名無しさん
2016/03/19(土) 18:20:35.57 ID:IgDWXiAc
URLのファイル名だけを変更したいのですが、どのようにやるのがスタイリッシュでしょうか
176 :
159
2016/03/19(土) 18:33:50.38 ID:Ngg3+V62
半角英数だけでユーザーを作って実行したら無事動きました!
ついでに、pipで似たようなエラーを吐かれてインスコできなかったパッケージもインスコできました!!
ありがとうございます
ありがとうございます
回答してくださったみなさまに(‐人‐)感謝!!!
177 :
159
2016/03/19(土) 18:39:51.22 ID:Ngg3+V62
>>175 すたいりっすではないかもしれませんが
URLを「.」で区切ってリスト作成
できたリストの長さを求めて
ケツから二番目だけを書き換え処理して
joinで連結してURLに戻す
というのはどうでしょうか。
ただ↑だと拡張子なしだったり、hogehoge.tar.gzとかなってると通用しないので、
URLの区切り文字を「/」にしてリスト作成
リストの長さを求め
ケツになってるとこを書き換えて
joinで元に戻す
になりますが。
178 :
デフォルトの名無しさん
2016/03/19(土) 20:30:22.01 ID:5djHDgqa
>>173 外人は、日本語でテストをしていないから、
ユーザー名、パス・ファイル名には、半角英数字のみを使う。
半角空白・ハイフンも使ってはいけない。
ただし、パス・ファイル名には、_ も使えるかも?
tempfile.mktemp まで突き止めた、猛者がおったのか
179 :
デフォルトの名無しさん
2016/03/19(土) 20:45:09.95 ID:5djHDgqa
>>175 http:// スキーム
localhost サーバー名
:3000 ポート番号
/abc/def パス
?xyz=123 クエリー
#ghi フラグメント
URLのパス内のファイル名だけを、取り出すメソッドが、
たぶん、ネット関連のライブラリ内にあるはず
180 :
159
2016/03/19(土) 23:11:34.01 ID:Ngg3+V62
>>178 ダメなファイル名の大原則、メインマシンでは守ってたのですが
うちのぱそこん は、うちのだから…と 手を抜いてました…
とても反省しています。
そして回答者の皆さんに感謝しています。
181 :
デフォルトの名無しさん
2016/03/20(日) 00:20:28.05 ID:ItLnGc5W
>>175 URL ファイル名 python
でぐぐって一番上か二番目にくる方法がテラスタイリッシュ
182 :
デフォルトの名無しさん
2016/03/20(日) 14:46:34.49 ID:uZE/skHK
from urllib.parse import urlparse, urljoin, urlunparse
url = '
http://aaaaaa.aaa/bbbb/cccc.html?q=qqq#hhh' newfilename = 'ああああ'
L = list(urlparse(url))
L[2] = urljoin(L[2], newfilename)
newurl = urlunparse(L)
print(url)
print(newurl)
クエリとフラグメントが不要なら
newurl = urljoin(url, newfilename)
183 :
デフォルトの名無しさん
2016/03/20(日) 21:56:35.15 ID:+8VWrZbF
ここで聞くことじゃないけど教えてください
str = 'ああああああ【x】いいいいいい【xx】'
re.sub(r'【.*】', '', str)
文章中の【】をすべて削除したいんだけどこれだと全部消えちゃうのでかっこと中身だけ消す方法教えてください?
上の例だとあといだけを残したい
184 :
デフォルトの名無しさん
2016/03/20(日) 22:23:59.59 ID:QxKIfwds
185 :
デフォルトの名無しさん
2016/03/20(日) 22:27:12.14 ID:4YbzTNUZ
>>183 r'【.*?】'
詳しくは最短一致でググれ
186 :
デフォルトの名無しさん
2016/03/20(日) 22:28:50.51 ID:+8VWrZbF
187 :
デフォルトの名無しさん
2016/03/20(日) 22:30:18.42 ID:+8VWrZbF
>>185 あー、これでもいけました
勉強なります
188 :
デフォルトの名無しさん
2016/03/20(日) 23:08:03.89 ID:eZFsmBRg
正規表現はデフォルトでは、最長一致(どん欲)だから、
.*? のように、? を付けると、最短一致になる
189 :
デフォルトの名無しさん
2016/03/21(月) 15:07:38.39 ID:Ofx+igvx
あかん俺には向かん、パイソンやら基本の数学からやり直してるがやっぱり向き不向きがあるなこの数値の世界は
クリエイティブコーディング始めようとProcessing弄ってるときは脳汁出まくりだったんだがなぁ
俺には視覚表現の世界が向いてるみたいだw糞残念orz
190 :
デフォルトの名無しさん
2016/03/21(月) 16:44:53.28 ID:e399YEBR
コピペ乙
191 :
デフォルトの名無しさん
2016/03/21(月) 22:24:48.12 ID:lctU7n/4
192 :
デフォルトの名無しさん
2016/03/21(月) 22:37:51.22 ID:CjJQ3DZR
もっと別でいい名前なかったのか
193 :
デフォルトの名無しさん
2016/03/21(月) 22:41:39.15 ID:+Ck/lweO
何故オッパイソンにしなかったのか謎
194 :
デフォルトの名無しさん
2016/03/21(月) 23:36:38.82 ID:b4wXoPlv
だから、なぜ玩具で開発する必要がある
MacBookも買えねえのか貧乏人よ
195 :
デフォルトの名無しさん
2016/03/22(火) 00:49:52.12 ID:K9F4/b6Q
いつでもどこでも思いついたら即出来るのはよろしいことよー
それがスクリプトの醍醐味ー
196 :
デフォルトの名無しさん
2016/03/22(火) 14:32:51.09 ID:n1wW92zx
最近Pythonのプロジェクトか増えている気がする
197 :
デフォルトの名無しさん
2016/03/22(火) 20:38:22.67 ID:l/yPeJSW
198 :
デフォルトの名無しさん
2016/03/24(木) 15:48:42.57 ID:2XlRu0Fd
wxPythonにて
ウインドウのサイズを不変にするのに、
root_panel =wx.Frame.__init__(self, parent, id, title=u' Print your environment GUI', size=(400, 150))
self.SetMinSize((400, 150))
self.SetMaxSize((400, 150))
とやると、境界にカーソルもっていったとき、あたかもリサイズできるかのように見えてばっちいです。
何かスマートな方法がありましたら、ご教示ください。
尚Windowsでやってます。
199 :
デフォルトの名無しさん
2016/03/24(木) 16:34:51.96 ID:iMhXoYci
>>198 , style=wx.DEFAULT_FRAME_STYLE & ~wx.RESIZE_BORDER
200 :
デフォルトの名無しさん
2016/03/24(木) 16:43:41.80 ID:2XlRu0Fd
>>199 000000000000000
ありがとうございます!!!
201 :
デフォルトの名無しさん
2016/03/25(金) 12:02:28.83 ID:+u485WkF
macのターミナルで前に打ち込んだ命令をコピペしないでもう一度よびだせるショートカットってある?
202 :
デフォルトの名無しさん
2016/03/25(金) 12:25:50.39 ID:jyxl5n4n
macのターミナルの話は知らねえよ
Ctrl+rでも押せ
203 :
デフォルトの名無しさん
2016/03/25(金) 16:40:04.05 ID:YdCtjjSr
上矢印押してけば出るんじゃないの?
204 :
デフォルトの名無しさん
2016/03/25(金) 18:09:21.98 ID:Wnw1/rBy
205 :
デフォルトの名無しさん
2016/03/25(金) 22:31:37.40 ID:JfxqIODW
俺の前で2度とmacの話はするな
206 :
デフォルトの名無しさん
2016/03/27(日) 01:08:10.21 ID:YOyz7BtG
いやですん♪
207 :
デフォルトの名無しさん
2016/03/28(月) 17:51:10.23 ID:UY/1J++g
tcp(socket)で
recv待機してる状態の時
sendすることって出来ますか?
上手く表現できない…エスパー案件ですが分かる方居られましたら返信下さい
208 :
デフォルトの名無しさん
2016/03/28(月) 17:58:05.34 ID:iwMnXPkq
別にエスパーな内容じゃないよ
非同期でソケット使いたいってのはごく一般的な要求だから
209 :
デフォルトの名無しさん
2016/03/28(月) 21:36:43.03 ID:R0Y4IqfI
ドッカーでチェイナーのテンソーフローはナンピーできますか?
210 :
デフォルトの名無しさん
2016/03/29(火) 14:27:38.44 ID:s2d9MdaN
私女なんだけど、pythonとapacheでweb開発してるの。
Windows環境下でパソコン変えたら本当に困ったことになったわけ。
#!/usr/bin/python
で、動かないわけ。
エラー → couldn't create child process: 720005
でもね、でもね
#!c:/python25/python.exe
にしたら動くわけ。
unix環境でも動かしたいから前者で動くようにしたいんだけど
何が原因なんでしょうか!(#c#)!
pythonのpathも通ってるし、原因がさっぱりわからないので、教えてください><
211 :
デフォルトの名無しさん
2016/03/29(火) 14:48:06.82 ID:9tm0veaP
モンティパイソンを視聴してからジョークを飛ばしてくれ
これは義務だ
212 :
210
2016/03/29(火) 16:31:23.16 ID:s2d9MdaN
自己解決しましたぁ
213 :
デフォルトの名無しさん
2016/03/29(火) 17:14:07.03 ID:jXmv7K5P
自己解決したなら、内容を書け
214 :
デフォルトの名無しさん
2016/03/30(水) 10:22:02.13 ID:bwqK1s1q
拡張子.cgiならブラウザで実行・表示出来るのに.pyだとコードが表示されるんだが理由は何に?
215 :
デフォルトの名無しさん
2016/03/30(水) 10:58:57.29 ID:e9vUc8Q2
サーバー(ここではhttpdの意味)に何使ってるか知らないがサーバーの設定による
216 :
デフォルトの名無しさん
2016/03/30(水) 19:32:43.27 ID:bwqK1s1q
217 :
デフォルトの名無しさん
2016/03/30(水) 19:47:04.22 ID:3Gah955h
>>216 AddHandler cgi-script .py
218 :
デフォルトの名無しさん
2016/03/30(水) 19:59:09.15 ID:bwqK1s1q
219 :
デフォルトの名無しさん
2016/03/31(木) 16:56:04.61 ID:SeJDeb5F
PythonでWebアプリ作ろうって時にCGIスクリプトに行き着くもんなの?
検索してもdjangoなりflaskなり使う方法の方がヒットすると思うが
220 :
デフォルトの名無しさん
2016/03/31(木) 17:51:23.91 ID:nLkxSPQr
お前らが嫁嫁って小うるさい公式ドキュメントの標準ライブラリを
上から順に眺めていくと途中でcgiが出てくるで
221 :
デフォルトの名無しさん
2016/03/31(木) 20:05:00.89 ID:X9odj4Io
素人向けなら、perlとかphpの方がサンプル多くない?
222 :
デフォルトの名無しさん
2016/04/01(金) 23:21:54.84 ID:GcEc4u3E
3系がいまだに主流にならない糞コミュニティ
223 :
デフォルトの名無しさん
2016/04/02(土) 00:07:04.05 ID:P5rnm/V1
>>219 >djangoなりflask
これは何て読むの?
どジャンゴ?
224 :
デフォルトの名無しさん
2016/04/02(土) 07:07:47.13 ID:96hBhgbU
ジャンボー!!
225 :
デフォルトの名無しさん
2016/04/02(土) 07:32:47.42 ID:NNNMR5YM
Bottle(ボトル)Django(ジャンゴ)Flask(フラスク)Pyramid(ピラミッド)Plone(プローン)
226 :
デフォルトの名無しさん
2016/04/02(土) 13:03:52.14 ID:thGUj6UI
>>219 WSGI でぐぐれ
django いらん
227 :
デフォルトの名無しさん
2016/04/02(土) 19:58:12.66 ID:0ml0OmOR
mod_wsgiもええよ
228 :
デフォルトの名無しさん
2016/04/02(土) 20:25:10.98 ID:WMAcYlEn
以前3.5.1をインストールして、少しだけ勉強しました。
今日久々にやろうとしたら、以前開いたファイルが実行できません。
あれこれやったのですが、ダメでした。
階層とかの問題なのかと思い、インストールしたときに、変な場所にインストールしたので、
この際、C直下に置きなおしました。
すると、今度はコマンドプロンプトで、python自体を認識しなくなりました。
環境変数をいじればよいのでしょうか?
またいじる場合はどのようにいじればよいのでしょうか?
超初歩的な問題で申し訳ありませんが、何卒宜しくお願い致します。
229 :
デフォルトの名無しさん
2016/04/02(土) 20:48:39.16 ID:kmgIO7wN
一回Pythonをアンインストールしてください
Python3.5.1とPython luncherってのがプログラムの削除で選べるはずなので両方消すこと
環境変数PATHを確認してPython関連のものを消す
しかる後にもう一度インストールを行う
230 :
デフォルトの名無しさん
2016/04/02(土) 20:58:25.96 ID:cgCmjNww
一般的には、アプリをインストールしてから、アプリの場所を変えたら、ダメ。
なぜなら、インストールしたディレクトリで、様々な環境変数・レジストリに登録されているから
ただし、ポータブル版のように、
環境変数・レジストリに登録していないアプリは、移動できる
システムのスナップショットを取っているなら、過去に戻してから、アンインストールすべき。
アンインストールせずに、フォルダを削除すれば、環境変数・レジストリに何かが残ってしまう
231 :
デフォルトの名無しさん
2016/04/02(土) 21:20:39.25 ID:NNNMR5YM
anaconda使え。以上
232 :
228
2016/04/02(土) 21:52:42.35 ID:WMAcYlEn
>>229-231 ご回答ありがとうございます。
過去の場所が分からなかったので、戻さずにアンインストールしてしまいました。
環境変数には、システム環境変数の「Path」にpython残っています。
ユーザー環境変数のPATHは削除されていました。
レジストリとかは見方もわかりません。
システム復元ポイントは存在しませんでした。
ここから綺麗に削除する方法はあるのでしょうか。
233 :
228
2016/04/02(土) 22:20:55.21 ID:WMAcYlEn
システム環境変数の「Path」です。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\Common Files\Roxio Shared\DLLShared\;
C:\Program Files\DigiOn\DiXiM Media Client for Media Center;
C:\Program Files\Common Files\Ulead Systems\MPEG;
c:\Program Files\Microsoft SQL Server\90\Tools\binn\;
C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;
C:\Program Files\Common Files\Roxio Shared\DLLShared\;
C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\python34;
これは無視して、再度pythonをインストールしてもよいのでしょうか。
先に最後の「c:\python34;」だけでも削除した方がよいのでしょうか。
234 :
デフォルトの名無しさん
2016/04/02(土) 22:22:30.20 ID:t/XyQGNF
クリーンインストールすればいいんじゃないかな
235 :
デフォルトの名無しさん
2016/04/02(土) 22:44:02.96 ID:jcoL2fd7
>>233 c:\python34; だけでも消した方が安心だは
236 :
デフォルトの名無しさん
2016/04/02(土) 23:09:53.47 ID:dUD/zXrG
コンソールの事とか環境変数の事とかもっと知っといた方がいいかも
もし今解決したとしても後々詰まるよ
237 :
デフォルトの名無しさん
2016/04/02(土) 23:41:39.31 ID:WMAcYlEn
>>234-235 ご回答ありがとうございます。
一応再インストールしましたが、やはりファイル実行ができません。
超初歩的ですが、ディレクトリはどうやって指定するのでしょうか。
IDLEだけでやっていきたいのですが、ディレクトリはコマンドプロンプトで指定するのでしょうか?
この辺のことが初心者にわかりやすく書いてあるサイトはないでしょうか?
238 :
デフォルトの名無しさん
2016/04/02(土) 23:45:03.04 ID:WMAcYlEn
>>236 ご回答ありがとうございます。
コンソールなるものもあるんですね。
レジストリ、環境変数等は聞いたことは今までもあったのですが、
ハイレベルなものだと思い避けていました。
そもそもプログラミングをやるのが、pythonが初めてなので。
先日挫折しそうになっていたのですが、なんとかコードになれようと、
とにかくサンプルを色々実行させてみようと思った矢先に
ファイルの読み込みができなくなりました。
習うより慣れろで、まずは色々動かしてみて、プログラミングに抵抗感をなくしたいのです。
239 :
228
2016/04/02(土) 23:48:10.77 ID:WMAcYlEn
C:\User\Owner\AppData\Local\Programs\Python\Python35-32\test
ここに「test1」というファイルを入れています。
コマンドプロンプト、IDLE、それぞれに
python test1.py
と入力しても「SyntaxError: invalid syntax」のエラーになります。
test1が赤く表示されています。
240 :
デフォルトの名無しさん
2016/04/03(日) 00:06:14.54 ID:HxRwKELn
コンソールはコマンドプロンプト、DOSプロンプトとほぼ同義
「コマンドプロンプト 使い方」等でググれば情報はいくらでも出てくる
自分はWindowsのコンソールはしょぼいと思っているのでcygwinのminttyなど併用している
ハイレベルってプログラミングはそのハイレベルな事をやろうとしてるんだよ
コンソールはプログラムの1行1行を手で打ち込んでやってるようなもの
カレントディレクトリとかパスの相対・絶対指定とかその辺の概念がわからないと
ファイル操作のプログラミングのときにキツイと思う
あと拡張子の表示は行うようにエクスプローラの設定変えた方がいい
241 :
228
2016/04/03(日) 00:15:58.28 ID:k3PVC/oR
>>240 ご回答ありがとうございます。
なんとか頑張ってみます。
アドバイス感謝します。
242 :
デフォルトの名無しさん
2016/04/03(日) 00:21:53.51 ID:Xmt6tiYL
SyntaxError: invalid syntaxだったらtest1.pyの中身が間違ってるんじゃないの?
243 :
デフォルトの名無しさん
2016/04/03(日) 01:02:24.12 ID:HxRwKELn
初心者の場合とにかく、自分がいま、何をしようとしてるのかがわからない人が多いね
一つ一つの概念をしっかり学んでいくのが結局は一番の近道のように思える
244 :
デフォルトの名無しさん
2016/04/03(日) 01:27:20.83 ID:k3PVC/oR
>>242-243 コマンドプロンプトでのディレクトリ移動が理解できました。
コマンドプロンプトで実行ができました。
IDLEも「F5]での実行はできました。
が、IDLEで「python test1.py」を実行しても、「SyntaxError: invalid syntax」エラーのままです。
245 :
デフォルトの名無しさん
2016/04/03(日) 02:18:55.43 ID:pvdfhL1n
SyntaxErrorは実行環境ではなく実行しようとしてるソースコードに問題がある
ソースコードは
>>1にあるコード貼り付けサイトなどで示してくれると回答の手がかりになる
246 :
デフォルトの名無しさん
2016/04/03(日) 08:51:08.58 ID:HxRwKELn
>>244 そりゃpython test1.pyってのをコードとして実行しようとしてるんじゃないかい?
エラー、つうか出ているものを、ありのまま手を加えずに示さないと誰もエスパーするしかなくなるよ?
247 :
デフォルトの名無しさん
2016/04/03(日) 09:04:49.52 ID:HxRwKELn
248 :
デフォルトの名無しさん
2016/04/03(日) 10:26:17.10 ID:KExQ0utW
a = [
[1,"1"],
[1,"1"],
]
2次元リストで文字列型のみbyte型に変換する方法を教えてください
249 :
デフォルトの名無しさん
2016/04/03(日) 13:20:39.12 ID:2fqjABR1
混ぜるな危険
250 :
デフォルトの名無しさん
2016/04/03(日) 16:02:43.08 ID:OaDtSrzO
>>238 システムをいじる時は、必ず正常な復元ポイントを取っておく
アプリのインストールで、環境変数・レジストリに書き込むものは、
うかつに削除したり、フォルダごと移動したり出来ない。
必ずアンインストールの手順をすべき
アンインストールせずに、フォルダごと削除しても、
環境変数・レジストリに書き込んだものが残ってしまう
こういうアプリは危険だから、漏れは出来る限り、ポータブル版のように、
システム環境に書き込まないアプリを使うことにしている
特に全アプリが共通で使っている、環境変数PATHは危険!
Linuxで説明するなら、こういうもの
/usr/local/sbin/:/usr/local/bin:/usr/sbin/:/usr/bin/:/sbin:/bin
例えばシステムアプリが、/usr/bin/python を使っている場合に、
自分が、/usr/local/bin/python を追加して使おうとすると、
コマンド探索パスでは、より左側で見つかったコマンドが起動されるから、
バージョン違いのアプリを起動することもある。
例えば、python27 で起動していたアプリが、python34 で起動されるなど
こういう環境構築が難しいから、初心者は、
paiza.IO, codepad などで、ブラウザを使って、
オンラインでプログラミングを試すのもよい
251 :
デフォルトの名無しさん
2016/04/03(日) 17:43:38.44 ID:OaDtSrzO
>>244 >python test1.py
これは、シェルなどの端末で実行するコマンド
IDLE では、1 + 1 とか、直接Pythonの命令文を書けばいい
.py ファイルに、Pythonの命令文を書いて、IDLEで実行したいのなら、
そのファイルを読み込んで実行すればいい。
そういう機能がメニューに無い?
IDLEの説明書を読んで
252 :
デフォルトの名無しさん
2016/04/03(日) 17:58:19.49 ID:RddheNRl
COBOL BASIC世代でも入り易い言語ですかな?
253 :
デフォルトの名無しさん
2016/04/03(日) 18:45:50.77 ID:HxRwKELn
>>252 頭柔らかくしてまっさらな気持ちで臨めば子供でも習得できる
逆にガチガチにそれらの言語の常識で縛られていると難しい
254 :
デフォルトの名無しさん
2016/04/03(日) 19:46:50.45 ID:yp/d6Zz1
>>252 COBOLやBASICやってたのならRubyのほうがいいですよ。
255 :
デフォルトの名無しさん
2016/04/03(日) 19:57:50.90 ID:HxRwKELn
え?それってRubyはBASICやCOBOLに近いって事?
256 :
デフォルトの名無しさん
2016/04/03(日) 20:41:57.79 ID:MEGmAVsa
バカに優しいということ
257 :
デフォルトの名無しさん
2016/04/03(日) 21:30:48.98 ID:w3ZPKyEL
モジュールのimpot文でこんなのを見かけたんですが
from . import json
この「from . 」はどういう意味合いでしょうか????
258 :
デフォルトの名無しさん
2016/04/03(日) 21:38:17.29 ID:WiDVimJr
ぜんぶ
259 :
デフォルトの名無しさん
2016/04/03(日) 21:49:42.93 ID:pvdfhL1n
>>257 このモジュールと同じ階層(ディレクトリ)にあるjsonモジュールを明示的に相対importしてる
260 :
デフォルトの名無しさん
2016/04/03(日) 21:56:55.15 ID:w3ZPKyEL
>>259 なるほど、つまり通常の import json と効果は同じなんですね
ありがとうございました
261 :
デフォルトの名無しさん
2016/04/03(日) 22:06:02.06 ID:pvdfhL1n
>>260 いやいや違うよ、勘違いしてる
import jsonと書くと標準ライブラリにあるやつをimportするから
同じパッケージにあるjsonをimportするためにfrom .をつけて明示的に相対importしてるんだ
262 :
デフォルトの名無しさん
2016/04/03(日) 22:22:57.15 ID:451mPNNS
ああそうか、つまり通常のimport jsonと同じって事か、つか早くそれ言ってくれよw
263 :
デフォルトの名無しさん
2016/04/03(日) 22:30:49.09 ID:pmKqsZPg
横からで申し訳ないですが、同じディレクトリにある物を呼び出す場合は from ./ でも良いのでしょうか?
264 :
デフォルトの名無しさん
2016/04/03(日) 22:40:15.37 ID:lvXQ86xx
265 :
デフォルトの名無しさん
2016/04/07(木) 17:27:58.55 ID:nyWOTQ02
a = [1,2,3,4,5,6,7]
b = [8,9,10,11,12,3]
def ttt(a, b):
for n in a:
if n in a:
return True
return False
print(fooBar(a, b))
# True
こういうの(def fooBar())する場合、何かいいライブラリかメソッドってなかったっけ?
もっと簡単に、2つの配列を比較して処理するライブラリ
266 :
デフォルトの名無しさん
2016/04/07(木) 17:39:20.29 ID:X8GQhpV7
>>265 要するに diff やりたいってこと?
267 :
デフォルトの名無しさん
2016/04/07(木) 19:20:57.39 ID:Ogy8aWrP
>>265 bが使用されていないが…
基本的な集合演算なら
組み込み型のsetが対応してるよ
268 :
デフォルトの名無しさん
2016/04/07(木) 19:45:47.00 ID:nyWOTQ02
>>266 aの中の要素がbの中に入ってたらTrue、入っていなかったらFalseを出したいだけなんだけど、
なんかforを2回まわさなくても、関数で処理できたような記憶があったもので
>>267 for n in a: if n in b:でした
269 :
デフォルトの名無しさん
2016/04/07(木) 19:47:09.64 ID:nyWOTQ02
x forを2回まわさなくても
o forを回さなくても
270 :
デフォルトの名無しさん
2016/04/07(木) 20:41:07.81 ID:gGuEIMKu
> 組み込み型のsetが対応してるよ
こうかな?
return 0 < len(set(a) & set(b))
2.6 以降なら
return not set(a).isdisjoint(b)
でもいいかも
271 :
デフォルトの名無しさん
2016/04/07(木) 20:56:12.12 ID:qhI2bqCd
空のシーケンスは偽だ
確実に真偽値にしたければboolに渡せ
272 :
デフォルトの名無しさん
2016/04/07(木) 22:03:34.10 ID:nyWOTQ02
>>270 なるほど
上の方しか試してないけれど、set()でやるならforで回すより早いかも
ありがとう
>>271 > 空のシーケンスは偽だ
ごめん、どこのこと言ってるの?
273 :
デフォルトの名無しさん
2016/04/08(金) 07:49:13.79 ID:R25zKOdT
Rubyだと、nil, false の2つだけが偽だけど、
Python, JS などは、数字の0・空のコンテナなども偽になるから、ややこしい。
すべての可能性をチェックしないと、間違うよ
274 :
デフォルトの名無しさん
2016/04/08(金) 08:04:36.79 ID:pA/3IygY
nilが偽であることに疑問はないのか
275 :
デフォルトの名無しさん
2016/04/08(金) 09:16:15.01 ID:8p/r4dwr
bool(set(a) & set(b))
でおk
276 :
デフォルトの名無しさん
2016/04/09(土) 01:09:41.41 ID:czVLbMzO
a = 1
b = 2
c = 3
a and b or c
これはなぜ結果が2になるの?
277 :
デフォルトの名無しさん
2016/04/09(土) 01:43:06.10 ID:ze8HeZ8A
>>276 言語リファレンス(Python3.5.1)の6.11 ブール演算(boolean operation)を読むと理由が分かるよ。
a and b or c
は、
(a and b ) or c
の順に評価される。
a and b
は、
if bool(a) == False:
__return a
else:
__return b
のように評価される。
bool(a)=bool(1)=True!=False だから、
a and b は b=2 と評価される。Trueでなくて、2であることに注意。
x or yは
if bool(x)==True:
__return x
else:
__return y
のように評価される。
bool(a and b)=bool(2)==True だから
(a and b) or c は (a and b)=b=2と評価される。
よって、2になる。
ビット演算とは違うんだね。
278 :
デフォルトの名無しさん
2016/04/09(土) 03:13:04.71 ID:rWTHbHCd
>>276 Pythonは真偽値を要求する文や式でTrueとFalse以外の値が現れてもエラーにしない
その値を一時的に真偽値として良しなに評価して処理を続ける
そういう箇所で数値は0はFalse、0以外はTrueとして評価される
例えば a, b, c = 1, 0, 3 なら a and b or c は3を返す
279 :
デフォルトの名無しさん
2016/04/09(土) 12:50:14.11 ID:arHNwwOt
.
280 :
デフォルトの名無しさん
2016/04/09(土) 20:21:27.11 ID:O/pryQpb
pythonでopenGLを扱う必要が出てきました。
調べてみるとvpythonとpyopenglに行き着きました。
両者の違いをお願いします。
281 :
デフォルトの名無しさん
2016/04/09(土) 21:12:14.63 ID:i1c+sypU
vpythonはopenglを利用してるだけでopenglライブラリじゃないのでは?
openglを利用しつつguiアプリを作りたいならpygletと言う選択肢もある
282 :
デフォルトの名無しさん
2016/04/09(土) 22:21:06.45 ID:KOaWU5bX
pygame は?
283 :
デフォルトの名無しさん
2016/04/09(土) 22:35:57.82 ID:/Lxd5kvH
思ったけどPythonって何でもありだな
これは俺の知識不足なせいかな?
284 :
デフォルトの名無しさん
2016/04/09(土) 23:15:29.67 ID:O9j9lH5Y
なんでもありだよ
Pythonは世界的に言語人口多いから
285 :
デフォルトの名無しさん
2016/04/09(土) 23:35:15.84 ID:OhfpbXnv
なんだろね
スクリプト(インタプリタ)言語じゃ速い部類だし拡張性、柔軟性の高さが受けてるのかな?
286 :
デフォルトの名無しさん
2016/04/09(土) 23:36:39.98 ID:O9j9lH5Y
Rubyと同じようなことできて
英語情報豊富だからじゃね
287 :
デフォルトの名無しさん
2016/04/10(日) 02:22:00.21 ID:5uNrLDgL
関数ラムダコンストラクタの呼び出し記法が同じ
記号が多くない
1ファイル=1モジュール
classにprotected、privateがない
lambdaには式しか書けない
便利な構文だけもらってシンプルに作ってあるのが良いところだと思う
288 :
デフォルトの名無しさん
2016/04/10(日) 08:29:01.87 ID:8xWMgpIq
クラスを継承して新しいクラスを作る時、メソッドのごく一部(例えばメソッド内で使われているある特定の辞書のキー)だけを書き換える方法はありますか?
メソッドをまるごと定義し直さないと無理ですか?
289 :
デフォルトの名無しさん
2016/04/10(日) 10:18:44.57 ID:5uNrLDgL
パラメーターの変更なら継承するまでもない
コンストラクターで使用する辞書のキーを渡せばいいよ
290 :
デフォルトの名無しさん
2016/04/10(日) 11:30:50.62 ID:CzCrMX8W
291 :
デフォルトの名無しさん
2016/04/10(日) 18:01:46.63 ID:Abj5deZo
el capitanにしたらpipがインストールできないというなぞが・・・
292 :
デフォルトの名無しさん
2016/04/10(日) 19:41:32.37 ID:ClY0znlz
macは最初からpip入ってるだろう。
あなたのそれが単なる愚痴でなく質問であるなら、
どこにどうやって入らなかったのか正確に書いた方がいい。
pythonのバージョンは?homebrewやmacportsを使っているか、
ディストリビューションは公式か、それともpyenv、anacondaなど使っているか云々。
293 :
デフォルトの名無しさん
2016/04/10(日) 20:58:36.42 ID:7dkt6eiV
>>291 Rootlessなる新機能が犯人っぽいぞ と 先週それでハマった俺が推理してみる
解除方法を調べレ
294 :
デフォルトの名無しさん
2016/04/10(日) 20:59:55.12 ID:7dkt6eiV
>>292 カピタソにしたトタン アップデートもアンインストールもできなくなるんだなこれが
rootでsudoしても権限がないっていわれるw
295 :
デフォルトの名無しさん
2016/04/10(日) 21:20:14.82 ID:8xWMgpIq
>> 289
ありがとうございます。
ご回答が理解できないのでもっと勉強してから出直します。
296 :
デフォルトの名無しさん
2016/04/10(日) 21:25:57.02 ID:Abj5deZo
>>293 disableしてsudoして入れられた
pip install ***でもsudo入れるのはしょうがないのかな
mac恐るべし
297 :
デフォルトの名無しさん
2016/04/10(日) 21:31:08.58 ID:DjaNIQO9
>>295 辞書のキーみたいなパラメータは引数で受け取れば済むって話じゃないの?
メソッドの処理を変更したいなら話は別だけど
298 :
デフォルトの名無しさん
2016/04/10(日) 23:21:54.72 ID:8xWMgpIq
>> 297
すみません、辞書のキーを引数で受け取るというところまでは分かる気がするんですが、その後元のキーをその新しいキーで書き換えるにはどうすればいいのか分からなくて…。
メソッドの中で
some_setting = self.settings['orignal_key']
という感じで書かれている箇所で、自分で追加した新しいキーと値のペアを使いたいので(元のキーと値のペアは辞書に残したままで)、
some_setting = self.settings['my_key']
と書き換えたいです。この箇所以外は元のクラスのメソッドをそのまま使いたいです。
辞書自体は設定ファイルから設定名と設定値を読み込んで作られていて、自分で使う新しいキーと値のペアは、設定ファイルで追加します。
また辞書は私が継承したクラスのさらにスーパークラスのスーパークラスの_init__メソッドに引数として渡されています。
299 :
デフォルトの名無しさん
2016/04/10(日) 23:25:05.25 ID:Dy3kx/Xc
http://denshi.blog.jp/control/python/微分要素のボード線図
こちらのサイトのサンプルコードを試した結果
ipyshon consoleにてfrom control.matlab import * の行が
TypeError: zip argument #2 must support iterationというエラーが出てしまいます
WinPython-64bit-3.4.4.1をインストールしてideはSpiderを使っています
よろしくお願いします
300 :
デフォルトの名無しさん
2016/04/10(日) 23:36:51.08 ID:/5ZjYfnG
このページは存在しないかすでに削除されています
matlabなんて持ってる奴は稀だろうな
それpython3サポートしてます?
エラーメッセージはzipの第二引数にイテレートできない値を指定してんぞ!って言ってます
301 :
デフォルトの名無しさん
2016/04/10(日) 23:42:17.42 ID:ClY0znlz
302 :
デフォルトの名無しさん
2016/04/11(月) 00:51:26.65 ID:OwO3FuPu
>>297-298 Javaでは、Hash系の等価判定は、2段階になっている。
まず、Object.hashCode()で、高速に不一致のみを判定する。
次に、ここで衝突があったもののみ、equals()で時間をかけて判定する。
つまり、この2つをオーバーライドする
Pythonはよく知らないけど、特殊メソッド、object.__hash__(self) かな?
Hash系の等価判定のメカニズム・特殊メソッドなどを調べて
>>299-301 「python typeerror zip argument #2 must support iteration」で検索!
303 :
デフォルトの名無しさん
2016/04/11(月) 02:03:49.17 ID:ZFHEpugs
>>299 plt.legend(["k=1"],3)
とあるところを
plt.legend(["k=1"], loc=3)
としてみたらどうですか
304 :
デフォルトの名無しさん
2016/04/11(月) 03:49:44.22 ID:lRmSB7Lh
ここで聞いてよいのかわかりませんが、ウェブフレームワークは何が良いでしょうか?
Pythonにはいっぱいあってよくわかりません
305 :
デフォルトの名無しさん
2016/04/11(月) 06:56:20.81 ID:4CkanXgX
実用性の面で選べるものはそんなにない
djangoかflaskかbottleくらい
いずれにしても英語は読めないと駄目です
日本語ドキュメントは古すぎて役に立たないでしょう
306 :
デフォルトの名無しさん
2016/04/11(月) 07:02:52.15 ID:mNOWqBq7
djangoかflaskかpyramidで迷っていたのですが、djangoにします:D
307 :
デフォルトの名無しさん
2016/04/11(月) 16:49:50.72 ID:mtVFRznW
308 :
デフォルトの名無しさん
2016/04/11(月) 17:42:42.93 ID:KLWDT4Re
codepad落ちてる
309 :
デフォルトの名無しさん
2016/04/11(月) 18:04:18.80 ID:zL4rBumh
310 :
デフォルトの名無しさん
2016/04/11(月) 19:17:00.42 ID:ZFHEpugs
>>307 setup.pyの51行目の条件判定と真の場合の処理はWindows環境を想定しているように思えますので、Windowsだから使えないっていうことはないんじゃないですかね。
311 :
デフォルトの名無しさん
2016/04/11(月) 19:20:22.38 ID:QDq24+1J
>>296 うまくいってよかった
そうだよ pipはlistするとき以外いつでもsudo
312 :
デフォルトの名無しさん
2016/04/11(月) 19:30:56.10 ID:5R0/uaTi
>>307 MinGW経由してみてもだめかな
>>299 matplotlibだけじゃなくて
controlとnumpyも入れた?
ipythonだっけかな も入れないとグラフ描画でつっかかった記憶ががが
313 :
デフォルトの名無しさん
2016/04/11(月) 19:45:53.19 ID:mtVFRznW
314 :
デフォルトの名無しさん
2016/04/11(月) 20:20:02.13 ID:4LRnZQiu
codepadは落とすわフェイクのファイルを挙げるわ…
ふてぇ野郎だな
315 :
デフォルトの名無しさん
2016/04/11(月) 21:57:27.36 ID:/4tKcoWK
男女って何よ?
簡単に教えてくれ
316 :
デフォルトの名無しさん
2016/04/12(火) 01:43:29.40 ID:iN7RaFvn
>>298 何を言っているのか、さっぱりわからないから、
ソースコードを書いて説明して
317 :
デフォルトの名無しさん
2016/04/12(火) 10:24:19.14 ID:qFdHr0ZJ
pyramid使ってる人いますか?
djangoよりよさそうに見えるんですが
318 :
デフォルトの名無しさん
2016/04/12(火) 10:50:38.68 ID:YZS1m95E
一年前の俺がいる
君と同じ印象を抱いたので使ってみたくクチだ
実際に使ってみると、コンポーネントが全部入りで悩まなくて済む
Djangoの有り難みが分かる偉大なプロジェクトだ
時間の無駄だった
319 :
デフォルトの名無しさん
2016/04/12(火) 11:52:10.02 ID:VaA8AA0v
320 :
デフォルトの名無しさん
2016/04/12(火) 12:11:01.91 ID:S/1D0MSq
そりゃMinGWで実行しようとしてるからだろ
多分君がそれをビルドできるようになるまでは3ヶ月くらい掛かるぞ
畑でも耕してたら?
321 :
デフォルトの名無しさん
2016/04/12(火) 12:13:17.20 ID:8UWAtsZ/
codepad落ちてる
322 :
デフォルトの名無しさん
2016/04/12(火) 12:17:38.10 ID:MlmCnlCJ
え、落ちてないけど
このエラーの原因は、MinGWでビルドしてるのにパスがWindowsフォーマットのまんまなこと
このエラーが解決してもビルドできるとは思えんが…
323 :
デフォルトの名無しさん
2016/04/13(水) 21:17:47.92 ID:Fx7IkZaQ
>>307 Requirements: softwareとRequirements: hardwareは足りてるのか?
どっちも足りてるならGNU make とかいうのをインスコすると
makeコマンドがwindowsでも使えるようになるから人柱になって結果を報告してくれ
324 :
デフォルトの名無しさん
2016/04/14(木) 12:40:17.24 ID:5I9WHGj5
PysideのQFileSystemWatcherでテキストファイル更新を監視したいです。
他のテキストエディタでの更新だと随時受け取れているのですが
PyCharmでの更新が一度きりしか受け取れません。
登録パスが消えてしまうようなのですが、原因分からないでしょうか。
325 :
デフォルトの名無しさん
2016/04/14(木) 20:55:31.35 ID:XBdahEDN
wxPythonの公式サイトもググると
「このサイトは第三者によってハッキングされている可能性があります。」
と表示される。ハッキングされているの? 怖くてリンクをクリックできない。
326 :
デフォルトの名無しさん
2016/04/14(木) 21:17:28.96 ID:i3uogHdN
いつから警告メッセージの段階なら安全だと錯覚していた?
327 :
デフォルトの名無しさん
2016/04/15(金) 12:21:49.41 ID:YbOE2eZX
いつから2ちゃんがハッキングされてないと錯覚していた?
328 :
デフォルトの名無しさん
2016/04/15(金) 12:48:50.29 ID:y7MrEC/r
ハッキングから夜のおかずまでカバーするくらいなので
329 :
デフォルトの名無しさん
2016/04/15(金) 16:05:47.94 ID:T9breHyk
330 :
デフォルトの名無しさん
2016/04/15(金) 16:44:05.17 ID:DT9Q+kCC
331 :
デフォルトの名無しさん
2016/04/15(金) 17:05:21.11 ID:T9breHyk
>>330 それはまずいですね
実行したいのはpython2.6です。
バイナリは無理なのかとりあえずバイナリ入れてやってみます
332 :
デフォルトの名無しさん
2016/04/15(金) 18:19:59.22 ID:DT9Q+kCC
説明が悪かった
バイナリがユニコード文字列ではなくバイト文字列を指しているならばPython2のstr型はバイナリだよ
2と3の間で文字列の型が下のように変わった
Python2はバイト文字列=str、ユニコード文字列=unicode
Python3はバイト文字列=bytes、ユニコード文字列=str
333 :
デフォルトの名無しさん
2016/04/16(土) 11:08:41.80 ID:kAejHcPL
おそらくShift-JISで書かれているcsvファイルがあるんだけど、
Python3で文字比較をするにはどうすればいい?
例えば、if row[4][2] ==
334 :
デフォルトの名無しさん
2016/04/16(土) 11:11:02.35 ID:kAejHcPL
例えば、if row[4][2] == '山下':とすると
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x8f in position 0: invalid start byte
と出て処理できないんだけど
335 :
デフォルトの名無しさん
2016/04/16(土) 11:17:03.28 ID:47uue4xh
python3のcsvモジュールのドキュメントにエンコード指定で読み込む方法が書いてある
python2のcsvモジュールは
インターフェースの設計がマヌケなのでpython3若干面倒くさい
336 :
デフォルトの名無しさん
2016/04/16(土) 11:24:22.06 ID:kAejHcPL
337 :
デフォルトの名無しさん
2016/04/16(土) 11:31:14.65 ID:kAejHcPL
338 :
デフォルトの名無しさん
2016/04/16(土) 11:48:05.23 ID:47uue4xh
ソースコードをshiftjisで保存している疑惑がある
339 :
デフォルトの名無しさん
2016/04/16(土) 12:53:46.80 ID:kAejHcPL
>>338 ありがとう
確かにWindows使ってたので、Shift_JISになってました
340 :
デフォルトの名無しさん
2016/04/17(日) 18:22:10.41 ID:NP0lUQO1
windowsなのに#!/usr/bin/env pythonを書く意味まったくない
341 :
デフォルトの名無しさん
2016/04/17(日) 21:10:36.54 ID:Ddro+2fw
他に持ってっても使えるやん
342 :
デフォルトの名無しさん
2016/04/18(月) 11:08:46.25 ID:xGL32HoF
今時シバン行なんて書いて実行する機会なんてほとんどないよ
pythonのライブラリでもシバンなんて書いてあるのほぼ見かけない
linuxでpython使ってるけど別にそんなの書かない
日本語扱うなら1行目に書くのは# -*- Coding: utf-8 -*-だけでいいし、扱わないなら何も書かなくてもいい
343 :
デフォルトの名無しさん
2016/04/18(月) 11:35:52.63 ID:15lk0eIz
シバンがあればスクリプトとして実行可能と表明できる
setup.py書くようなライブラリのモジュールには書かないからね
344 :
デフォルトの名無しさん
2016/04/18(月) 11:46:45.77 ID:zfy2v2Zo
setup.pyを書くならentry_points使ってるっしょ
(知らないのはド素人だから引っ込んでろ)
こいつがシバン行生成しとるよ
手書きすることがなくなっただけで、相変わらず存在はしてる
345 :
デフォルトの名無しさん
2016/04/18(月) 12:59:36.84 ID:oQvn+vlE
>>344 >知らないのはド素人だから引っ込んでろ
このスレでこれ言うか
346 :
デフォルトの名無しさん
2016/04/18(月) 13:13:51.22 ID:oZqrBUah
Windows10にしてから、pythonスクリプトを、ドロップレットに出来ず、困っています。
Windows7 の時は、レジストリにキーを追加することでドロップレットに出来ていたのですが。
どなたか、対応策をご存知でしたら、ご教示下さい。
347 :
デフォルトの名無しさん
2016/04/18(月) 14:12:28.73 ID:nSIPXSMy
348 :
デフォルトの名無しさん
2016/04/18(月) 15:45:30.15 ID:NxXedIF3
>扱わないなら何も書かなくてもいい
この書き方だと本人は誤解してるのが見て取れるなー
349 :
デフォルトの名無しさん
2016/04/19(火) 14:09:17.08 ID:+UVrubM8
最近Pythonをいじり始めた初心者なんだけど、
ファイルを読み込んでその内容を1行ずつPyQT4のウィジェット上(コンソールではなくて)に表示させるためには
どうすればいいんでしょうか?
シグナルとスロットとかを使うのかと思ったんですが、どれを使えばいいのかさっぱりわかりません。
350 :
デフォルトの名無しさん
2016/04/19(火) 20:49:43.84 ID:X1zaZ+P/
>>346 assocで*.pyの関連付けを削除してから
レジストリキー追加してみて
351 :
デフォルトの名無しさん
2016/04/19(火) 22:47:23.04 ID:N6CIFExd
>>350 ありがとうございます。
ドロップレットとして動作するようになりました。
352 :
デフォルトの名無しさん
2016/04/19(火) 23:21:31.32 ID:X1zaZ+P/
へー上手く行ったんだ
正直成功すると思ってなかったけど
353 :
デフォルトの名無しさん
2016/04/19(火) 23:55:14.92 ID:N6CIFExd
>>352 実際には、あれこれやっているうちに上手く動くようになりました。
コマンドブロンプトで、
assoc .py
として、関連付けをみたところ、何も関連付けされてませんでした。
その後、regedit で、.pyをPython.File に関連付けました。
regeditで、HKEY_CLASS_ROOT\Python.File/shellex/DropHandler に、60254以下略の値を設定。
この段階で、スクリプトファイルにドロップしましたが、うまく動作しませんでした。
Anacondaだと上手くいかないのかと思い、python.orgからダウンロードした標準版?もインストールし、再起動しました。
すると、スクリプトファイルへのドロップが動作するようになりました。
再起動したから、上手くいったのか、python再インストールしたのが良かったのか、.pyをPython.Fileに関連付けたのが良かったのか、あるいはそれらのうち、複数が必要だったのか、、、今となっては、よく分かりません。
が、諦めかけていたところ、お返事頂いた事がきっかけでアレコレ試す事が出来ました。
感謝しております。
354 :
デフォルトの名無しさん
2016/04/20(水) 00:40:38.52 ID:59Aeov/b
もしかすると月末ぐらいからPythonをやることになるかもしれないんだけど
電車通勤の時間を利用して、軽く勉強しておきたい。
なにか手頃な書籍は無いかな。
・C/C++/C#/Perl/PHP/JSは仕事で使った経験あり。
・予算は3000円台くらい。現時点では、5000円超えると厳しい。
・仕事で使うPythonのバージョンは未定。
・電車内で読むことになりそうなので、あまりに大きすぎるとちょっと困る。
「Pythonチュートリアル」は、それとは別に公式サイトにあるものを読むつもり
355 :
デフォルトの名無しさん
2016/04/20(水) 00:40:40.83 ID:oj6NjU7C
Python3を入れるとpylancherってのが一緒にインストールされる
これのおかげっぽい
356 :
デフォルトの名無しさん
2016/04/20(水) 00:42:35.14 ID:oj6NjU7C
>>354 そんだけやったことがあるなら基本で躓くってことはないのでは
仕事で何すんの
Web製作?データマイニング?
357 :
デフォルトの名無しさん
2016/04/20(水) 06:36:36.82 ID:UfNx2Znx
>>354 みんパイ+専門の本がオススメ
まず『みんなのPython』で全体の雰囲気をつかむ
アマゾンで旧版の中古なら千円しない
少し厚いがイヤならバラして読み捨てにする
それからたとえば機械学習とか
仕事で使う分野の本命の本を1冊買う
これが個人的にコスパ良いと思う
358 :
354
2016/04/20(水) 08:05:22.18 ID:59Aeov/b
>>356 Webベースのアプリケーションと、それに伴うデータ処理を予定。
データマイニングというほど大げさなもんではないけどね。
>>357 みんなのPythonか。ありがとう。
プログラミング自体の初心者向けって書評もあったから、ちょっと迷ってたんだ。
359 :
デフォルトの名無しさん
2016/04/20(水) 08:41:04.10 ID:r07pzD8i
python 指定の仕事なんてあるんだな
360 :
デフォルトの名無しさん
2016/04/20(水) 23:00:26.22 ID:59Aeov/b
自由に言語を選べることって、そんなに無いと思うんだ
361 :
デフォルトの名無しさん
2016/04/21(木) 15:08:52.79 ID:DN7N6cz4
一般社団法人Pythonエンジニア育成協会だって
ちょー胡散臭いw
362 :
デフォルトの名無しさん
2016/04/21(木) 16:47:29.44 ID:9Ocgrhnl
予算もらってドローン
363 :
デフォルトの名無しさん
2016/04/21(木) 18:40:53.38 ID:lMrhGQ0g
364 :
デフォルトの名無しさん
2016/04/21(木) 19:47:20.50 ID:R9dun5S+
資格商法でもやるのかな?
365 :
デフォルトの名無しさん
2016/04/22(金) 01:40:28.10 ID:4Xj+EYUC
ドローン墜落
366 :
デフォルトの名無しさん
2016/04/24(日) 13:51:51.89 ID:KQN682y5
Python初心者です!
応用力を伸ばすにはどの本がおすすめですか?
367 :
デフォルトの名無しさん
2016/04/24(日) 14:01:50.25 ID:yMXAuegD
初心者を脱してから考えれば?
368 :
デフォルトの名無しさん
2016/04/24(日) 16:32:24.28 ID:75gzdZLs
まず書き捨てのスクリプトから始める
使うものを書くのが一番力が付くと思う
コーディングに慣れたら、なんかライブラリとかソフトを作る
スクリプトを書くからソフトを作るに変化していれば結構な力があるはず
やりたいことが思い浮かばないなら競技プログラミングとかを利用する
他のプログラミング言語の経験があるならライブラリやソフトのPython移植でもいい
それも無理なら分からん
369 :
デフォルトの名無しさん
2016/04/25(月) 02:54:29.59 ID:ouB2BnTZ
370 :
デフォルトの名無しさん
2016/04/26(火) 18:59:18.91 ID:jjglOp68
371 :
デフォルトの名無しさん
2016/04/26(火) 19:14:27.52 ID:6sXX5nQB
その目的だとPythonは(目的からすると非常に些細な)手段でしかない
応用は学術的な勉強が必要だろ
大学に行け
372 :
デフォルトの名無しさん
2016/04/26(火) 22:10:18.46 ID:KUbgmjPe
深層学習で何をやりたいかまで考えておいた方がよさそう
373 :
デフォルトの名無しさん
2016/04/26(火) 22:37:40.84 ID:Aa1dX/el
プログラミング技術って大学へ行ったからと言って身につく物とは違う気がする
周り、大卒のプログラマーあまりいない・・・
374 :
デフォルトの名無しさん
2016/04/26(火) 22:40:17.59 ID:Aa1dX/el
あ、大卒や院卒は多いけど
専攻が文系だったりプログラムまともに履修してないって意味ね
みんなの周りってプログラム専攻してた人ばかり?
375 :
デフォルトの名無しさん
2016/04/26(火) 23:11:05.45 ID:34JYrqL0
自分は材料系出身でプログラム経験は一般教養レベルだった。
研究開発で物理シミュレーション作成が必要になったんで、
昨年からプログラム作ってる。
三十代半ばだげど何とかなるもんだな。
376 :
デフォルトの名無しさん
2016/04/27(水) 02:25:00.69 ID:vpv25bM3
「Rubyの女神」池澤あやか
慶応大学環境情報学部卒業
在学中、プログラムの授業で、単位を荒稼ぎしていた
377 :
デフォルトの名無しさん
2016/04/27(水) 12:55:02.43 ID:DvInQ2rz
事務処理から物理シミュレーションまで
簡単に出来るから使ってるだけだからなぁ
普通に製造業だから機電物理ばかりよ
378 :
デフォルトの名無しさん
2016/04/27(水) 21:48:52.00 ID:8VC19aOZ
そのうち、ビジュアルプログラミング言語だけでいい時代がくる。
379 :
デフォルトの名無しさん
2016/04/27(水) 22:43:09.28 ID:Igjc9VOL
作りたいものがあるか、必要に迫られないと続かないし身につかないと思っている
380 :
デフォルトの名無しさん
2016/04/28(木) 09:51:24.03 ID:R8DnYLQU
propertyで作ったgetterに対して+=しようとするとsetterが呼び出されるんだけどどうなってるんだろ
propertyに対して+=を定義したい時はどうすれば良いのか教えて下さい
381 :
デフォルトの名無しさん
2016/04/28(木) 10:14:40.41 ID:k1aARqjb
382 :
デフォルトの名無しさん
2016/04/28(木) 14:43:54.13 ID:D/VFt/W7
質問です。
py2exe で作った exe の関数を外部の .py ファイルから呼び出すことはできますか?
具体的には
プラグインは .py で追加し、本体は exe にしたいのですが、
exe の中に含まれる関数をプラグインでも使う必要があります。
ヒントなどありましたらよろしくお願いします。
383 :
デフォルトの名無しさん
2016/04/28(木) 16:56:02.95 ID:k1aARqjb
exeにしたpyからimportできるモジュールは
プラグインとやらの側でもimportできる
必要な関数をモジュールにまとめておけばいい
それが嫌なら知らん
死ね
384 :
デフォルトの名無しさん
2016/04/28(木) 17:15:35.45 ID:D/VFt/W7
モジュール Distutils で調べてみます。
ありがとうございます。
385 :
デフォルトの名無しさん
2016/04/28(木) 17:32:55.44 ID:sy/A9cxw
exe側からプラグインの関数を呼ぶときにコールバック用のオブジェクトなり渡すのが素直かな
無理矢理なら
・プラグイン側から sys.modules[exe側のモジュール名] 使って呼び出す
・exe側で plugin_module.func1 = func1 とグローバル空間に突っ込む
386 :
デフォルトの名無しさん
2016/04/28(木) 18:21:41.58 ID:D/VFt/W7
>>385 なるほど、これもわかりやすくていいですね。ありがとうございます。
387 :
デフォルトの名無しさん
2016/04/28(木) 23:30:45.59 ID:YA55GjNH
>>381 クラスを作らなきゃいけないのか……
ありがとうございます
388 :
デフォルトの名無しさん
2016/04/29(金) 01:01:36.58 ID:FtHCzag5
>>380-381 a += 1 は、a = a + 1 のことだろ。
つまり一旦、a を読み込んでから、書き込んでいる。
read & write
だから、setter も呼ばれる
389 :
デフォルトの名無しさん
2016/04/29(金) 07:31:38.24 ID:PbNRaORu
Perlで無名関数を定義してそこですぐに呼び出す処理
sub {...} -> ();
のようなことをPythonでやるにはどうしたらいいでしょうか?
390 :
389
2016/04/29(金) 07:40:55.50 ID:PbNRaORu
(lambda ... : ...)(...)
これでいいのですね、失礼しました
391 :
デフォルトの名無しさん
2016/04/29(金) 07:43:03.58 ID:bfDxxaAZ
注意としてlambdaの中は式しか書けないので、
if文for文while、with、def、class…などステートメントが書けない(ループや分岐の代替手段はあることはある)
代替手段がない例外処理は難しい
392 :
デフォルトの名無しさん
2016/04/29(金) 07:49:37.84 ID:PbNRaORu
>>391 なぜそのような不自由な仕様になっているのでしょう?
393 :
デフォルトの名無しさん
2016/04/29(金) 08:12:21.60 ID:Iep7JOlc
主な理由はバカ避けやな
394 :
デフォルトの名無しさん
2016/04/29(金) 08:37:15.08 ID:bfDxxaAZ
>>392 理由は混ぜて書けないから
lambdaは式だからインデントを無視して書ける
forなどのステートメントはインデントの高さに縛られている
Python言語の設計としてはインデント構文の一貫性がlambda式の利便性より優先されたのであろう
395 :
デフォルトの名無しさん
2016/04/29(金) 09:32:27.66 ID:PbNRaORu
>>393 ラムダ計算について少しは勉強したほうがいいのでしょうか
>>394 Pythonは式と文を構文上でも明確に区別してる言語ということなのですね
396 :
デフォルトの名無しさん
2016/04/29(金) 10:14:59.46 ID:7xJ0b0th
長い関数なら別に作ったほうが良い
397 :
デフォルトの名無しさん
2016/04/29(金) 11:36:39.36 ID:2NhEQh2x
lamdaを変数に代入しようとするとpep8はキレる
398 :
デフォルトの名無しさん
2016/04/29(金) 12:58:16.94 ID:yIWTKkJ0
Perlの田舎者がクソコード書かないようにだよ
399 :
デフォルトの名無しさん
2016/04/29(金) 17:49:24.68 ID:qRN5QO0n
Jupyter notebookの破壊力パナイ
研究者の必須ツールになってる
400 :
デフォルトの名無しさん
2016/04/29(金) 17:58:35.32 ID:J4woZ2qQ
texにコンバートするときに日本語使ってるとアウトなのが面倒臭い
401 :
デフォルトの名無しさん
2016/04/30(土) 09:05:39.78 ID:2PEUr7Ko
Pythonの勉強をしていますが、オブジェクト指向が難しすぎます
クラスとは何ぞや、インスタンスとは何ぞや、そもそもオブジェクトとは・・・と
調べていくだけで人生が終わりそうな気がしています
みなさんはPythonを使って何年でオブジェクト指向を身に着けたのでしょうか
402 :
デフォルトの名無しさん
2016/04/30(土) 09:13:11.03 ID:y91PofS5
>>388 あ、なるほど。そういうことだったのですが
納得しました。ありがとうございます
403 :
デフォルトの名無しさん
2016/04/30(土) 09:59:02.01 ID:xcr8nx4M
>>401 他言語使ってたからPythonでオブジェクト指向覚えたわけじゃないけど
人生終わるのはかかりすぎw
別に手続き型的に使ってもいいんだしボチボチ行けばいいと思う
関連する変数と手続きをまとめたもの程度に考えればいいよ
404 :
デフォルトの名無しさん
2016/04/30(土) 10:03:28.94 ID:BgzVxY9x
C++だったら構造体+関数と覚えりゃ十分だし
それで数年経ってからMoreEffectiveC++とかGoF読めばええ
405 :
デフォルトの名無しさん
2016/04/30(土) 11:05:28.67 ID:+IKIlF8v
四半世紀、オブジェクト指向の影を追っているが未だその背すら見えない。日暮れて道遠し。
406 :
デフォルトの名無しさん
2016/04/30(土) 11:25:18.18 ID:xcr8nx4M
作れないにしても使う分には普通に恩恵にあずかってると思うが
何らかのAPIで
407 :
デフォルトの名無しさん
2016/04/30(土) 11:40:36.52 ID:LjSxWXAc
オブジェクト指向も不便を感じた先人が作ったものだし
今までのやり方で不便を感じない限りはいらないんじゃないのかな
408 :
デフォルトの名無しさん
2016/04/30(土) 11:52:47.07 ID:hdth9551
>>401 プログラミングやってるからって
プログラミング言語全部覚えてるわけじゃないし
オブジェクト指向の全概念を理解してなくても組める
さしあたりグローバル変数を
なるべく使わないだけでも
メリットは大きいと思う
後は慣れていくにしたがって
関数的な引数を減らしていくとか
ポリモーフィズムを使うとかいろいろ
409 :
デフォルトの名無しさん
2016/04/30(土) 12:09:41.81 ID:ATOMDdkU
pythonで科学技術計算してるけど、オブジェクト指向とか意識してないわ。
数値計算関係のライブラリとかは詳しくなったけど、
一般的なことはほとんど知らないし。
410 :
デフォルトの名無しさん
2016/04/30(土) 12:16:19.64 ID:d3VauDgB
Python始めようしたらコメントでめげた
複数行選択して一気に行等に#つけたり
とったりできるエディタってないですか?
'''とかだと色がコメントでなくてリテラルの色に
なるのでイヤです
411 :
デフォルトの名無しさん
2016/04/30(土) 12:18:29.27 ID:d3VauDgB
>>410 MacとWinどっちかで
もし両方あればその方がいいです
412 :
デフォルトの名無しさん
2016/04/30(土) 12:31:57.93 ID:xcr8nx4M
>>410 自分はサクラエディタとvimだけど矩形選択>入れたい文字を挿入(この場合#)で
どちらでも行ける
413 :
デフォルトの名無しさん
2016/04/30(土) 12:52:20.30 ID:19cestnd
いっそのことPyCharmで行こう
414 :
デフォルトの名無しさん
2016/04/30(土) 13:03:21.00 ID:ATOMDdkU
ずっとpycharm使ってたんだけど、jupyterってどう?
pycharmと何が違うの?
415 :
デフォルトの名無しさん
2016/04/30(土) 13:28:10.54 ID:MuB39WXy
PyPyには夢があるよね(*´ω`*)
416 :
デフォルトの名無しさん
2016/04/30(土) 13:30:36.83 ID:hDm1v4cX
jupyterってweb上でやるから
ファイル生成したらどうなるんだろって思うことがある
417 :
デフォルトの名無しさん
2016/04/30(土) 15:09:01.67 ID:ayXNqxnF
インターフェースがブラウザなだけで裏で動いてるのは普通のPythonだし
普段通りにファイル生成されるがな
418 :
デフォルトの名無しさん
2016/04/30(土) 15:55:28.52 ID:FuZy8SxD
>>416 ブラウザのプライベートストレージ領域にうんたらかんたら
419 :
デフォルトの名無しさん
2016/04/30(土) 16:02:34.13 ID:39QHwzY8
あんまり巨大なプログラムになって把握しきれなくなってきたり
使い回し頻繁にしたりしないかぎりは
オブジェクト指向なんか無視してるなぁ
動けばいいんだよ別に
420 :
デフォルトの名無しさん
2016/04/30(土) 18:31:51.70 ID:YS3y6fmo
ともだちのいないやつは
うらやましい
421 :
デフォルトの名無しさん
2016/04/30(土) 18:36:37.31 ID:6oLpSGXE
心の友よ
422 :
デフォルトの名無しさん
2016/04/30(土) 19:33:07.10 ID:d3VauDgB
423 :
デフォルトの名無しさん
2016/04/30(土) 21:26:56.17 ID:uVz81x78
GitHubで匿名通信(Tor、i2p等)ができるBitComet(トラッカーサイト不要でDHTだけで日本語検索可能)
みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
q
424 :
デフォルトの名無しさん
2016/04/30(土) 23:14:50.17 ID:ONUYw0tw
さすがアスペ
425 :
デフォルトの名無しさん
2016/05/01(日) 01:47:31.05 ID:z9wiiFYv
>>378 ビジュアルプログラミング言語ってまともに使ったことある?
普通のプログラミング言語に比べて頭の使い方が違うってだけで、結局結構頭使わなきゃいけないのは同じだと思うけど
426 :
スッキリ厨
2016/05/01(日) 01:54:22.59 ID:e+z55mXR
427 :
デフォルトの名無しさん
2016/05/01(日) 02:00:55.12 ID:CGU8Z7az
あーC++は無駄に言語仕様広げ過ぎたところがあるからなー
JavaやC#経験者でも怪しいかも
428 :
デフォルトの名無しさん
2016/05/01(日) 16:14:48.81 ID:7h4ESd0D
429 :
デフォルトの名無しさん
2016/05/01(日) 19:17:25.44 ID:RQlLJ5E+
Jupyterでサーバー立ててそれ使ってるわ
430 :
デフォルトの名無しさん
2016/05/02(月) 11:32:11.94 ID:p/GOapYL
オブジェクト指向はオブジェクトとメッセージの組み合わせとしてとらえないとね
メッセージをどう扱うかをちゃんと考えないと片手落ち
入門書はクラスの話ばっかりでメッセージについてちゃんと考えない本ばっかりだよね
431 :
デフォルトの名無しさん
2016/05/02(月) 12:00:20.93 ID:/vArbXlW
メソッドをコールするのをメッセージとか変な例え話とか持ち出されると余計わからなくなるんじゃないかな?
新しい概念を前触れなく新しい用語で解説するものも少なくないな
432 :
デフォルトの名無しさん
2016/05/02(月) 12:14:29.07 ID:p/GOapYL
オブジェクト指向はオブジェクトとメッセージの組み合わせを中心とする
一つの考え方で、プログラミング言語の話は本当はどうでもいいんだよね
だけどみんな学習するときは言語を通してオブジェクト指向を勉強しようと
するからややこしいことになってる
最初はCORBAとかCOMを通して学んだ方がまだいいのかも
433 :
デフォルトの名無しさん
2016/05/02(月) 12:19:27.33 ID:/HEiP4n3
objective-cやろう
434 :
デフォルトの名無しさん
2016/05/02(月) 12:22:08.00 ID:my4Bhrqr
添削とか誰かしてくれれば良いんだがなぁ
435 :
デフォルトの名無しさん
2016/05/02(月) 12:25:12.55 ID:VQNjIHNC
メッセージにこだわるとかSmalltalk原理主義者か?
今どき誰も言わねーだろ
436 :
デフォルトの名無しさん
2016/05/02(月) 12:51:29.56 ID:B3EvcS9w
オブジェクト指向のメッセージとは何ぞ?
437 :
デフォルトの名無しさん
2016/05/02(月) 13:55:37.05 ID:/vArbXlW
ほらね、ややこしくなったw
438 :
デフォルトの名無しさん
2016/05/02(月) 14:15:04.30 ID:9pVsELBu
OOPにしてもなんにしても、すぐにそれは真の○○ではないみたいなノリになるから話すだけ不毛。
439 :
デフォルトの名無しさん
2016/05/02(月) 14:31:29.95 ID:JMz+Fiea
>>436 腹ぺこにゃーとcatオブジェクトが鳴くことだよ。
440 :
デフォルトの名無しさん
2016/05/02(月) 14:42:33.72 ID:3YV7E0Ft
>>431 > メソッドをコールするのをメッセージとか変な例え話とか持ち出されると余計わからなくなるんじゃないかな?
俺がその被害者だわ
2 にprint を送る ...
はあ?
なんのこっちゃ
ってなってた
441 :
デフォルトの名無しさん
2016/05/02(月) 15:13:39.68 ID:aR8AOrvI
メッセージなんて言葉でごまかしていいのは Erlang だけだぜ
442 :
デフォルトの名無しさん
2016/05/02(月) 16:18:31.60 ID:/HEiP4n3
本質がどうたらなんてのは衒学趣味の奴だけやってりゃいいのよ
443 :
デフォルトの名無しさん
2016/05/02(月) 19:10:44.37 ID:fPSF/RLG
444 :
デフォルトの名無しさん
2016/05/03(火) 00:49:50.32 ID:At+YDHai
メッセージというとQtのシグナル/スロットが思い浮かぶけどそれとはまた違うの?
445 :
デフォルトの名無しさん
2016/05/03(火) 03:43:01.38 ID:jJjwOdKF
オブジェクト指向は何ぞやって考えるよりも、
クラスという箱に変数や関数をまとめられるから便利程度に考えてるかなぁ。
実行速度のこと気になるけど、仕事上で実行速度を少しでも速くと求められることもないし・・・。
446 :
デフォルトの名無しさん
2016/05/03(火) 05:49:02.36 ID:1U/0N7SV
>>444 それは、GUIのウィジェットのイベント
obj.method()
Smalltalk 流では、主体(obj)をレシーバーと言って、
送られたメッセージ(method)を受け取るもの、と考える
447 :
デフォルトの名無しさん
2016/05/03(火) 10:04:03.33 ID:uj5UEuxV
学術的なこととか歴史的経緯とか持ち出されると初心者には余計にわからなくなるよな
元々は大規模なプログラムに対して上手くまとめられないかで考え出された
ところが初心者は大規模なプログラムなんて経験してないんだからその有難みなんてものは解らなくて当然
だからある程度慣れてきて、作っていたプログラムが肥大化してきた、さてどうしよう、からで良いのでは?
必要になれば自ずと覚えるよ
448 :
デフォルトの名無しさん
2016/05/03(火) 11:43:35.27 ID:/riA19CI
>>436 > オブジェクト指向のメッセージとは何ぞ?
ちょっと長いですが説明を試みます。
まずひとくちに「オブジェクト指向」といっても、発案者の違う2つの考え方があります。
ひとつはC++を作ったビャーネ・ストラウストラップという人が考えた抽象データ型のオブジェクト指向。
もともとSIMULA67という言語にあった「クラス」という言語機能を使って
バーバラ・リスコフという人の考えた「抽象データ型」つまり「ユーザー定義型」を扱えるようにするアイデアです。
ひと昔前のオブジェクト指向の解説には必ず載っていた
「カプセル化、継承、ポリモーフィズム」の三点セットはこのアイデアを端的に説明したものです。
(カプセル化=抽象データ型。継承+ポリモーフィズム=クラスの特徴)
なおこのオブジェクト指向では「メッセージ」はいっさい関係ありません。
メッセージが絡むのはもうひとつのアイデアの方で、
アラン・ケイという人が考えたメッセージングのオブジェクト指向です。
クラス同様にSIMULA67の「オブジェクト」という言語機能をメッセージの受け手として機能させることで、
徹底した動的遅延結合性をソフトウエアの設計から実装レベルまで徹底させよう
というアイデア、というか指針です。
すでに出てきたレスにもあるように、しかるべき文法(SmalltalkやObjective-Cのようなメッセージ式)、
あるいはErlangのような非同期でなければ「メッセージングのオブジェクト指向」の実践は困難であるかのような
主張をする人もいますが、これらはあまり本質ではなく、あればベターという程度です。
強いていうなら、処理系自体が動的遅延結合性を「良し」としていないとツライことが多くなりますが…。
Pythonは前者の考え方をよくサポートする言語なので、後者の「メッセージ」という
考え方は意識する必要はまったくありません。ただ、後者の目指す「動的遅延結合性の徹底」を
実践するのに十分な動的性は処理系として持っていますので、メッセージングを意識して
プログラムを組むこと自体は、他の遅延結合性の言語を使うよりははるかに容易です。
参考までケイがメッセージングで目指した動的遅延結合性のメリットはこちらで述べられています。
http://metatoys.org/oxymoron/oxymoron.html 449 :
デフォルトの名無しさん
2016/05/03(火) 11:48:42.86 ID:jFXKOt8Z
SIMULA USILO
450 :
デフォルトの名無しさん
2016/05/03(火) 12:49:08.54 ID:F7Orkgnr
オブジェクト指向⊂プログラミングの基礎やで
狭い範囲にばかり固執するから分からんようになんねん
451 :
デフォルトの名無しさん
2016/05/03(火) 13:33:03.92 ID:pcOhaWKy
>>445 スレを問わず「オブジェクト指向は難しい」「Cのベテランでも分からない」的なやつが沸くけど
そいつはCの構造体すら理解できなかったのかなと思ってしまうw
452 :
デフォルトの名無しさん
2016/05/03(火) 13:39:46.39 ID:iS9xrQ6W
Jupyter Notebook熱いなProcessingも動かせたわwwwww
環境はMac El Capitan、Python3、Processing3と全て最新でイケた!
ブラウザで全部いけるのは良いし、Jupyter Notebookのインタラクティブ性とクリエイティブコーディングの雄Processingとのマッチ具合はまさに妙技
Atomも捨て難いが、、、ね
Jupyter上でProcessingを動かす - Qiita
http://qiita.com/yohki/items/30839aef747158da0321 453 :
デフォルトの名無しさん
2016/05/03(火) 13:41:48.67 ID:QStWokjr
動的結合遅延性でググったらこのコピペばっかりヒットして草だ
454 :
デフォルトの名無しさん
2016/05/04(水) 10:33:46.91 ID:PLBcNQ3k
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
え
455 :
デフォルトの名無しさん
2016/05/04(水) 10:45:50.68 ID:c7vIrIvG
456 :
デフォルトの名無しさん
2016/05/04(水) 11:07:15.44 ID:auyxFsfH
こっちが現スレなのかな・・C言語でスレチかもだが教えてほしい。
Fermi世代のfloat型変数の演算速度はdouble型変数の2倍のはずなのに、
全てfloat型宣言に書き換えてもわずかしかスピードアップしない・・どうして?
457 :
デフォルトの名無しさん
2016/05/04(水) 11:15:35.89 ID:c7vIrIvG
458 :
デフォルトの名無しさん
2016/05/04(水) 18:01:54.44 ID:cRuVDbfJ
459 :
デフォルトの名無しさん
2016/05/05(木) 08:26:28.22 ID:67iI6TkB
460 :
デフォルトの名無しさん
2016/05/05(木) 10:50:52.87 ID:RN/AG29Z
a = '\n'.join(["a", "\n", "b"])
print(a)
なんでこれ
a
b
じゃなくて
a
b
って真ん中が2行の空行になるんですか?
461 :
デフォルトの名無しさん
2016/05/05(木) 10:52:20.73 ID:RN/AG29Z
a = '\n'.join(["a", "^M", "b"])
print(a)
print(len(a))
制御コードだと
a
b
ってなってくれました
どうして"\n"だけ2行連続空行なんですか?
462 :
デフォルトの名無しさん
2016/05/05(木) 11:02:54.54 ID:FPsu4mkg
>>460-461意味がわからん
3回改行したら2行空くだろ
\n\r\nだとLF,CR+LFでしょ
463 :
デフォルトの名無しさん
2016/05/05(木) 11:06:41.73 ID:Iu1YAr+H
>>> a = '\n'.join(["a", '\n', "b"])
>>> a
'a\n\n\nb'
\nは改行を表す文字
joinによって\nのあとにもう一つ\nが付加されたから、printすると2回改行される
制御コードは良く知らないが、^M はpythonでは改行文字ではないと思う
464 :
デフォルトの名無しさん
2016/05/05(木) 11:11:52.26 ID:RN/AG29Z
465 :
デフォルトの名無しさん
2016/05/05(木) 11:21:41.43 ID:l/2+Jb+M
LFとCRの区別出来てない香具師大杉
466 :
デフォルトの名無しさん
2016/05/05(木) 11:33:14.62 ID:qzGbsflZ
>>464 0D CR ^M Carriage Return(復帰)
って書いてますけど?
467 :
デフォルトの名無しさん
2016/05/05(木) 12:28:01.52 ID:194bItSc
簡単な足し算の問題も分からず突然制御コードとか言い出す馬鹿w
468 :
デフォルトの名無しさん
2016/05/05(木) 13:55:19.47 ID:Iu1YAr+H
Pythonの文字列に^M系の制御コードって埋め込めないよね?
469 :
デフォルトの名無しさん
2016/05/05(木) 14:26:05.27 ID:nzEy2CvZ
すげー超初心者スレっぽいぞ
470 :
デフォルトの名無しさん
2016/05/05(木) 14:26:16.12 ID:l/2+Jb+M
へ?
471 :
デフォルトの名無しさん
2016/05/05(木) 14:27:56.55 ID:l/2+Jb+M
わざととぼけて解答を引き出すパターンか?
472 :
デフォルトの名無しさん
2016/05/05(木) 14:45:41.89 ID:nzEy2CvZ
お前の答えは合ってるよw
反応すんな
473 :
デフォルトの名無しさん
2016/05/05(木) 14:56:58.46 ID:nzEy2CvZ
>>468 埋められるよ
^Gでベル鳴らせる(¥aと同じ)
まさかキャレット記法を本当に^Mってタイプするんだと思ってないよね
474 :
デフォルトの名無しさん
2016/05/05(木) 15:15:30.34 ID:Iu1YAr+H
>>473 そもそもエディタで入力できん
メモ帳でCtrl+Mってやると改行してしまう
475 :
デフォルトの名無しさん
2016/05/05(木) 16:12:49.95 ID:cADj9vKm
リストの要素を出力するときは
print("\t".join(l)) 派?
print(*l, sep="\t") 派?
476 :
デフォルトの名無しさん
2016/05/06(金) 09:35:34.52 ID:4+GdDbvH
>>474 なんでメモ帳?
メモ帳以外のエディタ使うと値を吹き出して死ぬ病気でも患ってるの?
477 :
デフォルトの名無しさん
2016/05/06(金) 09:45:24.88 ID:5/reRbc7
おもわぬ返り値をあびたwww
478 :
デフォルトの名無しさん
2016/05/06(金) 10:30:26.17 ID:hnSqOdnK
Windows使ってると制御コードとは無縁なイメージ
479 :
デフォルトの名無しさん
2016/05/06(金) 11:12:41.02 ID:roD8SP44
そう言えば、昔、膨大なHTML読み込ませたら
その中に偶々制御コードが混じっていたのかPCがバグった事があるな
480 :
デフォルトの名無しさん
2016/05/07(土) 23:08:50.37 ID:mX4DtE1g
質問させていただきます。
theanoを使ってcpuとgpuの速度を比較したく、以下のようなプログラムを書きました。
mat1 = np.random.rand(10000, 1000)
mat2 = np.random.rand(1000, 10000)
x = theano.shared(mat1, name='x')
y = theano.shared(mat2, name='y')
f = theano.function([], T.dot(x, y))
t1 = datetime.datetime.now()
for i in xrange(5):
t = np.dot(mat1, mat2)
t2 =datetime.datetime.now()
for i in xrange(5):
t = f()
t3 = datetime.datetime.now()
print (t2-t1).seconds
print (t3-t2).seconds
実行すると、cpu, gpuそれぞれどちらも11秒かかっており、gpuでもcpuでも変わらない結果になりました。
cpuはi7 2700, gpuはGTX560です。かなり古いものですが。。。
出力には
Using gpu device 0: GeForce GTX 560 (CNMeM is enabled)
とでているので、基本的な導入はできているはずなのですが、gpuが遅い原因はどこを調べればわかるでしょうか。
481 :
デフォルトの名無しさん
2016/05/08(日) 10:39:49.92 ID:UPr+QHpV
PythonからPHPへの言語を置き換えていってます
以下の内容が具体的に何をしているのかわかりません
----------------------------------------
import rsa
key = rsa.PublicKey(m, n)
crypt = rsa.encrypt(message, key).encode('hex')
----------------------------------------
keyを出力してみたら「PubliKey(10000000000000000, 65537)」
のような出力結果でしたが、文字列ではないようです…。
これは具体的に何の型なのでしょうか
またPHPで作成は可能でしょうか
482 :
デフォルトの名無しさん
2016/05/08(日) 11:27:11.15 ID:s53yK2zr
PHPのことなんざ知らねえよ
営業に安請け合いするなって言っとけ
483 :
デフォルトの名無しさん
2016/05/08(日) 11:40:48.74 ID:pwQcqOb7
<<囲まれてるのはクラス>>
484 :
デフォルトの名無しさん
2016/05/08(日) 11:41:43.43 ID:pwQcqOb7
help(key)
とか
key.__dict__
で色々判るよ
485 :
デフォルトの名無しさん
2016/05/08(日) 11:42:01.96 ID:a6za2jQ4
rsa モジュールの説明・ソースコードでも見たら?
486 :
デフォルトの名無しさん
2016/05/08(日) 13:56:18.44 ID:UHT13Q5F
業務でpythonつかうとかコワクね?
自慰メールみたくベータ版なら
いざしらず
487 :
デフォルトの名無しさん
2016/05/08(日) 14:02:53.45 ID:Vy26MRcU
もうすでに恐るべき事態になってるだろ
素人に移植させるとかどうかしてるわ
488 :
デフォルトの名無しさん
2016/05/08(日) 20:37:15.31 ID:UHT13Q5F
マイナンバ
jr東北新幹線
ana
jal
ほぼ日本滅亡してるな
まじでグリーンカード
489 :
デフォルトの名無しさん
2016/05/09(月) 16:32:31.15 ID:kFMtfNT1
ミロク
490 :
デフォルトの名無しさん
2016/05/09(月) 22:01:31.61 ID:JUFQim+w
文字列を反転する関数を作りました
reverse(text):
a = len(text)
b = ""
while a >= 0:
b = b + str(text[a-1])
a -= 1
return b
reverse(python!)
とすると"!nohtyp!"がreturnされるんですがなんで!が二回になるんですか
491 :
デフォルトの名無しさん
2016/05/09(月) 22:06:10.45 ID:3ReMOMtT
>>490 1. ループの中身が最後に実行されるときの a の値は?
2. そのときの a-1 の値は?
3. そのときの text[a-1] の値は?
492 :
デフォルトの名無しさん
2016/05/09(月) 22:06:54.72 ID:JUFQim+w
一行目の頭def抜けてました
493 :
デフォルトの名無しさん
2016/05/09(月) 22:19:38.10 ID:JUFQim+w
>>491 ありがとうございます
1. 0
2.-1
3.text[-1] ="!"
[-1]だと一番後ろの文字をいみするんですか?
494 :
デフォルトの名無しさん
2016/05/09(月) 22:57:26.55 ID:3ReMOMtT
495 :
デフォルトの名無しさん
2016/05/10(火) 01:27:57.44 ID:2K7FCYkV
>>490 余計な事をするなシンプルにやれ
s = 'abcde'
print(s[::-1])
496 :
デフォルトの名無しさん
2016/05/10(火) 10:37:26.97 ID:RD5Ksiop
reverse(python!)
ネタかと思った
497 :
デフォルトの名無しさん
2016/05/10(火) 22:00:19.75 ID:/QNXu+5M
C APIで質問です。
スクリプトが書かれた文字列を、実行前に
・文法エラーが無く実行可能
・文法エラーで実行不可
・エラーは無いが不完全
いずれかを判断したいのですが、そんなことは可能でしょうか。
PyParser_SimpleParseString()でできるかもしれないと思って調べているのですが、
公式ドキュメントの説明は1行だけでそもそも使い方がよくわかりません。
また、市販の書籍で C API が詳しく説明されているものってあるでしょうか?
498 :
デフォルトの名無しさん
2016/05/10(火) 22:07:46.52 ID:P8g7ANcx
>・エラーは無いが不完全
なにこの曖昧な質問
499 :
デフォルトの名無しさん
2016/05/10(火) 22:28:04.08 ID:8687BtrK
pyflakesとかjediがやってるようなランタイムエラー予測だろうか?
でもあれはC APIじゃなくて自前のはず
500 :
デフォルトの名無しさん
2016/05/10(火) 22:41:27.11 ID:/QNXu+5M
>・エラーは無いが不完全
要は複合文のヘッダだけとか、実行するのに後続の文が必要かどうか判断したいということです。
501 :
デフォルトの名無しさん
2016/05/11(水) 01:01:40.75 ID:a0ZX6bAM
それは自分でコードを書けば出来ます
都合のいいAPIなんてありませんよ
502 :
497
2016/05/11(水) 08:33:31.12 ID:AfFgGj2Z
pythonのインタラクティブシェル自体が似たようなことをしているので何か用意されているかなと
思ったんですが、どっちにしてもPyParser_*とか使ってる人はあまりいなさそうですね。
503 :
デフォルトの名無しさん
2016/05/11(水) 09:38:42.64 ID:CTBQMbBK
504 :
デフォルトの名無しさん
2016/05/11(水) 10:06:29.08 ID:XQZcTmLW
Python3から導入された関数のアノテーション(Python2では構文エラー)
引数や返り値の情報を記述しておくとプログラム実行中に参照できる仕組みだ
->と:の間にある識別子は戻り値の型を表している
505 :
503
2016/05/11(水) 10:20:52.74 ID:CTBQMbBK
>>504 どうもありがとうございます。
戻り値の型ですね勉強してみます。
506 :
デフォルトの名無しさん
2016/05/11(水) 10:42:00.28 ID:hUFeoSc3
507 :
デフォルトの名無しさん
2016/05/11(水) 15:40:20.77 ID:qkI+/TV/
>>497 アルゴリズムの不備まで発見してくれるプログラムなら歓迎
508 :
デフォルトの名無しさん
2016/05/11(水) 20:41:16.85 ID:AfFgGj2Z
>>506 ありがとうございます!まさにこれです。
509 :
デフォルトの名無しさん
2016/05/14(土) 20:30:32.83 ID:hY9hPc0m
C-APIのPyRun_String()に"help()"を渡すとstdinの入力待ちになって関数から戻って
来ないんですが、事前に文字列をチェックする以外の回避策ってありますか?
引数ありのhelpはできれば使いたいです。
510 :
デフォルトの名無しさん
2016/05/14(土) 21:19:00.00 ID:6U2mx8Ru
Dockerって無料でつかえますか?
511 :
デフォルトの名無しさん
2016/05/15(日) 06:19:37.74 ID:LUAg82cd
どっかな〜。
512 :
デフォルトの名無しさん
2016/05/15(日) 13:42:25.50 ID:u1VrDpYp
たぶんここで聞くよりStackoverflowの方がいいと思うよ
513 :
デフォルトの名無しさん
2016/05/15(日) 18:33:38.17 ID:bWyGoEC1
514 :
デフォルトの名無しさん
2016/05/17(火) 16:45:01.41 ID:PkSWSfDh
pycharmのコマンドライン引数に改行を含む文字列を入れたいのですが、コピペすると空白に置換されてしまいます。
どうやったら改行として認識してくれるのでしょうか?
pycharm 4.5 osx 10.6.8
515 :
デフォルトの名無しさん
2016/05/17(火) 16:48:43.39 ID:NWTAtPGB
"\\n"
516 :
デフォルトの名無しさん
2016/05/17(火) 17:01:39.13 ID:PkSWSfDh
>>515 それは試しました。見た目的は\nとして入るのですが、
\nではなく\\nとして扱われてしまうようです。
517 :
デフォルトの名無しさん
2016/05/17(火) 18:14:23.89 ID:NWTAtPGB
サニタリーされてるのかな
518 :
デフォルトの名無しさん
2016/05/17(火) 18:46:50.08 ID:vucfexP9
""" """
519 :
デフォルトの名無しさん
2016/05/18(水) 09:05:35.95 ID:fo4ZKjj5
>>518 それも試しましたが結局コピペした時点でスペースに変換されてしまっているのでダメなようです。
520 :
デフォルトの名無しさん
2016/05/18(水) 10:29:02.16 ID:fa/lKbSr
>>514 コピペ元のツールは何を使っていますか?
htmlやpdf等でレンダリングした文字列をコピペしても動作は再現されますか?
521 :
514
2016/05/18(水) 10:42:15.03 ID:fo4ZKjj5
>>520 コピペ元はテキストエディタ(coteditor)ですが、
pycharmのscript parametersで直接改行を入れても駄目みたいです。
プリファレンスとかで設定があるのでしょうか?
522 :
514
2016/05/18(水) 15:36:09.97 ID:fo4ZKjj5
シングルクォートで囲むか、全く囲まなければ改行を入力(コピペも)可能でしたが
改行自体が引数のセパレータになってしまいます。
'a
b'
を与えると'a','b'となってしまいます。どこかに設定があるのでしょうか?
523 :
デフォルトの名無しさん
2016/05/18(水) 18:18:31.66 ID:fa/lKbSr
524 :
デフォルトの名無しさん
2016/05/18(水) 18:28:55.55 ID:u7J2zmgl
rlwrap
525 :
デフォルトの名無しさん
2016/05/19(木) 09:31:17.04 ID:0vHf503H
joinの結合についていい方法があれば教えてください。
str = [''a,'b']
'|'.join(str)
a|b
片方が空や両方が空の場合は結合したくないのですが
str = [''a,'']
a
str = ['','b']
b
str = ['','']
''
よろしくお願いいたします。
526 :
デフォルトの名無しさん
2016/05/19(木) 09:39:15.78 ID:RzKKX7lE
joinだけでは無理なのでfilterを噛ますか
リスト内包表記で空文字列を削除してください
527 :
514
2016/05/19(木) 10:02:40.00 ID:Qymn/Hz4
>>523 ありがとうございます。残念ながら関係ないようです。
>>524 入れてませんが、調べてみると関係なさそうな気がするのですが…。
528 :
デフォルトの名無しさん
2016/05/19(木) 10:05:22.19 ID:Qymn/Hz4
>>525 もっとスマートに書けそうな気もしますが、こういう事ですよね?
jt='|'
if "" in str: jt=''
jt.join(str))
529 :
デフォルトの名無しさん
2016/05/19(木) 10:06:50.14 ID:Qymn/Hz4
あ、最後に余計なパーレンが…。
530 :
デフォルトの名無しさん
2016/05/19(木) 10:41:33.07 ID:xPvCxnYp
>>525 ('|' if all(str) else '').join(str)
531 :
デフォルトの名無しさん
2016/05/19(木) 10:51:59.50 ID:0vHf503H
>>530 ありがとうございます。
内容がわからないのですができました。
勉強します。
>>528 ありがとうございます
joinするとくっついてしまうので
532 :
デフォルトの名無しさん
2016/05/19(木) 10:59:34.46 ID:Qymn/Hz4
>>530 なるほど。こんな書き方もできるんですね。
533 :
531
2016/05/19(木) 11:25:13.21 ID:0vHf503H
ありがとうございます。
複数個の文字結合もできるようになりました。
from functools import reduce
def str_join(a, b):
return ('|' if all([a, b]) else '').join([a, b])
items = ['a', 'b', 'c', '', 'e', 'f']
str = reduce(str_join, items)
print(str)
534 :
デフォルトの名無しさん
2016/05/19(木) 12:21:38.58 ID:5BRHv2Pr
内包表記でフィルターすれば空文字列を取り除けるのでreduceいらないよ
'|'.join(s for s in items if s)
535 :
531
2016/05/19(木) 14:51:00.71 ID:0vHf503H
>>534 本当だ1行になるなんて
勉強になりましたありがとうございます。
ありがとうございます。
536 :
デフォルトの名無しさん
2016/05/19(木) 14:53:28.20 ID:FRZhj0SU
リストの縦と横を逆にするにはどうすればいいでしょうか?
集合をリストに変えて、csvで出力するのに、そのままだと横に長い一行のcsvができてしまいます
これを縦一列に変えたいです
よろしくお願いします
537 :
デフォルトの名無しさん
2016/05/19(木) 15:09:12.89 ID:Hoylg+9/
'\n'.join(list)
538 :
デフォルトの名無しさん
2016/05/20(金) 23:32:55.64 ID:2BTm9IiX
jupiter notebookって1行 1cellで書くものなんですか?
539 :
デフォルトの名無しさん
2016/05/21(土) 00:04:33.00 ID:bzA4Z8om
誰がそんなこと言いましたか
私が成敗して差し上げよう
540 :
デフォルトの名無しさん
2016/05/21(土) 04:12:57.81 ID:9rcxhiEb
class super:
def __init__(self, x, y):
self.x = x
self.y = y
def see(self):
print self.x, self.y
これがあってtest.pyとして保存して
import test
class sub(test):
def __init__(self, x, y, z):
test.super.__init__(self, x, y)
self.z = z
これを実行するとmodule.__init__() takes at most 2 arguments (3 given)が出て
エラーになる意味がわからないんだがなんで?
541 :
デフォルトの名無しさん
2016/05/21(土) 04:14:56.29 ID:9rcxhiEb
インデントが消えた
class super:
def __init__(self, x, y):
self.x = x
self.y = y
def see(self):
print self.x, self.y
これがあってtest.pyとして保存して
import test
class sub(test):
def __init__(self, x, y, z):
test.super.__init__(self, x, y)
self.z = z
ターミナルで直接打ってこれを実行するとmodule.__init__() takes at most 2 arguments (3 given)が出て
エラーになる意味がわからないんだがなんで?
542 :
デフォルトの名無しさん
2016/05/21(土) 05:17:28.05 ID:nhWaRjb3
class sub(test.super):
543 :
デフォルトの名無しさん
2016/05/21(土) 08:40:39.13 ID:FusMkK2d
544 :
デフォルトの名無しさん
2016/05/21(土) 09:48:35.85 ID:vO9Gsi6F
トンクス
545 :
デフォルトの名無しさん
2016/05/21(土) 20:10:50.35 ID:W+CoeO47
pythonのイントネーションって、ぱ↑い↓そ↓ん↓でいいよね?
暇潰しにpaizaのpythonの動画の講座観てみたら
イントネーションが名古屋人っぽくて違和感しか感じなかった
546 :
デフォルトの名無しさん
2016/05/21(土) 21:07:32.70 ID:FusMkK2d
お前も味噌漬けにしてやろうか
547 :
デフォルトの名無しさん
2016/05/21(土) 22:16:41.59 ID:ke/4mTTc
ドットインストールの人もおかしなアクセントだったなパイソン⤴みたいな語尾上げ もしかして日本ではそれが標準なのか?
548 :
デフォルトの名無しさん
2016/05/21(土) 22:44:40.45 ID:yD2dQWIJ
北関東風かな
549 :
デフォルトの名無しさん
2016/05/22(日) 11:46:08.99 ID:AP+PWcpr
アホな質問ですが、pandas ってどう発音するの?
パンダス? パンダ?
550 :
デフォルトの名無しさん
2016/05/22(日) 12:05:17.72 ID:7hG4VCWt
苺で決定しないあれじゃね
551 :
デフォルトの名無しさん
2016/05/22(日) 21:58:01.86 ID:u54IYjt6
552 :
デフォルトの名無しさん
2016/05/22(日) 22:08:06.50 ID:u54IYjt6
因みに
>>551はiOSのTestFlight、Pythonista 3で作成してるのでよろしく
手持ちのiPhoneでどこでもインタラクティブなプログラミングが出来るからPythonを選んだ
正直日本人としてはRubyを選びたかったのだけども遊び心取り入れながらやらないと挫折すると思って
553 :
デフォルトの名無しさん
2016/05/22(日) 22:21:02.23 ID:ev2tBHTu
gmailを送信しようと試行錯誤していますが、例外が発生します
■コード
smtpobj = smtplib.SMTP('smtp.gmail.com', 587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.ehlo()
smtpobj.login(ADDRESS, PASSWORD)
smtpobj.sendmail(ADDRESS, ADDRESS, msg.as_string())
smtpobj.close()
■エラーログ
File "xxxx.py", line 61, in send_mail
smtpobj.starttls()
File "C:\Python27\lib\smtplib.py", line 635, in starttls
raise SMTPException("STARTTLS extension not supported by server.")
smtplib.SMTPException: STARTTLS extension not supported by server.
smtpの知見がなく、原因の特定ができません
どなたか有識者がいましたら、ご教示お願いいたします
554 :
デフォルトの名無しさん
2016/05/22(日) 22:31:19.91 ID:FTGg1fS8
一個目のehlo抜いてみ
俺もsmtpは詳しくないよ
ただ検索はできる
555 :
デフォルトの名無しさん
2016/05/22(日) 22:53:55.66 ID:n1Qbyn6p
>>551 へえ、一ヶ月のヒヨッコにしては上出来じゃん。
556 :
デフォルトの名無しさん
2016/05/22(日) 22:56:39.34 ID:ev2tBHTu
>>555 ご回答ありがとうございます
検索はしており、既に色々試しております
@555さんの言うとおりの実装
→smtplib.SMTPServerDisconnected: Connection unexpectedly closed
Asmtpobj.starttls()しない実装
→smtplib.SMTPException: SMTP AUTH extension not supported by server.
BSMTP_SSLを使う実装(ポート:465でehlo→login→mail→rcpt→data→quit)
→smtplib.SMTPException: SMTP AUTH extension not supported by server.
色々試してみたのですが、小手先の実装では対処できないと判断し、
有識者の方に問い合わせている次第です
557 :
デフォルトの名無しさん
2016/05/23(月) 10:26:53.15 ID:ZswRR6pu
>>553 STARTTLS使ってるのにポートが587だったり
どうせどうせ意味も分からずコピペで適当に書いたんだろ?
558 :
デフォルトの名無しさん
2016/05/23(月) 11:12:58.52 ID:eNC/GJ27
STARTTLS AND BIBLE BLACK
559 :
デフォルトの名無しさん
2016/05/23(月) 13:24:06.10 ID:09vKggRU
AppEngine使えば良いのに
560 :
デフォルトの名無しさん
2016/05/24(火) 01:07:55.77 ID:qcT4oCcB
csvファイルの内容を丸ごと読み込んだ文字列があるとき、これをパースしてDictReaderのように
行/フィールドの単位でアクセスする簡単な方法ってあるでしょうか?
csv.readerに渡すイテレータを自分で用意するにしても、単に改行でsplitすればいいというわけでも
ないですし。
561 :
デフォルトの名無しさん
2016/05/24(火) 01:49:04.79 ID:8i7LxfwV
whooshの検索ってどのくらいメモリ食いますか?
インデックス全部メモリに載せる?
562 :
デフォルトの名無しさん
2016/05/24(火) 06:59:15.34 ID:gog9csGh
>>560 内容の文字列をすでに持っているけどファイルオブジェクトが必要な場合はio.StringIOを使う
文字列をio.StringIO()でラップしてそれをcsv.reader()やcsv.DictReader()へ渡せばよい
563 :
デフォルトの名無しさん
2016/05/24(火) 07:48:55.75 ID:qcT4oCcB
564 :
デフォルトの名無しさん
2016/05/25(水) 09:55:49.94 ID:CQJrAuJk
ウェブ上のテーブルからデータをスクレイピングしpymysqlでMySQLに格納するコードを書き実行していたのですが、突然
File
565 :
デフォルトの名無しさん
2016/05/25(水) 09:59:33.62 ID:CQJrAuJk
ウェブ上のテーブルからデータをスクレイピングしpymysqlでMySQLに格納するコードを書き実行していたのですが、突然
File
566 :
デフォルトの名無しさん
2016/05/25(水) 11:14:48.15 ID:i9J+cwEM
書き込み中に突然死すんの止めろ
怖いだろ
567 :
デフォルトの名無しさん
2016/05/25(水) 11:46:39.14 ID:JU/bPfqT
このスレは以降>564-565を悼むレスでお願いします( ̄人 ̄)
568 :
デフォルトの名無しさん
2016/05/25(水) 13:12:05.51 ID:pZYZ14wu
悼む面々
__ ___
/ヽ ヽ \ \
∠/| | )´∀`)
| | / つ つ
ヽ ヽ/ /
\∠__/
569 :
デフォルトの名無しさん
2016/05/25(水) 13:26:50.66 ID:lB/0pCrv
突然死タプルに追加しとくね
570 :
デフォルトの名無しさん
2016/05/25(水) 14:48:40.46 ID:JMqhkYJX
書き込み中に死亡で連投は珍しいな
571 :
デフォルトの名無しさん
2016/05/25(水) 18:06:21.90 ID:Lglpj/WS
pythonをC++に埋め込もうとしていてpipで取得したgoogleapiのパッケージを
importすると取得できないんだけどなんで?
具体的にはPyRun_SimpleString関数で「from apiclient.discovery import build」を渡しても-1を返してくる
python.exeでpyを実行したら正常に実行されるのに
572 :
デフォルトの名無しさん
2016/05/25(水) 18:16:27.96 ID:JMqhkYJX
sys.path.add
573 :
デフォルトの名無しさん
2016/05/25(水) 21:37:20.09 ID:v4k3nQfb
Py_DEBUGを有効にしたデバッグビルドって、やっぱり自分で作らないとならないんですかね?
Windows版のバイナリがどこかで配布されていたらありがたいんですが。
574 :
デフォルトの名無しさん
2016/05/26(木) 10:14:46.13 ID:e1Baxn87
ビルドも出来ない小僧とか恥ずかしいよ
575 :
デフォルトの名無しさん
2016/05/26(木) 17:14:51.86 ID:AWGPXuPV
class Foo(object):
def __init__(self, bar):
for k, v in bar.items():
self.k = v
bar = {'name': 'Yamada', 'occupation': 'whore',
'phone_number': '000-0000-0000', 'email_address': 'xxxxxxxx@yahoo.com', }
me = Foo(bar)
print(me.name)
こんな感じで、インスタンス変数selfを自動的に次々と設定出来ないんだっけ?
自分の書き方が悪いだけだろうけど 👀
Rock54: Caution(BBR-MD5:a57c1d1a78137720f7406602f719afd4)
576 :
デフォルトの名無しさん
2016/05/26(木) 17:37:09.73 ID:PPtVZd97
setattr(self, k, v)
577 :
デフォルトの名無しさん
2016/05/26(木) 17:42:46.95 ID:AWGPXuPV
578 :
デフォルトの名無しさん
2016/05/26(木) 17:58:40.86 ID:PPtVZd97
__import__()
とかも便利
579 :
デフォルトの名無しさん
2016/05/26(木) 19:47:19.69 ID:AWGPXuPV
ごめん、もう一つ
class内メソッドで全てのインスタンスプロパティを取得するにはどうすればいい?
上の例で言えば、
self.name, self.email, self.phone_numberなど全部
def getInfo(self):
for info in self.__class__:
のようなマジックメソッドで取れるかと思ったんだけど、ドキュメント見ても見つからなかったもので
580 :
デフォルトの名無しさん
2016/05/26(木) 19:59:31.64 ID:n5TjTPB6
581 :
デフォルトの名無しさん
2016/05/26(木) 20:13:11.91 ID:AWGPXuPV
>>580 ありがとう
self.__dict__で表示できた
582 :
デフォルトの名無しさん
2016/05/26(木) 22:37:01.70 ID:ChKgTt8t
今pythonでゲーム開発する場合はPySDL2の一択ですか?
他に使えそうなものがあれば教えてください。
583 :
デフォルトの名無しさん
2016/05/27(金) 00:54:47.18 ID:Drz4UeTd
複数の任意のスクリプトをロードして実行できるホストアプリケーションを作ろうとしているんだけど、
PyQtなんかのGUIライブラリはイベント待ち中にGILを解放してくれるようになってるのかな?
単にC++APIのQApplication::exec_()呼んでるだけだとしたら望み薄だけど。
584 :
デフォルトの名無しさん
2016/05/27(金) 11:41:54.10 ID:+931Hxzr
pygame
585 :
デフォルトの名無しさん
2016/05/27(金) 11:53:48.47 ID:Lkh9WQnY
pygame開発終了してるしょ
586 :
デフォルトの名無しさん
2016/05/27(金) 12:19:34.82 ID:AZKYjFu+
587 :
デフォルトの名無しさん
2016/05/27(金) 17:11:44.55 ID:a5zDK+Zd
PyDX3D
588 :
デフォルトの名無しさん
2016/05/27(金) 18:14:43.22 ID:2oLBi80w
unityにC++でええやろ
589 :
デフォルトの名無しさん
2016/05/27(金) 19:32:57.80 ID:GxBEhPY2
SL4Aでpython動かすって仮想ソフト上で動かすってことですか?
590 :
デフォルトの名無しさん
2016/05/28(土) 00:24:17.56 ID:PtZBoQp9
PyQt, kivy はどうなの?
591 :
デフォルトの名無しさん
2016/05/28(土) 06:30:56.63 ID:Y6pmFgbo
GUIツールキットとゲームに特化したフレームワークとは違う気がする
592 :
デフォルトの名無しさん
2016/05/28(土) 11:39:59.16 ID:YkPoIoOS
ゲームに特化したフレームワークでGUI作ると
速くてさくさくクールなエクスペリエンスアプリになる
593 :
デフォルトの名無しさん
2016/05/28(土) 14:31:32.05 ID:MiXBDbnH
おれ、芸術がエクスプロージョンしそうでつ
594 :
デフォルトの名無しさん
2016/05/30(月) 00:47:29.95 ID:fXfXrHtR
python3を使用しています。
python2系だと使えない構文があるり、新しい環境で実行するときにエラーになるので、
実行時に最初に3未満のバージョンの場合には、ソッコーで「バージョンが古いので実行できない」的な出力を出して落ちるようにしたいです。
version < 3 みたいな書き方ができるのでしょうか?
595 :
デフォルトの名無しさん
2016/05/30(月) 01:42:05.43 ID:W9bpgmir
import sys
if sys.version_info < (3, 0):
sys.exit('python2以下ではダメ、python3以上で使え')
596 :
デフォルトの名無しさん
2016/05/30(月) 01:45:56.23 ID:tfgp+jfD
platformモジュールで取れる
が、同じモジュール内でSyntaxErrorより先にチェックすることはできないので、ちょっと工夫が要る
597 :
594
2016/05/30(月) 01:56:13.97 ID:fXfXrHtR
>>595,596
できました!
ありがとうございました。
598 :
デフォルトの名無しさん
2016/05/30(月) 08:27:35.61 ID:PEdp0QjP
>>589 bionic用にコンパイルしたのを動かす感じ
599 :
デフォルトの名無しさん
2016/05/31(火) 22:52:27.26 ID:mtPUDASJ
世界中の言語が全てPythonだったらと思うことはありますか?
PHPのプロジェクトでPHP死ねと無意識につぶやいてしまうことはありますか?
VBA殺すもあると思いますがどうですか?
600 :
デフォルトの名無しさん
2016/05/31(火) 22:57:22.26 ID:mtPUDASJ
でもスネークはタイプしづらいから嫌いなんです
なんでペップではスネーク強制なんでしょうか?
疑問です
601 :
デフォルトの名無しさん
2016/05/31(火) 23:02:35.23 ID:4be7k8LA
超初心者です。超初心者用の言葉を信じて簡単なことを質問しますが、
出力結果として、jpgの画像を新しいウィンドウで表示する方法を教えて下さい。
Pillowとtkinterで試しているのですがよくわかりません。
Python 3.5.1でPyCharm Community Edition 2016.1.4を使っています。
602 :
デフォルトの名無しさん
2016/05/31(火) 23:03:29.17 ID:kZBDyKkq
株式市場や天気予報のシステムがPythonだったりOSがPythonで書かれてたりしたら文明が崩壊しかねない
603 :
デフォルトの名無しさん
2016/05/31(火) 23:14:41.59 ID:wbCptivn
604 :
デフォルトの名無しさん
2016/05/31(火) 23:25:46.92 ID:mtPUDASJ
>>602 そりゃあ、速さが必要なとこはCとか必要なのかもしれない
でも、ペチプ〜の助や頭がパーッルやオモチャのルビーで地獄を見るくらいなら
Pythonの方がいいと思いませんか?
でもPython唯一のWebFW選択肢であるディージャンゴはパフォーマンス悪いんでしたっけ
なんとかならないのかなあ
605 :
デフォルトの名無しさん
2016/05/31(火) 23:29:56.89 ID:zJkVcFRt
Sphinxで自作モジュールのドキュメントを書いています。
定数代わりのモジュール変数があるとき、py:data:: で値を記述することってできるんでしょうか?
help()で表示されるように値もドキュメントに記述したいのですが。
606 :
デフォルトの名無しさん
2016/06/01(水) 10:14:23.95 ID:dn+cRXR4
pythonって全然updateされないね
3.5.1がリリースされている間にphpで何回updateがあったと思ってるんだよ
607 :
デフォルトの名無しさん
2016/06/01(水) 10:15:52.34 ID:dn+cRXR4
軽量系フレームワークでflaskとbottleが持ち上げられるけど
どう考えてもflaskは軽量なんかじゃない
608 :
デフォルトの名無しさん
2016/06/01(水) 11:54:54.82 ID:vYL3prSX
必要な機能はモジュールで提供される
からな
609 :
デフォルトの名無しさん
2016/06/01(水) 15:39:23.00 ID:Eelfp7Ua
>>604 なんで、perlやrubyがディすられてるの?
Cなんて余程上手に書かないと必ず嫌なエラー混じるよ
そこまで言うなら言語ではなくハードウェアから組み立てないと信頼性は得られないと思うけどな
610 :
デフォルトの名無しさん
2016/06/01(水) 15:40:55.41 ID:c7aWQBRE
下手なんですねわかります
611 :
デフォルトの名無しさん
2016/06/01(水) 17:02:27.80 ID:8r6+eogE
ハードウェアから組み立てると信頼性が得られると、ナゼ思ったのか。
612 :
デフォルトの名無しさん
2016/06/01(水) 17:24:22.06 ID:JmeWQFIS
python専用のアーキテクチャでも作るのか
613 :
デフォルトの名無しさん
2016/06/01(水) 18:49:42.62 ID:vYL3prSX
パールで地獄をみた俺様が通りますよ
614 :
デフォルトの名無しさん
2016/06/01(水) 21:28:23.78 ID:2Qe8pgiu
地獄は見てないけど今時 perl とか無いだろ
615 :
デフォルトの名無しさん
2016/06/01(水) 21:44:39.61 ID:2PlyjRlv
ふぉっふぉっふぉっ、
お若いの、perlはまだまだ使われておるぞ、
pythonの影響も受けながら醜くもじわじわしぶとく進化しておるぞ
616 :
デフォルトの名無しさん
2016/06/01(水) 22:01:50.49 ID:ot033K/9
>>609 perlは言うまでもないが
そのperlの後継として作られたrubyも十二分にゴミだよ
perlが腐ったゴキブリのウンコだとしたら
rubyは腐った生ゴミぐらいだけど
617 :
デフォルトの名無しさん
2016/06/01(水) 22:03:42.33 ID:ot033K/9
>>606 なぁ、屁チプ〜の助でさえ倍速化の神アプデしてるのに(ゴミに違いはないが)
あー、ほんと、ああいう糞言語メンテしてる連中みんな豆腐に頭打ち付けて死なねえかな
618 :
デフォルトの名無しさん
2016/06/01(水) 22:08:05.62 ID:ot033K/9
だいたいよお
PythonでExcelさえまともに扱えるライブラリがないとか
まともにシェア獲得する気ねえのかよと
シェアって大事だぞ
焦げたウンカスみたいなペチプ〜でも世にはびこって未だこびりついてるからな
ああああああああ死ね死ね死ね死ね死ね殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す殺す
619 :
デフォルトの名無しさん
2016/06/01(水) 22:30:44.91 ID:Eelfp7Ua
>>616,613
ruby別に後継でもないけどな
具体的にどこで躓いたんだ?
>>610 上手ければperlでも上手に扱えるんじゃない?
ま俺はどっちでもキッチリエラーでまくるけどw
>>611 どの言語もダメだといって、バグ突き詰めると回路の設計からってなるから
620 :
デフォルトの名無しさん
2016/06/01(水) 22:35:47.15 ID:ot033K/9
>>619 歴史のお勉強してくださぁいおばかさぁん
ルビィはねえーゴミだよーゴォーミぃー しーね しーね
621 :
デフォルトの名無しさん
2016/06/02(木) 01:49:39.20 ID:/eeP37sY
ぶっちゃけ地獄パールには感謝している
まだまだパール全盛だったっころ
死ぬよりましとpythonと出会うきっかけに
パールがもうすこしまともだったと
思うとゾッとする
パールのばったもんのルビーには
鼻から興味ない
622 :
デフォルトの名無しさん
2016/06/02(木) 01:52:17.83 ID:/eeP37sY
>>620 パールで地獄をみたから
さんざん提灯記事で太鼓持ちされた
後釜ルビーにだまされることもなく
れーるず何チャラで書いちゃった
システムって一体どーなってるんだろうね(他人事
623 :
デフォルトの名無しさん
2016/06/02(木) 07:06:06.68 ID:kcfh/1/v
>>619 それは誰かが組み立てたハードウェアの信頼性が得られない例ではないか!
>>609の主張と全然関係ないではないか!!
!を多用しているが怒っているのではないぞ!!!
624 :
デフォルトの名無しさん
2016/06/02(木) 12:26:51.09 ID:kBgl6uD2
625 :
デフォルトの名無しさん
2016/06/02(木) 16:36:22.53 ID:JBET2xlv
Python3.5(Windows7@x64)で自作したDLLを呼び出そうとしています。
extern
626 :
デフォルトの名無しさん
2016/06/02(木) 16:39:49.56 ID:JBET2xlv
Python3.5(Windows7@x64)で自作したDLLを呼び出そうとしています。
__stdcall Data_Read( DWORD id, DWORD FileSize, LPVOID pBuf );
3個目の引数「LPVOID pBuf」はどうやって渡せば良いのでしょうか?
↓この様にしたのですが、TypeErrorが発生してどうすれば良いのかわかりません。
どなたかアドバイス頂けないでしょうか?
memr = [0 for i in range( FileSize )]
if dll.Data_Read( _ID, FileSize, memr ) == 0:
ctypes.ArgumentError: argument 3: <class 'TypeError'>: Don't know how to convert parameter 3
627 :
デフォルトの名無しさん
2016/06/02(木) 17:04:04.64 ID:hUHQWxw2
>>626 エクスポート関数にそのまま渡せるPythonオブジェクトは
None、整数、バイト列オブジェクトおよび (Unicode) 文字列だけ
create_string_buffer(FileSize)や(c_ubyte*FileSize)()で確保して
628 :
デフォルトの名無しさん
2016/06/02(木) 18:03:50.38 ID:kBgl6uD2
ctypes.string_buffer だっけ
629 :
デフォルトの名無しさん
2016/06/02(木) 22:14:38.34 ID:aIEnZs2U
>>624 キムチ大好きパイチョンニダくんとかどう?
630 :
デフォルトの名無しさん
2016/06/03(金) 04:10:13.98 ID:9Oc63jCU
range()のargumentってなんで終わりの数指定すると一個前で終わるんですか?紛らわしくない?
631 :
デフォルトの名無しさん
2016/06/03(金) 04:44:32.32 ID:JpJSwfFi
個人的にrange()のstop仕様は馴染みがあった
Cのfor文でよく見かけるイディオムから引き継がれたのだと思う
for (i = start; i < stop; i += step) { ... }
632 :
626
2016/06/03(金) 12:06:37.18 ID:oGfTLMwn
627様有り難う御座います。
memr = create_string_buffer( FileSize )
とする事でDLLを呼び出す事はできました。
DLLは読み出せたのでDLLから戻ってきたデータを参照したいのですが、
create_string_buffer( FileSize )と定義したmemrの各要素にバイト単位でアクセスするにはどうしたら良いのでしょうか?
memrの1番最初の要素には、0x6Aが入っています。
これを以下の様にif文で判定すると
if memr[0] == 0x6A: ←偽判定
if memr[0] == b'j': ←真判定
バイト文字列?をバイトにキャストするにはどうすれば良いのでしょうか?
633 :
デフォルトの名無しさん
2016/06/03(金) 12:13:25.61 ID:tUMDOVAV
ord()
634 :
デフォルトの名無しさん
2016/06/03(金) 12:20:05.71 ID:JpJSwfFi
バッファからバイト文字列(書き換え不可)を取り出すには
memr.value(ヌル文字終端)かmemr.raw(用意したバッファ全て)を参照する
バイト文字列にすれば添え字で数値を参照できる
635 :
デフォルトの名無しさん
2016/06/03(金) 13:18:20.58 ID:m9/J43Do
androidにsl4aとpythonを入れたいのですが、インストールのやり方を説明しているHPにはapkというファイルがあると書かれているのに
最新のgithubにはapkというファイルがありません、どうしたらインストールできますでしょうか
636 :
626
2016/06/03(金) 13:45:46.14 ID:oGfTLMwn
有り難う御座います。
希望の動作をさせる事ができました。
if memr.value[0] == 0x6A:
if ord( memr[0] ) == 0x6A:
これでできました。
637 :
デフォルトの名無しさん
2016/06/03(金) 16:37:50.90 ID:tUMDOVAV
638 :
デフォルトの名無しさん
2016/06/03(金) 16:45:48.22 ID:tUMDOVAV
639 :
デフォルトの名無しさん
2016/06/03(金) 16:47:52.34 ID:tUMDOVAV
640 :
デフォルトの名無しさん
2016/06/03(金) 17:27:57.11 ID:m9/J43Do
641 :
デフォルトの名無しさん
2016/06/03(金) 19:22:32.56 ID:m9/J43Do
androidにpythonは入りましたが、pythonをroot権限で実行するにはどうしたらいいのでしょうか、
SuperSUでroot化まではできましたが、それでは不十分のようで
chmodでこけているようです
642 :
デフォルトの名無しさん
2016/06/03(金) 21:29:56.80 ID:6QnOC8gI
どこ産かもわからんパカチョンをスマホにつっこんでルート化しちゃう池沼の人っておる?
643 :
デフォルトの名無しさん
2016/06/03(金) 23:02:45.32 ID:INRuOLc6
一度読み込みが終わったジェネレータを
再度先頭に巻き戻す方法を教えてください
644 :
デフォルトの名無しさん
2016/06/04(土) 03:32:23.79 ID:eSRbunGZ
ここで質問しちゃうような奴はroot化なんてしないほうがいい
645 :
デフォルトの名無しさん
2016/06/04(土) 11:49:49.09 ID:9idbSXvO
646 :
デフォルトの名無しさん
2016/06/04(土) 12:45:00.32 ID:2idQR+vq
647 :
デフォルトの名無しさん
2016/06/04(土) 17:38:42.38 ID:ZYjMkIKS
python 3.6のリリースは今年の12月の予定だ
こういう書き方が出来るようになるから便利
a = "hello"
print(f"{a} world") # hello world
str.formatの出番はなくなる
648 :
デフォルトの名無しさん
2016/06/04(土) 17:44:34.36 ID:+BUygQLa
pythonとrubyのフォーマット書式はクソ
649 :
デフォルトの名無しさん
2016/06/04(土) 18:33:30.47 ID:a6qGPK3q
コマンドラインから渡す引数の処理をしています。
下記でオプションの値を制限できますが、これをリストではなく、正規表現で制限するにはどうすればよいですか?
import argparse
p = argparse.ArgumentParser()
p.add_argument("--hoge", help="hogehoge.", type=int, choices=[1,2,3])
650 :
デフォルトの名無しさん
2016/06/04(土) 18:44:22.91 ID:DlnDvjYz
651 :
デフォルトの名無しさん
2016/06/04(土) 20:02:59.37 ID:+uxdUKW6
652 :
649
2016/06/04(土) 20:08:01.47 ID:a6qGPK3q
>>651 コメントありがとうございます。
r"\.py$"
これをリストで表現するのは難しいと思っています。
653 :
デフォルトの名無しさん
2016/06/04(土) 20:12:40.99 ID:+uxdUKW6
python argparse regex
でぐぐれば解決方法が沢山でたけど
654 :
649
2016/06/04(土) 21:08:48.40 ID:a6qGPK3q
655 :
デフォルトの名無しさん
2016/06/05(日) 00:06:44.31 ID:ug/2sx2v
ドキュメントに書いてないんならないんだよ
656 :
デフォルトの名無しさん
2016/06/05(日) 00:16:00.44 ID:XSqqkbkB
>r"\.py$"
>これをリストで表現するのは難しいと思っています。
何が難しいのかさっぱりわからないというより説明をしっかりしないからやりたいことが伝わらない
657 :
デフォルトの名無しさん
2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん
658 :
デフォルトの名無しさん
2016/06/05(日) 01:36:25.92 ID:X+8v2WhO
>>652 add_argument()のtypeキーワードに引数をチェックする関数を指定すればいい
チェックが通ったら煮るなり焼くなりしてreturnすればおk
def hoge_type(value):
if not re.search(r'\.py$', value):
raise ValueError('invalid extension')
return value
このhoge_typeを下のように指定する
parser.add_argument('--hoge', type=hoge_type)
659 :
デフォルトの名無しさん
2016/06/05(日) 01:43:16.69 ID:X+8v2WhO
660 :
デフォルトの名無しさん
2016/06/05(日) 02:36:07.72 ID:b0qHmmcL
不出来なのは頭だったか
無念
661 :
デフォルトの名無しさん
2016/06/05(日) 07:53:31.52 ID:X+8v2WhO
argparseは多才だからなんでもやらせたい誘惑に駆られる
でもdocoptのようにコマンドライン引数の構文解析程度にとどめるべきかもね
値の評価や機能の実行までやらせるのは役割を与えすぎかなと感じる
662 :
デフォルトの名無しさん
2016/06/05(日) 08:53:22.93 ID:6AZT6oQ7
最近ちょっと思ったのは、もしかしたらPythonは関数型言語の入口かもしれん
Pythonでmap,filter,reduce,内包表記とか慣れると関数型言語に割とすんなり移行できる
そして、関数型言語はより短く効率的に書けて、大抵コンパイル型言語だからより高速
故に、PythonもできますがhaskellなりscalaなりF#もできますってのが普通で、
Pythonしかできませんってのは、頭の中身が手続き型のロートル脳なんだな
663 :
デフォルトの名無しさん
2016/06/05(日) 09:21:18.13 ID:b0qHmmcL
ごめんそれ100万回くらい聞いた
664 :
デフォルトの名無しさん
2016/06/05(日) 09:28:26.30 ID:VJ6TUrY4
for i in range(1000000):
print "
>>662"
665 :
デフォルトの名無しさん
2016/06/05(日) 09:43:09.21 ID:zUwxY7yt
if
>>662 == バカ:
for i in range(1000000):
print("map,filter,reduceもpythonではdeprecatedですよ")
666 :
デフォルトの名無しさん
2016/06/05(日) 09:50:18.72 ID:RIWhlWWt
君達ってfor使う必要ないところで使ってるしレベル低そうだね
"a" * nこれ知らなさそう
667 :
デフォルトの名無しさん
2016/06/05(日) 09:54:11.86 ID:b0qHmmcL
ごめんそれ100万回くらい聞いた
668 :
デフォルトの名無しさん
2016/06/05(日) 10:02:23.09 ID:ZvqErOlJ
>>661 詰め込みすぎだよな
業務の現場でちゃちゃっとコマンドラインツールを作りたいだけなのに
印刷するとけっこうなページ数になるargparseなんか学んでられるかっての
inputでオプション一個ずつ入力させるやり方で逃げたわ
str.formatやpathlibなんかもそうだが、堅苦しく冗長な機能拡張が目立つようになってきた
シンプルお手軽っていう特長を捨ててJavaのようなカオスな方向に向かうのなら
言語として先は長くないだろう
669 :
デフォルトの名無しさん
2016/06/05(日) 10:13:50.73 ID:6AZT6oQ7
>664-665
Pythonと関数型言語も両方ともって話なのに、
こんなに過剰反応とは・・・ウププ、あ、いや、なんでもないですw
670 :
デフォルトの名無しさん
2016/06/05(日) 10:27:46.84 ID:b0qHmmcL
自分の理解できない物を無駄と評するのはどうなんでしょ
超初心者っぽくていいけどね
ここから引用
多くの初心者は自身が習得した一部の言語機能に拘泥しがちであり、知識を広げようとはしない。
引用終わり
671 :
デフォルトの名無しさん
2016/06/05(日) 12:44:27.04 ID:Xgwcc4Sq
class 意味分からない
codecademyで 90%まできたけどclassの章で詰みそう
672 :
デフォルトの名無しさん
2016/06/05(日) 13:17:15.51 ID:Dac8LcQl
python使う上でclassなんていらんやろ
classとannotation使い始めるとコードがとたんに汚くなる
673 :
デフォルトの名無しさん
2016/06/05(日) 13:27:42.56 ID:fcicNZfN
また超初心者っぽい極論ですね。
674 :
デフォルトの名無しさん
2016/06/05(日) 13:41:15.94 ID:lZ/qTWvV
argparse優しすぎるのにドキュメント呼んで理解できないのはアスペ
675 :
デフォルトの名無しさん
2016/06/05(日) 13:45:13.11 ID:sTpf+U42
理解できないとは書かれてないな
文意に沿った回答をするべき
676 :
デフォルトの名無しさん
2016/06/05(日) 13:47:18.82 ID:lZ/qTWvV
657 :デフォルトの名無しさん [↓] :2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ (1/2)
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん
657 :デフォルトの名無しさん [↓] :2016/06/05(日) 00:18:35.55 ID:ZvqErOlJ (1/2)
argparseは不出来なモジュールだと思う
ドキュメントを読んでも使い方がよくわからん 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
677 :
デフォルトの名無しさん
2016/06/05(日) 14:07:24.43 ID:MNddmiLP
あのドキュメントは嫌い
リファレンスとHowToは分けろよ
というかHowToページ別にあるのに
678 :
デフォルトの名無しさん
2016/06/05(日) 14:08:14.27 ID:MNddmiLP
途切れた
というかHowToページ別にあるのに、なんでリファレンスにまでHowTo書くんだよ
679 :
デフォルトの名無しさん
2016/06/05(日) 14:42:07.25 ID:b0qHmmcL
他言語と比べると異質なリファレンスではあるね
Djangoやrequestsと比べでも何か異質
無駄とは言わないけど読みづらい
680 :
デフォルトの名無しさん
2016/06/05(日) 15:34:55.87 ID:Xgwcc4Sq
classの
def __init__ (self)のこのselfは何者ですか?
なんで消えるの?いんすうではないの?
681 :
デフォルトの名無しさん
2016/06/05(日) 15:39:59.71 ID:sTpf+U42
>>676 「よくわからん」と「理解できない」は違うぞ
682 :
デフォルトの名無しさん
2016/06/05(日) 15:41:07.77 ID:sTpf+U42
683 :
649
2016/06/05(日) 15:43:57.55 ID:7j5k7Q75
>>658 できました!
参考URLもありがとうございました。
684 :
デフォルトの名無しさん
2016/06/05(日) 15:48:12.51 ID:VJ6TUrY4
>>680 いんすう?ああ、ひきすうね
selfは自分自身の参照
javaとかはthisキーワードで明示しなくても勝手に作られるがpythonは何故か
指定しないと嫌だったらしい
あと消えてない
>>> class A:
... def __init__(self):
... self.a = 120
...
>>> a = A()
>>> print a.a
120
>>>
685 :
デフォルトの名無しさん
2016/06/05(日) 16:04:21.50 ID:Xgwcc4Sq
>>682 消えるというかほかの引数と挙動が違うといいますか、
>>684 selfもメンバー変数として使えるということですか?
この場合の参照する自身とは何を指すのでしょう?class?
686 :
デフォルトの名無しさん
2016/06/05(日) 16:17:02.02 ID:b0qHmmcL
クラスとインスタンスの対比を理解してないんじゃないかなー
687 :
デフォルトの名無しさん
2016/06/05(日) 17:33:23.51 ID:VJ6TUrY4
頭の中だけで考えるんじゃなくてとにかく手を動かして
自分で確かめるのがいいよ
バグでつまる度に他人はいちいち付き合ってはくれない
class A:
def __init__(self, a, b):
self.a = a
self.b = b
def sum(self):
return self.a + self.b
instance_a = A(12, 3)
instance_b = A(5, 16)
print instance_a.sum()
print instance_b.sum()
688 :
デフォルトの名無しさん
2016/06/05(日) 18:02:01.24 ID:zUwxY7yt
なぜPythonにはfinalやconstがないのか
なぜタプルなんて中途半端なもんで諦めたのか
可読性(藁)
689 :
デフォルトの名無しさん
2016/06/05(日) 18:10:10.42 ID:Xgwcc4Sq
>>687 一語1語意味を考えるよりも
まず形にすることが重要なんですかね
この例文をそらで書けるように写経してみます。ありがとうございます
690 :
デフォルトの名無しさん
2016/06/05(日) 18:14:31.56 ID:b7IP4BCr
>>689 オブジェクト指向について少し勉強すると良いよ
691 :
デフォルトの名無しさん
2016/06/05(日) 19:21:21.29 ID:odhU5/tC
>>688 Pythonは動的言語なので結局実行してみてコケるまではミスに気付けない
だからそういうのはあまり意味がないの
692 :
デフォルトの名無しさん
2016/06/05(日) 19:30:41.98 ID:ZvqErOlJ
座標x,yを扱うメソッドの宣言がself,x,yてなるのは違和感あるよねえ
せっかくのデートにお邪魔虫が一人付いてくるような感じ
何でこんな仕様にしたのか設計者に小一時間問い詰めたい
693 :
デフォルトの名無しさん
2016/06/05(日) 19:39:19.34 ID:IN+Q8fDx
座標x,yを与えるには平面が必要。selfは、平面のこと考えている。
694 :
デフォルトの名無しさん
2016/06/05(日) 21:04:41.72 ID:IuZ3TLQW
プログラムは写経が最高の教科書って誰か言ってたな
695 :
デフォルトの名無しさん
2016/06/05(日) 21:22:06.74 ID:VJ6TUrY4
それもいいが自分なりに何か変えてみるともっと理解は早くなるはず
書いてみて、結果を予想する 予想が違えば何が違ったのかを考える
そうすればだんだんとパターンが見えてくるよ
696 :
デフォルトの名無しさん
2016/06/05(日) 22:57:33.42 ID:bEHxSIM9
>>658 Groovy なら、クロージャを渡して、フィルタリングできる
(1..6).grep{ it % 2 == 0 } → [2, 4, 6]
>>685 まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版
オブジェクト指向は難しいから、必ず、この順番で勉強するように言われている
697 :
デフォルトの名無しさん
2016/06/06(月) 01:30:22.89 ID:xte0zwCj
sexメソッドはmaleとfemaleを引数に取ればいいだけなのに
なぜかselfとかいう謎の人が付いてくる
これは言語設計に失敗してると言って過言ではないのでは??
698 :
デフォルトの名無しさん
2016/06/06(月) 02:01:00.51 ID:i3B2Q/oE
>>697 面倒といえば面倒だが、
関数ではなくメソッドであることを明確に示すことができるので、
アリだと思っている
699 :
デフォルトの名無しさん
2016/06/06(月) 02:14:17.67 ID:4oDFfzZn
デスクリプタHowToでも読んで
設計思想が理解できないのなら
失敗してる言語はやめれば良い
700 :
デフォルトの名無しさん
2016/06/06(月) 02:14:21.66 ID:xG6oh14B
selfのおかげでクラスとインスタンスの関係が簡単になるから良い設計だと思うけどな
701 :
デフォルトの名無しさん
2016/06/06(月) 02:19:56.88 ID:XLITscU6
>697
言語設計が悪いのではなく、あなたのsexメソッドや、male female オブジェクトの設計が変なだけだと思うよ。
たとえば、整数同士の二項演算子__add__ や__mul__は、引数にselfとotherをとる設計になっている。self, left_hand_side, right_hand_side の3つの引数をとるような設計にはなっていない。
sexメソッドも、humanオブジェクトの二項演算子のように定義すればいい。male female なんて無駄な区別も必要ない。LGBTにも対応可能だ。
二人が対等な関係で無いのが嫌というなら、couple オブジェクトを作って、couple オブジェクトのメソッドとしてsexメソッドを実装すればいい。__init__に登場するselfは他人ではなく、他ならない二人のカップルそのものを指している。
class Couple():
__def __init__(self, a, b):
____self.a=a
____self.b=b
__def sex(self):
____pass
tsukkomi=Human('Hanako')
boke=Human('Daisuke')
miyagawa_fusai=Couple(tsukkomi, boke)
miyagawa_fusai.sex()
702 :
デフォルトの名無しさん
2016/06/06(月) 02:22:39.56 ID:C/umrOnE
>>697 def sex(self, male, female):
self.female.say("No thanks.")
self.male.say("oh... my god...")
self.male.onani()
703 :
デフォルトの名無しさん
2016/06/06(月) 05:00:17.45 ID:QbKl1YZH
超初心者ってか厨房スレみたい
704 :
デフォルトの名無しさん
2016/06/06(月) 10:07:50.49 ID:PqDnUBGZ
>>697は明らかにオブジェクト指向のオの字も理解してないからどうでもいいけど
selfは暗黙に定義して欲しかったわ
関数がどうかなんて定義位置とデコレータの有無で一目瞭然だし
705 :
デフォルトの名無しさん
2016/06/06(月) 11:37:26.92 ID:Eh/3Xe+J
self明示はOOPが後付であるのとOOPにどっぷり依存する気がないからだと思う
アクセス制御機能は未実装だし、メソッドはインスタンス無関係に関数として呼び出せる
706 :
デフォルトの名無しさん
2016/06/06(月) 16:40:02.89 ID:/qKSCvxc
>>692 気に入らないなら
def hogemethod(w, x, y):
とか書いても良いんだぜ
707 :
デフォルトの名無しさん
2016/06/06(月) 16:42:44.32 ID:/qKSCvxc
708 :
デフォルトの名無しさん
2016/06/06(月) 16:51:39.69 ID:B7qEBb4m
680以降の半分以上は俺のレスだけどね
見て分かったかな
709 :
デフォルトの名無しさん
2016/06/06(月) 17:06:45.96 ID:/qKSCvxc
680以降の半分以上は読んでなかったからちょうど良かった
710 :
デフォルトの名無しさん
2016/06/06(月) 17:16:22.11 ID:gOmKNf/3
ここまでチンパンジーアイちゃんの自…
いやなんでもないです
711 :
デフォルトの名無しさん
2016/06/06(月) 22:56:40.40 ID:xte0zwCj
>>704 male extends human
def sex (self, female)
↑誰だお前
すまんのか?
712 :
デフォルトの名無しさん
2016/06/06(月) 22:59:16.48 ID:xte0zwCj
>>701 miyagawa_fusai.sex()とか気持ち悪い喩え持ち出すなボケェ!
713 :
デフォルトの名無しさん
2016/06/06(月) 23:12:01.83 ID:1e9MzW/h
>712
ちゃんとCoupleのsexメソッドの定義を見て下さい。
pass
としか書いてませんから、何も起きません!
714 :
デフォルトの名無しさん
2016/06/07(火) 01:13:46.40 ID:i5smxfKl
>>713 なんてこった・・・あんたさては未踏タイトル保持者だな?
俺の負けだよ、完敗さ、君の瞳に乾杯
715 :
デフォルトの名無しさん
2016/06/07(火) 03:05:33.76 ID:41OqMrsx
Pythonは、Rubyよりもキーワードを少なくした。
thisをキーワードにしたくなかったんだろう
selfを渡しておけば、キーワードにならないし、thisなど、self以外を使ってよい
逆に、Rubyから言えば、実装上の詳細が、プログラマーに見えるのは、おかしい
716 :
デフォルトの名無しさん
2016/06/07(火) 05:15:36.17 ID:No9ZP2EK
717 :
デフォルトの名無しさん
2016/06/07(火) 07:06:02.26 ID:N3u46K1k
718 :
デフォルトの名無しさん
2016/06/07(火) 09:28:21.23 ID:y1uFD4iG
ちくわ大明神
719 :
デフォルトの名無しさん
2016/06/07(火) 12:58:53.24 ID:iYzT2OEj
誰かアンタッチャブル柴田をpythonで書いてください
720 :
デフォルトの名無しさん
2016/06/07(火) 13:00:05.91 ID:Ts73h3EG
設計書はあるんですか?
721 :
デフォルトの名無しさん
2016/06/07(火) 17:10:40.05 ID:0rvA4F4X
722 :
デフォルトの名無しさん
2016/06/07(火) 22:37:02.43 ID:i5smxfKl
723 :
デフォルトの名無しさん
2016/06/08(水) 02:17:13.72 ID:x3ey/7l2
argp = argparse.ArgumentParser(description="さんぷる",formatter_class=argparse.RawDescriptionHelpFormatter)
argp.add_argument("--file-path", help="file path.", dest="--file-path", metavar="FILE_PATH", type=str, required=True)
上記のように書いて実行すると下記のように、helpの表示で、 --file-path の説明部分が改行されます。
% ./sample.py -h
usage: sample.py [-h] --file-path FILE_PATH --files FILE
さんぷる
optional arguments:
-h, --help show this help message and exit
--file-path FILE_PATH
file path.
改行されると見づらいので、ここを参考に→
http://d.hatena.ne.jp/yuheiomori0718/20120125/1327494051 試しに下記のように書いたのですが、同じく改行されました。
(実際には100カラム以下の設定にするとは思いますが、テストで大きくしています)
os.environ['COLUMNS'] = "1000"
help時に改行を防ぐにはどうすればよいでしょうか?
724 :
デフォルトの名無しさん
2016/06/08(水) 06:43:53.48 ID:UrL3khAu
>>723 オプションとヘルプの間に改行が入るか否かは
HelpFormatterクラスのmax_help_positionキーワードで決まる
max_help_positionを変更した自作HelpFormatterクラスを
ArgumentParser()のformatter_classキーワードに指定する方法で
長い名前のオプションでもヘルプを続けて表示できる
この方法ではヘルプ全体は80桁で折り返しになる
表示を調整するならos.environ['COLUMNS']を変えるか
HelpFormatter()のwidthキーワードに折り返しの桁数を指定する
725 :
デフォルトの名無しさん
2016/06/08(水) 06:45:48.76 ID:UrL3khAu
>>723 自作HelpFormatterクラスの手抜き実装
max_help_positionでヘルプの表示位置、widthで全体の折り返しを指定する
class MyHelpFormatter(argparse.HelpFormatter):
def __init__(self, prog):
indent_increment = 2
max_help_position = 50
width = 100
super().__init__(indent_increment, max_help_position, width)
726 :
デフォルトの名無しさん
2016/06/08(水) 06:51:59.28 ID:UrL3khAu
>>725の最後を間違えた
super().__init__(prog, indent_increment, max_help_position, width)が正しい
HelpFormatterクラスのインターフェースがドキュメントになっていないのは困ったもんだ
727 :
デフォルトの名無しさん
2016/06/08(水) 07:13:37.13 ID:dpHglwEd
人が楽をするために作られたはずのライブラリが
逆に人を振り回すようになってきたな・・・
728 :
デフォルトの名無しさん
2016/06/08(水) 07:26:15.84 ID:zEmhDMcI
プログラミングそのものがバグを注入する作業に違いないと言われて久しいのに今更だな
729 :
デフォルトの名無しさん
2016/06/08(水) 07:32:30.53 ID:3hYUw3qX
コンピュータに限らず
人間の文明そのものがそうだな
730 :
デフォルトの名無しさん
2016/06/08(水) 07:53:30.49 ID:V7RBddf9
俺たちの存在そのものがバグだった・・・?
731 :
デフォルトの名無しさん
2016/06/08(水) 08:08:57.04 ID:zEmhDMcI
UTSLもたまにはいいけど
標準ライブラリからこの体たらくだとやる気が削がれるのは確か
732 :
デフォルトの名無しさん
2016/06/08(水) 08:13:51.28 ID:yLejXJHl
この世界でAPIリファレンスがまともなのはMSくらいだろ
Pythonはまだマシな方
733 :
デフォルトの名無しさん
2016/06/08(水) 13:46:40.83 ID:78Tk8wL/
多重ループを抜ける方法を教えてください
734 :
デフォルトの名無しさん
2016/06/08(水) 14:34:13.74 ID:G2ArSS3q
def f(c):
__c[0] = 0
__return c
a = [1, 2, 3]
b = f(a)
print(a)
print(b)
なんでaも値が変わっちゃうんですか?
どうしたらaの値をキープできますか?
735 :
デフォルトの名無しさん
2016/06/08(水) 14:46:42.43 ID:5Ujr+av3
listはミュータブルだから
736 :
デフォルトの名無しさん
2016/06/08(水) 14:59:27.47 ID:N9K6PozS
737 :
デフォルトの名無しさん
2016/06/08(水) 15:02:24.00 ID:vAuk/aLa
738 :
デフォルトの名無しさん
2016/06/08(水) 15:59:39.11 ID:G5w4BYim
ちらみしたけど確かにただ同然の
内容だった
739 :
デフォルトの名無しさん
2016/06/08(水) 16:31:19.44 ID:c99ZJOB9
>>733 returnとかraiseとか色々楽出来る
740 :
デフォルトの名無しさん
2016/06/08(水) 21:02:27.73 ID:DyDwul9e
>>737 オライリーのパクリっぽい装丁だな、今見たら500円になってる
741 :
デフォルトの名無しさん
2016/06/08(水) 21:34:29.83 ID:G5w4BYim
742 :
デフォルトの名無しさん
2016/06/08(水) 21:47:34.78 ID:DyDwul9e
743 :
デフォルトの名無しさん
2016/06/08(水) 22:26:52.19 ID:R7wKDA60
>>736 b = f(a[:])
>> [0, 2, 3]
a
>> [0, 2, 3]
744 :
デフォルトの名無しさん
2016/06/08(水) 22:54:39.05 ID:V7RBddf9
>>742 おまえと違ってビギナーじゃないからじゃボケなす
745 :
デフォルトの名無しさん
2016/06/08(水) 22:56:16.19 ID:G5w4BYim
>>742 小防かよ
義務教育で必修なんだから
おまえみたく不登校児でもないかぎい
746 :
デフォルトの名無しさん
2016/06/08(水) 22:57:08.97 ID:G5w4BYim
747 :
723
2016/06/09(木) 00:08:40.81 ID:G0dYhsWN
>>724,725
具体的なコメントまでありがとうございます。
添付のHelpFormatterクラス使ったら改行なしでできました!
748 :
デフォルトの名無しさん
2016/06/09(木) 00:09:46.60 ID:G0dYhsWN
改行のコントロールくらいデフォルトでついててもいいのになー。
改行のコントロールは少数派なんだろうか。
749 :
デフォルトの名無しさん
2016/06/09(木) 00:22:10.35 ID:dIu2vu4F
モジュールを書いた人の意識の差かね
argparseは徹底的な抽象化、モジュール化、カスタマイズ性に理想の高さを感じる
途中で収拾がつかなくなって投げた感もある
750 :
デフォルトの名無しさん
2016/06/09(木) 00:53:51.91 ID:G0dYhsWN
シンプルな汎用性と、カスタマイズすればで何でもできるよの両方を突き詰めた感じですかね。
751 :
デフォルトの名無しさん
2016/06/09(木) 01:58:39.37 ID:iYl+3gJl
>>747 >>725はHelpFormatter()のキーワードを変えてるだけなのでサブクラス必要なかった
lambdaか関数でラップして実引数で指定すればいい
クラスのドキュメントに気を取られて簡単な方法が思いつかなかったよ
def my_help_format(prog):
return argparse.HelpFormatter(prog, max_help_optision=50, width=100)
parser = argparse.ArgumentParser(formatter_class=my_help_format)
752 :
デフォルトの名無しさん
2016/06/09(木) 09:03:10.80 ID:a9ttoeJ0
>>743 >>> def f(c):
... c[0] = 0
... return c
...
>>> a = [1, 2, 3]
>>> b = f(a[:])
>>> print(a)
[1, 2, 3]
>>> print(b)
[0, 2, 3]
753 :
723
2016/06/10(金) 01:24:23.76 ID:nGW8B2Ze
>>751 おお!
マニュアルからそんなことを読み解けるようになるんですね。
max_help_optision とあって訳の分からないエラーが出てしばらく悩みました笑max_help_position
754 :
723
2016/06/10(金) 01:25:17.67 ID:nGW8B2Ze
max_help_optision → max_help_position
ですね。
シンプルになり良かったです。
補足情報ありがとうございました。
755 :
デフォルトの名無しさん
2016/06/10(金) 02:25:16.04 ID:QVZq31aG
タイポすまなかった
愚痴だけどmax_help_positionはマニュアルには載ってなかった
だからソース読んだけどその前にpydoc3 argparseでインターフェースを見るべきだったな
756 :
デフォルトの名無しさん
2016/06/10(金) 21:36:58.19 ID:C3wbvOhp
初学者ですが質問があります
いまpyqtのいろいろなサンプルソースを見て回ってるところですがある疑問があります
クラスには何を書けばいいのか、
またどういう時にsuper(ほげほげ, self).__init__()
を使えばいいのかわかりません
浅はかな知識を振りかざしてる感を醸し出し出るかもしれませんが回答よろしくお願いします
757 :
デフォルトの名無しさん
2016/06/10(金) 21:39:11.89 ID:C3wbvOhp
super(ほげほげ, self).__init__() は親クラスのコンストラクタを呼び出したいときですね
自己解決しました
758 :
デフォルトの名無しさん
2016/06/10(金) 21:46:34.21 ID:C3wbvOhp
親クラスのコンストラクタが何をするかは
各自調べる必要あったのですね
759 :
デフォルトの名無しさん
2016/06/10(金) 23:50:47.28 ID:/tU4zyGw
initはコンラトクタスじゃないぞ
760 :
デフォルトの名無しさん
2016/06/11(土) 00:00:29.48 ID:QMDbOLDD
どういうタイプミスするとそうなるの?
761 :
デフォルトの名無しさん
2016/06/11(土) 00:10:00.93 ID:Y6AcCgvN
def f():
__print(n)
n = 1
f()
どうして関数の中からnを参照できるんですか
762 :
デフォルトの名無しさん
2016/06/11(土) 00:36:06.66 ID:Ls4SHB7Y
LEGB
763 :
723
2016/06/11(土) 00:49:52.08 ID:pKKUOpIX
>>755 そうなんですね。
色々調べていただいてありがとうございました。
764 :
デフォルトの名無しさん
2016/06/11(土) 06:39:02.84 ID:nfdvatZN
>>761 Linuxくだ質スレで回答を貰っていたろう。