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/
111 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 20:39:36.03 ID:nJ963eR4.net] あと用途はもう少し細かく書くべきだな 実行させるだけならnodeをインストールしてsubprocessで叩いたっていいわけだろ どんな風に使いたいんだ?
112 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 21:30:19.32 ID:Cuj9KAah.net] javascriptが使いたいならjavascript使えばええやろ アホなの茶?
113 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 21:50:48.95 ID:cemRDILH.net] >>108-110 pythonでbrightcoveのJSからHTML5の動画URLを抜きたいんです。
114 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 21:57:03.91 ID:mLvma06w.net] >>111 それだったら「python スクレイピング」でぐぐって調べてみるといいかも
115 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:05:12.04 ID:cemRDILH.net] html側に書かれたパラメーターとこのJSを実行することで動画のURLにたどりつくようなのですが admin.brightcove.com/js/BrightcoveExperiences.js パラメーターも多いのでもうJSを実行したほうがはやいかなと
116 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:39:29.06 ID:uB/vUkqG.net] Pycharm入れてみたけど使い方わからない…editionalの方入れれば使えるようになるのかな
117 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 00:22:49.45 ID:QT4/5B+5.net] そうじゃないですか? 次の方、どうぞ
118 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 00:25:47.04 ID:LsNR/CTw.net] vimコマンド打ってみたけど使い方わからない…100個くらいプラグイン入れれば使えるようになるのかな
119 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 00:30:23.09 ID:YVbalhsG.net] 「それじゃ足りないよ、貧乏人」という顔
120 名前:デフォルトの名無しさん [2016/06/30(木) 00:36:17.23 ID:7CBssyjR.net] >>113 その該当サイトを教えなさいよ
121 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 03:00:04.54 ID:WfyFo3ZO.net] 別の関数でループを回している時に、処理を行わずに次のループに行く方法はありますか? def loop(): list = ['a', 'b', 'c'] for loop in list: str_check(loop) def str_check(str): if str == b: 処理 else: つぎのループ() breakやsys.exitだとループ自体を抜けてしまって次のリストに進めませんし ループ数をカウントしておいて、再帰的にリストを呼び出すのは複雑で汚い処理な気がします def loop(loop_count): list = ['a', 'b', 'c'] str = list[loop_count] str_check(str, loop_count) def str_check(str, loop_count): if str == b: print("a") else: loop_count = loop_count + 1 loop(loop_count) loop(0) どうすればいいでしょうか?よろしくお願いします。
122 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 03:01:52.78 ID:WfyFo3ZO.net] インデントが崩れてしまってすいません
123 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 03:19:52.50 ID:RDufRMFU.net] >119 str_check() のelseのあとにreturnと書くか、そもそもelse含めて書かなければいい。 str_check() から帰ってきたら、次のループに進むよ。 ttp://ideone.com/FpJN31 あと、loopを関数名として使うのと、forループでの変数名として使うのと、重複して使うのは止めとけ。 str_check()の == b は、 == 'b' の間違いじゃないのか?
124 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 03:23:54.93 ID:XLhOvur7.net] def loop(): list = ['a', 'b', 'c'] for loop in list: if str_check(loop) == True: continue 処理B def str_check(str): if str == b: 処理A return False else: return True
125 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 03:25:46.41 ID:vuP+Aqa6.net] チェックして処理する関数を真偽値返すように変更する def loop(values): for v in values: if check_and_process(v): return def check_and_process(value): if value == b: print(value) return True else: return False
126 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 03:37:24.29 ID:WfyFo3ZO.net] >>121-123 みなさんありがとうございます こんなに早く複数回答いただけると思っていなかったので、1つずつ動かしながら理解しようと思います >>121 命名規則のところまでアドバイスありがとうございます bの部分は仰るとおりで文字列として'b'と書かないといけなかったです すいませんでした
127 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 08:39:51.59 ID:+j4BkH8O.net] >>124 120です。 str_check()で条件該当するときは、ループを抜けたかったんですね。そのまま続行するのかと勘違いしてました。120のコードは希望通りの動作はしないです。失礼しました。
128 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 16:08:18.16 ID:z+j9Fa39.net] 個人でflaskでwebサービス作ってマネタイズする方法ありますか?
129 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 16:45:59.37 ID:vZ4Zd/Cc.net] 愚かな質問だな 自分が質問される立場だったらその質問に答えるのだろうか?
130 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:38:48.71 ID:UZfdN1Kz.net] 超初心者になんか恨みでもってあんの? ねこむのファン?
131 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:45:39.20 ID:sfY4+Etf.net] もってあんのって何語? 推敲もできないくらい慌てるようなことでもあった?
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