X



Pythonのお勉強 Part65

レス数が1000を超えています。これ以上書き込みはできません。
2021/05/23(日) 14:51:52.02ID:NSupjEI/0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/

〇前スレ〇 Pythonのお勉強 Part64
https://mevius.5ch.net/test/read.cgi/tech/1600035173/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/11/10(水) 13:19:57.22ID:QukxIj6x0
データベースと言うから大仰に構えて当然なニュアンスが漂うけど、
ただのリスト1つでもそんなことするのかと
グローバルにするだけでとてもシンプルに書けるのに
953デフォルトの名無しさん (ワッチョイ b12c-cRVk)
垢版 |
2021/11/10(水) 13:49:39.60ID:hJTDZzkD0
グローバルがそもそもシンプルでねえんだわ
スコープガタガタじゃねーか
2021/11/10(水) 13:56:36.25ID:/xBD3bqRF
list で良いんだったら書き換え可能だが
def f(x):
x[0] = 3

def hoge():
a = [1, 2, 3]
f(a)
print(a)
955デフォルトの名無しさん (バットンキン MM62-cRVk)
垢版 |
2021/11/10(水) 13:57:18.76ID:YrLahdlqM
まあ
クラス化とか、きちんと引数で渡すとかもせず
色んな領域に同じ名前の変数が生きてて
globalの有無でどっかに何かが入ってしまう
そういう書き散らかしを止める気はないというなら好きにすりゃあいい

バカがひとりでバカやってるだけなら別に害ないし
2021/11/10(水) 14:18:11.30ID:eXHawLmR0
問題起きてなかったし書き捨てが多いからあんま考えないでGlobalしてたわ
これからはクラス使うようにするわ
2021/11/10(水) 14:29:52.63ID:17D1Wsta0
使い捨ての小プログラムにいちいちクラス作るのもバカげてると思うんだが
958デフォルトの名無しさん (JP 0Hc1-cRVk)
垢版 |
2021/11/10(水) 14:35:41.41ID:p8NJBIfUH
おぬしの場合はとりあえず
def x(db):
__db.append[zzz]
みたいな関係性の明示をすることと
myvarとかlとかdbみたいな名前をつけない(あるいはトップレベルに唯一ある)ようにするという大前提を守ることをしたほうがよい

これを欠くとクラス化も一時しのぎにしかならないで
1段掘っただけだから結局同じ問題にぶち当たるど
2021/11/10(水) 14:44:35.15ID:QukxIj6x0
classは別に魔法ではなくて、globalではないというだけで、
globalと同様の可読性や保守性のいろんな問題はやっぱり付きまとう

複雑なもんはどうやっても複雑で、言語仕様でどうにかなるものでもない
ということなのかもしれない
2021/11/10(水) 15:02:45.36ID:l5Ahtbnb0
globalと書く必要がない範囲でグローバル変数使う分にはそれほど気にする必要ないよ
雑なimportとかをやらないようにさえしてれば事故る可能性ないから

globalと書く必要があるならクラス化したほうがいい
2021/11/10(水) 15:47:01.95ID:oOPwtqhaM
>>937が駄目なだけでPythonが悪いわけではない

それからPython4は永遠に来ないと宣言されてる
2→3の混乱を考えると4は避けるべき、3内で全ての変更は行われるとの御達し
2021/11/10(水) 16:29:55.36ID:GqJmUfwJ0
>>957
使い捨てならいいんじゃね
別に他人に迷惑かけないし
2021/11/10(水) 16:39:02.58ID:m325nVH90
>>961
逆張り、レスバ目的で書いてるんじゃんないよね
>>937はシステムハンガリアンの例が謎なだけで他は真っ当にみえるから
そういう見解もありなのかと知れた
2021/11/10(水) 17:01:03.65ID:Rkk0NNeP0
挫折したPythonの勉強を再開します

print(“hello,world”)

まで書けるようになりました
2021/11/10(水) 17:37:49.85ID:tUiCOioK0
Pythonにグローバル変数は存在しないものと思っていたわ...
2021/11/10(水) 17:39:36.16ID:lWh80EFt0
>>964
これであなたもPythonistaですね
967デフォルトの名無しさん (ワッチョイ 5e10-F6GX)
垢版 |
2021/11/10(水) 18:32:16.57ID:+7kfCCOb0
>>964
よし次は1〜nまで足し算してみよう
968デフォルトの名無しさん (アウアウウー Sacd-bQ3l)
垢版 |
2021/11/10(水) 19:41:12.93ID:VzdAvmBla
print(1+2+3+4+5+6+7+8+9+a+b+c+d+e+f+g+h+i+j+k+l+m+n)
2021/11/10(水) 20:42:31.14ID:QukxIj6x0
pythonはインスタンスの生成と関数呼び出しが同じ形式だけど、
本質的にも関数なの?
2021/11/10(水) 21:01:44.22ID:pxJ9VPJB0
>>969
二行目がJavascript風の
クラス実体がインスタンスを生成する関数オブジェクト
という意味なら違います
2021/11/10(水) 22:25:22.17ID:QukxIj6x0
a = function_name()
b = ClassName()
よりもnewって書いた方が判りやすいと思うんだけど
972デフォルトの名無しさん (オッペケ Sr79-TwtK)
垢版 |
2021/11/10(水) 22:41:51.55ID:iRMzm+o1r
>>969
クラスは呼び出し可能です。そのオブジェクトは通常、そのクラスの新たなインスタンスのファクトリとして
振舞いますが、 __new__() をオーバーライドして、バリエーションを持たせることもできます。呼び出しに
使われた引数は、 __new__() と、典型的な場合では __init__() に渡され、新たなインスタンスの初期化に
使われます。
任意のクラスのインスタンスは、クラスで __call__() メソッドを定義することで呼び出し可能になります。
class Foo:
  pass
foo = Foo()
foo()

--
一方で第一級関数(ファーストクラスファンクション)としては関数を第一級オブジェクトとして扱うことの
できるプログラミング言語であり、Pythonは「ファーストクラス」として扱えることを目標に作成された。

言語の中のすべてのオブジェクト(数値、文字列、**関数**、クラス、モジュール、メソッドなど)に対して、
名前をつけて、同じように取り扱うことができるようになるということを意味している。関数を変数に格納し
たり、リストの中に並べたり、辞書に格納したり、引数として渡したり、といったことが可能になるのである。

原文:http://python-history.blogspot.com/2009/02/first-class-everything.html
原文投稿者:Guido van Rossum
973デフォルトの名無しさん (オッペケ Sr79-TwtK)
垢版 |
2021/11/10(水) 23:00:08.21ID:iRMzm+o1r
new に該当するものが無いのではなく、object.__new__(Class)が、通常は暗黙的に呼ばれて、それが
classの定義側にあるだけの話です。「判りやすい」と感じるのは個人の主観ですが、ソースコード上で
インスタンスを生成している箇所を(強く意識しており)素早く列挙したいならその通りでしょう。
974デフォルトの名無しさん (アウアウウー Sacd-bQ3l)
垢版 |
2021/11/11(木) 09:04:11.34ID:SpIFedoWa
>>969
https://docs.python.org/ja/3/c-api/call.html
https://docs.python.org/ja/3.5/extending/extending.html
975デフォルトの名無しさん (ワッチョイ b533-H2rd)
垢版 |
2021/11/11(木) 10:17:45.17ID:0FR2ffWe0
>>969
本質的には関数もクラスと同じくオブジェクトだよ
2021/11/11(木) 11:35:35.96ID:gd0ckjQ50
GUIの部分だけはC#で作って
GUIのボタン押したらpythonで処理して
結果をうけとって
GUIのtextboxに書き出すとかできますか?
977デフォルトの名無しさん (ワッチョイ b136-awrp)
垢版 |
2021/11/11(木) 11:36:58.94ID:pCDIouh90
Python/Qtではダメ?
978デフォルトの名無しさん (アウアウウー Sacd-bQ3l)
垢版 |
2021/11/11(木) 11:42:38.95ID:mCOYpHbIa
C# から python のプロセス呼ぶ例はいくらでもゴロゴロしてる
979デフォルトの名無しさん (アウアウウー Sacd-bQ3l)
垢版 |
2021/11/11(木) 11:43:30.14ID:mCOYpHbIa
あと毎回プロセス起動する以外に
python 側も常に起動待機状態で
プロセス間通信のサンプルもいっぱいある
2021/11/11(木) 11:54:48.02ID:bGsY3NmK0
>>979
>>python 側も常に起動待機状態で

なにそれ?興味ある
2021/11/11(木) 17:31:48.67ID:N8d4DWiKM
>>961
そういうお達しもさ、破壊的変更がみんなが必要だと思ったら破られるんだよ。
お達しを破らないことが言語開発の絶対目的ではないのだから。
まあ、その場合はPython4ではなくて違う名前の言語として再出発かもしれないけどね。
2021/11/11(木) 19:39:55.44ID:IVQxVLrO0
名前かわってもイソンは残して欲しいなぁ
2021/11/11(木) 20:01:58.70ID:ge/OkqSu0
>>981
大きな変更の有無じゃなくて
メジャー番号の切り替えがなくなるだけ
2021/11/11(木) 20:08:50.94ID:R6JYOOMm0
番号はどうでもいいけど、後方互換性を無くすような変更はもうしないだろ
2021/11/11(木) 20:24:37.72ID:R6JYOOMm0
class Aristocrat:
2021/11/12(金) 05:21:48.73ID:ieOoEHdBM

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
2021/11/12(金) 06:54:22.84ID:tS35U29Z0
>>984
3の中ですると公言されてる
2021/11/12(金) 07:48:42.54ID:vp8lzav70
next:
Pythonのお勉強 Part66
https://mevius.5ch.net/test/read.cgi/tech/1636670891/
2021/11/14(日) 23:49:27.67ID:o9nMeVTF0
IPythonって流行ってないんかな?対話モードより使いやすくてjupyterより手軽で好きなんだけど
2021/11/15(月) 03:20:24.38ID:A9YV+qlK0
Jupyter NotebookはIPython Notebookなんだから「Jupyterは流行ってる」なら「IPythonは流行ってる」を包含してるね
Notebookレイヤーを含まないでコンソールで動かすことを言ってるなら、データ解析系の人には高度な電卓くらいには使われてると思うよ
2021/11/15(月) 07:01:12.72ID:mG0JBDTp0
https://blog.narito.ninja/detail/159
このサイトの
store = self.store = get_object_or_404(Store, pk=self.kwargs['pk'])
ってところイコール2個あるけどこれなに?
2021/11/15(月) 07:13:12.96ID:3eTzEir3r
>>991
multiple targets assignment
2021/11/15(月) 08:26:42.21ID:trxoMZbv0
秀丸とコマンドプロンプトでも大して困らないと思うけど、
見栄えがいい以外の本質的なメリットって何かあるの?
2021/11/15(月) 10:33:07.40ID:hm0pgJxuM
Jupyter/IPythonとテキストエディタは明確に違う。デバッグしながら書けるという点において。
IPythonはループ書いたりするレベルだけどipynbはいらないなってときに使うなあ。
普通の電卓にはPythonコマンド使ってるw
2021/11/15(月) 13:29:17.97ID:trxoMZbv0
選択した部分だけ実行とかできる?
2021/11/15(月) 13:44:12.34ID:P/PCEOHq0
その場合コンテキストはどうなっててほしいのか
2021/11/15(月) 13:48:40.15ID:trxoMZbv0
選択した部分だけ実行された状態になる
コードにマウスオーバーすると、そのオブジェクトの現在の内容がポップアップする
2021/11/15(月) 15:02:44.39ID:i/3H6iLTF
>>993
そだねー

Jupyterは結局毎回restartしてるわ
危なっかしい
999デフォルトの名無しさん (ワッチョイ 2302-4fXk)
垢版 |
2021/11/15(月) 18:59:56.47ID:f2uNQEAt0
次スレ
Pythonのお勉強 Part66
https://mevius.5ch.net/test/read.cgi/tech/1636970383/
2021/11/15(月) 19:04:27.08ID:dRz2gq1T0
>>999
あとでお仕置きな

Pythonのお勉強 Part66
https://mevius.5ch.net/test/read.cgi/tech/1636670891/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 176日 4時間 12分 35秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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