>>984 pygame pyopengl glut exe化で出来る限り「静か」なバイナリ作れる方法が無いかな py2exeは3.7に対応してないかライブラリの方が対応してなくて、試したけど作れなかった pyinstallerはexe実行時にtempにフォルダ作って、終了時にフォルダだけ残るのが気になる exeのある場所とか任意の場所にフォルダ作ってフォルダだけ残るのは別に構わないんだが、システム側にゴミを残したくない
>>3 pyinstallerしおえたらいらないフォルダを消すバッチ作れ <__main__.sample object at 0x00DF1D30> selfをprintしたらこれが出てきたのですが、00DFみたいなのはメモリの場所なんですか?
結局selfはどういう用途に使うんですか class myclass: def myfunc(self,name): self.name=name ↑これのself.nameの部分の意味と、使い方がわかりません
>>6 おまえはいいかげんインデントをちゃんとしろ 前スレへ(・∀・)カエレ!!! >>5 ,-┐ ,ィ─、ri´^-─- 、 .┌f^f^f^f^f^f^f^f^f^┐ く / , ,' ヽ ヽ| ~ ~ ~ ~ ~ ~ ~ ~ ~│ `<' / ,'レイ+tVvヽ!ヽト 知ってるが │ !/ ,' i |' {] , [}|ヽリ お前の態度が | `!_{ iハト、__iフ,ノリ,n 気に入らない | // (^~ ̄ ̄∃_ア____n_____| _r''‐〈 `´ア/トr──!,.--' <_>─}、 `」レ 'ヽ、 ,.ヘーァtイ Y、.,___/ |.| | i `ー'i´ >>4 「exe化」をしたらフォルダが作られるのではなく 「exeを実行」したら毎回フォルダが作られるから困ってます >>10 %temp%フォルダ内に? それとも exeがおいてあるフォルダに? 最近勉強始めたんだけどWEBに干渉するようなプログラムってまず何を書けばいいんだ?
>>12 まずなにがしたいんだ? ブラウザを自動化したいのか 鯖をアタックしたいのか まともに鯖をいじる作業を自動化したいのか >>15 ですからなんの用途に使うんですか selfというのは場所を表すのですか? printしてみるとメモリの場所らしきメッセージが出ます >>17 myfunc は オブジェクトオリエンティド でいうところのメソッド self.name は オブジェクトオリエンティド でいうところのプロパティ self.X と書けば X はプロパティを示し、self はクラスのインスタンスを示す 以上に現れるキーワード「オブジェクトオリエンティド」「メソッド」「プロパティ」「クラス」「インスタンス」に心当たりがなければ、まずそれから調べてみてください. Pythonと言うよりオブジェクト志向では親クラスのメソッドを呼ぶ時super.xx()みたいにするから、 それ使った時に子クラス(現在のクラス)の同名のメソッドだと明示するためにthis.xx()とかself.xx()とかするね。 あとは >>15 みたいにフィールド(クラス変数)と同名のメソッド引数と分けるためにも使われる。 >>16 Freezeとかなんとかいうヤツ使ってexe作るのどうよ >>6 YouTubeでProgramingWoopenのPython入門講座第16~21回の動画を見ろ。 つーかPythonは動的言語だからself.name = で代入する事で宣言無しでフィールド生成されるんだった。 静的言語ばっかりだとうっかり忘れがち。。。
Jupyter notebookで大きなループを一つのセルで回すのって無謀でしょうか? 大きなループを回したい時、便利な環境って何がありますでしょうか?
>>6 スコープとかnamespace は理解してる? >>20 cx_freezeも試してみたけど3.7対応していない >>24 スコープは変数の有効範囲で 名前空間はクラスやモジュール(python.pyみたいなファイル)のことですよね >>21 見てみました selfを関数の引数に指定することでクラス内の関数をインスタンスの持ち物に出来るということですね 別にselfでなくともいいみたいですが、なぜそうなるのか意味がわかりません そういう決まりなんだと言われればそれまでですが ……ここまで分からんとすると、文学的な問題じゃあなかろうか 他者が自分自身を自称するときの一人称がselfだ
>>28 class myclass: def myfunc(my,str): my.name = str my.name = で初めてnameフィールドが作成される。 my無しだとただのローカル変数になり、myfuncを抜けたら消滅する。 (もちろん、フィールドnameは存在しないので、a = myclassしたあとa.nameとしたらエラーになる) pythonってインスタンス作成時にプロパティは作成されないの? プロパティにアクセスした時に初めてメモリが確保されるの?
そう言う事。 そして、もう少し調べたら__init__定義したら、メソッド呼出ではself省略できるっぽい。 (それだけでなく、nameの扱い自体もクラスフィールドとインスタンスフィールドという動作の違いも確認できた) プロパティはフィールドとメソッドを関連ずけて、フィールドっぽい扱いで安全に運用するものなので別物。 私もPython初心者なのに、何であんたより詳しくなってるんだ。。。 class Myclass: def __init__(my): pass def myfunc(my,str): my.name = str a = Myclass() a.myfunc("taro") b = Myclass() b.myfunc("jiro") print(a.name) print(b.name)
>>32 マジか、ありがとう vbaみたいだぁ・・・ (vbaはもうちょい変で、インスタンス作成時ではなくプロパティにアクセスした時に初めてメモリが確保される) Self 省略してない件 >>32 _init_ 定義は 何の関係もないな myを self に 結果は同じ Self 省略したら、このざま _init_ 復活させても駄目なものは駄目 「__init__定義したら、メソッド呼出ではself省略できるっぽい。」 は大嘘 My で揃えても無駄 当然、self でも無駄 「__init__定義したら、メソッド呼出ではself省略できるっぽい。」 は大嘘。 __init__定義しようが、メソッドでself 省略したらエラーですわ。 >>41 「呼出では」って書いてるだろ。 定義の方は書かないとダメ。 呼び出しでself 書いたらエラーですが 「__init__定義したら、メソッド呼出ではself省略できるっぽい。」 は大嘘。 むしろ、省略しなければならない。 初心者いじめ楽しい? >>32 の通り、私も初心者なんですが。 逆に__init__でa.myfunc(a,"taro")がエラーになる理由を教えて欲しいくらいだ。 (別に知らなくても書く上で困らないが) >>26 それは失礼した pyinstallerでonefileおぷしょんつかわないでexe等を生成→配るときは何か別のインストーラ使う でやるしかないのかー >>23 問題は途中でどんだけメモリ食うかだけなんじゃ >>45 君の場合、Python初心者とかの問題じゃなくて、日本語初心者なんだよね… 変な日本語使わなくていいから、コードだけで語ってくれ >>49 検証なら他所でやってくれ 迷惑でしかない それは悪かったけど、訂正を求めるなら他にやりようあったよね。 __init__付けるとa.myfunc(a,"taro")はエラーになるから、省略じゃ無いって指摘すれば「ごめん」で済んだのに。 エラーが出るエラーが出るって病的に繰り返すだけってのもどうかと思うよ? スレの無駄だからロムるね。 じゃあの。
覗いてみたら一問一答どころか初心者虐めしてて闇感じた 学校教師かよw
>>32 >私もPython初心者なのに、何であんたより詳しくなってるんだ。。。 鼻膨らませてこんなこと書くから >>47 メモリはそんなに食わないと思いますが、 現在:セル100個くらいに書いている やりたいこと:現在のセル100個をセル1個に入れて、forで回す やりたいことが増えてネストが深くなるたびに、毎回この作業が必要になるのかなと >>54 まず Python全般の考え方として 深すぎるネストがあるソースはうんこスパゲティである 「python ネスト 減らす」でggr いろんなことをやるときは 1作業グループ(自然言語で言う章づけと段落づけに似ている)毎に1つのクラスにまとめれこのへん↓嫁 tps://myenigma.hatenablog.com/entry/2017/10/23/091932 pythonって12345みたいなループ表示はできないんですか? 別にリストを作らないとだめなんですか?
>>55 推敲途中で書き込まれてしまった 最後から2行目の語順がカオスになってるが まあうまいこと察してチャン sample.pyみたいなファイルがモジュールと考えていいのですか?
メンバ変数に self.nameみたいにつけるのは、単なるルールってことですか? メンバ変数作るときのルール?
>>62 付けなきゃローカル変数になってメソッド抜けると消える class Test(): def __init__(self,var): self.var=var def func(self): print(self.var) instance = Test("aaa") instance.func()
>>54 キューでもスタックでもいいから何か適した探索アルゴリズムあるかもしれない 指定桁の整数部分で切り捨てるにはどうすればいいですか? roundの四捨五入じゃなくて、切り捨てです。 n = 456.789 round(n, -1) >>460 1の位を切り捨てて、450にしたいです。
re.subの正規表現で置き換えしたらできたんですが、 切り捨てのようななモジュールはないでしょうか?
>>70 import math math.floor(n/10)*10 Ruby ではクラス直下では、self(this)は、クラスを指す。 一方、initialize 内では、new で呼ばれた各インスタンスを指す class Cat p self #=> Cat クラス def initialize( name, weight ) @name = name @weight = weight p self #=> 各インスタンス end end bob = Cat.new( "bob", 5 ) alice = Cat.new( "alice", 4 ) 出力 Cat #<Cat: @name="bob", @weight=5> #<Cat: @name="alice", @weight=4> オブジェクト指向をわかっていない人には、Python は無理 まず、Rubyでオブジェクト指向・関数型を学んでから、 Python, JavaScript, Kotlin などをやらないと無理
>>72 おぉー、ありがとう floorが検索に出てきても少数切捨ての話だけで整数の話はなかったのに、 10で割って掛ける。すごい全然思いつかなかった >73 rubyは言語の発想としては悪くないんだけど、今やもう未来がなさすぎる 最近はもうオブジェクト指向を無理にやらんでも良いって流れにもなってきてるしな
Pythonの文法を学ぶというのと、 オブジェクト指向・関数型を学ぶというのは、まったく次元が違う話 アルゴリズムなどもそう。 Pythonの文法とは無関係だから、Rubyで学ぶ だから初心者は、Rubyから始めろって言われるわけ Ruby以外の言語では、JavaScriptのprototype など、 その言語特有のトリックに惑わされるために、まともに学べない Pythonでは、アンダーバー(_)で始まる変数名などの、トリックを使っているし、ややこしい Rubyはオワコンと言われているけど、人気がすごい! 図書館でも、すべての本が貸出中
>>77 >初心者は、Rubyから始めろって言われるわけ 昔言われてたな。誰もやってなかった あれがステマだったと最近気づいた 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
def、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、 ==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
Ruby 初心者スレッド Part 64 http://2chb.net/r/tech/1535797516/658 658 デフォルトの名無しさん sage 2018/10/15(月) 10:09:06.69 ID:r7U1tD/N 擬似コードがそのまま動くのはPythonじゃね 関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select ((>) 0) みたいに書けたりするね ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね 大人気言語るっピぃが実践する驚き最大の勝利の大法則!!! お前らションベンチビんなよ!? Python: def double(x): return x * 2 double(3) #=> 6 同等ラムダ (lambda x: x * 2)(3) #=> 6 JavaScript: function double(x) { return x * 2; } double(3); //=> 6 同等ラムダ (x => x * 2)(3); //=> 6 Rubz(笑)ころん def double(x) x * 2 end double 3 #=> 6 同等?ラムダ?www (lambda {|x| x * 2}) 3 #=> エラー(笑) (lambda {|x| x * 2})(3) #=> エラー() (lambda {|x| x * 2}).call(3) #=> 6 うわぁ〜さすがるっびすごくわかりやすいですぅ〜wwww
KENTA / 雑食系エンジニアTV と言う人が、 YouTube で、初心者は、Ruby から勉強するように勧めている 多くの人が、初心者には、Rubyを勧めている Dir.glob( 'C:/Users/Owner/Documents/test/*.txt' ) do |file| end Rubyでは、Windows/Linux の両方で、パス区切りに、/ が使えるから、\ を使わなくてもよい Python では、\, \\ を使っているから、ややこしくてたまらん!
これだね! Rubyを長く使い続けることを僕がお薦めしない理由を説明します - YouTube VIDEO 1. 読みにくい Rubyのコードは引数や返り値の定義がないため、実際に読んでみないと何が帰ってくるのかわからないです。 なのでコードリーディングに時間がかかりますし、バグの混入確率も高いです。
2. Rubyしか触っていないエンジニアはある一定レベルで成長が止まる Rubyという言語は型を全く定義しなくても動きますが、型を意識して書かなければ簡単に崩壊してしまいます。 しかし、型を意識する書き方というのはRubyでは学ぶことはできません。(一応学べるかもしれませんが、Rubyの型は他言語に比べて挙動の把握が難しいです) このパラドックスにより、質の悪いRailsプロジェクトが生まれやすくなっています。 そのためRubyしか触っていないエンジニアは一定のレベルで成長が止まると考えています。 その他、クラスの継承、インターフェース、ビルダーパターン、リアクティブプログラミング、ジェネリクス、ラムダなどのパラダイムはRubyでは学ぶことはできません。
3.美しく書くという文化でしか質を担保する仕組みが無い Rubyは他人が書いたコードを読むのにエネルギーが要る言語だと思います。 型定義がある言語では入力と出力の形式がある程度定まっているので、比較的読みやすいです。 Rubyは返り値がどのような型になるかわからないので、メソッド名が妥当であるか?であったり、美しくわかりやすく書かれているかもしくは、テストを書いているか?が重要になってきます。 熟練者のコードは非常に読みやすいかもしれませんが、そうでない場合、コードリーディングが大変です。 こうしたコールドリーディングを簡単にするために、美しく書く文化やテストを書くという文化があるのですが、 どこまで美しく書くか、どの程度テストを書くかは属人的であるので、質が担保しにくいです。 追い打ちをかけるようにRubyは様々な書き方ができてしまうので、よりコードリーディングが難しくなります。 ダメなプログラミング言語の代名詞としてPHPが挙げられますが、それがRubyに置き換わる時が来るかもしれません
4. Rubyの将来性 これは個人的な愚痴に近いのですが、Rubyの開発の方向性と現場で必要なものがだんだんと違ってきているのではないかと最近は感じています。 Ruby3では速く動作することが頻繁に取り上げられますが、実際にそれでいまエンジニアが抱えている問題が解決するのか・・・?と思ってしまいます。 Rubyでチーム開発しやすいように、型宣言などの開発者を支援するような機能もほしいなという声もあるのではないでしょうか。
Rubyが今のPythonの地位にいない理由 http://shinh.skr.jp/m/?date=20160616 さて、本来PHPを学ぶべきだった人たちが、Railsファンになり、Rubyのカンファレンスに行き、エモい発表を聞いて二世三世になったのである。 こういう人達の中には残念ながら、技術的な背景が足りない人もいて、そういう人達が人類がコンピュータサイエンスとして培ってきた歴史とかをある程度把握しないままに、なんだか適当な発言をするのである。例えば「テストファーストはRuby発祥」的な。 そういう人達はどこの世界にもいるものだけど……Rails界隈には許容量を越える量で発生してしまった。で技術がわかるRails関係ない人の感想は残念ながら、「Ruby?あれなんかキモい。 Pythonで十分だし」みたいな感じになってしまったのであった。Hacker Newsから一例をひいてみよう。 https://news.ycombinator.com/item?id=5157886 "To me the biggest annoyance about the Ruby community is the belief that they invented everything" 「Rubyコミュニティの連中はヤツラが全てのことを発明したと信じてやがってムカつく」 "People don't hate ruby, people hate the ruby on rails community" "This" "+1 to this" 「Rubyが嫌いなんじゃなくて、Railsコミュニティが嫌いなんだよ」「それな」「ほんこれ」 いやあ……ひどい言われようである。こんな謎宗教みたいな扱いを受けてれば、ある程度規模の大きい企業、まぁデカいのではマイクロソフトとか、の人が採用しよう、って感じにはならない。 Webアプリフレームワークならともかく、他の分野ではPythonという十分に強い代替があるならなおさら。というわけで、Rubyが今のPython地位を確立できてない理由は「なんかキモそうだから」なのである。 一方で、Railsの勃興とエモい人の流入みたいなのが無ければRubyが今ほど流行ってたかというと……それもあやしいと思う。 この文章の前半部分でムダに書いた通り、Rails以前は知名度ゼロに近かったので、むしろRailsのおかげでRubyは本来集める予定だった以上の注目を集めている、という感もある。 Rubyの死?開発者はどの言語を学ぶべきか? http://www.softantenna.com/wp/software/death-of-ruby/ Rubyの人気が低下している現在、開発者は別のプログラミング言語を習得したほうが良いという趣旨の考察を展開しています。 同記事はRubyの人気低下の証拠として、Indeedによる求人数でRubyの人気が9番目にまで低下しているとのこと、 IEEE Spectrumのプログラミング言語ランキングで、Rubyの順位が2014年の8位から2017年の12位まで低下していること、さらにCoding DojoでRubyコースが終了したことなど、幾つかの事実を挙げています。 またコンピューターサイエンス分野で関心が低いことや、Twitterを始めとした巨大企業がRailsの採用をやめたこと、Stack Overflowで関心が低下していることなども、Ruby人気が低下している具体例としてリストアップしています。 同記事では「Python」と「JavaScript」を学ぶべき言語として推奨しています。 Pythonは、Web開発やデータサイエンス、その他分野でここ数年急激に広まっており、Rubyと似たシンタックスを採用している部分もあるため、Ruby開発者にとっても習得しやすいプログラミング言語であると説明されています。 またJavaScriptは、全世界で最も使用されている言語であり、Node.js、AngularやReactといった強力なフレームワークによって、 バックエンドからフロントエンドまで幅広くカバーした、価値のあるプログラミング言語であるとされています。 IEEE Spectrumの2017年ランキングでもPython言語は1位となっていてこの主張はある程度納得できるところかもしれません。 同様に、JavaScriptの応用範囲の広さも、誰もが認めるところだと思います。 RubyはPerlのようになる? Rubyの今後に関しては、2008年頃から人気が低下したPerlを例にとって、人気は低下していくものの、完全になくなることはないと結論づけられています。
Rubyどうでもいいよ。Pythonの話しようよ。
RubyをディスらなければPythonにメリットを見いだせない人なのでしょう
pythonの人気に嫉妬しながらも摺寄り、騙し、利用して宣伝しなければ生きていけない死にかけクソ言語とそれにハエ信者
pyautoguiであいまいな画像認識は可能でしょうか?
>>105 そういう関数があるわけではないのですね ありがとうございます >>55 ありがとうございます! パラメータを少しずつ変化させながら繰り返そうとしたら大変でしたので、 1つのクラスにまとめます (まずPythonがネストを増やすたびにインテントを増やさなきゃいけないのは、そもそも深くするなってことでしょうし) selfに何が出力されているのか確認できる超簡単なコードはないですか アホですみません、、、 インスタンス自身と言われてもわからない testclass() ↑これがインスタンス自身?
>>107 乙 >インデントについて そのとおり 深くするな インデントの深さは 闇の深さだ >81 rubyってperlやC++の糞なところに嫌気が差して造り始めた(Matz)のに perlやC++以上の糞なものが出来てしまった感
>>84 「かもしれない」 じゃなくて 衰退する 断言する 今勉強している参考書に return; って書いてあったんだけどこれってオカシイかな?
それだいぶ古い記事だから。 結果は出たじゃん。衰退した。 だから人気言語のスレで初心者騙して衰退世界に引擦り込もうと詐欺行為を働いてるわけ。
python系の野良ブログとかのサンプルは 余計な;ついてるコード多いよ
>>115 ありがとう。じゃあやっぱりこの ; は要らないんだね この12歳からはじめる、、、って本記述ミスが多いんだよなぁ 間違いの全く無い教科書より 間違ってる教科書の方が勉強になる と言ってた先輩が居たな
おかしいかどうかは自分でコード描いて実行してみれば良い エラーが出れば、間違い(有害的記載事項) エラーが出なければ、それでもOK ;があってもなくても動くのならOK(無害的記載事項) ;がないと動かないのなら必要的記載事項 ;があるとないとで異なる動きをするのなら、その;には独自の意味があるのだから、有益的記載事項 つまり、ここで聞かなくても自分でコード描いて実行してみれば答えが得られる
>>110 python の場合は Class() などとしたものがインスタンスですよね? インスタンス自身がselfに入るというのが理解できないのですが、どういった状態がselfにインスタンス自身が入るということなんでしょうか >>120 class = Class() などとしてインスタンス化したものと同じものが入っていることがわかりましたが、それによってどういう効果があるのかイメージできませ >>120 逆にselfが無い場合を考えてみれば良い 自分のメソッドやプロパティにアクセスできなくなり、 利便性が極端に落ちる で、これを聞けば無くても書くことはできるって思うんだろう そう、書くことはできるが不便 利便性のために存在する selfがない言語とかクソ過ぎて使う気にならん とにかく気にせずに使えば良い。そのうち分かる >>123 アンカー間違ってるぞ 124がイイ!!(・∀・)こと言ってるが 具体的にプログラム書いてみて、 ないと困る実感が生じない限り イメージできないとか わかんねー感覚は消えないんだろう。 とにかく何かプログラムをかけ。クラスがいくつかあるようなやつだ。 かいてみそ。 かけばわかるようになる、かもしれない。 書いてみない限りはイメージできないままだ。 ↑ありがとうございました とりあえず1つ用途がわかりました 他の関数からメンバ関数(initはメンバ関数とよんでいいんですよね?)にアクセスするために使うんですね class MyClass: def __init__(self): #メンバ変数 n = 1111 def get_self_id(self): print(n) mc = MyClass()
わかってなにより だがしかし 5ちゃんにおけるインデントについては まだ理解してないんだな
>>126 self.nにしないとmc.get_self_id()でエラー Google のように独自言語作らない時点でJAP企業の限界が見える
世界レベルで業界に影響力を持つ企業が存在しないのだから作っても意味ない
社内でしか使われない珍言語になって開発効率が落ちるだけ
なんだforで回すだけですか vs codeで謎のエラーが出てました
なんかおかしいなと思ったら2.7系のサイトだった 読むなこんなもん
http://codepad.org/hBiVOKpg self野郎なんですが、インスタンス自身がselfに渡されることで変数が同じクラス内で共有出来るってことだと思うんですが、インスタンス自身が渡されることでなぜ共有できるようになるんですか? なんかわかりやすい例えないですかね? a = tes("aaa")がインスタンス このインスタンスがどういう形で渡されているのか調べる方法はありませんか? ちなみにこのaをprintしても場所っぽいメッセージが出てくるだけです
インスタンスはね、a と言うんだ本当はね だけど小ちゃいから自分のことself って呼ぶんだよ 可笑しいな selfちゃん
<__main__.tes object at 0x01071D30> といった場所?が渡されていることで、なぜクラス内で変数を共有できるようになるのかわからないのです >>145 そっちがインスタンスということで理解します でもクラス外から呼ぶときは、self なんて子供が使うような呼び名を使ってはいけないぞ ちゃんと苗字a 、関数名前 で呼べ それが社会常識ってもんよ
そこまで考え出すと、逆にかなり難しくなるんじゃないかな pythonはCのラッパーだから、あまり低級な事を考えるとラッパーとしてどうなっているかも考える必要が出てくる 俺もラッパーとしてどう動いてるかなんて考えない。学習コストとリターンが全く見合ってない
self はjava, C のself と紛らわしいので 我が家の(wagayano) にしてみた。 yamada の 2222が出てくる どうしてリストなどには属性をくっつけられないんだろう a = [] a.x = 1 AttributeError: 'list' object has no attribute ‘x’
>>152 セルフ野郎って違うモノを想像しちゃって嫌だわぁw kivyを使う時にjupyter notebookだと画面が乱れてしまって上手く動きません pyファイルを作ってコマンドからならちゃんと動くんだけど効率が悪いです。 jupyter notebookのような代替ソフトを知りませんか?m(_ _)m
selfに参照渡しされるアドレスってのはインスタンスといいますが、インスタンスの引数のアドレスことではないのですか?
[100,200,-50,150,-100] こんな感じで一日毎のFXの収支が入った配列があった時 要素を順番に足して収支が積み上がるような配列を作りたいんだけど。。。 0+100=100 100+200=300 300+(-50)=250 250+150=400 400+(-100)=300 こんな計算をして [100,300,250,400,300] こんな配列を作りたいんだけどいい方法教えてエロい人 forとか使わないでシンプルなので頼んます><
>>164 うわぁ、ありがとう 僕がイメージしてた通りの関数でした!! ぜひ使わせていただきます >>163 普通にnumpyで加算すれば良いだけでは? >>166 numpyのcumsumですね! できました 前にも書き込ませていただいたものですが、 gtk3+python+webkit2でepubビューアを作っているのですが、現在のスクロール位置を取得したいのですが、 y_pos_js ="var x; x=document.body.scrollTop" def js_run(self, js_name, js_return=True): run_js_finish = self._js_finish if js_return else None self.viewer.view.run_javascript(js_name, None, run_js_finish, None); def _js_finish(self, webview, result, user_data=None): js_result = self.viewer.view.run_javascript_finish(result) if js_result is not None: value = js_result.get_js_value() self.js_value = value.to_double() print((self.js_value)) と書いても、0.0となってしまい、値を取得できません。 ひょっとすると、 https://havelog.ayumusato.com/develop/javascript/e332-android_scrolltop_refresh_delay.html ここのページにあるようにdocument.body.scrollTopは即座に反映されないのかもしれませんが(情報が古い?)、 javascirptがわからずどうすることもできません。 pythonのtimeで遅延させても無駄なようで、javascirptの方で遅延させるしかないのでしょうか? どなたかお知恵を拝借できると幸甚です。 https://stackoverflow.com/questions/52870923/webkit2-and-domdocument-javascriptcore-python3 上のpythonスクリプトの元ネタはここです。 document.documentElement.scrollTop
var x; x = window.scrollY; としたら機能しました。どうもお騒がせしました。
Ruby で、Selenium WebDriver なら、 execute_script で直接、JavaScript の命令文を実行できる TOPまでスクロール execute_script('window.scroll(0,1);') BOTTOMまでスクロール execute_script('window.scroll(0,10000);')
>>173 seleniumはjava製ソフトで各種言語にドライバーが出てる。 pythonやnode向けドライバーのほうがよっぽど利用者多くてよくメンテされてる。 クソ言語信者は他人のフンドシで相撲とってるだけ。 java製ソフトにjavascript実行させてるのを誇るというギャグw Ruby で、Nokogiri, Selenium WebDriver なら、 execute_script で直接、JavaScript の命令文を実行できる jQuery も実行できるから、CSS Selector で検索もできる。 複雑な検索は、Nokogiri で、Xpath でも良いし jsCode = <<"EOT" var text = $( "#btn1" ).text( ); $( "#parent" ).append( text ); EOT # JavaScript を実行 driver.execute_script jsCode
driver.execute_script jsCode ↑javaのコードに ↑jsコード文字列 渡してるだけwwwww もちろんこんなのPython用ドライバーもnode用ドライバーもあって、 当然できることも同じ。 どころか不人気クソ言語用ドライバーよりよっぽどよくメンテされており使用者も多いw
Pythonにも言えるだろうけど、JavaScriptはwebのアセンブラみたいな地位だから変えられないけど、 型がないからデバッグが大変という事でTypeScriptとかelmとか出てるご時世に生のJavaScript動かせるって言うのも逆に危険じゃね? TypeScript動かせますとか、生JavaScriptの型検査出来ますとかでも無ければ、むしろ嫌われ機能じゃ。。。
文字通りの布教活動してないで、pycallのメンテでもしてて欲しいんだけど サナダ虫言語くん
質問ばかりで申し訳ないのですが、 webkit2からjavascriptを呼んで値を取得するまではできたのですが、 その値を今度は別のjavascriptに渡して window.scrollto(0, self.js_value),) とやりたいのですが、どうすればpythonの値(self.js_value)をjavascriptに渡せるのでしょうか?
import pandas as pd abc =[["a", 1, 2], ["b", 3, 4], ["a", 5, 6], ["b", 7, 8]] df = pd.DataFrame(abc) このデータフレームから、query関数を使って、 aを含む行だけを抽出したいのですが、エラーが出てしまいます。。。 df.query("0=='a'") どなたかお助けください。
>>181 参考までに、Ruby で、Selenium WebDriver なら、 >>172 に書いたように、execute_script で直接、JavaScript の命令文(文字列)を実行できる execute_script( 文字列 ) TOPまでスクロール execute_script('window.scroll(0,1);') BOTTOMまでスクロール execute_script('window.scroll(0,10000);') selfにはインスタンスが渡されるといいますが、インスタンスの何が渡されているんですか?selfを出力すると場所ということになりますが、場所にあるデータを渡しているのでしょうか?だとしたらそのデータはなんですか? selfによってクラス内で変数が共有される仕組みがわからない http://codepad.org/Cpl7EKpb class test(): def __init__(self,var): self.v= var def func(self): print(self.v) print(self) print(vars(self)) a = test("aaa") a.func() >>187 何度も同じ事を質問してるけど、返信のレスの内容やサイトを見たのか こういうタイプはアセンブリ言語から順に勉強していった方がいいんじゃないかと思う
Pythonに代わる独自言語を開発したいとかかもしれない
>>186 参考にならないから消え失せろ。二度と来るな。 >>188 もちろん見たのですが、どういう形で渡されているかわからないのです クラス自身が渡されているとしたら class.class.v = var という構造になっているということですか? >>192 関数はある程度理解してて自分で書くことができる? 「python クラス変数 インスタンス変数」とかでググれば説明サイトが大量にあるけど、 プログラミングそのものが理解できてない感じだよね
>>193 簡単な関数ならもちろんかけます def func(hikisuu): print(hikisuu) func("引数") >>194 概念はなんとなくわかりますが、どういう形で渡されているかがわからないのです >>192 selfはtestクラスのインスタンスを指してる func()の第一引数にそのselfがあるんだから、そのメソッド内でselfのインスタンス変数にアクセス出来るのはなんにもおかしくないと思うんだけど >>198 なんとなくわかってきました ただ、selfがtestクラスのインスタンスということであれば、testクラスの中にさらにクラスのインスタンスがあるという状態はおかしくないでしょうか? ここ数日これずっとやってるのか PyConにくる小学生ですらもう少しマシ
>>185 です。 どなたかお助けください。。。 本当に困ってます。 >>195 じゃ仮に変数をまとめて入れられる変数があるとする(変数の中に変数が入っている) a = { hensu1 = "ABC" hensu2 = 22 } b = { hensu1 = "DEF" hensu2 = 55 } 変数にアクセスするためにはこうやるとする print(a.hensu1) // ABCが出力される b.hensu2 = 44 // bの中のhensu2に44が入る もう一つ仮に、関数をまとめられる変数があるとする(変数の中に関数が入っている) funcs = { def func1(hikisu): print(hikisu.hensu1) def func2(hikisu, var): hikisu.hensu2 = var } 中の関数を呼び出すにはこうやるとする funcs.func1(a) // ABCが出力される funcs.func2(b, 87) // b.hensu2 に87が入る >>192 >クラス自身が渡されているとしたら 誰がクラス自身なんて言った 渡されるのはクラス自身じゃない もう自分でソース読んでみるのもいいんじゃないですかね >>199 "testクラスの中にさらにクラスのインスタンスがあるという状態"という考えはどこから出てくるんや >>202 エラーを貼ったほうがいい どう実装されていますかっていう質問でしょ ソース見るのが一番早いよ C分からなくてソース読めないっていうなら、これ以上の説明も理解できないよ
>>199 引数として渡されているだけなんだから何らおかしくない > testクラスの中にさらにクラスのインスタンスがあるという状態はおかしくないでしょうか? 自分の中で「こうあるべき」って感情的に決めつけてない? それの何がどうおかしいのか論理的に説明してみて >>205 import pandas as pd abc =[["a", 1, 2], ["b", 3, 4], ["a", 5, 6], ["b", 7, 8]] df = pd.DataFrame(abc) df.query("0=='a'") pandasで上記コードを実行すると KeyError: False というエラーが出てしまいます。 >>204 渡されるのはインスタンスですよね クラスの中のselfではなくて、生成されたインスタンスの中にあるselfに渡されているということでしょうか? >>203 ありがとうございます これは例えばのコードですよね? この波括弧(コレクション?)を使うとエラーが出るのですが >>209 クラスとインスタンスの違いが分かっていなかったのか >クラスの中のselfではなくて、生成されたインスタンスの中にあるselfに渡されているということでしょうか? そう クラスはあくまで設計図 実体を作って何かを行うのは全てインスタンス クラスにも実体はあるし、クラス内の関数を呼び出したりもするけどね
>>212 staticも考えたけど、もう終わらせた方がいいんじゃないかなって >>212 超初心者にあれこれ詰め込んでも混乱するだけだろうし、多少の嘘は許容してまずは本当に基本的なことを大雑把に理解させないと一歩も先に進まないんじゃないかな。 口だけは立派な先生方 self がなにか説明できない
説明はもう済んでるよ、理解出来てないだけ。 それも当然で、基礎知識が無いからどうしようもない このまま行けばC言語に手を出すことになるのだろう
>>209 それでいい クラスから実体化しまインスタンスはクラスとは別のメモリ領域にある そのインスタンスの中に、selfというそのインスタンス自身をさすインスタンス変数があるということ 頼むからか>>149 の1章から3章まで読んでくれ あんたの知りたいことがすべて書いてある そのサイト以上に簡単に説明してるところを俺はしらん(´・ω・`) ↑ありがとうございます 最後に一つ self.n= name とあったらself側が変数名で、nは属性という扱いでいいんですか?
>>185 です。 解決ができそうにないので質問をキャンセルします。 スレを移動します。 道標とは? self.nで インスタンス化されたクラス/その中にある変数n というフォルダのような構造になっているという意味でしょうか?
インスタンスの構造を出力してくれる関数とかないでしょうか? これがあれば理解できるかも
>>185 Python詳しく無いけど、Haskellで言うfilter関数見たいのが有るんじゃ無いのか? 自作しても良いと思うけど。 def filter(f,lst): newlst = [] for i in lst: if f(i) then: newlst.append(i) return newlst Haskellとの比較用にしか使ってないから、クラスとか知らんで悪いけど。 >>187 >>53 で文句言われたpython初心者が別の言語での知見からの推測で良ければ? selfに入ってるのは__init__付けてない時はclass定義そのもののアドレス(参照)が入るみたい。(各インスタンスで別々の値を持てなかった) __init__付けるとインスタンスのアドレスが入るみたいね。 クラスによって(インスタンスの)先頭アドレスから何バイト先がメソッドのアドレスとか分かるから(その為のクラス定義)。 instance = test("hge") pprint.pprint(instance) pprintしてもメモリの場所しか表示されないのですが、何か設定が必要でしょうか
もしかしてクラスを設計図としたインスタンス(の構造)には、クラスの宣言部分は含まれていないのですか? class testclass(): def __init__(self,hoge): self.h = hoge def func(self): print(self.h) instance = testclass("output") instance.func() とあったら、instance部分の構造は def __init__(self,hoge): self.h = hoge def func(self): print(self.h) となってるわけですか?
>>222 ご明察のとおり だから、メモリ空間上に実体として存在するのは、 変数名.n なので、外部からアクセスするときには、 変数名.n でアクセスする。 self.n で朝とできるのは、同じ変数名インスタンス内部からだけという仕掛け この子にはもしかしてrubyが似合うんじゃないかなって思っちゃった
>>228 難しく考えすぎ self(正確には第1仮引数名).変数名があると、下記の順番で処理されるだけ 1. インスタンス変数が定義されていれば、それにアクセス 2. クラス変数が定義されていれば、それにアクセス 3. どちらも無ければインスタンス変数を作成 (参照だったら例外発生) Pythonインタープリタは、そう実装されているってだけ だから概念とか考えてもしょうがない はっきり言って、「selfに意味はない」 >>227-228 どーでもよくないことだが またインデント崩壊してるわ タイポが散見されるわで どうにもはや pprontはpprintじゃないとおもうぞ >>232 が すごくイイ!!(・∀・)こといった selfをselfとかいとくことに 意味がないところでつっかかってんだ、 self野郎くんは >>232 selfはローカル変数かフィールド(クラス変数)かを見分けると言う意味はある。 メソッドの引数にする意味はないと思うけど。(他の引数と一貫性を保つ為?) class Myclass: def func(str): name = str #nameはローカル変数かフィールドか見分けられない。 そこでrubyは@nameとし、pythonはself.nameにした。 静的型言語だとクラス定義の時点でメソッドよりフィールドを先に定義するから、クラスで何個のフィールドが有るのか分かるけど、 動的型言語だと全メソッド見ないとフィールドが何個あるのか把握出来ない。 同じ使われ方してるフィールドが複数あっても気付きにくい。 __init__にフィールドの宣言と初期化を集約するとか、セオリー頼り。 class Myclass: def func1(self,str): self.name = str def func2(self,str): self.myname = str >>236 >メソッドの引数にする意味はないと思うけど。(他の引数と一貫性を保つ為?) それな 開発者は、次回には直しとけよ >>237 いあ、個人的にはメソッドの引数からフィールドを生成または使用してるのが分かって便利だから残してて欲しいが。 pythonのC-APIは CallObjectとか CallFuncとか CallMethodとか 使い分けてるよな
dive into python3を読んでIterator作ってみたら少し理解が進んだ気がする dive into python3を何とか理解したレベルで次に読むべきものって何なんやろ
anacondaで個別に環境作ってsqlite3入れたがそれらを個別にイジるにはどうすればいい?コマンドプロンプトでsqlite3と叩いても違うバージョンのsqlite3が表示される
activateでsqliteを入れた環境に切り替える
>>249 ありがとうできた PowerShellでactivate出来なかったから調べてみると使えるようにするにはconda install -n root -c pscondaenvs pscondaenvsで使えるように出来た ごめんvscodeのmicrosoft.python.languagesserver.exeってのが13gbくらいメモリ食っててメモリ使用率とディスクが99%なんだけどこれウィルス?
1人みたら100人いるとの格言の通り self概念を理解できない人間はそれくらいいる pythonに限らず他の言語でも
実装がどうなってようが俺の要求する通りの出力結果が得られれば 細かいことはどうでもいい
>>254 疑問点をブラックボックスに閉じ込める事も大事だよね 考えていたらキリがない .sort()がマージソートだろうがクイックソートだろうが気にしないって事やろ
そうそうそーとしてくれりゃいいのよ アルゴの違いなんて、CPU命令セットの違いで成績は簡単に逆転しちゃうんだから
>>258 そうそう それで速度が足りないとか不具合起きるとかアリえんし、例え速度に多少問題あってもそんなもん改善しない webkit2+gtk3でimport threadingで子プロセスからwebkit2.webview.run_javascriptでjavascriptを呼ぶと下記のようなエラーが出てしまうのですが、 仕様なんでしょうか? 1 0x7f4853d050f9 /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x9) [0x7f4853d050f9] 2 0x7f4860cdfeda /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(+0x792eda) [0x7f4860cdfeda] 3 0x7f4860cbc8a4 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(+0x76f8a4) [0x7f4860cbc8a4] 4 0x7f4860d68cf3 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37(webkit_web_view_run_javascript+0xc3) [0x7f4860d68cf3]
multiprocessingだと、javascriptだけ読み込まれないようです。(printや他の関数呼び出しなどは機能します) これだと常時子プロセスでページのスクロール位置を記録するスクリプトが組めないので困っています。 どなたか原因がわかる方、お助けください。
>>262 なんでマルチプロセスしてるかわかんないけど 一旦全部のプロセスの足並みそろうまで待つ命令入れたらどうなるのん >>263 レスありがとうございます。 本来はアプリ終了時にページの既読位置を記録したかったので、gtk windowのdestroy シグナルからjavascriptを書いたコールバック関数を呼ぼうと思ったのですが、 gtk windowがdestroyされるとwebviewも消えてしまって、値が取得できなかったので、 常時スクロール位置を記録する無限ループを作り、その中でjavascriptを呼ぶ子プロセスを作ろうと思ったのです。 マルチプロセスにせずクラスのdef __init__()にループの関数を書くと無限ループなのでwebviewが読み込まれず、 仕方がなくマルチプロセスにしました。子プロセスから親プロセスの変数を書き換えられないなどの基本的なことは 検索してわかったのですが、なぜ子プロセスから親プロセスのdefに書いてあるjavascriptを呼べないかがわからんのです。 普通の関数なら呼べるようですが。 >>264 よべないものは呼べないんだろうから なんか別の攻略法を考えるしかなさそうだなそれ。。。 スクロール位置の記録は パイプに書いてるの? その他の方法でやってる? >>265 スクロール位置の記録はjavascript(y_pos_js ="var y; y = window.scrollY;") とそれのresultを保管する変数でやっています。 変数の共有は from multiprocessing import Value のshared_double = Value('d', 0.0)などとやっています。 >>232 クラス変数にselfは使えないですよね? >>267 誤解を招く表現を訂正 それでもうまくいかないんだ。。。。。 (´・ω・`) 要はselfに自分自身を入れると、class.nみたいな感じで変数だとかにアクセス出来るってだけのことじゃないですか
>>267 Process(target=self.js_run(y_pos_js)) としたら今度はスクリプトを読み込んでくれました。 別プロセスにしたのが原因ではないようです。 もうちょっと考えてみます。レスありがとうございました。 >>273 うまくいってなにより ちからになれなくてすまん >>269 だから>>232 の通りなんだから、クラス変数にアクセスできるってば >>238 みたいな事を言っておいて、あんまりな仕様 そういうわけで、クラスメソッドの第1仮引数は"self"じゃなくて慣例的に"cls"にする 実際は"self"にしちゃう人もいるけど Python3にする時にxrange→rangeとかつまらん事を病的なまで変更しておいて、 肝心な事は何も手を付けなかったから、いろいろ言われているんだよね 素直に"self"と"cls"を予約後にして、それぞれインスタンスとクラスを指すべきだったのに あ、でもせっかく納得したみたいだから、別に気にしなくてもいいよ >>236 Python, JavaScript は、クロージャが関数スコープだから、 スコープ外の変数を取り込んでしまう。 第1級関数の欠点 一方、Ruby は、C と同じ。 関数スコープの内側に、クロージャのブロックスコープがある 関数は外側の変数を取り込まないで、 ブロックスコープは、関数内の変数を通す 第1級関数にしなかったことで、スコープが強固! だから、this がwindow を指したり、non local とか、ややこしい問題がない 第1級関数を使っている言語は、バグりやすい >>232 >Pythonインタープリタは、そう実装されているってだけ 先ずはその仕様を変更しろ >>237 > >>236 > >メソッドの引数にする意味はないと思うけど。(他の引数と一貫性を保つ為?) > > > > それな > 開発者は、次回には直しとけよ >>243 > >>237 > いあ、個人的にはメソッドの引数からフィールドを生成または使用してるのが分かって便利だから残してて欲しいが。 >>279 Cにはクロージャの概念は無いよ。 毎度毎度、rubyしか分からない(それすらちゃんと分かってるか怪しい)のに他の言語のスレにわざわざ出てきて無理矢理ruby推ししては、頓珍漢なことしか言えないのだから二度と書き込むな。 pandasのread_csvで列名「size」のデータを読み込んで利用したいのですが、うまく行きません。 usecols=['size']と指定しても df.sizeだと要素数が出てきてしまうし df.rename(colms=['size':'_size'])とした上で df._sizeを見ようとしても object has not attribute '_size' のエラーになってしまいます。 size列は位置が変わる可能性があるので、 できれば列番号ではなく列名sizeを指定して読み込みたいです。 良い方法はないでしょうか。
結局、インスタンス変数にselfをつけると、クラス内で共有できるよという そういう仕組なんだよってことどすか?
>>288 そのリンク先にも書かれている通りCには文法的にクロージャは無くて、クロージャもどきを実装するやり方が書かれているね。 だから>>279 でクロージャとスコープの関係の議論にCを持ち出すのは頓珍漢だと思うよ。 >>286 rubyだと、どのメソッドでフィールドが使われてるかはクラスの全メソッドチェックしないと分からないけど、 pythonは引数にselfがあるか無いかで判断出来るんだから、立派な優位点だと思うけど。。。 規模大きくなってツール作った時、省けるチェックがある分、速度的にも優位だし。 トランプじゃなくても this is a country where we speak about python not rubyyyy って言いたくなるわ
multiprocessingで子プロセスを作成しています 子プロセスでエラーが起きた場合に親と子の両方を終了するにはどうしたらいいのでしょうか?
>>297 kill children あたりのキーワードで スタックオーバーフローとか検索 たぶん誰かが書いてくれたそーすみっかる scrolling increment Python で検索はもうしてる? してたらすまん >>299 >>300 レスありがとうございます。tkinterのページがたくさん引っかかったのですが、 最大の問題はwebkit2がスクロールを自分で管理していて、webkit1のように gtk.scrolledWindowで管理できない点にあるんです。 こちらのプログラムを参考(というか改竄している)にしているのが、この作者の方も webkit2でのスクロール量の計測ができずにwebkit2にマイグレートできずにいるようです。 ここのサイトにリンクがあるC言語の場合の解決方法を参考にpythonで書いてみたのですが、 https://github.com/michaldaniel/ebook-viewer/issues/34 (ここの4つ目のレスのmarkerというソフトの作者の方の例です。) 299のエラーに遭遇してしまいました。大人しくCで作ったほうがいいのかもしれませんが。。。 >>302 どこからかぞえて4つめのレスかちょっと迷ったw このひとはCでやってんね。。。 > Markerの中の人 >>301 キーワードに python とか pyとか足した方が より絞られていいとおもった どうしてもみつからなかったらまたレス頂戴 参考までに、Ruby で、Selenium WebDriver なら、 >>172-186 に書いたように、execute_script で直接、JavaScript の命令文(文字列)も実行できる ある要素までスクロールしたいとき driver.find_element(:id, "ID").location_once_scrolled_into_view jQueryでスクロール位置を取得・設定する:scrollTop() https://uxmilk.jp/44962 >>306 javascriptすげー java製のseleniumすげー 呼び出すだけのキツネpubyダセーwww 呼び出すだけのドライバーですらシェア・メンテ更新頻度python, nodeに負けてるオワコン言語クセーwwwww pip install で語尾に --user を打ち込まなければエラーになってしまうのですが、何が原因でしょうか?
Pythonのタートルグラフィックスについて質問です 描画する時に亀や矢印のアイコンを消す方法ってありませんか?
>>310 shapesize(0)ってできたっけか >>312 shapesize(0)にするとエラーがでるようです。 >>313 おk把握 ペンサイズを書いた次の行で .pen(shown=False) ※shapesizeは1でも10でもエラーの出ない数値を適当に。
>>314 ありがとうございます!! できました!! >>309 エラーになるときはそのエラー貼ったほうがいい pip install --userでエラーが起きなくて、pip installでエラーが起きるなら、管理者権限が無いってのがよくあるパターン >>318 Windowsにもいろいろあるだろゴルァ まぁWindows系なら>>317 でFAだろうから ずっと--userでがんがれ スライドパズルゲームでマスを入れ替える仕組みの概念を教えてください まず、マスは2次元配列だと思います □ ■ □ 黒いマスがプレイヤーだとして、上を押したときに上のマスと場所を入れ替えたい場合、単に配列の場所をイジイジしてやればいいだけですか? セオリーがあったらおしえてくだひゃい godot野郎です
>>320 「スライドパズル ソース」 辺りで検索すれば色々出てくるよ input_cards = ["0","10"] if input_cards.index("0"): print("True") else: print("False") if "0" in input_cards: print("True") else: print("False") if input_cards.index("10"): print("True") else: print("False") 質問 最初のifのみTrueのハズなのにFalseが出力されます 使い方間違ってますかね?
>>324 インデントが崩れてるから>>1 読んで input_cards.index("0") すると 0がかえってくるので そいつをifするとFalseだ なにもおかしくはない input_cards = ["0","10"] って行を input_cards = ["10","0"] にかきかえてためしてみ
>>327 はてブロに貼り付けてもいいけど広告費は払うなと報告しておいた >>325-326 0番地に存在が有りなのでifがTrueを返すと勘違いしてました 逆に存在がない場合エラーになるのでindexが使えないことが分かりました ありがとうございます mypyなどより5倍以上高速: Microsoft、Pythonの静的型チェック機能を提供する「VS Code」プラグイン「Pyright」を公開 https://www.atmarkit.co.jp/ait/spv/1903/26/news103.html Microsoftは、Pythonの静的型チェック機能を提供する「Visual Studio Code」(VS Code)のプラグイン「Pyright」をオープンソースのMITライセンスで公開した。 Microsoftは2019年3月21日(米国時間)、Pythonの静的型チェック機能を提供する「Visual Studio Code」(VS Code)プラグイン「Pyright 1.0.0」をオープンソースのMITライセンスで公開した。同23日には多数のバグを修正した「Pyright 1.0.1」を公開している。 Pyrightは、「mypy」のような既存のPython型チェッカに存在する難点に対処する目的で開発された。特徴は次の通り。 (会員記事につき略) リポジトリ https://github.com/Microsoft/pyright 型アノテーションってみんな使ってるのかね 関数とかメソッドの引数と戻り値だけは、docstringに書くようにはしてるけど
まだ2系メイン()だからつかってなーい >>332 >>329 仮想PC、シークレットモード、携帯、携帯のシークレットモード 幾らでも踏めるぞ 広告は適当に報告刷れば良い 効果があるかどうかじゃなく、どれだけムカついたかを報告するんだ 俺は本気で腹が経ったら採用情報からでも報告する >>334 >仮想PC、シークレットモード、携帯、携帯のシークレットモード 事前に匿名串とおしておかねばならないではなりませんのー :((´゙゚'ω゚')): >てきとうにほうこく なるほど 不快でした で おkなのね おまいら、GUIライブラリはなに使ってますか? おすすめがあったら教えてちょんまげ
とりあえず動けばいいならtkInter 普通のアプリ並みの見た目が必要でWinで動けばいいならC#とかで書いて裏でPythonを呼ぶ 綺麗な見た目が必要でクロスプラットフォーム、かつ非商用ならPyside、商用ならPyqt、ただしどっちもデプロイは面倒 デプロイが楽でクロスプラットフォームならGUIはブラウザでやるのがいいけど、フロント系の知識がいる Pygameは一枚のカンバスにぐりぐり描く用途なら今でも使える、ただしGUI部品はないしイベントの扱いが原始的なので、用途は限られるかな wxPythonは立ち位置的に使いどころがない
そうかトンクス!! 一番簡単なのはtkInterかな? とりあえず動けばいいのでtkInterやってみっかな C#でGUI作って裏でPythonなんてこともできるんだ!? IronPythonとか使うって事? KivyとwxPythonを勧めてるサイトがあるけどあかんのか〜 wxPythonはなんであかんの?
tkInterはいいぞ、最初から入ってるのが大きい。 C#云々は単にC#でGUI描いて、ボタン押したらPython呼び出すとかそんな感じ。 wxPythonは機能的にtkInterと差がない。そして最近は触ってないけど以前は環境によって描画が崩れやすかった。あえて使う理由が見当たらない。
なるほど。参考になった。 tkInterやってみるわ。 wxPythonはあかんのね。
wxPythonいまもつかっててtkつかえない俺が通ります wxPythonは今も Windows10やMacだと、それ以外のOSでちょうどよく作った表示がはみ出まっす
>>343 そうかトンクス!! そうかトンクス!! pythonではクラスはメインルーチン外でインスタンス化しないといけないのですか? http://codepad.org/CNN6VlQ5 var speed = 10 var vel=Vector2() func _ready(): set_process(true) func _process(delta): vel = Vector2(speed,0) if Input.is_key_pressed(KEY_RIGHT): translate(vel * delta) 2行目のVector2というのはクラスなんですが(座標を移動させる)、クラスはメインルーチンの外で宣言しないといけないのですか?これはゲームエンジンのpython のような言語です pythonの需要が高まるぞ。 政府、AI人材年25万人育成へ 全大学生に初級教育 http://r.nikkei.com/article/DGXMZO42932250W9A320C1SHA000 政府が策定する「AI戦略」の全容が分かった。人工知能(AI)を使いこなす人材を年間25万人育てる新目標を掲げる。文系や理系を問わず全大学生がAIの初級教育を受けるよう大学に要請し、社会人向けの専門課程も大学に設置する。 ビッグデータやロボットなど先端技術の急速な発達で、AI人材の不足が深刻化している。日本の競争力強化に向け、政府が旗振り役を担う。 目玉に据えるのが高等教育へのAI教育の導入だ。年間約50万人いる全ての大学生や高等専門学校生(高専)に初級水準のAI教育を課す。 最低限のプログラミングの仕組みを知り、AIの倫理を理解することを求める。受講した学生には水準に応じた修了証を発行し、就職活動などに生かしやすくする。 そのうち25万人は、さらに専門的な知識を持つAI人材として育成する。初級水準の習得に加え「ディープラーニング」を体系的に学び、機械学習のアルゴリズムの理解ができることを想定する。 「AIと経済学」や「データサイエンスと心理学」など、文系と理系の垣根を問わず、AIを活用できるよう教育を進める。 パイソンとか名前がふざけているのにクソ真面目に教育に使うなんて
http://codepad.org/ANRwbEFz global hensu def func(): hensu = 2 print(hensu) func() hensu = 0 def func(): hensu = 2 print(hensu) func() 変数にglobalをつける意味はなんでしょうか? 名前だけ宣言する場合はつけなければいけないようですが、なんの意味があるのですか? 最初から2番目のコードのように代入しておけばいいだけなのでは?と思うんですが。それだけでfunc関数から見ればグローバルなのでは? >>350 文部科学省・経済産業省では、第四次産業革命の進行に伴い、産業界において数学(※1) のニーズが高まっている現状を受け、「理数系人材の産業界での活躍に向けた意見交換会」を開催しました。 本意見交換会では、数学の産業応用に関する現状や課題を明らかにするとともに、課題の解決や今後の方向性に関する意見交換を行い、 『数理資本主義の時代〜数学パワーが世界を変える〜』として報告書を取りまとめました。 ※1ここで言う「数学」は、純粋数学、応用数学、統計学、確率論、さらには数学的な表現を必要とする量子論、素粒子物理学、宇宙物理学なども含む広範な概念。 グローバル宣言は必要はないのですか? 代入を伴わない変数の宣言はどうするのでしょうか
>>355 pythonでは変数の宣言は普通しない グローバル宣言は関数内でローカル扱いされたくない変数に対してする x=0 def func(): ____global x ____x=2 func() print(x) global xを消すとfunc内のxはローカル変数になるので0がprintされる 関数のスコープの外の変数を直接書き換えたいのってどんなときなんやろ
書き換えたいかは知らんが参照したいときはあるやろ?
>>345-346 Python 風の言語とは、Godot か? ゲーム製作技術板に、Godotのスレがある ディクショナリのキーはイミュータブルのオブジェクトでなくてはならない これはキーをミューダブルなオブジェクトにしてしまうと、途中でキーのオブジェクトが変わる可能性が出てくるので、ハッシュ関数でキーに対応する値が取り出せなくなるからという理解でええのかね
>>363 __hash__と__eq__を実装していないか、それらの返す結果に影響のない変化であれば問題はない Pythonでわざわざそれらを実装するのは稀だからあまり気にしなくていいよ それより、そんなことが問題になるような複雑なデータ構造を作らないことの方が大事 せいぜいタプルまでだな >>336 儂はPyQt使ってるよ。 wxPython→tkinterときて結局、PyQtに落ち着いた。 よくライセンスがGPLでうんぬん言われてるみたいだけど、個人で趣味でツール類作る分には問題ないみたいだから愛用してる。 pyGTKやpyFLTKやKivyは使ってないな。 結局、GUIデザイナーが一番使いやすいからQtに落ち着いたような気がしまっす。 追伸:tkinter用の使いやすいGUIデザイナあったらtkinterにちょっと戻ってみたい気もするナリ...。 Komodo's GUI Builder使ってたけど、いまひとつWYSWYGじゃない感じ... 何か良いGUIデザイナある?
PyQtはGPLウイルスー!(・∀・)に感染ずみ おれおぼえた
たとえば(a-pが全部数字として) [[a, b, c, d, e, f, g, h], [i, j, k, l, m, n, o, p]] という並びの行列から [[[a, b], [i, j]], [[b, c], [j, k]], [[c, d], [k, l]], [[d, e], [l, m]], [[e, f], [m, n]], [[f, g], [n, o]], [[g, h], [o, p]]] という行列の配列が欲しい時 どういうコードがスマートでしょう?
下記のサイトはどのようにして利用するのでしょうか?
>>371 なるほど、ありがとうございます。 コードが大量にあるので写経するにはよさそうでしたが、イメージしていたものと違っていました >>368 Ruby で、N個ずつの重複ありのグルーピングの繰り返しは、 [1, 2, 3, 4].each_cons( 3 ){ |a| p a } 出力 [1, 2, 3] [2, 3, 4] >>368 泥臭いやり方しか思いつかない... もとの行列をthe_listとすると the_len = len(the_list[0]) hoge=[[]*(the_len-1)] for i in (the_len-1): ____hoge[i] = [the_list[0][i], the_list[0][i+1]][the_list[1][i], the_list[1][i+1]] >>368 >>> def f(x,y):return[[a,b] for a,b in zip(x,y)] >>> def g(x,y):return f(f(x,x[1:len(x)]),f(y,y[1:len(y)])) >>> g([1,2,3,4,5],[6,7,8,9]) [[[1, 2], [6, 7]], [[2, 3], [7, 8]], [[3, 4], [8, 9]]] >>> >>368 import numpy as np a = np.array(件の配列) y = np.repeat(a, 2, axis=1)[:, 1:-1] y = np.stack(np.split(y, 7, axis=1)) 最後の行の7をy.shape[1]//2にした方が一般性あるな
[(2, 3), (1, 2), 2, 1]を sorted(lst)で [1, 2, (1, 2), (2, 3)] にしたくて調べたところ、tuple、intの継承クラスでltメソッドを定義しろとありますがやってもうまく行かないので完動するソースお願いします。 あ、python3です。
1. int・tuple を分離する 2. それぞれをソートする 3. ソート済みのint・tuple を連結する
>>381 import sys lst = [(2, 3), (1, 2), 2, 1] sorted(lst, key = lambda v: v if type(v) == tuple else (-sys.maxsize - 1, v)) #=> [1, 2, (1, 2), (2, 3)] 要件によるけどこれじゃダメか? >>379 ありがとうございます np.split のところだけ np.array_split の方が良さそうです >>391 GodotのことはGDScriptスレ立ててきけし Godot の質問は、ゲーム製作技術板のGodot スレへ、書き込んで!
Godot の質問は、RWBYスレへ、書き込んで!
>>394 みんなどっかに潜伏してるんだろ とにかくここに書くのはスレ違い @app.routeの後に続く("/")には何を入れれば良いのでしょうか?
>>398 Flaskの話? 何も入れなくてもいいし 入れたらURLの一部になる >>399 flaskです。 なにも入れないとno rootになってしまうのですが matplotlibで軸がsymlogの時にaspectを変えようとすると UnboundLocalError: local variable ‘aspect_scale_mode’ referenced before assignment ってでるけど、これmatplotlibのバグじゃないでしょうか?
盲目 referenced before assignment
流行りのFランだろ すぐなんでもバグを疑う バグ人間分際でな
怖くてPython3をインストールすら出来ていない プログラミング言語ってコマンドプロンプトから起動したり操作するんだよね?うっかり変なことしてPCの設定が変わったりしないか心配 挫折したらアンインストールしたいけどアンインストールの方法調べてもMacばかりでWindowsのこと書いてないしちゃんとインストール前と同じ環境に戻るか心配 超初心者以前の問題でつまずいているよ
>>408 仮想PCでも使ってみては 仮想PCの中なら何をしても大丈夫だよ Ruby Installer にはインストールしない、MSYS2 コンパイラ無しのポータブル版もある。 ただし、インストールしていないから、アンインストールもできないので、自分で削除する必要がある。 つまり、システム管理外のアプリとなる Ruby 2.4 なら、それをダウンロード・解凍して、C:\Ruby24-x64 に置いて、 ruby.exe のある、C:\Ruby24-x64\bin をユーザー環境変数PATH に、自分で追加する コマンドプロンプトで、where ruby と入力すると、そのパスが表示される。 C:\Ruby24-x64\bin\ruby.exe これで絶対パスじゃなくても、ruby というコマンド名だけで、ruby.exe が起動できる PowerShell を起動して、$env:Path.split(";") と入力しても、 環境変数PATHを、; で区切って表示できる コマンドの実行ファイルは、この表示順で、上から検索される!
>>411 これがクソ言語ruby信者 スレタイにruby禁止と入れられる所以です インストールしたアプリは、システムが把握しているので、アンインストールすべき! 手作業で削除してはいけない! 一方、ポータブル版のように、勝手にダウンロード・解凍して、 どこかのフォルダに自分で置いたアプリは、システム管理外となる これは、インストールしていないのでアンインストールもできないから、自分で削除する必要がある ユーザー環境変数PATH にも、自分で追加して、自分で削除する必要がある インストールする時には、インストーラーが、ユーザー環境変数PATH に追加してくれる場合もある。 アプリによっては、システム環境変数PATH に追加するものもある ユーザー環境変数なら、そのユーザーだけ。 システム環境変数なら、全ユーザー共通となるので、普通はユーザー環境変数に追加する インストール前に、PowerShell を起動して、$env:Path.split(";") と入力して、 環境変数PATHを、見ておくのが良い。 それから、ユーザー環境変数PATH に追加後にもう一度見ると、新しく追加されているはず!
>>413 修正 >インストール前に、PowerShell を起動して、$env:Path.split(";") と入力して、 環境変数PATHを、見ておくのが良い。 インストール前に、PowerShell を起動して、$env:Path.split(";") と入力して、 環境変数PATHを見て、保存しておくのが良い 見比べるために、一応ファイルに保存しておくのが良い Jupyter Notebookで改行を置換する方法ってありませんか?
>>406 自分のソースではなくてMatplotlib のソースコードからエラーが出る jQuery でも、自分が書いたコードが間違っていれば、 jQuery のライブラリから、エラーが出るよ 自分が書いたコードが、ライブラリのルールに従っていない場合
自分が書いたコードの場所では、エラーが出ないが、 それを読み込んだライブラリのどこかで、エラーが起きる そういう事もある。 間違ったソースコードと、エラーが出る場所の不一致が起きる この場合、エラーが出る場所よりも前の、自分が書いたコードに間違いがある
お願いします 現在、Python公式のサイトからインストールしたPython3がWindows入りのPCに入っていて、 それと共にライブラリとして cycler==0.10.0 kiwisolver==1.0.1 matplotlib==3.0.1 numpy==1.15.3+mkl Pillow==5.3.0 pyparsing==2.2.2 python-dateutil==2.7.4 scikit-learn==0.20.0 scipy==1.1.0 six==1.11.0 が入っております これからanacondaをインストールしたいのですが、 anacondaを入れる前に公式サイトからインストールした、あるいはpipでインストールしたものは 全て捨てるように、と注意書きを見付けました それでこれらのライブラリを捨てる時、 http://www.lifewithpython.com/2014/11/python-uninstall-multiple-libraries.html というサイトを見ると、$ pip uninstall -r uninstall.txt というコマンド(テキストファイル名は自分で付けたもの)で削除しろとありますが、 このようなファイルはPythonの入っているフォルダに入れるべきでしょうか それとも、べつのフォルダに入っていてもそこに到るルートも明記する事で ちゃんと動いてくれるでしょうか 返答をお願いします >>408 Python はそんなに怖くないよ。多分君のPCの中にもいくつか知らない間にPython が入っていて何かのアプリで動いてるよ。 > Pythonの入っているフォルダに入れるべきでしょうか No > それとも、べつのフォルダに入っていてもそこに到るルートも明記する事で > ちゃんと動いてくれるでしょうか Yes
$ pip uninstall -r uninstall.txt これは相対パスだろ 絶対パスにすれば? まあ、相対パスでも表現できるけど、絶対パスなら間違いない
>>> np.linspace(0, 10, 11) array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]) >>> np.linspace(0, 10, 11) * .5 array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ]) >>> int(np.linspace(0, 10, 11) * .5) TypeError: only length-1 arrays can be converted to Python scalars >>> np.int(np.linspace(0, 10, 11) * .5) TypeError: only length-1 arrays can be converted to Python scalars >>> list(map(int, np.linspace(0, 10, 11) * .5)) [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5] >>> np.array(list(map(int, np.linspace(0, 10, 11) * .5))) array([0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5]) これは map 使わないとだめ? なんかもっと良い方法ある気がする 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
クラーク「十分に発達した科学技術は魔法と見分けがつかない」
>>424 a= np.linspace(0, 10, 11) * .5 a=a.astype(np.int32) >>418 公式にあるsymlogのサンプルコードにaspectの設定一行足しただけなんです 419です お陰様で現在、six以外の全てのライブラリが削除されたようで pip show 〜 でも見つからなくなりました ところで、ここからが怖いのです pip list で見ると、残っているのは pipとsetuptoolsとsixなのですが、 sixを捨てることでライブラリ間のバージョン違いを吸収できなくなるのも怖いですが、 pip uninstall pipなんて出来るんでしょうか? 更に pipはsetuptoolsがないと動かないというので本来はsetuptoolsを先にインストールするものだったそうですが、 setuptoolsもどうやってアンインストールするのか分かりません ここから先は入っているディレクトリから直接消していく、あるいは環境変数から消して行くしかないのでしょうか お願いします
その辺はpythonをアンインストールすれば消えるはずだが site-packagesの下に入ってる奴だろ
Anacondaを入れようとしているのにsixを捨ててバージョン差異云々も意味不明だ 何を目指してるんだか分からん Anacondaと公式のPython3を同時にインストールしておきたいのか? それこそ10年早いからやめとけ どっちかにしろ
>>429 何を恐れてるのか知らないが、OS は何? 多分純正Python をインストールしたフォルダとanaconda がインストールされたフォルダは違うと思うけど? だったら何も混在することはない。 PATH さえ混在しないようにしておけば、純正Pythonが残ってても何の問題もない。 uninstall の必要すらない。 Pythonのインストールもといプログラミング言語のインストールはPCのシステムの根幹に影響するものなの? その辺のフリーソフトをインストールするのとはイメージが違う? ZIPを解凍して実行ファイルをクリックしたらプログラミングのウィンドウが出て作業開始とはいかないよね 調べれば調べるほど不安になる
>>433 その辺のフリーソフトでも インストーラ(exe)使うタイプなんて普通にぼろぼろあるで? >PCのシステムの根幹に影響するものなの? Macとかみたいに、システムに予めPython入ってるOSだと、場合によってはね。 そんなわけなので ID:iz1vdcLS は これからPythonしようとしているパソコンなりなんなりのOSの種類とバージョンをまずかけ
>>436 なら大丈夫だ、 Python3のインストーラをダウソしてきて、 普通のフリーソフトみたいにインストールして、 使って、 挫折したらアンインストールおk >>408 Visual Studioとかと比べると環境汚さないよ デフォルト設定だとユーザー配下にインストールされるから他に影響しないし ただWindows版はライブラリのインストールでハマること多いから Anacondaの方がオススメかも WindowsでAnacondaで何かさらに入れるのはマゾかよほど必要かだろ Anacondaにするかどうかは、何がしてみたいかによる
>>437 ありがとうございます これでようやく超初心者未満から超初心者へ一歩前進出来そうです >>438 環境汚さないと聞いて安心しました ありがとう、ライブラリのインストール(pip?)は一先ず自己解決を目指して調べてみます >>409 >>410>>420 もありがとう >>440 Python3系ならpipは最初からついてくるよ インストール時に「PATHを通す」オプション(※英語)にチェックいれとけば コマンドプロンプトから簡単にpipし放題 >>430-432 お陰様で、anacondaをインストールしてから condaのパス及びpythonのパスも通して、無事にVS codeから実行したり qtから実行するのも出来るようになりました ありがとうございました ところで自分が使っている別のPCにはJAVAが入っていて そこではJython形式のPythonスクリプトが動く某画像処理アプリも入っています このPCにanacondaなんて絶対に入れない方が良いですよね?
>>444 Jythonも拡張子がpyだから、AnacondaどころかPython入れるのもぼみょうじゃねーかな 447 デフォルトの名無しさん 2019/03/31(日) 18:47:06.40
>>386 ツイでよく見かけるわ 3月はボロい話が多いな >>446 そんなもの誰がキックするんだよ。 アプリなんて動かさなければ動くかんよ。 呆れて開いた口が塞がらん。 >>448 >呆れて開いた口が塞がらん。 20分経過しました 誤解の余地がありそうだから... 拡張子が一緒だからJythonと、 Anaconda / Python の共存はめんどくせーとおもうけど、 (たとえばPaintShopProとかAnimator3みたいな) 中身にPython使ってるってだけのexe(アプリ)なら衝突しないのでおk。
そもそも、何故windowsで環境汚してまで、 python使いたいのかが理解できん。 Linuxでやれば、難しい事考える事なく、 Python扱えるのに。
例えば「みんなのPython」の前提条件は、 Windows で、今までPython を入れた事がない場合に限り、Anaconda を入れられる! 既に、Python が入っている場合には、出来ません! この本は初心者用の本だから、環境変数PATH とか、仮想環境とか、 初心者に説明するのは無理なんだよ Pythonの文法じゃなくて、OSのシステムの話だから、全く違う
>>411-414 にも書いておいたが、 まず、Windows には、ユーザー環境変数・システム環境変数の違いがあるので、まずこれを調べる 次には、インストールとポータブル版の違いを調べる。 インストールとはシステムが管理しているものだが、ポータブル版はシステム管理外 次に、コマンドが実行ファイルを探す方法(探索パス)を理解する。 端末で、ruby とか、パス無しのコマンド名が、なぜ実行ファイルを探せるのか コマンドプロンプトで、where ruby と入力すると、そのパスが表示される。 つまり、ruby というコマンド名で、実行ファイルを探し当てている。 C:\Ruby24-x64\bin\ruby.exe PowerShell を起動して、$env:Path.split(";") と入力して、環境変数PATHを見る。 これは、ユーザー環境変数PATH・システム環境変数PATH が合成された探索パス この順番が重要! この順番で、上から順に、コマンド名の実行ファイルが探される! 「コマンド名 + .exe」のファイル名を探す。 ruby なら、ruby.exe だから、既にPythonをインストールしている人は、後から探索パスに追加しても、 上にある方の実行ファイルが起動されてしまうわけ こういうOS のシステムを説明するのが、非常に難しいため、 「みんなのPython」では、既にPythonが入っている環境では、 初心者には、Anaconda は使えないとしている >>453 申し訳ない。 パッと見て、Python使う前からトラブっている印象 を受けての発言です。 自分としては、使いたいパッケージをpipでちまちま入れて、理解できる範囲で扱う方が良いと考えている ので、理解できてませんでした。 例えば、DB のsqlite3 をダウンロード・解凍して、C:\sqlite3 に置く。 つまりインストールせず、自力で設置する。 これはポータブル版と同じ そして、ユーザー環境変数PATH に、C:\sqlite3 を追加すると、 端末で、sqlite3 というコマンド名を、パス無しで使えるようになる コマンドプロンプトで、where sqlite3 と入力すると、その実行ファイルのパスが表示される。 C:\sqlite3\sqlite3.exe また、PowerShell を起動して、$env:Path.split(";") と入力して、環境変数PATHを見ると、 一番下に、C:\sqlite3 も表示される これはインストールしていないからアンインストールできないので、 削除する時も、自分で削除しなければならない。 システム管理外のアプリとなる
ほとんどの会社で、システム環境を変えるのを嫌がるわけは、 コマンドの探索パスの順序が変わるかも知れないから ユーザー環境変数PATH・システム環境変数PATH の説明が難しいから また、一番下に追加しても、それよりも上で、そのコマンド名が見つかると、 先に見つかった方の実行ファイルが起動されてしまうため こういう探索パスの順序を説明した本は、ほとんどない
>>456 >>453 みたいな奴の言うことを間に受けるなよ。奴はRuby しか知らないくせにPython スレで荒らしまわってるアラシだからな。 全然怖くないからやって見なはれ。 ただし、インストールするときは、みんなで使える環境にインストールする事。 怖がって自分だけとするとかえって面倒なことになる。 インストールする先は自分で指定しない事。 ちなみにRubyは今年いっぱいで使われなくなる言語
PythonをZIPでDLしてライブラリもpipではなくGitHubからZIPでDLした場合、Pythonにライブラリをインストールするにはどうしたら良い? とんでもない遠回りをしてる自覚はあります
Pythonでベクター画像を描くことって出来ませんか? 良い方法があったら教えてエロい人
>>462 そのpythonにpipがついてるならそれ使ってpip install zipすればいい そうでないならzipを展開してsetup.pyをpythonから実行 Pythonのランダムって完全ランダムですか? 完全ランダムの作り方教えてエロい人
Windows 10・WSL・Ubuntu 16.04 では、 /usr/bin$ file python python: symbolic link to python2.7 /usr/bin$ file python3 python3: symbolic link to python3.5 pip コマンドが無いけど、どうなってるの?
>>466 全部疑似ランダム。 コンピューターの「ランダム」は本当にランダムなのか? https://www.zenken.co.jp/blog/engineer/30255 予測ができない、本物のランダムを作るには、以下の方法があります。 @システムのインタラプト信号を利用した/dev/random (デバイスドライバなどの情報源から集めた環境ノイズを利用して、真の乱数性を得る) A従来のコンピューターではなく、量子コンピューターを用いた量子乱数 (量子物理学を用いる) これらを利用すれば、暗号学的に完全な乱数が作られるので安心して使えます。 HaswellあたりからCPU内で乱数生成できるようになってないっけ
>>469 ありがとうございます。 僕が考えたのは乱数を生成する度にtime関数でシードを与えるという方法なんですが まだ甘いですか?完全ランダムとは言えませんか? 優秀なハッカーにかかればこの方法で作ったパスワードは破られますかね。。。 >>471 あまいとかどうとかではない 「くだらないこと」を考えてないで469の方法を使え >>472 量子コンピュータなんて個人で使えませんやん >デバイスドライバなどの情報源から集めた環境ノイズを利用して、真の乱数性を得る これを簡単に実現する方法ってありますか? マイクとかPCにつなげてそっからノイズとればええのかな?
>>475 ありがとうございます。 マイコンにダイオードっすか!! 知識が必要そうっすね。 >>476 下らないことだったり、技術的に製品化されてるようなものでも『自分で作ってみよう』というのは結構面白いですよね。 もし、ハード系が苦手なようでしたら、 FMラジオをマイク端子につなげる→ラジオを「ザー」になるようにチューニングする→音声を取り込んでデータ化する →一定時間に何回録音レベルが閾値を超えたか数える→欲しい乱数の最大値の数+1で割って余りを採用する。 こんなかんじでしょうか? 私はソフトで信号解析プログラムを作るより、ちょっとしたマイコン回路を作るほうが得意なので、オペアンプとPICマイコン あたりを組み合わせてシリアル通信でパイソン側に読ませちゃいますね。 >>477 ありがとうございます。 大変勉強になります。 ハード系は全然知識ないっす。 ラジオとマイクで実験してみたいと思います。 >>478 リアルタイム性を求めないのであれば一度WAVファイルに録音して解析するのが簡単そうです。 ちょっとぐぐってみましたが、waveモジュールというのがあるみたいです。 【参考】 http://algorithm.joho.info/programming/python/wave-plot/ FMラジオのホワイトノイズを録音してこのサンプルソースのdata変数(多分整数のリスト型?)を 値を整数値に足したり割ったり剰余してみて整形して乱数のリストにする でどうでしょうか? 変法で偶数なら0,奇数なら1として二進数化して、8bitづつ取り出すという方法もできそうです。 自分で実験してないので無責任ですみません。 個人的にはつらつらとリアルタイムに乱数を吐き出す方がロマンありそうですが.... ありがとうございます。 標準モジュールでできるんですね!! まずは録音したwavで頑張ってみます。
追伸です 他にもPyAudioっていうライブラリもあるみたいです。 こっちの方がリアルタイム性が高そうです。
>>481 リアルタイムに入力できるライブラリもあるんですね 勉強になります!! >>473 なんかすげえアホやってるけどos.urandomってのがあってさあ いや、わざと回りくどくやってるならいいけど 人生10回くらい必要そうだね
ウィンドウをアクティブにはできますが最前面にできません。 例えば下のやり方でfirefoxがアクティブになりますが、あらかじめその上にメモ帳を開いておくとメモ帳が手前に表示されたままです。 どうしたら最前面にできますか? AHKしか使ったことがないので端折らないで説明してもらえるとありがたいです。 import pyautogui import win32gui import ctypes from time import sleep def activate(): hWnd = win32gui.FindWindow("MozillaWindowClass",None) print(hWnd) if hWnd is not 0: win32gui.BringWindowToTop(hWnd) sleep(0.5) win32gui.IsWindowEnabled(hWnd) sleep(0.5) win32gui.SetActiveWindow(hWnd) sleep(0.5) win32gui.SetForegroundWindow(hWnd) sleep(0.5) ctypes.windll.user32.SetForegroundWindow("MozillaWindowClass",None) sleep(0.5) ctypes.windll.user32.SetActiveWindow("MozillaWindowClass",None) sleep(0.5) pyautogui.hotkey("ctrl","tab") #右のタブに移動(firefoxがアクティブになってるかの確認用) else: print("firefoxがないよ") a=activate()
あれ?インデントがなくなったので張りなおしてみます! import pyautogui import win32gui import ctypes from time import sleep def activate(): hWnd = win32gui.FindWindow("MozillaWindowClass",None) print(hWnd) if hWnd is not 0: win32gui.BringWindowToTop(hWnd) sleep(0.5) win32gui.IsWindowEnabled(hWnd) sleep(0.5) win32gui.SetActiveWindow(hWnd) sleep(0.5) win32gui.SetForegroundWindow(hWnd) sleep(0.5) ctypes.windll.user32.SetForegroundWindow("MozillaWindowClass",None) sleep(0.5) ctypes.windll.user32.SetActiveWindow("MozillaWindowClass",None) sleep(0.5) pyautogui.hotkey("ctrl","tab") #右のタブに移動(firefoxがアクティブになってるかの確認用) else: print("firefoxがないよ") a=activate()
SetForegroundWindow SetActiveWindow この二つは使わない MoveWindow
ごみん SetWindowPos HWND_TOPMOST
完全なる初心者なのですが、上達の近道としてまずは自分のサイト??を作ってカスタマイズして行くのが手っ取り早いでしょうか 一応、xserverとは契約してありますので、flaskやdjangoなどで始めようかと考えています
>>494 そもそも何を作りたいのか、なんでpythonを覚えたいのか webサイト作りたいならphpの方が楽だよ webサイト覚えつつpython・・・は正直止めたほうが良い。学習コストが高くなるだけ >>492 ありがとうございます。 最初に↓を追加 import win32con If文の下に↓を追加しました win32gui.SetWindowPos(hWnd,win32con.HWND_TOPMOST,0,0,0,0,win32con.SWP_NOMOVE | win32con.SWP_NOSIZE) エラーも出ませんが最前面にもなりません。 どこか間違ってるでしょうか? >>483 ありがとうございます。 matplotlibでSVGとかのベクター画像に書き出しってできるのですか? >>485 ありがとうございます。 os.urandom 調べて見たらPythonの乱数は標準でこれを使ってて 対応してない場合はtimeを使うと書いてるサイトがありました Pythonって優秀なんですね!! >>500 ありがとうございます。 ダイオードのパルスを検知するんですね。 >>475 さんのやってた事に似てますね。 >>466 擬似乱数だがメルセンヌツイスターなので擬似乱数の中では悪く無い方 >>503 そのようですね。 メルセンヌツイスターのアルゴリズムは僕には理解できませんでしたがw numpyとかの乱数アルゴリズムも同じものなんでしょうか? 1,1,1,1,1 とか出ても泣くなよ 完全な乱数だからこそ起こり得る だからみんな擬似乱数に頼ってる訳でね
配列があります a=[1,2,3,4,5] こいつを 12345 という数値にしたいのです いい方法があったら教えてください。
シンプルで処理の早い方法をさがしてます。 お願いいたします。
from functools import * from math import log10 a=[1,2,3,4,5] b=reduce(lambda x,y:y+x*10**(int(log10(y))+1),reversed(a)) もっといいやり方がいくらでもありそう
>>508 int(‘’.join(map(str, a))) >>511 おお、シンプルですばらしい。 ありがとうございます。 処理もforやifを使わないので早いですね。 >>510 さんもありがとうございます。 難しそうなライブラリ使ってますね。 配列の要素毎に10を掛けて桁を調整して合計してるのかな? 難しい。。。 12345 if a == [1,2,3,4,5] else a
文字列にしてから整数にすれば良いと思う。 b='' a=[1,2,3,4,5] for i in a:b+=str(i) print(int(b))
>>513 wwwww if文ってこういう表記のしかたもできるんですねw こういう表記ってなんて言うんですか? >>514 おお、ありがとうございます!! こちらもシンプルですね。 >>511 さんのコードと比較しましたが 速度はまったく同じでした。 forを使っても遅くならないのですね。 b=0 a=[1,2,3,4,5] for i in a:b=b*10+i print(b)
後置ifで、perlで初めて見た forも後置できるようなふいんきもあったがperlではそれは出来なかった
>>516 うぉおおお ありがとうございます。 速度計測したら一番早かったっす!! >>517 後置ifって言うんですか! 勉強になりました。 内包表記の様に速度が速くなったりはしないみたいですね。 C系言語で言う三項演算子だね。 condition ? A : B がPythonでは、 A if condition else B となる。 conditionが真のときA、偽のときBになる式(Expression)
疑似乱数だと 1,1,1,1 とかは出ないよな 0% 本物の乱数なら 0% ではない この違いは大きい
> 516 functools.reduce(lambda a, b: 10*a+b, [1,2,3,4,5])
cannot import name "xx" となった場合には同じ名前のファイル名を変更するとエラーがきえるようなのですが、相変わらずエラーをはいてしまいます 考えられる原因は分かりますか
>>523 ジッサイノimport文とフォルダ構成書いて あと、__init.py__はありますか youtubeのチュート見ながらコード入力してるんですが、1画面だと行ったり来たりが大変です。どうしたらいいですやろうか
>>494 なんでサイトを作る必要性があるんだよ。 何を勉強したいの? python の勉強をしたいんだろ? 初心者用の本でも読んだら? UI もやりたければ kivy とかUI が記述されてるものを読む。 サーバーサイドのアプリを作るつもり? ハードウェア乱数は回路特性や個体差による偏りを避けるのが非常に難しいので質はよくないのが一般的 暗号に使うような乱数は普通のアルゴリズムでは容易に解析されるので駄目 DESなどの暗号化アルゴリズムを通し、通す前のデータも推測が困難なものを用意しないと駄目
1234 5678 9ABC DEF_ 動かしたい文字を指定して_と入れ替える
Tkinterで画像や図形を回転させるにはどうしたらいいの? 困ってます。誰かお助けを〜
Tkinterで画像や図形を回転させるにはどうしたらいいの? 困ってます。誰かお助けを〜
>>528 ちゃんとやる気があるなら、はした金をけちらずに入門書の一冊くらい買った方がいいぞ。 >>532 >通す前のデータも推測が困難なものを用意しないと駄目 お馬鹿さんあらわる >>528 動画でやるなんて論外。 無料の教材だってたくさんあるのに。 Pythonからwindowsの電源を落としたり、スリープさせたり、復帰させる方法教えてエロい人
>>548 os.system('shutdown -s -f') >>547 510だけど正直log10は頭悪いと思った 522さんのようなことがしたかった ただ、文字列連結してint化するとか、forを回すほうが富豪的発想だと思うよ… 今朝の脳みそでやるなら sum([10**x[0]*x[1] for x in enumerate(reversed(a))]) かなあ >>551 osにはのってなかったから教えてやるぞハゲ >>550 import ctypes ctypes.windll.PowrProf.SetSuspendState(0, 1, 0) (0, 1, 0) でスリープ (1, 1, 0)だと休止 たぶん復帰は(0, 0, 0)だハゲ
>>555 そりゃわるかったなハゲ ctypes.windll.kernel32.SetThreadExecutionState(0x800000) でどうだハゲ でもスリープしてたらいつまでたっても↑のコマンド実行されないとおもうんぞwwwwハゲwwwww スリープしたら処理が全部止まるから、 time.sleepとかつかって一定時間後復帰させようとしても そもそもPythonがとまってるっていうwww だから復帰は(普通)手動しかないっていうwww 遠隔復帰させたいなら、 ポート開けておいて マジックパケット送ったらサスペンドやめるように設定しておくとかが一般的らしいっていうwww
私の使ってるフリーソフトは復帰可能です。。。 どうすればPythonでも可能になるのですか?
フリーソフトとやらでできるのなら、BIOSは問題ないようだな pypi32をインスコ ↓ win32service win32serviceutil win32event の使い方を覚える で、復帰できるようになるぞ。たぶんな。 SetWaitableTimerとかCancelWaitableTimerの使い方覚えるのは最低限必要 あと ctypes.windll.PowerProf系のどこか
ありがとうございます。 たかが復帰するだけなのに面倒くさいのですね。。。 マイコンの勉強をして指定の時間にキーボードのキーを押して復帰させるほうが簡単そうですね。。。
調べてみたらマイクロボットプッシュという商品がありました。。。
スリープ移行を抑制したいだけなら ctypes.windll.kernel32.SetThreadExecutionState(0x80000001) でできるんだがな
PC作業の自動化を考えてるのですが 節電のためにスリープにしたいのです。。。 決まった時間に復帰したいと考えてます。
教えてくだしゃあ tkinterって画像や図形を回転する事ってできます? Pillowとか使わないとできないですかね? あと、図形や画像を半透明にしたり、図形を描画する時にジャギーがかかるんですけど アンチエイリアス掛けたりできませんか? Pythonで簡単なアニメーションを作りたいと考えてるんです。。。 別のライブラリの方が適してますか?
マルチポストのことじゃないかな。 回答者は答えたのがバカみたいなので嫌う傾向がある。
マルチポストなんてしてませんがw ID:5oFsk66Qは荒らしだと思われます。 そもそも、Pythonスレなんてここともう一つくらいしかないですよ
スタックオーバーフローでも下にマルチポストって書かれててワロスwww
572 自分を顧みることすらせず 相手を荒らしと決めつけ 逆に激しく攻撃する これこそ火病 朝鮮人かこいつ
本当に困ってますのでどなたか助けていただけますと幸いです。
tkinterでフォントファイルのパスを使ってフォント指定する事はできますか? システムにフォントをインストールして使うのは嫌です!
578 mac,windows間で使いたかったけど、調べたらできないって出てきたからやっぱりいいです!ありがとう
>>575 荒らしじゃないと言い張るなら マルチした証拠をだせよバーカ URL貼りなさい 自分の書いてるコードに不安があるんですがコード晒してレビュー貰うみたいなことできるとこどこかないでしょうか
>>581 会社に勤めてプルリクして貰えば? というか動けば良くない? つまらないコーディング規約に縛られてプログラミングするなんてつまんないぼ >>581 世の中にはデバッガというしごとがあってだな つまり かねはらえ >>582 学生時代プログラミングやってましたで就職して派遣先で働いてるんですが現場の開発者が自分だけなのでレビューとかが無いんです 動くものは作れるんですが設計の際にクラス間の責任をどうするかとかこの場合どう実装するのが可読性や再利用性が良いのかとか、ある程度気にして書いてるつもりなんですが井の中の蛙のような気がしてストレス貯まるんですよね… >>586 大丈夫 世の中のSIの平均的な開発は君が思ってるより遥かに低レベルだ 文法チェックなら、各言語に、Lint みたいなツールがあるはず アプリ開発のデザインパターンは、Ruby on Rails みたいなフレームワークで学ぶ。 基本は、SASS のPartial File みたいな、各部品(コンポーネント)ごとにファイルを分割して作る そうすると、各コンポーネントが初期化される順番が難しくなるので、 設定ファイルなどで、依存性注入などを行う 各ライブラリを自分で組み立てる方法では、 全体の組み立て方がわからないため、次第に、スパゲッティ・泥団子へと発展していく 一方、フレームワークで学ぶと、先に全体像があって、そこに各部品をはめ込むため、 非常にわかりやすいし、個人による骨組みの違いがないので、プロ向き ほとんどのフレームワークが、Rails を基礎としているのは、そういう理由
>>588 毎度毎度、お前は人の話を聞いてないんだから二度と書き込むな。消えろ。 なんとなくだけど、>>588 が荒らしだしてからrubyの案件が目に見えて減少している >>590 何よりやつ自身が没落を身にしみて感じてるからだろう。最後は美しく死んで欲しいね。 a=[1,2,3] a.append([4,5]) これでアペンドできますが、リストにアペンドできるものって数字のリストだけなんですか? どういった種類があるか教えてください。 ゲームエンジンを使ってるんですが、シーンのインスタンスをアペンド出来るです。
15パズルのロジックを超簡単に教えてください 概念的なものです
まぁクソ単純な配列操作じゃね 要するに4x4の配列に1〜16までの数列割り振って16番を操作キャラとして考えて 16番を上下左右に移動させようとした時、移動先の配列が存在するかを判定 盤からはみ出さないなら移動先の配列に書かれた数字と16番を入れ替えるってのを繰り返すだけじゃね? 最初のシャッフルは16番を乱数移動で1000回くらい移動させれば破綻なく混ざると思う
適当にシャッフルすると解けないパターンあるから あくまで移動をランダムにする
BeautifulSoupでのスクレイピングプログラムを書いています。 classがhogeclassになっているaタグの中のhref値をリストに入れたいのですが、 途中で躓いているので指導してくださるとうれしいです 以下のコードを実行するとaタグの抽出までは上手くできているのですがhrefが抽出できておらず []0<class 'list'>しか返ってきません。。。 改善コードを提示していただけると助かります hogeclass_list=soup.select('.hogeclass') for i in range(len(hogeclass_list): href=hogeclass_list[i].select('a') print(href,type(href),len(href)
soup.select('a.hogeclass')
お、解決いたした 参考までに書くと aタグ自体は既に抽出できているのでその後のhref値を取り出せば良く それはhref=class_list[i].attrs['href']でいけた 実はそのURLも見てはいたんだが頭が働いてなかったみたいで今見返して理解した感じ 本当に助かったありがとうございます
質問なのですが、tkinterでコンボボックスをつくり、そのボックスにある選択肢をapple, beef, chickenとし、appleを選べば1、beefを選べば2、chickenを選べば3と表示するプログラムを書きたいのですが、どういったイベントを規定するコードを書けばいいか教えてもらえますか?
>>592 なんでもappend出来るがそれだと[1,2,3,[4,5]]になる もし[1,2,3,4,5]にしたいならa.extend([4,5]) >>606 idleはお遊び用のおまけ 不満を感じたらお前はもうVSCodeへ移行する時期だ pycharmはコミュニティ版があるのがいいね あれだけ高機能なIDEがただで使えるのはええわ
言うほど高機能か? Web開発ができなかったりとか機能削られまくってるしプラグインも使えない 所詮は客寄せの評価版だぞ professional買うならともかく、community使うくらいなら断然vscodeのほうが上や
987654って数値があった時、特定の位の数値のみを取り出したいんだけど 文字に変換しないよい方法ってありませんか?
globalでいっぱい宣言する時に長過ぎるから2行にするとエラーが出るんだけどどう直せばいいですか? global a, b, c, x, y, z c,←コイツがsyntaxエラー global a, b, c global x, y, z にするとダサい気がするから、globalを一つにまとめたい
>>619 右からn桁目を取り出したいなら mod(floor(x/(10^(n-1))), 10) >>621 ありがとうございます。 使わせていただきます。 >>620 global a, b, c,¥ x, y, z >>624 ありがとう! バックスラッシュの改行ってそんな使い方もできるのか >>621 なんか時間がかかりそうだな。 こっちの方がマシだろ。 a=9876543210 n=5 print(a//10**n%10) # 5 >>626 あくまで数式を書いたまでだよ どうPythonで実装するかは好きにしたらいい >>621 それじゃフロートになってしまうだろ。 数字1桁を取り出したことにならない。 >>621 そもそも ^ はPythonでは論理積だぞ。 べき乗なら ** 。 mod やfloor だって標準関数じゃないし。何言語を想定してるんだよ。 Python も動かせない奴が回答するなよ。 てか、>>619 程度の算数がわからんようではプログラミングなんてとても無理じゃないか?w >>631 そこはまあ超初心者用スレだから仕方ないんでない? >>622 お礼を言う方も言う方だよ。 どんな場所にいたか知らないが、このくらいは自分で確認すれば動かない事くらい解っただろうに。 世の中には詐欺師が沢山いるんだから、自分で確認したこと以外は信用するなよ。 特にプログラマーだったら。 出先の電車の中だってこんなのWebで確認できるんだから、そのくらいはいつもテスト出来るようにしてないと上達しないぞ。 皆さん、アドバイスありがとうございます。 >>626 こちらを使わせていただきます。 intを文字列に変換する処理はCのレベルで走るだろうから 素直に文字列にしてインデックスでとったほうがいいんでない?
Windows8.1にインストールしましたが 管理者権限じゃないとなぜかエディタが起動してくれません・・・
>>636 そうなんですか。文字に変換したほうが早いんですね。 >>637 インストールはちゃんと管理者権限でやったんか allusersあてにインストールできてるんか 記憶があいまいなら、一旦アンインストールして再インストール >>>>638 お前はアホか。 人の言う事を信じる前に何で自分で確認しないんだよ。 詐欺師を信用するな。 >>638 プログラムで最も危険なことは、こう書けば動くだろうと言う先入観でプログラムを書き進めていくこと。 まずは疑問に思う事は一つ一つ自分で確認していくようにしないと何も作れないぞ。 大火事になる。 ところで何歳でどんな経験があって今Python をやろうとしてるんだ? 適性と言うのもあるから、やってることが正しいかどうか人の意見を聞いてみるのもいいかもよ。 >>638 速くはないよ。 ただ、その差異が問題にならない箇所で、コードの意図を自然に明記に記述するためにあえて遅い方を選択することもある。 ケースバイケースだよ。 >>643 C言語使ったことないから知らなかったよ >>634 >>621 の沢山の間違い。 1. mod , floor は、numpy をimport しなければならない。 import numpy as np np.mod みたいに。 2. ^ は、** 3. n-1 は、n だろ。 Python ( 他の言語でも0から始まる) 流なら 0から始めるべき。 4. 全て修正しても結果が浮動小数点になり、 5.0 とか、9.0 になり、全く解答になっていない。 >>621 は正しいアルゴリズムを示した >>626 はそのPythonでの正しい実装を示した 質問者の疑問は解消した 他の連中は難癖付けて喚き散らしながら糞を垂れた 変数とプロパティは同じと思っていいんですか プロパティ=メンバ変数? あ?
>>649 >プロパティ=メンバ変数? そう >変数とプロパティは同じと思っていいんですか 違う クラス外の変数はただの変数 クラスの内部にあるのがメンバ変数 >あ? な? あくまで数式を書いたまでだよ どうPythonで実装するかは好きにしたらいい(震え声)
>>652 アルゴリズムとしても間違ってるだろ。 プログラム板で、整数と浮動小数の区別もつけないアルゴリズムなんて全く存在価値はない。 問題はある桁を取り出せなんだから、整数1桁そのものでなければならない。 そもそもPython 板で動かない数式を示しても何の意味もない。 print(str(100/10)+'1') #10.01
>>653 log10()を使って実装出来ませんかね >>655 色んな方法でできるだろうけど、質問者は文字列操作をしないでやりたいと言う事はある程度スピードを意識してるんだろうから、関数なんて使ったら遅くなる。 文字列操作でも桁数が大きくなればそれほど遅くないと思うけどな。 >>626 これ(n-1)じゃなくてnそのまま使ってるせいで5桁目出そうとして6桁目出してないか? >>658 右端を0桁目としてるんだよ。 数字の通り。 大抵の言語では0からカウントするから妥当。 Python なら当たり前。 1桁目と言うのは10の位。 0桁目が1の位。 >>662 右端を0桁目という言い方は日本語では誤解を生むから使いたくないがPythonらしい引数なら右端か左端を取り出す指定は0じゃないかね hoge='abc'でhoge.__getitem__(0)がaなんだから この辺りは定義の問題だから瑣末な問題かと思うよ まぁでも自分の課題で勝手に右端を0桁目とかたわけた定義してきたら怒るな 間違いなくw
>>664 そうか? >>626 でわざわざ誤解を招かないように、0〜9までの桁を作り回答まで出してて誰が誤解するんだろ? それが理解できなければ知らん。 ま、誤解した人もいた事実は認めるが。 日常言語とブログラム言語の世界は若干違いがある事は理解しながら話さないと折り合わないよ。 あやふやな日常言語で問題解決しようとしても、バグだらけになるのが落ち。 pythonで画像表示ッテできますか? vs code使ってるんですが、コンソールでは表示できませんよね
>>667 画像ファイルの表示ならPillow, OpenCV, scikit-imageのどれかを使う データの画像化とかならmatplotlib 動的に動かすとかならPyGame VSCodeは単なるエディタでしかないので、別ウインドウが立ち上がる ↑なるほど vscodeに拡張でもないかとおもってましたが、別のソフトと関連付けるってことですかね
import numpy as np import cv2 #画像の読み込み img = imread('gimp_kun.png', cv2.IMREAD_GRAYSCALE) opencvインストールしてこれを書いても別ウインドウ開かなかったんですが、何がだめなんでしょうか? vscode使用です 実行すると自動的に起動するのかなとおもったんですが
>>619 「位の数」で桁の位置を指定すればいいんじゃないの >>669 グラフの表示や .ipynb のインポート/エクスポートだってできるぞ 今月のSoftware Design買って読むといい beautifulsoupスクレイピングで詰まったので質問です。 現在、フォーム内の複数のinputタグ(name=で区別されている)のvalueを取得するコードを書いているのですが どのようにしてvalue値を取得すればいいのか分かりません 今抽出できているのはformのみで <input name="hoge1" value="value1"/> <input name="hoge2" value="value2"/>みたいな感じになっています。 これのvalue1のみを抽出したいです。 どなたかお助け下さい
>>669 別のソフトではない Pythonのライブラリ >>674 nameを条件に検索する場合はfindまたはfind_allのattrs引数を使え >>619 です。 皆さん、ありがとうございます。 Pythonを熟知した方でも見解が分かれるほど難しい問題なのですね。 速度を自分で計測したら文字に変換した方が早いという意外な結果になってしまいました。 >>671 一瞬しか表示されないですが、なんとなくできました >>676 ありがとうございます。 findでclass_を指定する方法とかは見つかるんですがnameを指定する方法が見つからなくて困っている状況です。 hoge=soup.find('name="hoge1"')みたいに書いてname="hoge1"という文字列で判定させる感じなのでしょうか・・・ 本当に分からないです、URLでもいいので教えてくれませんか 本当にごめんなさい >>674 input = soup.select("input[name = 'hoge1']") value = input.attrs['value'] pythonは実はよく分からないのでこれで動くか自信がないけど、 要するに input タグで name = hoge1 という属性を持つ要素を特定し、その要素から value の値を取得。 >>680 1行目のコードで [<input name="hoge1" value="value1"/>] の抽出には成功しました。ありがとうございます。 2行目は AttributeError: 'list' object has no attribute 'attrs' でエラーでした。 リスト型がattrs使えない(?)ってことでしょうか >>682 select が返すのはリスト型なんだね。 for 文を使えばいいのかな。例示のhtmlコードだとリストの中身が一つだけになる。 >>680 何度も質問すみません・・・ 1行目の文なのですが、"input"のみでinputタグの指定を意味していて その中にある[name='hoge1']で更に範囲を狭めているってことなんでしょうか これは他の場合(例えば、type="hidden")でも同じような書き方が出来るってことですか? さっきから連投でごめんなさい よっしゃあああああああああああああああああああああああああ できましたs さっきのコードでリストの何番目なのか([0])を指定してやっただけでいけました 本当にありがとうございます!!
>>684 676だけど 人の話は正確に聞き取れよ find(attrs={"name":"hoge1"}) のようにやれ Ruby, Nokogiri, Selenium WebDriver では、 doc = Nokogiri::HTML( driver.page_source ) element = doc.at_css 'input[name="hoge1"]' puts element.get_attribute "value" # 属性 #=> value1 CSS Selector では、input[name="hoge1"]。 name 属性が"hoge1" である、input 要素 doc.at_css は、最初に見つかった、1つの要素で、 doc.css なら、配列が返ってくるように使い分けるため、要注意! jQuery では、1つの要素の場合でも、常に配列が返るので、間違える事がない! 最初に、jQuery などで、CSS Selector を学ぶ必要がある。 それよりも複雑な指定は、XPath を使う
while True: ....A() ....B() ....C() ....D() 自作関数ABCDがあります。 whileで無限ループしてるのですが 関数C内部で条件を満たした時のみ関数Bに戻りたいのですが 簡単に解決する方法ってありませんか?
変数を用意して各関数が動作する条件をIF与える方法も考えたのですが、 一度作った関数を別の並び順で何度も再利用したいのでそれでは不都合が生じます。
>>691 > 関数C内部で条件を満たした時のみ関数Bに戻りたい 「関数Cから関数Bに戻る」っていうのが分からない 例示のコードだと(条件云々以前にそもそも)そういうコール関係にはなっていないよね? 逆に、条件がどうあれ「関数Cから関数Bに戻る」って基本の動作をするように書いてみるところから始めてみては? >>693 関数ABCDは順番に繰り返され、無限ループします。 例えば関数ABCDの関数はランダムで1から100の乱数を生成します。 関数Cでた生成された乱数が90以上だった場合のみ BにもどってBCD→Aと再び無限ループしたいのです。 そして、またCで生成された乱数が90以上だった場合はBに戻ってという感じでループしたいのです。 何が言いたいのかよく分からんけど 普通にBCをループ文で囲って条件を満たしてる間はフラグ立て続けてDに進めないようにすればいいんじゃないの
C()が真偽値を返すとして こういうこと? while True: ....A() ....B() ....while C() ........B() ....D()
ありがとうございます。 そんな感じのことがやりたかったのです。 これを発展させてABCDそれぞれの関数が条件を満たした時に 指定の関数からスタートする場合は簡単にはできないですかね。
関数ABCD順で無限ループしてるなかで Aに飛んでA→B→C→Dループ Bに飛んでB→C→D→Aループ Cに飛んでC→D→A→Bループ という感じです
import.random def A(): ....a=random.randint(1,100) ....return A def B(): ....B=random.randint(1,100) ....return B def C(): ....c=random.randint(1,100) ....return C def.D(): ....d=random.randint(1,100) ....return D while True: ....A() ....B() ....C() ....D() 関数ABCDをループするコードがある時に Aが90を超えたらAに戻って再びループ Bが90を超えたらAに戻って再びループ Cが90を超えたらBに戻って再びループ Dが90を超えたらCに戻って再びループ これを無限に繰り返したいということです
説明へたくそがあらゆるスレに大量に沸いてるけど何かのキャンペーンなのか?
乱数の生成とそれ以外の部分を分ければいい それが嫌なら各関数から次に実行する関数を返すようにすればいい
基本的に、次に実行する関数がコロコロ変わる場合には、決まった構造を取れないから、 次に実行する関数を、一旦、キューにでも入れた方が良いかも OS のプロセススケジューラーは、まさにそう。 赤黒木で、次に実行するプロセスの順番を管理している
>>704 わざわざコードまでいただきありがとうございます。 とても勉強になります。 gotoという便利なモジュールがあるんですね! 初めて知りました
>>708 gotoの存在を知っておくのはいいけど、安易に使うものではないことも知っておいて。 もし使うなら、gotoに関する議論をしっかり調べてメリットデメリットを理解してから使うようにした方がいい。 そうなんですか。 とても便利そうで感動していたのですが... 基本プログラムは戻るという概念はないと考えるべきなんですかね。 gotoについて調べてみます。
goto はできるだけ使わずに、continue ( break) を使う。 continue continue文は、for文やwhile文のブロック処理中に使用します。 continue文を使用すると、それ以降の処理を行わず、for文やwhile文のブロックの先頭に戻ります。 break break文は、for文やwhile文のブロック処理中に使用します。 break文を使用すると、それ以降の処理を行わず、for文やwhile文の繰り返し処理自体が終了します。
ありがとうございます。 gotoはできるだけ使わずにがんばります。
>>712 gotoモジュールはネタだから、なるべくじゃなくて絶対に使わないこと こんなかんじじゃね?(rotateは未定義) funcs = [A, B, C, D] while True: . for f in funcs: . n = f() . if n > 90: . funcs = rotate(funcs)
>>713 まじですか!? そんなやばいもんだったのですね。。。 >>714 >>703 さんの言うキューに入れるとはこういう事だったんですね。 勉強になります。 appendって2次元配列になっちゃうのでしょうか? kara=[] kara.append([1,2,3,4]) これだと2次元配列になる kara.append(1,2,3,4) ではエラー?
array=[1,2,3,4] for n in range(4): print(array[n]) これだとnに0から3までのインデックスが入るわけですよね なぜ自動的にそうなるんですか?そういう決まりなんですか? >>718 存在忘れてました vs codeがメモリ使いすぎなんですが、いいエディタないですか? idleはありますです
エディタは探し続けるしかない 俺はVSCODE使ってるわ。メモリ24GB積んでたらそれほど気にならん
ちょこちょこした事ならSublime でも良いと思うけど、IDE ならEclipse なんかどうだろう。 インストール途中で引っかかって進んでいないけど。 Pycharm も一度は試そうかと思ってたけど有料なんだろ?
eclipse + PyDev この組み合わせで出来ること。 ・コード補完 ・コードドキュメントの表示 ・インタラクティブコンソールでデバッグ ・実行時に変数の値を更新 ・条件付きブレークポイント ・例外ブレークポイント ・ブレークポイントでストップ中に、コンテキスト切り替え ・ソースコード自動フォーマット ・コードカバレッジ計測 ・コード評価(PyLint) ・プロファイリング(cProfile) ・Gitでソースコード管理(Git)
PyDevでできること ・バグで立ち往生する 二度と使うかあんなゴミ
eclipe は、長い間 java 系 の開発に使ってきたから使い続けたい。 プログラムが巨大になればなるほどありがたさがわかってくる。
eclipseはプラグイン増やすとワークスペースや本体がすぐに壊れるから、結局言語別に全て分離するのが最善であることに気付く だから統合環境としてのeclipseに固執する意味はゼロに近い 代わりにVSCodeが真にextensibleかつオープンな統合環境を実現した
find的な関数はあるんすか?ループで使うやつです
何がやりたいのかはわかりません ゲームエンジンにはあった関数なんですが
>>733 その関数の仕様を示すか、せめてそのエンジンの名前と関数名を挙げないことにはエスパー以外誰も回答できないと思うぞ。 なんちゅーか、リストの中に特定の文字が含まれるか みたいなものだと思います find関数あるんすね
>>736 inのこと? x = [‘hoge’, ‘foo’, ‘bar’] if ‘hoge’ in x: print(‘yay’) >>736 思いますって何やねん。 兎に角Python ではほとんどできない事はないからしっかり勉強すれば? 何も勉強していないで何のために質問してるの? # ‘Python’ の中に ‘Py’ が有るか? if ‘Py’ in ‘Python’ : print(‘有ったぞ’) # 有ったぞ list=[1,2,3,4,5] result = list.find("1") print(result) >>737 .find みたいな形で使うものですね ↑だとエラーになりますが もらったinのコードもなぜかリスト部分がエラーになりますが list=[1,2,3,4,5] for i in range(5): if list[i].find(1): print("hoge") これでもエラーになりますね listには属性がないというエラーです
まあ、list[i]はlistじゃないからね print(type(list[i]))してみれば分かるけど
>>737 をよくみると、「’」であるべきところに 「’」じゃないのが入ってるので、そのままコピペだとうごかない。 >>741 > listには属性がないというエラーです ちゃんとエラーメッセージ読めてる? こう出てるはずだが… Traceback (most recent call last): File "./prog.py", line 3, in <module> AttributeError: 'int' object has no attribute 'find' https://ideone.com/GZdjoF ああ、確かにリストiはリスト全体ではにゃいですね、、、
なんだと 744の通り、君が何か端折って無い限りlist[i]はintのだが
お願いだから日本語くらいは正確に読みとってくれ 落ち着いて読め 落ち着け
>>744 そうですね findという属性がリスト(intオブジェクト)にはないということですよね .findみたいな形のメソッドはないんでしょうか? >>749 ちょっと待てや、先ず何をやりたいのかはっきりさせろ。 お前の頭の中がしっちゃかめっちゃかだから 先ず自分が何を知りたいのか整理しておかないと人が書いたことも理解できないだろ。 [1,2,3,4,5] この中から、1とか2を探したいのか? >>752 したいことはリストの中に1が存在するかどうかの判定です .findという形で出来るのでしょうか? >>755 in演算子を使います。 list=[1,2,3,4,5] print 1 in list というか組み込み関数のlistを上書きすんなよー トラブルの元だぞ
for y in range(4): print(map[y].find(n)) if map[y].find(n) != -1: img[n].set_position(Vector2(map[y].find(n)*100, y*100)) ゲームエンジンにこういうのがあったんですが、このfindってpythonで言うなんですかね?後は調べます
>>760 map に何が入ってるのかわからないから何とも言えんな、 find でも出来そうだし、そんなもの使わなくても出来そうだし。 そもそもそのゲームエンジンって何だよ。 map[] が、bytearray なら、多分 find(n) だろうな。 この場合はnが含まれる位置を取り出すと言う意味。 こんにちは platformio-ide-terminalを導入してshell override
>>764 すみませんとぎれました も設定変更したのですが、左下の+をクリックしても相変わらず何も入力できない画面が出てきます input関数を使いたいのですがどうしたら良いでしょうか? list関数の目的ってなんですか? 普通のリストでいいんじゃありません?
import glob f=glob.glob(".\aaa\*") 助けて下さい。。。 上のコードでaaaというフォルダ内のファイル名を取得したいのですがうまくいきません。 フォルダ名を変えるとうまく取得できます。。。 フォルダ名の先頭が「a」だと上手くいかないのですがバグですか? それともなにか決まりがあるのでしょうか? windows環境っす。
>>769 \がエスケープされてる glob.glob(r".\aaa\*") コードの修正をしたところちゃんと取得できました。 本当にありがとうございます。
>>768 初心者は気にしなくていいよ 大人になってから気にしてね pyautoguiを使ってPCにある画像が表示されたらクリックするというプログラムを作ったのですが やたらとCPU使用率が高くなります。90%以上に… SikuliXなどを使った場合はCPU使用率は20%程度におさまります。 CPU使用率を下げるにはどうすればいいのでしょうか? https://ideone.com/T4aEJc そういうことだったんですね。 ありがとうございます。
while True: ....A() ....while True: ........B() ........if not C() break ....D()
【12日まで】500円を貰える春のばらまきキャンペーン開催中です @ スマホのApp Storeから「プリン(pring)」をインストールする A 会員登録を済ませる B 下図の通りに進む C コードを登録 [5gAYSz] これで五百円を貰えます スマホでセブンATMからお金を下ろせたり(キャッシュカード不要)便利なアプリですのでよろしければお試し下さい。 import random from numba import jit @jit def test(): ____n=10000000 ____count=0 ____for i in range(n): ________a=random.randint(1,100000000) ________b=a*2 ________cl=[] ________cl.append(a),cl.append(b) ________ch=random.sample(cl,2) ________if ch[0]<ch[1]: ____________count+=1 ____print(count) test() 封筒のパラドックスをシミュレーションしてみました。 numbaは@jitつけるだけでPythonを高速化できると聞いたんですが全然早くなりません。 私の使い方の何がいけないのでしょうか? たまに早くなるときもあるのですが、早くなる時とならない時の規則が全くわかりません。 誰が教えて〜
やっぱ出ないのがある pygame.display.set_caption のset_captionの部分は出ないのですか?
pygame_snippeterで出たわ ごめんぬ
pygame.draw.rect のrectが出ない どうやったら出るの
>>700 ft=[A,B,C,D] fn=len(ft) pc=0 while True: ....if ft[pc]()>90: ........pc=max(0,pc-1) ....else: ........pc=(pc+1)%fn if __name__ == "__main__"をサルでもわかるように教えてみてください
要はメンバ関数的なものは他からインポートしただけで実行されちゃうので、それを防ぐってことですか?
>>793 まずはその質問であなたが聞きたいことがどういうことか相手に正確に伝わるのか、客観的に考えてみてください。 次に、そんな聞き方で相手があなたに答えようという気になるかどうか、考えてみてください。 if __FILE__ == $0 # メイン処理 end Ruby で、このイディオムを使う理由は、 $0 は、Ruby コマンドで指定したファイル名(メインファイル)。 「ruby a.rb」と実行した際の、a.rb で、これは変化しない 一方、__FILE__ は、現在評価中のファイル名。 require, load で、別のファイル(ライブラリ)を読み込んだ際、そのファイル名に変わる これにより、そのファイルをテストする際に、 ライブラリ・メインファイルとして、機能を切り替えてテストできる つまり、他のファイルから、ライブラリとして読み込まれた場合は、 「__FILE__ == $0」が偽になるので、if 〜 end で囲まれた部分は、実行されない
がんばれまつもと いけいけまつもと なんださかこんなさか 生命保険のCMだと思ってたわ
クソ言語rubyは*nix文化に依存しているので初心者に取って意味が分からない記号$0などが唐突に出てきたりする。 え?知ってて当然でしょ?といった態度なのである。 また同様の理由で*nix依存のプロセスフォークコードが初心者用教材に出てきたりでwindowsユーザーから総スカンを食らって今の体たらくとなった。 rubyではpython以上にwindowsユーザーに人権はない。 rubyの凋落は約束されていたのである。
rubyはまつもとゆきひろがモルモン教徒というだけで避けるべき言語
宗教的な話をするのは止めろ 避ける理由なんて *ガイジが多い* だけで十分だろ
>>799 そういう暗黙のルールみたいなのが少ないのがpythonの良さだったが最近はpythonもそうではない。 pandasデータフレームのindex自体に特定文字が含まれていた場合、該当index列だけヒストグラムを描くにはどうしたらよいでしょうか
>>784 です。 Pythonに詳しい方、回答お願いいたします>< >>807 print(count) の下に return count を入れたらどうなる? >>809 規則に関しては全く分からんが 784の癌はrandom.sampleだ 探し方は普通にコメントアウトしたり戻したりして探しただけだ ほんの10分だ >>810 実際にnumbaを使ってコメントアウトを繰り返して自分なりの使い方を見つけるしかないのですね。 ありがとうございます。 keys = pygame.keys.get.pressed() if keys[pygame.K_LEFT]: これってなんでカギかっこになってるんでしょうか またなぜpygameとついているのでしょうか pressed関数から何か呼び出すのであればkeys.k_left とかでいいと思うんですが
知らないけど、pygame.K_LEFT は、単純な整数定数とかじゃないの? 例えば、pygame.K_LEFT が、10 なら、keys[ 10 ] になる
整数定数ってのを使うときにブラケットを使うんですか?
内部ではただの整数だけどそれだと扱いにくいから その整数に別名をつけて辞書のキーとしてアクセスしている つまり辞書アクセスのブラケット
>>807 numba が実行パスに入っていないんじゃない? 出所の分からないコードの意図をあてろとか国語の先生より酷いw
vs codeでpythonインタープリターが出てこないんですが、ただwindowsにpythonとvs codeをインストールしただけではダメなんでしょうか
その画面のselect interpreterを実行すれば、インストールされてるpythonが表示されてそれを選択すればいい pythonが表示されてないなら、おそらくpathにpythonのインタプリタへのパスかわ入ってない
ちなみにインタープリターの設定とpythonエクステンションの違いは何ですか? エクステンションだけでもターミナルでの実行はできますね
ターミナルで実行出来るのはvscodeのextensionとは全く関係なし vscode上でインタープリタを設定する必要があるのは、バージョン違いの複数のインタープリタを使い分けるため windowsは知らんけど、macとlinuxなら仮想環境を作ってそれを有効化してからコマンドラインでvscodeを起動すれば自動でインタプリタの設定をしてくれるからおすすめ
├ main.py ├ dir │ ├ sub1.py │ └ sub2.py 上記のような階層で main.pyとsub1.pyとsub2.pyに同じ外部ライブラリを複数個importしています。 importするライブラリを変更する場合 main.pyとsub1.pyとsub2.pyのそれぞれのimport文を書き換えなければならず手間がかかります。 これを1つのファイルだけ書き換えればいいようにする方法はありますか?
1つのファイルにimportするファイルを書いて、それをimportするようにすれば良いだけだよ
>>824 pygameなんですが、その仮想環境?のインタープリターを設定したら、インテリセンスが機能するようになりました この(仮想環境)とついてるpythonとついていないパイソンの違いはなんですか? 状況は正確に書いてくれないと考えてる途中で前提が覆ってうんざりする もう止めた
Windows10・WSL・Ubuntu 16.04 では、 which python3 /usr/bin/python3 file /usr/bin/python3 /usr/bin/python3: symbolic link to python3.5 つまり、python3 というコマンドの実体は、python3.5。 例えばこれを、python3.6 に切り替えたい場合、仮想環境を使う Ruby の仮想環境のrbenv(anyenv)が有名 anyenv には、pyenv(python), nodenv(node)などもあるけど、 python には標準で、venv が入っている
>>830 嘘書くなよ 違うバージョン使うなら別に実行環境構築しないとだめ venvはそこからの話で使いたいバージョンをベースに仮想環境をつくる タヒねと言う言葉は嫌いだがルーピーに使うのだけは許せる
>>829 Rubyで解答してgoingmyway import datetime print(datetime.datetime.now().year) これは モジュール.クラス.関数.? という構造だと思いますが、それぞれがどの種類であるかどうやって見分けるんですか? 見た目だけだと判断がつきにくいです またyearはなんですか?関数?
datetime.datetime.now()が返すのはdatetime.datetimeオブジェクトで、yearはその返されたdatetimeオブジェクトのプロパティです
ロリコンの何が悪いの? 人間なんて15歳くらいで出産していた歴史の方がはるかに長い
>>839 yearはメソッド以下にあるのにクラス属性になるんですか? メソッドの持ち物ではないのですか? 回答しなくていいぞ ロリコンはともかく、この質問に価値はないからな
>>842 この説明でわからないならオブジェクト指向プログラミングがわかってない証拠やな selfくんは何度も同じ事を聞いて、レスをもらったりドキュメントを提示されてるのに、それらをきちんと読まないから、もう誰も答えてくれなくなる(´・ω・`) Ruby では、class で型を表示する require 'date' p dt = DateTime.now # <DateTime: 2019-04-13T09:12:33+09:00> p dt.class # DateTime p dt.year # 2019 p dt.year.class # Fixnum
datetime.datetime.now().year たとえばこういった構造を自分で書くとしたら モジュール.pyを作って、 その中にdatetimeクラスとnow関数とイヤー属性があるわけでしょね module.py class datetime: def now(): この属性はどのように記述するんでしょうか? 変数?
idleはauto complete非対応なんでしょうか
>>851 now()がdateオブジェクトを返す dateがyear属性を持つ このプログラム言語を学んでみようかと思ったが、実行速度が遅いと聞いて、その気をなくした。
>>856 属性とはつまりどのような定義をするのですか? 変数? この板には、このプログラム言語のスレが22もある。 遅いうえに、Windowsに初めから入ってるわけではないので、会社では使えない。 それなのになぜこの言語を選ぶのか疑問。
>>857 何に使う実行速度だよ。 アセンブラでも使ってたら? >>859 あほか、入っていなくてもWebで実行できるし勉強できることも知らないのか? そもそもWindowsに標準で入っていないから使えないだなんて事務屋さんか? そんな奴がスピードだなんていうのは百年早い。 超遅いExcelやVBは平気で使ってるくせに。 >>859 なんでこんなスレ見てるんだ? C#, VB.NET, PowerShellでも使ってなよ あと会社ならOffice入ってるだろうからVBAでもいい >>862 dreaded language と言うのか。 >>859 矛盾してるな。 会社では使えないってお前個人のことをみんなそうだというように当てはめるのは根本的な間違いを犯している。 お前が知らないだけでお前がいつも使っているWindows の中でもpythonが動いていることも知らないんだろうな。 何で喧嘩腰なのかね。 普通に、遅いうえに、会社の環境の制限の問題があるのに、それでもなぜこの言語なのか理由を単純に示せばいいだけなのに。 感情的になる必要は存在しない。
理由を聞かれたら、自分の人格を否定されたように思い込む人か。
若干ネタバレ この言語を学ぶ価値や目的を見い出すための質問の成果は得られなかった。 863が示す言語もあるのに、それでもpythonだけが持つ高い価値が何かあると思ったのに。
そりゃいきなり実行速度が遅いとか言い出す人に理由示してもなんだかんだ言われるだけって容易に想像できるからな
「遅いうえに、Windowsに初めから入ってるわけではないので、会社では使えない。」 じゃあ別の言語スレに行けばいいじゃん
>>866 人が好きなものを否定する発言をしたら喧嘩ごしになる人がいてもおかしくないよ >>869 お前さんみたいな人間の質問に答えてお前さんを納得させるような回答をすることに価値や目的を見い出せなかった C♯とPythonで概ね集約やな。 個人WebでTSとPHPを浅く、 組込ぐらいは出来るようC ++多少。 以上でPCからモバイルから全カバーで充分やわ。
人が美味しく食べてるものをわざわざ嫌いだと言いに来る人がいるという漫画があったな(´・ω・`)
>>875 AmazonはJavaでディープラーニングしてるよ 1時間かけてPythonで書いて10時間計算させると人件費は1時間分 10時間かけてCで書いて一分で計算が終わると人件費は10時間分 ニートじゃない限り前者を取る エリートは両方できるようにしておく
>>877 アイス食べてるやつだよね ちょっと探したけど見つからない >>878 そりゃかなり前からdeep learning ライブラリは色々あったからそれらを使い続けてる企業も多いだろう。 しかし最新の技術を利用しようとしたらPython しか選択肢がないという事。 技術の進化が早いから昔の手法では間に合わない。 >>879 エリートは1000万で仕事請けて500万で他人に丸投げする 自分の人件費はほぼゼロ 例えば、極端な話になるが、最近 NVIDIA が、99ドルの AI 開発キットを売り出した。 ラズベリーパイと同じ位のサイズ(IO除く)でAI の機械学習ができる。 これが用意してる開発ツールがPython だけという事でもよくわかる。 昔だったら大々的に売り出す時には、何種類かの言語に対応しますとやったものだが、今はPythonだけで受け入れられるし、他でやっても非効率。
>>858 class datetime: @classmethod ___def now(cls): ________return cls(現在の時刻) def __init__(self, 時刻) ____self.yearを設定 実際にdatetimeモジュールがこうなってるかは分からんが google colab意味わかんね 読み込むためのファイル見つからないとか言いやがる どうにもならんわ
google colab、既存のプロジェクトをそのまま使うだけならアホみたいに楽だけど、 別データを使う場合はgoogleドライブとの連携がめちゃくちゃ厄介
別データとかよく分かんないけど、本に書いてある通りに夏目漱石のこころをword2vecで処理させようとしたらこころのファイルをどう頑張っても見つけてくれない
ロジックはどの言語でも似たようなものですか チュートリアルがとある言語では少ないので、別の言語でロジックを学んだり
Pythonでホームページを作りたいと考えてます HTMLを覚えようと思ったのですが挫折しました。今流行りのディープランニングで機械学習させて 自動的にHTMLを吐き出させたいのですがやり方がわかりません おすすめのライブラリとか教えてください
>>895 ホームページを作るのにHTML 位は使えないとどうしようもないぞ。 全部覚えようとするから挫折するんだよ。 Hello World 程度で最初は十分。 自分が作りたいものが見えてきたらおいおい調べれば良い。 学習させたデータにさらに他の学習させる方法はありませんか
>>898 他サイトのHTMLをディープランニングさせて イラストレーターなどでレイアウト画像を作ったらそのとおりのhtmlとcssを 自動生成したいと思ってます Pythonもまだ初心者なのでご指導お願いします >>900 そんな途方もないもの作る間にHTMLとCSS覚える方が1,000倍速いぞ ってかHTMLを覚えるのに挫折した奴に作れるとは思えん >>900 ディープラーニングは自分の願ったことを何でも簡単に実現してくれる魔法の箱(またはドラえもん)じゃないぞ。 ディープランニングはデータが沢山あれば何でもできるとききました それは間違いですか?
ディープラーニングをディープランニングと書いている時点でもう無理
なんでもできると言っても早さで言ったらHTML覚えてサイト作るほうが確実に早いと思う 1兆ページ作るなら話は別かも知れないけど
>>904 > ディープランニングはデータが沢山あれば何でもできるとききました > それは間違いですか? 何でもできると言った奴に聞けよ >>900 発想はいいね 機械学習向けの良い課題だ 一方でIllustratorのデザインからHTMLとCSSを作成するのはMac限定で有料だけども既に存在するので仕事ならそれを買うべし 趣味や研究なら、まず入力となるデザイン画像と出力となるHTMLとCSSをひたすら集めて、次に機械学習のモデルを開発して機械学習をする 肝心なモデル開発は専門家にお願いした方がいいと思うけど、一から自分でやりたいなら数年は勉強する覚悟が必要かな >>900 他サイトのデータを集めてディープラーニングさせるのが目的だったら、まずはそれだけに集中すること。 最初から何もかもやろうとしたら多分自分の頭がパニックに陥る。 まずはデータ集めだな。Web スクレイピング python で検索 >>909 自分が機械学習を理解できないからといって他人もそうだとは思わないこと なんともうすでにやってる人がいるんですね 趣味と仕事両方を兼ねてやりたいですね、自分で 機械学習のモデルっすか!?既存のライブラリじゃできないのでしょうか? サイキットラーンとかケラスとかいろいろあるじゃないっすか。。。
>>910 言ってる意味がわからん、質問者の機械学習が画像だと思ってるの? 本人にしかわからん話だろ。 スクレイピングは難しそうなので手動で1000サイトくらい集めようと思ってます
スクレイピングするには結局HTMLを理解しないとだめですよね。。。
>>911 scikit-learnやkerasは作るための道具という位置付けで、作りたいなら使いこなすことが必要 調べてみると既にpix2codeというアルゴリズムがあって、それをkerasを使って実装したScreenshot-to-codeというオープンソースがgithubにあった おめでとう、あなたのやりたい事はちょっとしたpythonの知識とgithubの知識で実現できるようです そうなんですね Screenshot-to-codeを使えばHTMLのスキルは不要になるんですね これで念願のホームページがもてる
どうだ、俺がpythonで書いたAI釣り師は? ディープラーニングでお前らの質問・反応・煽りパーターンは学習済みだ
>>918 あと釣り宣言とか頭の悪さまで学習したのかw 言語の違いは大した問題ではないですか? pythonだとチュートが少ないものがあります
Pythonでチュートリアルすくないってwwww 英語アレルギーで 1バイト文字見かけると死ぬ病気にでもかかってんのかwww
>>917 あのさ、プログラムを志すんだったら、HTML なんて初歩の初歩だから知ってて当然なんだぞ。 全てを覚えようとしなくて良いから毛嫌いしないこと、使えばわかる。 心配しなくても 「(クレンジングもできてない)データを学習器に突っ込んでフィッティングしてみた。 よく分からないけど望んだ結果が出ていないことは分かる。 ここからどうすればいいか見当がつかない」 で終わるから好きにやるといい ここまでは素人でもできるが、この先は素人には不可能
>>924 html って初歩の初歩なのですか?クライアントからいただいたパスに書いてある内容を、まったくパースせずに丸投げしているだけで動いていることになるだなんて、なんか変じゃないですか? ここでいう素人は情報系の4大を出てない人を言っている 素人でもやれる奴はいるが、まあ稀 ジャンボ宝くじで1000万円引くより希少だろう
情報系に院へんにゅーしたひとは素人なの? そうじゃないの???
ホムペ持ちたいだけなら Jimdoでググレカス 今なら日本語で写真(スクリーンショット)たっぷりのハウツー本も出ている
お金かかりますやん 無料だと削除される可能性高いし
self野郎とhtmlksは出禁にしないかこのさい
削除の心配してるあたりアダルト系だと思うけど 自分でサイト構築した場合はホスティング業者の規約で削除をくらうわけで、ホムペ作成サービスに比べて有利ってこともない ほとんどのホスティングサービスはアダルトデータ公開禁止だから
>>926 なんか思い込みが激しいな。 HTML が初歩の初歩というのは、自分でHTML 位書けて当たり前という意味なんだけど、どこから丸投げだなんて話になるのわからん。 その辺のおばちゃんでも直ぐにHTMLくらい書けるようになるぞ。 >>922 英語だと結局ロジックの理解が出来ないのです >>940 ペラペーラジャ無くても、読めないと進まないよ。 プログラムやるなら覚悟しないとな。 でも単なる専門用語だけだし、簡潔なものが多いから難しく無い。 専門用語は日本語でも英語でも同じ。 わからないと言ってるやつは多分日本語の説明を見てもわからない。 >>940 日本人の特徴なのか、完璧に読めないと。。。って人多いかもだけど、プログラミング自体言語のキーワードが英語が多いし、 変数や関数の名前を英語辞書引きながら英単語で書いていけば、単語だけは一般的な日本人より相当覚えてるわけで、 洋書に書かれてる単語から、自分の知ってる単語をピックアップして意味を考えて(専門書であることも加味して)考えればニュアンスは読み取れるもんよ。 完全に理解は出来なくても、少しでも情報を得られるし、得ようとする気持ちが大事なのかも知れん。 雑談と観光案内しかできない程度のスピーチ力だが 読むのはぐぐれるからもそっといけるぞ
英語もできてイケメンでプログラミングもできるお前らが羨ましいよ 俺はPythonでやっとハローワールドを表示させられるようになったレベルだから…
>>944 おめでとう、直ぐに魅力的な誘惑を共有できるようになるよ。 >>942 > プログラミング自体言語のキーワードが英語が多いし、 プログラミングって言うかIT系の英単語って結構一般的に使われる意味と違う意味で使われてるから逆に面倒だったりする install が就任するとか思い付かんしネットワークで使われるpromiscuous modeなんて普通の意味だと人前で使えないしw >>947 それはある。 最初ググル翻訳使ってたけど、かえって分かりにくかった。 >>947 ある送信元から出た H/L レベルは、それが物理的につながっているのならどの受信部でも全部見えちゃいますからね…でも今は SSL を咬ましているのが普通だから接続先しかわからないんじゃないかな… >>947 >promiscuous mode なにこれやばいw マウスがちかごろねずみじゃなくてパソコン部品 そういやプログラム覚えたての頃は forで引っかかったな 「〜のために」 何のために僕はプログラムを・・・と頭によぎっていた
この問題文をChrome翻訳してみたんだけど・・・意味分からんから実行結果からコード書いた こういの文書も英語分かれば大したことないのかな https://codingbat.com/prob/p195669 リスがパーティーに集まるとき、彼らは葉巻を持ちたいです。葉巻の数が40と60の間であれば、 リスパーティーは成功します。週末でない限り、その場合、葉巻の数に上限はありません。 与えられた値を持つパーティが成功した場合はTrueを返し、そうでなければFalseを返します。 >>952 問題文がリスのシガーパーティなのはあっちの笑い?のセンスだからどうにもならんので 実行結果例を先に見てみるのはただしいことだとおも >>952 英語の意味を正しく理解しないとコードも正しく書けなさそう Chromeの翻訳では between 40 and 60, inclusive を40以上60以下と訳してくれていないし Unless it is the weekend, in which case there is no upper bound 週末以外は上限がなくなるような日本語訳だが、whichはweekendを指してin weekend case になる つまり週末には上限がなくなる、と言いたいんだ 意味が反対になってしまっている… 文学的な文章なら解釈も千差万別なんだろうけど プログラムの仕様って理論的に書いてるだろうから機械翻訳も簡単だと思いこんでたわ
スクレイピングは、Ruby, Nokogiri, Selenium WebDriver が定番 Ruby on Rails, Sinatra でも、Node.js は必須。 webpack, babel とか Ruby にはGUI が無いから、GUI として、 HTML, SASS/CSS, JavaScript(JS), jQuery は基礎 今のJSは、ES2015 とか、Vue.js とか CSS Selector は、Nokogiri, jQuery で学ぶ
perlでやっていた置換を、Pythonのワンライナーでやってみた まぁ、常用するにはimportがめんどくさいな
実際にプログラム作ったとしてそれをWEBアプリにする方法が分からない 分かりやすく解説してるサイトとかない?
>>959 import cgi あたりで作例ぐぐれ >>959 flask を使え、 >>960 cgi は古いんじゃない。Apache で動かすならmod_wsgi >>963 ごめん、Pythonia ってなんのこと? Pythonista ならわかるが。 なんか支離滅裂な分裂症だな ワシントン条約で保護された生き物は総じて高額ってことだろ おめでとう
すません。Python初心者です。 変数"a1"から変数"a1000"までの変数を作りたいんだけど、 一つ一つ宣言する以外に方法はないのでしょうか? 初歩的な質問で申し訳ない。 教えてください。
>>966 for i in range(1, 1001): ____exec(‘a{:d}=0’.format(i)) >>967 すばやい回答感謝いたします。 exec 初めて見ました。ありがとうございました。 >>970 アドバイスありがとうございます。 >>971 sklearnの学習モデルを1〜1000の変数に当てはめたいと考えております。 1000個のモデルで多数決を取りたく考えてます。 リストで実現する事は可能でしょうか? >>972 出来ますよ。 むしろ、そう言うことするためのリストですし。 >>974 そうなのですね。 リストの使い方を理解していなかったようです。 ありがとうございます。 MSDNこそC++である リストこそプログラミングである という格言があるのでメモ帳にメモっとくと良いです
7行目ですが、エラーの内容はほぼ同じです。 管理画面には入れるけど、サイトが閲覧できない状態です Error during template rendering In template /storage/emulated/0/mysite/blog/templates/blog/post_list.html, error at line 7 Reverse for 'create_article' not found. 'create_article' is not a valid view function or pattern name. 1 <html> 2 <head> 3 <title>my blog</title> 4 </head> 5 6 <body> 7 <a href="{% url 'blog:create_article' %}">記事の作成</a> 8 {% for post in posts %} 9 <div> 10 <p>date: {{ post.created_date }}</p> 11 <h1><a href="{% url 'blog:article' post.id %}">title: {{ post.title }}</a></h1> 12 <p>{{ post.text|linebreaksbr }}</p> 13 <hr> 14 </div> 15 {% endfor %} 16 </body>
create_articleがないとエラーで言われてるじゃん その名前の関数がないんじゃないの
そのままだね。エラーメッセージも読まないで質問するのはダメだろ。 エラーメッセージを考えたそぶりすら見えないし。
やっぱし英語力なんじゃねえの マジなに書いてあっか分かってねえじゃん 英検四級とかそれくらいは最低限必要って言ってやれよ
YES → 【ヒットした?】 ─ YES → なら聞くなカス / \ 【検索した?】 NO → なら、諦めろカス \ NO → ふざけんなカス
Rails とか、フレームワークの質問は、WebProg 板だろ こんな超初心者用のスレではない!
>>990 ここはクソ言語rubyのスレじゃねぇんだよ死ねや PandasでCSVファイルを読み込んだ時、 Columnsで使えない文字って何がありますか?
どのエンコーダでしょう? いくつか試してみたところ、下記の通りになりました 使える文字:()/- 使えない文字:全角文字
read_csvの引数でエンコード指定すれば全角もいける
mmp2
lud20190623145011ca
このスレへの固定リンク: http://5chb.net/r/tech/1552884175/ ヒント: 5chスレのurlに
http ://xxxx.5ch
b .net/xxxx のように
b を入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「くだすれPython(超初心者用) その42【Ruby禁止】 YouTube動画>3本 ->画像>49枚 」 を見た人も見ています:・くだすれPython(超初心者用) その40 ・くだすれPython(超初心者用) その45【Ruby禁止】 ・くだすれPython(超初心者用) その44【Ruby禁止】 ・くだすれPython(超初心者用) その41【Ruby禁止】 ・くだすれPython(超初心者用) その43【Ruby禁止】 ・くだすれPython(超初心者用) その48【まず1嫁】 ・くだすれPython(超初心者用) その49【まず1嫁】 ・くだすれPython(超初心者用) その47【Ruby禁止】 ・くだすれPython(超初心者用) その39 ・くだすれPython(超初心者用) その38 ・くだすれPython(超初心者用) その37 ・くだすれPython(超初心者用) その29 ・くだすれPython(超初心者用) その19 ・くだすれPython(超初心者用) その32 ・くだすれPython(超初心者用) その31 ・くだすれPython(超初心者用) その33©2ch.net ・くだすれPython(超初心者用) その50【まず1嫁】 ・くだすれPython(超初心者用) その52【まず1嫁】 ・くだすれPython(超初心者用) その51【まず1嫁】 ・くだすれPython(超初心者用) その35 [無断転載禁止] ・くだすれPython(超初心者用) その34 [無断転載禁止] ・くだすれjavascript(超初心者用) その1 ・くだすれDelphi(超初心者用)その55 ・くだすれDelphi(超初心者用)その54 ・くだすれDelphi(超初心者用)その56 ・くだすれDelphi(超初心者用)その57 [無断転載禁止] ・くだすれDelphi(超初心者用)その58【Embarcadero】 ・くだすれjavascript(超ウルトラ初心者用) その1 ・くだすれDelphi(超初心者用)その16 ・くだすれFORTRAN(超初心者用)その6 ・くだすれC++Builder(超初心者用)その5 ・くだすれAjax(超初心者用) ・くだすれC++/CLI(初心者用)part2 ・Python初心者スレ ・Python3を勉強中の初心者ですが ・【IT】TensorflowやPythonの基礎が学べる――初心者向け「AIプログラム学習キット」が発売 [無断転載禁止] ・■初心者用リモートデスクトップ専用すれっど■ ・【初心者用】パズル&ドラゴンズ【パズドラ】★116©2ch.net [無断転載禁止] ・初心者用の絵スレ ・UWSC初心者用スレ ・俺、パチ初心者用質問スレ11本目 ・Google AdSense 超初心者スレ 8 ・【初心者用】マイニング情報交換スレ36 ・【初心者用】マイニング情報交換スレ60 ・Google AdSense 超初心者スレ35 ・【初心者用】マイニング情報交換スレ52 ・Google AdSense 超初心者スレ23 ・ふらっと C#,C♯,C#(初心者用) Part144 ・【初心者用】マイニング情報交換スレ34 ・【初心者用】マイニング情報交換スレ45 ・【初心者用】マイニング情報交換スレ37 ・ふらっと C#,C♯,C#(初心者用) Part136 ・ふらっと C#,C♯,C#(初心者用) Part138 ・ふらっと C#,C♯,C#(初心者用) Part139 ・ふらっと C#,C♯,C#(初心者用) Part146 ・ふらっと C#,C♯,C#(初心者用) Part141 ・ふらっと C#,C♯,C#(初心者用) Part132 ・【エスパー】超初心者の質問に答えるスレ1028 ・[エスパー] 超初心者の質問に答えるスレ213 ・[エスパー] 超初心者の質問に答えるスレ238 ・超初心者のための質問スレッド★アンプ編 46★ ・モンスターストライク脱・超初心者スレ44 ・超初心者のための質問スレッド★アンプ編 42★ ・【新エスパー】超初心者の質問スレ25【世界樹出禁】 ・PC買いたいPC超初心者に色々教えて欲しい・・・ ・超初心者のための質問スレッド★スピーカー編 67★
13:10:55 up 5 days, 23:35, 0 users, load average: 7.76, 8.34, 8.71
in 0.048842906951904 sec
@0.048842906951904@0b7 on 121803