- 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
- 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
死ね
|

|