くだすれPython(超初心者用) その42【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/18(月) 13:42:55.36ID:+MPRGO7m
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その41【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1549282930/


◆PythonのHome Page
http://www.python.org/

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

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
2019/03/24(日) 23:18:14.51ID:9O9Vp0iS
>>272

引数に self と書く必然性は?
2019/03/24(日) 23:19:28.32ID:9O9Vp0iS
>>232
>Pythonインタープリタは、そう実装されているってだけ


先ずはその仕様を変更しろ
2019/03/25(月) 00:04:18.17ID:3q1td1jR
クロージャって何がいいの?
http://mevius.5ch.net/test/read.cgi/tech/1415419907/261
261 デフォルトの名無しさん sage 2014/12/15(月) 23:02:52.91 ID:BuhXHDiL
さらに言えば、Rubyのブロック変数のスコープの扱いが1.9で仕様変更されてるけど、
それについてmatz自身が

> それは、Rubyが最初から関数型言語としてスタートしてないからであって、言語が違うからですよね。

と語っているね


http://www.atmarkit.co.jp/news/200907/24/ruby.html
2019/03/25(月) 00:11:34.45ID:Cuu19DCp
>>280
>>238でpython設計者が語っている。正直良くわからん

>>281
開発者に良いなよ。普通に意見出来る場があるぞ?
ここで言っても何も変わらないよ?
http://neopythonic.blogspot.com/
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
2019/03/25(月) 00:49:10.28ID:gQLXATRQ
このサイトに書いてあるsqlalchemyの使い方について教えて欲しいんだけど

user = User('hoge')

db.create_all()

の所について誰か分かる?
sqlalchemyは全くの初心者
とりあえず自分でsqliteのdbとテーブルを手動で作ってから始めるのかな?

https://www.smartbowwow.com/2018/07/flaskdbsqlite-sqlalchemy.html?m=1
285デフォルトの名無しさん
垢版 |
2019/03/25(月) 01:26:03.22ID:25q5twYk
>>237

> >>236
> >メソッドの引数にする意味はないと思うけど。(他の引数と一貫性を保つ為?)
>
>
>
> それな
> 開発者は、次回には直しとけよ

>>243

> >>237
> いあ、個人的にはメソッドの引数からフィールドを生成または使用してるのが分かって便利だから残してて欲しいが。
2019/03/25(月) 01:35:57.61ID:NiC3aEm8
個人的な意見を言われてもねえw
2019/03/25(月) 03:12:34.36ID:SOhENsRU
>>279
Cにはクロージャの概念は無いよ。
毎度毎度、rubyしか分からない(それすらちゃんと分かってるか怪しい)のに他の言語のスレにわざわざ出てきて無理矢理ruby推ししては、頓珍漢なことしか言えないのだから二度と書き込むな。
2019/03/25(月) 03:52:06.06ID:VCx1LmIq
C言語でクロージャを実装すると
https://pineapple.blog/c%E8%A8%80%E8%AA%9E%E3%81%A7%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%81%A8-535e0a5afd36

struct make_plus_n_context_t {
int _n;
int (*_func)(const struct make_plus_n_context_t *, int);
};
typedef struct make_plus_n_context_t MAKE_PLUS_N_CONTEXT_T;
2019/03/25(月) 05:03:23.28ID:M3aMg8kF
pandasのread_csvで列名「size」のデータを読み込んで利用したいのですが、うまく行きません。
usecols=['size']と指定しても
df.sizeだと要素数が出てきてしまうし
df.rename(colms=['size':'_size'])とした上で
df._sizeを見ようとしても
object has not attribute '_size' のエラーになってしまいます。

size列は位置が変わる可能性があるので、
できれば列番号ではなく列名sizeを指定して読み込みたいです。
良い方法はないでしょうか。
290289
垢版 |
2019/03/25(月) 05:38:00.91ID:0OHWqjaj
自己解決しました。
https://teratail.com/questions/149045
上記ページを参考に
col = df.columns.values
col[size列を読み込んだ場所] = '_size'
df.columns = col
とした上でdf._sizeを見たらOKでした。
291デフォルトの名無しさん
垢版 |
2019/03/25(月) 05:43:57.44ID:M0EtypdC
結局、インスタンス変数にselfをつけると、クラス内で共有できるよという
そういう仕組なんだよってことどすか?
2019/03/25(月) 06:51:32.25ID:SOhENsRU
>>288
そのリンク先にも書かれている通りCには文法的にクロージャは無くて、クロージャもどきを実装するやり方が書かれているね。
だから>>279でクロージャとスコープの関係の議論にCを持ち出すのは頓珍漢だと思うよ。
293デフォルトの名無しさん
垢版 |
2019/03/25(月) 08:05:46.84ID:25q5twYk
>>286
rubyだと、どのメソッドでフィールドが使われてるかはクラスの全メソッドチェックしないと分からないけど、
pythonは引数にselfがあるか無いかで判断出来るんだから、立派な優位点だと思うけど。。。
規模大きくなってツール作った時、省けるチェックがある分、速度的にも優位だし。
2019/03/25(月) 08:59:23.51ID:Y6FhyNNn
トランプじゃなくても
this is a country where we speak about python not rubyyyy
って言いたくなるわ
2019/03/25(月) 12:02:16.14ID:WvC7Th65
>>284
Djangoもそうだけど、基本的に自分でSQL文を叩く必要はないよ
端末2つ開いて片方Pythonシェルでモデル操作しつつ、もう片方でSQL文でデータベースに行われる操作を確認すると良い

Flask+SQLAlchemyならここのblogを順を追って行くのが良いと思う。その拡張版であるオライリー本に行くのも良い
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
https://www.amazon.co.jp/dp/1491991739/
2019/03/25(月) 12:22:46.15ID:7aW5s/71
>>291
はい
そういう仕組みです
2019/03/25(月) 15:09:33.90ID:limoBn15
multiprocessingで子プロセスを作成しています
子プロセスでエラーが起きた場合に親と子の両方を終了するにはどうしたらいいのでしょうか?
2019/03/25(月) 16:06:05.01ID:OMoEyPHb
>>297
kill children あたりのキーワードで スタックオーバーフローとか検索
たぶん誰かが書いてくれたそーすみっかる
2019/03/25(月) 17:51:52.14ID:HtPR7z5p
webkit2+gtk3でepubビューアを作ってるものですが、

javascriptでのスクロール量計測は諦めて、webkit2webextensionを使おうと思って、

WebKit2WebExtension.WebExtensionInitializeFunction(WebKit2WebExtension.WebExtension)

とやったのですが、
raise NotImplementedError(info)
NotImplementedError: gi.CallbackInfo(WebExtensionInitializeFunction)

と出てしまいました。pygobjectにはWebKit2WebExtension.WebExtensionInitializeFunctionはまだ実装されていないのでしょうか・・・
https://lazka.github.io/pgi-docs/index.html#WebKit2WebExtension-4.0/callbacks.html#WebKit2WebExtension.WebExtensionInitializeFunction
ここにはこの関数がありそうなことが書いてあったのですが。
これも使えないんじゃ現在スクロール位置を記録することができなくて詰んでます。
2019/03/25(月) 17:58:47.42ID:OMoEyPHb
scrolling increment Python で検索はもうしてる?
してたらすまん >>299
2019/03/25(月) 18:03:21.34ID:q9d2kUIu
>>298
ありがとうございます!
302299
垢版 |
2019/03/25(月) 18:15:05.51ID:HtPR7z5p
>>300
レスありがとうございます。tkinterのページがたくさん引っかかったのですが、
最大の問題はwebkit2がスクロールを自分で管理していて、webkit1のように
gtk.scrolledWindowで管理できない点にあるんです。
こちらのプログラムを参考(というか改竄している)にしているのが、この作者の方も
webkit2でのスクロール量の計測ができずにwebkit2にマイグレートできずにいるようです。
ここのサイトにリンクがあるC言語の場合の解決方法を参考にpythonで書いてみたのですが、
https://github.com/michaldaniel/ebook-viewer/issues/34
(ここの4つ目のレスのmarkerというソフトの作者の方の例です。)
299のエラーに遭遇してしまいました。大人しくCで作ったほうがいいのかもしれませんが。。。
2019/03/25(月) 18:33:28.75ID:OMoEyPHb
>>302
どこからかぞえて4つめのレスかちょっと迷ったw
このひとはCでやってんね。。。 > Markerの中の人
2019/03/25(月) 18:36:40.66ID:OMoEyPHb
>>301
キーワードに python とか pyとか足した方が
より絞られていいとおもった

どうしてもみつからなかったらまたレス頂戴
2019/03/25(月) 19:02:16.61ID:NiC3aEm8
キーワードはRWBY
306172
垢版 |
2019/03/25(月) 23:30:26.62ID:mW0SiMKO
参考までに、Ruby で、Selenium WebDriver なら、
>>172-186
に書いたように、execute_script で直接、JavaScript の命令文(文字列)も実行できる

ある要素までスクロールしたいとき
driver.find_element(:id, "ID").location_once_scrolled_into_view

jQueryでスクロール位置を取得・設定する:scrollTop()
https://uxmilk.jp/44962
2019/03/25(月) 23:33:43.08ID:Cuu19DCp
>>306
スレタイも読めない盲
2019/03/26(火) 03:14:40.29ID:1kIcDK5U
>>306
javascriptすげー
java製のseleniumすげー
呼び出すだけのキツネpubyダセーwww
呼び出すだけのドライバーですらシェア・メンテ更新頻度python, nodeに負けてるオワコン言語クセーwwwww
2019/03/26(火) 07:33:35.84ID:J/Egb0cy
pip install で語尾に --user を打ち込まなければエラーになってしまうのですが、何が原因でしょうか?
2019/03/26(火) 09:52:11.59ID:eH+Jt2CY
Pythonのタートルグラフィックスについて質問です
描画する時に亀や矢印のアイコンを消す方法ってありませんか?
2019/03/26(火) 09:57:36.02ID:zQ/2ZPon
>>309
OSはなによ
2019/03/26(火) 10:04:47.93ID:zQ/2ZPon
>>310
shapesize(0)ってできたっけか
2019/03/26(火) 10:07:14.39ID:eH+Jt2CY
>>312
shapesize(0)にするとエラーがでるようです。
2019/03/26(火) 10:16:00.50ID:zQ/2ZPon
>>313
おk把握
ペンサイズを書いた次の行で
.pen(shown=False)
2019/03/26(火) 10:18:39.27ID:zQ/2ZPon
※shapesizeは1でも10でもエラーの出ない数値を適当に。
2019/03/26(火) 10:21:07.20ID:eH+Jt2CY
>>314
ありがとうございます!!
できました!!
2019/03/26(火) 10:25:06.95ID:UfRqjq8x
>>309
エラーになるときはそのエラー貼ったほうがいい

pip install --userでエラーが起きなくて、pip installでエラーが起きるなら、管理者権限が無いってのがよくあるパターン
2019/03/26(火) 11:00:06.11ID:J/Egb0cy
>>311
windowsです。

>>317
了解しました。
後ほど貼ります。
2019/03/26(火) 11:03:41.58ID:zQ/2ZPon
>>318
Windowsにもいろいろあるだろゴルァ

まぁWindows系なら>>317でFAだろうから
ずっと--userでがんがれ
320デフォルトの名無しさん
垢版 |
2019/03/26(火) 11:28:16.84ID:nByXF8Wp
スライドパズルゲームでマスを入れ替える仕組みの概念を教えてください
まず、マスは2次元配列だと思います



黒いマスがプレイヤーだとして、上を押したときに上のマスと場所を入れ替えたい場合、単に配列の場所をイジイジしてやればいいだけですか?
セオリーがあったらおしえてくだひゃい
godot野郎です
2019/03/26(火) 12:20:57.70ID:uoYW3oSf
>>320
「スライドパズル ソース」
辺りで検索すれば色々出てくるよ
322デフォルトの名無しさん
垢版 |
2019/03/26(火) 17:26:56.08ID:nByXF8Wp
はい
2019/03/26(火) 18:10:27.60ID:GqgfEj+C
はいじゃないが
2019/03/26(火) 18:37:32.42ID:nVClNZVc
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が出力されます 使い方間違ってますかね?
2019/03/26(火) 18:57:37.30ID:zQ/2ZPon
>>324
インデントが崩れてるから>>1読んで

input_cards.index("0") すると 0がかえってくるので
そいつをifするとFalseだ
なにもおかしくはない
2019/03/26(火) 19:07:43.71ID:zQ/2ZPon
input_cards = ["0","10"]  って行を
input_cards = ["10","0"] にかきかえてためしてみ
2019/03/26(火) 19:19:23.35ID:NbUyZWCM
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 41084
https://you-can-program.hatenablog.jp
2019/03/26(火) 19:47:02.20ID:uoYW3oSf
>>327
はてブロに貼り付けてもいいけど広告費は払うなと報告しておいた
2019/03/26(火) 19:57:22.89ID:zQ/2ZPon
>>328
327のURLが怖くて踏めないチキンなんだ (´・ω・`)

はてブのどこになんて報告したらいいのかkwsk

はてブのガイドラインの広告については↓
ttp://help.hatenablog.com/entry/guideline#%E5%BA%83%E5%91%8A%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E7%A6%81%E6%AD%A2%E4%BA%8B%E9%A0%85
はてな自体のガイドラインは↓(6条めが禁止事項)
http://www.hatena.ne.jp/rule/rule
2019/03/26(火) 20:08:38.35ID:nVClNZVc
>>325-326
0番地に存在が有りなのでifがTrueを返すと勘違いしてました
逆に存在がない場合エラーになるのでindexが使えないことが分かりました
ありがとうございます
2019/03/26(火) 20:14:05.50ID:5xjl/lcy
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
2019/03/26(火) 20:16:09.75ID:UfRqjq8x
型アノテーションってみんな使ってるのかね
関数とかメソッドの引数と戻り値だけは、docstringに書くようにはしてるけど
2019/03/26(火) 20:31:22.97ID:zQ/2ZPon
まだ2系メイン()だからつかってなーい >>332
2019/03/26(火) 22:05:18.14ID:uoYW3oSf
>>329
仮想PC、シークレットモード、携帯、携帯のシークレットモード
幾らでも踏めるぞ

広告は適当に報告刷れば良い
効果があるかどうかじゃなく、どれだけムカついたかを報告するんだ
俺は本気で腹が経ったら採用情報からでも報告する
2019/03/26(火) 22:12:31.53ID:zQ/2ZPon
>>334
>仮想PC、シークレットモード、携帯、携帯のシークレットモード
事前に匿名串とおしておかねばならないではなりませんのー :((´゙゚'ω゚')):

>てきとうにほうこく
なるほど
不快でした で おkなのね
2019/03/27(水) 00:44:32.46ID:rrMaR+Vk
おまいら、GUIライブラリはなに使ってますか?
おすすめがあったら教えてちょんまげ
2019/03/27(水) 01:09:39.58ID:9hz+VTYt
pygame
2019/03/27(水) 01:17:22.05ID:rrMaR+Vk
おお、トンクス
でもそれ開発終了してない?
2019/03/27(水) 08:48:24.38ID:o7BNT+Yv
とりあえず動けばいいならtkInter
普通のアプリ並みの見た目が必要でWinで動けばいいならC#とかで書いて裏でPythonを呼ぶ
綺麗な見た目が必要でクロスプラットフォーム、かつ非商用ならPyside、商用ならPyqt、ただしどっちもデプロイは面倒
デプロイが楽でクロスプラットフォームならGUIはブラウザでやるのがいいけど、フロント系の知識がいる

Pygameは一枚のカンバスにぐりぐり描く用途なら今でも使える、ただしGUI部品はないしイベントの扱いが原始的なので、用途は限られるかな

wxPythonは立ち位置的に使いどころがない
2019/03/27(水) 09:05:22.74ID:rrMaR+Vk
そうかトンクス!!

一番簡単なのはtkInterかな?
とりあえず動けばいいのでtkInterやってみっかな

C#でGUI作って裏でPythonなんてこともできるんだ!?
IronPythonとか使うって事?

KivyとwxPythonを勧めてるサイトがあるけどあかんのか〜
wxPythonはなんであかんの?
2019/03/27(水) 09:20:35.05ID:o7BNT+Yv
tkInterはいいぞ、最初から入ってるのが大きい。
C#云々は単にC#でGUI描いて、ボタン押したらPython呼び出すとかそんな感じ。
wxPythonは機能的にtkInterと差がない。そして最近は触ってないけど以前は環境によって描画が崩れやすかった。あえて使う理由が見当たらない。
2019/03/27(水) 09:30:19.99ID:rrMaR+Vk
なるほど。参考になった。
tkInterやってみるわ。
wxPythonはあかんのね。
2019/03/27(水) 10:15:24.09ID:EKdxkz2E
wxPythonいまもつかっててtkつかえない俺が通ります

wxPythonは今も
Windows10やMacだと、それ以外のOSでちょうどよく作った表示がはみ出まっす
2019/03/27(水) 11:13:06.82ID:pSnMtI3a
>>343

そうかトンクス!!
そうかトンクス!!
345デフォルトの名無しさん
垢版 |
2019/03/27(水) 11:21:56.96ID:fGhoQOHP
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 のような言語です
2019/03/27(水) 11:33:38.66ID:EKdxkz2E
>>345
「のような」であってPythonじゃないなら
ここはしめて、

OSとか、
ちゃんとした言語の種類とか、バージョンを追記して

↓とかへ移動しる
スレ立てるまでもない質問はここで 151匹目
http://mevius.5ch.net/test/read.cgi/tech/1541239698/
347デフォルトの名無しさん
垢版 |
2019/03/27(水) 11:38:48.19ID:fGhoQOHP
ごめんなさい(´;ω
348デフォルトの名無しさん
垢版 |
2019/03/27(水) 14:56:40.76ID:eZgXpjKy
Brython + WebGL
349デフォルトの名無しさん
垢版 |
2019/03/27(水) 16:14:12.53ID:iNDLeoBR
pythonの需要が高まるぞ。
政府、AI人材年25万人育成へ 全大学生に初級教育
http://r.nikkei.com/article/DGXMZO42932250W9A320C1SHA000
政府が策定する「AI戦略」の全容が分かった。人工知能(AI)を使いこなす人材を年間25万人育てる新目標を掲げる。文系や理系を問わず全大学生がAIの初級教育を受けるよう大学に要請し、社会人向けの専門課程も大学に設置する。
ビッグデータやロボットなど先端技術の急速な発達で、AI人材の不足が深刻化している。日本の競争力強化に向け、政府が旗振り役を担う。
目玉に据えるのが高等教育へのAI教育の導入だ。年間約50万人いる全ての大学生や高等専門学校生(高専)に初級水準のAI教育を課す。
最低限のプログラミングの仕組みを知り、AIの倫理を理解することを求める。受講した学生には水準に応じた修了証を発行し、就職活動などに生かしやすくする。
そのうち25万人は、さらに専門的な知識を持つAI人材として育成する。初級水準の習得に加え「ディープラーニング」を体系的に学び、機械学習のアルゴリズムの理解ができることを想定する。
「AIと経済学」や「データサイエンスと心理学」など、文系と理系の垣根を問わず、AIを活用できるよう教育を進める。
350デフォルトの名無しさん
垢版 |
2019/03/27(水) 16:26:16.17ID:sFhHh7mn
ふつうに数学教えれば良いのに
2019/03/27(水) 16:45:02.32ID:CKzDdbWp
パイソンとか名前がふざけているのにクソ真面目に教育に使うなんて
352デフォルトの名無しさん
垢版 |
2019/03/27(水) 16:58:38.10ID:fGhoQOHP
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関数から見ればグローバルなのでは?
353デフォルトの名無しさん
垢版 |
2019/03/27(水) 17:26:22.66ID:nXg/JGzJ
いやなら消して見ろ
2019/03/27(水) 17:52:10.42ID:gvQGT8Gj
>>350


文部科学省・経済産業省では、第四次産業革命の進行に伴い、産業界において数学(※1)
のニーズが高まっている現状を受け、「理数系人材の産業界での活躍に向けた意見交換会」を開催しました。
本意見交換会では、数学の産業応用に関する現状や課題を明らかにするとともに、課題の解決や今後の方向性に関する意見交換を行い、
『数理資本主義の時代〜数学パワーが世界を変える〜』として報告書を取りまとめました。

※1ここで言う「数学」は、純粋数学、応用数学、統計学、確率論、さらには数学的な表現を必要とする量子論、素粒子物理学、宇宙物理学なども含む広範な概念。
355デフォルトの名無しさん
垢版 |
2019/03/27(水) 19:24:17.44ID:fGhoQOHP
グローバル宣言は必要はないのですか?
代入を伴わない変数の宣言はどうするのでしょうか
356デフォルトの名無しさん
垢版 |
2019/03/27(水) 19:37:48.22ID:c2Vq7PyH
>>355
pythonでは変数の宣言は普通しない

グローバル宣言は関数内でローカル扱いされたくない変数に対してする

x=0
def func():
____global x
____x=2
func()
print(x)

global xを消すとfunc内のxはローカル変数になるので0がprintされる
357デフォルトの名無しさん
垢版 |
2019/03/27(水) 19:39:02.64ID:fGhoQOHP
↑そういう使い方するんですね ありがとう
2019/03/27(水) 19:41:25.02ID:wmZzeb8d
関数のスコープの外の変数を直接書き換えたいのってどんなときなんやろ
2019/03/27(水) 20:06:06.09ID:kkhErUOi
書き換えたいかは知らんが参照したいときはあるやろ?
2019/03/27(水) 23:48:21.85ID:iumvruyG
>>345-346
Python 風の言語とは、Godot か?

ゲーム製作技術板に、Godotのスレがある
2019/03/28(木) 01:19:59.31ID:a8lEF00f
Python 風Ruby
362デフォルトの名無しさん
垢版 |
2019/03/28(木) 01:51:57.12ID:IvEebbBd
お引き取り下さい
2019/03/28(木) 09:06:03.66ID:ZvpjPPFU
ディクショナリのキーはイミュータブルのオブジェクトでなくてはならない

これはキーをミューダブルなオブジェクトにしてしまうと、途中でキーのオブジェクトが変わる可能性が出てくるので、ハッシュ関数でキーに対応する値が取り出せなくなるからという理解でええのかね
2019/03/28(木) 09:27:18.30ID:BGhBm4PE
>>363
__hash__と__eq__を実装していないか、それらの返す結果に影響のない変化であれば問題はない
Pythonでわざわざそれらを実装するのは稀だからあまり気にしなくていいよ
それより、そんなことが問題になるような複雑なデータ構造を作らないことの方が大事
せいぜいタプルまでだな
2019/03/28(木) 17:12:02.48ID:0VXjIdRR
>>336
儂はPyQt使ってるよ。
wxPython→tkinterときて結局、PyQtに落ち着いた。
よくライセンスがGPLでうんぬん言われてるみたいだけど、個人で趣味でツール類作る分には問題ないみたいだから愛用してる。
pyGTKやpyFLTKやKivyは使ってないな。

結局、GUIデザイナーが一番使いやすいからQtに落ち着いたような気がしまっす。
366デフォルトの名無しさん
垢版 |
2019/03/28(木) 17:16:28.21ID:0VXjIdRR
追伸:tkinter用の使いやすいGUIデザイナあったらtkinterにちょっと戻ってみたい気もするナリ...。
  Komodo's GUI Builder使ってたけど、いまひとつWYSWYGじゃない感じ...

  何か良いGUIデザイナある?
2019/03/28(木) 17:31:27.49ID:hFIlXcK0
PyQtはGPLウイルスー!(・∀・)に感染ずみ
おれおぼえた
368デフォルトの名無しさん
垢版 |
2019/03/28(木) 19:18:33.17ID:CIFa9OxT
たとえば(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]]]
という行列の配列が欲しい時
どういうコードがスマートでしょう?
2019/03/28(木) 19:19:02.17ID:b+NMCVwW
下記のサイトはどのようにして利用するのでしょうか?
2019/03/28(木) 19:19:19.80ID:b+NMCVwW
すみません
http://www.rosettacode.org/wiki/Category:Python
2019/03/28(木) 19:25:09.68ID:hFIlXcK0
>>369-370
世の中にはロゼッタ・ストーンと呼ばれてる石板があってだな
ttps://ja.wikipedia.org/wiki/%E3%83%AD%E3%82%BC%E3%83%83%E3%82%BF%E3%83%BB%E3%82%B9%E3%83%88%E3%83%BC%E3%83%B3

それのプログラム言語バージョン作ろうぜ!ってサイトなので
Pythonのページだけ見ててもあんまり意味ないかもしれない
2019/03/28(木) 19:36:49.72ID:b+NMCVwW
>>371
なるほど、ありがとうございます。
コードが大量にあるので写経するにはよさそうでしたが、イメージしていたものと違っていました
2019/03/28(木) 22:12:14.50ID:Wtvk2F5L
>>368
Ruby で、N個ずつの重複ありのグルーピングの繰り返しは、

[1, 2, 3, 4].each_cons( 3 ){ |a| p a }

出力
[1, 2, 3]
[2, 3, 4]
2019/03/28(木) 22:25:19.56ID:hFIlXcK0
>>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]]
375デフォルトの名無しさん
垢版 |
2019/03/28(木) 23:04:59.11ID:LmQzlARy
>>368
|: 2 <\"1 i. 2 8
2019/03/28(木) 23:05:04.30ID:uQjF5Dby
>>373
>>1そして消えろ
2019/03/28(木) 23:11:38.23ID:a8lEF00f
ホゲ
とか格好わるいね
2019/03/28(木) 23:58:20.33ID:P01BWnMB
>>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]]]
>>>
379デフォルトの名無しさん
垢版 |
2019/03/29(金) 00:21:30.28ID:mSt09fG/
>>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))
380デフォルトの名無しさん
垢版 |
2019/03/29(金) 00:26:41.60ID:mSt09fG/
最後の行の7をy.shape[1]//2にした方が一般性あるな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況