[過去ログ] Pythonのお勉強 Part65 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
903
(2): デフォルトの名無しさん (ワッチョイ 8101-XAe6) [] 2021/11/05(金) 11:09:17 ID:WVIgdnkY0(1/2) AAS
複数開いたブラウザに対して操作するプログラムを作っていて、
グローバル変数が大量になってしまったので、それがベストなのかアドバイスを頂きたくお願いします。

処理の流れは、一番最初に4つのウィンドウハンドルを取得して変数に格納(hnd1~4)、それぞれにURLなどを設定(これも4個)。
それらの変数使ってブラウザ操作しているのですが、変数が多くそれらが全てグローバル変数になっています。
グローバル変数にしている理由は、ブラウザ操作の関数で書き換えが出来ないのでグローバルにしています。

ボタン位置や読み込む文字が複数になればなるほど、倍々ゲームでグローバル変数が増えてしまうのですが、
問題はないでしょうか。
色々なサイトを見る限りは、グローバル変数は最低限にするというのですが、
どうしても関数に渡すにはそうなってしまうため教えていただければと思います
904
(1): デフォルトの名無しさん (ワッチョイ d201-CJ6T) [sage] 2021/11/05(金) 11:29:57 ID:WAcm7u050(1) AAS
>>903
問題ありまくりだけど個人のプログラムなら好きにすればいいと思う

ウィンドウを4つから5つとか6つとかに増やす場合があると仮定して
その際に設定ファイルの変更のみでプログラムの変更は必要ないように作るのが一般的
905
(1): デフォルトの名無しさん (ワッチョイ b236-awrp) [] 2021/11/05(金) 12:45:16 ID:ZmTTUUh30(2/3) AAS
>>903
クラスがいいんじゃねえの。

class Browser ():
    def __ init __ ( self ) :
      hnd = None
      url = ""
      buttonPosi = None      

    def setUrl(self,url):
      self.url = url

    def setHnd(self,hnd):
      self.hndl = hnd

if __name__ == '__main__':
    brow1 = Browser()
    brow2 = Browser()
    brow3 = Browser()
    brow4 = Browser()

    brow1 .setUrl("http://........")
    brow2 .setUrl("http://........")
    brow3 .setUrl("http://........")
    brow4 .setUrl("http://........")

超いいかんげんで書いたけど、こんな感じは?
906
(2): デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/05(金) 15:43:42 ID:Zu6paNwN0(4/5) AAS
結局、
df.gropby(['index_col']).agg({'col1':list, 'col2':'last', 'col3':'last'...
という感じで求めるものは得られたんだけど、
col2以降を全部列挙しないといけないのがいかにも見苦しい

リストにしたいcol1だけ明示して、残りは全部'last' みたいに書けない?
907: デフォルトの名無しさん (ワッチョイ 5e7b-2qSv) [sage] 2021/11/05(金) 15:56:57 ID:Rm9U0qMG0(3/3) AAS
>>906
さんぷるコードうp
908
(1): デフォルトの名無しさん (ワッチョイ 8101-XAe6) [] 2021/11/05(金) 19:15:28 ID:WVIgdnkY0(2/2) AAS
>>904,905
クラス使ったことないのですがサンプルありがとうございます。
このクラスで作られたbrow1は、他の関数からも参照ができるのでしょうか?
909: デフォルトの名無しさん (ワッチョイ b236-awrp) [] 2021/11/05(金) 19:33:10 ID:ZmTTUUh30(3/3) AAS
>>908
brow1を渡せばね。

使った事がないなら、まずはクラスを勉強した方がいいかもね。

外部変数でやるなら

brow1 = []
brow2 = []
brow3 = []
brow4 = []

ってリストを用して、

brow1.append(url)
brow2.append(hndl)
brow3.append(buttonNo)

dictでもいいけど、こっちのが見やすいかな?

brow1['url'] = url
brow1['hndl'] = hndl
brow1['buttonNo'] = buttonNo

まあ、良いかきかたとは言えないけど取り敢えずこれで作ってクラスを勉強するかだね。
910: デフォルトの名無しさん (ワッチョイ 123f-B9Vr) [sage] 2021/11/05(金) 20:06:36 ID:s+xNbh4M0(1) AAS
ボリュームあるから進めつつでもいいけど
初学者で公式チュートリアルやらないのは結局遠回りするとおもう。
911: デフォルトの名無しさん (ワッチョイ d2ad-7Rex) [] 2021/11/05(金) 20:53:50 ID:9nGEQz1j0(1/2) AAS
>>906
別に美しくはないがカラム数固定的ではない
import itertools
r = dict(zip(['B', 'C', 'D', 'E'],itertools.cycle([1])))
print({'A': 0, **r})

{'A': 0, 'B': 1, 'C': 1, 'D': 1, 'E': 1}
912: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/05(金) 20:59:02 ID:Zu6paNwN0(5/5) AAS
df.groupby(['index_col']).agg(list)
って書くと、全部のカラムが対象になるので、何かありそうな気がするんだけど
913
(1): デフォルトの名無しさん (ワッチョイ a9da-Y8z3) [sage] 2021/11/05(金) 21:04:09 ID:eZOYib7p0(1) AAS
os.sync()に相当するものをwindowsで実装したいのですが代替のAPIなどあるでしょうか?
調べた感じimportlib.invalidate_cachesが近しいのかなと思ったのですが確証がなく。。。
914
(1): デフォルトの名無しさん (ワッチョイ d2ad-7Rex) [] 2021/11/05(金) 21:11:43 ID:9nGEQz1j0(2/2) AAS
>>913
それは全然違う。

これをpythonから実行して
https://docs.microsoft.com/en-us/sysinternals/downloads/sync
915
(1): デフォルトの名無しさん (ワッチョイ a9da-Y8z3) [sage] 2021/11/06(土) 00:24:53 ID:d8pEOxlp0(1) AAS
>>914
ありがとうございます。
916
(2): デフォルトの名無しさん (アウアウウー Sacd-bQ3l) [sage] 2021/11/06(土) 11:20:50 ID:b1XdA94qa(1) AAS
.pyd ファイルを C から呼ぶにはどうするのが良いですか?
917: デフォルトの名無しさん (ワッチョイ a901-s7lo) [sage] 2021/11/07(日) 07:28:50 ID:+p+jfAUD0(1) AAS
>>916
どうだろねぇ
出来なくもないのかもしれないけど直に呼び出すのは苦労が多そう
C内でPythonをシェル起動がシンプルだが使い物になるかはしらん
918: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/07(日) 08:24:06 ID:IfBJzlxd0(1) AAS
部分的に低級言語で高速化するのは自然だけど、
なぜ部分的に低速化する
919: デフォルトの名無しさん (ワッチョイ 9201-+aG2) [sage] 2021/11/07(日) 08:37:29 ID:zFG7xLKK0(1) AAS
使いたいライブラリがPythonで書かれてるとか
まあいずれにせよこんな質問してる時点でやめとけという結論しか出ないけど
920: デフォルトの名無しさん (ワッチョイ 515f-lXUs) [age] 2021/11/07(日) 10:59:29 ID:L1cSyFxb0(1) AAS
openしてreadしてcloseすりゃ良いんじゃん?
921: デフォルトの名無しさん (アウウィフ FFcd-bQ3l) [] 2021/11/07(日) 13:04:15 ID:XJB+ymj6F(1) AAS
出来ました
ほんとうにありがとうございました
922: デフォルトの名無しさん (ワッチョイ 5eb0-EgSe) [sage] 2021/11/07(日) 23:09:55 ID:zjXC+7YU0(1) AAS
聞いたのなら、どうやって解決したか書くといいよ
923: デフォルトの名無しさん (ワッチョイ d2ad-Iblw) [sage] 2021/11/08(月) 08:10:55 ID:7h7MJ4sx0(1) AAS
>>916
libpython
924: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/08(月) 19:21:59 ID:yeuw0t2w0(1) AAS
関数の定義を呼び出しより後に書けない問題は、main()を定義することで解決できる
925: デフォルトの名無しさん (ワッチョイ 856e-vonH) [] 2021/11/08(月) 19:59:33 ID:fs6N9WFT0(1/2) AAS
NLPLOTで共起ネットワークを描画したいと思い勉強中です。
サンプルコード通りに試してみているのですが、下記の★の行で
ValueError: n_communities must be between 1 and 0. Got
が出てしまいます。

npt = nlplot.NLPlot(df, target_col='Column2')
stopwords = npt.get_stopword(top_n=0, min_freq=0)
★npt.build_graph(stopwords=stopwords, min_edge_frequency=100)
display(
npt.node_df.head(), npt.node_df.shape,
npt.edge_df.head(), npt.edge_df.shape
)
npt.co_network(
title='Co-occurrence network',
)
原因を調べようとしているのですが、うまくいかず困っています。
書き方が間違えているのでしょうか?
926: デフォルトの名無しさん (ワッチョイ 856e-vonH) [sage] 2021/11/08(月) 20:00:25 ID:fs6N9WFT0(2/2) AAS
すみません、sage忘れました
927: デフォルトの名無しさん (JP 0H32-Jkql) [sage] 2021/11/08(月) 23:16:16 ID:F/UmZqpfH(1) AAS
exeして実行するとサイドバイサイド構成がっていうエラーが出るんですが、ランタイムのインストール以外の回避方法ありますか?
928: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/09(火) 13:31:05 ID:LitRxmJN0(1/3) AAS
UnboundLocalErrorが出た時
グローバル変数を参照したいのに関数内に代入があるせいでローカル変数扱いに
なってしまう場合は、global と書いてやることで回避できる

そうではなくて、変数が呼び出し元の関数のスコープにある時に、
とにかくローカル変数ではないことを伝える書き方ってある?
929: デフォルトの名無しさん (オッペケ Sr79-F6GX) [] 2021/11/09(火) 13:54:17 ID:xG+5Fvfxr(1) AAS
nonlocal
930
(1): デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/09(火) 14:00:52 ID:LitRxmJN0(2/3) AAS
そのまんまのがあったんだな
でも、呼び出し元の関数のローカル変数を参照することなんかできなかった
ローカル変数だから

じゃあいろんな関数から共通で使うようなデータはグローバルで持つしか仕方ないのかな
931: デフォルトの名無しさん (ブーイモ MM96-Iblw) [sage] 2021/11/09(火) 14:12:56 ID:ZWbVd3f2M(1) AAS
>>930
クラス変数

Pythonはこの辺のデザインセンスが良い
何でもブチ込まずに言語を小さくまとめてる
932: デフォルトの名無しさん (ワッチョイ b12c-cRVk) [] 2021/11/09(火) 14:15:42 ID:gY1b2lRY0(1) AAS
殆どの場合においてglobalやnonlocalはモンキーパッチだと思うんよね
明示的に渡すか大域変数にするか(っていうかクラス化しよう)
933: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/09(火) 14:24:14 ID:LitRxmJN0(3/3) AAS
forとかwhileの中は別スコープだと思いこんでたけど、そんなことはなかった
934: デフォルトの名無しさん (ブーイモ MMd5-8Kye) [sage] 2021/11/09(火) 14:44:38 ID:jSBInGWeM(1) AAS
パ、パ、パイソンのクラス変数まわりのデザインセンスがいいだと!?!?

おれの知ってるPythonとは全く別物のようだな
935: デフォルトの名無しさん (ワッチョイ 655f-bQ3l) [sage] 2021/11/09(火) 15:01:15 ID:GN60fzOT0(1) AAS
ぼくがしってるさいきょうのpython

def a(x):
x = 3

def b(x):
ctypes.cast(x, ctypes.POINTER(ctypes.c_long)).contents.value = 4

def c(x):
x.contents.value = 5

def test_ctypes_byref():
y = 1
a(y)
print(y)

z = ctypes.c_long(1)
b(ctypes.byref(z))
print(z)

w = ctypes.c_long(1)
c(ctypes.pointer(w))
print(w)
936: デフォルトの名無しさん (ワッチョイ f57c-B9Vr) [sage] 2021/11/09(火) 15:22:19 ID:WraEKl970(1) AAS
一読でreject
937
(4): デフォルトの名無しさん (ワッチョイ 1997-MEiT) [sage] 2021/11/10(水) 00:39:05 ID:/+ks5EJX0(1) AAS
Pythonの変数スコープまわりは、一番Pythonでダメなところじゃないか?
Python4では、もっとモダンになってほしい。オプションでもいいから。
readするだけなら何も書かずに読めるけどwriteするならglobalとかnonlocalつけなきゃいけないとか、リファクタリングするときに地獄だよ。if文で分岐もできたりするし、
システムハンガリアン導入して名前で分けないとないとバグだらけになるでしょ。
938: デフォルトの名無しさん (ワッチョイ 5eb0-EgSe) [sage] 2021/11/10(水) 01:38:09 ID:GQMg9v0V0(1) AAS
まぁ開発レベルではグローバル変数使わないように徹底するしかない
939
(1): デフォルトの名無しさん (ドコグロ MM46-+aG2) [sage] 2021/11/10(水) 05:37:44 ID:ffCMytEfM(1) AAS
今どき必要もないのにグローバル変数使いまくる老害なんて>>937ぐらいだろw
940: デフォルトの名無しさん (アウアウウー Sacd-P7mx) [sage] 2021/11/10(水) 05:42:13 ID:lUoW0l36a(1) AAS
classで書けば良いだけと思う。
941: デフォルトの名無しさん (ワッチョイ 9201-H2rd) [] 2021/11/10(水) 06:33:16 ID:iRDf1Auh0(1) AAS
>>939
んだとテメェ
942
(1): デフォルトの名無しさん (ワッチョイ 9e68-+Epa) [sage] 2021/11/10(水) 07:32:40 ID:/U16p14T0(1) AAS
割と立派な規模のプログラム書いてそうな物言いの人でもクラス化していないのだろうか
943: デフォルトの名無しさん (ワッチョイ debb-MPKP) [sage] 2021/11/10(水) 07:34:44 ID:4zi+25gd0(1) AAS
>>942
立派な規模のプログラム書くときはpython使わねーんじゃねぇの?
おれのpythonの利用は、使い捨てスクリプトだけだわ
944: デフォルトの名無しさん (ワッチョイ 5e63-P2dv) [sage] 2021/11/10(水) 08:08:00 ID:ARHiGKfb0(1) AAS
境界性パーソナリティ障害っすか
945: デフォルトの名無しさん (ブーイモ MMd5-S56S) [sage] 2021/11/10(水) 08:56:21 ID:sWJ168sZM(1) AAS
globalなくすとwriteするときにローカル変数と区別できなくなるからなくせない。となるとreadもwriteもglobal強制すればいいの?

グローバル変数を頻繁に書き換えるなんてすでにそうとう読みにくいコードになってそうだから、そっちのほうをどうにかしたほうがよいのでは
946: デフォルトの名無しさん (ワッチョイ 515f-yI1A) [sage] 2021/11/10(水) 09:23:36 ID:PQrIqHUM0(1) AAS
>>937
>readするだけなら何も書かずに読めるけどwriteするならglobalとかnonlocalつけなきゃいけないとか、リファクタリングするときに地獄だよ。if文で分岐もできたりするし、
これの意味が分からん

あんまり大規模なコード書いてないからあれだけど
今って関数なりメソッドで分割/抽出して
大本の呼び出しプログラム作って
呼出し元X⇒関数AでreturnしてXに戻す⇒X経由で関数Bに渡す……
みたいな感じになるから、globalとかnolocalとかよほどの事が無い限り使わんぞ
というかこの書き方にしないとユニットテスト作る時にそれこそ地獄やん
947: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/10(水) 11:14:51 ID:QukxIj6x0(1/6) AAS
データベース的なものがあって、それを書き換えていくような処理で
関数を分けていくとデータベースまるごと渡すとか、副作用で書き換えるとか、
それはそれでやりたくない処理になってしまう
948: デフォルトの名無しさん (ワッチョイ 7297-B9Vr) [sage] 2021/11/10(水) 11:20:36 ID:m325nVH90(1/2) AAS
データベース側にORMのように書き換えインターフェイス生やすんじゃなくて?
949: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/10(水) 11:29:58 ID:QukxIj6x0(2/6) AAS
データベース自体はよく出来たモジュールのインスタンスなので、
インターフェイスといっても、db.read()とかdb.write()とか呼ぶだけ
関数内のローカル変数やグローバル変数であってくれれば座りがいいのに、
わざわざdb.read()を呼ぶ為にdb_access(type=read)を作らないといけない
950: デフォルトの名無しさん (ワッチョイ ad2c-cRVk) [] 2021/11/10(水) 13:12:13 ID:BOw4D0hZ0(1) AAS
普通は操作とdbの間に入出力器を書く
951: デフォルトの名無しさん (ワッチョイ 9201-+aG2) [sage] 2021/11/10(水) 13:19:05 ID:GqJmUfwJ0(1/2) AAS
意味わからん
db をクラスのインスタンス変数に入れときゃいいだけじゃないの?
952: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/10(水) 13:19:57 ID:QukxIj6x0(3/6) AAS
データベースと言うから大仰に構えて当然なニュアンスが漂うけど、
ただのリスト1つでもそんなことするのかと
グローバルにするだけでとてもシンプルに書けるのに
953: デフォルトの名無しさん (ワッチョイ b12c-cRVk) [] 2021/11/10(水) 13:49:39 ID:hJTDZzkD0(1) AAS
グローバルがそもそもシンプルでねえんだわ
スコープガタガタじゃねーか
954: デフォルトの名無しさん (エムゾネ FFb2-bQ3l) [sage] 2021/11/10(水) 13:56:36 ID:/xBD3bqRF(1) AAS
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 ID:YrLahdlqM(1) AAS
まあ
クラス化とか、きちんと引数で渡すとかもせず
色んな領域に同じ名前の変数が生きてて
globalの有無でどっかに何かが入ってしまう
そういう書き散らかしを止める気はないというなら好きにすりゃあいい

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

これを欠くとクラス化も一時しのぎにしかならないで
1段掘っただけだから結局同じ問題にぶち当たるど
959: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/10(水) 14:44:35 ID:QukxIj6x0(4/6) AAS
classは別に魔法ではなくて、globalではないというだけで、
globalと同様の可読性や保守性のいろんな問題はやっぱり付きまとう

複雑なもんはどうやっても複雑で、言語仕様でどうにかなるものでもない
ということなのかもしれない
960: デフォルトの名無しさん (ワッチョイ d201-CJ6T) [sage] 2021/11/10(水) 15:02:45 ID:l5Ahtbnb0(1) AAS
globalと書く必要がない範囲でグローバル変数使う分にはそれほど気にする必要ないよ
雑なimportとかをやらないようにさえしてれば事故る可能性ないから

globalと書く必要があるならクラス化したほうがいい
961
(2): デフォルトの名無しさん (ブーイモ MM96-Iblw) [sage] 2021/11/10(水) 15:47:01 ID:oOPwtqhaM(1) AAS
>>937が駄目なだけでPythonが悪いわけではない

それからPython4は永遠に来ないと宣言されてる
2→3の混乱を考えると4は避けるべき、3内で全ての変更は行われるとの御達し
962: デフォルトの名無しさん (ワッチョイ 9201-+aG2) [sage] 2021/11/10(水) 16:29:55 ID:GqJmUfwJ0(2/2) AAS
>>957
使い捨てならいいんじゃね
別に他人に迷惑かけないし
963: デフォルトの名無しさん (ワッチョイ 7297-B9Vr) [sage] 2021/11/10(水) 16:39:02 ID:m325nVH90(2/2) AAS
>>961
逆張り、レスバ目的で書いてるんじゃんないよね
>>937はシステムハンガリアンの例が謎なだけで他は真っ当にみえるから
そういう見解もありなのかと知れた
964
(2): デフォルトの名無しさん (ワッチョイ 8101-cdF1) [sage] 2021/11/10(水) 17:01:03 ID:Rkk0NNeP0(1) AAS
挫折したPythonの勉強を再開します

print(“hello,world”)

まで書けるようになりました
965: デフォルトの名無しさん (ワッチョイ 5e46-Q1RX) [sage] 2021/11/10(水) 17:37:49 ID:tUiCOioK0(1) AAS
Pythonにグローバル変数は存在しないものと思っていたわ...
966: デフォルトの名無しさん (ワッチョイ 515f-t1IP) [sage] 2021/11/10(水) 17:39:36 ID:lWh80EFt0(1) AAS
>>964
これであなたもPythonistaですね
967: デフォルトの名無しさん (ワッチョイ 5e10-F6GX) [] 2021/11/10(水) 18:32:16 ID:+7kfCCOb0(1) AAS
>>964
よし次は1〜nまで足し算してみよう
968: デフォルトの名無しさん (アウアウウー Sacd-bQ3l) [] 2021/11/10(水) 19:41:12 ID:VzdAvmBla(1) AAS
print(1+2+3+4+5+6+7+8+9+a+b+c+d+e+f+g+h+i+j+k+l+m+n)
969
(4): デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/10(水) 20:42:31 ID:QukxIj6x0(5/6) AAS
pythonはインスタンスの生成と関数呼び出しが同じ形式だけど、
本質的にも関数なの?
970: デフォルトの名無しさん (ワッチョイ d2ad-Iblw) [sage] 2021/11/10(水) 21:01:44 ID:pxJ9VPJB0(1) AAS
>>969
二行目がJavascript風の
クラス実体がインスタンスを生成する関数オブジェクト
という意味なら違います
971: デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/10(水) 22:25:22 ID:QukxIj6x0(6/6) AAS
a = function_name()
b = ClassName()
よりもnewって書いた方が判りやすいと思うんだけど
972: デフォルトの名無しさん (オッペケ Sr79-TwtK) [] 2021/11/10(水) 22:41:51 ID:iRMzm+o1r(1/2) AAS
>>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 ID:iRMzm+o1r(2/2) AAS
new に該当するものが無いのではなく、object.__new__(Class)が、通常は暗黙的に呼ばれて、それが
classの定義側にあるだけの話です。「判りやすい」と感じるのは個人の主観ですが、ソースコード上で
インスタンスを生成している箇所を(強く意識しており)素早く列挙したいならその通りでしょう。
974: デフォルトの名無しさん (アウアウウー Sacd-bQ3l) [] 2021/11/11(木) 09:04:11 ID:SpIFedoWa(1) AAS
>>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 ID:0FR2ffWe0(1) AAS
>>969
本質的には関数もクラスと同じくオブジェクトだよ
976: デフォルトの名無しさん (ワッチョイ 12ad-/M7r) [sage] 2021/11/11(木) 11:35:35 ID:gd0ckjQ50(1) AAS
GUIの部分だけはC#で作って
GUIのボタン押したらpythonで処理して
結果をうけとって
GUIのtextboxに書き出すとかできますか?
977: デフォルトの名無しさん (ワッチョイ b136-awrp) [] 2021/11/11(木) 11:36:58 ID:pCDIouh90(1) AAS
Python/Qtではダメ?
978: デフォルトの名無しさん (アウアウウー Sacd-bQ3l) [] 2021/11/11(木) 11:42:38 ID:mCOYpHbIa(1/2) AAS
C# から python のプロセス呼ぶ例はいくらでもゴロゴロしてる
979
(1): デフォルトの名無しさん (アウアウウー Sacd-bQ3l) [] 2021/11/11(木) 11:43:30 ID:mCOYpHbIa(2/2) AAS
あと毎回プロセス起動する以外に
python 側も常に起動待機状態で
プロセス間通信のサンプルもいっぱいある
980: デフォルトの名無しさん (ワッチョイ 095c-H2rd) [sage] 2021/11/11(木) 11:54:48 ID:bGsY3NmK0(1) AAS
>>979
>>python 側も常に起動待機状態で

なにそれ?興味ある
981
(1): デフォルトの名無しさん (ブーイモ MM96-MEiT) [sage] 2021/11/11(木) 17:31:48 ID:N8d4DWiKM(1) AAS
>>961
そういうお達しもさ、破壊的変更がみんなが必要だと思ったら破られるんだよ。
お達しを破らないことが言語開発の絶対目的ではないのだから。
まあ、その場合はPython4ではなくて違う名前の言語として再出発かもしれないけどね。
982: デフォルトの名無しさん (ワッチョイ 9e68-+Epa) [sage] 2021/11/11(木) 19:39:55 ID:IVQxVLrO0(1) AAS
名前かわってもイソンは残して欲しいなぁ
983: デフォルトの名無しさん (ワッチョイ d2ad-Iblw) [sage] 2021/11/11(木) 20:01:58 ID:ge/OkqSu0(1) AAS
>>981
大きな変更の有無じゃなくて
メジャー番号の切り替えがなくなるだけ
984
(1): デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/11(木) 20:08:50 ID:R6JYOOMm0(1/2) AAS
番号はどうでもいいけど、後方互換性を無くすような変更はもうしないだろ
985
(2): デフォルトの名無しさん (ワッチョイ 323b-FSjO) [sage] 2021/11/11(木) 20:24:37 ID:R6JYOOMm0(2/2) AAS
class Aristocrat:
986: デフォルトの名無しさん (ドコグロ MMab-AQUW) [sage] 2021/11/12(金) 05:21:48 ID:ieOoEHdBM(1) AAS

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
987: デフォルトの名無しさん (ワッチョイ a3ad-RdVS) [sage] 2021/11/12(金) 06:54:22 ID:tS35U29Z0(1) AAS
>>984
3の中ですると公言されてる
988: デフォルトの名無しさん (ワッチョイ e33b-7lFM) [sage] 2021/11/12(金) 07:48:42 ID:vp8lzav70(1) AAS
next:
Pythonのお勉強 Part66
2chスレ:tech
989: デフォルトの名無しさん (ワッチョイ 1d6f-4I74) [sage] 2021/11/14(日) 23:49:27 ID:o9nMeVTF0(1) AAS
IPythonって流行ってないんかな?対話モードより使いやすくてjupyterより手軽で好きなんだけど
990: デフォルトの名無しさん (ワッチョイ 4bb0-tZCU) [sage] 2021/11/15(月) 03:20:24 ID:A9YV+qlK0(1) AAS
Jupyter NotebookはIPython Notebookなんだから「Jupyterは流行ってる」なら「IPythonは流行ってる」を包含してるね
Notebookレイヤーを含まないでコンソールで動かすことを言ってるなら、データ解析系の人には高度な電卓くらいには使われてると思うよ
991
(1): デフォルトの名無しさん (ワッチョイ 7501-p9Jn) [sage] 2021/11/15(月) 07:01:12 ID:mG0JBDTp0(1) AAS
https://blog.narito.ninja/detail/159
このサイトの
store = self.store = get_object_or_404(Store, pk=self.kwargs['pk'])
ってところイコール2個あるけどこれなに?
992: デフォルトの名無しさん (オッペケ Src1-Jlay) [sage] 2021/11/15(月) 07:13:12 ID:3eTzEir3r(1) AAS
>>991
multiple targets assignment
993
(1): デフォルトの名無しさん (ワッチョイ e33b-7lFM) [sage] 2021/11/15(月) 08:26:42 ID:trxoMZbv0(1/3) AAS
秀丸とコマンドプロンプトでも大して困らないと思うけど、
見栄えがいい以外の本質的なメリットって何かあるの?
994: デフォルトの名無しさん (ブーイモ MM69-D1eI) [sage] 2021/11/15(月) 10:33:07 ID:hm0pgJxuM(1) AAS
Jupyter/IPythonとテキストエディタは明確に違う。デバッグしながら書けるという点において。
IPythonはループ書いたりするレベルだけどipynbはいらないなってときに使うなあ。
普通の電卓にはPythonコマンド使ってるw
995: デフォルトの名無しさん (ワッチョイ e33b-7lFM) [sage] 2021/11/15(月) 13:29:17 ID:trxoMZbv0(2/3) AAS
選択した部分だけ実行とかできる?
996: デフォルトの名無しさん (ワッチョイ 0d03-/fak) [sage] 2021/11/15(月) 13:44:12 ID:P/PCEOHq0(1) AAS
その場合コンテキストはどうなっててほしいのか
997: デフォルトの名無しさん (ワッチョイ e33b-7lFM) [sage] 2021/11/15(月) 13:48:40 ID:trxoMZbv0(3/3) AAS
選択した部分だけ実行された状態になる
コードにマウスオーバーすると、そのオブジェクトの現在の内容がポップアップする
998: デフォルトの名無しさん (アウウィフ FFa9-09aj) [sage] 2021/11/15(月) 15:02:44 ID:i/3H6iLTF(1) AAS
>>993
そだねー

Jupyterは結局毎回restartしてるわ
危なっかしい
999
(1): デフォルトの名無しさん (ワッチョイ 2302-4fXk) [] 2021/11/15(月) 18:59:56 ID:f2uNQEAt0(1) AAS
次スレ
Pythonのお勉強 Part66
2chスレ:tech
1000: デフォルトの名無しさん (ワッチョイ 4bbb-hqx1) [sage] 2021/11/15(月) 19:04:27 ID:dRz2gq1T0(1) AAS
>>999
あとでお仕置きな

Pythonのお勉強 Part66
2chスレ:tech
1001
(1): 1001 [] ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 176日 4時間 12分 35秒
1002
(1): 1002 [] ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。

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

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

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

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s