1 名前:デフォルトの名無しさん [2019/02/04(月) 21:22:10.08 ID:9MrdxUVg.net] ★当スレにRubyのソースコード類を書くことを禁ず ☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その40 mevius.5ch.net/test/read.cgi/tech/1542874174/ ◆PythonのHome Page www.python.org/ ◆まとめwiki ttp://python.rdy.jp/ ◆Pythonのソースコードをそのまま5ちゃんにコピペすると インデントが崩れるので こういうところ↓にはってきてください ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste
486 名前:デフォルトの名無しさん [2019/03/03(日) 08:56:14.39 ID:RP7OXEaJ.net] )))が3つ以上連なると見にくいから)) )にしたりするな、もちろん見にくさによるけど 慣習より読みやすさ
487 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:06:35.38 ID:R+BaZbTo.net] >>465 def test_fanction(txt): ここにnを指定してるボックスからnを取得する命令を書け n = int(n) txt = '' for i in range(n): txt += random.choice(txt) print(txt) あと、どーでもいいことだが、 (txt.get())) ↑ここのとじかっこ一つ余計
488 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:07:38.78 ID:uQiZZFNH.net] というか素人スギ
489 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:07:55.13 ID:uQiZZFNH.net] fanation w
490 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:09:26.05 ID:R+BaZbTo.net] >>470 おおう txtがゲシュタルト崩壊しとった 訂正 def test_fanction(txt): ここにnを指定してるボックスからnを取得する命令を書け n = int(n) hoge = '' for i in range(n): hoge += random.choice(txt) print(hoge) より望ましくは、hogeはcharactarsみたいな、意味を持つ語にしてやってくれ
491 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:11:11.71 ID:R+BaZbTo.net] >>471 スレタイを読んでから 美しいお手本回答を見せてくれ
492 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:27:27.29 ID:uQiZZFNH.net] >>474 イヤどす
493 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 09:36:06.45 ID:R+BaZbTo.net] じゃあ とりあえず しゃぶれよ
494 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 10:06:47.90 ID:uQiZZFNH.net] >>476 しゃぶるくらい別にいいけどさ 言っておくがそれセクハラだぞ
495 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 10:12:44.52 ID:R+BaZbTo.net] >>477 いいんだw 「とりあえずしゃぶれよ」は5chのお約束ヤジの一つだわな 現実で言ったらたしかにやばいw
496 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 10:23:46.84 ID:uQiZZFNH.net] >>478 確かにやばいw が、別にいいんだぜ
497 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 10:26:05.53 ID:R+BaZbTo.net] >>479 じゃあ ケツ貸せよ は・・・? (・∀・)ドキドキ!
498 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 10:28:10.10 ID:uQiZZFNH.net] >>480 それだけは断る! 断じてことわる!!
499 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 10:28:50.13 ID:R+BaZbTo.net] >>481 だめかー ・・・・・・もしかして→ (´・ω・`)ぢぬし?
500 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:07:09.41 ID:CoMPR6UA.net] >>473 ありがとう御座います あれからn取得用入力ボックスを作って色々やっていたのですが、test_fanction内でn取得までできるのですか?乞食で申し訳ないのですが書き方を教えて貰っても大丈夫でしょうか?
501 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:41:36.16 ID:CoMPR6UA.net] >>483 連投すいません 自分が考えた事はn取得ボックスsuを作って取得ボックスボタンを作り新しく def suji_fauction(su):を作ってそこに最初と同じくボタンcommand=lambda:suji(su.get())でnをどうにかしてからtest_fanctionに持って行って取ったtxtからランダムn個抜き出すという事でしたが、どうにかするがどうにもならなかったです 見苦しい長文失礼しました
502 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 12:51:44.12 ID:pC3Iiu0Z.net] 入力されるデータが 1ならx = int(input())いけるんですが 1 1 1とかの時はx = input().split()で毎回使うときにint(x)するしかないのですか
503 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:12:36.69 ID:R+BaZbTo.net] >>483-484 「ここにnを指定してるボックスからnを取得する命令を書け」の行に インデントに注意して n = su.get() って書いて桶
504 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:13:49.16 ID:R+BaZbTo.net] >>485 >>422 がイイ(・∀・)こといってるぞ
505 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:52:46.99 ID:TIqzUsNF.net] >>422 がどうでもイイ(・∀・) >>424
506 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 13:53:53.23 ID:CoMPR6UA.net] >>486 ありがとうございますできました 頭良いとこんなにあっさり簡単な書き方でやるんですね、、
507 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 14:01:22.48 ID:R+BaZbTo.net] >>489 できてなにより Tkinterの .get()についてのとことかもうちょいよくよんだほうがいいとおもうぞ
508 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 15:05:14.48 ID:Mep2BbSH.net] >>490 defの使い方も怪しいので.get()と合わせて読んでみます 勉強させて頂きました
509 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 15:20:36.94
] [ここ壊れてます]
510 名前: ID:R+BaZbTo.net mailto: >>491 はーい (・ω・)ノ [] [ここ壊れてます]
511 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 19:50:54.96 ID:VNvwXmTw.net] ひろゆきもpythonやってるらしい。
512 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 19:51:23.37 ID:TIqzUsNF.net] あいつにできるのかよw
513 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 20:12:32.61 ID:dhbLYAZm.net] perlを相当使ってたみたいだからpythonくらい余裕でしょう
514 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 20:30:57.29 ID:VNvwXmTw.net] >>494 三日で習得して、awsの履修証明賞もらったから相当覚えいいと思う。
515 名前:デフォルトの名無しさん mailto:sage [2019/03/03(日) 20:42:59.22 ID:gg9Mx1QB.net] >>494 恥ずかしくない?
516 名前:デフォルトの名無しさん [2019/03/04(月) 05:10:47.25 ID:DAN4+o0x.net] せいぜいがんがれや
517 名前:デフォルトの名無しさん [2019/03/04(月) 15:35:02.66 ID:OGwzbJO+.net] ハゲめ
518 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 17:34:27.74 ID:BFAQ4JyJ.net] ひろゆきプログラミングについて語る https://www.youtube.com/watch?v=sYWz_bIBVNw
519 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 18:12:43.10 ID:56/Jbqfw.net] >>500 グロ 死ね
520 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 22:59:17.85 ID:0UjSVc4r.net] ひろゆきにプログラミングできるのかよw
521 名前:デフォルトの名無しさん mailto:sage [2019/03/04(月) 23:38:23.95 ID:9d3FcJ2N.net] プログラミングでのし上がった奴だぞ
522 名前:デフォルトの名無しさん [2019/03/05(火) 03:28:01.72 ID:VDry4yCP.net] スレチ イタチ
523 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 04:21:05.92 ID:6CrjVVG4.net] 老害はとっとと犠牲にして差し上げて
524 名前:デフォルトの名無しさん [2019/03/05(火) 05:20:53.55 ID:QbJvjFwd.net] >>499 北神雄太
525 名前:デフォルトの名無しさん [2019/03/05(火) 07:33:05.52 ID:zhtHOsGL.net] 質問です。 やりたいこと:画面上で動いたものの検知をしたい ImageGrab.grab().save("frame_pre.png") frame_pre = cv2.imread("frame_pre.png") frame_pre = cv2.cvtColor(frame_pre, cv2.COLOR_RGB2GRAY) while True: ImageGrab.grab().save("frame_next.png") frame_next = cv2.imread("frame_next.png") frame_next = cv2.cvtColor(frame_next, cv2.COLOR_RGB2GRAY) img_diff = cv2.absdiff(frame_next, frame_pre) frame_pre = frame_next という感じにしています。 ですがめちゃくちゃ遅いです。 ImageGrab.grab().save("frame_next.png")で何回も上書き保存しているからだと思いますが 他に方法はありますか?
526 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 07:35:00.11 ID:Ok/9AxrB.net] よくhogeとか名前つけてる人がいますけどhogeって伝統的なものなんですか?
527 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 08:07:30.38 ID:0SMIqw+w.net] >>508 そうだよ。 日本では hoge 英語だと、foo , bar が使われる。 https://dacelo.space/net/entry-662.html
528 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 09:13:58.12 ID:DIrFqE8l.net] hoge fuga piyo foo bar baz
529 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 09:52:58.71 ID:BXQcWGGg.net] ホゲホゲ
530 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 10:04:27.98 ID:BMXqmTyM.net] forループのときの「i」とか「j」はなんなんだよ
531 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 10:34:23.57 ID:DIrFqE8l.net] 文句は数学に言え
532 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 10:36:52.25 ID:DIrFqE8l.net] それともI(愛)の前にHがある じゃあI(愛)の次に来るJってなんだ? ということか?
533 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 11:02:11.75 ID:mnGOhC/5.net] 慈愛かなんかじゃねぇの。 自慰とか
534 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 11:15:27.58 ID:/6VFWsqW.net] >>507 案1. ファイルに書き出さないでBytes.ioを使う 案2. ファイルの書き出す先をRAMディスクにする
535 名前:デフォルトの名無しさん [2019/03/05(火) 11:57:14.36 ID:HwCl8Q1J.net] >>507 ファイルじゃなくてメモリ上でやるのはもちろんだし 多少精度は落ちるが 画面をリサイズしてから比較する 予備的に処理入れて 引っかかったものだけ全体比較検査する
536 名前:デフォルトの名無しさん [2019/03/05(火) 11:59:44.40 ID:HwCl8Q1J.net] >>514 愛JKだな
537 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 12:01:27.7
] [ここ壊れてます]
538 名前:6 ID:BXQcWGGg.net mailto: そこに、LなMが [] [ここ壊れてます]
539 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 16:13:55.69 ID:/w4kwDux.net] oとpするイテレーション
540 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:08:43.40 ID:yUBkGE+g.net] 文字からunicodeを取得したいのですが、うまく行きません。お助け下さい 文字列にdecode属性は無いと言われるのですが、何が問題なのでしょうか https://i.imgur.com/XiX7for.png 参考にしたページは以下です >>> 'いろは'.decode('utf-8') u'\u3044\u308d\u306f' https://qiita.com/megmogmog1965/items/e2f633ac445831568975
541 名前:デフォルトの名無しさん [2019/03/05(火) 18:21:59.46 ID:Fbwgj3J5.net] pythonエンジニア認定試験とかいうのを受けるんやけどどうやって勉強しよう 模擬試験1個しかないし過去問に似たような問題とか落ちてないよなあ
542 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:31:55.02 ID:7lWO2Eg6.net] >>521 組み込み関数のord()を使うのが正解 for x in "いろは" : print(hex(ord(x))) で0x3044,0x308d,0x306fが取得できる 単にord(x)だと10進数のやつになる
543 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:32:57.79 ID:fIhIM0AX.net] >>522 プログラミング言語の資格なんてクソの役にも立たないから、気楽に受ければいいよ
544 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:37:17.26 ID:yUBkGE+g.net] >>523 ありがとうございます!できました!
545 名前:デフォルトの名無しさん [2019/03/05(火) 18:43:39.13 ID:yG+1nA7g.net] >>516 >>517 ありがとうございます。メモリ上でというのが理想ですが やり方がわかりません。もっと勉強してきます。
546 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 18:48:35.51 ID:jEZ1EKzD.net] >>521 ‘いろは’ はstr だからだよ。 s = ‘いろは’ b = s.encode() とバイト列などにすれば、 b.decode()は出来るよ。 ただ目的とは違うだろうけど。 UTF-8 はデフォルトだがら指定しなくて良い。
547 名前:デフォルトの名無しさん [2019/03/05(火) 19:39:23.62 ID:xsrwNvaN.net] >>507 一度保存せずともnp.asarray()でgrabしたのをnumpy配列に変換できるからあとはOpenCVで処理できる
548 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:18:03.67 ID:apIwEZzG.net] m = 1 x = 0.8 print(m,x,m-x) ↑こちらを実行すると 引き算が0.199・・となるんですけど 1 0.8 0.19999999999999996 変数に入れた通りの解答 0.2にするにはどうすればよいのでしょうか?
549 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:41:40.15 ID:7lWO2Eg6.net] >>529 https://docs.python.org/ja/3/library/decimal.html
550 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:49:10.69 ID:/6VFWsqW.net] >>526 ソースコード見る限りImageGrab.grab()がimageを返しそうだから frame_pre = ImageGrab.grab() や frame_next = ImageGrab.grab() として saveの行とimreadの行を削除してみたらどう?
551 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 20:58:16.68 ID:CbSwC66k.net] >>529 f文字列を使ったら? print(x,y, f'{x-y:.1f}' ) # 小数点以下1桁表示
552 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 21:03:22.55 ID:yUBkGE+g.net] "%s" % "foo" この%ってprintfみたいな感じと思うのですが、 これはなんというのでしょうか?
553 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 21:11:42.23 ID:/6VFWsqW.net] >>531 >>528 の言う通りnp.asarrayでキャストしないとエラー出た つまり frame_pre = np.asarray(ImageGrab.grab()) とする
554 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 22:16:33.26 ID:fIhIM0AX.net] >>533 廃棄物や老害とでも呼べばいいんじゃないかな Python3で非推奨になった時代遅れの演算子だから今すぐに忘れなさい
555 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 22:40:50.70 ID:apIwEZzG.net] >>530 奥が深いんですね 考慮しなきゃいけない事色々あって嵌りそう >>532 当面f文字列で対応してみます ありがとうございます!
556 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 22:43:50.05 ID:yUBkGE+g.net] >>535 非推奨なんですね、ありがとうございます
557 名前:デフォルトの名無しさん [2019/03/05(火) 22:50:11.98 ID:7Yqzn8cc.net] >>537 代わりにformat()使おうね
558 名前:デフォルトの名無しさん [2019/03/05(火) 23:09:19.30 ID:gSGf6yDl.net] a = [d * 2 for d in 'abcde'] print(a) abcdeを5こずつ表示とかってできますか?
559 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 23:23:03.46 ID:eDzk8k/k.net] abcdeを5こずつ表示って abcde abcde abcde abcde abcde abcde abcde abcde abcde abcde ..... と表示したいってことか?
560 名前:デフォルトの名無しさん [2019/03/06(水) 00:06:23.49 ID:3F/qov+q.net] >>540 はいです
561 名前:デフォルトの名無しさん [2019/03/06(水) 00:10:06.28 ID:XQpJaTFA.net] インタプリンタでこれ実行したらFalseなんですけど何をもってFalseと判断してるのか分かりません (1,3,5) < (1,2,7)
562 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 00:10:39.87 ID:R/1sU7PR.net] 分岐のコメントってifの上か下、どちらが良いでしょうか # 処理内容はxxx if flg # 処理内容はxxx 処理内容…
563 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 00:55:19.44 ID:oR6mPeK7.net] >>542 そうですか
564 名前:デフォルトの名無しさん [2019/03/06(水) 00:56:10.88 ID:3F/qov+q.net] >>542 falseになる理由を教えてください
565 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 00:59:18.54 ID:PXi0ytZJ.net] >>545 前から順番に比較していって同じなら次を比較し、異なるならそこで結果を返す この場合は3と2を比較して3 < 2 は False となる
566 名前:デフォルトの名無しさん [2019/03/06(水) 01:37:14.91 ID:Wfp2djOX.net] >>542 (a,b,c) < (d,e,f) は a<d or b<e or c<f と同じ
567 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 02:12:47.95 ID:ctS44w1M.net] お前ら嘘ばっか教えるんじゃないよ (1,3,5) < (1,2,7) は 135 < 127の比較、当然 135がデカいからFalse >>542 絶対、信じろ
568 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 02:23:21.55 ID:Uli2bEJM.net] >>539-541 Ruby なら文字列に、掛け算(*)演算子も定義されているから、これだけ puts "abc" * 3 #=> abcabcabc
569 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 05:37:29.57 ID:MPL4boGu.net] リスト内を小さい順に並び替えて行く処理を書いてみた。 https://ideone.com/iK3JYA 上記ソースをリスト内包表現で実現できそうで色々試したりしましたがうまく行きませんでした。 もしリスト内包表現で表現できるならどう書けばよいのかご提示宜しくお願いします。
570 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 05:37:46.06 ID:A0Y4tMZt.net] >>547 >>> (1,3,5) < (1,2,7) False >>> 1<1 or 3<2 or 5<7 True >>548 >>> (1,3,5) < (1,2,7,9) False >>> 135 < 1279 True
571 名前:デフォルトの名無しさん [2019/03/06(水) 07:42:57.04 ID:3F/qov+q.net] >>546 >>547 >>551 ありがとうございます。 理解できました
572 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 08:25:20.58 ID:bBth0ZZS.net] >>542 正式ドキュメントのチュートリアル 5.8に詳しく書いてある。 要素を最初から辞書的に1つずつ比較。片方の要素がなくなれば終わり。 適切な比較順序がない場合は、インタープリターは TypeError 例外を発生させます。 (1, 2, 3) < (1, 2, 4) [1, 2, 3] < [1, 2, 4] 'ABC' < 'C' < 'Pascal' < 'Python' (1, 2, 3, 4) < (1, 2, 4) (1, 2) < (1, 2, -1) (1, 2, 3) == (1.0, 2.0, 3.0) (1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4) (1,2,3)<(1,'2',4) は、エラーになる。
573 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 08:51:37.17 ID:f/NWPYTA.net] >>549 死ね
574 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 11:29:05.92 ID:R/1sU7PR.net] withってどういう時に使うのが良いでしょうか 明示的に「これを中心にしたブロックです」と言いたいということでしょうか 変数に入れるのではダメですか?
575 名前:デフォルトの名無しさん [2019/03/06(水) 12:44:10.04 ID:qZuvgmSh.net] >>555 例えばファイルの読み書きの時 withを使うとブロックを抜けた時に自動でcloseされる 途中でエラーが出てもちゃんとcloseしてくれる 自前のクラスでも__enter__()と__exit__()を実装しておくとwithに入る時と出る時に呼び出されるので、前処理と後処理を忘れずにしたい時に使える
576 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 12:47:48.19 ID:R/1sU7PR.net] >>556 ありがとうございます これは便利ですね
577 名前:デフォルトの名無しさん [2019/03/06(水) 12:58:50.97 ID:pP8e2GTT.net] >>> [print(f'u{ord(_):04x}') for _ in 'いろは'] u3044 u308d u306f [None, None, None] >>> [print(f'{_:02x}') for _ in 'いろは'.encode('utf-8')] e3 81 84 e3 82 8d e3 81 af [None, None, None, None, None, None, None, None, None]
578 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 16:16:53.92 ID:w73Hgmg1.net] >>556 C#のusingと理解すればよき?
579 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 17:10:04.23 ID:+4ROOaYr.net] >>558 _ って何を表してるんだろうと思ったら、_ 1文字でも変数名として使えるんだね。 こう言う使い方は良いね。
580 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 18:21:37.77 ID:kGjUBYU2.net] >>539-541 import sys d='abcde' c=0 while 1: sys.stdout.write(d) c+=1 if c % 5 == 0: sys.stdout.write('\n') else: sys.stdout.write(' ')
581 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 18:57:59.23 ID:2Etc0l5z.net] >>561 何でそんなしち面倒臭いことするの? そもそもstdoutなんて必要ないだろ。 それに無限ループは絶対にダメ。 そんなことするくらいなら、それこそ print(' abcde '*5, '\n ') で済む話。 複数行にしたければお好きなだけループで回せば良い。
582 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:18:18.39 ID:kGjUBYU2.net] >>562 printつかうと余計な改行はいるだろ
583 名前:デフォルトの名無しさん [2019/03/06(水) 19:22:31.40 ID:nP+qIuYQ.net] print('abcde', end='') とか sys.stdout.write('abcde') とか 面倒なのは許せ
584 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:24:34.96 ID:2Etc0l5z.net] >>563 1つのprint で書けば済む話。
585 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:30:59.83 ID:2Etc0l5z.net] >>564 ヘェ〜、勉強になる。 >>> print(1,end=''),print(2) 12 (None, None) このNone はなんで出るの? なんなの?
586 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:36:11.71 ID:b/S1njE3.net] >>566 「関数」というのは本来「なんらかの計算をして値を返すもの」 だからどんな関数も必ず何らかの値を返す 単に複数の処理をひとつにまとめただけで値を返す必要のないものでもな printは画面に文字列を表示するだけのものなので本来は値を返す必要はないんだが だからってわざわざ関数とは別の仕組みを作るのは面倒臭い だから「None(値なし)を返す関数」という形式で実装されているわけだ
587 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:40:21.23 ID:b/S1njE3.net] ちなみに一応「値を返す関数」と「値を返さない手続き」を別の枠組みとして扱っているプログラミング言語も存在する VBAのFunctionとSubがそうだ
588 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 20:04:28.41 ID:2Etc0l5z.net] 勉強になるな。 下手な入門書より2chの方がためになることも多い。 まだ入門書も適当に読み飛ばしてる段階だけど。 2ch の記事は入門者のモチベーションを高めてくれる。
589 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:04:59.01 ID:XsTs8xzo.net] ふーん
590 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 21:45:22.45 ID:muSUG44X.net] >>373 Pydroid3
591 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 23:15:48.67 ID:2MUQBf9Y.net] ツンデレ関数 print()
592 名前:デフォルトの名無しさん [2019/03/07(木) 00:29:00.90 ID:1sghIh7a.net] オライリーのPythonチュートリアル分かりにくいい これを元に資格試験を作ってるんだよね?
593 名前:デフォルトの名無しさん [2019/03/07(木) 00:35:34.48 ID:FPeGgUJ/.net] >>573 資格試験ってなんだ? 公式サイトの和訳のやつなら Web版が随時アップデートされてるよ
594 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 00:53:48.36 ID:l1bMfloe.net] >>573 Pythonに資格試験なんて存在しません 非公式の資格詐欺は知らんけど
595 名前:デフォルトの名無しさん [2019/03/07(木) 01:01:50.93 ID:1sghIh7a.net] >>574 >>575 資格試験って言い方が間違ってたらすまん Python 3 エンジニア認定基礎試験てのを受けるんだけど それの認定教材がオライリーのやつでwebで見てるんやけど 分かりにくいなって思ったそれだけ
596 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 01:15:05.56 ID:k6ZLJER9.net] >>573 試験範囲がそこから出されると言うだけの話だよ。 公式チュートリアルと変わりない。 それの書き写しがオライリーのだから。 どちらも全くの初心者には難しいと感じるみたいだから、そう言う人は先ずその前に超初心者用的な入門書をいくつか読んだ方が良いのでは? その類は対して読むのに時間はかからない。 ネットに落ちてるものでも十分。 ただし、自分で書いて練習することが重要。 jupyter でもなんでも良いから確認する環境を作ること。 読むだけでは身につかない。
597 名前:572 [2019/03/07(木) 01:20:20.63 ID:FPeGgUJ/.net] >>576 洋書特有の文体だから慣れてないと違和感あるけど 言語のチュートリアルとしては良い方の部類だよ ただ他の言語をマスターしてることが前提のところあるから ガチ入門者なら国産の本を勧める NECがスポンサーの試験か・・・ Pythonに力入れてるイメージはないがどうなんだろ
598 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 02:47:07.76 ID:7hJ/R58z.net] .,、- ' `´  ̄ ̄` ''‐ 、 ,r'´ .`ヽ、 /. -t‐'''l´ .`l'‐t、 .\ /´. 'lliiiill lliiii!. ヽ, ./ __ i,_,ノ .i, ,! ', な、なんなんですか…? { (´__,) ,..., ~ (`ヽ l .l - 、..,_ .l_ i ,、-"'-、 l ここ、どこですか…? .l `i .l,_ソ f´ .l ', ノ .l, ,' どうして私、こんなとこに貼られてるんですか…? '、 ,.、-' .,' 'i、 ー一 '´ /':, l ヽ, ノ } .l `‐、,_ ._,.-.' ,' l `‐- 、,........,..、-‐'` / .\_ ノ l ,/ `'''ー‐ '´ ヽ、 _, -'  ̄ ̄
599 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 02:50:45.25 ID:bl19yUau.net] 殺人ピンク玉は去れ
600 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 03:49:17.97 ID:9XzeaP/N.net] >>529 Decimal で文字列使う https://i.imgur.com/QQ0npTS.jpg
601 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:12:07.95 ID:wzWG3iLc.net] 3000円もする専門書買うよりさ、わからないことがあったらネットで調べれば無料で答えがみつかるよ。 英文でも翻訳ソフト使えばいいだけだし。 ネットで調べても答えが見つけられないやつは、そもそもプログラミングに向いてないんじゃないか。
602 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:42:09.79 ID:E2eXaClF.net] 公式チュートリアルで良いだろ。 Japanese 指定して一括ダウンロードすればPDFが大量にある その中のtutorial 開くと日本語訳 tutorial (pdf版)が入手できる
603 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 09:50:54.08 ID:IMd+ImAh.net] ソース嫁からググれカスに移行したが今ではググったらカスばっか。
604 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 11:38:00.92 ID:Gktreo0e.net] LearnPython.orgやCodeacademyみたいにWeb上でインタラクティブシェル開いて 一つ一つお題を実行させる形式のも良いんじゃない。 読んでるだけじゃなかなか身につかないよ
605 名前:デフォルトの名無しさん [2019/03/07(木) 14:15:07.44 ID:N/cPeE83.net] >>567 そういえば >>> print(1) 1 だとNoneは表示されないのに >>> print(1, end=''),print(2) 12 (None, None) のときだけ表示されるのは変だと思わない?
606 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 14:31:29.61 ID:E2eXaClF.net] >>586 下はタプルだからだろ。
607 名前:デフォルトの名無しさん [2019/03/07(木) 15:40:41.57 ID:lgGD2eax.net] >>586 None単体の場合は表示されないようにインタラクティブシェルがなってる >>> None >>>
608 名前:デフォルトの名無しさん [2019/03/07(木) 16:03:31.61 ID:aOVGrksh.net] >>566 >>> print(1, end='') or print(2) 12
609 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 16:38:38.56 ID:UepKFInK.net] 以下のURLを参考に、フォントファイルから画像を描画しようと思っています 指定した文字がフォントファイルにあるかどうかの判定は、どのようにすれば良いでしょうか? d.hatena.ne.jp/nakamura001/20101228/1293522309 それとも一度描画して、真っ白かどうかで判定・・・しかないでしょうか pprintで取得したところ、参照のような感じと思いますが、以下のようになりました。 <PIL.Image.Image image mode=RGB size=256x256 at 0x13FF7DEE2E8>
610 名前:デフォルトの名無しさん [2019/03/07(木) 16:58:16.83 ID:aOVGrksh.net] freetypeならFT_Get_Char_Index
611 名前:デフォルトの名無しさん [2019/03/07(木) 17:01:47.98 ID:aOVGrksh.net] ここも参考になるかな https://qiita.com/496_/items/f6efb650dcf7e9d2dfe4
612 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 17:34:33.92 ID:UepKFInK.net] >>591-592 ありがとうございます 使い方を教えていただけないでしょうか 引数が二個必要とかいてると思うのですが https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_Get_Char_Index 実際に二個設定するとエラーがでます import pprint import freetype face = freetype.Face('C:/Users/a/font/src.ttc') pprint.pprint(freetype.FT_Get_Char_Index(face,"33")) これはエラーになります import pprint import freetype pprint.pprint(freetype.FT_Get_Char_Index("33")) OSError: exception: access violation writing 0x000001CA5F00FF01 お助け下さい
613 名前:デフォルトの名無しさん [2019/03/07(木) 17:49:06.09 ID:aOVGrksh.net] 先にinit呼べ
614 名前:デフォルトの名無しさん [2019/03/07(木) 17:53:31.19 ID:aOVGrksh.net] FreeTypeの使い方 https://qiita.com/496_/items/6d2540e26d66c9ed5f9a OpenTypeの仕様前編 https://qiita.com/496_/items/f6efb650dcf7e9d2dfe4 OpenTypeの仕様中編 https://qiita.com/496_/items/4f8327fe741cf0c87736 OpenTypeの仕様後編 https://qiita.com/496_/items/02f2d63fe4bd5603e4dc
615 名前:デフォルトの名無しさん [2019/03/07(木) 19:18:41.40 ID:aOVGrksh.net] FONT_PATH = b'mikaP.ttf' ft2 = ctypes.windll.freetype ft2lib = ctypes.c_void_p() ft2.FT_Init_FreeType(ctypes.byref(ft2lib)) face = ctypes.c_void_p() font_path = ctypes.create_string_buffer(FONT_PATH) ft2.FT_New_Face(ft2lib, font_path, 0, ctypes.byref(face)) idx = ft2.FT_Get_Char_Index(face, b'A'[0]) print(f'{idx:04x}') # 0023 idx = ft2.FT_Get_Char_Index(face, ord('あ')) print(f'{idx:04x}') # 07bd ft2.FT_Done_Face(face) ft2.FT_Done_FreeType(ft2lib) 一応動いた
616 名前:デフォルトの名無しさん [2019/03/07(木) 19:21:06.42 ID:aOVGrksh.net] idx = ft2.FT_Get_Char_Index(face, ord('鷗')) print(f'{idx:04x}') # 38c1 idx = ft2.FT_Get_Char_Index(face, ord('𠮟')) print(f'{idx:04x}') # 0000
617 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 20:31:42.10 ID:VtililUQ.net] >>581 これ何使ってんの? スマホだよね?
618 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 20:32:20.69 ID:VtililUQ.net] >>582 いい本に出逢えばそれに越したことはない
619 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 21:37:32.00 ID:D1nw//Ty.net] >>598 Pythonista 3 iPad, iPhone のアプリ
620 名前:デフォルトの名無しさん [2019/03/08(金) 01:56:52.91 ID:FktPmjXq.net] i = 10 def num(arg=i): print(arg) i = 7 num() iはどちらもグローバル変数ですよね? 関数の中身変えて7の方を出力させることってできますか?
621 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:04:22.64 ID:Nky3or7z.net] def num(arg=None): arg == i print(arg)
622 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:05:04.82 ID:Nky3or7z.net] def num(arg=None): _arg = i _print(arg) の誤り
623 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:15:56.15 ID:5FsfaYFV.net] >>601 https://i.imgur.com/2LoxSbi.jpg
624 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 02:20:26.52 ID:5FsfaYFV.net] >>603 https://i.imgur.com/FNgAPWr.jpg
625 名前:デフォルトの名無しさん [2019/03/08(金) 02:47:32.14 ID:FktPmjXq.net] >>604 ありがとうございます でも7になる理由がわかりません。 どういった処理になるのか教えて欲しいです、
626 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 06:55:10.03 ID:49yeJutG.net] >>600 ありがとー
627 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 11:24:52.69 ID:enrIbZX0.net] >>606 i = 10 def num(arg=i): print(arg) i = 7 num() この場合は、def を定義するときにarg= でarg のデフォルト値をセットする。 この時の i は 10だろ。 まだ下の行は実行されていないんだから。 i = 10 def num(arg=None): arg == i print(arg) i = 7 num() この時のnum内の実行文は実行されたときに動くんだから、i=7 がセットされた値を参照する事になる。 関数のデフォルト値は関数を定義したときに決定される。 関数内の実行文は実行時に決定される。
628 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 11:33:20.13 ID:5FsfaYFV.net] >>608 >この時の i は 10だろ。 まだ下の行は実行されていないんだから。 実行されるときの i は7だろ。
629 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 12:03:17.67 ID:JVGfVyzo.net] 問題はprint(arg)が実行される時のargの値でしょ? def num(arg=i): の時に、argにはiへの参照が渡されるんじゃ無くて、iの値が渡されるってだけ。
630 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:20:03.26 ID:enrIbZX0.net] >>609 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
631 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:35:58.82 ID:5FsfaYFV.net] それこの実行結果の前でも同じこと言えんの? https://i.imgur.com/LmkiE6A.jpg
632 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:36:28.88 ID:0Uig+6Kq.net] 仕様ですな デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、同じ "計算済みの" 値が呼び出しのたびに使用されることを意味します。 https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions
633 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:39:30.34 ID:0Uig+6Kq.net] >>612 デフォルト引数じゃないしw 引数渡しちゃってるしw
634 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 13:57:33.85 ID:JVGfVyzo.net] >>612 真面目にやってんならこれは恥ずかしい。
635 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:02:30.13 ID:j3nR25S+.net] ガイガイ音頭踊っとれや…(嘆息)
636 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:12:04.85 ID:1m9JjIZU.net] おもしろかったぞw
637 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:51:41.35 ID:enrIbZX0.net] >>612 デフォルトが解っていないみたいだな。 これとまったく同じことなんだぞ。 def num(arg=10) print(arg) print(num(7)) #> 7 print(num()) #> 10
638 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 14:53:37.
] [ここ壊れてます]
639 名前:91 ID:enrIbZX0.net mailto: >>618 printが2重になってたな。 [] [ここ壊れてます]
640 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 15:17:08.58 ID:E9FXn3JR.net] 勉強になったな!
641 名前:デフォルトの名無しさん [2019/03/08(金) 16:07:05.72 ID:eYLLL/Dr.net] よくはまるのは default=[] にしたとき
642 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 16:35:59.46 ID:DUow6Thg.net] 二次元配列からの取り出しで、 X = hoge[:, [2,3]] Y = hoge[:, 0] って書かれている時、具体的にどこからどこまで取り出しているのでしょうか?
643 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:17:55.67 ID:54yPjEY7.net] >>612 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。 つまり、関数定義時点で、i=10 とデフォルト値が確定する。実行時ではない。デフォルト値が、10から7にころころ変わったりするものか。だから、結果は10なんだよ …ってあれ?
644 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:20:46.97 ID:54yPjEY7.net] 仕様ですな デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、(つまり10と評価)同じ "計算済みの" 値(つまり10)が呼び出しのたびに使用されることを意味します。 https://docs.python.org/ja/3.6/reference/compound_stmts.html#function-definitions 見事に結果が違うな 下手に言葉でルール説明しなくていいから、インタプリタに動作アルゴリズムをそのまま公開してほしいわ
645 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:41:30.86 ID:SfpbmzlL.net] ちょっと何言ってんだか分かんないw
646 名前:デフォルトの名無しさん [2019/03/08(金) 17:48:01.52 ID:+fF7voFW.net] >>622 Xは2列目と3列目 Yは0列目
647 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 18:34:43.25 ID:qP6cz7Aj.net] >>624 言語リファレンスは明確に仕様を定義するだけのものだから、理解させるためのものではない。 絶対に間違いがあってはならないから下手な説明はない方が良い。
648 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 19:17:40.56 ID:1m9JjIZU.net] >>624 >>下手に言葉でルール説明しなくていいから オイオイ、これ以上分かりやすい説明ないだろう。しかも公式リファレンスだよ >>インタプリタに動作アルゴリズムをそのまま公開してほしいわ 意味不明w
649 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:03:58.48 ID:IGhZvnlG.net] 公式の説明と実際の動作が一致しないんじゃなあ
650 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:34:26.69 ID:TVXnQmRl.net] さすがに釣りでしょう
651 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:33:30.47 ID:1m9JjIZU.net] >>629 その一致しないってコード貼ってみて
652 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:35:26.18 ID:5FsfaYFV.net] >>631 https://i.imgur.com/2LoxSbi.jpg
653 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:45:16.90 ID:mz9PUEDs.net] まじかよこいつ…
654 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:47:23.79 ID:JVGfVyzo.net] >>632 ‥あの、最後の行でnum()が実行される前に、i=7にして、print(arg) のargに7入れてますよね。。
655 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:48:50.29 ID:6/VZFxCg.net] >>632 まず関数の中ではprintじゃなくてreturn使えよ
656 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:54:12.28 ID:1m9JjIZU.net] クソー、こんなバカでかい釣針に…
657 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:58:20.32 ID:0lCnL4hz.net] >>632 レベル高すぎて俺分からんが、へんだとPythonを作っているところに 激しく抗議したほうが良いな。
658 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:10:29.49 ID:5FsfaYFV.net] >>634 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。 つまり、関数定義時点で、arg =None とデフォルト値が確定する。実行時ではない。デフォルト値が、None から7にころころ変わったりするものか。だから、結果はNone なんだよ
659 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:38:20.41 ID:5FsfaYFV.net] >>635 https://i.imgur.com/idkGAYZ.jpg
660 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:44:17.08 ID:5FsfaYFV.net] >>631 https://i.imgur.com/cVbw05B.jpg
661 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:48:11.06 ID:5FsfaYFV.net] >>614 同じことだよ Def で確定なんかしないんだな https://i.imgur.com/InFjQUr.jpg
662 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:51:54.71 ID:5FsfaYFV.net] 要するに この二つで 主力に差がある おかしいだろ 言語仕様的にってこと https://i.imgur.com/FNgAPWr.jpg https://i.imgur.com/InFjQUr.jpg i がグローバルだとか def で引数確定だとか じゃあ説明つかないわけで
663 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:55:09.64 ID:drDoyyDV.net] 何もおかしくなくね?
664 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 22:58:43.49 ID:Bv9xm7M7.net] 5FsfaYFVの頭がおかしい
665 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:03:08.61 ID:kqYYM5Yl.net] 何が問題なのかわからん 最初のはnum()に引数渡してないんだから、定義時のarg = 10がデフォルト値と設定されて10が表示される 次のはnum(7)と引数に7を渡してるんだから、デフォルト値をarg = 7で上書きして7と表示される
666 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:08:02.19 ID:0lCnL4hz.net] >>643 俺ら低脳はおかしくなくねだろうが、高脳は説明つかないわけで になるんだよ。 脳レベルがずっと低い低脳は高脳が言っていることはレベル高すぎて理解できないことがよくあるからな 高脳がすごいことをカキコしても俺らはついていけないからスルー(何言っているの)になってしまう。 >>642 超初心者(低脳)スレで言ってもしょうがないから,teratailあたりで、これ説明つかないよね と意見を求めたほうが良いよ
667 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:25:29.70 ID:33ZLM8BT.net] >>642 何言ってんだこいつは? 長々とおちょくってるだけだろ。 何が言語仕様的にだ。言語仕様も理解できないで文句言うな。 言語仕様を100回読め。
668 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:25:43.90 ID:/RdmhwQH.net] こんな基本的な事がおかしかったらとっくに修正されてる ドキュメントを熟読してnum.__defaults__を確認しなさい
669 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 23:59:43.59 ID:fVqLi10C.net] >>645 >次のはnum(7)と引数に7を渡してるんだから、デフォルト値をarg = 7で上書きして7と表示される デフォルトは確定だから上書き不可能
670 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:01:58.96 ID:LldggWB2.net] この言語仕様がおかしい https://i.imgur.com/FNgAPWr.jpg i はグローバル変数なんだから、def で確定させてはいけない それが直感的に正しい記述を目指すPython 的な文法 開発者は即刻インタプリタを修正すべき すぐにだ!
671 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:03:20.04 ID:LldggWB2.net] 黄猿は現行仕様を無批判に教祖のごとく崇め奉る無能者 そんな信者の擁護論をあてにしてはいけない 俺のような人間の言うことを開発者は聞くべき
672 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:04:09.24 ID:JrnVgIXe.net] そもそもデフォルト引数に変数を入れるという使い方が間違ってるわけで…
673 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:07:50.33 ID:ScAo2omB.net] >>652 初耳だ、詳しく
674 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:18:40.63 ID:a1Hsl2rh.net] なんかもやもやしてたけど>>652 の発言でスッキリした
675 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:31:23.52 ID:ScAo2omB.net] >>654 エー、どういうこと? 俺のモヤモヤ晴らしてくれよー
676 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:32:14.31 ID:a1Hsl2rh.net] 前言撤回 numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが 違うのか?
677 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:32:30.46 ID:jmJNTA16.net] >>650 お前が言語を理解していないことがよくわかるな。 デフォルト値は変数ではなくて、固定の値なんだぞ。
678 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:32:49.42 ID:QFJRtnnZ.net] >>652 普通は i = 10 def num(arg=i): print(arg) じゃなく、 def num(arg=10): print(arg) とするんだろうが、変数を介してデフォルト引数を指定して使う場合って どんな時なんだろうって思うんだよな
679 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:34:24.26 ID:jmJNTA16.net] >>656 何も入れない時に、どう言う値が入ったものとして動くかを決めるのがデフォルト値。
680 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:46:43.68 ID:LldggWB2.net] >>659 def と言うのが何かを考えよう。 def で関数を定義する。その時点でパラメータのデフォルト値も確定する。 つまりパラメータのデフォルト値は関数の定義時点で確定する。 実行時ではない。 デフォルト値がころころ変わったりするものか。
681 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:49:26.21 ID:a1Hsl2rh.net] >>659 そうなんだけど 多分>>650 は引数のこと理解してないをわかってないんだろ。 デフォルト値を使いたい訳じゃなく、defに数値を渡したいだけじゃないのか?
682 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:51:38.41 ID:LldggWB2.net] >numの()に何も入れないで呼び出しゃ何を渡すか不安定になって当然と思うが 不安定になるw なにその情緒論 文法的に不可ならエラー吐けばOK そうでないなら、「何らかの処理」をさせて終わり その処理を場合分けして書いとくのが公式ドキュメントの仕事だろ
683 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 00:55:39.76 ID:jmJNTA16.net] >>661 def num(arg=i): print(arg) と、 def num(i): print(i) は同じものだと思ってるのかな? 下の場合はまたそれはそれで誤解しそうな要素を孕んでるんだけど。 この場合の i は、ローカル変数となる。外でグローバル変数として使われていてもね。
684 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:02:30.05 ID:ScAo2omB.net] 誰か俺の疑問にも応えてよ〜 >>652 について詳しく知りたいんだよ〜
685 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:03:05.66 ID:jmJNTA16.net] もしかして、デフォルトというカタカナ英語が理解できないのかも。 省略した時の値、省略値といってあげれば理解できるのかな?
686 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:03:41.96 ID:a1Hsl2rh.net] >>663 そこでなくて def num(i): を呼ぶときに num()にするとエラーが出るよね。 けど、 def num(agr=i) に、するとエラーが出ない!!うまく行った!! けど、思ってた作動しない!なんでや! で騒いでんのと思う
687 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:04:04.19 ID:jmJNTA16.net] >>664 省略値って何をするものか理解したか?
688 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:14:03.06 ID:ScAo2omB.net] >>667 どういうことですか? 条件によってデフォルト値を変えるような使い方はまずいんでしょうか?
689 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:16:59.92 ID:jmJNTA16.net] >>668 まずいも何もそんなことはできないし、それは省略値ではない。 省略値は何度も言うように関数を定義した時点で固定されるもので、一度その時に固定された値が後で変わるようなことはあり得ない。
690 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:19:46.38 ID:jmJNTA16.net] 理解できなければ、デフォルト値には変数は使えないと覚えた方が身のためだよ。 あくまでも固定値なんだよ。
691 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:31:22.96 ID:gjM9SRoS.net] https://i.imgur.com/InFjQUr.jpg > 一度その時に固定された値(10)が後で変わるようなことはあり得ない。 変わってるじゃん 7 に
692 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:33:05.19 ID:ScAo2omB.net] 言い方がまずかったかな 私が言いたかったのは def func(arg=var): のvarの部分に変数を使うっていう意味で言ったつもりだったんですけど
693 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:38:38.47 ID:gjM9SRoS.net] そう言い方がまずいんだよ 日本語の表現力が君には足りない 昨日からしつこく指摘されてようやく理解したようだね 以後は気をつけるように 君は言葉で説明するのはやめとけ みんなが迷惑する 具体的なコード書いて、こうかくとこうなる、こう変えるとこうなる、そう具体的に書いたほうがいい
694 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:48:10.74 ID:a1Hsl2rh.net] やっと言葉が見つかった デフォルト値と引数の引き渡し方を混同してないかい?
695 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:54:11.30 ID:CZjUTyKq.net] >>672 別にいいんじゃないの なんかまずいことでもあるのかな?
696 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 01:59:58.65 ID:jmJNTA16.net] >>674 そう言うことだな。 >>671 は完全に混同してる。 省略値が全くわかっていない。 下の方で i= 7 num(i) で呼んだ場合は、パラメーターとして7を渡したんだから、パラメータは省略されていないんだから省略値が使われるわけがないと言うことを理解しない限りは堂々巡りだな。 num() と言う形でパラメータを渡さなかった場合にだけ、省略値が使われる事を理解しなさい。 なんのための省略値だよ。 呼び出し元がパラメータを渡さなかった場合に使われる値が省略値だよ。 def num(arg=10) であれば、num() で呼べば、num(10) と呼んだのと等しくなる。
697 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:07:54.61 ID:ScAo2omB.net] >>676 ねえねえ、>>672 に関してのご教授お願いしますよ
698 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:09:08.25 ID:gjM9SRoS.net] >>676 その日本語説明では、 https://i.imgur.com/FNgAPWr.jpg が説明できていない
699 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:15:15.17 ID:gjM9SRoS.net] >>676 の言いたいことをコードで書くとこうだな https://i.imgur.com/iv7Capl.jpg https://i.imgur.com/MoZ1uos.jpg
700 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:19:08.39 ID:gjM9SRoS.net] で、言語仕様的問題に戻るとだ。 インデント強制文法で売ってるPython 的には、こういう場合、i は、グローバル変数になるべきなのであって、 i 渡さない場合でも、上のi だけ参照するようなクソ仕様は直感に反するから修正しろということ ちゃんと下の i も見るようにしろと。
701 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:21:39.74 ID:jmJNTA16.net] >>678 お前は人の言葉を聞いていないだろ。 i=10 def num(arg=i) と書いた時点で、 def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定される
702 名前:だから。 その後で、iをどう変化させようが 省略値は変わらないんだよ。 お前わざとおちょくってるだろ。 [] [ここ壊れてます]
703 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:22:12.05 ID:gjM9SRoS.net] つまり、このコードでも出力は、10じゃなくて、7になるように言語体系を考えて作り込めということだよ。 https://i.imgur.com/MoZ1uos.jpg わかったか>PSF
704 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:24:09.75 ID:gjM9SRoS.net] >i=10 >def num(arg=i) と書いた時点で、 >def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。 >その後で、iをどう変化させようが >省略値は変わらないんだよ。 その日本語説明では、 https://i.imgur.com/iv7Capl.jpg が説明できないな もうお前日本語使うのやめろ むいてないよ コードで語れ
705 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:24:20.95 ID:jmJNTA16.net] >>680 お前がバカなのはよくわかった。 省略値は変数じゃないと何べん言ったらわかるんだ。
706 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:25:17.72 ID:ScAo2omB.net] >>681 ねえってばー、荒しの相手してないでボクの疑問に答えてくださいよー
707 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:29:04.29 ID:jmJNTA16.net] >>685 お前も嵐だろ。
708 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:30:13.44 ID:gjM9SRoS.net] 試しに置き換えてみた 出力結果を見てみろ 7だぞ 10じゃないぞ >>681 >i=10 >def num(arg=i) と書いた時点で、 >def num(arg=10) と置き換わるんだよ。定義した時に省略値は固定されるんだから。 https://i.imgur.com/vJPCACP.jpg
709 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:30:23.94 ID:jmJNTA16.net] >>685 >>684
710 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:32:07.70 ID:jmJNTA16.net] >>687 お前がただのバカだと言うことがよくわかった。 小学校は卒業したか?
711 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:33:18.73 ID:gjM9SRoS.net] コードとその実行結果だけが真実だよ 口汚く罵るのは素人の証拠
712 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:37:03.26 ID:jmJNTA16.net] >>690 ここを100回読んでから出直せ。 https://docs.python.org/ja/3/tutorial/controlflow.html#default-argument-values 4.7.1. デフォルトの引数値
713 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:37:28.33 ID:ScAo2omB.net] >>688 おいおい荒しと一緒にしないでくれよ 自分の間違えに気が付いたんで逃げるのかw デフォルト値に変数を使えるよねえw i = 3 def sum(x, y=i): print(x + y) sum(2)
714 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:39:33.41 ID:gjM9SRoS.net] >>691 このコード見て自分の日本語がおかしいと感じるだろう? https://i.imgur.com/vJPCACP.jpg
715 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:39:50.07 ID:jmJNTA16.net] 重要な警告: デフォルト値は 1 度だけしか評価されません。
716 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:41:41.76 ID:gjM9SRoS.net] >>694 だからなに? コードで語れないの? ひょっとしてドキュメント読むだけで、プログラム書いたことないの?
717 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:44:04.32 ID:ScAo2omB.net] >>691 100回読んだけどデフォルト値に変数を使っちゃいけないなんて書いてませんでしたよ >>669-670 の発言の言い訳をお願いしますw
718 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:45:06.52 ID:jmJNTA16.net] 重要な警告: デフォルト値は 1 度だけしか評価されません。 変わらないものは変数とは言いません。
719 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:47:13.43 ID:gjM9SRoS.net] >>692 Def に変数を代入してもOK https://i.imgur.com/92NY4Vr.jpg
720 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:47:13.77 ID:EXmOKVNB.net] ガイガイ音頭踊っとれやとは言ったが 夜通し踊れとは言っとらん
721 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:51:29.61 ID:ScAo2omB.net] >>697 i = 3 def sum(x, y=i): この i は変数ではないと強弁されるおつもりか?
722 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 02:53:31.44 ID:WSwBoc7f.net] 実引数を渡したら既定値は参照されないので、頓珍漢な主張 また既定値に変数を使用しても結び付きは変数ではなく実体 定義時に解決された割り当ては些か小細工せんと変化しない
723 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 03:16:44.80 ID:ScAo2omB.net] >>701 行きがかり上煽りのようになってしまったワケですが… >>652 の「そもそもデフォルト引数に変数を入れるという使い方が間違ってるわけで…」 という発言になんで間違え?って思ったんですよ これ、「間違いではないけどあまり意味はないよ」くらいの解釈でよろしいんでしょうか?
724 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 03:47:01.64 ID:WSwBoc7f.net] >>702 元になった変数へ再代入したら仮引数の既定値も変化する事を期待するならば意図した動作にはならない しかし実体を共有したり、ミュターブルなら代入を除く変更を反
725 名前:映させたり、コード次第で普遍的に意味がないという事もない またnum.__defaults__ = (7,)等として既定値の再割り当ても可能ではあるが、これは基本的に与える実引数を変えるべきとされよう [] [ここ壊れてます]
726 名前:701 mailto:sage [2019/03/09(土) 03:52:48.95 ID:WSwBoc7f.net] なぜ長音符が妙な位置に…ミュターブル→ミュータブル(mutable)、変更可能オブジェクト
727 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 04:26:19.28 ID:ScAo2omB.net] >>703 もちろん意図した場合を除いて実引数が変化するなどとは思っておりません 単にデフォルト引数に変数は間違えというのに引っかかったわけで __defaults__は知りませんでした 以前デフォルト引数を使ってオブジェクト指向チックにというお題をやったもんで animal = 'human' # 'dog' になったり 'cat' になったり numeral = '人' if animal == 'human' else '匹' def count(c, n=numeral): ____print(str(c) + n) count(3) # 鶏になった count(3, '羽') どうもありがとうございました
728 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 06:05:07.57 ID:sGXnYTxg.net] >>705 >単にデフォルト引数に変数は間違えというのに引っかかったわけで は、関数の中でデフォルト値上書きしといて何言ってんだ?
729 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 07:29:28.52 ID:jmJNTA16.net] >>702 そう言う意味合いだけどわざわざ混乱するような書き方は避けるべきだと言う事。 普通はそんな書方したら叱られるレベル。 >>705 のように条件でデフォルト値を変えたいなら、def文の中に書いてわかりやすくすべき。 別れて書いたら混乱の元。 この場合も条件によりデフォルトの固定値を変えているだけでしかない。
730 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 07:50:08.53 ID:sGXnYTxg.net] >>707 外部の設定ファイル読んでデフォルト値設定、デフォルト値でいいなら引数省略可、とかやる時どうやんの?
731 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 08:06:27.23 ID:aHKuI1wh.net] どうでもいいが、デフォルトって既定値って言わね?普通
732 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 08:26:54.57 ID:IZUVT+2M.net] どうでもいいんなら良いじゃん 日本語か英語かってだけだろ プログラム用語と数学用語はもう和訳するのやめて全部カタカタ英語でいいよな いちいち日本語にす🏝🏝🏝ると無駄に難しく聞こえるんだよ
733 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 09:29:49.81 ID:1Grnbwgn.net] ええ
734 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 09:37:13.71 ID:sGXnYTxg.net] from datetime import date from datetime import timedelta def offsetday(offset=0): da=date.today() + timedelta(days=offset) print('%s' % da) offsetday() #引数省略したら今日の日付 offsetday(5) #引数渡したらN日後の日付 便利だねぇ。デフォルト値。
735 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 09:51:43.74 ID:sGXnYTxg.net] 今の流れならこうか from datetime import date from datetime import timedelta #どこからからか設定もらう i=getdefnum() def offsetday(offset=i): da=date.today() + timedelta(days=offset) print('%s' % da) offsetday() #引数省略したらもらってきた設定値
736 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 10:37:54.51 ID:aHKuI1wh.net] >>710 いや、なんかごめんな…(´・ω・`) なぜ一般に既定値って訳されるか、今一度考える機会を皆に与えたかったんだ
737 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 11:24:51.58 ID:5O+JPpeP.net] >>706 関数の中でデフォルト値上書きしといてってどうういこと? 上書きしてるようには見えないんだけど
738 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 11:32:05.17 ID:KFikgSMo.net] >>712 俺には難しすぎだよ。インポしてる関数(オブジェクト?)の使い方がわからん。 流れらはずれているが考えてみた。 #値段 pl=1980 def num(tax=8): #税率 print(pl*(1+tax/100)) num() #無指定8% num(10) #税率指定 確かに便利だな
739 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 11:41:41.60 ID:7R/zU8Sh.net] >>716 インぽなおまいはまず日本語の誤字脱字多数修正
740 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 12:17:11.83 ID:pRsXet8g.net] >>715 上書きしてないよ >>716 すごく分かりやすい例だ
741 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:01:55.81 ID:QD5YmF9d.net] はじめまして初心者です。 Windows10でメモ帳を開いて、メモ帳のウインドウサイズを変更し文字を入力したいのです。 どなたか教えてください><
742 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:05:39.03 ID:1Grnbwgn.net] >>719 そんなんで出来るか
743 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:07:04.99 ID:QD5YmF9d.net] >>720 すいません。 >>719 をPythonを使って行いたいって意味です。 よろしくお願いします><
744 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:07:18.08 ID:QFJRtnnZ.net] >>716 >#値段 >pl=1980 なんて言うか、値段をplにするって俺ららしいよな
745 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:10:14.35 ID:7R/zU8Sh.net] >>721 >>1 くらいよめよ 理解できないならまだここじゃなくて PC初心者板での勉強が必要なレベル =Python以前の問題 だぞ
746 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:12:06.66 ID:QD5YmF9d.net] >>723 >>1 は読みましたが、解決しませんでした><
747 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:12:14.04 ID:7R/zU8Sh.net] とりあえず↓あたりよめ (Python以前の問題で解決するかもしらん) ttps://support.lenovo.com/gr/ja/solutions/ht118907
748 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:13:25.44 ID:7R/zU8Sh.net] あるいはレジストリいじって解決するかもしらん ttp://sei.qee.jp/docs/program/hta/sample/memofont.html
749 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:14:31.86 ID:QD5YmF9d.net] 真面目に質問してるので煽りはスルーします。。。 初心者です。優しい方お願いします>< ちなみに20代の女子です。。。
750 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:40:52.46 ID:QFJRtnnZ.net] ID:WSwBoc7f はなんかこのスレでは珍しい高脳って感じだな >>701 の >既定値に変数を使用しても結び付きは変数ではなく実体 が正しいんだろうな 結び付きが変数なら、実引数省略して関数を呼びだしたときの変数が指すオブジェクトが 実引数になるだろうからな。
751 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:49:46.79 ID:QD5YmF9d.net] >>719 です。 どなたかよろしくお願いします><
752 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:54:33.79 ID:BnoVO+GE.net] >>729 RPAを買いなさい
753 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:59:57.56 ID:QD5YmF9d.net] >>730 すいません。目的はPythonの学習なのでPythonで解決したいと考えてます。 イケメンでPythonに詳しいあなた達なら良い解決策をお持ちではないですか?
754 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 14:02:39.34 ID:BnoVO+GE.net] >>731 他のアプリを操作したい系は初心者が誤って足を踏み入れがちな典型的な罠 何の役にも立たないバッドノウハウの塊であり、初心者の学習には全く適さない
755 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 14:07:00.37 ID:QD5YmF9d.net] >>732 では他のアプリとの連携はどうするのですか?
756 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 14:09:05.45 ID:BnoVO+GE.net] >>733 Pythonなら処理結果を一旦ファイルに落とすのが普通です
757 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 14:14:42.55 ID:QD5YmF9d.net] Pythonでメモ帳を500px×500pxで開きたいのですが それは叶わないのでしょうか?
758 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 14:22:02.05 ID:t5ksfgQn.net] https://github.com/asweigart/pyautogui メモ帳を開いてメモ帳のウインドウサイズ変更まではこれ使えばいけそうだ キーボードの操作はできるみたいだけど文字入力までできるかはわからない >>734 の言うように一時ファイルに書き込んでからオープンでいいなら可能だよ 初心者にはハードル高いと思うけどがんばってね
759 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 14:28:22.21 ID:QD5YmF9d.net] お二方ありがとうございます。 私が調べたところPyAutoGUIというライブラリで マウス操作やキー入力は可能でした。 ただ、ウィンドウサイズの変更と移動方法はよくわかりませんでした。 リンク先を見て勉強してみます。
760 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 15:04:12.35 ID:lwZTh4qp.net] >>716 解ってるとは思うけど1つの例としては良いんだけど、実際にそんなプログラムは絶対に書くべきでは無いよね。 関数の中を覗かないと動きが見えないみたいな関数は作るべきでは無い。 同じことをやるなら、パラメータとして渡すべきだろ。
761 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 15:28:12.28 ID:o9iMui5S.net] >>738 あほか 関数なんてブラックボックスでいいんだよ そういうのはドキュメントを整備しくもんだ
762 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 15:52:35.69 ID:lwZTh4qp.net] >>739 プログラムこそ最高のドキュメントじゃ無いのかな? ルールから外れたブログラミングルールは、決して褒められたものでは無い。 Pythonがなんで、インデントを重視したか? 誰が見ても間違えない様にするためなんだよ。
763 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 15:53:19.46 ID:atnduDe4.net] >>738 関数の中を覗かないと動きが見えないみたいな関数は作るべきでは無い。 お前はエスパーかw
764 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 16:00:48.16 ID:lwZTh4qp.net] i=1 j=2 k=3 def add(a=i,b=j,c=k): return a+b+c print(add()) # 6 ---- # こんなのより def add(a=0,b=0,c=0): return a+b+c i=1 j=2 k=3 print(add()) #0 print(add(i,j)) #3 print(add(i,j,k)) #6 #こっちの方が100倍マシ。 いくらドキュメントをどこかで作っても誰も読まないよ。 プログラムが大きくなればなるほどプログラムこそ最高のドキュメントなんだよ。
765 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 16:37:19.27 ID:WSwBoc7f.net] >>728 自演に思われそうかつ高次脳機能障害みたいな略の持ち上げはYAMETE! 数式的に妥当かは与り知らんけど、Pythonに変数のエイリアスは無いしね 古典的な静的型言語と違い、変数は実体への参照に過ぎないのもハマりがちな所 代入を除く変更ってのも色々語弊が有るな、実体に対する操作と表現するべきか >>737 んー…確かにドキュメントではその辺りが欠けているというか正式実装じゃない? 既に他者のPythonコードが読めるなら直接↓を見るとか、helpやpydocに掛けるなり https://github.com/asweigart/pyautogui/blob/master/pyautogui/_window_win.py 質問に対する愚直な答えは同モジュールのようなctypesでWindows APIを呼び出したりが基本になるだろうけど 既存ライブラリに無い操作を実装するに際しては、Microsoft Docsとかにマクロの具体的な定数が併記されてないと Windows SDKのC/C++ヘッダーも参照する事になるし、最終目標に対し言語や実現方法などが適切かも考えた方が良い
766 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 17:08:54.75 ID:QD5YmF9d.net] >>743 ありがとうございます。 URL参考にさせていただきます。 外部アプリの操作にPythonは向いてないのでしょうか。 私なりに調べたところPythonからpowershellを実行するのが一番簡単そうだと思いました。 何かよい手があれば教えてください。
767 名前:デフォルトの名無しさん [2019/03/09(土) 17:35:51.96 ID:kfZA3URW.net] ねむくなるねこのすれ
768 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:17:19.14 ID:fMIUxryy.net] 初心者は寝てていいよ
769 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:23:12.70 ID:WSwBoc7f.net] >>744 もっと全体的な流れ、具体的な結果に依るので抽象的な回答になってしまうけど メモ帳へ文字入力というのが単にファイルの読み書きで済むなら迂遠だし エディタを機械的に操作したければ何ぞスクリプト対応のアプリを使用するとか 汎用的に外部アプリ全般を弄りたくて起動や開く程度ならsubprocessとかでも十分だけど 細かい所はWinAPIを直接呼ぶ必要が出てきてたり、大半がPowershellで構成されるなら これはもうPythonの学習というより、それらにすり替わり、置き換えられるよねという事 外部アプリ操作≒UI操作なら一般的とは思わないが、シェル代わりや橋渡しとしてはよく使われる Windows APIを呼び出す云々はSDKを使うネイティブ言語よりコンパイル諸々などお手軽な面はある
770 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:38:41.90 ID:GVs3bbIF.net] 例えば、Ruby から、powershell を呼び出して、クリップボード処理もできる。 str = `powershell Get-Clipboard` >でも、メモ帳のウインドウサイズを変更し、文字を入力したいのです 基本的に、他人が作ったアプリは、他のアプリから操作できない。 操作できるためには、操作用のAPI を公開して、その使用方法の文書も書く必要がある powershell は公開されているから、他のアプリからも使えるけど、メモ帳はどうかな? 例えば、君が作ったアプリを、他のアプリから操作できるように、 わざわざ操作用のAPI を公開して、その使用方法の文書を書いたりしないでしょ? 面倒くさいし そういうアプリは当然、他のアプリから操作できない
771 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:44:42.88 ID:C6v7oEvs.net] rubyとかいうゴミ言語はまったく関係ないな powershellを外部コマンドとして呼び出してるだけ これでrubyスゴい!になっちゃうのがrubyキチガイのキチガイたる所以
772 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:47:45.08 ID:3mUakWGD.net] そんなことよりなんで今更何のためにメモ帳に書くのかな。そっちの方が興味がある。
773 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:53:19.79 ID:QD5YmF9d.net] >>747 subprocessを使えば簡単な操作はできるんですね。 ありがとうございます。調べてみます。 本当は複雑なこともやってみたいと思ってましたが。。。 >>748 APIが公開されてないものは基本外部から操作は出来ないんですね。。。 ありがとうございます。勉強になりました。
774 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:57:06.37 ID:wl/Le+J5.net] さすがは、チームRWBY 相手の力を利用するとは、なかなかやるね!
775 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 20:21:03.99 ID:Pn/iQo1s.net] rubyはpycallとか作ってまで生き残りをはかってるからな これほど「始まる前に勝負着いてた」事例があるだろうか
776 名前:746 mailto:sage [2019/03/09(土) 20:40:28.25 ID:GVs3bbIF.net] Ruby では、こういう感じ。 Rubyから、powershell, clip コマンド(子プロセス)を呼び出す。 そして、このスクリプトをbat, vbs から呼び出すようにすれば、ダブルクリックでも起動できる クリップボード内の複数行文字列の、各行の先頭・末尾から、 連続する空白類を除去して、クリップボードに入れる str = `powershell Get-Clipboard` # クリップボードから取得 str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換 ary = str.each_line.map( &:strip ) # 空白類を除去 IO.popen( 'clip', 'w:cp932' ) do | clip | clip.print( ary.join "\n" ) # クリップボードへ書き戻す end
777 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 21:05:21.70 ID:QD5YmF9d.net] Pythonではできないのでしょうか?
778 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 21:36:12.11 ID:BnoVO+GE.net] >>754 PowerShellすごい!
779 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 21:51:05.13 ID:Asclh6VQ.net] >>755 スレ違い
780 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 21:52:20.14 ID:QD5YmF9d.net] >>757 ここはPythonすれですよw
781 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 23:13:21.29 ID:QD5YmF9d.net] 皆さん、相談にのっていただきありがとうございました。 SikuliというUI自動化ツールが優秀で思い通りの事ができました。 Pythonのスクリプトも使用できるのでとても満足です。
782 名前:デフォルトの名無しさん [2019/03/09(土) 23:51:29.47 ID:H6isrNei.net] Ruby禁止のRubyの単語に反応して書き込んでる説
783 名前:デフォルトの名無しさん [2019/03/10(日) 01:39:40.52 ID:/HGKNCBK.net] 副業解禁で激変する若者世代とマネージャー世代のキャリア観 www.businessinsider.jp/post-107782 フリーランスの職種20個の仕事内容と平均年収をわかりやすく解説 www.proof0309.com/entry/shokushu 時給1万円のバイトも。会社員向きのプチ副業を、“バイト芸人”が教える headlines.yahoo.co.jp/article?a=20190226-00127948-bizspa-bus_all 副業が「会社にバレる人」と「バレない人」の大差 headlines.yahoo.co.jp/article?a=20190303-00268007-toyo-bus_all 正社員の10%以上が副業 中には過重労働で体調崩す人も headlines.yahoo.co.jp/hl?a=20190227-00010000-wordleaf-bus_all 「副業で年2000万円稼ぐ男」に学ぶキャリア戦略 headlines.yahoo.co.jp/article?a=20190221-00266856-toyo-bus_all 加速する「副業社会」正社員の4割が「副業したい」 気になる収入はどれくらい? headlines.yahoo.co.jp/hl?a=20190218-00010001-danro-life おすすめ副業22選を現役フリーランスが解説【在宅も可能】 www.proof0309.com/entry/zaitaku-hukugyou 会社を辞めてフリーランスで働きたいあなたが知っておくべき10のこと www.businessinsider.jp/post-165731 フリーランスと会社員、働き方の根本的な差 広がる「雇用されない働き方」の課題とは何か toyokeizai.net/articles/-/263055 フリーランス人口は増える!今後は仕事もプロジェクト単位になる!? freelance.mts-career.com/population/ どのくらい稼げるの?フリーランスエンジニアの単価・報酬・年収の話 findy-code.io/engineer-lab/engineer-unitprice-income
784 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 09:53:19.84 ID:5/+zyaBC.net] >>754 死ね
785 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 10:33:29.03 ID:YmMiXd1Z.net] ガイジなど世間的には生まれた時点で死んだような存在だろネットでくらい許せ
786 名前:デフォルトの名無しさん [2019/03/10(日) 18:44:45.56 ID:uFsYqTSV.net] ruby禁止は浸透したがpowershellも禁止でおながいしまつ
787 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 19:04:53.21 ID:w00/E2cH.net] プログラマー40歳限界説
788 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 19:42:00.71 ID:XCpNHt+Q.net] ブックマークしてたpowershellのマニュアルのアドレスが変更されたみたいだ 誰か知りませんか?
789 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 19:50:01.61 ID:eNJkLSXg.net] スレチ
790 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 02:31:05.67 ID:Q8+quAlB.net] numpyでベクトルの配列の全要素に行列を掛けるにはどうしたらいいでしょ? やりたい事は vec=[[0,0],[1,1],[2,2]...] mat=[[0,1],[1,2]] result=[m & v for v in vec] こんな感じです
791 名前:デフォルトの名無しさん [2019/03/11(月) 05:21:09.87 ID:pTTv+VC9.net] mat@vec
792 名前:デフォルトの名無しさん [2019/03/11(月) 05:23:59.55 ID:pTTv+VC9.net] vecの作り方によっては mat@(vec.T)
793 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 07:42:02.40 ID:R4ZESWdO.net] pythonできればc#もできますか? pythonでゲームと、c#でwindowsのソフト両方を使ってますわ
794 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 08:49:44.07 ID:Rf81Fxun.net] フォルダを空にしようと思いましたが、うまく行きません shutil.rmtree(args.sample_dir) os.mkdir(args.sample_dir) os.mkdir(args.sample_dir)の部分で PermissionError: [WinError 5] アクセスが拒否されました。: 'test/sample_img' というエラーが出ます ディレクトリが消えているので shutil.rmtree(args.sample_dir) はうまく行っているようです このやり方はあまり良くないのでしょうか?
795 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 08:50:31.50 ID:IpMePMuQ.net] >>770 すみませんミスタイプしてました。求めたい結果は result=[mat@v for v in vec] ですね
796 名前:デフォルトの名無しさん [2019/03/11(月) 12:16:20.15 ID:hfHU2O5u.net] >>773 forいらんで
797 名前:デフォルトの名無しさん [2019/03/11(月) 12:19:13.01 ID:hfHU2O5u.net] こういうことかな (mat@(vec.T)).T
798 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 17:11:44.97 ID:mNeqJkGU.net] >>772 os.mkdirは途中に存在しないフォルダがあるとエラーしてしまうので 「os.makedirs()」をつかってみそ
799 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 17:33:25.52 ID:pvnV5rIH.net] inputした数字をそれぞれリスト化(aリスト,bりスト)したい。 入力(1行目は入力回数) 3 100 2 3 42 52 63 出力 [100, 3, 52] [2, 42, 63] 自分が作成したコードはinputをrangeで回してますが、inputを内包表記で1行で済ませる方法が分かりませんでした。 内包表記・関数でもうすこし短く出来ませんか? cunt = int(input()) a_list = [] b_list = [] for i in range(cunt): a,b = [int(x) for x in input().split()] a_list.append(a) b_list.append(b) print(a_list,b_list)
800 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 17:36:22.93 ID:mNeqJkGU.net] >>777 >>422
801 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 17:38:42.78 ID:mNeqJkGU.net] とちゅうでおくってしまった >>422 がイイ(・∀・)こといってる気がするんだが なんとか利用できないかな
802 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 19:53:46.76 ID:iNskGddB.net] count = int(input()) temp = [None for x in range(count)] for i in range(count): temp[i] = input().split() else: a_list = [int(x[0]) for x in temp] b_list = [int(x[1]) for x in temp] print(a_list,b_list) というかコードを書く前にcuntを辞書で引け 話はそれからだ
803 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 19:57:35.25 ID:PGatxMde.net] クリトリスですか?なるほど…
804 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 20:39:01.91 ID:mSdvFdhb.net] print(*map(list, zip(*[map(int, input().split()) for i in range(int(input()))])))
805 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 21:57:53.69 ID:pvnV5rIH.net] セクハラ通り越して放送禁止用語レベルだったんですね >>780 こういうループの発想が湧きませんでした 参考にさせて頂きます >>782 コレ使ってみます 関数1個1個はナントナク分かりましたが、何重も連なると自分のレベルは難しいです 時間かけて解読してみます >>779-782 皆さんありがとうございました
806 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 22:05:12.11 ID:IpMePMuQ.net] >>775 ディメンションがちゃうで言われますね つまり座標配列全てにアフィン変換したいって事なんですがnumpyじゃ無理なんかな?
807 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 23:20:05.55 ID:GdRfR4uu.net] Ruby のArray#zip, transpose で、配列・行列の縦横変換できる。 zip の引数に、幾つかの配列(配列のリスト)を指定できる p [1,2,3].zip([4,5,6], [7,8,9]) # => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
808 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 23:38:19.16 ID:qe97t/2K.net] >>785 グロ
809 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 23:54:59.52 ID:0HIo0fVP.net] >>780 >コードを書く前にcuntを辞書で引け ゆとり教育では辞書使うなんて難易度の高いことはしない
810 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 00:08:58.95 ID:KQFIYqiK.net] >>784 "アフィン変換 numpy"でググればなんか希望の物が引っかかるんじゃないのか numpyを使ってアフィン変換をするライブラリなんかは誰か作っている気がする
811 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 01:19:04.31 ID:Tg1PBlZE.net] >>780 cunt 辞書ひいた。 笑っちゃったよ。 1. a stupid or unpleasant person 2. -> HUMAN a woman's vagina =sex organ
812 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 01:43:49.00 ID:Tg1PBlZE.net] >>789 同じロングマンなんだけどなんかニュアンスが違うな。 cunt kʌnt 名 C《タブー》 1 《女性性器を意味する非常に侮蔑ぶべつ的な語》 2 《嫌悪感・怒りを感じる女性に対して用いる非常に侮蔑ぶべつ的な表現》 大辞林 カント 女性の性器。 コトバンク [名]((卑)) 1 たちの悪いやつ;いやなやつ Don't be a silly cunt. くだらんことを言うな. 2 女性器;性的対象としての女性, あばずれ;性交. [オランダ語kunte←フランス語] Oxford vulgar slang 1 A woman's genitals.(性器) 1.1 An unpleasant or stupid person. Origin Middle English: of Germanic origin; related to Norwegian and Swedish dialect kunta, and Middle Low German, Middle Dutch, and Danish dialect kunte.
813 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:29:06.26 ID:Le2Xhtue.net] 引数のイメージなんですが、引数は材料で、材料を関数で調理器にかけるイメージでしょうか?
814 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:30:30.49 ID:F9OOaHwl.net] 戻り値は?
815 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:33:21.35 ID:c3A0Gx7w.net] ひき肉を作る機械のイメージでええんやないの 上に入れる肉が引数、機械が関数、出てきたひき肉が戻り値
816 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:36:33.66 ID:rf03pH6k.net] 引数に肉しか入れてないのに勝手に台所のコショウが減ったり電気使われたりするのが副作用
817 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:39:17.36 ID:Le2Xhtue.net] ひき肉が引数、調理器が関数、バーグが戻り値 ありがとうござ
818 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:41:44.81 ID:Le2Xhtue.net] selfの意味ってなんですか? 単に関数を作成したときにデフォルトでついてくる引数という感じでしょうか。 だとしたらなんのためにですか? 読んでみたんですが、イマイチイメージが、、、
819 名前:デフォルトの名無しさん [2019/03/12(火) 12:52:43.68 ID:uvkzn3tS.net] >>796 selfは関数ではなくクラスのメソッドに付ける Javaのthisみたいなもので、メソッドを呼び出したオブジェクト自身を受け取るための引数 メソッド内でメンバ変数を参照したり別のメソッドを呼び出したりする時にself.〜 として使う
820 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 12:58:27.33 ID:R/A89vkp.net] 横からすいません self、self以外を指定することはあるのでしょうか?
821 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:11:28.09 ID:rdaDEiid.net] >>798 慣例的なもので言語制約ではない、が補完などに影響するかも クラスメソッドではクラスが割り当てられるのでclsが使われる
822 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:16:23.13 ID:rf03pH6k.net] hoge.myMethod(fuga, piyo) myMethod(hoge, fuga, piyo) みたいなイメージ
823 名前:デフォルトの名無しさん [2019/03/12(火) 13:20:45.17 ID:6Uu2j9Xc.net] >>784 馬鹿には無理
824 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:36:24.76 ID:R/A89vkp.net] >>799 ありがとうございます
825 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 13:58:38.98 ID:c3A0Gx7w.net] そもそも何でメソッドの引数にオブジェクト自身を渡すんやろうか obj.method()みたいに呼び出すなら、どのオブジェクトをメソッドに渡すかわ明らかなんだから、省略できそうなのに
826 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 14:09:51.25 ID:R/A89vkp.net] >>803 こういう渡し方をする言語、python以外にもあるんでしょうか
827 名前:デフォルトの名無しさん mailto:s
[] [ここ壊れてます]
828 名前:age mailto:2019/03/12(火) 14:19:35.49 ID:rdaDEiid.net [ >>803 それはPythonのオブジェクト指向の実装方法とか基本理念によるもの、属性解決については https://docs.python.org/ja/3/howto/descriptor.html#definition-and-introduction self.meth()とcls.meth(self)の等価性を明示するみたいな論調も記憶にあるが公式なソースは忘れた ] [ここ壊れてます]
829 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 14:39:35.59 ID:5JRn7Uik.net] >>804 perl
830 名前:803 mailto:sage [2019/03/12(火) 14:48:12.21 ID:rdaDEiid.net] selfに対する直接の説明としてはちょっとアンカーが適切ではないか https://docs.python.org/ja/3.5/howto/descriptor.html#functions-and-methods 「関数に基づく環境の上に構築」って所がミソやね、後付けと言われる所以
831 名前:デフォルトの名無しさん [2019/03/12(火) 16:34:54.17 ID:8KtfShI4.net] >>804 tcl
832 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 16:40:24.68 ID:Le2Xhtue.net] >>797 よくわからないけどありがとうひき肉おじさん
833 名前:デフォルトの名無しさん [2019/03/12(火) 17:17:23.48 ID:8KtfShI4.net] わからないならレスしないでくださいうざいだけです
834 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 17:19:11.50 ID:Le2Xhtue.net] インスタンス作成っていうのはメモリ上に領域を確保する作業ってことでいいんでしょうか。
835 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 17:21:39.56 ID:zkYMqbGV.net] なにそれ 他のコード作業だとメモリを使用しないとでもw
836 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 17:23:18.47 ID:zkYMqbGV.net] クラス定義内に大量の関数定義を入れると、そのクラスがインスタンス化されたときに、インスタンスに自我意識が生まれます
837 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 18:13:57.38 ID:rf03pH6k.net] 俺も3食インスタンスラーメンです
838 名前:デフォルトの名無しさん mailto:sage [2019/03/12(火) 19:11:13.53 ID:qLQHaQxA.net] selfはあってもなくても、どっちでも よかったかもしらんが、 クラス外の普通の関数でも、いきなり クラスのフレンド関数のようにしやすいといった、 モンキーパッチ的な利点もあるし、 一長一短。
839 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 05:29:22.97 ID:Z4mQGBB0.net] pythonのselfの超簡単なサンプルを教えてください 調べてるんですが、わかりにくくて、、、
840 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 06:11:09.78 ID:nAhixTo8.net] サンプルって…メソッドならインスタンスを受け取るために必須なだけだ 倣うほどの規範は無いと思うけど、オブジェクト指向が理解できてないの?
841 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 07:18:13.39 ID:zpkiSS8W.net] >>817 オブジェクト指向の理解というよりPythonの仕様の気が・・ 横なんですけど、例えばあるクラスを継承したクラスがいくつかあって、それぞれで同じメソッドをオーバーライドしている時、Pythonは渡されたインスタンスを見てどのメソッドを呼び出すか決めているんですか? つまりインスタンスとメソッドは別々に管理されていて、呼び出す時にインスタンスとメソッドは結び付けられるとか。
842 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 07:28:44.40 ID:Z4mQGBB0.net] >>817 オブジェクト指向はなんとなく インスタンスを受け取るというのはよくわからないのですが
843 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 07:44:07.11 ID:zpkiSS8W.net] >>819 私もです、>>807 さんのリンクや後付け・・から思うに、 オブジェクト内にメソッドがあるのではなく、メソッドはオブジェクトの外に関数としてあって、その関数に対して「このオブジェクトのメソッドの様に振る舞え」と指示しているのかな、と感じました。
844 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 10:42:08.19 ID:Nk0VyZbv.net] 配列hogeを作成し、 print(hoge)を実行した時、[1. 2. 3. 4. 5.]の様に 数字にピリオドがついた時は浮動小数点型の配列なのでしょうか? 浮動小数点型の場合、整数型の配列にする方法はありますでしょうか?
845 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 10:51:02.04 ID:x5gb1xdG.net] >>821 list(map(int,hoge))
846 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 11:00:58.72 ID:Nk0VyZbv.net] >>822 ピリオドが無くなりました! ありがとうございます
847 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 11:08:04.74 ID:Z4mQGBB0.net] class Cat(object): def __init__(self, name, weight): self.name = name self.weight = weight このコードのselfはどういう意味なんでしょうか? 猫というオブジェクトの属性を表現しているクラスのようです
848 名前:デフォルトの名無しさん [2019/03/13(水) 11:19:10.70 ID:Y4yR4bDO.net] >>798 二項演算ならself使うと分かりにくいのでアリ、アプリカンド/アプリケータなど self/other派も居るが 有名ライブラリだとmpmathがctx(計算の文脈、精度とか)渡してるね
849 名前:デフォルトの名無しさん [2019/03/13(水) 11:20:56.58 ID:Y4yR4bDO.net] x/yも見掛けるな 同種同士の同等な二項演算の定義に主体が入り込むのは気持ち悪いと思うよやっぱ
850 名前:デフォルトの名無しさん [2019/03/13(水) 11:34:37.37 ID:imKqJmF7.net] >>824 Cat(‘neko’, 5) などと書くと__init__が呼び出されてselfには作成されたCatのインスタンスが渡される つまり c = Cat(‘neko’, 5) とした時cとselfは同じものを指す
851 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 12:31:52.80 ID:Z4mQGBB0.net] selfの意味がいまいち理解できていないのですが、引数の設定されたクラスや関数自身を表すということですよね で、self自体を出力してみました class classname: def defname(self): print(self) s =classname() s.defname() <__main__.classname object at 0x03EE2F30> selfを設定しているのは関数なのですが、これでは関数自身ではなく、クラス自身ではないですか? また、これはどういったときに役立つのですか? 環境はidleです >>827 ありがとうございます 読み解いてみます
852 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 12:44:16.23 ID:Ux8DzXrZ.net] >>828 >引数の設定されたクラスや関数自身を表すということですよね うん 5ちゃんでは インデント(連続してる半角スペース)が消えちまうので めんどうでも全角スペース使って書きなおす(半角スペースを全角スペースに置換でおk)か 1に書いてあるような、ソースコード貼る専用のうpろだにうp
853 名前:デフォルトの名無しさん [2019/03/13(水) 13:38:08.75 ID:imKqJmF7.net] >>828 メソッドの中から別のメソッドを呼びたい時にselfが無いと詰む
854 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 15:00:34.67 ID:Ux8DzXrZ.net] >>828 2系でやったら違う結果になるぞ
855 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 15:57:20.28 ID:nAhixTo8.net] >>828 はい、いいえ。通常defで定義した関数自身を第1引数が表す事はありませんし ついでにクラスへ定義した関数は、メンバー関数あるいはメソッドと呼びます またクラス(型)も渡されていません、それはインスタンス(実体)です オブジェクトとも呼ばれますけど意味が文脈に左右されるので置いといて クラスメソッド(@classmethod)と修飾したときは、クラスが渡されます 文字列でいうならクラスはstr、'ABC'など具体的な物がインスタンスに相当し その長さなどがインスタンスの属性と言えます(Pythonだと関数で取得するが selfは>>797 でも回答されるように他言語の(暗黙的に参照可能な)thisと同等で その宣言の必要性は>>807 に対する>>818 や>>820 の理解…は齟齬が生じる所もあるが 概念的にはメソッドだけども実装的には関数なので、()と呼び出された時ではなく 実体から関数が.で属性参照された時に、結び付けられたメソッドが生成されます 一連のレスからすると、引数が表すものに関数自身(callee)が出てくる辺り メソッド以前に関数の定義・呼び出し自体の理解も怪しいのではなかろうか? 関数の操作対象として構造物というか実体が第1引数に渡されているのだが…
856 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 16:27:27.93 ID:M+m6pFpm.net] はい(いいえ)
857 名前:デフォルトの名無しさん [2019/03/13(水) 17:46:31.02 ID:h9UFHds/.net] そやで、ちゃうで
858 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 17:48:54.93 ID:MhYZY5Aj.net] はいいいえ
859 名前:デフォルトの名無しさん [2019/03/13(水) 18:46:52.20 ID:gkV5NrkZ.net] ちゃうちゃうちゃうんちゃう
860 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 19:03:05.32 ID:jL6M634A.net] def yes(arg= None): ____print()
861 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 19:58:39.06 ID:26FDLpbf.net] hoge = "ほげほげ!" if hoge == "ほげほげ": print("ほげほげ!) else: pinrt("げほげほ!")
862 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 20:00:19.07 ID:Ux8DzXrZ.net] >>838 ”がたりてない
863 名前:デフォルトの名無しさん [2019/03/13(水) 20:21:08.59 ID:1Wup6Az1.net] Pythonはswitch文が無いのが不満だったけど辞書使えば同じ様な事が出来ると最近気づいた 一番はswitchが必要になるロジックを組まない事だろうけど
864 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 20:32:12.62 ID:Z4mQGBB0.net] ↑selfについて回答ありがとうございました
865 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 20:34:50.72 ID:Z4mQGBB0.net] class className(): def __init__(self, strA, strB): self.str1 = strA self.str2 = strB test = className("Hello", "World!") print(test.str1) print(test.str2) まだselfの意味について理解できていないので教えてください クラスをインスタンス化したときに引数を設定することでinitが呼び出され、hellwとworld引数が、str1とstr2に代入されるということだと思います この場合のselfはどんな役割をしているのですか? selfをはずすと動作はしないようです init関数自身とは?
866 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 20:34:55.83 ID:Z4mQGBB0.net] class className(): def __init__(self, strA, strB): self.str1 = strA self.str2 = strB test = className("Hello", "World!") print(test.str1) print(test.str2) まだselfの意味について理解できていないので教えてください クラスをインスタンス化したときに引数を設定することでinitが呼び出され、hellwとworld引数が、str1とstr2に代入されるということだと思います この場合のselfはどんな役割をしているのですか? selfをはずすと動作はしないようです init関数自身とは?
867 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 20:41:11.30 ID:Z4mQGBB0.net] インスタンス変数を使うときにselfをつけることですが、そういうおまじないということですか?
868 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 20:47:03.94 ID:Ux8DzXrZ.net] >>829 を読んでも理解してないということはよくわかった
869 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:14:16.67 ID:nAhixTo8.net] >>842-843 まず引数を設定しようがしまいがインスタンス化したら初期化のために__init__は呼ばれる selfはselfを書いた関数自身ではなく、メソッドとして属するクラスのインスタンスを表す selfから属性参照しなければstr1やstr2はローカル変数になって抜けたら破棄されてしまう 結果としてtestに代入されるインスタンスを参照するために必要だから書く
870 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:16:12.72 ID:ZMFJ1a5n.net] >>843 俺も初心者だけど、Pythonにはクラスオブジェクトってのがあつて、クラス定義が実行されるとそのクラスオブジェクトってのが作られるらしいぞ。クラス定義が実行させるって何ぞ?と思ったけどそうらしい。 でインスタンスはそのクラスオブジェクトから作られるらしいぞ。 つまりそのinitはコンストラクタというよりクラスからクラスオブジェクトを作るためのinitだったりするかも。 self渡す必要があるってことは、そのinitは他の言語じゃプログラマが意識しない部分の可能性。クラスのインスタンス化の一層下にあるのかな?
871 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:22:48.95 ID:M+m6pFpm.net] シンタックスは def self.__init__(strA, strB): とかではダメだったの? 書いてもないのに第一引数にself入ってくるのと大差なくない?
872 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:27:46.46 ID:ZImJqTUY.net] >>824 self が付いているのは、インスタンス変数じゃないの? Ruby では、@ がインスタンス変数 class Cat def initialize( name, weight ) @name = name @weight = weight end end p Cat.new( "bob", 5 ) # <Cat: @name="bob", @weight=5>
873 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:43:36.51 ID:nAhixTo8.net] >>848 Pythonに複合文としてのメソッド定義はなく、クラスに書いた関数がメソッドとして扱われる そのメカニズムはHowToでも記される、参照した属性がクラススコープで定義された関数なら インスタンスと関数が参照されたバウンドメソッドオブジェクトを返し、__call__が呼ばれる
874 名前:847 mailto:sage [2019/03/13(水) 21:53:09.68 ID:ZImJqTUY.net] Ruby では、@ がインスタンス変数で、 self は、クラス直下ではクラスを表し、メソッド内では、インスタンスを表す。 コンテキスト(文脈)によって、self の意味は変わる。 また特異クラスも、よく出てくる class Cat p self #=> Cat def initialize( name, weight ) @name = name @weight = weight p self #=> <Cat: @name="bob", @weight=5> end end Cat.new( "bob", 5 ) Ruby で、オブジェクト指向・関数型をみっちり学んでから、 Python, JavaScript を学ぶ方がよい
875 名前:デフォルトの名無しさん mailto:sage [2019/03/13(水) 21:55:25.72 ID:bUFEpZHr.net] >>849 >>851 うるっせえな! スレタイ読めねーのかカス!! 死ね!死んで消えろゴミ!!
876 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 03:27:13.64 ID:4WTRjlYm.net] 相手にするからつけあがるんだよ
877 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 03:37:18.44 ID:nL4uJ2zh.net] 終わりのないのが『終わり』 それが『RWBY』
878 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 08:25:07.71 ID:/JPtJCUD.net] a = 'hoge' type(a) これを実行すると<class 'str'>が表示される これは変数aが指してるオブジェクトの型がstr型という意味でいいんだよね 一方で、文字列はシーケンス型でもあるからインデックスでアクセスしたり、スライスしたり出来る この文字列がシーケンス型というのはpython上でどうやって確認するんや
879 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 08:34:53.42 ID:lGFaI2Uv.net] >>855 シーケンス型の実体は存在しない 失敗しないことを天に祈りつつ勇敢にforに投入する、がPythonの思想的には正しい 厳密にやりたいなら型アノテーションでSequenceあるけど、型アノテーションなんか誰も使ってない
880 名前:デフォルトの名無しさん [2019/03/14(木) 10:12:27.31 ID:QThoqyRe.net] >>855 hasattr(a, ‘__iter__’) Pythonではシーケンス型の事をiterableなオブジェクトという forにiterableを渡すと__iter__()が呼ばれるのでこれの有無を確認すれば分かる
881 名前:デフォルトの名無しさん [2019/03/14(木) 10:14:27.51 ID:QThoqyRe.net] >>855 それとiterableであることとスライスできるのは別の機能 インデックスやスライスは__getitem__()で実装される
882 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 11:06:23.42 ID:/JPtJCUD.net] レスありがとう 俺はstr型はシーケンス型を継承してるから、シーケンス型のようにも振る舞うと勝手に思ってたけど違うのね str型はiterableな属性を持ってるから、for文に渡して繰り返しの処理が出来るというのはわかった それなら、str型がsequenceableな属性を持ってるからスライスやインデックスのアクセスが出来るというのなら理解できるんだけど、シーケンス型で属性じゃないのよね なんか混乱してきたわ(´・ω・`)
883 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 11:16:27.87 ID:r+Z4K3kn.net] >>859 IterableもSequenceと同じく、クラスが満たすべき性質がドキュメント上や型アノテーションで定義されているだけの実体のない型だ Pythonではそういう実体のない(ドキュメントや型アノテーションにしか登場しない)仮想的な型のことを一般にプロトコルと呼ぶ Javaのinterfaceに近い概念だが、interfaceとは違ってオブジェクトに付随する型としての実体を持たないという点が異なる
884 名前:デフォルトの名無しさん [2019/03/14(木) 11:26:52.83 ID:RE7f17De.net] >>859 pythonの場合、forに渡せるとかの機能は単に__xxx__という名前の特殊メソッドが実装されているかどうかで決まる
885 名前:デフォルトの名無しさん [2019/03/14(木) 11:41:55.90 ID:jNBQt8MR.net] >>860 Pythonにはstr、listというオブジェクトは存在するが、sequence というオブジェクトは存在しない だが、str 、listどちらもsequence型である
886 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 12:41:19.77 ID:r+Z4K3kn.net] >>862 だからそう言ってるつもりだが
887 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 12:47:55.74 ID:YiVNNcx0.net] じゃあjavaよりgoのが近いんじゃ?
888 名前:デフォルトの名無しさん [2019/03/14(木) 13:23:53.72 ID:jNBQt8MR.net] >>863 適当にアンカーつけてレスしたんよ なんかごめんな
889 名前:847 mailto:sage [2019/03/14(木) 13:28:05.85 ID:tsxAqnNH.net] 参考までに、Ruby では、Array -> Enumerable (子 -> 親) 自クラスに、each を定義して、Enumerable モジュールをinclude すれば、 Enumerable のすべてのメソッドが使える(mix-in)(内部イテレータ) Enumerable とは繰り返しを行なうクラスのための Mix-in。 このモジュールの メソッドは全て、eachを用いて定義されているので、 インクルード するクラスには、eachが定義されていなければなりません each を定義しない場合は、Enumerator というラッパークラスで、Enumerable のメソッドが使える(外部イテレータ) 外部イテレータは、Enumerator.next, rewind などで繰り返しを進めたり・巻き戻したり、制御できる mix-in とは継承ではないけど、呼び出される関数探索の継承チェーンに割り込む機能。 Java のinterface みたいなもの。 Duck Typing と言って、そのメソッドに反応するかどうか 子 -> mix-in -> 親
890 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 13:31:58.94 ID:r+Z4K3kn.net] >>864 goのは型が明示的にinterfaceを実装していなくても必要なメソッドがあれば受け入れるstructual subtypingという考え方 Pythonは duck typing なので本来はそれに近いのだが、型ヒントがstructual subtypingではなく明示的にクラスがインターフェイスを継承する必要がある よってpythonにおいては型ヒントを考慮すればgoよりJavaに近い
891 名前:デフォルトの名無しさん [2019/03/14(木) 13:52:11.73 ID:q8OuUl64.net] rubyをdisる訳じゃないけど 初心者でpython学習し始めたところなら rubyと比べない方が良いよ 覚えることが増えるだけでメリット無いから
892 名前:デフォルトの名無しさん [2019/03/14(木) 13:56:28.26 ID:1qhaQ5mP.net] これから試験受けるんだが落ちそう
893 名前:デフォルトの名無しさん [2019/03/14(木) 15:34:12.56 ID:1qhaQ5mP.net] うかったんご
894 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 16:11:42.58 ID:NTHRrjbg.net] おめでと
895 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 16:56:04.19 ID:lcXwIoo8.net] 型アノテーションは、関数の出入り口と、 なんの型が分かりにくいローカル変数には つける。 付けることで補完が強化される場合と、 しばしば補完を逆に妨げる場合があるので、 うまく折り合いを付けて付記する感じやな。
896 名前:デフォルトの名無しさん [2019/03/14(木) 18:13:57.50 ID:1qhaQ5mP.net] あざます
897 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 18:55:16.95 ID:cYjqrp0Z.net] >>846 ありがとうございました
898 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 19:44:05.42 ID:prpM2HGX.net] 最適化には何の関係もないのよね型指定
899 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 19:58:50.87 ID:r+Z4K3kn.net] >>875 むしろソースコードのパースの負荷が増えて僅かに遅くなるだろうな
900 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 21:29:10.91 ID:DYXE/n/d.net] Ruby ←まず名前がダサい Python ←カッコイイ
901 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 21:37:41.09 ID:Cgb2oqJn.net] pythonだけ見るとカッコイイけど元はモンティ・パイソンなんだよな
902 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 21:48:50.71 ID:nL4uJ2zh.net] st.cdjapan.co.jp/pictures/l/04/02/NEOGDS-244522.jpg
903 名前:デフォルトの名無しさん mailto:sage [2019/03/14(木) 21:50:35.71 ID:nL4uJ2zh.net] https://images.idgesg.net/images/article/2018/07/python-100763894-large.jpg
904 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 08:57:12.14 ID:Oo+XcCcU.net] pythonのコーディングに少しづつ慣れてきたせいで,のあとに半角スペースを挿入してしまうクセが付いてしまいました 簡単なテストのためダミーでcsv作る際に,後ろにに半角スペース入れるせいでcsvDictReaderで読んでkey指定したときにkeyErrorが出てしまい数十分ですが悩んでしまいました 今後はskipinitialspaceをtrueにして使います ありがとうございました
905 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 09:55:37.05 ID:LNWMUSed.net] pythonに限らずほぼ全てのプログラミング言語でそういう癖が付くかと思うしそもそも欧米圏の言語でも全てそうだがお前何か言いがかりでも付けた
906 名前:いの? [] [ここ壊れてます]
907 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 12:49:50.87 ID:zt0rtKct.net] python はビジュアル系スタジオみたいな統合環境は無いの?
908 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 12:51:57.85 ID:EeWTkT4V.net] ビジュアル系スタジオちょっと好き
909 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 13:13:04.71 ID:88mLDigX.net] >>883 あんたも好きね。 チャーミングなおっぱいがあるよ。 PyCharm
910 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 13:25:05.27 ID:1iRTQcZ+.net] pycharm ceがタダで使えるのは助かるなぁ
911 名前:デフォルトの名無しさん [2019/03/15(金) 14:18:08.50 ID:SEjqglYP.net] 最新鋭の望遠鏡で使われてる タイパンがカッコ良かった UKシュミット望遠鏡自体は数十年の年季もんだけど タイパン付けると最新鋭に変身してた
912 名前:デフォルトの名無しさん [2019/03/15(金) 14:21:07.58 ID:SEjqglYP.net] これね https://www.youtube.com/watch?v=xrumMTsFkPY
913 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 18:27:46.26 ID:HkVkKV93.net] オブジェクトをフォルダと考えるのは間違いなのですか
914 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 18:38:30.61 ID:PFD13TRH.net] 考えてもいいぜ
915 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 18:58:10.65 ID:8Z2zh4Or.net] Python初心者です。 scikit-learnで学習した学習結果を他の言語(C#)で利用したいと考えてます。 が、どうしたらいいのかわかりません。 どなたかご教授願います。
916 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 23:30:46.48 ID:/jMwhNVt.net] 最終的に何をしたいのかをもう少し具体的に書いたほうが良いと思う 個人的に言語は統一した方が楽と思うよ
917 名前:デフォルトの名無しさん mailto:sage [2019/03/15(金) 23:48:43.20 ID:8Z2zh4Or.net] scikit-learnでじゃんけんの人間の癖を学習させて、 そこそこの制度で予想できるようになったので、それをスマホアプリとして公開したいという欲が湧いてきました。 Pythonではスマホアプリの開発は難しそうなのでその学習結果をC#に移植したいと考えてるのですが、 そういう事は可能ですか?
918 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 00:53:29.77 ID:lomlnXfv.net] !?
919 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 06:12:09.99 ID:MtyeuN+5.net] 可能 pythonに不可能は無い
920 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 10:56:59.10 ID:Eza8KstC.net] >>893 iOS なら、Pythonista で簡単にアプリを作れるぞ。 Androidでもできるだろ。 そもそもiOSだと、C#じゃなくObjective-C やSwift になるからかなり垣根は高いぞ。 因みにPythonista からはObjective-C のライブラリを使うこともできるし自由に呼び出すこともできる。 なお、scikit-learn そのものをPythonistaで使うことはできない。 numpy は使えるが、scipy がインストールできない。
921 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:10:13.00 ID:INaBYg0f.net] いやC#つってんだからUnityで作るんだろJK あれゲーム作るの簡単だからいいよな〜
922 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:18:22.65 ID:mXGVm9Ao.net] >>896 ありがとうございます。 Androidアプリを作られればIOSには対応できなくてもよいと考えてます。 Androidでscikit-learnを使うのは難しいでしょうか?
923 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:20:10.33 ID:mXGVm9Ao.net] Unityって物理エンジンですよね? scikit-learnのように機械学習もできるのですか?
924 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:31:31.62 ID:Slvebd/s.net] 学習機能は通信を介したサービスとして提供したら scikit-learnはサーバー側で動いてりゃ良いんだし
925 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:44:44.11 ID:+8YpvTs6.net] >>900 そっちの方が良いと思う 機械学習の多言語移植は考えただけで血の気が引く kerasならまだしも、scikit-learnは依存地獄が酷かった。今は大分マシ担ってるとは思うけど
926 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:48:05.65 ID:d/4KgbH7.net] じゃんけんするのにサーバーと通信するのは草 でもいまどきそんなもんなのか?
927 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:52:33.53 ID:+8YpvTs6.net] さすがに半分テストアプリだと思うけど、既に超敷居が高い
928 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:53:42.85 ID:mXGVm9Ao.net] 機械学習の移植は難しいものなんですね。 サーバーにPythonを置けばいいのですね。 ありがとうございます。
929 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 11:58:21.60 ID:eO5a7zjy.net] 学習からC#でやり直すわけにはいかないの? オブジェクト指向の機械学習ライブラリなんて言語によらず使い方似てるからそっちのが楽じゃない?
930 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:01:14.33 ID:eO5a7zjy.net] 「Unity 機械学習」 でググってもいろいろでてくるし
931 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:05:08.07 ID:mXGVm9Ao.net] C#で機械学習ですか! scikit-learnがすごく簡単だったのでscikit-learnで出来たらと考えてました。 使い方が似ているのならその選択も検討してみます。 ありがとうございます。
932 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:12:34.74 ID:Eza8KstC.net] せっかくPython の勉強を始めたんだから、Python でゲーム開発までやれば良いのに、じゃんけんアプリなんて簡単でしょ。 どんなPython ゲームライブラリが適切なのかは知らないけど。
933 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:14:27.10 ID:SlIDoTSl.net] selfについて何度も聞いてるカスなんですが、まだ意味が理解できてません このコードの場合どういった意味を持ちますか? インスタンス自身と言われてもイメージがつきません 記憶領域という説明も見たことがありますが、これはどういう意味でしょうか codepad.org/rOzHcmIX class apple: def __init__(self,price,weight): self.p = price self.w = weight def print(self): print(self.p) print(self.w) s = apple("100yen","300g") s2 = apple("1000yen","1000g") s.print() s2.print()
934 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:15:53.61 ID:SlIDoTSl.net] 訂正です ×このコードの場合どういった意味を持ちますか? ○このコードのようにselfを使うメリットはなんですか?
935 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:24:28.76 ID:Eza8KstC.net] Android ならQpython にはKivy がバンドルされてるらしいし、kivy で良いんじゃないの?
936 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:29:58.42 ID:+8YpvTs6.net] >>909 コードが変なので修正した codepad.org/L0lJBrzg メモリ上のデータをイメージできれば簡単に理解できるんだけどね インスタンスとか言っても逆に分からんだろうな https://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/C++2/09/09-02.html cpp.aquariuscode.com/class-memory-layout
937 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:38:34.92 ID:mXGVm9Ao.net] >>908 Pythonは機械学習やディープラーニングを始めたくて最近勉強し始めました。 勉強してくうちにアプリを公開したいと思うようになった次第ですw GUIはC#の方が簡単そうなので2つの言語をうまく連携できればと思ったのですが、 難しいようですね。 もちろんPythonはこれからも使いたいと思います!
938 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 12:58:16.11 ID:Cc4OYSLe.net] >>909 まず自分でクラス書く前にライブラリでクラス使ってみたらわかるだろ pandasのチュートリアルとか何でもいいけどインスタンス作ってメソッド使ってインスタンス変数参照したらself何なのかも見えてくる メモリ上の何とかなんか意識しなくていい
939 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 13:11:48.23 ID:eO5a7zjy.net] 「入門python3」を一冊買ってやろう。
940 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 18:05:24.13 ID:fe/BGgDT.net] vscodeとintellijのpython機能で試したのですが awsのsdk boto3でインスタンス化したクライアントに対してオートコンプリートを働くようにするのってどうしたらよいでしょうか? 以下のようにして変数cを作っても、変数cをBaseClient型としか認識してくれないので、s3関連のメソッドがオートコンプリートで出てきてくれません。 c = boto3.client('s3') もちろん実行時はちゃんとs3の型になるのでコードを動かす事は出来るのですが、オートコンプリート無しはちょっときついので、なんとかして出す方法があれば教えてください。
941 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 18:30:45.43 ID:SlIDoTSl.net] >>914 ライブラリでクラスを書くとはなんのことですか? >>912 c++がわかりません selfはメモリ領域を確保するために必要になるもの、という認識でいいんでしょうか?おそらくインスタンスを作った時点でメモリが確保されるのかと思いますが。
942 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 18:36:03.43 ID:YxxaJZky.net] >>916 型アノテーションで変数の型を明示的に指定する
943 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 18:53:42.59 ID:+8YpvTs6.net] >>917 ・インスタンスを作成 ・メモリ領域を確保 ・self=インスタンス この辺はもう全部イコールで考えても構わない 例外的にstaticやglobalでインスタンス外にメモリ領域を確保することも出来るけど 図で言うとこんな感じ https://i.imgur.com/gNRp6HQ.png
944 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 19:28:51.03 ID:sQCNGdE3.net] >>917 インスタンスを作った時点でメモリが確保は良い。でも確保にselfは関係ない 内部だと__init__より前に__new__が呼び出され、そこでメモリ確保が行われる 語弊を恐れずに言ってしまえば、selfはそのメモリがどこか位置を示すものだ メリットがどうとかじゃない、sとs2は同じ型だが別物だろう、それを区別するために必要なんだ
945 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 19:33:23.24 ID:1feDyboY.net] >>919 「のタイミング!」 ですか?
946 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 20:16:22.51 ID:SlIDoTSl.net] >>919 >>920 ありがとうございます あれ?これってもしかしてポインタというやつなんですか?pythonの場合そういった呼ばれ方は見たことがありませんが https://wa3.i-3-i.info/word12815.html
947 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 20:31:38.84 ID:INaBYg0f.net] 山椒
948 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 21:47:12.09 ID:+8YpvTs6.net] >>922 似たようなもんで「参照」 ポインタと参照の違い https://qiita.com/agate-pris/items/05948b7d33f3e88b8967 cocodrips.hateblo.jp/entry/2015/12/08/221722 メモリ上にインスタンスが展開されてるイメージができれば大体ok
949 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 22:04:48.14 ID:/h3gEsxd.net] C言語使わない人にその教え方はどうなのよ。悪いことは言わないから「入門python3」を買って一通りやろう。
950 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 22:11:31.40 ID:431M+yCA.net] 入門python3ってあんまりレビューが良くないね
951 名前:847 [2019/03/16(土) 23:16:52.98 ID:1E15fsAJ.net] インスタンスや、self がわからないの? オブジェクト指向の基本だよ self は、そのインスタンスを指す。 Ruby では、 class Cat def initialize( name, weight ) @name = name @weight = weight end end p bob = Cat.new( "bob", 5 ) p alice = Cat.new( "alice", 4 ) new で、Cat というひな形から、各インスタンスを作る(実体化) bob は、<Cat: @name="bob", @weight=5> alice は、<Cat: @name="alice", @weight=4> Rubyの、@name = name が、Python では、self.name = name になる。 Rubyではインスタンス変数は、@ で表すけど、pythonではself を付ける インスタンス変数とは、各インスタンスで異なる部分。 一方、クラス変数とは、そのクラス(すべてのインスタンス)で共通の部分。 Rubyでは一々、selfを付けなくても良いように、Rubyの実装を、かなり頑張って作っている。 self.name よりも、@name の方がわかりやすいから! オブジェクト指向・関数型は、Rubyで学んだ方がよい。 Python, JavaScript, Kotlin にも応用できるから
952 名前:デフォルトの名無しさん [2019/03/16(土) 23:27:14.53 ID:DylECkfT.net] >>927 > self.name よりも、@name の方がわかりやすいから! アピールポイントそれだけ? @がメンバ変数を表すなんて知らなきゃ分からんし、直感でも何となく察せるself.〜の方が分かりやすいと思うが
953 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 23:28:24.96 ID:1G1aklbm.net] 自分もPython初心者だけど ttps://www.python-izm.com ここのサイトめちゃくちゃわかり易かったので載せときたす。
954 名前:デフォルトの名無しさん mailto:sage [2019/03/16(土) 23:35:31.32 ID:8PxPizsB.net] >>927 さすがクソ記号言語perlの末裔w 一生記号暗記してろ。 そして死ね。
955 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 00:17:39.16 ID:oRKycfKe.net] >>927 なんでJavaないの? 理解できなかったの?
956 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 01:42:26.25 ID:ttbbgHOa.net] chromeの拡張機能を自動操作することは可能ですか?
957 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 02:01:28.71 ID:QLspzkYx.net] >>937 ちらっとのぞいてみたが、目次が良くないね。 最初から順を追って進めて行く人にとっては良いかもしれないけど。
958 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 02:05:09.07 ID:nMZPqZIX.net] 937に期待
959 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 02:05:36.23 ID:pyRBRMBz.net] >>926 どこのレビュー?Amazon見る限りは良さそうだけど…
960 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 05:27:50.39 ID:nAjwMdDd.net] >>924 ありがとう
961 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 07:33:20.83 ID:nAjwMdDd.net] https://wa3.i-3-i.info/word16070.html こういう説明がわかりやすいのに、、、
962 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 07:39:55.25 ID:nAjwMdDd.net] 変数がメモリ上にあって、その変数の場所を渡すのが参照わたし=self ということでいいんですか?
963 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:24:23.53 ID:HhaziKqA.net] 参照渡しがどうこうはとりあえず忘れろ 今までの流れには全く関係ないから
964 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:25:15.86 ID:HhaziKqA.net] 今までの流れってのはselfの話な
965 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:37:05.58 ID:Udd8jK7+.net] >>935 書き方が悪かったわ 完全な初心者にとっては難しくてレビューが良くないね
966 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:41:05.15 ID:nAjwMdDd.net] >>939 えっ?関係ないのですか、、、
967 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 11:18:35.50 ID:oeP02mQD.net] Pythonではすべてが値渡しだ そしてすべての値が所謂参照型だってだけ
968 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 11:41:11.52 ID:R43k4iG5.net] 内部的に参照渡しみたいなもんなんだからメモリの概念教えないと永久に理解できなく内科?
969 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 11:57:02.77 ID:X1cUtWYO.net] 参照渡しってどこが
970 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:00:59.08 ID:X1cUtWYO.net] 参照渡しについて C#のrefみたいなのを参照渡しと呼ぶ勢と C++のhoge&みたいなのを参照渡しと呼ぶ勢がいるので ややこしい
971 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:08:17.15 ID:iuUxAYpH.net] 一子相伝究極奥義「参照渡し」
972 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:11:50.92 ID:Udd8jK7+.net] 値渡しと参照渡しと参照の値渡しがあるんだっけ
973 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:12:20.76 ID:nAjwMdDd.net] >>943 値渡しということはコピーということですかね
974 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:14:55.90 ID:7j/Zhhp5.net] 大地参照も変換できない糞スマホの糞IME
975 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:15:53.60 ID:vfP8HMqf.net] 大地讃頌
976 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 12:21:40.62 ID:XvGPMByn.net] >>946 C#のrefとC++のhoge&はどちらも変数のエイリアスを渡すから一緒 紛らわしいのは「参照の値渡し」
977 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 15:27:46.05 ID:9wVKFPUf.net] >>937-938 いやさ、記憶領域の話をし出すから皆メモリの話をした訳だけど ポインタとか言い出すと、Python上にはポインタは無いけど CPython等の実装は変数が全てポインタで実体に対する参照なの 参照渡しというと普通は変数に対する参照を言うので関係ないし 変数が入れ物とはC言語などのスタック変数を前提としてしまってる そもそも実装以前に、OOPどころか構造体的な概念も分かってないのでは?
978 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 18:00:19.80 ID:oeP02mQD.net] >>938 こういう簡単なクラスで考えてみる class MyClass: def __init__(self, name): self.name = name def getname(self): return self.name コンストラクタで名前を受け取って、自身のnameプロパティにセットする getnameメソッドでは自身の名前を返す簡単なクラス このクラスの使い方は以下 a = MyClass("John") a.getname() // 出力 'John' ただしこういう風にも書ける a = MyClass("John") MyClass.getname(a) // 出力 'John' Pythonのインスタンスメソッドは単なる関数もしくはスタティックメソッドみたいなものだということがわかる a.getname() は暗黙的に MyClass.getname(a) に置き換えられてると考えてもいい
979 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 18:01:31.22 ID:oeP02mQD.net] >>938 さらにselfというものがわかりやすいようにこのクラスを普通の関数と辞書型で再現してみる def MyClass(name): self = {} __init__(self, name) return self def __init__(self, name): self["name"] = name def getname(self): return self["name"] a = MyClass("John") getname(a) // 出力 'John' これでだいたい再現できる 何が言いたいかというとMyClass()という関数が空のインスタンス(ここでは辞書だが)を作成して__init__に引数として渡している たぶんPythonのクラスでも暗黙的にMyClass()という関数が生成されて間接的に__init__を呼び出している つまりself(=MyClassのインスタンス)というのは暗黙的に作られたMyClass()関数内で作られているオブジェクトだと考えればいい Pythonほとんどやったことないから想像で適当に言ってるだけだけどな
980 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 19:53:26.49 ID:UUXyH29G.net] >>954 self.name = name 部分はself変数にnameプロパティがついている状態なんですか? nameのほうが変数名かとおもっていましたが self.nameとすることでnameプロパティを定義している という感じですかね なんのためにあるのかわからないですが
981 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 21:13:22.59 ID:pWnkPEfA.net] >>955 デタラメな回答するの辞めーや
982 名前:デフォルトの名無しさん [2019/03/17(日) 21:52:19.70 ID:oeP02mQD.net] >>957 詳しいなら教えてくれ
983 名前:847 mailto:sage [2019/03/17(日) 22:22:14.14 ID:QeX4wN+m.net] self.name = name Ruby では、@ がインスタンス変数です。 @name = name インスタンスや、インスタンス変数は、オブジェクト指向の基礎。 クラスはひな形で、実体化するには、個々のインスタンスを作らないといけない これがわからないのなら、Rubyをみっちり勉強した方がよい。 Python から始めるのは無理 オブジェクト指向・関数型は、Rubyで学んだ方がよい。 Python, JavaScript, Kotlin にも応用できる
984 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:28:34.62 ID:Ea7K77ki.net] Rubyは最も一般的な方法で定義した関数(関数じゃないw)が値として取り回せない(第一級関数でない)クソ言語wwwww def add(a, b) a + b end def opTwo(a, b, func) func(a, b) end p opTwo(1, 2, add) => Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError) from t.rb:9 プギャーm9(^Д^ ) ちなみにPython: def add(a, b): return a + b def opTwo(a, b, func): return func(a, b) print(opTwo(1, 2, add)) => 3 ちなみにJavascript: function add(a, b) { return a + b; } function opTwo(a, b, func) { return func(a, b); } console.log(opTwo(1, 2, add)) => 3
985 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:29:45.96 ID:Ea7K77ki.net] def、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、 ==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
986 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:31:54.89 ID:Ea7K77ki.net] Ruby 初心者スレッド Part 64 mevius.5ch.net/test/read.cgi/tech/1535797516/658 658 デフォルトの名無しさん sage 2018/10/15(月) 10:09:06.69 ID:r7U1tD/N 擬似コードがそのまま動くのはPythonじゃね 関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select ((>) 0) みたいに書けたりするね ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね
987 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:33:19.32 ID:Ea7K77ki.net] クロージャって何がいいの? [転載禁止]©2ch.net mevius.5ch.net/test/read.cgi/tech/1415419907/261 261 デフォルトの名無しさん sage 2014/12/15(月) 23:02:52.91 ID:BuhXHDiL さらに言えば、Rubyのブロック変数のスコープの扱いが1.9で仕様変更されてるけど、 それについてmatz自身が > それは、Rubyが最初から関数型言語としてスタートしてないからであって、言語が違うからですよね。 と語っているね www.atmarkit.co.jp/news/200907/24/ruby.html
988 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:50:20.65 ID:vwxCn2J+.net] 必死すぎるw
989 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:58:46.72 ID:Ea7K77ki.net] Rubyを長く使い続けることを僕がお薦めしない理由を説明します - YouTube https://www.youtube.com/watch?v=2wfQ3iG08UI
990 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:59:12.36 ID:Ea7K77ki.net] 「Railsは終わった」と言われる理由 https://qiita.com/klriutsa/items/86ac5e94ec99c0d95b61
991 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:07:59.19 ID:Ea7K77ki.net] GitHub、2018年の人気プログラミング言語を概観できる「The State of the Octoverse」を発表 https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/ 日本人が作ったプログラミング言語がランクイン! 誇らしい!!
992 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:13:16.15 ID:Ea7K77ki.net] GitHubのRails離れと、迫りくるMicrosoft https://yakst.com/ja/posts/5290
993 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:20:10.39 ID:Ea7K77ki.net] 世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか? https://gigazine.net/news/20181116-top-programming-languages-2018/ さあ何なのか!?日本の埃、Rubyかな?
994 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:23:45.80 ID:Ea7K77ki.net] Pythonが2018年も人気ナンバーワン言語に - Rubyは13位へ https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/ >日本生まれのプログラミング言語Rubyの順位は昨年の12位から13位へと一つ順位を落としています。 https://findy-code.io/engineer-lab/github-programming-language-ranking ↑「衰退するかもしれない言語」のRubyのグラフ凄すぎwww
995 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:24:59.24 ID:Ea7K77ki.net] https://i.imgur.com/0YbMsqj.jpg
996 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:39:56.92 ID:vwxCn2J+.net] この調子で1000まで埋めてくれwww
997 名前:956 mailto:sage [2019/03/18(月) 00:32:48.76 ID:QSJWNz5N.net] なんとなくわかったわ __new__でインスタンス生成して__init__で初期化されてるのはいいとして それらの関数がどこから呼ばれるかが分からなかったけど type.__call__(cls, *args, **kwarg)から呼ばれてるんだな class MyClass: def __new__(cls, name): return object.__new__(cls) def __init__(self, name): self.name = name def getname(self): return self.name a = MyClass("Mike") # これは a = type.__call__(MyClass, "Mike") # これの糖衣構文と type.__call__はざっくり以下のような実装らしい class type: def __call__(cls, *args, **kwarg): obj = cls.__new__(cls, *args, **kwargs) obj.__init__(*args, **kwargs) return obj 一番元になるオブジェクトを生成するであろうobject.__new__()がどういう風に実装されてるのかは分からなかった Cで実装されてるらしい
998 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 00:34:09.24 ID:GvvOJgHh.net] 破産者マップに出てるぞお前さん
999 名前:デフォルトの名無しさん [2019/03/18(月) 01:21:38.93 ID:HYm9qYKJ.net] Rubyに興味も失ってたが、調べたらRuby3から頑張るっぽいね。 JITは今現在はオンにしてもRails遅くなるっぽい。 型検査はツールの提供と精度向上の方針。 “Rubyは死んだ”のか? まつもとゆきひろ氏が語る「プログラミング言語サバイバル」とRubyの未来 - Part1 https://logmi.jp/tech/articles/320752 かと思えば、こんな深刻な記事も。 想定してなかったくらい大規模な開発に使われて、つぎはぎ継ぎ接ぎで開発して行ったら行き詰まったって話になるのかな? Pythonも、同類になる可能性はあるが時期が早く来たのはRubyだったと。 Rubyは滅びゆく言語なのか? https://qiita.com/baban/items/a5a9819a4020f92e27e2
1000 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 01:32:41.95 ID:TDQy6vox.net] Redmonk言語ランキングがKotlinとSwiftの急上昇を明らかにした https://www.infoq.com/jp/news/2018/05/RedmonkLanguageRankingsQ118 > Rubyは5位から8位に下がりはしたが、他のトップ10言語はほとんど同じ順位にとどまっている。 独り負けwwww
1001 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 01:33:16.80 ID:TDQy6vox.net] 日本生まれのクソ言語Ruby『最も嫌われているプログラミング言語』堂々ランクイン!! https://japan.zdnet.com/article/35109803/ おめでとうクソ言語!🎊 おめでとう日本の恥!!www https://japan.zdnet.com/storage/2017/11/02/e28392adae17a191547db083133339eb/171106-zdnet-1-01-languages-1-900x675.png
1002 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 01:56:22.04 ID:TDQy6vox.net] Ruby is dead. https://rubyisdead.science/
1003 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 02:01:08.34 ID:TDQy6vox.net] Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
1004 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 07:48:49.96 ID:C9BGuQ42.net] self.name = name みたいな変数は self変数にnameプロパティを定義しているということなんですか? init内に書かれる事が多いですが、プロパティはどのような使われ方をするのでしょうか
1005 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 11:21:28.47 ID:vyVf53oQ.net] Pythonでアニメーションムビーって作れますか? 教えてエロい人
1006 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 11:42:29.94 ID:GvvOJgHh.net] 出来るよ このポリゴンアニメもPython で組まれている https://youtu.be/lU-stMiFESQ
1007 名前:デフォルトの名無しさん [2019/03/18(月) 13:43:14.45 ID:+MPRGO7m.net] くだすれPython(超初心者用) その42【Ruby禁止】 mevius.5ch.net/test/read.cgi/tech/1552884175/
1008 名前:デフォルトの名無しさん [2019/03/18(月) 13:50:09.52 ID:HYm9qYKJ.net] 乙
1009 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 14:39:32.03 ID:3zrU7iIi.net] Pythonなら音声合成も機械学習でできるよ!
1010 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 14:59:40.24 ID:vyVf53oQ.net] >>982 ありがとうエロい人 よろしければおすすめのライブラリ教えてください
1011 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 16:32:01.12 ID:8JXxWTh8.net] Pythonなら毛糸洗いに自信が持てるよ!
1012 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 17:23:25.93 ID:LuaAQ2Ag.net] >>987 それはボールドだろ
1013 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 17:23:44.99 ID:LuaAQ2Ag.net] お、IDがlua永久にアゲだ
1014 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 17:33:08.14 ID:1Gq1ACAN.net] Python(Jupyter)で、複数の行をループさせることって出来ますか? やりたいことはIn[5]〜In[8]を10回繰り返す、みたいな感じです
1015 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 20:07:37.57 ID:C9BGuQ42.net] selfわかんないよぉ(´;ω;`)
1016 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 20:25:52.07 ID:3zrU7iIi.net] >>991 class className(): def methodName(self): print("Hello World!") instance = className() instance.methodName()
1017 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 20:30:41.38 ID:jiPExRTx.net] >>990 forループとかwhileループをさがしてるのか?
1018 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 20:34:08.67 ID:C9BGuQ42.net] self.name=nameみたいなやつは、変数名はnameなのですが、selfなのですか?
1019 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 20:36:17.92 ID:C9BGuQ42.net] >>992 ですからこれ、selfはなんの役割をしているのですか?
1020 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 20:41:13.50 ID:jiPExRTx.net] >>994 そうだな >>995 この()の中のselfについては深く考えたことないなー クラス化した場合は 必ず1ツ目の引数self ってのは なんかもう 条件の後とかに「:」つけるのと一緒な感覚だなー
1021 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 21:09:20.45 ID:GvvOJgHh.net] >>99
1022 名前:5 class className(): def methodName(zelf): print("Hello World!") instance = className() instance.methodName() でも動くぞ [] [ここ壊れてます]
1023 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 21:17:48.43 ID:GvvOJgHh.net] よって、 self =zelf (証明おわり)
1024 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 21:36:51.06 ID:C9BGuQ42.net] ↑ありがつ
1025 名前:デフォルトの名無しさん [2019/03/18(月) 23:31:38.66 ID:+MPRGO7m.net] >>991 考えるな感じるんだ
1026 名前:847 mailto:sage [2019/03/18(月) 23:42:48.23 ID:e1XJ4IHa.net] self, this は、そのインスタンスを指す。 オブジェクト指向の基本だろ それもわからない人には、Python は無理! 勉強の順番を変えてください! Ruby でみっちり、オブジェクト指向・関数型を学んでください! その後に、Python, JavaScript, Kotlin に応用してください!
1027 名前:デフォルトの名無しさん [2019/03/18(月) 23:44:39.51 ID:+omKGkAV.net] これ、スコープとかnamespaceをわかっとらん
1028 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 42日 2時間 22分 29秒
1029 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています