[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/05 16:27 / Filesize : 231 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その30



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/06/22(水) 13:29:27.28 ID:tv9kEjc6.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その29
echo.2ch.net/test/read.cgi/tech/1455766402/
関連スレ
Pythonのお勉強 Part51
peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/

132 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:49:40.94 ID:UZfdN1Kz.net]
botのかたですか?

133 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:50:37.60 ID:sfY4+Etf.net]
その可能性は否定できないね

134 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:57:38.96 ID:jUc7m6Z9.net]
馬鹿め。
ありますか?って聞かれたら、
ありますよって答えとけばいいんだよ。

135 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 19:03:20.94 ID:UZfdN1Kz.net]
最近のbotは人間のくず波にはなってんだ
感心うえ

136 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:50:27.18 ID:7nXY7PCy.net]
感心するより自分の文章力心配した方がいい

137 名前:デフォルトの名無しさん [2016/07/02(土) 21:25:41.39 ID:A9cM4Ou4.net]
ID:UZfdN1Kzもボットだしそのくらいは大目に見ろよ
見ての通り人間のくず並みだろ?

138 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 23:11:36.78 ID:aN0Jneaj.net]
ウェブ上にある記事をそのままローカル環境に保存したいです。
しかし、以下の書き方だと回線を切ったときにレイアウトが崩れてしまいます。
htmlの拡張子だと、cssやjavascriptまで取得できていないことが原因だと考えています。
何かいいライブラリや解決策はありますか?それとも、不可能ではないけれど、コーディングにスキルがいるのでしょうか?
よろしくお願いします。

from urllib.request import urlopen
from urllib.request import urlretrieve

url = "news.livedoor.com/article/detail/11714603/"
urlretrieve(url, "test.html")

139 名前:デフォルトの名無しさん [2016/07/02(土) 23:13:20.33 ID:fxvfEqqa.net]
Linuxのcurlコマンドじゃ無理なん?

140 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 00:35:55.56 ID:BbdX03Na.net]
HTMLに書いてある、CSS・JSファイルのパスが問題なのかな?

サーバー上のHTMLから、同じサーバー上のCSS・JSファイルを取得するなら、
相対パスで指定しているとか?

でも、君のPC上のHTMLからなら、相対パスなら君のPCを指すから、
CSS・JSファイルも、ダウンロードする必要がある。
相手サーバーの絶対パスに変えれば、ダウンロードしなくても動くかも

HTMLをダウンロードしても、普通は動かない。
制作者が、HTMLをダウンロードして動くようには作っていないから。
だから普通は、画像などのコンテンツだけをダウンロードする

ブラウザで、F12を押して、開発者ツールを使って、デバッグすれば?
HTMLがサーバー上・君のPC上にある際、読み込まれるファイルがどう違うか確かめる

そもそも、他人の作ったアプリを解析するのは、ものすごく大変。
コメント・仕様書もないのに、アプリを解析しなきゃならない。
何十ものファイルが読み込まれるから、普通の人はあきらめるはず



141 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 00:40:39.98 ID:wxgc021b.net]
pycurl

142 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 02:00:24.57 ID:s5HIlZiP.net]
Chrome で ctrl + s でおk

143 名前:デフォルトの名無しさん [2016/07/03(日) 08:35:57.17 ID:GKjH2M+2.net]
ブラウザでやるとhtmlを保存するか全てを保存するかの選択肢があるから
作りこみが必要そう
って言ってもBSとかでやれば絶対パスに変換できた気がするから
そんな難しくはなさそう

144 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 13:12:19.43 ID:DiVoIdPX.net]
>>138
pythonスレでやる内容じゃないな

145 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 02:59:13.37 ID:24pN0A7m.net]
pub/a.html
pub/css/

146 名前:b.css
pub/js/c.js

サーバー上で、こういうディレクトリ階層にしている場合、
これらを自分のPCにダウンロードしたら、全く同じディレクトリ階層を作る必要がある

ファイルの拡張子もたくさんあるし、絶対・相対パス表示もある。
数十のファイルが読み込まれるし、クソみたいなウィジェットもたくさん付けている

他人のサイトなんて、一々、解析してられないよ。馬鹿馬鹿しい
[]
[ここ壊れてます]

147 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 12:02:40.74 ID:bmDp8Deu.net]
142
pythonスレでやる内容じゃないな

148 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 12:09:10.84 ID:z1FLHajj.net]
pythonでは一体何をすれば…

149 名前:デフォルトの名無しさん [2016/07/04(月) 14:39:31.34 ID:Z3ujEYvuj]
今日python始めたんですけどコマンドプロンプトでファイルとして認識されてませんてでるんですけどどうすればいいですか?

150 名前:デフォルトの名無しさん [2016/07/04(月) 14:51:16.62 ID:Tw9ula4I.net]
pythonと、pythonスレの区別が付かないのは暑いから?



151 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 15:06:51.09 ID:z1FLHajj.net]
pythonスレでは一体何をすれば…

152 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 16:37:50.75 ID:igr6hGQQ.net]
ペチパーだろお前

153 名前:名無し集中。。 ◆O/rpF5PUVw [2016/07/04(月) 20:59:40.14 ID:XLZhajh3.net]
>>136 初心者だがチョッとだけしらべてみた

●結論からいうと、
・common.css と .jpg 2つがあればよい
・JSは無視してよい(JSからDOM(=HTML)をいじってstyleを変更は機能的にできるが)

●調査方法 FireFox+NoScript (自分は青を使ったが火狐でも十分だろう)
・”名前を付けてページを保存”メニューから2種類で保存
 ”Webページ、完全”、と”Webページ、HTMLのみ”
 (注意:このときファイル名をASCIIで、HTML内で、URLエンコードされないように)

LoveCatMan_Full__files ( 1 file .css, 2 files .jpg のみをのこして後は全削除)
LoveCatMan_Full_.htm (同名で新ファイルを作成する(
・・・ <HTML><HEAD><BODY>のタグを追加。common.cssを含むtag行をコピー
・・・ 火狐開発ツールで <div class="articleBody">のInnerHTMLをコピーして貼り付け
... ほしい範囲はちがうかもだが )

●Pythonで (やってないけどたぶんできると思うたぶん)
・urllibで 、.html, .css, .jpg をローカル保存
・Python 内で.html から soupをつくり 上記調査でやったことと同じことをやり
ファイル書く

● JS動かした結果もほしいなら

154 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:31:17.35 ID:fBjtovDX.net]
でっていう

155 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 12:23:31.76 ID:abP/1esm.net]
py-getch というモジュールはgetchと互換性がありますか?

156 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 14:26:06.56 ID:YVa+1ojq.net]
保存形式はIE以外でも対応してきてるMHTMLでおねがい。

157 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 22:50:59.77 ID:jRJDfSwk.net]
読み方はマハトマルやぞ

158 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:18:31.68 ID:MA2k3Rdl.net]
初心者です。sqliteの質問させてください。

usersテーブルにnameカラムのみがあります。
yamadaさんをinsertする際、すでに存在していればスルー、存在していなければ挿入する
というのをやりたいのですがどう書けばいいでしょうか?
以下を組み合わせるイメージです。

INSERT INTO users VALUES ('yamada')
NOT EXISTS(SELECT name FROM users WHERE name = 'yamada')

159 名前:デフォルトの名無しさん [2016/07/05(火) 23:28:30.51 ID:TzVVhqyw.net]
なんでこのスレで・・・
(プライマリーキーに設定じゃダメなのかな)

160 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:36:22.00 ID:MA2k3Rdl.net]
>>156
私のようなザコには目からうろこでした。ありがとうございます!



161 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:44:11.75 ID:p5TlSvlQ.net]
エラーになるじゃん

sqlite3ならupsert相当の命令があるが既にある場合何もしないのとはちょっと違うな

162 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:06:00.91 ID:qGJVKz7K.net]
ウニクエ制約でいいじゃん(いいじゃん?)

163 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:57:30.45 ID:vNFNHf89.net]
リスト名を取得する方法を知りたいです。
下の場合だと、rokkoに対して合致した場合にmountainをprintさせたいです。
よろしくお願いします。

mountain = ['huji', 'takao', 'rokko']
river = ['meguro', 'kamo', 'asahi']
sea = ['shonan', 'takasaki', 'atami']

text = 'rokko'

geography = [mountain, river, sea]

for category in geography:
for name in category:
if name == text:
print (category)

164 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 02:46:26.96 ID:S9qDm7+H.net]
for category in geography:
if text in category:
print (category)

オブジェクト in リストオブジェクト

in 含むとき、真
not in 含まないとき、真

165 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 03:26:30.24 ID:bnrkQm6X.net]
>160
geographyをリストのリストでなく、
キーをカテゴリ名(mountainなど)、値をリスト、とした辞書にするのが良いと思います。
そうすれば、キーと値を自然な形で取り出せるので。

166 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 03:31:19.27 ID:bnrkQm6X.net]
>162
あるいは、固有名詞から、対応するカテゴリを得るという処理がしたいのならば、
固有名詞をキーにして、カテゴリ(のリストor集合)を値にした辞書を持つという方法もあります。
こっちの方が何回もループ回さずに済みますよ。

167 名前:デフォルトの名無しさん(霧の向こうに繋がる世界) mailto:sage [2016/07/06(水) 10:58:07.74 ID:De8pYE6x.net]
初心者にPythonをおすすめするクソ記事の影響がこのスレに出ている

168 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 11:09:51.15 ID:uN6jT81e.net]
固有値 固有ベクトル は 英語 で 何と言いますか?

169 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 11:42:37.87 ID:UEpscvSf.net]
固有ベクトル>ぐぐる>wiki

170 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 14:46:32.85 ID:vNFNHf89.net]
>>163
ありがとうございます。
辞書を使って書いた場合はこんな感じになると思います。
書いてみて、思ったことがあるのですが

1,何度もカテゴリを書き込む必要があるので、あまりいい書き方では無い気がする
2,>固有名詞をキーにして、カテゴリ(のリストor集合)を値にした辞書
という書き方をすると、もっとスマートにかける気がするのですが、どうやって書くのでしょうか?

教えていただけると嬉しいです。

geograpy = {'fuji':'mountain',  'takao':'mountain',  'rokko':'mountain',\
         'meguro':'river',  'kamo': 'river',  'asahi': 'river',\
         'shonan':'sea', 'takasaki':'sea', 'atami':'sea'}
 
text = 'rokko'

for key, value in geograpy.items():
    if text == key:
        print(value)



171 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 15:45:47.98 ID:uN6jT81e.net]
category = ['mountain', 'river', 'sea']
geograpy = {'fuji': 0, 'takao': 0, 'rokko': 0,
'meguro': 1, 'kamo': 1, 'asahi': 1,
'shonan': 2, 'takasaki': 2, 'atami': 2}

print(category[geograpy[text]])

172 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 15:48:17.20 ID:oBxXMfqL.net]
地形の種類と地名の集合を紐付けした辞書データを用意
ループを回して地名の集合に目標が含まれるかテストする

categories = {"mountain": {"fuji", "takao", "rokko"}, "river": {"meguro", "kamo", "asahi"}, "sea": {"shonan", "takasaki", "atami"}}
text = "rokko"
for category, geographies in categories.items():
 if text in geographies:
  print(category)

173 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 15:52:07.67 ID:0UQys2u4.net]
>>167
これもおかしいぞ
print(geograpy[text])で終わるのに何故ループさせる?

174 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 16:53:19.08 ID:UEpscvSf.net]
glist=[[['fuji','takao','rokko'],'mountain'], [['meguro','kamo','asahi'],'river'],[['shonan','takasaki','atami'],'sea']]
geography=dict( [y, x[1]] for x in glist for y in x[0])

リストの順番で入らないのは何故?

175 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 17:09:17.84 ID:UPmKjMqh.net]
>>171
dictは順序を保持しない。保持したいならOrderedDict
docs.python.jp/3/library/collections.html#collections.OrderedDict

176 名前:デフォルトの名無しさん [2016/07/07(木) 16:27:15.24 ID:/AyC11hm.net]
これまでpython2で勉強してきましたが,新しいパソコンを購入してせっかくなので環境もpython3にしました.
2のころはGUIでwxpythonを使っていたのですが,python3では正式には対応していないとのことで,phenixを使うことになるかと思います.
phenixを使用されている方が居られましたら伺いたいのですが,現状使い勝手はどのような感じでしょうか?

177 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 19:08:19.55 ID:6foOCQOx.net]
それを聞いてどうしたいの?
ググったらいっぱい出てくるけど?

178 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 19:14:07.71 ID:fln6JgVK.net]
>>174
それ聞いてどうしたいの?w

179 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 19:42:07.40 ID:Y6hRAC0W.net]
>>175
バカなの?
死ぬの?
死ねよ

180 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 21:29:06.62 ID:FeHl2UAd.net]
python2.7とPyQt4でGUIアプリを作ってるのですが、
GUI上で入力した日本語を取得するとどうしても文字化けしてしまいます。
(QLineEditのtext()メソッド)

ググッて出てきた解決策を色々試したのですが変わらず……
誰か助けてください



181 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 21:55:06.49 ID:hNsvcGxY.net]
2系使ってるゴミは死ねってことだよ
早く窓から飛び降りろゴミ

182 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 22:19:23.96 ID:oZiDeRoG.net]
翻訳すると

スレ違い そんな超初心者いねーよ

183 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 22:25:04.83 ID:1eZWdJzS.net]
先ほどOSを最新にしたが、まだpythonは 2.x だった。
たぶん 3.x てのは現実には存在しないのだと思う。

184 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 22:49:44.03 ID:oZiDeRoG.net]
ってかマジレスすると共存できる

真のpythonユーザーなら各バージョンいんすとるするでしょ

185 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 10:53:03.58 ID:IntJC6pu.net]
python3じゃなくてpythonってコマンド名で実行している可能性

186 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 12:41:22.79 ID:Lki/uJV8.net]
var brightcove = {};
brightcove.base64 = function() {
function b64ToByteArray(b64) {
return "test"
}
return {
toByteArray: b64ToByteArray
}
}
alert(brightcove.base64().toByteArray());

こういうJSをpythonで表現したいのですが、うまく行きません。
pythonではどのようにするのがよいでしょうか

187 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 12:46:42.53 ID:gb0PvJK9.net]
>>180
システムのpythonはプログラミングには使わないほうが良いよ、pyenvで仮想環境作って3でも2でも好きなの使えば

188 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 13:14:49.02 ID:MZ65v/q8.net]
>>183
クロージャ使ってオブジェクト構築する方法を捨ててクラスを設計する
brightcoveモジュールとBase64クラスとto_bytearrayメソッドに置き換えるのはどう?

189 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 13:34:32.18 ID:WN2toBJM.net]
>>183
ためしてないけど
class brightcove():
..@staticmethod
..def base64():
....def b64ToByteArray(b64=None):
......return "test"
....class noname():
......def __init__(self):
........self.toByteArray = b64ToByteArray
....return noname()

print brightcove.base64().toByteArray()

190 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 14:28:37.76 ID:Lki/uJV8.net]
>>185-186
あざすやってみます



191 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 15:51:02.93 ID:Lki/uJV8.net]
>>186
動きました。・・・が何をしているのかが理解できません

どうして
print brightcove.base64().toByteArray()
これが動くんだろう・・・・

192 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 15:53:48.37 ID:Lki/uJV8.net]
brightcove.base64()が実行されたときに、
最後にnoname()が呼び出されて
別名にしている?ここらへんのスコープがよくわかりません

193 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 16:21:22.87 ID:XrfHWU2r.net]
>>189
noname_obj = brightcove.base64()
func_obj = noname_obj.toByteArray
print func_obj()

別の表現すると
print ( ( brightcove.base64() ).toByteArray )()

194 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 16:48:31.16 ID:MZ65v/q8.net]
>>189
>>186のbrightcove.base64()を呼び出すと
b64ToByteArray関数とnonameクラスを定義してnonameのインスタンスを返す

Pythonでは辞書に属性を追加できないので
nonameクラスで>>183のjsオブジェクト {toByteArray: b64ToByteArray} を真似ている
まあPythonでは一般的な書き方ではないと思う

195 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 16:59:28.99 ID:Lki/uJV8.net]
>>191
return {...}を表現するにはこうするしかないんですね
あざす

196 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 17:07:14.08 ID:MZ65v/q8.net]
あ、>>186は不完全だtoByteArrayの第一引数がselfになってしまう
toByteArrayもstaticmethodでラップする必要があるな

class brightcove:
....@staticmethod
....def base64():
........def b64ToByteArray(b64):
............return b64
........class noname:
............toByteArray = staticmethod(b64ToByteArray)
........return noname()

brightcove.base64().toByteArray("b64 test")

197 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 18:44:44.56 ID:ulrB7cPH.net]
selfって書かなくてもいいんですね

198 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 18:53:03.99 ID:ulrB7cPH.net]
>>193
パっと見、えって思う処理ですね

199 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 20:40:26.01 ID:A2kiW1x0.net]
def a():
__print(1)

name = "a"

変数nameに関数名を入れてるんですけど
このnameから関数を実行させる方法を教えてください
phpだと
<?php
function a(){
echo 1;
}
$name = "a";
$name();
で出来ますがpythonではどうやるのかわかりません

200 名前:デフォルトの名無しさん [2016/07/09(土) 20:55:49.17 ID:f44ee91j.net]
安易にそういう事をしないのがpython流です



201 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 21:34:33.45 ID:tiewsUwv.net]
>>196
name = a
name()

で行ける
"a"を使って呼び出す方法は知らない

202 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 21:42:46.83 ID:YfgAyk2I.net]
>>196
>>197-198の言うとおりなんだが、原理的には
eval(name)()

locals()[name]()
で呼び出せる。が、やるべきじゃ無い。

203 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 22:18:40.23 ID:w1tY8J+d.net]
小さいスコープで、関数に別名を付けて、

名前を短くして、呼び出したいときもある

204 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 22:19:59.89 ID:YfgAyk2I.net]
>>200
それを文字列でやる必要がどこにある?

205 名前:デフォルトの名無しさん [2016/07/09(土) 22:36:16.13 ID:zLjepEFC.net]
文字列の特性を必要としないなら文字列でやる必要性は全くないな

206 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 22:47:24.68 ID:tiewsUwv.net]
>>201
100個)の関数を順に呼び出していくアプリを作ろうとしたことがあって
関数名を考えるのがめんどいし、main内にずらっと100個の呼び出しを
書くのも大変だから、動的に文字列でa1()〜a100()を作り出しながら
呼び出そうと思いついたことはある
ただ>>199のやり方を知らなかったので挫折した

207 名前:デフォルトの名無しさん [2016/07/09(土) 23:00:20.45 ID:zLjepEFC.net]
ループ、クロージャ、配列で済む話

208 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 23:02:27.83 ID:j7FBg3WE.net]
evalなんてスクリプト言語ならではの醍醐味なんだから
危険を承知したうえで使えばいいと思うんだがな
python流じゃないとか使うべきじゃ無いなら最初からそんなもん実装するなよ

209 名前:デフォルトの名無しさん [2016/07/09(土) 23:05:10.46 ID:zLjepEFC.net]
初心者に危険を承知とか説くのか
やれやれ

210 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 00:09:03.81 ID:TyWwPenx.net]
ヤっておしまいっ!(キリッ



211 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 00:27:57.27 ID:s1YVXoV8.net]
phpならこうだけどpythonではどうすればいいの?
って単純に疑問に思っただけなのにこんなにdisられるとは思いませんでしたw

212 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 00:38:37.58 ID:6Xbhdejn.net]
気にするな。
難癖つけることに生きがい感じてる人も多いんだ。

213 名前:デフォルトの名無しさん [2016/07/10(日) 01:51:38.13 ID:8n7tHt7F.net]
phperなだけでdisられる時代もあったし大分マシになったんじゃねーの

214 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 02:12:27.35 ID:JTH0ZdYC.net]
RoR の黒魔術・メタプログラミングに、懲りた人が多いのかも

ツールで、規約に則った、関数名を作り出すから

215 名前:デフォルトの名無しさん [2016/07/10(日) 02:13:22.18 ID:Mf/b32xw.net]
下等生物が人間様の道具を使うなよ。
畜生と同じものを使ってるなんて、人畜共通感染症にでも掛かりそうだわ。

って煽られたことはあるね。
酷すぎて笑った。

216 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 04:05:03.84 ID:p5bjADUu.net]
今のところ、evalを使わない方がシンプルに書けるような話しか出てないからな
そのレベルの初心者にはevalはまだ早いとしか言えない

217 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 05:25:05.21 ID:H5gxojYP.net]
Python使いはPython独自の作法を持ち、それに反することは許さないな
書くときの利便性第一な考えやコードには特に厳しい

218 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 05:57:49.14 ID:vse3CjPy.net]
>>204
クロージャは俺にとってこの世で最もわからないテクニックの一つなんだ
関数の中に関数を書いただけで、なぜクロージャなどという特別な名前になるのか
そこに俺はPythonの底知れぬ恐怖と闇を感じる

219 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 13:18:19.45 ID:ts85OtT4.net]
>>215
関数の中の関数はローカル変数をキャプチャする機能が含まれるからただの関数と区別するのはおかしくないでしょ
実際他の言語では区別するのが多いし
てかドキュメント読むとむしろpythonは区別してない気がするんだけど

220 名前:194 mailto:sage [2016/07/10(日) 14:03:00.41 ID:xN29fWNL.net]
ファクトリメソッドを書く時どうしてるんですか?



221 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2016/07/10(日) 14:44:54.64 ID:7RALs3SK.net]
FactoryMethodパターンに従って書いてるけど?
https://ja.m.wikipedia.org/wiki/Factory_Method_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3

222 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 14:49:44.97 ID:p5bjADUu.net]
こうなる理屈が分かってれば、文字列なんて使う必要無いことが分かるはず


def gen():
  def f():
    pass
  return f

print(gen() == gen()) # False

223 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2016/07/10(日) 14:54:48.06 ID:BWKzm6CE.net]
ファクトリメソッドとは言うものの、独自解釈が盛り込まれた
似て非なるものを指して言っているような気がしてならない。

224 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 16:28:35.15 ID:PgiToNvG.net]
名前空間に文字列でアクセスしたいって意味だと思ってたんだけど違ったのか

225 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 18:00:33.44 ID:WKr7J3se.net]
出来るけど必要無いって話だろ

226 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2016/07/10(日) 19:19:43.63 ID:EY1v+Nkp.net]
>>196
getattr('a')()

227 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 20:36:34.25 ID:L/5VOBwr.net]
Evalが危険ってあるけど、どんな危険があんの?
失敗したら地球爆発すんの?

228 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 20:46:43.11 ID:WDQFjLtu.net]
その場でソースを解釈して実行するってことだから
バグとか悪意のあるコードが実行されたら...
あとはわかるよね

229 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 20:51:14.11 ID:UiXNSESM.net]
例えばお前が出会い系で知りあったマンコとセックスするとするだろ?
(実際はそのスキルもないだろうけどここはとりあえずヤレると仮定しろ)
ところがそのマンコの素性は全く分からんよな?
いくら本マンコが「善意の処女やで!」とか言っても実際のところは本マンコにしか分からんだろ?
強烈なメンヘラかもしれんよ?美人局かもしれんよ?梅毒持ってるかもしれんよ?
たった一発のマンコでお前の薄っぺらい人生が崩壊するかもしれんのだよ?
それでもお前ヤれるか?怖いだろ?……俺はヤるけどな

230 名前:デフォルトの名無しさん [2016/07/10(日) 21:13:17.83 ID:acSiYBLC.net]
おいおっさん



231 名前:デフォルトの名無しさん [2016/07/10(日) 21:16:43.03 ID:acSiYBLC.net]
使いたきゃあ使えばいいんだよ
人の忠告を無視する奴がどの面下げて教えを請いに来てるのか
想像もつかねえけどなw

さぞかし面の皮が厚いんだろ
脳みその収まる余地が無いくらいにな
まあPHPユーザーならそんなもんだろうよ

232 名前:デフォルトの名無しさん [2016/07/10(日) 22:16:37.63 ID:7RALs3SK.net]
eval自体はユーザー入力を突っ込まなければ特に問題があるわけではない
ユーザー入力を突っ込むと危険なのはpickle系も同じ

evalの問題は求める結果に対して過剰な機能であること、linterが利かないこと






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<231KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef