当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その57
レス数が1000を超えています。これ以上書き込みはできません。
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
2022/05/22(日) 22:37:38.56ID:jNpDIIz5
立て乙
3デフォルトの名無しさん
2022/05/24(火) 13:49:28.09ID:cQhl8P2i かわいい女の子に上目遣いで拗ねたように「いじわる」と言われると興奮するんです
4デフォルトの名無しさん
2022/06/05(日) 08:46:24.02ID:Sg+yaBaV pandasについての質問です。
"PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)"の順にデータが入ってるとします。
下記みたいな感じです。
@[0,0,2470,0,0,27] ○
A[0,0,1570,0,0,0] ☓
B[0,1580,1440,0,35,31] ○
C[0,1290,2878,0,0,31] ☓
D[2522,885,940,31,0,0] ☓
E[1527,1057,1639,28,5,31] ☓
F[1527,1457,1639,28,26,31] ○
○をつけたデータが残したいデータになります。
@AのようにPRICE>0のPRICEデータが1つの場合は、該当するP(%)データが25より大きい場合に残したいです。
BCのようにPRICE>0のPRICEデータが2つの場合は、該当するP(%)データがどちらも20より大きい場合に残したいです。
DEFのようにPRICE>0のPRICEデータが3つの場合は、該当するP(%)データがどちらも15より大きい場合に残したいです。
調べたら下記のような感じでやっていくことがわかったのですが、思うように整理できません。
df = pd.read_sql(sql=f'SELECT "PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)" FROM {schema}."{get_table}";', con=conn)
df = df[(df["PRICE1"]>0) | (df["PRICE2"]>0) | (df["PRICE3"]>0) | (df["P1(%)"]>25) | (df["P1(%)"]>25) | (df["P1(%)"]>25)]
df = [tuple(x) for x in df.values]
誰か助けてくだしあ
"PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)"の順にデータが入ってるとします。
下記みたいな感じです。
@[0,0,2470,0,0,27] ○
A[0,0,1570,0,0,0] ☓
B[0,1580,1440,0,35,31] ○
C[0,1290,2878,0,0,31] ☓
D[2522,885,940,31,0,0] ☓
E[1527,1057,1639,28,5,31] ☓
F[1527,1457,1639,28,26,31] ○
○をつけたデータが残したいデータになります。
@AのようにPRICE>0のPRICEデータが1つの場合は、該当するP(%)データが25より大きい場合に残したいです。
BCのようにPRICE>0のPRICEデータが2つの場合は、該当するP(%)データがどちらも20より大きい場合に残したいです。
DEFのようにPRICE>0のPRICEデータが3つの場合は、該当するP(%)データがどちらも15より大きい場合に残したいです。
調べたら下記のような感じでやっていくことがわかったのですが、思うように整理できません。
df = pd.read_sql(sql=f'SELECT "PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)" FROM {schema}."{get_table}";', con=conn)
df = df[(df["PRICE1"]>0) | (df["PRICE2"]>0) | (df["PRICE3"]>0) | (df["P1(%)"]>25) | (df["P1(%)"]>25) | (df["P1(%)"]>25)]
df = [tuple(x) for x in df.values]
誰か助けてくだしあ
5デフォルトの名無しさん
2022/06/05(日) 11:40:11.32ID:ocueg4o5 よーしらんが、論理回路の問題なんだろ?
なら一時的にif(if(if))みたいなネストの深いクソコード書いて、細かくデバック通すか
関数宣言をさぼらずに、(df["PRICE1"]>0)や(df["P1(%)"]>25)に分かりやすい関数名付けたほうがいいんじゃねえかな
なら一時的にif(if(if))みたいなネストの深いクソコード書いて、細かくデバック通すか
関数宣言をさぼらずに、(df["PRICE1"]>0)や(df["P1(%)"]>25)に分かりやすい関数名付けたほうがいいんじゃねえかな
2022/06/05(日) 12:23:41.62ID:NOI2DZIw
datetime.datetimeクラスの順序比較に手を加えたくなって、モジュールのソースをみたら_cmp()メソッドが比較の本体だったので
ttps://techiedelight.com/compiler/?zbRJ というコードで試したのですが、そもそも_cmp()が呼ばれません
これって、私は何を間違えているのでしょう? (なお、当初やりたかったこと自体は__eq__, __gt__, __ge__, __le__, __lt__, __ne__を直接オーバーライドすることで達成できました)
ttps://techiedelight.com/compiler/?zbRJ というコードで試したのですが、そもそも_cmp()が呼ばれません
これって、私は何を間違えているのでしょう? (なお、当初やりたかったこと自体は__eq__, __gt__, __ge__, __le__, __lt__, __ne__を直接オーバーライドすることで達成できました)
7デフォルトの名無しさん
2022/06/05(日) 12:40:05.08ID:u0j22vIZ 条件に合うものを残すより
条件に合わないものを消していく方が効率が良い
条件に合わないものを消していく方が効率が良い
8デフォルトの名無しさん
2022/06/05(日) 12:44:51.80ID:u0j22vIZ2022/06/05(日) 14:26:03.02ID:NOI2DZIw
>>8
お返事ありがとうございます
しかし、_cmpのアンダースコアは一つですし、AttributeErrorが発生したりせず単に呼ばれないだけ(比較自体は出来ているので親クラスの_cmp()が呼ばれているはず)です
マングル化に関するページをご紹介いただいた意味がよく分かりません
お返事ありがとうございます
しかし、_cmpのアンダースコアは一つですし、AttributeErrorが発生したりせず単に呼ばれないだけ(比較自体は出来ているので親クラスの_cmp()が呼ばれているはず)です
マングル化に関するページをご紹介いただいた意味がよく分かりません
10デフォルトの名無しさん
2022/06/05(日) 14:57:15.34ID:ocueg4o5 def もれそう(arg1, arg2, arg3, arg4, arg5, arg6):
__うんこ = [arg1, arg2, arg3]
__おもさ = [arg4, arg5, arg6]
__def 内容量(element):
____return len(list(filter(lambda x: x > 0, element)))
__def 耐久力(element, n):
____return list(filter(lambda x: x > n, element))
__if 内容量(うんこ) == 1:
____return 耐久力(おもさ, 25)
__elif 内容量(うんこ) == 2:
____return 耐久力(おもさ, 20)
__elif 内容量(うんこ) == 3:
____return 耐久力(おもさ, 15)
df = もれそう(茶色1,茶色2,茶色3,重量1, 重量2, 重量3)
pandasのことよー知らんから>>5で適当なこと書いちゃったけど、こういうことだよな
どっかで関数一覧に目を通すなりして、array関数とかcallback関数の使い方覚えたほうがいいぞ
__うんこ = [arg1, arg2, arg3]
__おもさ = [arg4, arg5, arg6]
__def 内容量(element):
____return len(list(filter(lambda x: x > 0, element)))
__def 耐久力(element, n):
____return list(filter(lambda x: x > n, element))
__if 内容量(うんこ) == 1:
____return 耐久力(おもさ, 25)
__elif 内容量(うんこ) == 2:
____return 耐久力(おもさ, 20)
__elif 内容量(うんこ) == 3:
____return 耐久力(おもさ, 15)
df = もれそう(茶色1,茶色2,茶色3,重量1, 重量2, 重量3)
pandasのことよー知らんから>>5で適当なこと書いちゃったけど、こういうことだよな
どっかで関数一覧に目を通すなりして、array関数とかcallback関数の使い方覚えたほうがいいぞ
2022/06/05(日) 15:01:54.57ID:v/p+BagL
>>4
sqlでの抽出は知らんけど、他の方法で抽出でけた
import pandas as pd
data=[
[0,0,2470,0,0,27],
[0,0,1570,0,0,0],
[0,1580,1440,0,35,31],
[0,1290,2878,0,0,31],
[2522,885,940,31,0,0],
[1527,1057,1639,28,5,31],
[1527,1457,1639,28,26,31]]
df = pd.DataFrame(data)
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
df2 = df[_] # ブールインデックスで抽出
df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
sqlでの抽出は知らんけど、他の方法で抽出でけた
import pandas as pd
data=[
[0,0,2470,0,0,27],
[0,0,1570,0,0,0],
[0,1580,1440,0,35,31],
[0,1290,2878,0,0,31],
[2522,885,940,31,0,0],
[1527,1057,1639,28,5,31],
[1527,1457,1639,28,26,31]]
df = pd.DataFrame(data)
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
df2 = df[_] # ブールインデックスで抽出
df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
2022/06/05(日) 15:18:41.40ID:v/p+BagL
プロンプトが無くて入力と出力が分かりにくかったので、プロンプト追加
>>>import pandas as pd
>>>data=[
・・・ [0,0,2470,0,0,27],
・・・ [0,0,1570,0,0,0],
・・・ [0,1580,1440,0,35,31],
・・・ [0,1290,2878,0,0,31],
・・・ [2522,885,940,31,0,0],
・・・ [1527,1057,1639,28,5,31],
・・・ [1527,1457,1639,28,26,31]]
>>>df = pd.DataFrame(data)
>>>def check(row):
・・・ d = {1:25, 2:20, 3:15}
・・・ return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
>>>[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
>>>df2 = df[_] # ブールインデックスで抽出
>>>df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
>>>import pandas as pd
>>>data=[
・・・ [0,0,2470,0,0,27],
・・・ [0,0,1570,0,0,0],
・・・ [0,1580,1440,0,35,31],
・・・ [0,1290,2878,0,0,31],
・・・ [2522,885,940,31,0,0],
・・・ [1527,1057,1639,28,5,31],
・・・ [1527,1457,1639,28,26,31]]
>>>df = pd.DataFrame(data)
>>>def check(row):
・・・ d = {1:25, 2:20, 3:15}
・・・ return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
>>>[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
>>>df2 = df[_] # ブールインデックスで抽出
>>>df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
2022/06/05(日) 15:20:27.82ID:joAjo/JZ
2022/06/05(日) 15:21:54.55ID:joAjo/JZ
15デフォルトの名無しさん
2022/06/05(日) 15:24:04.14ID:udiiYXiV2022/06/05(日) 15:33:26.33ID:NOI2DZIw
>>15
お返事ありがとうございます。親クラスのメソッドが呼び出されていることを実際にどう確認すればいいのか思いつけないレベルです(デバッガ? トレース?)
ただ単に、例外が送出されずに比較結果が表示されたので、何らかの比較するメソッドが呼ばれたのだろうと想像しただけです
例えば、foo <= datetime.datetime.max が評価されるとき
1) foo.__le__(datetime.datetime.max) が呼ばれる
2) fooには__le__メソッドが定義されていないので親クラスに遡って datetime.datetime.__le__(self=foo, other=datetime.datetime.max) が呼ばれる
3) ttps://github.com/python/cpython/blob/main/Lib/datetime.py の2110行 self._cmp(other) へ進む
ここでself=foo, other=datetime.datetime.max なので、 foo._cmp(other=datetime.datetime.max) と、 ttps://techiedelight.com/compiler/?zbRJ の4行目で定義したメソッドが呼ばれる
と考えていたのですが……継承に関する理解がどっかで間違っているのでしょうね
お返事ありがとうございます。親クラスのメソッドが呼び出されていることを実際にどう確認すればいいのか思いつけないレベルです(デバッガ? トレース?)
ただ単に、例外が送出されずに比較結果が表示されたので、何らかの比較するメソッドが呼ばれたのだろうと想像しただけです
例えば、foo <= datetime.datetime.max が評価されるとき
1) foo.__le__(datetime.datetime.max) が呼ばれる
2) fooには__le__メソッドが定義されていないので親クラスに遡って datetime.datetime.__le__(self=foo, other=datetime.datetime.max) が呼ばれる
3) ttps://github.com/python/cpython/blob/main/Lib/datetime.py の2110行 self._cmp(other) へ進む
ここでself=foo, other=datetime.datetime.max なので、 foo._cmp(other=datetime.datetime.max) と、 ttps://techiedelight.com/compiler/?zbRJ の4行目で定義したメソッドが呼ばれる
と考えていたのですが……継承に関する理解がどっかで間違っているのでしょうね
2022/06/05(日) 15:56:02.34ID:U0Dsg58D
俺も気になる。何で_cmp呼ばれんの?
18デフォルトの名無しさん
2022/06/05(日) 18:26:33.72ID:NPpCVuaP foo を造ってるのが now() なので
foo の型が datetime のままなんじゃね
foo の型が datetime のままなんじゃね
2022/06/05(日) 19:36:27.49ID:NPpCVuaP
print(super(DatetimeTest, self)._cmp)
↓
AttributeError: 'super' object has no attribute '_cmp'
↓
AttributeError: 'super' object has no attribute '_cmp'
20デフォルトの名無しさん
2022/06/05(日) 19:37:47.11ID:NPpCVuaP2022/06/05(日) 19:39:44.56ID:v/p+BagL
>>12
allの引数が空の場合(全てのPRICEがゼロの場合)にTrueを返すのでcheck関数修正
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row) if row else False
allの引数が空の場合(全てのPRICEがゼロの場合)にTrueを返すのでcheck関数修正
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row) if row else False
2022/06/05(日) 20:20:03.24ID:x6+Exssm
ジェネレーター式まで学習が進んだが
ちゃんと慣れないと突然でてきたとき「なんだこれ!?」ってなるとおもうわ
見やすくするためのものだからそんな複雑な構造で出てくることはないと思うが
ちゃんと慣れないと突然でてきたとき「なんだこれ!?」ってなるとおもうわ
見やすくするためのものだからそんな複雑な構造で出てくることはないと思うが
2022/06/05(日) 21:55:46.01ID:NOI2DZIw
ID:NPpCVuaPさん、ありがとうございます
> foo を造ってるのが now() なので
> foo の型が datetime のままなんじゃね
type(foo)はちゃんと"<class '__main__.DatetimeTest'>"になっていましたので、その線は無さそうです
で、試していただいた ttps://techiedelight.com/compiler/?Jmnq ですと、>>16で私が考えたとおりの動作をしているように見えますね
となると、datetime.datetimeとHogeで何が違うのか……ちょっと脳味噌が煮えてきたので、一旦専ブラを閉じて頭を冷やします
> foo を造ってるのが now() なので
> foo の型が datetime のままなんじゃね
type(foo)はちゃんと"<class '__main__.DatetimeTest'>"になっていましたので、その線は無さそうです
で、試していただいた ttps://techiedelight.com/compiler/?Jmnq ですと、>>16で私が考えたとおりの動作をしているように見えますね
となると、datetime.datetimeとHogeで何が違うのか……ちょっと脳味噌が煮えてきたので、一旦専ブラを閉じて頭を冷やします
2022/06/05(日) 23:10:11.97ID:v/p+BagL
2022/06/06(月) 08:54:18.93ID:9r9DwyjN
見えないのはわかったけどその挙動を実現するための言語仕様ってあるんだっけ?
26デフォルトの名無しさん
2022/06/06(月) 09:18:43.10ID:Ug3DHjCK27デフォルトの名無しさん
2022/06/06(月) 09:23:35.02ID:Ug3DHjCK まずやるべきことは >15 だろ
2022/06/06(月) 09:43:37.49ID:zYl8ARh2
やりましたみなさん、分かりました!
datetime.pyの最後のにfrom _datetime import *をtryする記述があり
成功したら_cmpなどを消す処理が書いてあるんですが、この_datetimeをimportする関連個所を
ごっそりコメントアウトして
import datetime
dir(datetime.datetime.now())
したら_cmpが表示されましたよ、つまりdatetimeの本体は_datetimeで>>26のヤツじゃないでしょうか
datetime.pyの最後のにfrom _datetime import *をtryする記述があり
成功したら_cmpなどを消す処理が書いてあるんですが、この_datetimeをimportする関連個所を
ごっそりコメントアウトして
import datetime
dir(datetime.datetime.now())
したら_cmpが表示されましたよ、つまりdatetimeの本体は_datetimeで>>26のヤツじゃないでしょうか
2022/06/06(月) 09:50:52.59ID:PsDk58Y7
>>24
お返事ありがとうございます
呼べないのはDatetimeTest._cmp()であってdatetime.datetime._cmp()は呼べている(ように見える)わけですから
datetime.datetime._cmpが見えないことに意味があるのかどうか……一晩経っても脳が煮えたままです
ちなみにdir(foo)だと_cmpが見えてますね……
>>26-28
とりあえず知識もスキルもないなりに手を動かそうと思って、 ttps://techiedelight.com/compiler/?zbRJ のimport datetimeの位置に
datetimeモジュールのソースをそのまま全部貼り付けてあれこれ試したところ(そのコードはでかいしTECHIE DELIGHTの利用規約的にクリアかどうか分からないのでアップしません)
ttps://github.com/python/cpython/blob/main/Lib/datetime.py の最後、2614行目以降が無ければ>>16で私が考えたとおりの動作になる、つまりfoo._cmp()が呼ばれますが、2614行目以降がそのままだと呼ばれませんでした
ということで、遅ればせながら>>28さんと同じ結果に辿り着けました
Cで書かれたモジュールを読み込んで、未使用の名前を削除して、という工程の中になにかありそう、というあたりが今のところ私の限界です
お返事ありがとうございます
呼べないのはDatetimeTest._cmp()であってdatetime.datetime._cmp()は呼べている(ように見える)わけですから
datetime.datetime._cmpが見えないことに意味があるのかどうか……一晩経っても脳が煮えたままです
ちなみにdir(foo)だと_cmpが見えてますね……
>>26-28
とりあえず知識もスキルもないなりに手を動かそうと思って、 ttps://techiedelight.com/compiler/?zbRJ のimport datetimeの位置に
datetimeモジュールのソースをそのまま全部貼り付けてあれこれ試したところ(そのコードはでかいしTECHIE DELIGHTの利用規約的にクリアかどうか分からないのでアップしません)
ttps://github.com/python/cpython/blob/main/Lib/datetime.py の最後、2614行目以降が無ければ>>16で私が考えたとおりの動作になる、つまりfoo._cmp()が呼ばれますが、2614行目以降がそのままだと呼ばれませんでした
ということで、遅ればせながら>>28さんと同じ結果に辿り着けました
Cで書かれたモジュールを読み込んで、未使用の名前を削除して、という工程の中になにかありそう、というあたりが今のところ私の限界です
2022/06/06(月) 09:54:12.32ID:Ug3DHjCK
なるほど _cmp は存在しなかったで FA
2022/06/06(月) 09:54:13.01ID:PsDk58Y7
2022/06/06(月) 09:56:28.25ID:9r9DwyjN
33デフォルトの名無しさん
2022/06/06(月) 10:03:42.68ID:Ug3DHjCK34デフォルトの名無しさん
2022/06/06(月) 10:05:27.81ID:Ug3DHjCK2022/06/06(月) 10:13:54.31ID:zYl8ARh2
>>32
グローバルの_cmpを消す処理で合ってると思いますよ
通常は _datetime (たぶん本体がC言語)をimportする、この中にはself._cmpが無いのでdirで見えないし
グローバルの_cmpを消す処理でグローバルの方も見えない
_datetimeのimportに失敗したらdatetime.pyに書かれているdatetimeクラスが使われるし
グローバルの_cmpを消す処理が実行されないので
dir(datetime)でグローバルの_cmpが見えるし、dir(datetime.datetime)でself._cmpが見える
グローバルの_cmpを消す処理で合ってると思いますよ
通常は _datetime (たぶん本体がC言語)をimportする、この中にはself._cmpが無いのでdirで見えないし
グローバルの_cmpを消す処理でグローバルの方も見えない
_datetimeのimportに失敗したらdatetime.pyに書かれているdatetimeクラスが使われるし
グローバルの_cmpを消す処理が実行されないので
dir(datetime)でグローバルの_cmpが見えるし、dir(datetime.datetime)でself._cmpが見える
36デフォルトの名無しさん
2022/06/07(火) 17:25:02.03ID:NE4LVa9l なんのための fake
2022/06/08(水) 06:15:05.14ID:8a3xVi5I
python 2.x 系の環境です。
file_path を関連付けで実行させるために下記コードを記述しました。
目的としては引数の文字列を unicode として渡したいです。
subprocess.Popen(「'start', file_path], shell=True)
この際、引数は cp932 として扱われるようで、
file_path を cp932 にencode しないと失敗します。
unicode にしかない文字が含まれる場合があるので
unicode のまま渡したいのですが
Popen 側で引数を unicode として受け取れる方法はありますか?
encoding= は Python 2.x は未対応、
またパイプを使って chcp 65001 を先に実行させてもダメでした。
file_path を関連付けで実行させるために下記コードを記述しました。
目的としては引数の文字列を unicode として渡したいです。
subprocess.Popen(「'start', file_path], shell=True)
この際、引数は cp932 として扱われるようで、
file_path を cp932 にencode しないと失敗します。
unicode にしかない文字が含まれる場合があるので
unicode のまま渡したいのですが
Popen 側で引数を unicode として受け取れる方法はありますか?
encoding= は Python 2.x は未対応、
またパイプを使って chcp 65001 を先に実行させてもダメでした。
3837
2022/06/08(水) 07:56:30.16ID:Ty02xZw9 win環境なのですが2.x系では内部で
ANSI版のCreateProcessAを呼び出しているとのことで
そもそもダメということが分かりました
ctypesなど使ってCreateProcessWを直接呼び出すなどするしかないみたいです
ANSI版のCreateProcessAを呼び出しているとのことで
そもそもダメということが分かりました
ctypesなど使ってCreateProcessWを直接呼び出すなどするしかないみたいです
39デフォルトの名無しさん
2022/06/08(水) 12:41:12.70ID:P10Nnex8 今のWindowsおすすめpython環境はなんですか?
教育用?にWindowsでのpython環境を作りたいです。
無印python、anaconda、PyCharmはどれがいいでしょうか。
エディタはVSCodeの利用を考えてます。
自分は普段、LinuxやWSL2でemacsを使っているオールドタイプです。
教えて下さい
教育用?にWindowsでのpython環境を作りたいです。
無印python、anaconda、PyCharmはどれがいいでしょうか。
エディタはVSCodeの利用を考えてます。
自分は普段、LinuxやWSL2でemacsを使っているオールドタイプです。
教えて下さい
2022/06/08(水) 13:17:16.31ID:Ylodbyzl
google colaboratry で十分
41デフォルトの名無しさん
2022/06/08(水) 13:42:31.40ID:rPUwIz8x たとえば以下のようなリストが即興で欲しくなった場合ってどうしてます?
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]…………]
(下の例では0~12まで)
ググった結果numpyで配列を作ってtolistでリスト化する方法は見つけたんですけど
もっとぱっと書けないですかね?
import as numpy np
arr_2d = np.arange(12).reshape((4, 3))
print(arr_2d.tolist())
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]…………]
(下の例では0~12まで)
ググった結果numpyで配列を作ってtolistでリスト化する方法は見つけたんですけど
もっとぱっと書けないですかね?
import as numpy np
arr_2d = np.arange(12).reshape((4, 3))
print(arr_2d.tolist())
42デフォルトの名無しさん
2022/06/08(水) 13:43:05.22ID:rPUwIz8x 0~12じゃねえわ11だった
43デフォルトの名無しさん
2022/06/08(水) 15:41:41.08ID:Mk/J73jd44デフォルトの名無しさん
2022/06/08(水) 15:45:15.80ID:Mk/J73jd np.arange(12).reshape((4, 3)).tolist()
[[y * 3 + x for x in range(3)] for y in range(4)]
[[y * 3 + x for x in range(3)] for y in range(4)]
2022/06/08(水) 15:50:39.30ID:WqwdOMp+
>>41
[list(range(i, i+3)) for i in range(12)[::3]]
[list(range(i, i+3)) for i in range(12)[::3]]
2022/06/08(水) 15:55:39.94ID:SMHvnx3K
import more_itertools
list(more_itertools.chunked(range(12), 3))
list(more_itertools.chunked(range(12), 3))
47デフォルトの名無しさん
2022/06/08(水) 16:25:32.81ID:KT22GtKj [np.array([0, 1, 2]) + 3*_ for _ in range(4)]
2022/06/08(水) 18:22:00.06ID:WqwdOMp+
>>41 さらに短くできた
[list(range(i, i+3)) for i in range(0,12,3)]
もう出尽くしたやろ、ワイのが一番やな、組み込みのみだし直感的だし
応用もきくし、ワイが一番やろw
[list(range(i, i+3)) for i in range(0,12,3)]
もう出尽くしたやろ、ワイのが一番やな、組み込みのみだし直感的だし
応用もきくし、ワイが一番やろw
2022/06/08(水) 18:40:08.42ID:3lPgPXCP
>>39
WinPython+VScodeが正解だぞ
anacondaは、Pythonを習得し、Pythonと外部ライブラリの境界を把握できるように
なった人のうち、anacondaを必要とする人だけが使うものだ
WinPython+VScodeが正解だぞ
anacondaは、Pythonを習得し、Pythonと外部ライブラリの境界を把握できるように
なった人のうち、anacondaを必要とする人だけが使うものだ
2022/06/08(水) 19:34:37.02ID:nVdli+zf
2022/06/08(水) 19:37:13.76ID:d7/kuIlk
dockerはdockerの勉強になるしwindowsだと安定しないから要らんな
52デフォルトの名無しさん
2022/06/08(水) 23:45:53.43ID:rPUwIz8x >>44-48
ありがとう、勉強になった!
ありがとう、勉強になった!
53デフォルトの名無しさん
2022/06/09(木) 03:35:46.64ID:aPNi5OBU pythonのライブラリを調べているのですが
C言語で書かれている部分(cソースコード)には
どうやってたどり着けばいいのでしょうか?
例としてrandom.random()が0.0以上1.0未満の浮動小数点数を
かえしますが、どうゆう仕組みで返すのかを調べたいのです
C言語で書かれている部分(cソースコード)には
どうやってたどり着けばいいのでしょうか?
例としてrandom.random()が0.0以上1.0未満の浮動小数点数を
かえしますが、どうゆう仕組みで返すのかを調べたいのです
2022/06/09(木) 04:32:16.69ID:FzQACe2i
2022/06/09(木) 05:11:23.67ID:aPNi5OBU
2022/06/09(木) 05:17:33.48ID:FzQACe2i
>>55
蛇足かもですがpython の乱数はメルセンヌツイスタというアルゴリズムなので調べてみるといいかもしれません
蛇足かもですがpython の乱数はメルセンヌツイスタというアルゴリズムなので調べてみるといいかもしれません
2022/06/09(木) 05:44:46.90ID:aPNi5OBU
2022/06/09(木) 18:02:41.85ID:i3H8tE1L
>>39
公式Python+PyCharmが便利
公式Python+PyCharmが便利
2022/06/09(木) 18:22:37.05ID:8SlPB6O/
教育用なら圧倒的シェアを獲得しているVSCodeの方が良いと思うよ
2022/06/09(木) 18:36:52.52ID:ZOUr8HN/
pycharmはなぁ…
61デフォルトの名無しさん
2022/06/09(木) 22:20:46.40ID:KIKA+I2C >>39
教育に、環境構築の手間を含められるかどうかによるかな。
純粋にプログラムとは何かを知ってもらうだけだったらcolab
Pythonスクリプトをちゃんと動かせるようになることが目標だったらWindows用のPythonかなぁ。
教育に、環境構築の手間を含められるかどうかによるかな。
純粋にプログラムとは何かを知ってもらうだけだったらcolab
Pythonスクリプトをちゃんと動かせるようになることが目標だったらWindows用のPythonかなぁ。
2022/06/09(木) 22:22:21.55ID:1X1IjXim
ideoneでいいじゃん。
colabより高性能だよ。
公開されてしまうが。
colabより高性能だよ。
公開されてしまうが。
2022/06/09(木) 23:14:03.21ID:gzzbtW8N
そいや親戚のとこの子供が学校でPythonのプログラムやっているというのだが、
ああいうのって、どういう仕様の実行環境なんだ?
グラフや絵を描けたり、画面上のピアノの鍵盤叩くと音が出せるとか、
なにやら色々とできるようなのだが
というかpipであれこれ山盛りにされてる環境にも思える
Scratchだと思ってた
ああいうのって、どういう仕様の実行環境なんだ?
グラフや絵を描けたり、画面上のピアノの鍵盤叩くと音が出せるとか、
なにやら色々とできるようなのだが
というかpipであれこれ山盛りにされてる環境にも思える
Scratchだと思ってた
2022/06/09(木) 23:16:22.96ID:1tSt6fQl
ideoneとColab(Jupyter)だと機能がダンチだから土俵がちがう
2022/06/09(木) 23:20:50.91ID:1tSt6fQl
66デフォルトの名無しさん
2022/06/10(金) 03:26:54.12ID:v7zmV4Lt vscodeって途中のコードいじってると下記の折り畳み全部開いちゃうじゃん。あれ超鬱陶しい
2022/06/10(金) 12:08:03.84ID:sFhUkWJJ
関数の引数型説明(アノテーション?)をつけるとき、intやstr等の組込み型ではなく、クラスのインスタンスの場合どのように書けばよいでしょうか
2022/06/10(金) 12:38:18.30ID:Lq4KcKs2
https://docs.djangoproject.com/ja/3.2/intro/tutorial05/
このページの最初のコードをshellモードでやってもtimezone has no 'now'って出るんだけどなんでだよ
ついでにいうとsettings.pyでuse_tz = Falseにすると逆に日本時間になってTrueにするとUTCになる
このページの最初のコードをshellモードでやってもtimezone has no 'now'って出るんだけどなんでだよ
ついでにいうとsettings.pyでuse_tz = Falseにすると逆に日本時間になってTrueにするとUTCになる
2022/06/10(金) 14:22:36.04ID:Lq4KcKs2
解決
from django.utils import timezone
じゃなくて from datetime import timezoneって書いてた
from django.utils import timezone
じゃなくて from datetime import timezoneって書いてた
2022/06/11(土) 10:31:55.75ID:yOzdOwl+
超初心者です!古いMacでも出来ますか?
2022/06/11(土) 11:18:37.09ID:85fUpHB3
>>70
https://homepages.cwi.nl/~jack/macpython/index.html
これだとバージョン古いからMac-on-Linux化してLinux側で動かすか
リモートでもいいならWebブラウザのGoogle Colabやクラウド上のLinuxでやれる
https://homepages.cwi.nl/~jack/macpython/index.html
これだとバージョン古いからMac-on-Linux化してLinux側で動かすか
リモートでもいいならWebブラウザのGoogle Colabやクラウド上のLinuxでやれる
2022/06/11(土) 11:20:32.01ID:IHQzlSUe
>>67
例えばpandas(pd)のデータフレーム(df)なら
import pandas as pd
def some_func(df: pd.DataFrame, some_num: int = 42) -> pd.DataFrame:
df2 = df.cooy()
# 処理
return df2
例えばpandas(pd)のデータフレーム(df)なら
import pandas as pd
def some_func(df: pd.DataFrame, some_num: int = 42) -> pd.DataFrame:
df2 = df.cooy()
# 処理
return df2
74デフォルトの名無しさん
2022/06/12(日) 08:55:03.32ID:LQ+2P+LS サポート期限すぎたMac使ってそう
2022/06/12(日) 18:06:38.20ID:9B8stwi/
leetcodeの問題解いてるんだけどさ
コードをvscodeとかのエディタ上で再現しようとしてもinputはleetcode側がやってるから、コードコピペしてもうまく動かないってことか?
Input: strs = ["flower","flow","flight"]
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
# 回答をここに書いた
こういうクラスを実行する場合って
solu = Solution()
solu.longestCommonPrefix()
こんな感じにすると思うんだが、エラーが
NameError: name 'List' is not defined
とかになるんだよね
コードをvscodeとかのエディタ上で再現しようとしてもinputはleetcode側がやってるから、コードコピペしてもうまく動かないってことか?
Input: strs = ["flower","flow","flight"]
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
# 回答をここに書いた
こういうクラスを実行する場合って
solu = Solution()
solu.longestCommonPrefix()
こんな感じにすると思うんだが、エラーが
NameError: name 'List' is not defined
とかになるんだよね
2022/06/12(日) 18:18:33.18ID:d5yVlq+K
そのくらいはimportしろよ
77デフォルトの名無しさん
2022/06/12(日) 18:22:48.72ID:V8Tt9ICP エラー文も読めないのか
新しいpythonならlist[str]だバカタレ
新しいpythonならlist[str]だバカタレ
2022/06/12(日) 18:23:08.52ID:fSdhUbKc
79デフォルトの名無しさん
2022/06/12(日) 18:42:58.91ID:w/rq6Our nameErrorとかattributeErrorと最低限のエラーぐらい読めるようになろう
問題といてる場合じゃない
問題といてる場合じゃない
2022/06/12(日) 19:23:48.95ID:9B8stwi/
2022/06/17(金) 03:56:57.46ID:i0EppADi
>>1
def reverse(url): return url[::-1]
lst = [ ['=v?hc','taw/','moc.e'], ['.www','//:sp','tth'], ['but','uoy'] ]
yt = ''.join( lst[0] + lst[2] + lst[1] )
id_lst = ['MOYukLAWwkK', 'A4c_Lbwf-Jw', '0glgH5rR_po']
for id in id_lst: print( reverse( id + yt ) )
"".join("ht_t_ps://ja_.wiki_pedia.o_rg/_wiki/朝鮮神宮".split("_"))
def reverse(url): return url[::-1]
lst = [ ['=v?hc','taw/','moc.e'], ['.www','//:sp','tth'], ['but','uoy'] ]
yt = ''.join( lst[0] + lst[2] + lst[1] )
id_lst = ['MOYukLAWwkK', 'A4c_Lbwf-Jw', '0glgH5rR_po']
for id in id_lst: print( reverse( id + yt ) )
"".join("ht_t_ps://ja_.wiki_pedia.o_rg/_wiki/朝鮮神宮".split("_"))
82デフォルトの名無しさん
2022/06/17(金) 05:22:40.60ID:eircCDFG >>1
reverse = lambda *argv: [ '//:sptth'[::-1] + url[::-1] for url in argv ]
lst_url = reverse('IPq5AyxxvpM=v?hctaw/moc.ebutuoy.www',
'0EgauYFUN8N=v?hctaw/moc.ebutuoy.www',
'48132/-/selcitra/pj.tnediserp',
'4456111984139806941/sutats/oobnolihsusta/moc.rettiwt',
'81605591320X602502201/txt/elpmis/pj.og.ldn.iakkok',
'1021=morf?15978662os/hctaw/pj.oedivocin.www',
'8xebddeeiYY=v?hctaw/moc.ebutuoy.www')
print(*lst_url, sep='\n')
reverse = lambda *argv: [ '//:sptth'[::-1] + url[::-1] for url in argv ]
lst_url = reverse('IPq5AyxxvpM=v?hctaw/moc.ebutuoy.www',
'0EgauYFUN8N=v?hctaw/moc.ebutuoy.www',
'48132/-/selcitra/pj.tnediserp',
'4456111984139806941/sutats/oobnolihsusta/moc.rettiwt',
'81605591320X602502201/txt/elpmis/pj.og.ldn.iakkok',
'1021=morf?15978662os/hctaw/pj.oedivocin.www',
'8xebddeeiYY=v?hctaw/moc.ebutuoy.www')
print(*lst_url, sep='\n')
83デフォルトの名無しさん
2022/06/17(金) 08:29:57.19ID:doPvN/Dz これを三項演算子で書くことってできますかね?
if a:
if b or c:
print("1")
else:
pring("2")
if a:
if b or c:
print("1")
else:
pring("2")
2022/06/17(金) 08:40:15.00ID:impPpfbo
インデントどこやった
2022/06/17(金) 09:16:26.10ID:b18JcTPN
5chはインデント未対応なので
pythonコードを貼るときは
行頭インデントを全角アンダーバーで
埋めてください
pythonコードを貼るときは
行頭インデントを全角アンダーバーで
埋めてください
86デフォルトの名無しさん
2022/06/17(金) 09:26:11.91ID:doPvN/Dz こんなかんじです
a b c は true か falseが入る変数です
if a:
_if b or c:
__print("1")
else:
_print("2")
a b c は true か falseが入る変数です
if a:
_if b or c:
__print("1")
else:
_print("2")
87デフォルトの名無しさん
2022/06/17(金) 09:35:01.18ID:nb2nCyEf2022/06/17(金) 09:52:15.09ID:Ws3c1l54
回答になってないが
if not a:
__print(2)
elif b or c:
__print(1)
でよくない?
if not a:
__print(2)
elif b or c:
__print(1)
でよくない?
2022/06/17(金) 12:17:47.74ID:uqpMsu92
a = True, b = False, c = Falseのケースを見落としてるのか
意図して何もしてないのかが読み手にはわからないからすごく気持ち悪い
意図して何もしてないのかが読み手にはわからないからすごく気持ち悪い
2022/06/17(金) 12:40:54.46ID:u2aqxJXf
テキストだと以下のようになるんだけど
# 整数(Python の int 型)の要素をもつリストを与えた場合
x = np.array([1, 2, 3])
x.dtype
結果
dtype('int64')
自分の環境だとdtype('int32')になるんだよね
これってあんまり気にしなくて良い部分?
ちなみに以下のはテキストと同じ結果になる
# 浮動小数点数(Python の float 型)の要素をもつリストを与えた場合
x = np.array([1., 2., 3.])
x.dtype
結果
dtype('float64')
# 整数(Python の int 型)の要素をもつリストを与えた場合
x = np.array([1, 2, 3])
x.dtype
結果
dtype('int64')
自分の環境だとdtype('int32')になるんだよね
これってあんまり気にしなくて良い部分?
ちなみに以下のはテキストと同じ結果になる
# 浮動小数点数(Python の float 型)の要素をもつリストを与えた場合
x = np.array([1., 2., 3.])
x.dtype
結果
dtype('float64')
2022/06/17(金) 13:02:51.91ID:sBNVv+WO
numpyのintはC言語のlong
あなたの環境はWindowsで本はLinuxなのだろう
あなたの環境はWindowsで本はLinuxなのだろう
92デフォルトの名無しさん
2022/06/17(金) 16:24:32.82ID:G79h5Zer >>87
無駄な改行が増えるので仕様が異なる
無駄な改行が増えるので仕様が異なる
93デフォルトの名無しさん
2022/06/17(金) 16:26:41.62ID:G79h5Zer2022/06/17(金) 17:59:15.20ID:JzEGKltv
>>93
それとは別の話なんやで
それとは別の話なんやで
2022/06/17(金) 19:32:27.63ID:Ta4m0XWe
>>82
'stnemugra-gnikcapnu-tut#lmth.wolflortnoc/lairotut/3/aj/gro.nohtyp.scod//:sptth'[::-1]
'stnemugra-gnikcapnu-tut#lmth.wolflortnoc/lairotut/3/aj/gro.nohtyp.scod//:sptth'[::-1]
2022/06/17(金) 20:07:00.23ID:IFnpw5My
jupyternotebook で実行中のセルからほかのセルを呼び出して実行できませんか?
マジックコマンドをみてもそれらしきものがないような
vbaでいえば、セルをプロシージャ、ノートブックをモジュールのように扱いたいのですが・・
マジックコマンドをみてもそれらしきものがないような
vbaでいえば、セルをプロシージャ、ノートブックをモジュールのように扱いたいのですが・・
97デフォルトの名無しさん
2022/06/17(金) 23:55:43.50ID:doPvN/Dz 86ですが回答ありがとうございました。
これでいけそうです
print("b") if not a else print("a") if b or c else print("c")
これでいけそうです
print("b") if not a else print("a") if b or c else print("c")
2022/06/18(土) 01:17:30.65ID:lHai4Yqe
99デフォルトの名無しさん
2022/06/18(土) 11:02:31.05ID:0BdDrqNN100デフォルトの名無しさん
2022/06/18(土) 17:19:34.23ID:AeKYwQGO ""と''の違いってある?
単に出力の違いとかじゃなくてコードを書く上での使い方の違いとか
単に出力の違いとかじゃなくてコードを書く上での使い方の違いとか
101デフォルトの名無しさん
2022/06/18(土) 18:19:13.17ID:HiXA4239102デフォルトの名無しさん
2022/06/18(土) 18:53:41.89ID:U2ccem7m >>100
英語キーボードなら''のほうが楽
英語キーボードなら''のほうが楽
103デフォルトの名無しさん
2022/06/18(土) 19:06:28.02ID:H57335ve >>98
ありがとうございます
検索すると、実行セルのipynbとは別のipynbファイルおよびセルをインポートする方法はあるのですが、
実行セルと同じipynbファイルにある別セル(例えば、実行セルの一つ上のセル)を呼び出したい
場合は、自分自身のipynbをインポートするということでしょうか?
インポートするipynbのセルすべてを実行するとあるので、素人感覚では無限ループになってしまうそうなのですが・・
呼び出される側のセルをpyファイルに出力してそのpyファイルをインポートすればいい話かもしれませんが、いちいち
pyファイルで書き出すのもなあ…と 理解が悪くてすみません
ありがとうございます
検索すると、実行セルのipynbとは別のipynbファイルおよびセルをインポートする方法はあるのですが、
実行セルと同じipynbファイルにある別セル(例えば、実行セルの一つ上のセル)を呼び出したい
場合は、自分自身のipynbをインポートするということでしょうか?
インポートするipynbのセルすべてを実行するとあるので、素人感覚では無限ループになってしまうそうなのですが・・
呼び出される側のセルをpyファイルに出力してそのpyファイルをインポートすればいい話かもしれませんが、いちいち
pyファイルで書き出すのもなあ…と 理解が悪くてすみません
104デフォルトの名無しさん
2022/06/18(土) 19:19:37.26ID:HiXA4239 普通に関数を作るのではだめなの
105デフォルトの名無しさん
2022/06/18(土) 20:04:40.40ID:H57335ve >>104
ありがとうございます
それでももちろんできるのですが、呼び出される側のセルを単体で実行することも多く、また同一ipynbのその他多くの
セルからも呼び出したいのです(処理が共通している
vbaだと、publicsubプロシージャで独立させてしまえばいい話だったので同じことがしたいなと
ありがとうございます
それでももちろんできるのですが、呼び出される側のセルを単体で実行することも多く、また同一ipynbのその他多くの
セルからも呼び出したいのです(処理が共通している
vbaだと、publicsubプロシージャで独立させてしまえばいい話だったので同じことがしたいなと
106デフォルトの名無しさん
2022/06/18(土) 20:08:08.31ID:cOcEcivy jupyterなんて池沼用だろ
107デフォルトの名無しさん
2022/06/18(土) 22:44:24.65ID:FjYCWDRz blenderでpythonスクリプトを使ってキャラクターの目のまばたきの動きを制御してるんですがやってることをグラフで表すとこんな感じで
https://i.imgur.com/3wSHCrT.jpg
yにどのくらい目を動かすかの数値が入り
xにアニメーションの経過フレーム数が入るとして
xが0のときyは0 xが3のときyは6 という条件があるものとして
それをグラフで表すと増量が一定ならば一番左のグラフのようにyが2ずつ増えるグラフになると思いますけど
これだとまばたきが毎回同じ動きになってしまうので変化をつけたいんですが
たとえば真ん中や右のグラフのようにyの数値が不規則に増えていくグラフを計算するたびに作成するみたいなことをしてまばたきの動きに変化をつけたいんですが
それに使える関数とか計算式みたいのってないですかね
https://i.imgur.com/3wSHCrT.jpg
yにどのくらい目を動かすかの数値が入り
xにアニメーションの経過フレーム数が入るとして
xが0のときyは0 xが3のときyは6 という条件があるものとして
それをグラフで表すと増量が一定ならば一番左のグラフのようにyが2ずつ増えるグラフになると思いますけど
これだとまばたきが毎回同じ動きになってしまうので変化をつけたいんですが
たとえば真ん中や右のグラフのようにyの数値が不規則に増えていくグラフを計算するたびに作成するみたいなことをしてまばたきの動きに変化をつけたいんですが
それに使える関数とか計算式みたいのってないですかね
108デフォルトの名無しさん
2022/06/18(土) 22:53:35.95ID:HiXA4239 この分野はド素人だが
CSSにはanimation-timing-functionってのがあって似てる
CSSにはanimation-timing-functionってのがあって似てる
109デフォルトの名無しさん
2022/06/19(日) 09:13:37.77ID:CQcbRoeX dictionary_one = {"a": 1, "b": 2, "c": 3}
dictionary_two = {"c": 3, "d": 4}
merged1 = {**dictionary_one, **dictionary_two}
print(merged) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
merged2 = dictionary_one | dictionary_two
print(merged2)
これの "merged1="部分と"merged2 ="部分ってやってること同じという認識でいいのかな?
dictionary_two = {"c": 3, "d": 4}
merged1 = {**dictionary_one, **dictionary_two}
print(merged) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
merged2 = dictionary_one | dictionary_two
print(merged2)
これの "merged1="部分と"merged2 ="部分ってやってること同じという認識でいいのかな?
110デフォルトの名無しさん
2022/06/19(日) 09:55:52.19ID:EfD69g8z >>109
前者は遅い
前者は遅い
111デフォルトの名無しさん
2022/06/19(日) 11:42:39.18ID:Lvzk3izZ 速度はほぼ同じ
しかし今の時代に演算子にやらせる処理じゃないな
それも論理演算子を想起するものを使うとか正気と沙汰とは思えない
Guidoも演算子推してたけどセンスが悪すぎないか?
しかし今の時代に演算子にやらせる処理じゃないな
それも論理演算子を想起するものを使うとか正気と沙汰とは思えない
Guidoも演算子推してたけどセンスが悪すぎないか?
112デフォルトの名無しさん
2022/06/19(日) 12:37:09.83ID:sa8W0ZGX 論理演算自体、集合演算と切っても切れない関係だから、まるで違和感ないな
113デフォルトの名無しさん
2022/06/19(日) 15:08:21.20ID:mFXr9uBN dictを拡張するPEPは、setに準じた挙動にするのが目標の一つだったから、どう転んでも論理演算子のオーバーライドは外されなかっただろう
114デフォルトの名無しさん
2022/06/19(日) 15:26:32.46ID:cDaRhPWb115デフォルトの名無しさん
2022/06/19(日) 15:37:38.06ID:V2Ko/eSH116デフォルトの名無しさん
2022/06/19(日) 15:47:44.79ID:JUrmuEeo https://peps.python.org/pep-0584/
こんなの追加するなよと思ってしまうけど結構面白い
こんなの追加するなよと思ってしまうけど結構面白い
117デフォルトの名無しさん
2022/06/19(日) 16:18:18.38ID:AfW1xcqK inplaceじゃないdict.updateが欲しかっただけなのに
それをメソッドで用意できないところがPythonの限界
sort/sortedやin演算子に共通する基本的API設計の問題だから
Pythonはそういうもんだと諦めて
用意されたものを使う事だけに専念した方が精神衛生上いいよ
それをメソッドで用意できないところがPythonの限界
sort/sortedやin演算子に共通する基本的API設計の問題だから
Pythonはそういうもんだと諦めて
用意されたものを使う事だけに専念した方が精神衛生上いいよ
118デフォルトの名無しさん
2022/06/19(日) 16:34:05.36ID:+3VyORCf119デフォルトの名無しさん
2022/06/19(日) 17:04:44.33ID:SF0ERYFz 不毛な返しだな
潜在的に不幸な奴はどこでどんな生活をしてても不幸だって言うだろ
同様にどこでどんな仕様の言語を使ってても不平を垂れてんだよ
潜在的に不幸な奴はどこでどんな生活をしてても不幸だって言うだろ
同様にどこでどんな仕様の言語を使ってても不平を垂れてんだよ
120デフォルトの名無しさん
2022/06/19(日) 17:17:33.66ID:tgIktWD1 誰と会話してるのか知らないが
Pythonこそ人類最大の功績だろ
いかがわしいウェブサイトの構築からAIや研究畑まで広がる広大な活躍範囲
JavaもRubyも要らんかったんや
Pythonこそ人類最大の功績だろ
いかがわしいウェブサイトの構築からAIや研究畑まで広がる広大な活躍範囲
JavaもRubyも要らんかったんや
121デフォルトの名無しさん
2022/06/19(日) 18:03:25.93ID:EYUnw8+k122デフォルトの名無しさん
2022/06/19(日) 19:03:27.86ID:MGBoiv+i 俺もDictの論理和で違和感ないがなぁ。
123デフォルトの名無しさん
2022/06/19(日) 22:17:06.63ID:njnZ7xZC dict1 | dict2で同じ(hash値の)keyが両方にあれば
keyはdict1からvalueはdict2から取ってくる
一般的な論理和の定義とは明らかに異なるけど
これをpythonではdictの論理和と呼ぶことにしたのならそれでいいんじゃない
keyはdict1からvalueはdict2から取ってくる
一般的な論理和の定義とは明らかに異なるけど
これをpythonではdictの論理和と呼ぶことにしたのならそれでいいんじゃない
124デフォルトの名無しさん
2022/06/19(日) 22:17:07.56ID:m8jSBDD8125デフォルトの名無しさん
2022/06/19(日) 22:44:59.15ID:sa8W0ZGX >>123
keyは同じものなんだからどっちからもってきてもいいだろ。
仕様でもvalueをdict2から持ってくることだけしか決められてないんだからそんなところに依存するコードを書いたらお前が悪いとしか言えん。
あと同じhash値ってだけで同定されると思ってるみたいだな
keyは同じものなんだからどっちからもってきてもいいだろ。
仕様でもvalueをdict2から持ってくることだけしか決められてないんだからそんなところに依存するコードを書いたらお前が悪いとしか言えん。
あと同じhash値ってだけで同定されると思ってるみたいだな
126デフォルトの名無しさん
2022/06/20(月) 00:01:19.54ID:FO/JkqKw >>123
誰もdictの論理和と呼ぶ奴いないが
誰もdictの論理和と呼ぶ奴いないが
127デフォルトの名無しさん
2022/06/20(月) 00:04:58.71ID:FO/JkqKw こんな場末の掲示板で美学()を垂れてる大先生達はPEPに提案でもすればいいのにな
https://github.com/python/peps/blob/main/CONTRIBUTING.rst
https://github.com/python/peps/blob/main/CONTRIBUTING.rst
128デフォルトの名無しさん
2022/06/20(月) 00:51:48.01ID:3bt1t/j5129デフォルトの名無しさん
2022/06/20(月) 09:01:28.64ID:clQvML/w picture(数字).pngで連番のファイルを生成したんだけどpathlibでディレクトリの中身覗くと
picture0.png
picture1.png
picture3.png
picture2.png
picture4.png
みたいな順番になってる事があってなんだか気持ちが悪い
これって何が原因なんです?pathlibの仕様?
picture0.png
picture1.png
picture3.png
picture2.png
picture4.png
みたいな順番になってる事があってなんだか気持ちが悪い
これって何が原因なんです?pathlibの仕様?
130デフォルトの名無しさん
2022/06/20(月) 10:51:33.24ID:bmv2finQ iterdir()とiterdir()が使ってるos.listdir()の仕様
131デフォルトの名無しさん
2022/06/20(月) 10:52:01.17ID:NopO3X5I lenovoのL420っていうノートパソコン使っています
celeron,4GBです
教科書レベルのプログラムを写経してます
画像ファイル256枚、一枚あたり30kb位のファイルを
重ねる画像処理をpythonで行っているのですが
MemoryErrorがでて処理が止まります
画像処理の分野ではよくあることなのでしょうか
メモリ空きスロットが無いです
今までメモリ不足なんて無かったのですが
PC買い替えでしょうか?
celeron,4GBです
教科書レベルのプログラムを写経してます
画像ファイル256枚、一枚あたり30kb位のファイルを
重ねる画像処理をpythonで行っているのですが
MemoryErrorがでて処理が止まります
画像処理の分野ではよくあることなのでしょうか
メモリ空きスロットが無いです
今までメモリ不足なんて無かったのですが
PC買い替えでしょうか?
132デフォルトの名無しさん
2022/06/20(月) 11:06:40.33ID:VCuoWLch133デフォルトの名無しさん
2022/06/21(火) 19:48:14.54ID:BPheRP/d #次のような集合のリストのリストrを作りました:
r = [[set(range(1,4))]*3]*3
> print(r)
[[{1,2,3}, {1,2,3}, {1,2,3}],
[{1,2,3}, {1,2,3}, {1,2,3}],
[{1,2,3}, {1,2,3}, {1,2,3}]]
#上から2番目、左から3番目の集合を更新して要素を1のみとしました:
r[1,2] = {1}
#するとr[0,2]とr[2,2]も{1}になっちゃいました:
> print(r)
[[{1,2,3}, {1,2,3}, {1}],
[{1,2,3}, {1,2,3}, {1}],
[{1,2,3}, {1,2,3}, {1}]]
r[1,2]以外が変わった原因と、r[1,2]以外が変わらないような方法教えて下さい
r = [[set(range(1,4))]*3]*3
> print(r)
[[{1,2,3}, {1,2,3}, {1,2,3}],
[{1,2,3}, {1,2,3}, {1,2,3}],
[{1,2,3}, {1,2,3}, {1,2,3}]]
#上から2番目、左から3番目の集合を更新して要素を1のみとしました:
r[1,2] = {1}
#するとr[0,2]とr[2,2]も{1}になっちゃいました:
> print(r)
[[{1,2,3}, {1,2,3}, {1}],
[{1,2,3}, {1,2,3}, {1}],
[{1,2,3}, {1,2,3}, {1}]]
r[1,2]以外が変わった原因と、r[1,2]以外が変わらないような方法教えて下さい
134デフォルトの名無しさん
2022/06/21(火) 20:00:56.97ID:BPheRP/d >>133 訂正
r[1,2]じゃなくてr[1][2]でした (他同様)
r[1,2]じゃなくてr[1][2]でした (他同様)
135デフォルトの名無しさん
2022/06/21(火) 20:03:33.86ID:nUT03NU2 deepcopyで検索ゥ
136デフォルトの名無しさん
2022/06/21(火) 20:08:37.10ID:SE7t042v [[set(range(1, 4)) in x for range(3)] in y for range(3)]
137デフォルトの名無しさん
2022/06/21(火) 20:18:32.01ID:SH7wWIQd >>133
多次元のリストを作るにはどうしますか?
https://docs.python.org/ja/3/faq/programming.html#faq-multidimensional-list
多次元のリストを作るにはどうしますか?
https://docs.python.org/ja/3/faq/programming.html#faq-multidimensional-list
138デフォルトの名無しさん
2022/06/21(火) 20:18:51.87ID:BPheRP/d139デフォルトの名無しさん
2022/06/22(水) 11:44:54.88ID:EcTc17L7 ほとんどの言語は、shallow copy
実体をコピーしない。
ポインター・参照しかコピーしない
実体をいじると、それを参照している全ての参照に影響が出る。
実体を参照を通して見ているから
なかなか簡単には、deep copy できない。
参照のリンクを切り離せない
Elixir みたいな関数型言語は、
オブジェクトを更新できない(状態を持てない)から、
こういう問題はなく、安全にプログラミングできる
実体をコピーしない。
ポインター・参照しかコピーしない
実体をいじると、それを参照している全ての参照に影響が出る。
実体を参照を通して見ているから
なかなか簡単には、deep copy できない。
参照のリンクを切り離せない
Elixir みたいな関数型言語は、
オブジェクトを更新できない(状態を持てない)から、
こういう問題はなく、安全にプログラミングできる
140デフォルトの名無しさん
2022/06/22(水) 12:13:41.31ID:TN4B0obT なんかさ、もううんこだよね
141デフォルトの名無しさん
2022/06/22(水) 21:49:37.76ID:kEl16R0O 特定のフォルダ以下のサブフォルダから拡張子を取得して
指定したフォルダ下に拡張子のフォルダを作りたくて
下記のプログラムを書いたところで動作しましたが
os.makedirs文のみで完結する簡素な記述方法はありますか?
cd_path ← フォルダを作りたい場所
file_extension ← FOR文で取得した拡張子
path = os.path.join(cd_path, file_extension)
os.makedirs(path, exist_ok=True)
指定したフォルダ下に拡張子のフォルダを作りたくて
下記のプログラムを書いたところで動作しましたが
os.makedirs文のみで完結する簡素な記述方法はありますか?
cd_path ← フォルダを作りたい場所
file_extension ← FOR文で取得した拡張子
path = os.path.join(cd_path, file_extension)
os.makedirs(path, exist_ok=True)
142デフォルトの名無しさん
2022/06/22(水) 22:14:47.11ID:1aHzqpDi143デフォルトの名無しさん
2022/06/22(水) 23:39:08.69ID:uPuQk0KY みんな一時は罹ってしまうコードゴルフ
中二病にちかい
中二病にちかい
144デフォルトの名無しさん
2022/06/23(木) 00:13:39.08ID:RPGBecSe 配列(array)の要素それぞれにリストを入れることは出来ない?
リストの要素それぞれに配列を入れることはできる?
でいいのかな?
リストの要素それぞれに配列を入れることはできる?
でいいのかな?
145デフォルトの名無しさん
2022/06/23(木) 00:24:13.97ID:RKdZXyYS あまりやらないけれど
配列の要素はそれぞれ任意のものを入れられるから
最初に配列、次に文字列でもすきなクラスでも大丈夫
もちろんぜんぶ配列でもOK
配列の要素はそれぞれ任意のものを入れられるから
最初に配列、次に文字列でもすきなクラスでも大丈夫
もちろんぜんぶ配列でもOK
146デフォルトの名無しさん
2022/06/23(木) 10:12:12.29ID:bFbjfjx7 dictのキーにString型のリストとバリューにリストに入った多重結界みたいなデータ作ってjsonとして書き出すみたいな遊びだよね
147デフォルトの名無しさん
2022/06/23(木) 14:55:17.55ID:EV0+4t37 https://github.com/yaneurao/Ayane
のunit_test1.pyの、一番基本的なtest_ayane1を通そうとするとプロンプトにtest_ayane1 : とだけ
でてwrite_workerの734行目のself.proc.stdin.flush()でスレッドが死んでるような?感じなのですが
試して原因を教えてくれる神はいませんか。
ちなみに呼び出すエンジン自体は別のソフトや、cshogiというこれと似たライブラリからの呼び出しでちゃんと
動作していることを確認しています。
のunit_test1.pyの、一番基本的なtest_ayane1を通そうとするとプロンプトにtest_ayane1 : とだけ
でてwrite_workerの734行目のself.proc.stdin.flush()でスレッドが死んでるような?感じなのですが
試して原因を教えてくれる神はいませんか。
ちなみに呼び出すエンジン自体は別のソフトや、cshogiというこれと似たライブラリからの呼び出しでちゃんと
動作していることを確認しています。
148デフォルトの名無しさん
2022/06/23(木) 15:04:04.22ID:Ukh7Grgr 判った
149デフォルトの名無しさん
2022/06/23(木) 15:58:15.03ID:EV0+4t37 >>147
Python 3.7.13で、macOS12.4 Montley上です。
Python 3.7.13で、macOS12.4 Montley上です。
150デフォルトの名無しさん
2022/06/24(金) 11:43:47.67ID:3JV7YPJq socketのサーバー側で
i=0
while True:
data=soc.recv(受信サイズ)
if not data:
break
data_sum+=data
with open(f"保存するファイル名_{i}.zip",mode="ab") as f:
f.write(data_sum)
i+=1
みたいにするとクライアント側が送信したデータの他に数個のzipファイルが出来るんだけどこのデータの中身は何なんだろう?
zipfileで開こうとするとエラー出力しちゃう
変数iを使わずに受信するとクライアントが送信したデータだけが残るみたいだけど…
i=0
while True:
data=soc.recv(受信サイズ)
if not data:
break
data_sum+=data
with open(f"保存するファイル名_{i}.zip",mode="ab") as f:
f.write(data_sum)
i+=1
みたいにするとクライアント側が送信したデータの他に数個のzipファイルが出来るんだけどこのデータの中身は何なんだろう?
zipfileで開こうとするとエラー出力しちゃう
変数iを使わずに受信するとクライアントが送信したデータだけが残るみたいだけど…
151デフォルトの名無しさん
2022/06/24(金) 12:05:35.52ID:K2we1Lar152名無し募集中。。。
2022/06/24(金) 13:18:15.52ID:d6WBxki6 FOR文の中にtqdm()を入れてみたんんですが
下記みたいなのしか表示されなくプログレスバーが表示されません
70786it [3:35:59, 1.94it/s]
なにが問題なんでしょうか?
下記みたいなのしか表示されなくプログレスバーが表示されません
70786it [3:35:59, 1.94it/s]
なにが問題なんでしょうか?
153デフォルトの名無しさん
2022/06/24(金) 14:31:40.66ID:yJmddVFh 実際のコードを書かないこと
154ぴよ
2022/06/24(金) 14:59:09.01ID:XR8KeGTq ほげほげ
155デフォルトの名無しさん
2022/06/24(金) 19:30:36.14ID:n0/ceoPd156デフォルトの名無しさん
2022/06/24(金) 23:45:09.14ID:/S8ogjuv >>150
VSCode で、バイナリエディタの拡張機能・Hex Editor でも使って、バイナリとして見てみれば?
文字コードなどが不明なので、テキストとして見るには困る
適当に内容を作って、ファイルの拡張子を .zip にしても、
正しいZIPファイルの形式になるはずがないので、ZIPファイルとしては動作しない
各拡張子のファイルには、決められた構成があるため、
それに従っていない場合は、正常に動作しない
VSCode で、バイナリエディタの拡張機能・Hex Editor でも使って、バイナリとして見てみれば?
文字コードなどが不明なので、テキストとして見るには困る
適当に内容を作って、ファイルの拡張子を .zip にしても、
正しいZIPファイルの形式になるはずがないので、ZIPファイルとしては動作しない
各拡張子のファイルには、決められた構成があるため、
それに従っていない場合は、正常に動作しない
157デフォルトの名無しさん
2022/06/25(土) 00:01:18.86ID:eoWHGkrH Phil Katz に聞くべき
158デフォルトの名無しさん
2022/06/25(土) 00:11:42.65ID:z9QRxAiq 降霊術を習得しないと
159デフォルトの名無しさん
2022/06/25(土) 19:47:06.55ID:fwnfW89W Pythonでsetの要素がイミュータブルでないといけないのはなぜですか?
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
S = {a, b, c}
a.append(0)
この状況で、
a in Sの値が偽になっても別に構わないと思います。
Sに登録した時点でのaは{1, 2, 3}だったわけですから、
d = {1, 2, 3}
d in Sが真になりさえすれば何もおかしなことはないと思います。
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
S = {a, b, c}
a.append(0)
この状況で、
a in Sの値が偽になっても別に構わないと思います。
Sに登録した時点でのaは{1, 2, 3}だったわけですから、
d = {1, 2, 3}
d in Sが真になりさえすれば何もおかしなことはないと思います。
160デフォルトの名無しさん
2022/06/25(土) 19:57:20.22ID:I0eUacPf S = {a,b,c}
TypeError: unhashable type: 'list'
TypeError: unhashable type: 'list'
161デフォルトの名無しさん
2022/06/25(土) 20:23:18.44ID:bZig/WUT こういう馬鹿が辞書のキーにまでリスト入れたいとか言い出すんだろうな
162デフォルトの名無しさん
2022/06/25(土) 20:26:09.88ID:gQjoPRQF163デフォルトの名無しさん
2022/06/25(土) 20:36:01.58ID:9jpr7vFN164デフォルトの名無しさん
2022/06/25(土) 21:18:41.55ID:gQjoPRQF >>163
本質的にはそうじゃない、ユーザークラスは既定でハッシュ化できるが
これは一般的な実装ではid()、即ちインスタンスアドレスに基づくもの
実質的に求められているのはハッシュの不変性であり、それならば通る
しかし同一性を内容で評価するなら意味は成さないのでlistだと未定義
データモデル曰く「クラスがミュータブルなオブジェクトを定義しており、
__eq__() メソッドを実装しているなら、 __hash__() を定義してはなりません。」
本質的にはそうじゃない、ユーザークラスは既定でハッシュ化できるが
これは一般的な実装ではid()、即ちインスタンスアドレスに基づくもの
実質的に求められているのはハッシュの不変性であり、それならば通る
しかし同一性を内容で評価するなら意味は成さないのでlistだと未定義
データモデル曰く「クラスがミュータブルなオブジェクトを定義しており、
__eq__() メソッドを実装しているなら、 __hash__() を定義してはなりません。」
165デフォルトの名無しさん
2022/06/26(日) 01:34:01.17ID:A2gDvo6x やってやれないことはないけど
デメリットを打ち消すだけのメリットを見いだせなかったんでしょGuidoが
単に他の言語のdict/setに合わせただけかも知れんが
ともかく、真実が知りたかったら開発者に聞いてこいよ
デメリットを打ち消すだけのメリットを見いだせなかったんでしょGuidoが
単に他の言語のdict/setに合わせただけかも知れんが
ともかく、真実が知りたかったら開発者に聞いてこいよ
166デフォルトの名無しさん
2022/06/26(日) 07:16:45.51ID:eSuyoUi6167デフォルトの名無しさん
2022/06/26(日) 13:31:03.88ID:DTfGvOZF ねんまつ
168デフォルトの名無しさん
2022/06/27(月) 08:09:04.08ID:Zqv939YP PCでのアプリ操作を自動化したいのですが、pyocrで文字認識して、内容によって判断し、pyautoguiでxy座標指定して、ボタン押すしかないでしょうか?
169デフォルトの名無しさん
2022/06/27(月) 08:14:55.95ID:RN7qnQjk 物によるとしか言いようが無いな
170デフォルトの名無しさん
2022/06/27(月) 08:17:13.06ID:RN7qnQjk PyAutoGui でカバー出来るか出来ないかを判断してみたら?
171デフォルトの名無しさん
2022/06/27(月) 18:27:20.11ID:3qzf3wBJ 以前MACにいれたpython3を削除できないです。
% rm -rf /usr/bin/python3
rm: /usr/bin/python3: Read-only file system
% sudo rm -rf /usr/bin/python3
Password:
rm: illegal option -- ?
usage: rm [-f | -i] [-dPRrvW] file ...
unlink file
原因わかる方いますか?
% rm -rf /usr/bin/python3
rm: /usr/bin/python3: Read-only file system
% sudo rm -rf /usr/bin/python3
Password:
rm: illegal option -- ?
usage: rm [-f | -i] [-dPRrvW] file ...
unlink file
原因わかる方いますか?
172デフォルトの名無しさん
2022/06/27(月) 18:53:43.40ID:0yF6vhsn >>171
sudoのほうは全角スペースが入ってるのが原因
sudoのほうは全角スペースが入ってるのが原因
173デフォルトの名無しさん
2022/06/27(月) 19:05:21.65ID:a8sMrZjJ 172の優しさに感動
174デフォルトの名無しさん
2022/06/27(月) 19:25:49.92ID:cL/RIHXE そのpython入れたのはAppleだから通常起動したOSからは削除できない仕組み
消えたらOS内のスクリプトが動かなくなるよ
よかったねOSが壊れなくて
消えたらOS内のスクリプトが動かなくなるよ
よかったねOSが壊れなくて
175デフォルトの名無しさん
2022/06/27(月) 20:20:17.78ID:3qzf3wBJ >>172
迅速なレスありがとうございます。
もう一度コメント打ちましたが同じ結果でした。全角は入ってないようです。
>>174
MACから元々インストールされているのはphyon2なので
Phyon3とは関係ない、削除しても問題ないと思うのですが..
https://i.imgur.com/PpXh6yu.png
迅速なレスありがとうございます。
もう一度コメント打ちましたが同じ結果でした。全角は入ってないようです。
>>174
MACから元々インストールされているのはphyon2なので
Phyon3とは関係ない、削除しても問題ないと思うのですが..
https://i.imgur.com/PpXh6yu.png
176デフォルトの名無しさん
2022/06/27(月) 20:45:49.02ID:xsOnLI+U177デフォルトの名無しさん
2022/06/27(月) 21:25:48.96ID:cL/RIHXE >>175
python3入ってないmacOSってわりと古いよ?
ここ最近はpython2が逆に入ってない(公式サポート終わってるからね)
もし自前で /usr/bin にインストールしたってんならクラッカー気質あるわw
python3入ってないmacOSってわりと古いよ?
ここ最近はpython2が逆に入ってない(公式サポート終わってるからね)
もし自前で /usr/bin にインストールしたってんならクラッカー気質あるわw
178デフォルトの名無しさん
2022/06/27(月) 21:44:39.26ID:XFwxgXBL179デフォルトの名無しさん
2022/06/27(月) 22:13:08.24ID:3qzf3wBJ >>175
追記 すみません自分の勘違いでこのpython3はデフォルトから入ってるファイルのようです。
>>177 さんの仰る通りでした。申し訳ありません。
そして再度インストールしようとhomebrewを入れpyenvを入れ
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
を追加し
source ~/.zshrcを実行してpython3.10.4をインストールするとうまくいきません。。おまかんなのでしょうか??
https://i.imgur.com/ErhCpgK.jpg
追記 すみません自分の勘違いでこのpython3はデフォルトから入ってるファイルのようです。
>>177 さんの仰る通りでした。申し訳ありません。
そして再度インストールしようとhomebrewを入れpyenvを入れ
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
を追加し
source ~/.zshrcを実行してpython3.10.4をインストールするとうまくいきません。。おまかんなのでしょうか??
https://i.imgur.com/ErhCpgK.jpg
180デフォルトの名無しさん
2022/06/27(月) 22:13:29.06ID:3qzf3wBJ >>178
申し訳ありません。
申し訳ありません。
181デフォルトの名無しさん
2022/06/28(火) 01:52:22.87ID:GjoTbrJZ >>179
自決ですが、xcodeが古かったので新しいバージョンにいれた所無事インストールできました。
自決ですが、xcodeが古かったので新しいバージョンにいれた所無事インストールできました。
182デフォルトの名無しさん
2022/06/28(火) 08:26:42.80ID:UgaAibo1 またしても犠牲者が。
pythonの乱用は精神に作用するのかもしれない
pythonの乱用は精神に作用するのかもしれない
183デフォルトの名無しさん
2022/06/28(火) 12:11:58.39ID:W8L8uteA macのOS環境ごとふっとんで死ねば良いのに
184デフォルトの名無しさん
2022/06/28(火) 12:22:02.22ID:SMUgtqGT 日本人が作った、多言語バージョンマネージャーのanyenv を使えばよい。
同様のツールには、asdf もある
nodenv, pyenv, rbenv,
exenv, goenv, tfenv など
node, python, ruby, elixir, go, terraform など
他には、Docker も多い
同様のツールには、asdf もある
nodenv, pyenv, rbenv,
exenv, goenv, tfenv など
node, python, ruby, elixir, go, terraform など
他には、Docker も多い
185デフォルトの名無しさん
2022/06/28(火) 13:58:17.02ID:5S91HeIj re.subで[]で囲まれた文字列の中を置換するとき、どんな記述をすればよいですか?
re.sub(r'\[.*c.*\], 'x', '[abcabc]abc')
期待する値
[abxabx]abc
re.sub(r'\[.*c.*\], 'x', '[abcabc]abc')
期待する値
[abxabx]abc
186デフォルトの名無しさん
2022/06/28(火) 14:07:39.85ID:N3XtpiKU >>185
re.sub(r'\[[^\]]*\]', lambda m: m[0].replace('c', 'x'), '[abcabc]abc')
re.sub(r'\[[^\]]*\]', lambda m: m[0].replace('c', 'x'), '[abcabc]abc')
187185
2022/06/28(火) 14:31:31.24ID:5S91HeIj >>186
多謝!! そしてごめんなさい。良ければ解説を。
多謝!! そしてごめんなさい。良ければ解説を。
188185
2022/06/28(火) 14:49:53.04ID:5S91HeIj []の中だけを対象にreplaceしているのは、なんとか分かるんですが、re.sub の第2引数、
lambda m: m[0].replace('c', 'x')
が何をしているのかわかりません(泣)
lambda m: m[0].replace('c', 'x')
が何をしているのかわかりません(泣)
189デフォルトの名無しさん
2022/06/28(火) 14:52:51.94ID:dX7Zsa+9190デフォルトの名無しさん
2022/06/28(火) 14:59:09.76ID:d3+RKzUY repl が関数であれば~の下りね、m[g]はm.group(g)と同等
後読みアサーションに固定幅制約がないライブラリなら
面倒なことしなくても(?<=\[.*)c(?=.*\])で済みそうだが
後読みアサーションに固定幅制約がないライブラリなら
面倒なことしなくても(?<=\[.*)c(?=.*\])で済みそうだが
191デフォルトの名無しさん
2022/06/28(火) 15:42:31.79ID:5S91HeIj re.sub(r'\[.*\]', lambda m: m.group(0).replace('c, 'x')
でlambda関数がヒットするたび呼ばれるわけか!!
仕組みは理解できました。
>>190
look-behind requires fixed-width pattern
に阻まれました。
でlambda関数がヒットするたび呼ばれるわけか!!
仕組みは理解できました。
>>190
look-behind requires fixed-width pattern
に阻まれました。
192デフォルトの名無しさん
2022/06/28(火) 19:31:26.15ID:mooH0Iqw m.group はめんどくさい
findall の方が便利
findall の方が便利
193デフォルトの名無しさん
2022/06/29(水) 07:52:27.56ID:9vdu/PbE >192
re.findall だと re.sub のような仕掛けが利用できなくないですか?
>185 できますか??
re.findall だと re.sub のような仕掛けが利用できなくないですか?
>185 できますか??
194デフォルトの名無しさん
2022/06/29(水) 10:56:55.09ID:CtIvUBkO re.findallで[]付きとそれ以外に分けて処理
ちょっと長くなるけど色々応用がききます
# []の中だけreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]=='[' else m for m in _]
['a', '[abxabx]', 'abc', '[abx]']
>>>''.join(_)
'a[abxabx]abc[abx]'
# []の中以外をreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]!='[' else m for m in _]
['a', '[abcabc]', 'abx', '[abc]']
>>>''.join(_)
'a[abcabc]abx[abc]'
ちょっと長くなるけど色々応用がききます
# []の中だけreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]=='[' else m for m in _]
['a', '[abxabx]', 'abc', '[abx]']
>>>''.join(_)
'a[abxabx]abc[abx]'
# []の中以外をreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]!='[' else m for m in _]
['a', '[abcabc]', 'abx', '[abc]']
>>>''.join(_)
'a[abcabc]abx[abc]'
195デフォルトの名無しさん
2022/06/29(水) 19:29:51.42ID:CtIvUBkO 完成形できました!記号が含まれていても[]がちゃんと閉じてなくても
ちゃんと閉じているのだけreplaceします
>>186が秀逸だけど、[]で囲まれていない方をreplaceするとなると
途端に難しくなるから、やっぱ私の方法が良いんじゃないでしょうかw
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc]')
['', 'a', '[abcabc]', '', 'abc', '[abc]', '']
>>>[m.replace('c', 'x') if m and m[0]=='[' else m for m in _]
['', 'a', '[abxabx]', '', 'abc', '[abx]', '']
>>>''.join(_)
'a[abxabx]abc[abx]'
# 文字列に記号が含まれていて[]がちゃんと閉じていなくても大丈夫
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc$$[abc]')
['', 'a', '[abcabc]', '', 'abc', '[', '', 'abc$$', '[abc]', '']
ちゃんと閉じているのだけreplaceします
>>186が秀逸だけど、[]で囲まれていない方をreplaceするとなると
途端に難しくなるから、やっぱ私の方法が良いんじゃないでしょうかw
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc]')
['', 'a', '[abcabc]', '', 'abc', '[abc]', '']
>>>[m.replace('c', 'x') if m and m[0]=='[' else m for m in _]
['', 'a', '[abxabx]', '', 'abc', '[abx]', '']
>>>''.join(_)
'a[abxabx]abc[abx]'
# 文字列に記号が含まれていて[]がちゃんと閉じていなくても大丈夫
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc$$[abc]')
['', 'a', '[abcabc]', '', 'abc', '[', '', 'abc$$', '[abc]', '']
196デフォルトの名無しさん
2022/06/29(水) 22:12:59.69ID:sd1PgpdM 見通し悪すぎて要件満たしててもレビューで蹴られるコード
197デフォルトの名無しさん
2022/06/29(水) 22:25:07.73ID:TQFqK5Fi ちゃんと閉じているの定義があやしい
[[abc]とか
[[abc]とか
198デフォルトの名無しさん
2022/06/29(水) 23:13:54.03ID:CtIvUBkO199デフォルトの名無しさん
2022/06/30(木) 02:06:34.63ID:HSayXmFT kazuyuki
200デフォルトの名無しさん
2022/06/30(木) 20:55:30.42ID:QXLJbWFQ ナンプレのゲーム作りたい
縦横はチェックする方法わかるが
3x3マスの部分だけ配列で考える方法がわからない
↓までは考えたんだが方向性が違う気もする
https://techiedelight.com/compiler/?xIkw
9進法から3進法への変換がベース(ただし3進法は0から始まる)
for x in range(81)
x // 3
x % 3
3桁目に入る場合、1桁目に(3桁目)*3が足される
10 (1,0,0)→(0,3)
4桁目に入る場合、2桁目に(4桁目)*3が足される
28 (1,0,0,0)→(3,0)
縦横はチェックする方法わかるが
3x3マスの部分だけ配列で考える方法がわからない
↓までは考えたんだが方向性が違う気もする
https://techiedelight.com/compiler/?xIkw
9進法から3進法への変換がベース(ただし3進法は0から始まる)
for x in range(81)
x // 3
x % 3
3桁目に入る場合、1桁目に(3桁目)*3が足される
10 (1,0,0)→(0,3)
4桁目に入る場合、2桁目に(4桁目)*3が足される
28 (1,0,0,0)→(3,0)
201デフォルトの名無しさん
2022/06/30(木) 21:46:07.32ID:0uxZVqVl 簡単なのは3x3を座標系とは別の9マスの配列の配列として保持
置いたときに縦横とは別にその配列へ反映させる
縦横も同じ手法をとると統一感ある
コード上は9マスの配列はクラスにするかも
置いたときに縦横とは別にその配列へ反映させる
縦横も同じ手法をとると統一感ある
コード上は9マスの配列はクラスにするかも
202デフォルトの名無しさん
2022/06/30(木) 22:01:04.82ID:zKJ67H3+ 5桁8色のhit&blowを造りたい
人間が設問してpythonに解かせたい
人間が設問してpythonに解かせたい
203デフォルトの名無しさん
2022/07/02(土) 07:54:20.82ID:oFwScFTn >>201
既存の座標系にこだわらないほうがいいか
ありがとう
ナンプレのゲーム作りたいから手始めにナンプレを解くプログラムの検証をしてたんだけど
https://techiedelight.com/compiler/?b-I8
37行目の部分ってどうなってるの?
再帰関数なのはわかるんだけど、if文の中で再帰してるじゃん
def 関数():
if 再帰関数():
retrun Ture
retrun Flase
既存の座標系にこだわらないほうがいいか
ありがとう
ナンプレのゲーム作りたいから手始めにナンプレを解くプログラムの検証をしてたんだけど
https://techiedelight.com/compiler/?b-I8
37行目の部分ってどうなってるの?
再帰関数なのはわかるんだけど、if文の中で再帰してるじゃん
def 関数():
if 再帰関数():
retrun Ture
retrun Flase
204デフォルトの名無しさん
2022/07/02(土) 09:00:34.91ID:Zph8lW04 >>203
再帰だけどやってることは探索のための分岐
rangeの列挙からcontinueされなかった分を順番に分岐してて
呼んだ先で18-20にひっかかると中断して最初の呼び出しまで戻ってる
deepcopyしてるところが富豪的だけどシンプル
再帰だけどやってることは探索のための分岐
rangeの列挙からcontinueされなかった分を順番に分岐してて
呼んだ先で18-20にひっかかると中断して最初の呼び出しまで戻ってる
deepcopyしてるところが富豪的だけどシンプル
205デフォルトの名無しさん
2022/07/02(土) 09:39:17.61ID:EefHjxyZ >>204
この37行目
if set_num(ndata, idx + 1): return True
これを
set_num(ndata, idx + 1)
に変えてみたんだけど結果変わらなかった
if の中に入れる意味あるの?
この37行目
if set_num(ndata, idx + 1): return True
これを
set_num(ndata, idx + 1)
に変えてみたんだけど結果変わらなかった
if の中に入れる意味あるの?
206デフォルトの名無しさん
2022/07/02(土) 09:44:12.51ID:EefHjxyZ 答えが出た後も探索しちゃうからそれを止めるための処理ってことか
207デフォルトの名無しさん
2022/07/02(土) 09:57:44.64ID:COZLaCzb ninbe
208デフォルトの名無しさん
2022/07/11(月) 12:19:00.64ID:aiHSnYNz google colabでcuda使いたい。
良い方法ある?
良い方法ある?
209デフォルトの名無しさん
2022/07/11(月) 12:19:00.73ID:aiHSnYNz google colabでcuda使いたい。
良い方法ある?
良い方法ある?
210デフォルトの名無しさん
2022/07/11(月) 12:39:20.78ID:L4tB3bvp 金払ってないのか?
211デフォルトの名無しさん
2022/07/11(月) 14:48:46.26ID:aiHSnYNz212デフォルトの名無しさん
2022/07/11(月) 15:51:00.64ID:EGP2A4JX 好きなテキストエディタないの?それで基本いいんだけど
拘りないなら拡張とユーザ数からvscodeでいいんじゃない
PyCharmはリファクタまわりが優れているけど必須じゃないし
Atomはオワコン
拘りないなら拡張とユーザ数からvscodeでいいんじゃない
PyCharmはリファクタまわりが優れているけど必須じゃないし
Atomはオワコン
213デフォルトの名無しさん
2022/07/11(月) 17:35:44.11ID:rDGcpouH vsもマイクロソフト以外のプラグインが信用出来ないからあまり良いとは言えないかなー
214デフォルトの名無しさん
2022/07/12(火) 00:04:57.18ID:eIaiUALg 文字列〜〜〜ID123456.text
みたいなファイルからID123456だけを抜き出したいんだけど、どんな方法がある?
IDの後には必ず数字がきて、桁数はかならず6
みたいなファイルからID123456だけを抜き出したいんだけど、どんな方法がある?
IDの後には必ず数字がきて、桁数はかならず6
215デフォルトの名無しさん
2022/07/12(火) 00:06:23.62ID:eIaiUALg 補足
IDが書かれてる場所はファイルによって異なる
文字列〜〜〜ID123456文字列〜.text
ID123456文字列〜〜〜.text
みたいなときもある
IDが書かれてる場所はファイルによって異なる
文字列〜〜〜ID123456文字列〜.text
ID123456文字列〜〜〜.text
みたいなときもある
216デフォルトの名無しさん
2022/07/12(火) 02:57:47.18ID:yBYukR5V >>214
普通は正規表現でも使うのかな
俺は正規表現使えないからこう書く
from pathlib import Path
p="C:\abc\あいうID1234567XYZ.text"
print("ID" + Path(p).stem.split("ID")[1][:6])
普通は正規表現でも使うのかな
俺は正規表現使えないからこう書く
from pathlib import Path
p="C:\abc\あいうID1234567XYZ.text"
print("ID" + Path(p).stem.split("ID")[1][:6])
217デフォルトの名無しさん
2022/07/12(火) 08:19:17.52ID:hTnf4I/y >>215 正規表現を制する者は文字列を制する、他の言語でも仕様はほぼ同じ、覚えて損は無し
>>>import re
>>>s='''文字列〜〜〜ID123456文字列〜.text
・・・ID789012文字列〜〜〜.text
・・・みたいなときもある'''
>>>re.findall(r'ID\d{6}', s)
['ID123456', 'ID789012']
>>>import re
>>>s='''文字列〜〜〜ID123456文字列〜.text
・・・ID789012文字列〜〜〜.text
・・・みたいなときもある'''
>>>re.findall(r'ID\d{6}', s)
['ID123456', 'ID789012']
218デフォルトの名無しさん
2022/07/12(火) 10:53:36.86ID:eIaiUALg >>216>>217
ありがとうございます、勉強になります
ありがとうございます、勉強になります
219デフォルトの名無しさん
2022/07/12(火) 20:48:55.38ID:gRW1mfOh 例外処理ってどう使えばいいんだろ
スクレイピングしてあるサイトのデータ拾いに行って
”データ”がある場合に代入となるんだけど
拾いに行くページによって、その行自体がなくてエラーになってしまうんだよな
if Data[0][0] == ”データ”:
s = Data[0][0]
Data[0][0]がそもそも存在しない時にエラーにならないよう例外処理を使うといい、ぐらいまでは調べたんだけど
書き方がよくわからない
スクレイピングしてあるサイトのデータ拾いに行って
”データ”がある場合に代入となるんだけど
拾いに行くページによって、その行自体がなくてエラーになってしまうんだよな
if Data[0][0] == ”データ”:
s = Data[0][0]
Data[0][0]がそもそも存在しない時にエラーにならないよう例外処理を使うといい、ぐらいまでは調べたんだけど
書き方がよくわからない
220デフォルトの名無しさん
2022/07/12(火) 21:11:11.59ID:hTnf4I/y >>218
より具体的な例としてC:/hogehogeディレクトリ内の全ファイルのファイル名からIDを抜き出します
>>>import pathlib, re
>>>src = pathlib.Path('C:/hogehoge')
>>>list(src.glob('*')) #ファイル確認、この例ではディレクトリ内にファイルが2つあります
[WindowsPath('C:/hogehoge/ID789012文字列〜〜〜.text'), WindowsPath('C:/hogehoge/文字列〜〜〜ID123456文字列〜.text')]
# 以下、ID抜き出し処理
>>>l = [re.findall(r'ID\d{6}', f.name) for f in src.glob('*')]
>>>l
[['ID789012'], ['ID123456']]
>>>sum(l, []) #フラット化
['ID789012', 'ID123456']
より具体的な例としてC:/hogehogeディレクトリ内の全ファイルのファイル名からIDを抜き出します
>>>import pathlib, re
>>>src = pathlib.Path('C:/hogehoge')
>>>list(src.glob('*')) #ファイル確認、この例ではディレクトリ内にファイルが2つあります
[WindowsPath('C:/hogehoge/ID789012文字列〜〜〜.text'), WindowsPath('C:/hogehoge/文字列〜〜〜ID123456文字列〜.text')]
# 以下、ID抜き出し処理
>>>l = [re.findall(r'ID\d{6}', f.name) for f in src.glob('*')]
>>>l
[['ID789012'], ['ID123456']]
>>>sum(l, []) #フラット化
['ID789012', 'ID123456']
221デフォルトの名無しさん
2022/07/12(火) 21:56:43.39ID:UQgGu1pu >>219
データがなかった場合にどう処理したいのかによって
例外処理にするのかif-elseみたいな分岐処理にするのかを選択する
スクレイピングの場合は対象データがなかったら
何も処理しないとか空文字とかのデフォルト値を入れる場合が多いんだけどそのやり方もいろいろ
if-elseで簡易的な関数にした例
def extract(html, selector, fn, default=""):
return fn(element) if (element := html.select_one(selector)) else default
def extract_text(html, selector, default=""):
return extract(html, selector, lambda x: x.text.strip(), default)
def extract_link(html, selector, default=""):
return extract(html, selector, lambda x: x.get('href'), default)
データがなかった場合にどう処理したいのかによって
例外処理にするのかif-elseみたいな分岐処理にするのかを選択する
スクレイピングの場合は対象データがなかったら
何も処理しないとか空文字とかのデフォルト値を入れる場合が多いんだけどそのやり方もいろいろ
if-elseで簡易的な関数にした例
def extract(html, selector, fn, default=""):
return fn(element) if (element := html.select_one(selector)) else default
def extract_text(html, selector, default=""):
return extract(html, selector, lambda x: x.text.strip(), default)
def extract_link(html, selector, default=""):
return extract(html, selector, lambda x: x.get('href'), default)
222デフォルトの名無しさん
2022/07/12(火) 22:40:42.84ID:xLkMA/UK >>219
スクレイピングでたとえると
途中の要素が取得できないと結局な結果が得られないのでその場でプログラム終了する
とすると、取得失敗の都度ifでsys.exit()と書けはする
ここで終了前になにかメッセージ出力したり上位の関数にエラーで戻ったりアレコレしたいとすると
共通化したくなり例外以外では見通しが悪く書きにくい
そういうのもうまく関数設計すれば書けはするけど
Pythonは標準の操作(Data[0][0] とか)で例外あげる場面が多いので例外に寄せる方が楽
スクレイピングでたとえると
途中の要素が取得できないと結局な結果が得られないのでその場でプログラム終了する
とすると、取得失敗の都度ifでsys.exit()と書けはする
ここで終了前になにかメッセージ出力したり上位の関数にエラーで戻ったりアレコレしたいとすると
共通化したくなり例外以外では見通しが悪く書きにくい
そういうのもうまく関数設計すれば書けはするけど
Pythonは標準の操作(Data[0][0] とか)で例外あげる場面が多いので例外に寄せる方が楽
223デフォルトの名無しさん
2022/07/13(水) 20:23:40.86ID:EtP8dxEe Pythonのトップ・キノコードがキノクエストと言う、Pythonの学習サービスを作った!
224デフォルトの名無しさん
2022/07/13(水) 22:27:14.03ID:XjBOe/Qa s = ’aaa bbb ccc ddd’
という文字列を
s = ’[aaa],[bbb],[ccc],[ddd]’
という文字列にする方法って
s.split()
で一度リストにして
for文内で新しいリストにappendとか使って [ や ] や , をリストの要素として追加して
そのリストをまた文字列に戻すって方法しか思いつかないんだけど、他にあるかな?
という文字列を
s = ’[aaa],[bbb],[ccc],[ddd]’
という文字列にする方法って
s.split()
で一度リストにして
for文内で新しいリストにappendとか使って [ や ] や , をリストの要素として追加して
そのリストをまた文字列に戻すって方法しか思いつかないんだけど、他にあるかな?
225デフォルトの名無しさん
2022/07/13(水) 22:38:12.38ID:ZiN6uKeA >>224
s = '[' + s.replace(' ', '],[') + ']'
s = '[' + s.replace(' ', '],[') + ']'
226デフォルトの名無しさん
2022/07/13(水) 22:42:11.00ID:tPrODk9K s='[' + s.replace(' ',']',[') + ']'
これでいけんか?
これでいけんか?
227デフォルトの名無しさん
2022/07/13(水) 22:43:26.48ID:tPrODk9K かぶったし打ち間違いあるしスマホでコード書くの合わないな…
228デフォルトの名無しさん
2022/07/13(水) 22:44:17.92ID:hJXXd+YV “,”.join(map(lambda x:f”[{x}]”, s.split(“ “)))
そらで書いてるから動くか分からんが、こんな感じ
そらで書いてるから動くか分からんが、こんな感じ
229デフォルトの名無しさん
2022/07/13(水) 22:46:15.33ID:tPrODk9K あと方法としてはjoin使うのとリストをそのまま文字列にするのができる気がする
230デフォルトの名無しさん
2022/07/13(水) 22:53:13.90ID:XjBOe/Qa231デフォルトの名無しさん
2022/07/13(水) 23:08:11.77ID:Hjnw35/j 教科書的に書くとつまらんな
','.join(f'[{x}]' for x in s.split(' '))
','.join(f'[{x}]' for x in s.split(' '))
232デフォルトの名無しさん
2022/07/14(木) 10:16:40.49ID:dxotV0yq くだらんすれ
233デフォルトの名無しさん
2022/07/14(木) 11:38:32.14ID:3XfxOzel python使い始めて何年も経つが
‘,’.join(…)書くたびにクソコード書いてんなと思う
‘,’.join(…)書くたびにクソコード書いてんなと思う
234デフォルトの名無しさん
2022/07/14(木) 12:12:10.59ID:mZF8rPll >>233
よく言われるけど、私はPythonスタイルが好きだな
文字列にするのだから文字列のメソッドであるべき
ちゃんと議論されてRubyスタイルは否定されてんだよね
ttps://www.lifewithpython.com/2017/07/why-python-join-is-string-method.html
よく言われるけど、私はPythonスタイルが好きだな
文字列にするのだから文字列のメソッドであるべき
ちゃんと議論されてRubyスタイルは否定されてんだよね
ttps://www.lifewithpython.com/2017/07/why-python-join-is-string-method.html
235デフォルトの名無しさん
2022/07/14(木) 16:24:53.41ID:NrPRW2+E236デフォルトの名無しさん
2022/07/14(木) 16:42:14.94ID:VCUQdsgR237デフォルトの名無しさん
2022/07/14(木) 17:24:02.64ID:TABkZ95a Pythonって何故だかこういうエクストリームな擁護者が他言語に比べて多いんだよなぁ
どの言語にも良い点悪い点はあるのになんでなんだろ?
どの言語にも良い点悪い点はあるのになんでなんだろ?
238デフォルトの名無しさん
2022/07/14(木) 17:57:33.90ID:mZF8rPll エクストリームな擁護ならRubyの右に出るものはないよ
「日本人ならRuby」「楽しいからRuby」だもん、初めて聞いた時は寒気がしたね
RubyじゃなくてPython選んでマジで良かった、Python最高!
joinもsplitの話ももう出尽くしているから、勝手にググってフンガーって発狂しててよ
私に言われても困っちゃうし、公式で結論出ているのだからそれで理解できないなら素養が無いよ
「日本人ならRuby」「楽しいからRuby」だもん、初めて聞いた時は寒気がしたね
RubyじゃなくてPython選んでマジで良かった、Python最高!
joinもsplitの話ももう出尽くしているから、勝手にググってフンガーって発狂しててよ
私に言われても困っちゃうし、公式で結論出ているのだからそれで理解できないなら素養が無いよ
239デフォルトの名無しさん
2022/07/14(木) 18:15:53.09ID:ObgbLbGZ あ~あ、みんな寄ってたかって叩くからファビョっちゃったじゃん
240デフォルトの名無しさん
2022/07/14(木) 18:18:53.53ID:ATT2arO1 >>237
pythonのスレ(しかも超初心者用)で言うことですか?
pythonのスレ(しかも超初心者用)で言うことですか?
241デフォルトの名無しさん
2022/07/14(木) 18:40:20.64ID:NYmoorKP 超初心者に変な常識を植え付けないように色んな意見のレスがあっていいと思うよ
変だと思う人も居るんだなということを知ってて損は無い
超初心者だと他言語における常識を知る機会も無いし
変だと思う人も居るんだなということを知ってて損は無い
超初心者だと他言語における常識を知る機会も無いし
242デフォルトの名無しさん
2022/07/14(木) 19:04:20.42ID:ji0JpZgM243デフォルトの名無しさん
2022/07/14(木) 19:09:23.50ID:mZF8rPll244デフォルトの名無しさん
2022/07/14(木) 19:51:42.67ID:/4X/rYOa245デフォルトの名無しさん
2022/07/14(木) 20:59:57.30ID:jjxIhgjT スレ違い自演連投荒らしが誰何に反応して身元確定したので新スレで書き込み禁止されたのを「いじめ」だと言い出す被害妄想っぷりが狂人クオリティ
246デフォルトの名無しさん
2022/07/14(木) 21:03:26.05ID:mZF8rPll247デフォルトの名無しさん
2022/07/14(木) 21:41:30.43ID:1UfgY23j248デフォルトの名無しさん
2022/07/14(木) 21:53:51.76ID:GadqcTvG249デフォルトの名無しさん
2022/07/14(木) 22:25:47.47ID:mZF8rPll250デフォルトの名無しさん
2022/07/14(木) 22:56:25.17ID:vHzneFGJ251デフォルトの名無しさん
2022/07/14(木) 23:02:08.05ID:53iLOIJP わざと馬鹿のフリしてんのかな?どっちにしても馬鹿にしか見えないが。
252デフォルトの名無しさん
2022/07/14(木) 23:02:36.06ID:pmXXTX87 読んだけどseqは引数な方が良いってだけで
> 文字列にするのだから文字列のメソッドであるべき
こんなこと書いてない
> 文字列にするのだから文字列のメソッドであるべき
こんなこと書いてない
253デフォルトの名無しさん
2022/07/14(木) 23:04:03.42ID:mZF8rPll >>250
君が読解力無いのは分かったから、それよりIDコロコロ変えているのバレちゃったねw
>>247の「もう一度書くね」でヘマしちゃったのはやっぱりファビョってるからなの?ww
これ全部オマエだろ、何連投してんだよw顔真っ赤なのどっちだよって話だよ
いやー自作自演バカって本当にいるんだなぁー アホなりに頑張ってるのは分かるけど低能だから
全部台無しだわぁ〜ww アホだからすぐバレちゃうwww
そのIDコロコロ変えるようになった経緯を思い出せよ、まともにやるとすぐ負けちゃうからだろ?
自作自演で勝ってる感が欲しかったけど、それも手に入りませんでしたぁ〜w 恥の上塗りって
自分のこと言ってんのかよww 全部ブーメラン!おまえは民主党かよってw
君が読解力無いのは分かったから、それよりIDコロコロ変えているのバレちゃったねw
>>247の「もう一度書くね」でヘマしちゃったのはやっぱりファビョってるからなの?ww
これ全部オマエだろ、何連投してんだよw顔真っ赤なのどっちだよって話だよ
いやー自作自演バカって本当にいるんだなぁー アホなりに頑張ってるのは分かるけど低能だから
全部台無しだわぁ〜ww アホだからすぐバレちゃうwww
そのIDコロコロ変えるようになった経緯を思い出せよ、まともにやるとすぐ負けちゃうからだろ?
自作自演で勝ってる感が欲しかったけど、それも手に入りませんでしたぁ〜w 恥の上塗りって
自分のこと言ってんのかよww 全部ブーメラン!おまえは民主党かよってw
254デフォルトの名無しさん
2022/07/15(金) 01:28:28.52ID:wi0x7exo すごいチー牛顔引き攣らせて笑ってそう
255デフォルトの名無しさん
2022/07/15(金) 03:30:42.52ID:MdZ2tfzQ >>253
とうとう壊れちゃったw
とうとう壊れちゃったw
256デフォルトの名無しさん
2022/07/15(金) 07:32:09.26ID:mXh/FC5X なんかこわい
257デフォルトの名無しさん
2022/07/15(金) 12:20:14.72ID:Y2OiW31R こんな人生終わってそうな社会不適合者でも稼げちゃうのがIT業界なんだよな
人生終わってそうな外見のやつばかりなのに、金が稼げるからジョーカーみたいなのが生まれにくい
人生終わってそうな外見のやつばかりなのに、金が稼げるからジョーカーみたいなのが生まれにくい
258デフォルトの名無しさん
2022/07/15(金) 14:11:44.43ID:78D2/2K4 iterableを定義してそこにjoinメソッドを追加するだけでよかったのにね
joinメソッドは今どきこんな設計する人がいたらすぐ外されても文句言えないレベル
joinメソッドは今どきこんな設計する人がいたらすぐ外されても文句言えないレベル
259デフォルトの名無しさん
2022/07/15(金) 14:28:12.17ID:MVHCgXBf 当人ちゃうけどまず >>234 のリンク先読んどこう
260デフォルトの名無しさん
2022/07/15(金) 15:21:03.77ID:cpkuMkfN 俺も当人ちゃうけどそのリンク先読んでも>>258に同意するわ
261デフォルトの名無しさん
2022/07/15(金) 15:35:58.33ID:rlSsskU5 ずいぶんとお利口な超初心者の集まりだこと…
262デフォルトの名無しさん
2022/07/15(金) 15:52:36.65ID:cpkuMkfN 超初心者が質問できるスレであって住人全員が超初心者というわけじゃないよ
263デフォルトの名無しさん
2022/07/15(金) 17:56:14.83ID:qGSK8RbV メーリングリストのログ追ってみたが議論らしい議論は全くなかったぞコレ
Tim Petersが案をだして、じゃそれでくらいのノリ
Tim Petersが案をだして、じゃそれでくらいのノリ
264デフォルトの名無しさん
2022/07/15(金) 19:33:17.31ID:5LwbToQX 悲しいとき〜、悲しいとき〜、不毛な努力をしているアホをみたとき〜
265デフォルトの名無しさん
2022/07/15(金) 21:59:49.41ID:Mg+hVTQU 少し内容がずれているかもしれませんが質問させてください。
Windows10で右クリック-新規作成で空のpythonファイル(.py)を作成するようにしたいのですが、
何か方法はありますでしょうか?
下記のURLを参考にしてレジストリを変更する方法を調べて実行したのですが、反映しません。
https://qiita.com/ioComk/items/ab79749b0f0bf05db97e
教えていただきたく。よろしくお願いします。
Windows10で右クリック-新規作成で空のpythonファイル(.py)を作成するようにしたいのですが、
何か方法はありますでしょうか?
下記のURLを参考にしてレジストリを変更する方法を調べて実行したのですが、反映しません。
https://qiita.com/ioComk/items/ab79749b0f0bf05db97e
教えていただきたく。よろしくお願いします。
266デフォルトの名無しさん
2022/07/15(金) 23:42:53.55ID:Fa+NFDEY >>258
実際bytesとかでjoin相当のことをしようとしたらどうすればいいんだろう?itertools使えばなんとかなりそうだけど
実際bytesとかでjoin相当のことをしようとしたらどうすればいいんだろう?itertools使えばなんとかなりそうだけど
267デフォルトの名無しさん
2022/07/16(土) 00:03:25.16ID:HB6roBeY __add__かjoin専用メソッドがある前提でひたすらinject
それらが型変換できないケースだと失敗とか
それらが型変換できないケースだと失敗とか
268デフォルトの名無しさん
2022/07/16(土) 00:23:45.26ID:fjBrDVen269デフォルトの名無しさん
2022/07/16(土) 10:38:02.22ID:5edRFReA270デフォルトの名無しさん
2022/07/16(土) 14:30:48.70ID:7RINBtm9271デフォルトの名無しさん
2022/07/16(土) 16:20:01.38ID:ck4+820Y なんでこうなるのかわからない
_, *elements , _ = [1, 2, 3, 4, 5, 6, 7, 8]
print(elements) # [2, 3, 4, 5, 6, 7]
print(type(elements)) # <class 'list'>
elements_B = [1, 2, 3, 4, 5, 6, 7, 8]
B = _, *elements_B, _
print(B) # (8, 1, 2, 3, 4, 5, 6, 7, 8, 8)
print(type(B)) # <class 'tuple'>
_, *elements , _ = [1, 2, 3, 4, 5, 6, 7, 8]
print(elements) # [2, 3, 4, 5, 6, 7]
print(type(elements)) # <class 'list'>
elements_B = [1, 2, 3, 4, 5, 6, 7, 8]
B = _, *elements_B, _
print(B) # (8, 1, 2, 3, 4, 5, 6, 7, 8, 8)
print(type(B)) # <class 'tuple'>
272デフォルトの名無しさん
2022/07/16(土) 16:34:54.36ID:730D9OZt print(_)してみたら
273デフォルトの名無しさん
2022/07/16(土) 16:56:27.29ID:ck4+820Y ああ、理解したわ
a, b, c = 1,2,3
a=1
b=2
c=3
ってのと変わらんのか
a, *b, c = 1,2,2,2,2,3
a=1
b=2,2,2,2
c=3
みたいなことか
a, b, c = 1,2,3
a=1
b=2
c=3
ってのと変わらんのか
a, *b, c = 1,2,2,2,2,3
a=1
b=2,2,2,2
c=3
みたいなことか
274デフォルトの名無しさん
2022/07/16(土) 19:51:21.14ID:GdTpN6Df bytes で join ってさ
b''.join(bytes_data)
で良いんじゃね
b''.join(bytes_data)
で良いんじゃね
275デフォルトの名無しさん
2022/07/17(日) 11:57:25.95ID:VAtjDotR 2^26倍精度浮動小数点数の最大値
(2^((2^(111-1))-1))*(2-(2^-2147483536))
https://ideone.com/3sxXF1
は計算できるが、
2^27倍精度浮動小数点数の最大値
(2^((2^(115-1))-1))*(2-(2^-4294967180))
https://ideone.com/MDO46W
は誤差が出て計算できない。
何とかならない?
(2^((2^(111-1))-1))*(2-(2^-2147483536))
https://ideone.com/3sxXF1
は計算できるが、
2^27倍精度浮動小数点数の最大値
(2^((2^(115-1))-1))*(2-(2^-4294967180))
https://ideone.com/MDO46W
は誤差が出て計算できない。
何とかならない?
276デフォルトの名無しさん
2022/07/17(日) 12:39:58.12ID:Un2LAdnT emaxの最大値は999999999999999999みたいだからどうにもならんのでは
277デフォルトの名無しさん
2022/07/17(日) 15:02:05.03ID:QiBhjgar emacs
278デフォルトの名無しさん
2022/07/17(日) 15:16:14.73ID:VAtjDotR279デフォルトの名無しさん
2022/07/17(日) 15:22:34.18ID:QiBhjgar280デフォルトの名無しさん
2022/07/17(日) 15:44:47.39ID:7GRljLrT def f(a):
return a+1
a=[1,2]
print(f(a))
>[2,3]
みたいなことがやりたいんですが、
関数にまとめてデータを渡して処理してもらうようなことはできないでしょうか
本来はf(1),f(2)とするところです
数が多ければforで回すのですが、まとめてどさっと渡したいです
return a+1
a=[1,2]
print(f(a))
>[2,3]
みたいなことがやりたいんですが、
関数にまとめてデータを渡して処理してもらうようなことはできないでしょうか
本来はf(1),f(2)とするところです
数が多ければforで回すのですが、まとめてどさっと渡したいです
281デフォルトの名無しさん
2022/07/17(日) 16:13:54.34ID:eihDCF0F282デフォルトの名無しさん
2022/07/17(日) 17:40:51.90ID:mQpJsc2r 何だこの記事は
283デフォルトの名無しさん
2022/07/17(日) 17:47:08.08ID:GTQ/Lt+k >>279
なるほど。strをバラしてもstrだが、bytesはバラすとintになってしまうということか。
まあ、実用上は問題ないかなあ。というかここを崩すとbytesを1バイトずつバラしてjoinするという殆どしない操作のために、
strとbytesの実用性がかなり失われるよね
なるほど。strをバラしてもstrだが、bytesはバラすとintになってしまうということか。
まあ、実用上は問題ないかなあ。というかここを崩すとbytesを1バイトずつバラしてjoinするという殆どしない操作のために、
strとbytesの実用性がかなり失われるよね
284デフォルトの名無しさん
2022/07/17(日) 17:58:37.99ID:Fxi+TDuE >>280
素直にnumpy使う
ではツマランのでこんなのはどうだろう
def matome(func):
__def process(*list_args):
____return [func(*args) for args in zip(*list_args)]
__return process
@matome
def f(a):
__return a+1
a = [1, 2, 3]
print(f(a))
素直にnumpy使う
ではツマランのでこんなのはどうだろう
def matome(func):
__def process(*list_args):
____return [func(*args) for args in zip(*list_args)]
__return process
@matome
def f(a):
__return a+1
a = [1, 2, 3]
print(f(a))
285280
2022/07/17(日) 18:36:03.96ID:jWrWgoZv なるほど、map関数や*list_argsなどのやり方があるのですね
これはどちらもforよりは軽くなりそうな感じはします
>>284
素直にnumpy、がそもそもわかってないのですが、教えていただけませんか?
これはどちらもforよりは軽くなりそうな感じはします
>>284
素直にnumpy、がそもそもわかってないのですが、教えていただけませんか?
286デフォルトの名無しさん
2022/07/17(日) 19:23:47.87ID:pr2Iyzs9287デフォルトの名無しさん
2022/07/17(日) 19:47:38.44ID:Fxi+TDuE >>286
それだとfの引数が増えた時に対応できない
それだとfの引数が増えた時に対応できない
288デフォルトの名無しさん
2022/07/17(日) 20:59:15.42ID:4v0QWrzY mapと内包表記どっちが軽いんだろ?
a=[1,2]
b=[i+1 for i in a]
これで終わる話ではあるよね
a=[1,2]
b=[i+1 for i in a]
これで終わる話ではあるよね
289デフォルトの名無しさん
2022/07/17(日) 21:23:00.57ID:zoulLgXv 話を単純化して話してんだろ
一般的な解があるほうが親切
一般的な解があるほうが親切
290デフォルトの名無しさん
2022/07/17(日) 21:25:35.67ID:pr2Iyzs9 >>287
なるほど、f([1,2,3],[4,5,6]) → [5,7,9] とかにするならmatomeはそのままで
def f(*a):
__return sum(a)
で対応できるけども、しかし! 引数が1つの場合が f([1,2,3]) → [2,3,4] であるならば、
引数が2つの場合、f([1,2,3],[4,5,6]) → ([2,3,4], [5,6,7]) となるのが自然ではなかろうか?
であるとするならば、fはリストの各要素の計算でありそのままにして、matomeを改造する必要がある
なるほど、f([1,2,3],[4,5,6]) → [5,7,9] とかにするならmatomeはそのままで
def f(*a):
__return sum(a)
で対応できるけども、しかし! 引数が1つの場合が f([1,2,3]) → [2,3,4] であるならば、
引数が2つの場合、f([1,2,3],[4,5,6]) → ([2,3,4], [5,6,7]) となるのが自然ではなかろうか?
であるとするならば、fはリストの各要素の計算でありそのままにして、matomeを改造する必要がある
291デフォルトの名無しさん
2022/07/17(日) 21:31:17.15ID:LbIjTSt1 >>289
どれに対しての話?
どれに対しての話?
292デフォルトの名無しさん
2022/07/17(日) 21:38:02.50ID:Rw0hMsrD293デフォルトの名無しさん
2022/07/17(日) 21:38:57.48ID:Rw0hMsrD というか、ただのsumなら普通は関数にぶっこまないよね
294デフォルトの名無しさん
2022/07/17(日) 21:43:59.07ID:pr2Iyzs9 リストの各要素に1足すだけの場合も普通に関数にぶっこまないけどな
295デフォルトの名無しさん
2022/07/17(日) 22:12:41.33ID:pr2Iyzs9296デフォルトの名無しさん
2022/07/17(日) 22:43:41.36ID:Xin01ayH zipするのは違うと思うけどな
297デフォルトの名無しさん
2022/07/18(月) 09:21:19.20ID:4im9UY7E298デフォルトの名無しさん
2022/07/18(月) 10:01:23.22ID:4lWXgehE f(a,b,c) -> rをリスト用にリフトするなら
f'([(a1,b1,c1), (a2,b2,c2),(a3,b3,c3)…]) -> [r1,r2,r3,…]
f'(([a1,a2,a3,…], [b1,b2,b3,…], [c1,c2,c3,…])) -> [r1,r2,r3…]
にするのは筋が悪い
f'([(a1,b1,c1), (a2,b2,c2),(a3,b3,c3)…]) -> [r1,r2,r3,…]
f'(([a1,a2,a3,…], [b1,b2,b3,…], [c1,c2,c3,…])) -> [r1,r2,r3…]
にするのは筋が悪い
299デフォルトの名無しさん
2022/07/18(月) 10:22:26.91ID:q/MsDqBP >>290の完成イメージ
def get_list_items(func):
____def process(*lists):
________ret = tuple([func(item) for item in lst] for lst in lists)
________return ret[0] if len(ret) == 1 else ret
____return process
@get_list_items
def f3(item):
____return item+1
f3([1,2,3],[4,5,6],[7,8,9]) → ([2, 3, 4], [5, 6, 7], [8, 9, 10])
f3([1,2,3],[4,5,6]) → ([2, 3, 4], [5, 6, 7])
f3([1,2,3]) → [2, 3, 4]
なるほど、この場合は可変にする必要性をあまり感じないね
f3([1,2,3]), f3([4,5,6]), f3([7,8,9])って個別に呼べばいいだけだし
>>284の方が断然優れていますわ
def get_list_items(func):
____def process(*lists):
________ret = tuple([func(item) for item in lst] for lst in lists)
________return ret[0] if len(ret) == 1 else ret
____return process
@get_list_items
def f3(item):
____return item+1
f3([1,2,3],[4,5,6],[7,8,9]) → ([2, 3, 4], [5, 6, 7], [8, 9, 10])
f3([1,2,3],[4,5,6]) → ([2, 3, 4], [5, 6, 7])
f3([1,2,3]) → [2, 3, 4]
なるほど、この場合は可変にする必要性をあまり感じないね
f3([1,2,3]), f3([4,5,6]), f3([7,8,9])って個別に呼べばいいだけだし
>>284の方が断然優れていますわ
300デフォルトの名無しさん
2022/07/18(月) 10:36:45.20ID:E3N1Hbif 個別に呼ぶよりまとめて呼んだほうが処理が軽いんじゃないの
301名無し募集中。。。
2022/07/18(月) 10:39:15.32ID:kc1Sb0dj FOR文でフォルダ以下のサブフォルダの中のファイルを
拡張子毎に振り分けるプログラムを作ってみましたが
1ファイルを移動するのに1秒くらいかかってしまいます
shutil.move(FFF, KKK) (FFFとKKKは変数)
この文を削除するとものすごく早くなります
どうすれば早くなりますか?
拡張子毎に振り分けるプログラムを作ってみましたが
1ファイルを移動するのに1秒くらいかかってしまいます
shutil.move(FFF, KKK) (FFFとKKKは変数)
この文を削除するとものすごく早くなります
どうすれば早くなりますか?
302デフォルトの名無しさん
2022/07/18(月) 10:44:27.05ID:E3N1Hbif でもあれか、matomeをつけてfを宣言してしまうと、普通にfを使うことができなくなってしまうのか
このへん関数を呼ぶときにmatomeをつけるかどうかで使い分ける方法ないのかな
このへん関数を呼ぶときにmatomeをつけるかどうかで使い分ける方法ないのかな
303デフォルトの名無しさん
2022/07/18(月) 10:54:26.68ID:Tf87Irt3304デフォルトの名無しさん
2022/07/18(月) 11:04:03.01ID:q/MsDqBP305デフォルトの名無しさん
2022/07/18(月) 11:36:57.20ID:1omE+gQa なんか頭の可笑しいのが劣化版だしまくるスレになってるな
306デフォルトの名無しさん
2022/07/18(月) 12:10:19.60ID:jgot1txW307デフォルトの名無しさん
2022/07/18(月) 12:13:47.35ID:J9TOF8GR numpy ぐらい、Python のトップ・キノコードの動画があるのでは?
キノクエストと言う、2千円のサロンも始まった
キノクエストと言う、2千円のサロンも始まった
308デフォルトの名無しさん
2022/07/18(月) 12:42:22.47ID:Ni7oGdeS309デフォルトの名無しさん
2022/07/18(月) 12:47:11.59ID:q/MsDqBP310デフォルトの名無しさん
2022/07/18(月) 13:41:26.68ID:Zd8mDGLh 少なくとも>>280をやるためにデコレーターはないわ
311デフォルトの名無しさん
2022/07/18(月) 14:39:38.37ID:lIUF2c+K312デフォルトの名無しさん
2022/07/18(月) 14:46:42.16ID:koL1rSR0 初心者に対して不要な一般化は余計に分かりにくくするだけやろ
やり方自体が御世辞にもいいアプローチとは言えないし
やり方自体が御世辞にもいいアプローチとは言えないし
313デフォルトの名無しさん
2022/07/18(月) 15:01:53.40ID:q/MsDqBP >>310
デコレータみたときは「やられた!」って思ったね
しかも可変、嫉妬してちょっと噛みついてみたけど見事に返り討ち
いやはや、彼のコードはみんなマネした方がいいよ、良いものはどんどん取り入れよう
そういえば、ひろゆきが良く自慢げに言う話を思い出したんだけど、
ゲームを作ってみる授業?か何かで友達が書いたコードがメチャメチャ短かったんだって
上下左右の操作なんだけど、ちょっとした計算で実現していて、それ見たひろゆきが才能の差を
感じてゲームクリエイターをあきらめたとかいう才能の話
それ聞いたときはアホじゃね?良いコードみたらパクればいいだけじゃんって思ったものだよ
たぶんひろゆきはすごくプライドが高くてちょっと躓いただけで諦めちゃうメンタルなんだよね
そんなこんなで出来上がったのがヒマつぶしwとか言って他人の文句しか言わない人間になっちゃった
「頭悪い!」と他人を下げることで自分を慰める毎日、やっぱ諦めずに挑戦するのって大事だなって思いました
そうホリエモンってひろゆきと真逆だよね、ホリエモンは今も色んなことに挑戦している、ホリエモンは輝いているよ
デコレータみたときは「やられた!」って思ったね
しかも可変、嫉妬してちょっと噛みついてみたけど見事に返り討ち
いやはや、彼のコードはみんなマネした方がいいよ、良いものはどんどん取り入れよう
そういえば、ひろゆきが良く自慢げに言う話を思い出したんだけど、
ゲームを作ってみる授業?か何かで友達が書いたコードがメチャメチャ短かったんだって
上下左右の操作なんだけど、ちょっとした計算で実現していて、それ見たひろゆきが才能の差を
感じてゲームクリエイターをあきらめたとかいう才能の話
それ聞いたときはアホじゃね?良いコードみたらパクればいいだけじゃんって思ったものだよ
たぶんひろゆきはすごくプライドが高くてちょっと躓いただけで諦めちゃうメンタルなんだよね
そんなこんなで出来上がったのがヒマつぶしwとか言って他人の文句しか言わない人間になっちゃった
「頭悪い!」と他人を下げることで自分を慰める毎日、やっぱ諦めずに挑戦するのって大事だなって思いました
そうホリエモンってひろゆきと真逆だよね、ホリエモンは今も色んなことに挑戦している、ホリエモンは輝いているよ
314デフォルトの名無しさん
2022/07/18(月) 15:04:25.71ID:PImFDAtt315デフォルトの名無しさん
2022/07/18(月) 15:04:43.60ID:EPf9iKEG >>311
一般的?
一般的?
316デフォルトの名無しさん
2022/07/18(月) 15:17:32.88ID:J9TOF8GR Ruby とか、関数型言語Elixir では、map が基本
317デフォルトの名無しさん
2022/07/18(月) 15:18:04.67ID:o0lyPM3S 他人の話を否定するだけの奴って何の生産性もないよな
低レベルでもコード提示するほうがよっぽど役に立つわ
低レベルでもコード提示するほうがよっぽど役に立つわ
318デフォルトの名無しさん
2022/07/18(月) 15:22:34.62ID:qwr+PsCM >>312
参考までに良いアプローチplz
参考までに良いアプローチplz
319デフォルトの名無しさん
2022/07/18(月) 15:36:01.64ID:y8tEu6pL matomeとmap、どっちが速いんだろうか
どっちもforで毎回f呼び出すよりは速そうだけど
どっちもforで毎回f呼び出すよりは速そうだけど
320デフォルトの名無しさん
2022/07/18(月) 15:55:55.10ID:GojDtZHN デコレータ
使って観たい
御年頃
使って観たい
御年頃
321デフォルトの名無しさん
2022/07/18(月) 15:59:17.63ID:LKJtspF0 処理時間測定してみたらmapのほうが2割前後速かったわ
322デフォルトの名無しさん
2022/07/18(月) 15:59:40.46ID:GojDtZHN >低レベルでもコード提示するほうが
ないわ
ないわ
323デフォルトの名無しさん
2022/07/18(月) 16:06:47.73ID:kISKbyyY ついでなんで書いとくね
実行時間
forを使ってf呼び出し:1
matome:0.5
map:0.4
実行時間
forを使ってf呼び出し:1
matome:0.5
map:0.4
324デフォルトの名無しさん
2022/07/18(月) 16:21:22.72ID:ln/vUyrz325デフォルトの名無しさん
2022/07/18(月) 16:30:53.42ID:qwr+PsCM デコレーターに親殺されたニキがおるな
326デフォルトの名無しさん
2022/07/18(月) 17:45:39.65ID:UwLRS3iL 普通に考えてリストに関数をそれぞれ適用させたいならmapが一番シンプルでmapと同意の内包表記が最もPythonらしいのでは?
327デフォルトの名無しさん
2022/07/18(月) 18:04:13.67ID:LNL0CNxW mapと同意?どういうこと?
328デフォルトの名無しさん
2022/07/18(月) 18:04:19.00ID:pfq1SIlO お盆も近いからデコレータに恨みがある奴も
這い出して来ているんでしょう
這い出して来ているんでしょう
329デフォルトの名無しさん
2022/07/18(月) 18:08:48.63ID:PImFDAtt 単にmapの人が、なんでmap使わないんだと言っているだけなのでは?
それがデコレータsageに見えると
それがデコレータsageに見えると
330デフォルトの名無しさん
2022/07/18(月) 18:23:16.60ID:q/MsDqBP 内包表記の方が断然好きだな〜、mapはシンプルになる場合もあるけど
今回のようにゴチャる場合もあるんだよな〜
下記はmatomeを自分好みの関数名と変数名に改変したヤツでっす!
def get_lists_items(func):
____# 内包表記版
____def process(*lists):
________return [func(*items) for items in zip(*lists)]
____return process
def get_lists_items(func):
____# map版
____def process(*lists):
________return list(map(lambda items: func(*items), zip(*lists)))
____return process
今回のようにゴチャる場合もあるんだよな〜
下記はmatomeを自分好みの関数名と変数名に改変したヤツでっす!
def get_lists_items(func):
____# 内包表記版
____def process(*lists):
________return [func(*items) for items in zip(*lists)]
____return process
def get_lists_items(func):
____# map版
____def process(*lists):
________return list(map(lambda items: func(*items), zip(*lists)))
____return process
331デフォルトの名無しさん
2022/07/18(月) 18:28:18.32ID:2ipqvE3v332デフォルトの名無しさん
2022/07/18(月) 18:40:20.03ID:qwr+PsCM >>280の望みは「intを引数に取り計算結果を返す関数を、"シームレスに"リストにも拡張すること」だからデコレーターが適当じゃない?Pythonicかどうかは知らん
333デフォルトの名無しさん
2022/07/18(月) 18:50:45.67ID:0V7pBSnr デコレータは不適当
デコレータは基本的に元の関数を透過的に拡張するために使う物
def f(a, b, c)をデコレートしても
デコレート前と同じf(a, b, c)で呼び出し可能で
成功時には同じ戻り値を得られるように作る
高階関数ならなんでもデコレータにすればいいわけじゃない
デコレータは基本的に元の関数を透過的に拡張するために使う物
def f(a, b, c)をデコレートしても
デコレート前と同じf(a, b, c)で呼び出し可能で
成功時には同じ戻り値を得られるように作る
高階関数ならなんでもデコレータにすればいいわけじゃない
334デフォルトの名無しさん
2022/07/18(月) 18:52:28.91ID:q/MsDqBP335デフォルトの名無しさん
2022/07/18(月) 18:53:15.28ID:9fYXH/DB 勉強になったわ。
今までPyQtでアプリ作っていたが、@pyqtSlot()がQtデザイナーからのリンクみたいなもんかと思ってました。
すっきりです。
今までPyQtでアプリ作っていたが、@pyqtSlot()がQtデザイナーからのリンクみたいなもんかと思ってました。
すっきりです。
336デフォルトの名無しさん
2022/07/18(月) 18:58:21.00ID:VjQ/Ckj0 デコレーターのメリットがあるならそれ使えばいいけど遅い上に記述量増えるしね
どう見ても>>320だろw
どう見ても>>320だろw
337デフォルトの名無しさん
2022/07/18(月) 20:38:42.55ID:FbOneiqz forよりは速い
338デフォルトの名無しさん
2022/07/18(月) 22:52:23.80ID:P7xIx3wJ 今回の話でデコレータが内包表記より優れているという理屈が理解できない
def f(a):
return a+1
a=[1,2]
print([f(i) for i in a])
これで事足りるでしょ
def f(a):
return a+1
a=[1,2]
print([f(i) for i in a])
これで事足りるでしょ
339デフォルトの名無しさん
2022/07/18(月) 22:52:35.33ID:SFjyzDm9 超絶初心者です。
counter: int = 0 # 他の処理で変わっていく
def test(self):
user_name = "xxxx"
if counter > 0:
now = datetime.datetime.now()
..... # 色々処理
now ←ここで nowは参照させたくない、スコープ外にしたい
今だとnow変数はif文が処理されれば値が入ります。
now変数のスコープをif文内だけにするってことはできますか。
counter: int = 0 # 他の処理で変わっていく
def test(self):
user_name = "xxxx"
if counter > 0:
now = datetime.datetime.now()
..... # 色々処理
now ←ここで nowは参照させたくない、スコープ外にしたい
今だとnow変数はif文が処理されれば値が入ります。
now変数のスコープをif文内だけにするってことはできますか。
340デフォルトの名無しさん
2022/07/18(月) 23:05:31.63ID:2hrGCnNJ self ということはクラスメソッドだと思うけど
他のメソッドから self.test() を呼べば now は隠蔽される。
もしくは頭で now = None しておいて
if now is not None:
でわけるとか。
他のメソッドから self.test() を呼べば now は隠蔽される。
もしくは頭で now = None しておいて
if now is not None:
でわけるとか。
341デフォルトの名無しさん
2022/07/18(月) 23:13:05.76ID:1e6Pm9kS >>330
starmap使えばlambdaいらない
starmap使えばlambdaいらない
342デフォルトの名無しさん
2022/07/18(月) 23:22:42.01ID:q/MsDqBP >>341 なるほど、でも内包表記の方が見やすいよね!
from itertools import starmap
def get_lists_items(func):
____# starmap版
____def process(*lists):
________return list(starmap(func, zip(*lists)))
____return process
from itertools import starmap
def get_lists_items(func):
____# starmap版
____def process(*lists):
________return list(starmap(func, zip(*lists)))
____return process
343デフォルトの名無しさん
2022/07/18(月) 23:35:38.05ID:Yb4pZTqb344デフォルトの名無しさん
2022/07/18(月) 23:42:11.41ID:q/MsDqBP >>343
for文使うのがベストってこと?
for文使うのがベストってこと?
345デフォルトの名無しさん
2022/07/18(月) 23:54:17.73ID:8wpG6nJ0 re.matchで何がマッチしたか知る方法てある?
s = 'ABCDEFGHIJK'
m = re.match(r'ABC|HIJ', s) 'm: <re.Match object; span=(1, 4), match='BCD'>
match='BCD'を取ってきたいのだが、方法てある?
ネットだと()でくくってgroupsでとれて書いてあるけど、
s = 'ABCDEFGHIJK'
m = re.search(r'(BCD|HIJ)', s)
x_text = m.groups(0)
print(x_text)
('BCD',)て表示されるし、x_textはstr型じゃないから文字列操作ができない。
Python 3.9.13です。
s = 'ABCDEFGHIJK'
m = re.match(r'ABC|HIJ', s) 'm: <re.Match object; span=(1, 4), match='BCD'>
match='BCD'を取ってきたいのだが、方法てある?
ネットだと()でくくってgroupsでとれて書いてあるけど、
s = 'ABCDEFGHIJK'
m = re.search(r'(BCD|HIJ)', s)
x_text = m.groups(0)
print(x_text)
('BCD',)て表示されるし、x_textはstr型じゃないから文字列操作ができない。
Python 3.9.13です。
346デフォルトの名無しさん
2022/07/19(火) 00:05:16.63ID:pVZms+nG347デフォルトの名無しさん
2022/07/19(火) 00:32:46.32ID:8NIkYSWg348デフォルトの名無しさん
2022/07/19(火) 01:22:31.44ID:XqVlnmi4 >>339
del now でどうでしょうか
del now でどうでしょうか
349デフォルトの名無しさん
2022/07/19(火) 08:41:05.75ID:UwsMPoKY 内包表記って普通のforと違うみたいだけど、なんでこんなに速いの?
350デフォルトの名無しさん
2022/07/19(火) 09:10:11.34ID:mYl9AT7Z351デフォルトの名無しさん
2022/07/19(火) 09:30:11.93ID:ioxaO2di a=[f(x) for x in range(100)]
で、今xがいくつのところをやってますとprintする方法はありますか?
forを外に持ってくると処理が遅くなってしまうので避けたいです
で、今xがいくつのところをやってますとprintする方法はありますか?
forを外に持ってくると処理が遅くなってしまうので避けたいです
352デフォルトの名無しさん
2022/07/19(火) 09:32:53.74ID:Dm4GA3mb 訂正
a=[f(x[i]) for i in range(100)]
にします
iの値は関数に持ち込みません
持ち込むのなら関数でprintできますが、それはなしにします
a=[f(x[i]) for i in range(100)]
にします
iの値は関数に持ち込みません
持ち込むのなら関数でprintできますが、それはなしにします
353デフォルトの名無しさん
2022/07/19(火) 10:04:16.93ID:L7UUhMht >>352
a = [print(i) or f(x[i]) for i in range(10)]
a = [print(i) or f(x[i]) for i in range(10)]
354デフォルトの名無しさん
2022/07/19(火) 10:12:32.45ID:zbPEuSRT CPU処理を高速化するのはmultiprocessingを使うことでできたのですが、
今度はGPUでmodel.fitするほうが遅くてしょうがないです
multiprocessing同様に簡単に速くする方法があれば教えてください
今度はGPUでmodel.fitするほうが遅くてしょうがないです
multiprocessing同様に簡単に速くする方法があれば教えてください
355デフォルトの名無しさん
2022/07/19(火) 10:15:51.10ID:XqVlnmi4 >>352
fの中でカウント用の変数を持ってインクリメントする
fの中でカウント用の変数を持ってインクリメントする
356デフォルトの名無しさん
2022/07/19(火) 10:20:19.62ID:+zTkD2Kt で
357デフォルトの名無しさん
2022/07/19(火) 10:20:59.40ID:+zTkD2Kt358デフォルトの名無しさん
2022/07/19(火) 10:23:27.04ID:2mzjLS5j359デフォルトの名無しさん
2022/07/19(火) 10:30:11.09ID:2mzjLS5j >>345
re.findall
re.findall
360デフォルトの名無しさん
2022/07/19(火) 10:31:34.68ID:2mzjLS5j >>349
普通のforと違うから
普通のforと違うから
361デフォルトの名無しさん
2022/07/19(火) 10:36:57.19ID:COa8jHBw >>357
print(i)の戻り値がNoneだから、必ずorの右辺を返す
print(i)の戻り値がNoneだから、必ずorの右辺を返す
362デフォルトの名無しさん
2022/07/19(火) 10:51:26.50ID:brlHmAiq363デフォルトの名無しさん
2022/07/19(火) 11:07:31.09ID:+zTkD2Kt364デフォルトの名無しさん
2022/07/19(火) 11:30:53.28ID:bdrM7/md printしたらforと内包表記の違いなんて誤差に見えるほど遅くなると思うがそれはええんか?
365デフォルトの名無しさん
2022/07/19(火) 11:33:51.75ID:RISkfx3J forと内包表記で速さに違いが出るのはなぜですか?
同じコードをなぜ生成しないんですか?
同じコードをなぜ生成しないんですか?
366デフォルトの名無しさん
2022/07/19(火) 11:37:38.74ID:856tCJOd 内包表記でプログレス挟んで遅いのは嫌とかバカの極み
可読性考えて普通のforで回せ。 つか速度測ってみろ。大差ねえわたぶん
[(f(x[i]), print(i)) for i in range(10)]
可読性考えて普通のforで回せ。 つか速度測ってみろ。大差ねえわたぶん
[(f(x[i]), print(i)) for i in range(10)]
367デフォルトの名無しさん
2022/07/19(火) 12:00:14.16ID:GEUE7oT9 超初心者を馬鹿にしないと精神の安定が保てないかわいそうな人
368デフォルトの名無しさん
2022/07/19(火) 12:19:44.97ID:192s6b8D 馬鹿にされるような日本語使いする自称超初心者が悪い
369デフォルトの名無しさん
2022/07/19(火) 12:24:07.94ID:AricPVYV >>349
比較したコードを出してみて
比較したコードを出してみて
370デフォルトの名無しさん
2022/07/19(火) 12:31:03.42ID:ZGMRA42U >>351
print等の副作用を伴う処理を繰り返す場合は
内包表記ではなくforを使うのがpythonにおける暗黙の了解
値の加工生成と入出力を分けて書くのはpythonに限らずプログラミングの基本
print等の副作用を伴う処理を繰り返す場合は
内包表記ではなくforを使うのがpythonにおける暗黙の了解
値の加工生成と入出力を分けて書くのはpythonに限らずプログラミングの基本
371デフォルトの名無しさん
2022/07/19(火) 12:45:56.52ID:2mzjLS5j >>363
a = [[print(i), f(x[i])][1] for i in range(10)]
a = [[print(i), f(x[i])][1] for i in range(10)]
372デフォルトの名無しさん
2022/07/19(火) 12:59:28.59ID:COa8jHBw カウント1毎にプログレス表示すると内包表記使う意味ないかもしれんが、
リストへの追加100毎
カウント10000000毎にプログレス
で時間計測してみた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if not (i%10000000):
________print(i)
____if i%100 == 0:
________a.append(str(i))
20秒
行儀悪い書き方だが、条件しだいで効果はある
リストへの追加100毎
カウント10000000毎にプログレス
で時間計測してみた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if not (i%10000000):
________print(i)
____if i%100 == 0:
________a.append(str(i))
20秒
行儀悪い書き方だが、条件しだいで効果はある
373デフォルトの名無しさん
2022/07/19(火) 13:09:56.89ID:ieHxnJ8/ >>365
ループ内でpythonのインタプリタで実行される処理とコンパイル済みのCのコードで実行される処理の行き来が減れば速くなる
内包表記は式しか書けないのとlist.appendのようにインタプリタがメソッドを探す処理が不要にになることが多いので単純な式評価だと内包表記がやや速い結果になりやすい
(例えばループの外でappend = outlist.appendとしてループ内ではメソッドじゃなく関数呼び出しにすれば多少速くなる)
ただforより内包表記が速いから内包表記を使うというのは使い方が間違ってるか使う言語を間違ってる
ループ内でpythonのインタプリタで実行される処理とコンパイル済みのCのコードで実行される処理の行き来が減れば速くなる
内包表記は式しか書けないのとlist.appendのようにインタプリタがメソッドを探す処理が不要にになることが多いので単純な式評価だと内包表記がやや速い結果になりやすい
(例えばループの外でappend = outlist.appendとしてループ内ではメソッドじゃなく関数呼び出しにすれば多少速くなる)
ただforより内包表記が速いから内包表記を使うというのは使い方が間違ってるか使う言語を間違ってる
374デフォルトの名無しさん
2022/07/19(火) 13:35:02.16ID:RISkfx3J375デフォルトの名無しさん
2022/07/19(火) 13:41:20.47ID:2mzjLS5j 8秒の方はstr()呼ばれる回数も少ないんじゃね
やり直し
やり直し
376デフォルトの名無しさん
2022/07/19(火) 13:45:55.20ID:e6PA2QPH 内包表記を配列操作以外に使うな(関数叩くな)って書いてるのeffective pythonだっけ
>>374
速いコードって、たとえば進捗吐かないとか、無駄な評価式やループしないとか、そうやって作ってくんよ
鈍重な書き方しても速いのがいいっていうなら、もう根本的にpythonは遅い言語だよ
>>374
速いコードって、たとえば進捗吐かないとか、無駄な評価式やループしないとか、そうやって作ってくんよ
鈍重な書き方しても速いのがいいっていうなら、もう根本的にpythonは遅い言語だよ
377デフォルトの名無しさん
2022/07/19(火) 13:57:38.21ID:COa8jHBw >>375
str()呼ばれる回数は同じじゃね
でも、i%10000000の回数違ってた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if i%100 == 0:
________if not (i%10000000):
____________print(i)
________a.append(str(i))
12秒
str()呼ばれる回数は同じじゃね
でも、i%10000000の回数違ってた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if i%100 == 0:
________if not (i%10000000):
____________print(i)
________a.append(str(i))
12秒
378デフォルトの名無しさん
2022/07/19(火) 14:02:29.41ID:6WNMcjy9 >>377
printしない場合は?
printしない場合は?
379デフォルトの名無しさん
2022/07/19(火) 14:08:53.16ID:COa8jHBw >>378
str(i)呼ぶ回数は、両方 100000000 / 100 = 1000000回
str(i)呼ぶ回数は、両方 100000000 / 100 = 1000000回
380デフォルトの名無しさん
2022/07/19(火) 14:12:29.27ID:6WNMcjy9 >>379
うんだから何秒なの?
うんだから何秒なの?
381デフォルトの名無しさん
2022/07/19(火) 14:12:50.87ID:Xr1AbmZQ 結局書きづらい、読みづらくてミスしちゃうんだから
普通のforループの方が総カロリー低いと思います
普通のforループの方が総カロリー低いと思います
382デフォルトの名無しさん
2022/07/19(火) 14:17:28.28ID:COa8jHBw383デフォルトの名無しさん
2022/07/19(火) 14:19:06.99ID:RISkfx3J 行列プログラマーという本では、集合の表記に近い内包表記のほうが分かりやすいと書いてあります。
実際、もっぱら内包表記を使っています。
実際、もっぱら内包表記を使っています。
384デフォルトの名無しさん
2022/07/19(火) 14:40:11.78ID:HHxHBIIc385デフォルトの名無しさん
2022/07/19(火) 14:49:08.31ID:Dd2ngZhk 内包表記でもインデントしていいんですよ
可読性高めていけ
可読性高めていけ
386デフォルトの名無しさん
2022/07/19(火) 14:52:21.67ID:COa8jHBw387デフォルトの名無しさん
2022/07/19(火) 15:07:57.56ID:COa8jHBw printは時間がかかってないのではなく回数を少なくしてる
他の人が指摘してるように、進捗を細かく表示したい場合、内包表記もforループも時間差はほぼ無くなる
printはやはり時間がかかる
他の人が指摘してるように、進捗を細かく表示したい場合、内包表記もforループも時間差はほぼ無くなる
printはやはり時間がかかる
388デフォルトの名無しさん
2022/07/19(火) 15:17:30.04ID:kjnFmzM9 時間差は4秒で変わらないんじゃないの
printに時間がかかるから4秒の割合が小さくなってほとんど意味ないじゃんってことでしょ
printに時間がかかるから4秒の割合が小さくなってほとんど意味ないじゃんってことでしょ
389デフォルトの名無しさん
2022/07/19(火) 15:40:36.31ID:COa8jHBw390デフォルトの名無しさん
2022/07/19(火) 15:40:46.26ID:bdrM7/md a=[]
…
a.append(str(i))
でなくて、
a=[0]*100000000/100
…
a[i]=str(i)
だとますます変わらなそう
…
a.append(str(i))
でなくて、
a=[0]*100000000/100
…
a[i]=str(i)
だとますます変わらなそう
391デフォルトの名無しさん
2022/07/19(火) 16:01:31.52ID:Ao+3qyOr392デフォルトの名無しさん
2022/07/19(火) 16:03:31.06ID:/jGGKkxp393デフォルトの名無しさん
2022/07/19(火) 16:18:19.62ID:COa8jHBw394デフォルトの名無しさん
2022/07/19(火) 16:28:38.52ID:L7UUhMht そもそも内包表記は可読性良いよ、ギュッと1行にまとまりつつも分かりやすい
for文見る方がダルイわ、内包表記にできないものを仕方なくfor文にしているよ
慣れだよ慣れ、最近だと二重ループの内包表記も全然苦じゃない、美しいとさえ感じる
for文見る方がダルイわ、内包表記にできないものを仕方なくfor文にしているよ
慣れだよ慣れ、最近だと二重ループの内包表記も全然苦じゃない、美しいとさえ感じる
395デフォルトの名無しさん
2022/07/19(火) 16:31:26.97ID:RISkfx3J396デフォルトの名無しさん
2022/07/19(火) 16:40:41.64ID:wHnodxSw forループのほうが内包表記より速いなんてことあるの?
397デフォルトの名無しさん
2022/07/19(火) 18:36:04.44ID:paq2dZhq それこそ、内包表記で呼ぶ関数の回数をカウントして確認たいならデコレーターとかでtqdm使うようにした方が良くないかな?
内包表記の中をごちゃごちゃにするのは基本的には避けた方がいいと思うんだよな。
シンプルに書くために内包表記を使ってるのであって、Zコンビネーターとか使ってへんなことするなら普通のforとかにした方がいいよね
遊びとしては否定しないけどね
内包表記の中をごちゃごちゃにするのは基本的には避けた方がいいと思うんだよな。
シンプルに書くために内包表記を使ってるのであって、Zコンビネーターとか使ってへんなことするなら普通のforとかにした方がいいよね
遊びとしては否定しないけどね
398デフォルトの名無しさん
2022/07/19(火) 19:06:26.25ID:xA31LZ9f code golf で言うと
打数多い方が自慢してるような
糞な流れ
もうやめませんか
打数多い方が自慢してるような
糞な流れ
もうやめませんか
399デフォルトの名無しさん
2022/07/19(火) 19:27:22.92ID:w0DVg8Bk 自治厨久しぶりに見た
400デフォルトの名無しさん
2022/07/19(火) 19:55:09.64ID:z/It7jZN >>397 に一票
こういうのこそデコレーターの出番だと思う
こういうのこそデコレーターの出番だと思う
401デフォルトの名無しさん
2022/07/19(火) 20:20:06.84ID:n8OVMrsb つまり具体的にはどういうこと?
402デフォルトの名無しさん
2022/07/19(火) 22:29:55.85ID:Dd2ngZhk 一行にまとめた内包表記より、インデントした内包表記の方が可読性が下がる
403デフォルトの名無しさん
2022/07/19(火) 22:32:42.31ID:Dd2ngZhk の?
404デフォルトの名無しさん
2022/07/19(火) 23:31:48.45ID:paq2dZhq405デフォルトの名無しさん
2022/07/20(水) 00:25:50.52ID:sLuJt4wx406デフォルトの名無しさん
2022/07/20(水) 01:30:58.07ID:aFoX4Dx/ >>405
そうそう、その辺はもっといい方法があるかもしれないが、ちょっと思いつかなかったのでそんな感じ。
回数が決まってないときは棒グラフは出せないけど1秒に何イテレーションできてるとかはわかると思う。
そうそう、その辺はもっといい方法があるかもしれないが、ちょっと思いつかなかったのでそんな感じ。
回数が決まってないときは棒グラフは出せないけど1秒に何イテレーションできてるとかはわかると思う。
407デフォルトの名無しさん
2022/07/20(水) 03:27:59.73ID:vTCCBmkT @tqdm_wrapper(total_count)ってできればいいんだけど、そういうのは無理なのかな?
408デフォルトの名無しさん
2022/07/20(水) 06:19:50.33ID:uVwid/eb printなしでやってもforループのほうがほんの少し内包表記より速いんだけどなぜだろう
409デフォルトの名無しさん
2022/07/20(水) 07:14:30.03ID:vC0V/6Za PEP
pythonは描き方がひとつ(キリっ
pythonは描き方がひとつ(キリっ
410デフォルトの名無しさん
2022/07/20(水) 07:58:53.16ID:rNnuNQ69411デフォルトの名無しさん
2022/07/20(水) 09:48:14.82ID:53g3nF67 Pythonのネット記事読んでるとAnacondaを入れてどうこう、というチュートリアルばっかりあるんだけど
肝心のAnacondaはどういう状況下で使うものなのか、説明省かれててよくわからないんだよな
ライブラリとpythonのバージョンが合わないと使えないことがあるからそれを避けるため、って認識でいいの?
不具合無かったらAnacondaつかわなくていいのかな?
肝心のAnacondaはどういう状況下で使うものなのか、説明省かれててよくわからないんだよな
ライブラリとpythonのバージョンが合わないと使えないことがあるからそれを避けるため、って認識でいいの?
不具合無かったらAnacondaつかわなくていいのかな?
412デフォルトの名無しさん
2022/07/20(水) 11:17:28.13ID:wWIP1AbD anacondaはAnaconda社の計算科学のための商品で学生の方など教育や学術目的、または趣味の用途であれば無償でご利用いただけます
入門書とかで使われてるのは、色々と最初から入ってるから開発やデプロイ先の環境構築を解説しなくて済むからだよ
anacondaに依存しないやり方覚えた方が楽っていうか、むしろその方が必須になる
入門書とかで使われてるのは、色々と最初から入ってるから開発やデプロイ先の環境構築を解説しなくて済むからだよ
anacondaに依存しないやり方覚えた方が楽っていうか、むしろその方が必須になる
413デフォルトの名無しさん
2022/07/20(水) 11:22:56.97ID:wWIP1AbD 退屈なことは Python にやらせようを書いた人も同じような事言ってた
414デフォルトの名無しさん
2022/07/20(水) 11:27:11.69ID:wWIP1AbD アナコンダを否定してるわけじゃないよ。素晴らしい商品ですし、選択肢の一つとして選べるのは良いことだと思います
415デフォルトの名無しさん
2022/07/20(水) 11:55:51.53ID:L6JCmqAC あえて、IronPythonに手を出して茨の道をw
416デフォルトの名無しさん
2022/07/20(水) 13:27:25.36ID:SSFD7/IV 今Twitterなどで話題になってる仮想通貨のbotを作りたいです
年間で1億円ぐらい稼ぐには何の勉強すればいいですか?
年間で1億円ぐらい稼ぐには何の勉強すればいいですか?
417デフォルトの名無しさん
2022/07/20(水) 13:38:38.86ID:pMrjs46b 経済と仮想通貨
418デフォルトの名無しさん
2022/07/20(水) 13:38:57.02ID:ShYgaPwJ デッサン力
419デフォルトの名無しさん
2022/07/20(水) 14:14:10.83ID:hOJNeZde これからのキーワードは仮想環境
anacondaもIronPythonもPyTorchも欲しい環境をコンテナ一発でドーン!
ってやりたいからDocker勉強しようかと思っている
anacondaもIronPythonもPyTorchも欲しい環境をコンテナ一発でドーン!
ってやりたいからDocker勉強しようかと思っている
420デフォルトの名無しさん
2022/07/20(水) 15:00:19.03ID:qJwz0nM8 ぶっちゃけ
docker の anaconda 版とか
docker の 標準 python 版とか
そういうので良いんだわ
解説書あっても各々インスコ時にバージョンガーとかおま環とか
だるいサポートにみんな疲れたんだろ
docker の anaconda 版とか
docker の 標準 python 版とか
そういうので良いんだわ
解説書あっても各々インスコ時にバージョンガーとかおま環とか
だるいサポートにみんな疲れたんだろ
421デフォルトの名無しさん
2022/07/20(水) 15:29:51.99ID:djIfGOxS windows10 + python3.9 では生ソケットを扱う事ができないのでしょうか
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
ソケット作成のとこでエラーがでます
[WinError 10013]
アクセス許可で禁じられた方法でソケットにアクセスしようとしました
とエラーメッセージがでます
ログインしているユーザはadministratorの権限も持っています
英語のサイトで調べるとprohibitというワードもありました
識者の方ご指導願います
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
ソケット作成のとこでエラーがでます
[WinError 10013]
アクセス許可で禁じられた方法でソケットにアクセスしようとしました
とエラーメッセージがでます
ログインしているユーザはadministratorの権限も持っています
英語のサイトで調べるとprohibitというワードもありました
識者の方ご指導願います
422421
2022/07/20(水) 15:40:01.72ID:djIfGOxS 421です
コマンドプロンプトを管理者権限で実行する事が必要であると学びました
コマンドプロンプトを管理者権限で実行する事が必要であると学びました
423デフォルトの名無しさん
2022/07/20(水) 16:51:36.92ID:rnlV1uw8 anacondaはまああれだけどspyderはなんか好きだ
424デフォルトの名無しさん
2022/07/20(水) 17:04:37.61ID:rNnuNQ69 a=[]
append = a.append
for i in range(30000000):
____append(i)
のように、メソッドをあらかじめ変数に入れると高速化できるという情報をよく見かけるけど本当なの?
何回計測しても誤差程度の差しかなく、速くなってるのか確認できないんだけど
append = a.append
for i in range(30000000):
____append(i)
のように、メソッドをあらかじめ変数に入れると高速化できるという情報をよく見かけるけど本当なの?
何回計測しても誤差程度の差しかなく、速くなってるのか確認できないんだけど
425デフォルトの名無しさん
2022/07/20(水) 17:27:44.50ID:Lx4+ezqp426デフォルトの名無しさん
2022/07/20(水) 17:49:55.19ID:ZOYHOoJs このくらい最適化してよと思っちゃうんだが無理なんかな?
427デフォルトの名無しさん
2022/07/20(水) 17:50:04.72ID:rNnuNQ69 >>425
ありがとうございます
計測方法のミスに気づきました
関数を作らず計測していたので、append = a.append のところがグローバル変数になって遅くなり、
その結果、高速化していなかったようです
ありがとうございます
計測方法のミスに気づきました
関数を作らず計測していたので、append = a.append のところがグローバル変数になって遅くなり、
その結果、高速化していなかったようです
428デフォルトの名無しさん
2022/07/20(水) 18:01:43.03ID:D9vTvaEa これの出所は概ね公式Wikiだけど、2が全盛期に書かれた物なので
https://wiki.python.org/moin/PythonSpeed#Take_advantage_of_interpreter_optimizations
属性を検索したり、インスタンスを紐付けてバウンドメソッドを返す様な
https://docs.python.org/ja/3.7/howto/descriptor.html#invoking-descriptors
こういった機構を回避するので多少速くなるけど、現行のPythonでは比較的小さい
ローカル変数がグローバル変数より読み書きが速いのも実際そう
>>426
型がないダックタイピングな以上は都度解決するしかないであろうなぁ…
https://wiki.python.org/moin/PythonSpeed#Take_advantage_of_interpreter_optimizations
属性を検索したり、インスタンスを紐付けてバウンドメソッドを返す様な
https://docs.python.org/ja/3.7/howto/descriptor.html#invoking-descriptors
こういった機構を回避するので多少速くなるけど、現行のPythonでは比較的小さい
ローカル変数がグローバル変数より読み書きが速いのも実際そう
>>426
型がないダックタイピングな以上は都度解決するしかないであろうなぁ…
429デフォルトの名無しさん
2022/07/20(水) 18:58:09.37ID:QlVkmKZp anaconda入れたけど、avastがなぜかウイルス扱いしていて、anaconda立ち上げるとすぐ落ちて使えなくて、あきらめてvscにした
430デフォルトの名無しさん
2022/07/20(水) 20:09:39.43ID:eRSlBPBh pythonで質問なんですがコンソールに表示される数値の横に量を表したバーを表示させたいのですが
300 ■■■
20 ■
150 ■■
ぐぐっても進捗率をあらわすプログレスバーのtqdmが出てきてしまいどうやって数字に連動した量を表示させるのかわかりません
何かヒントがあればお願いします
300 ■■■
20 ■
150 ■■
ぐぐっても進捗率をあらわすプログレスバーのtqdmが出てきてしまいどうやって数字に連動した量を表示させるのかわかりません
何かヒントがあればお願いします
431デフォルトの名無しさん
2022/07/20(水) 20:21:54.00ID:hglVd79x pbar.update(1) ←これの数字をいじる
432デフォルトの名無しさん
2022/07/20(水) 21:24:08.50ID:npea7ePl433デフォルトの名無しさん
2022/07/20(水) 22:26:00.73ID:rNnuNQ69 >>432
「tqdmが出てきてしまい」て書いてるので、静的に表示するだけだからtqdmは使いたくないのかと思った
静的に表示したい人用おもちゃ
def print_bar(n, max, expansion):
____box = "▏▎▍▌▋▊▉█"
____rate = (n * expansion * 100) // max
____bar = "" + box[7] * (rate//8) + box[rate%8]
____print(bar)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
今書いた書いたらちゃんとテストしてない
「tqdmが出てきてしまい」て書いてるので、静的に表示するだけだからtqdmは使いたくないのかと思った
静的に表示したい人用おもちゃ
def print_bar(n, max, expansion):
____box = "▏▎▍▌▋▊▉█"
____rate = (n * expansion * 100) // max
____bar = "" + box[7] * (rate//8) + box[rate%8]
____print(bar)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
今書いた書いたらちゃんとテストしてない
434デフォルトの名無しさん
2022/07/20(水) 22:32:08.75ID:rNnuNQ69435デフォルトの名無しさん
2022/07/20(水) 22:42:20.27ID:rNnuNQ69 def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(bar)
print_bar(0, 100, 1)
print_bar(1, 100, 1)
print_bar(2, 100, 1)
print_bar(3, 100, 1)
print_bar(4, 100, 1)
print_bar(5, 100, 1)
print_bar(6, 100, 1)
print_bar(7, 100, 1)
print_bar(8, 100, 1)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(bar)
print_bar(0, 100, 1)
print_bar(1, 100, 1)
print_bar(2, 100, 1)
print_bar(3, 100, 1)
print_bar(4, 100, 1)
print_bar(5, 100, 1)
print_bar(6, 100, 1)
print_bar(7, 100, 1)
print_bar(8, 100, 1)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
436デフォルトの名無しさん
2022/07/20(水) 22:53:43.67ID:JXXlHdvc Ruby on Rails なら、VSCode, WSL2, Vagrant, Virtual Box でも出来るけど、
Python は依存モジュールが多いから、Docker が普通
自宅ではじめるDocker入門[改訂版]、浅居 尚、2021/4
この本が最も簡単
Python は依存モジュールが多いから、Docker が普通
自宅ではじめるDocker入門[改訂版]、浅居 尚、2021/4
この本が最も簡単
437デフォルトの名無しさん
2022/07/20(水) 23:38:31.06ID:hOJNeZde438デフォルトの名無しさん
2022/07/20(水) 23:59:09.30ID:hOJNeZde >>436
Dockerの書籍でているのね、レビュー評価もメチャいいじゃん
でもネット上に公式?の日本語ドキュメントがあるからこれでいけるんじゃないかな??どうかな?w
ttps://matsuand.github.io/docs.docker.jp.onthefly/
ttps://docs.docker.jp/index.html
Dockerの書籍でているのね、レビュー評価もメチャいいじゃん
でもネット上に公式?の日本語ドキュメントがあるからこれでいけるんじゃないかな??どうかな?w
ttps://matsuand.github.io/docs.docker.jp.onthefly/
ttps://docs.docker.jp/index.html
439デフォルトの名無しさん
2022/07/21(木) 01:17:04.66ID:dz51dLzk >>437
値、開始位置、最大到達位置を表示しました
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 200) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} | {bar:{expansion*25}s} |\n")
print_bar(8, 100, 4)
print_bar(50, 100, 4)
print_bar(90, 100, 4)
print_bar(100, 100, 4)
値、開始位置、最大到達位置を表示しました
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 200) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} | {bar:{expansion*25}s} |\n")
print_bar(8, 100, 4)
print_bar(50, 100, 4)
print_bar(90, 100, 4)
print_bar(100, 100, 4)
440デフォルトの名無しさん
2022/07/21(木) 03:59:00.54ID:c34Fgnuj PythonでAI作り始めてから電気代が2000円以上高くなった
441デフォルトの名無しさん
2022/07/21(木) 08:50:46.37ID:nja0E+A7 >>439
すばらしい全部入っている! けども200とか25とかなんだろう?ああ小数点がイヤだから2倍しているのか
となったので、計算式が分かるようにした方が可読性とメンテナンス性があがると思いました
以下計算式を明示した改良版
import math
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
すばらしい全部入っている! けども200とか25とかなんだろう?ああ小数点がイヤだから2倍しているのか
となったので、計算式が分かるようにした方が可読性とメンテナンス性があがると思いました
以下計算式を明示した改良版
import math
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
442デフォルトの名無しさん
2022/07/21(木) 11:05:44.45ID:nja0E+A7 さらに良くなった
import math
def print_bar(n, max=100, expansion=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
import math
def print_bar(n, max=100, expansion=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
443デフォルトの名無しさん
2022/07/21(木) 19:29:07.60ID:dz51dLzk やっぱりmath.ceil使ったほうがいいよな
importを減らしたがる癖が抜けず2倍してしまった
importを減らしたがる癖が抜けず2倍してしまった
444デフォルトの名無しさん
2022/07/21(木) 20:09:26.68ID:dz51dLzk 最終型
import math
def print_bar(n, max=100, expansion=1, *, cr=2, sep="|", prefix="", suffix="", unit=""):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8) + box[rate%8] * bool(rate%8)
____print(f"{prefix}{n:{len(str(max))}d}{unit} {sep}{bar:{math.ceil(expansion*100/8)}s}{sep}{suffix}" + "\n"*cr, end="")
import math
def print_bar(n, max=100, expansion=1, *, cr=2, sep="|", prefix="", suffix="", unit=""):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8) + box[rate%8] * bool(rate%8)
____print(f"{prefix}{n:{len(str(max))}d}{unit} {sep}{bar:{math.ceil(expansion*100/8)}s}{sep}{suffix}" + "\n"*cr, end="")
445デフォルトの名無しさん
2022/07/21(木) 21:25:09.45ID:nja0E+A7 >>444
すんごーい! crの初期値は1が良いかな、それ以外は全部気に入りました
すんごーい! crの初期値は1が良いかな、それ以外は全部気に入りました
446デフォルトの名無しさん
2022/07/22(金) 00:46:45.54ID:LN4IvGf8 >>444
ありがとうございます
ありがとうございます
447デフォルトの名無しさん
2022/07/22(金) 11:32:26.12ID:emgmw9dd >>421-422
runas
runas
448デフォルトの名無しさん
2022/07/22(金) 14:53:38.79ID:hAgOKfi8 >>444
数値を非表示にするオプションつけ忘れた
数値を非表示にするオプションつけ忘れた
449デフォルトの名無しさん
2022/07/22(金) 17:03:59.46ID:t+dBeaSp450デフォルトの名無しさん
2022/07/22(金) 17:47:22.62ID:iaUAG8EO ここはきみの日記帳じゃない
451デフォルトの名無しさん
2022/07/22(金) 19:07:18.92ID:t+dBeaSp >>450
関数や変数の命名はとても重要だよ? 端的で分かりやすくする必要がある
それが可読性やメンテナンス性をあげるわけなのだよ
プログラミングは名前付けであると言われる所以はそういうことなのだよ
今回の数値の非表示オプション名は非常に難しい、私的にはdisplay_valueがベストかな?
と考えつつも彼の意見も参考にしたいわけだ、もちろんtqdmではどうしているのかな?
と調べたりもした、tqdmではbar_formatで書式を指定できるみたいだね
その中で数値部分はpercentageという変数名のようだ
print_barはunit指定ができるわけで%表示固定ではないから、percentageは適切ではない
と考えると・・ね?難しいでしょ? 皆の意見も聞きたいじゃん!
関数や変数の命名はとても重要だよ? 端的で分かりやすくする必要がある
それが可読性やメンテナンス性をあげるわけなのだよ
プログラミングは名前付けであると言われる所以はそういうことなのだよ
今回の数値の非表示オプション名は非常に難しい、私的にはdisplay_valueがベストかな?
と考えつつも彼の意見も参考にしたいわけだ、もちろんtqdmではどうしているのかな?
と調べたりもした、tqdmではbar_formatで書式を指定できるみたいだね
その中で数値部分はpercentageという変数名のようだ
print_barはunit指定ができるわけで%表示固定ではないから、percentageは適切ではない
と考えると・・ね?難しいでしょ? 皆の意見も聞きたいじゃん!
452デフォルトの名無しさん
2022/07/22(金) 19:43:18.38ID:bpOnuI9e 名前は重要。
開発が終わった後でも、コードを見る事があるから
プログラミングの3割の時間は、分かりやすい名前を考えること
簡潔に説明されている名前なら、
処理を詳しく見なくても理解が進むので、バグも減って高品質になる
リファクタリング・メソッド化などは、Rubyist の基本
開発が終わった後でも、コードを見る事があるから
プログラミングの3割の時間は、分かりやすい名前を考えること
簡潔に説明されている名前なら、
処理を詳しく見なくても理解が進むので、バグも減って高品質になる
リファクタリング・メソッド化などは、Rubyist の基本
453デフォルトの名無しさん
2022/07/22(金) 19:52:25.71ID:PdYjn4LX メソッドが長すぎると名付けが難しいから結局は短く作るのがいいのか?
でもそれだと分割しすぎとか言われそうだし
「汎用的、抽象的」な名前がいいのか「汎用的な名前を避けて具体的」にすべきなのか
でもそれだと分割しすぎとか言われそうだし
「汎用的、抽象的」な名前がいいのか「汎用的な名前を避けて具体的」にすべきなのか
454デフォルトの名無しさん
2022/07/22(金) 19:52:35.56ID:t+dBeaSp >>448
でけた! tqdmのbar_formatを採用
これで数値の表示/非表示はもちろん色々柔軟に対応できる
def print_bar(n, max=100, expansion=1, *, bar_format="{prefix}{num}{sep}{bar}{sep}{suffix}",
____________ unit="%", sep="|", prefix="", suffix="", cr=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8) + box[rate%8] * bool(rate%8)
____bar = f"{bar:{math.ceil(expansion*100/8)}s}"
____num = f"{n:{len(str(max))}d}{unit}"
____print(bar_format.format(**locals()) + "\n"*cr, end="")
でけた! tqdmのbar_formatを採用
これで数値の表示/非表示はもちろん色々柔軟に対応できる
def print_bar(n, max=100, expansion=1, *, bar_format="{prefix}{num}{sep}{bar}{sep}{suffix}",
____________ unit="%", sep="|", prefix="", suffix="", cr=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8) + box[rate%8] * bool(rate%8)
____bar = f"{bar:{math.ceil(expansion*100/8)}s}"
____num = f"{n:{len(str(max))}d}{unit}"
____print(bar_format.format(**locals()) + "\n"*cr, end="")
455452
2022/07/22(金) 21:05:54.53ID:bpOnuI9e 例えば、Ruby のモジュール関数の名前なら、
cancel_button_label_text
apply_or_cancel_button
インスタンスメソッド名なら、
obj.suspended?
末尾の? で、戻り値がbool 型だと表現できる
cancel_button_label_text
apply_or_cancel_button
インスタンスメソッド名なら、
obj.suspended?
末尾の? で、戻り値がbool 型だと表現できる
456デフォルトの名無しさん
2022/07/22(金) 21:06:08.18ID:aVBkeTN2 >454
print_bar.update ってできない?
print_bar.update ってできない?
457デフォルトの名無しさん
2022/07/22(金) 21:29:43.19ID:t+dBeaSp >>456
tqdmのupdateみたいなことができるかってこと? クラス化すればできるよ
ああ、bar_formatとか呼び出すごとに変数指定するのはアホだよね
クラス化してインスタンス生成時にbar_format指定した方がいいよね
tqdmのupdateみたいなことができるかってこと? クラス化すればできるよ
ああ、bar_formatとか呼び出すごとに変数指定するのはアホだよね
クラス化してインスタンス生成時にbar_format指定した方がいいよね
458デフォルトの名無しさん
2022/07/22(金) 22:27:04.77ID:t+dBeaSp クラス化できたけど、関数バージョン(>>444)の方が好きかも
class print_bar:
____def __init__(self, max=100, num_format="{num:{max_digit}d}{unit}",
____________ bar_format="{prefix}{num_format}{sep}{bar}{sep}{suffix}",
____________ unit="%", sep="|", prefix="", suffix="", cr=1):
________self.box = "█ ▏▎▍▌▋▊▉"
________self.max = max
________self.max_digit = len(str(max))
________self.num_format = num_format
________self.bar_format = bar_format
________self.unit = unit
________self.sep = sep
________self.prefix = prefix
________self.suffix = suffix
____def update(self, num, expansion=1, cr=1):
________rate = (num * expansion * 100) // self.max
________num_format = self.num_format.format(num=num, **self.__dict__)
________bar = f"{self.box[0] * (rate//8) + self.box[rate%8] * bool(rate%8):{math.ceil(expansion*100/8)}s}"
________print(self.bar_format.format(bar=bar, **dict(self.__dict__, num_format=num_format)) + "\n"*cr, end="")
p = print_bar()
p.update(70)
class print_bar:
____def __init__(self, max=100, num_format="{num:{max_digit}d}{unit}",
____________ bar_format="{prefix}{num_format}{sep}{bar}{sep}{suffix}",
____________ unit="%", sep="|", prefix="", suffix="", cr=1):
________self.box = "█ ▏▎▍▌▋▊▉"
________self.max = max
________self.max_digit = len(str(max))
________self.num_format = num_format
________self.bar_format = bar_format
________self.unit = unit
________self.sep = sep
________self.prefix = prefix
________self.suffix = suffix
____def update(self, num, expansion=1, cr=1):
________rate = (num * expansion * 100) // self.max
________num_format = self.num_format.format(num=num, **self.__dict__)
________bar = f"{self.box[0] * (rate//8) + self.box[rate%8] * bool(rate%8):{math.ceil(expansion*100/8)}s}"
________print(self.bar_format.format(bar=bar, **dict(self.__dict__, num_format=num_format)) + "\n"*cr, end="")
p = print_bar()
p.update(70)
459デフォルトの名無しさん
2022/07/22(金) 22:57:55.57ID:oFTCo3Qt 日記帳で試行錯誤して、結論が出てから書き込んでください
460デフォルトの名無しさん
2022/07/22(金) 23:49:56.07ID:XYg2RZCf boxサーバーに上がっているExcelやcsvのデータってpythonで読み取ることできるのでしょうか?
https://app.box.com/file/xxxxxxxxxxxxxのようなURLを指定して
ファイル内のデータを読み込みたいのですがうまくいきませんでした。
https://app.box.com/file/xxxxxxxxxxxxxのようなURLを指定して
ファイル内のデータを読み込みたいのですがうまくいきませんでした。
461デフォルトの名無しさん
2022/07/23(土) 06:43:50.22ID:NAv7kQq5 beautifulsoupでいったんダウンロードすれば?
462デフォルトの名無しさん
2022/07/23(土) 06:53:36.23ID:DC0ZGSft ども、print_barの作者です。こんな短いプログラムに作者もくそもないですが・・・
上記コードを参考させてもらい考えました。私ならこうします
import math
def print_bar(num, max=100, expansion=1, *, prefix="", display_num=True, unit="", sep="|", suffix="", cr=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (num * expansion * 100) // max
____bar = f"{box[0] * (rate // 8 ) + box[rate % 8] * bool(rate % 8):{math.ceil(expansion * 100 / 8)}s}"
____num_formated = f"{num:{len(str(max))}d}" * display_num
____print(f"{prefix}{num_formated}{unit} {sep}{bar}{sep}{suffix}" + "\n"*cr, end="")
display_valueのほうがわかりやすいけど長いから好きじゃない。何度も書く名前ならdisp_numに短縮するかも。
bar_formatは付けたい人が自分でつければいい
最低限の機能が付いていて、可読性・カスタマイズの容易性を考えるとこんなところでしょうか
上記コードを参考させてもらい考えました。私ならこうします
import math
def print_bar(num, max=100, expansion=1, *, prefix="", display_num=True, unit="", sep="|", suffix="", cr=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (num * expansion * 100) // max
____bar = f"{box[0] * (rate // 8 ) + box[rate % 8] * bool(rate % 8):{math.ceil(expansion * 100 / 8)}s}"
____num_formated = f"{num:{len(str(max))}d}" * display_num
____print(f"{prefix}{num_formated}{unit} {sep}{bar}{sep}{suffix}" + "\n"*cr, end="")
display_valueのほうがわかりやすいけど長いから好きじゃない。何度も書く名前ならdisp_numに短縮するかも。
bar_formatは付けたい人が自分でつければいい
最低限の機能が付いていて、可読性・カスタマイズの容易性を考えるとこんなところでしょうか
463デフォルトの名無しさん
2022/07/23(土) 07:10:57.00ID:DC0ZGSft >>462
formattedです。恥ずかしいミス
formattedです。恥ずかしいミス
464デフォルトの名無しさん
2022/07/23(土) 07:22:10.22ID:ytdxYh/D なんか昨日のアップデートでWindows TerminalがIME勝手にON(英字入力)になる。とっても面倒くさい。
OFFにする方法ない?
OFFにする方法ない?
465デフォルトの名無しさん
2022/07/23(土) 09:23:17.53ID:bR39w9BX466デフォルトの名無しさん
2022/07/23(土) 09:48:06.05ID:lkZCuVJ2467デフォルトの名無しさん
2022/07/23(土) 10:20:26.06ID:zqWGCIwO コード出してあれこれやるのはいいと思うけどここまで引っ張るのはさすがにスレチだわな
こっちへ行けよ
Pythonのお勉強 Part67
https://mevius.5ch.net/test/read.cgi/tech/1653540315/
こっちへ行けよ
Pythonのお勉強 Part67
https://mevius.5ch.net/test/read.cgi/tech/1653540315/
468デフォルトの名無しさん
2022/07/23(土) 10:32:50.67ID:lkZCuVJ2 >>467
引っ張るとスレチって意味が分からんw そっちのスレも同じじゃん何が違うのよ?
うーん、、もしかして自分が質問したレスが埋もれちゃったとか?
それは関係ないよ、単に答えられるor答える人が居なかっただけで我々のせいではない
引っ張るとスレチって意味が分からんw そっちのスレも同じじゃん何が違うのよ?
うーん、、もしかして自分が質問したレスが埋もれちゃったとか?
それは関係ないよ、単に答えられるor答える人が居なかっただけで我々のせいではない
469デフォルトの名無しさん
2022/07/23(土) 10:41:14.21ID:iHVC6bwv 我々…
470デフォルトの名無しさん
2022/07/23(土) 10:43:44.38ID:bR39w9BX 自演で自分のレス褒めてるレスとか観ると
他人事乍ら哀しくなるな
他人事乍ら哀しくなるな
471デフォルトの名無しさん
2022/07/23(土) 10:59:03.42ID:zqWGCIwO472デフォルトの名無しさん
2022/07/23(土) 11:09:30.68ID:QCnlUATD スレタイに日記帳って書いてあるスレで試行錯誤すべきだったよな
473デフォルトの名無しさん
2022/07/23(土) 11:18:41.28ID:lkZCuVJ2474デフォルトの名無しさん
2022/07/23(土) 11:21:00.46ID:Q9mI3iQv しつこい
475デフォルトの名無しさん
2022/07/23(土) 11:29:25.91ID:zqWGCIwO476デフォルトの名無しさん
2022/07/23(土) 11:31:58.41ID:lkZCuVJ2477デフォルトの名無しさん
2022/07/23(土) 11:38:20.58ID:3Ek+JvxJ 3回までよくて4回目がだめなんてことはない
3回でだめな人もいるし、4回はアウトだろうという人もいる
だが10回までくるとさすがに全員がアウトと感じる
そういう状況
3回でだめな人もいるし、4回はアウトだろうという人もいる
だが10回までくるとさすがに全員がアウトと感じる
そういう状況
478デフォルトの名無しさん
2022/07/23(土) 11:49:34.23ID:lkZCuVJ2 >>477
うん?10回は全然良いよ、っていうかスレに沿っているなら何回でもええがな
全員がアウトと感じるとかウソつくなよw 君たちのお気持ちの表明がまさにスレチw
なぜならPythonと全く関係ございません!これが完璧なスレチの指摘というものだよ
お気持ちとか何だよww 脳みそ付いてんのか?w
うん?10回は全然良いよ、っていうかスレに沿っているなら何回でもええがな
全員がアウトと感じるとかウソつくなよw 君たちのお気持ちの表明がまさにスレチw
なぜならPythonと全く関係ございません!これが完璧なスレチの指摘というものだよ
お気持ちとか何だよww 脳みそ付いてんのか?w
479デフォルトの名無しさん
2022/07/23(土) 11:49:41.79ID:Py93vpAm >>476
> ボクちゃんが気に食わなかったからスレチですってことですかぁああああ???
ダメな理由は前に書いてあるだろ...
> スレタイも読めないのか?
> ここは超初心者用な
> びっくりしましたぁぁああああああwwww
お前の無能さにこっちがびっくりだよw
> ボクちゃんが気に食わなかったからスレチですってことですかぁああああ???
ダメな理由は前に書いてあるだろ...
> スレタイも読めないのか?
> ここは超初心者用な
> びっくりしましたぁぁああああああwwww
お前の無能さにこっちがびっくりだよw
480デフォルトの名無しさん
2022/07/23(土) 11:51:51.55ID:NAv7kQq5481デフォルトの名無しさん
2022/07/23(土) 11:52:41.39ID:lkZCuVJ2482デフォルトの名無しさん
2022/07/23(土) 11:53:42.77ID:lkZCuVJ2 >>480
はい、じゃあ全員じゃないね、答え合わせありがとうw
はい、じゃあ全員じゃないね、答え合わせありがとうw
483デフォルトの名無しさん
2022/07/23(土) 12:01:36.99ID:LCkddkGN484デフォルトの名無しさん
2022/07/23(土) 12:01:47.65ID:LCkddkGN485デフォルトの名無しさん
2022/07/23(土) 12:02:11.20ID:cx+wDCne486デフォルトの名無しさん
2022/07/23(土) 12:12:16.70ID:zqWGCIwO 今日の様に暑いとID:lkZCuVJ2みたいな奴が犯罪にはしらないか心配になるw
487デフォルトの名無しさん
2022/07/23(土) 12:12:53.56ID:DC0ZGSft 462です。
スレ見なおしたけど反省するようなレスしていない
449で予想外のツッコミ受けて驚いたが。
自治厨の相手はしたくないので、この件のコメントはこれが最初で最後
スレ見なおしたけど反省するようなレスしていない
449で予想外のツッコミ受けて驚いたが。
自治厨の相手はしたくないので、この件のコメントはこれが最初で最後
488デフォルトの名無しさん
2022/07/23(土) 12:13:10.23ID:Sr9KJy9/ 絶望的に適性ないやつがいるな
そんな無駄なことは今すぐやめろ
限りある人生をもっと有意義なことに使え
そんな無駄なことは今すぐやめろ
限りある人生をもっと有意義なことに使え
489デフォルトの名無しさん
2022/07/23(土) 12:16:15.57ID:cx+wDCne まあ反省できるようなやつだったら最初からこんなことしないわな
490デフォルトの名無しさん
2022/07/23(土) 12:39:52.71ID:zqWGCIwO コード出して色々言うのはいいけど適切なスレでやってねって話なんだけど自治厨とか言い出してる時点で反省なんてしてないわなw
491デフォルトの名無しさん
2022/07/23(土) 12:46:43.25ID:b3gXMMo0 自己中なんだろ
自分以外見えてない
自分以外見えてない
492デフォルトの名無しさん
2022/07/23(土) 15:41:49.42ID:FAO+OpS7 ネオ麦茶
493デフォルトの名無しさん
2022/07/23(土) 17:14:17.68ID:QCnlUATD494デフォルトの名無しさん
2022/07/23(土) 18:06:21.74ID:KR63qUqp 随分とハイコンテクストな犯罪教唆だな
495デフォルトの名無しさん
2022/07/23(土) 21:20:29.07ID:MqDru3I9 >>460
例えばRuby では、input.csv が以下の内容として、
a
b,c
require 'csv'
require 'open-uri'
url = "http://localhost:8000/input.csv"
CSV.parse( open( url ).string ).each do | row | # 1行ずつ処理する
p row
end
出力
["a"]
["b", "c"]
または、curl コマンドを使う事もできる。
input_csv = `curl #{ url }`
例えばRuby では、input.csv が以下の内容として、
a
b,c
require 'csv'
require 'open-uri'
url = "http://localhost:8000/input.csv"
CSV.parse( open( url ).string ).each do | row | # 1行ずつ処理する
p row
end
出力
["a"]
["b", "c"]
または、curl コマンドを使う事もできる。
input_csv = `curl #{ url }`
496デフォルトの名無しさん
2022/07/23(土) 22:54:21.58ID:jIlcufBL 完全自殺なんチャラって本も流行ったなぁ
497デフォルトの名無しさん
2022/07/24(日) 05:32:21.57ID:or5HZl/v 1.適性がない、というその適性を定義してください。
2.適性がない、となぜ判断したのか 1. をもとに詳しく記述してください
3.1.2.が出来ないのではないのならば、あなたこそ、あなたのいう適性をもちあわせていない、と私は判断します
以上
2.適性がない、となぜ判断したのか 1. をもとに詳しく記述してください
3.1.2.が出来ないのではないのならば、あなたこそ、あなたのいう適性をもちあわせていない、と私は判断します
以上
498デフォルトの名無しさん
2022/07/24(日) 10:18:49.14ID:VDm4wods499デフォルトの名無しさん
2022/07/24(日) 12:33:12.33ID:DlP0Pw4T500デフォルトの名無しさん
2022/07/24(日) 13:48:43.90ID:Kadg5L8P >>499
ここで政治の話は止めて頂きたい
ここで政治の話は止めて頂きたい
501デフォルトの名無しさん
2022/07/24(日) 14:03:28.06ID:s7YMPwIQ >>500
おまえは馬鹿
おまえは馬鹿
502デフォルトの名無しさん
2022/07/24(日) 14:09:01.48ID:nqGRTr2S プログラミングしてると、
Delete、Enter、BackSpace、半角全角、home、end
ここらへんがホームポジションから遠すぎて困るな
半角、全角は無変換と変換に割り当てたんだけど
みんなはキーマップカスタマイズとかしてるの?
Delete、Enter、BackSpace、半角全角、home、end
ここらへんがホームポジションから遠すぎて困るな
半角、全角は無変換と変換に割り当てたんだけど
みんなはキーマップカスタマイズとかしてるの?
503デフォルトの名無しさん
2022/07/24(日) 14:12:13.07ID:s7YMPwIQ それはPythonと関係のある話題ですか?
504デフォルトの名無しさん
2022/07/24(日) 14:14:56.30ID:QkJUlhBv 手を叩いて大きくすると良い感じになるよ。
505デフォルトの名無しさん
2022/07/24(日) 14:20:46.38ID:VlRFcd7U >>499
メンバシップ関数を定義するのけ?
メンバシップ関数を定義するのけ?
506デフォルトの名無しさん
2022/07/24(日) 14:43:22.46ID:Kadg5L8P >>502
ctrl<->capsの入れ替えくらい
ctrl<->capsの入れ替えくらい
507デフォルトの名無しさん
2022/07/24(日) 16:12:15.26ID:ydeGY7xn508デフォルトの名無しさん
2022/07/24(日) 16:23:06.62ID:oKMHGzT9 集団自決したはずなのに生きていた人が死去
509デフォルトの名無しさん
2022/07/24(日) 19:45:11.64ID:e/hljxBO スクレイピングの練習中でリスト内包表記とre.search()について教えてください
seleniumとlxmlで取得したデータの変換がうまく行かないです
url_list = ['https://www.tekitou'+re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group() for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
html.cssselect('#tekitou > div > div > a:nth-child(1)').get('href')の時点で取得できてるurlは下記のような感じです。
https://www.tekitou/%〇〇%〇〇/dp/(10桁の英数字 英は半角大文字)/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1
https://www.tekitou/music/player/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1
re.search().group()する前のurlが/dp/ありのurlと/dp/なしのurlに分かれるのですが、
re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group()の作業の際にエラーがでてしまうため
/dp/なしのurlを削除するようにするか、
pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1の(10桁の英数字 英は半角大文字)を取得するようにしたいです。
なにかうまい表記があれば教えてください
seleniumとlxmlで取得したデータの変換がうまく行かないです
url_list = ['https://www.tekitou'+re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group() for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
html.cssselect('#tekitou > div > div > a:nth-child(1)').get('href')の時点で取得できてるurlは下記のような感じです。
https://www.tekitou/%〇〇%〇〇/dp/(10桁の英数字 英は半角大文字)/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1
https://www.tekitou/music/player/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1
re.search().group()する前のurlが/dp/ありのurlと/dp/なしのurlに分かれるのですが、
re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group()の作業の際にエラーがでてしまうため
/dp/なしのurlを削除するようにするか、
pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1の(10桁の英数字 英は半角大文字)を取得するようにしたいです。
なにかうまい表記があれば教えてください
510デフォルトの名無しさん
2022/07/24(日) 19:55:36.27ID:IZxLU3+7 秀丸最強
511デフォルトの名無しさん
2022/07/24(日) 20:08:14.75ID:JBPZyDq1 アマゾンのURLくらいググったら色々出てきそうだけどクソ見にくい正規表現で無理せずにスラッシュでsplitでifにlengthとアスキー確認くらいでいいんじゃないの?
512デフォルトの名無しさん
2022/07/24(日) 23:38:55.79ID:GhBFnIe8 プログラミングって直感じゃね?
論理は直感を説明するのに用いることに有効だけど
プログラム書くのにいちいち考えないっしょ
考えるのは設計とテストだけだし
論理は直感を説明するのに用いることに有効だけど
プログラム書くのにいちいち考えないっしょ
考えるのは設計とテストだけだし
513デフォルトの名無しさん
2022/07/24(日) 23:39:26.11ID:GhBFnIe8 それ以外にもあるかもしれんけど
514デフォルトの名無しさん
2022/07/24(日) 23:43:50.14ID:nVQ6Xq/p >>509
pd_rd_iから取得
url_list = ['https://www.tekitou/dp/{0}/'.format(re.findall(r'\?pd_rd_i=(\w+)', a.get('href'))[0]) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
pd_rd_iから取得
url_list = ['https://www.tekitou/dp/{0}/'.format(re.findall(r'\?pd_rd_i=(\w+)', a.get('href'))[0]) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
515デフォルトの名無しさん
2022/07/25(月) 00:22:12.12ID:kwIPZDW5 argparse使って、たとえば1つ目の位置引数(スイッチのようなもの)の違いで、それ以降は全く異なる引数ルールになるような場合はどのような指定をすればよいでしょうか?
それともそれぞれ別のルールを定義してパースする必要がありますか?
すごく簡単な例ですが、addの場合とlistの場合で指定する引数が違うようなものとか
user.py
-add name [--prop property]
-list [--group group]
それともそれぞれ別のルールを定義してパースする必要がありますか?
すごく簡単な例ですが、addの場合とlistの場合で指定する引数が違うようなものとか
user.py
-add name [--prop property]
-list [--group group]
516デフォルトの名無しさん
2022/07/25(月) 00:41:00.73ID:YiCqNPeZ517デフォルトの名無しさん
2022/07/25(月) 00:57:12.30ID:kwIPZDW5 >>516
なるほど。argparseで一度にまとめてできればと思ったんですが、できないってことですね…
なるほど。argparseで一度にまとめてできればと思ったんですが、できないってことですね…
518デフォルトの名無しさん
2022/07/25(月) 01:00:15.74ID:gTrk2zFk >>509
例えば、Ruby なら、
URI.split で、URL のパス部分だけを抜き出して、
その文字列内に、/dp/ が含まれているかで条件分岐する
require 'uri'
dp_url = "http://example.com/%E3%81%82/dp/a" # あ = %E3%81%82
non_dp_url = "http://example.com/%E3%81%82/a"
p dp_ary = URI.split( dp_url )
p non_dp_ary = URI.split( non_dp_url )
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/dp/a", nil, nil, nil]
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/a", nil, nil, nil]
# パス部分
p dp_ary[ 5 ]
p non_dp_ary[ 5 ]
#=> "/%E3%81%82/dp/a"
#=> "/%E3%81%82/a"
p dp_ary[ 5 ].match( '/dp/' )
p non_dp_ary[ 5 ].match( '/dp/' )
#=> <MatchData "/dp/"> : 一致する
#=> nil : 一致しない
例えば、Ruby なら、
URI.split で、URL のパス部分だけを抜き出して、
その文字列内に、/dp/ が含まれているかで条件分岐する
require 'uri'
dp_url = "http://example.com/%E3%81%82/dp/a" # あ = %E3%81%82
non_dp_url = "http://example.com/%E3%81%82/a"
p dp_ary = URI.split( dp_url )
p non_dp_ary = URI.split( non_dp_url )
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/dp/a", nil, nil, nil]
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/a", nil, nil, nil]
# パス部分
p dp_ary[ 5 ]
p non_dp_ary[ 5 ]
#=> "/%E3%81%82/dp/a"
#=> "/%E3%81%82/a"
p dp_ary[ 5 ].match( '/dp/' )
p non_dp_ary[ 5 ].match( '/dp/' )
#=> <MatchData "/dp/"> : 一致する
#=> nil : 一致しない
519デフォルトの名無しさん
2022/07/25(月) 01:03:04.79ID:oCKr0yXR add_subparsersでやればいいんじゃない
520デフォルトの名無しさん
2022/07/25(月) 09:00:21.95ID:9Mfr9nvz >>512
うう……設計がプログラミングに含まれてない……うそやろ……
うう……設計がプログラミングに含まれてない……うそやろ……
521デフォルトの名無しさん
2022/07/25(月) 09:35:32.16ID:Tcjxae6G >>509
/dp/(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
?pd_rd_i=(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
どちらも無ければ空文字を返しエラーとはならない方法
url_list = ['https://www.tekitou/dp/{0}/'.format(re.search(r'(?<=/dp/)(\w+)|(?<=\?pd_rd_i=)(\w+)|$', a.get('href')).group()) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
/dp/(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
?pd_rd_i=(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
どちらも無ければ空文字を返しエラーとはならない方法
url_list = ['https://www.tekitou/dp/{0}/'.format(re.search(r'(?<=/dp/)(\w+)|(?<=\?pd_rd_i=)(\w+)|$', a.get('href')).group()) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
522デフォルトの名無しさん
2022/07/25(月) 09:43:03.78ID:VgpbHR93 >>520
Don't think. Feeeel!!
Don't think. Feeeel!!
523デフォルトの名無しさん
2022/07/25(月) 10:25:41.85ID:kwIPZDW5524デフォルトの名無しさん
2022/07/25(月) 12:52:01.49ID:gFjrq6Gs >>520
設計は人が考えたものを具現化するプロセスまでの事でプログラミングに含まれないよね
プログラミングは優秀な言語と開発支援ツールに頼って直感のままに組み立てる作業
人が本来やることは自身の進化とソフトウエアのアップデート対応に強い設計する事と作業を減らす工夫と世界が前進することへの貢献
設計は人が考えたものを具現化するプロセスまでの事でプログラミングに含まれないよね
プログラミングは優秀な言語と開発支援ツールに頼って直感のままに組み立てる作業
人が本来やることは自身の進化とソフトウエアのアップデート対応に強い設計する事と作業を減らす工夫と世界が前進することへの貢献
525デフォルトの名無しさん
2022/07/25(月) 12:57:49.15ID:gFjrq6Gs 簡単そうに言ってるけど
かなり時間かけて様々なことを知らないといけないし知らない未知のことへの挑戦もしてかなきゃいけない
そーゆー志を持った人がこのスレの中に居てくれたら俺は嬉しい
かなり時間かけて様々なことを知らないといけないし知らない未知のことへの挑戦もしてかなきゃいけない
そーゆー志を持った人がこのスレの中に居てくれたら俺は嬉しい
526デフォルトの名無しさん
2022/07/25(月) 13:20:20.14ID:9Mfr9nvz >>524
(それコーディングじゃない?)
(それコーディングじゃない?)
527デフォルトの名無しさん
2022/07/25(月) 14:36:18.33ID:evu7R6rH docker入れてみたけどやっぱ仮想環境だからGB単位でメモリそこそこつかうんだよな
アイドル状態で8GB、vscodeで1〜2GB、dockerで2GB、Chromeで動画見ながら作業したら2〜3GBぐらい使うからギリギリで困る
やっぱメモリ32GBは入れないとだめか
アイドル状態で8GB、vscodeで1〜2GB、dockerで2GB、Chromeで動画見ながら作業したら2〜3GBぐらい使うからギリギリで困る
やっぱメモリ32GBは入れないとだめか
528デフォルトの名無しさん
2022/07/25(月) 15:07:03.89ID:fmU0SO/o >>526
(ちんこかゆい)
(ちんこかゆい)
529デフォルトの名無しさん
2022/07/25(月) 16:14:04.12ID:GOtCNvAE530デフォルトの名無しさん
2022/07/25(月) 19:47:19.85ID:GWKUHzSt531デフォルトの名無しさん
2022/07/25(月) 19:49:50.49ID:GWKUHzSt seleniumで複数ブラウザ立てて並列処理してみたいけど難しそう
scrapyで楽天からスクレイピングしてみたら非同期処理?のせいで早すぎて速攻アク禁くらった
scrapyで楽天からスクレイピングしてみたら非同期処理?のせいで早すぎて速攻アク禁くらった
532デフォルトの名無しさん
2022/07/25(月) 20:11:37.41ID:NlibKZuA533デフォルトの名無しさん
2022/07/25(月) 20:20:18.30ID:mO6SEFWJ 流石にもういきなり逮捕はされないと思うけど、librahackみたいなことが起こらないとは言えないから怖いよねー。
アクセスログで見ても、ギリギリ人間がアクセスしてるって言い訳できるぐらいの間隔を乱数で作ってsleepしてるわ。
アクセスログで見ても、ギリギリ人間がアクセスしてるって言い訳できるぐらいの間隔を乱数で作ってsleepしてるわ。
534デフォルトの名無しさん
2022/07/25(月) 21:11:33.84ID:Tcjxae6G535デフォルトの名無しさん
2022/07/25(月) 21:14:45.44ID:GF1rw+EH イヤイヤイヤイヤ、普通にクソ見にくいでしょ。
他人が理解できないものを書くほうが偉いって風潮何とかならんの?
他人が理解できないものを書くほうが偉いって風潮何とかならんの?
536デフォルトの名無しさん
2022/07/25(月) 21:44:24.25ID:Tcjxae6G >>535
偉いとかじゃなくて便利なんだよ
>>521の正規表現は別に難しい部類じゃない、\wは単語文字という意味で英数字も含まれる
\w+で単語文字が1個以上という意味になる、その前の(?<=...)は後読みアサーションで
これにマッチした後の\w+をサーチしているわけで基本というか、ちょっと勉強すれば、というか
正規表現の仕様に例が載ってるから、例みたらすぐ理解できるよ
https://docs.python.org/ja/3/library/re.html
自分的には最後の|$が工夫した点で、コレでサーチできなかった場合に空文字を取得させることができる
正規表現使わずにスラッシュでsplitでifにlengthとアスキー確認なんかの方が見にくいだろうし
面倒すぎてやっとれんよ
偉いとかじゃなくて便利なんだよ
>>521の正規表現は別に難しい部類じゃない、\wは単語文字という意味で英数字も含まれる
\w+で単語文字が1個以上という意味になる、その前の(?<=...)は後読みアサーションで
これにマッチした後の\w+をサーチしているわけで基本というか、ちょっと勉強すれば、というか
正規表現の仕様に例が載ってるから、例みたらすぐ理解できるよ
https://docs.python.org/ja/3/library/re.html
自分的には最後の|$が工夫した点で、コレでサーチできなかった場合に空文字を取得させることができる
正規表現使わずにスラッシュでsplitでifにlengthとアスキー確認なんかの方が見にくいだろうし
面倒すぎてやっとれんよ
537デフォルトの名無しさん
2022/07/25(月) 22:07:08.94ID:5m9dN2FM (超初心者用)
538デフォルトの名無しさん
2022/07/25(月) 22:50:49.78ID:Tcjxae6G539デフォルトの名無しさん
2022/07/25(月) 23:03:45.65ID:gTrk2zFk WSL2, Docker は、8GB メモリじゃキツイ
16〜32GBは欲しい
16〜32GBは欲しい
540デフォルトの名無しさん
2022/07/25(月) 23:56:34.13ID:XTViXxR/ >>536
スラッシュでsplitでアスキー確認って
[i for i in ○.split('/') if len(i) == 10 and i.isascii()]
で終わりでしょ
それ自体に難しさも見にくさも感じないが
スラッシュでsplitでアスキー確認って
[i for i in ○.split('/') if len(i) == 10 and i.isascii()]
で終わりでしょ
それ自体に難しさも見にくさも感じないが
541デフォルトの名無しさん
2022/07/26(火) 01:23:31.22ID:HcfNtCqI 正規表現学びたいけど複雑すぎて訳分かんねえよ
なんか練習できるところないの?
ゲームっぽく遊べたりする所どっかあるだろ?
なんか練習できるところないの?
ゲームっぽく遊べたりする所どっかあるだろ?
542デフォルトの名無しさん
2022/07/26(火) 03:23:25.62ID:fUa59wf/ ターミナル
543デフォルトの名無しさん
2022/07/26(火) 08:00:48.09ID:hxnsYVU0 >>540
これはアカンでしょ、ifってそんなけ? /dp/の判定が無いし
/dp/が無かった場合にpd_rd_iから取得する処理が無いし
これでいいなら正規表現ならこうじゃわいな
re.search(r'\w{10}|$', ○).group()
これはアカンでしょ、ifってそんなけ? /dp/の判定が無いし
/dp/が無かった場合にpd_rd_iから取得する処理が無いし
これでいいなら正規表現ならこうじゃわいな
re.search(r'\w{10}|$', ○).group()
544デフォルトの名無しさん
2022/07/26(火) 08:23:18.19ID:hxnsYVU0 findall使った方がいいか、こっちの方が>>540と処理結果同じだわ
re.findall(r'\w{10}', ○)
re.findall(r'\w{10}', ○)
545デフォルトの名無しさん
2022/07/26(火) 09:42:11.06ID:28W+mdVQ 10桁英数のチェックが必要ないならこれでいけるんじゃね
([i[:10] for i in url.split("/dp/") + url.split("pd_rd_i=") if not i.startswith("https:")] + [""])[0]
チェック必要なら1行ではきびしいか
([i[:10] for i in url.split("/dp/") + url.split("pd_rd_i=") if not i.startswith("https:")] + [""])[0]
チェック必要なら1行ではきびしいか
546デフォルトの名無しさん
2022/07/26(火) 10:10:32.06ID:2F7nQnXP pd_rd_iは必須じゃないからなあ
547デフォルトの名無しさん
2022/07/26(火) 11:04:25.18ID:hxnsYVU0 >>545 を抽象化+10桁チェック+isasciiチェック追加(10桁チェックは不要だとは思うけども・・)
[i[:10] for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(i[:10])==10 and i[:10].isascii()]
気づいたんですけどこのisascii()でのチェックはasciiのチェックであって、ascii文字のチェックじゃないから
英数字だけじゃなくて/やtabやらもTrue判定しちゃいますからダメですね
ちなみに>>521も10桁チェックは入っていないのですが、入れた場合は以下のようになりまして
その場合もやはり分かりやすい、可読性が良い、簡潔、何をしているかすぐ分かる
正規表現スキになっちゃったって方はgoodボタン押してください^^
re.search(r'(?<=/dp/)(\w{10})|(?<=\?pd_rd_i=)(\w{10})|$', url).group()
[i[:10] for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(i[:10])==10 and i[:10].isascii()]
気づいたんですけどこのisascii()でのチェックはasciiのチェックであって、ascii文字のチェックじゃないから
英数字だけじゃなくて/やtabやらもTrue判定しちゃいますからダメですね
ちなみに>>521も10桁チェックは入っていないのですが、入れた場合は以下のようになりまして
その場合もやはり分かりやすい、可読性が良い、簡潔、何をしているかすぐ分かる
正規表現スキになっちゃったって方はgoodボタン押してください^^
re.search(r'(?<=/dp/)(\w{10})|(?<=\?pd_rd_i=)(\w{10})|$', url).group()
548デフォルトの名無しさん
2022/07/26(火) 11:06:35.56ID:Uy4U9BVa goodボタンってどこにあるの?
549デフォルトの名無しさん
2022/07/26(火) 11:37:39.45ID:PhJ4pIjK 精神病になるとそういうボタンが見えるらしいよ
550デフォルトの名無しさん
2022/07/26(火) 12:16:00.10ID:k5BnME6W こいつ上の方にいた日記帳キチガイだな
551デフォルトの名無しさん
2022/07/26(火) 12:21:32.78ID:r5zklFsb ハッタツしょう害なんじゃねえの
552デフォルトの名無しさん
2022/07/26(火) 12:37:44.00ID:28W+mdVQ >>547
英数字チェック完全版+セイウチ
[x for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(x:=i[:10])==10 and x.isascii() and x.isalnum()]
英数字チェック完全版+セイウチ
[x for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(x:=i[:10])==10 and x.isascii() and x.isalnum()]
553デフォルトの名無しさん
2022/07/26(火) 12:44:17.32ID:IrL7txwd ・フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
・リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング
・1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
・『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
・副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望
・フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
・茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
・長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
・リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング
・1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
・『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
・副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望
・フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
・茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
・長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
554デフォルトの名無しさん
2022/07/26(火) 12:59:25.55ID:hxnsYVU0555デフォルトの名無しさん
2022/07/26(火) 13:07:45.08ID:563vGs1S ではこの話はこれで終わりです
556デフォルトの名無しさん
2022/07/26(火) 13:15:56.15ID:hxnsYVU0 へ? ここで>>552が「実行速度では負けてないもんね!」つって速度勝負をしかけてきて
それならre.compileじゃぁあああって応戦してからの、やっぱ「速度じゃreは不利じゃわい」
つって、「いやいや、やはり正規表現さんの勝ちですわ、メンテナンス性では完敗ですもん」
ってお互いが歩み寄ってからの熱い握手で終幕やろうが! まあええわ次の話題もってこいや
それならre.compileじゃぁあああって応戦してからの、やっぱ「速度じゃreは不利じゃわい」
つって、「いやいや、やはり正規表現さんの勝ちですわ、メンテナンス性では完敗ですもん」
ってお互いが歩み寄ってからの熱い握手で終幕やろうが! まあええわ次の話題もってこいや
557デフォルトの名無しさん
2022/07/26(火) 13:30:39.77ID:P5K5X/wN ID:t+dBeaSp
ID:lkZCuVJ2
ID:Tcjxae6G
ID:hxnsYVU0
ID:lkZCuVJ2
ID:Tcjxae6G
ID:hxnsYVU0
558デフォルトの名無しさん
2022/07/26(火) 16:43:34.40ID:gc9s0ohk 以上
今日の自演でした
今日の自演でした
559デフォルトの名無しさん
2022/07/26(火) 17:59:35.79ID:gc9s0ohk >>492-494
秋葉で暴走した加藤は死刑完了したそうだ
秋葉で暴走した加藤は死刑完了したそうだ
560デフォルトの名無しさん
2022/07/26(火) 18:59:47.50ID:aND0EYYo python使いやすくていいわーって思ってたけど
json使ったら面倒だなと思った…
これ自分で辞書にしたり戻したりしないといけないわけ?
pickleちゃんはバイナリになるからやだ
json使ったら面倒だなと思った…
これ自分で辞書にしたり戻したりしないといけないわけ?
pickleちゃんはバイナリになるからやだ
561デフォルトの名無しさん
2022/07/26(火) 19:06:35.62ID:QBs9x9BG >>559
あの事件で大学の同級生死んじゃったよー……。執行まで長かったなー
あの事件で大学の同級生死んじゃったよー……。執行まで長かったなー
562デフォルトの名無しさん
2022/07/26(火) 19:40:58.02ID:Uy4U9BVa まじかよ
東大近いもんな
優秀な人を亡くすのは実に惜しい
東大近いもんな
優秀な人を亡くすのは実に惜しい
563デフォルトの名無しさん
2022/07/26(火) 19:44:17.06ID:QBs9x9BG >>562
は?東大生死んでないが?
は?東大生死んでないが?
564デフォルトの名無しさん
2022/07/26(火) 19:44:58.50ID:Sr1olQPp while True:
わーいPython便利だなー
あれ?このXを扱うのってめんどくさくね?
他の言語にしよっと
X以外がめんどくさすぎる!
わーいPython便利だなー
あれ?このXを扱うのってめんどくさくね?
他の言語にしよっと
X以外がめんどくさすぎる!
565デフォルトの名無しさん
2022/07/26(火) 19:57:04.85ID:hxnsYVU0566デフォルトの名無しさん
2022/07/26(火) 20:47:35.71ID:GQvz79KS Jsonって殺人鬼だったのに。
567デフォルトの名無しさん
2022/07/26(火) 21:16:10.07ID:OUnIdkcH 全損
568デフォルトの名無しさん
2022/07/26(火) 22:30:48.06ID:Rgm2Z23r >>560
これってどういうこと?Pythonのオブジェクトに変換せずに何かをやりたいっていうこと?
これってどういうこと?Pythonのオブジェクトに変換せずに何かをやりたいっていうこと?
569デフォルトの名無しさん
2022/07/26(火) 23:43:27.38ID:wQrOnGuH yamlの仕様を学ばないままcomposeやk8sを使ってる
570デフォルトの名無しさん
2022/07/27(水) 03:54:50.01ID:PQGmIH2y パスの\を/にかえなきゃいけないのが面倒すぎるんだがなんか方法ないのか?
\\にかえるのもめんどう
で調べたらRつけるだけでいいらしい……
だったら最初から\読み込めるようにしろよ!
\\にかえるのもめんどう
で調べたらRつけるだけでいいらしい……
だったら最初から\読み込めるようにしろよ!
571デフォルトの名無しさん
2022/07/27(水) 09:00:44.94ID:pyuUgR41 >>560
jsとpythonでしかjson使ったことないけど、どちらも使い勝手は変わらんと思うが。
jsとpythonでしかjson使ったことないけど、どちらも使い勝手は変わらんと思うが。
572デフォルトの名無しさん
2022/07/27(水) 10:05:16.97ID:elZrgoJK >>560
があほすぎなすれ
があほすぎなすれ
573デフォルトの名無しさん
2022/07/27(水) 13:08:32.87ID:B7vnAx8k >>570
その文句は、エスケープ文字を勉強したほうしたほうがいい
あといちいち手動でreplaceするよりPathlib使った方がかかいもよ
https://pystyle.info/python-pathlib/
その文句は、エスケープ文字を勉強したほうしたほうがいい
あといちいち手動でreplaceするよりPathlib使った方がかかいもよ
https://pystyle.info/python-pathlib/
574デフォルトの名無しさん
2022/07/27(水) 13:27:46.89ID:aU47T/gU パースするだけなのにそんなに面倒か?
575デフォルトの名無しさん
2022/07/27(水) 13:28:56.39ID:aU47T/gU すまん、jsonの話な
576デフォルトの名無しさん
2022/07/27(水) 15:26:57.56ID:B7vnAx8k PythonでJSONの取り扱いは、JS以外の他の言語と比べたらめちゃくちゃ楽な方だと思うけどな。ほとんどJSと変わらない。
CはともかくC++だって全然簡単じゃないからねえ。CだとPythonの5倍、C++でも2.5倍ぐらいの記述量になる気がする。
CはともかくC++だって全然簡単じゃないからねえ。CだとPythonの5倍、C++でも2.5倍ぐらいの記述量になる気がする。
577デフォルトの名無しさん
2022/07/27(水) 16:26:23.72ID:G6wuTkcd578デフォルトの名無しさん
2022/07/27(水) 16:52:22.09ID:aU47T/gU jsonはpythonのビルトインパーサーでなんとかなるな
使えないhtmlパーサーとは大違い
使えないhtmlパーサーとは大違い
579デフォルトの名無しさん
2022/07/27(水) 19:30:05.71ID:xJ8anoa4 python に限った話じゃないけどなぜか html パーサーっこれって言う奴ないよね
580デフォルトの名無しさん
2022/07/27(水) 20:20:11.22ID:aU47T/gU581デフォルトの名無しさん
2022/07/27(水) 20:28:14.33ID:xJ8anoa4 >>580
そうは言っても html で公開されてるデータもあるんだからねぇ
そうは言っても html で公開されてるデータもあるんだからねぇ
582デフォルトの名無しさん
2022/07/27(水) 20:42:25.68ID:aU47T/gU >>581
現状では、外部モジュールに頼るか、力づくでなんとかするかしかないものねw
最近はhtmlに組み込まれたjsonデータ形式(json-ld)が多くなって、
データを探るくらいならあまり悩まずにすむので助かってるわ
現状では、外部モジュールに頼るか、力づくでなんとかするかしかないものねw
最近はhtmlに組み込まれたjsonデータ形式(json-ld)が多くなって、
データを探るくらいならあまり悩まずにすむので助かってるわ
583デフォルトの名無しさん
2022/07/27(水) 22:42:50.60ID:+MHO4Y86 君ら二人が思ってるほどそういう需要がないんじゃない
結局やりたいのはスクレイピングでしょ
結局やりたいのはスクレイピングでしょ
584デフォルトの名無しさん
2022/07/27(水) 23:00:58.07ID:+MHO4Y86 スクレイピングできるようなライブラリを標準ライブラリに組み込んで欲しくはないよね
html.parseは確かにシンプルだとは思うけど、どこまでってなると難しい
html自体がかなり緩いから、サービス依存とか流行に依存してしまうんだよね
まぁ、Beautiful Soupもあるしいいじゃないすか
html.parseは確かにシンプルだとは思うけど、どこまでってなると難しい
html自体がかなり緩いから、サービス依存とか流行に依存してしまうんだよね
まぁ、Beautiful Soupもあるしいいじゃないすか
585デフォルトの名無しさん
2022/07/28(木) 00:22:28.49ID:nqLen+JC yieldって初めて見た
ジェネレーター関数?を作るときに使うのか
正直使い道がわからんな
ジェネレーターとかイテレーターとかはだいたいわかるけど
ジェネレーター関数?を作るときに使うのか
正直使い道がわからんな
ジェネレーターとかイテレーターとかはだいたいわかるけど
586デフォルトの名無しさん
2022/07/28(木) 05:13:59.70ID:mvZe9xm4587デフォルトの名無しさん
2022/07/28(木) 05:40:55.75ID:8YG1K1uV >>586
こういうやつって結局何聞かれても説明できないやつだよな
こういうやつって結局何聞かれても説明できないやつだよな
588デフォルトの名無しさん
2022/07/28(木) 05:45:38.18ID:yBjc1Rgi 国債取引してればyieldなんてしょっちゅう見るけどな
589デフォルトの名無しさん
2022/07/28(木) 16:20:58.93ID:m8z1CQHY 教えてください。
Wordpressに記事投稿する際に閲覧パスワードをつけたい場合
‘status’=‘publish’,
‘contents’=‘記事本文’,,
‘password’=‘閲覧パスワード,
‘tag’=1
….
と指定しています。
投稿自体は成功しているのですがパスワード付きの記事になりません。
どなたか解決策をお願いします。
Wordpressに記事投稿する際に閲覧パスワードをつけたい場合
‘status’=‘publish’,
‘contents’=‘記事本文’,,
‘password’=‘閲覧パスワード,
‘tag’=1
….
と指定しています。
投稿自体は成功しているのですがパスワード付きの記事になりません。
どなたか解決策をお願いします。
590デフォルトの名無しさん
2022/07/28(木) 20:16:12.08ID:Hv8PyQaz >>585
馬鹿には無理
馬鹿には無理
591デフォルトの名無しさん
2022/07/28(木) 22:51:57.42ID:9hZjKw0t >>585
リスト返すよりよりジェネレータ―の方がコスト低いからでは解決しない質問?
リスト返すよりよりジェネレータ―の方がコスト低いからでは解決しない質問?
592デフォルトの名無しさん
2022/07/28(木) 22:58:58.42ID:cRsx7yDk リスト作成のコストと比べても意味ないやろ
yield使わずにジェネレーターを作ればありがたみが分かる
yield使わずにジェネレーターを作ればありがたみが分かる
593デフォルトの名無しさん
2022/07/29(金) 00:22:32.77ID:fEBZH37g リストをfilter()使ってlambda式ではなく外部関数を呼び出して抽出する場合、外部関数に追加の引数を渡すことってできますか?
リストの要素に加えてさらに判定用の引数を与えて外部関数で処理させたいです
リストの要素に加えてさらに判定用の引数を与えて外部関数で処理させたいです
594デフォルトの名無しさん
2022/07/29(金) 01:28:35.66ID:8gcFFgPp >>593
部分適用した関数を用意すればできるよ
partialとか関数を返す関数を書くとかで
リストを[(要素, 追加引数)]の形にzipするのでもてきる
ただlambda使って外部関数に引数渡すのが一番よく使われてる印象
部分適用した関数を用意すればできるよ
partialとか関数を返す関数を書くとかで
リストを[(要素, 追加引数)]の形にzipするのでもてきる
ただlambda使って外部関数に引数渡すのが一番よく使われてる印象
595デフォルトの名無しさん
2022/07/29(金) 02:05:51.08ID:sW6reep3 >>593
functools. partial
functools. partial
596デフォルトの名無しさん
2022/07/29(金) 02:28:02.24ID:fEBZH37g597デフォルトの名無しさん
2022/07/29(金) 16:36:15.82ID:0LOpWdsN ある変数に対してifまたはelseで値を代入するとき「未定義の可能性があります」という警告が出てしまいます。
この警告は無視して構わないのでしょうか?
実際はifかelseが必ず実行されるため、未定義になることは無いと思います。
この警告は無視して構わないのでしょうか?
実際はifかelseが必ず実行されるため、未定義になることは無いと思います。
598デフォルトの名無しさん
2022/07/29(金) 18:15:50.48ID:APedJzV4 両方でちゃんと定義があれば問題ないんじゃないの
599デフォルトの名無しさん
2022/07/29(金) 18:30:32.97ID:XaB7Y5c2600デフォルトの名無しさん
2022/07/29(金) 19:07:07.88ID:GzwVbssN ifとelse両方で定義してあれば未定義にはならんと思うけどな
定義してないから警告出るのかね
定義してないから警告出るのかね
601デフォルトの名無しさん
2022/07/29(金) 19:10:09.40ID:WG/TpH2M >>597
無視しない方がいい
無視しない方がいい
602デフォルトの名無しさん
2022/07/29(金) 19:58:02.11ID:47SIIXKm て言うか未定義の「可能性」なんて普通の処理系ではでないだろ
なんかツール使ってるならそのツールの名前書きなよ
なんかツール使ってるならそのツールの名前書きなよ
603デフォルトの名無しさん
2022/07/29(金) 20:45:46.18ID:IOBifLpO どこかに未定義ルート有るんだ
そこらへんを探すのが楽しい
そこらへんを探すのが楽しい
604デフォルトの名無しさん
2022/07/29(金) 21:51:50.81ID:a1Tgek7B Ruby では、条件分岐で初期化されるはずの変数が、
初期化されなかった場合に、nil・未定義になる
if false
n = 1
end
p n #=> nil
初期化されなかった場合に、nil・未定義になる
if false
n = 1
end
p n #=> nil
605デフォルトの名無しさん
2022/07/29(金) 23:03:00.11ID:jDexz6tX 翔泳社のスラスラわかるPythonを読み終えて、
次にソフトバンクのPython完全入門を買おうか迷ってるんですが、
どなたか読んだ方いましたら感想を教えて下さい
よろしくお願いします
次にソフトバンクのPython完全入門を買おうか迷ってるんですが、
どなたか読んだ方いましたら感想を教えて下さい
よろしくお願いします
606デフォルトの名無しさん
2022/07/30(土) 02:27:49.30ID:z4LSWTQO 入門書は1冊で充分なのでは?
607デフォルトの名無しさん
2022/07/30(土) 02:27:58.30ID:z4LSWTQO 入門書は1冊で充分なのでは?
608デフォルトの名無しさん
2022/07/30(土) 02:34:45.44ID:f1hyBgWY レスは1回で充分なのでは?
609デフォルトの名無しさん
2022/07/30(土) 09:23:55.07ID:azT7AVAA webアプリ作って内部サーバーから使ってみよう、みたいな本読んでるんだが
コマンドプロンプトに
python -m http.server --cgi 8080
と書いてwebサーバー立ち上げて
ブラウザで
htttp://localhost:8080
開くまではできたんだ
ここから
htttp://localhost:8080/開きたいwebアプリ.py
へ移動しても、中身がテキストとして表示されるだけでwebアプリとしては機能しない
これはなにか手順間違えてるかな?
pythonコード自体は以下
https://techiedelight.com/compiler/?MN5F
コマンドプロンプトに
python -m http.server --cgi 8080
と書いてwebサーバー立ち上げて
ブラウザで
htttp://localhost:8080
開くまではできたんだ
ここから
htttp://localhost:8080/開きたいwebアプリ.py
へ移動しても、中身がテキストとして表示されるだけでwebアプリとしては機能しない
これはなにか手順間違えてるかな?
pythonコード自体は以下
https://techiedelight.com/compiler/?MN5F
610デフォルトの名無しさん
2022/07/30(土) 09:27:36.20ID:paa5jUiA ●未定義ルートがある
●typoを見落とし
●typoを見落とし
611デフォルトの名無しさん
2022/07/30(土) 09:28:23.25ID:paa5jUiA >>606-607
レスは一回で充分
レスは一回で充分
612デフォルトの名無しさん
2022/07/30(土) 09:29:27.96ID:paa5jUiA >>609
flask使え
flask使え
613デフォルトの名無しさん
2022/07/30(土) 13:25:48.25ID:OlgNXvPr 呼ばれたクラスのメソッド実行やインスタンスの参照はできますでしょうか?
RubyのBinding_of_caller gemのようなことをやりたいです。
RubyのBinding_of_caller gemのようなことをやりたいです。
614デフォルトの名無しさん
2022/07/30(土) 15:23:09.66ID:8gKCOMRQ >>609
例えば、Ruby では、
コンソールで、ウェブサーバー・WEBrick を起動する
ruby -run -e httpd . -p 8080
ブラウザで、
http://localhost:8080/a.html
とすると、HTML が表示される
例えば、これが、
http://localhost:8080/a.csv
a.csv, a.txt など、ブラウザが解釈できない拡張子の場合は、ダウンロードされる
例えば、Ruby では、
コンソールで、ウェブサーバー・WEBrick を起動する
ruby -run -e httpd . -p 8080
ブラウザで、
http://localhost:8080/a.html
とすると、HTML が表示される
例えば、これが、
http://localhost:8080/a.csv
a.csv, a.txt など、ブラウザが解釈できない拡張子の場合は、ダウンロードされる
615デフォルトの名無しさん
2022/07/30(土) 15:41:57.89ID:cxvuT0Ap616デフォルトの名無しさん
2022/07/30(土) 15:55:32.29ID:lN6AqJ/F617デフォルトの名無しさん
2022/07/30(土) 15:56:01.53ID:lN6AqJ/F あ、被ったね
618デフォルトの名無しさん
2022/07/30(土) 16:15:20.28ID:t64/Q8Lh 14分差でかぶるとかすごいな
619605
2022/07/30(土) 17:33:25.97ID:opcLftHA レスありがとうございます
実は最初にソフトバンクの本を買おうと思ったのですが、アマゾンレビューを見たら
少しわかりにくい箇所もある、という感想があったのでワンクッション入れました
今となっては独習Pythonなどの中級書に進んだ方がいいですか?
実は最初にソフトバンクの本を買おうと思ったのですが、アマゾンレビューを見たら
少しわかりにくい箇所もある、という感想があったのでワンクッション入れました
今となっては独習Pythonなどの中級書に進んだ方がいいですか?
620デフォルトの名無しさん
2022/07/30(土) 17:49:27.02ID:6SJJiflx 手段が目的になってるパターン
621デフォルトの名無しさん
2022/07/30(土) 19:25:46.15ID:EI1U6qjF 民明書房の「結局あんたはpythonで何がしたいの?」とか読むといい
622605
2022/07/31(日) 08:22:18.53ID:V2xTXw/0 辛口ですね
623デフォルトの名無しさん
2022/07/31(日) 08:43:12.47ID:bF6WKikK bool([])がFalseなのに
all([])がTrueになる理屈を教えてください
all([])がTrueになる理屈を教えてください
624デフォルトの名無しさん
2022/07/31(日) 08:56:05.73ID:IhfjCb0y イテラブルの要素の探索中にFalseでリターンされなければTrueをリターンされるようにallが実装されてるから
https://github.com/satwikkansal/wtfpython#-all-true-ation-
設計思想的な話しなら分からん
https://github.com/satwikkansal/wtfpython#-all-true-ation-
設計思想的な話しなら分からん
625デフォルトの名無しさん
2022/07/31(日) 09:01:11.39ID:qkw0CgkT 数学的にそれが自然
Wikipediaの論理包含とかVacuous truthを読め
Wikipediaの論理包含とかVacuous truthを読め
626デフォルトの名無しさん
2022/07/31(日) 09:35:16.42ID:qvc5fIgv test
627デフォルトの名無しさん
2022/07/31(日) 09:36:51.24ID:qvc5fIgv r = True
for e in S:
r = r and e
return r
S が空の場合,for文の中は1度も実行されない.
返されるのは,rの初期値であるTrue
for e in S:
r = r and e
return r
S が空の場合,for文の中は1度も実行されない.
返されるのは,rの初期値であるTrue
628デフォルトの名無しさん
2022/07/31(日) 09:37:12.57ID:bF6WKikK629デフォルトの名無しさん
2022/07/31(日) 09:39:03.02ID:qvc5fIgv 似たような例として,Sの要素の和を計算することを考える.
r = 0
for e in S:
r = r + e
return r
Sが空の場合,rの初期値である0が返される.
r = 0
for e in S:
r = r + e
return r
Sが空の場合,rの初期値である0が返される.
630デフォルトの名無しさん
2022/07/31(日) 09:45:32.68ID:qvc5fIgv 似たような例として,Sの要素の積を計算することを考える.
r = 1
for e in S:
r = r * e
return r
S が空の場合,返されるのはrの初期値である1
r = 1
for e in S:
r = r * e
return r
S が空の場合,返されるのはrの初期値である1
631デフォルトの名無しさん
2022/07/31(日) 09:48:34.65ID:qvc5fIgv sum, prodという関数がPythonにあるのならば,
sum([]) == 0
とするのが自然だし,
prod([]) == 1
とするのが自然.
prodのほうは不自然に感じる人がいるかもしれないが,sumが自然なのと同じ理由でprodも自然.
sum([]) == 0
とするのが自然だし,
prod([]) == 1
とするのが自然.
prodのほうは不自然に感じる人がいるかもしれないが,sumが自然なのと同じ理由でprodも自然.
632デフォルトの名無しさん
2022/07/31(日) 10:26:40.61ID:qvc5fIgv 0! := 1と定義するのも同じ理由.
633デフォルトの名無しさん
2022/07/31(日) 12:12:56.03ID:eQtf7hMi anyとかallは評価できるものがある場合にのみ使うべきだと思うんだ。空打ちしたら「何だこりゃ」ってなる
つまり
all([]) ではなくall([''])と使いたい。これなら正しく(評価がなされて)falseが返る
つかall([]) ってどういう状況よ
つまり
all([]) ではなくall([''])と使いたい。これなら正しく(評価がなされて)falseが返る
つかall([]) ってどういう状況よ
634デフォルトの名無しさん
2022/07/31(日) 12:23:51.14ID:1z9jykhy リテラルを渡すわけじゃないだろ
635デフォルトの名無しさん
2022/07/31(日) 12:55:33.13ID:VBdofYjo 論理包含、Vacuous truthを読めと言ってる人は理由を知っているだけで理解できていない
636デフォルトの名無しさん
2022/07/31(日) 13:14:04.77ID:aNbLKyix >>635
言葉足らずは役立たず
言葉足らずは役立たず
637デフォルトの名無しさん
2022/07/31(日) 13:25:03.81ID:qvc5fIgv any([]) == False
all([]) == True
こうだと何が問題になるのかが分からない.
all([]) == True
こうだと何が問題になるのかが分からない.
638デフォルトの名無しさん
2022/07/31(日) 13:32:01.26ID:qvc5fIgv all(S)は∀x(x∈S ⇒ x==True)が真であるときに,Trueになり,偽であるとき,Falseになる.
Sが空なら∀x(x∈S)は偽だから,∀x(x∈S ⇒ x==True)は真である.
any(S)は∃x(x∈S and x==True)が真であるときに,Trueになり,偽であるとき,Falseになる.
Sが空なら∃x(x∈S)は偽だから,∃x(x∈S and x==True)は偽である.
Sが空なら∀x(x∈S)は偽だから,∀x(x∈S ⇒ x==True)は真である.
any(S)は∃x(x∈S and x==True)が真であるときに,Trueになり,偽であるとき,Falseになる.
Sが空なら∃x(x∈S)は偽だから,∃x(x∈S and x==True)は偽である.
639デフォルトの名無しさん
2022/07/31(日) 14:16:45.61ID:WKv/EkLm お勉強スレで403がでる
640デフォルトの名無しさん
2022/07/31(日) 14:23:06.73ID:VBdofYjo allとanyのあるある言いたい TrueとFalseのあるある早く言いたい
641デフォルトの名無しさん
2022/07/31(日) 15:56:07.05ID:KzJjN0dA 聞いてねえ黙っとけマザコン男
642デフォルトの名無しさん
2022/07/31(日) 16:39:23.51ID:6uU1oN4W 突然マザコンという単語が出てきた
普通の人はすぐに思い浮かぶ単語ではない
つまり、自分がそうだとよく言われたから頭に浮かびやすいと自己紹介しているわけだ
普通の人はすぐに思い浮かぶ単語ではない
つまり、自分がそうだとよく言われたから頭に浮かびやすいと自己紹介しているわけだ
643デフォルトの名無しさん
2022/07/31(日) 17:10:58.62ID:a1qLKfui vscでインタープリターが設定出来ずエラーになる
なんでぇ…検索しても出てこない…
なんでぇ…検索しても出てこない…
644デフォルトの名無しさん
2022/07/31(日) 17:19:39.16ID:WKv/EkLm vscスレあるからそっちで聞いたら?
645デフォルトの名無しさん
2022/07/31(日) 17:40:03.84ID:VBdofYjo >>623の疑問にバッチリ明快にお答えしましょう
all([1,2,3]) -> True
all([1,2,3]+[]) -> True
all([1,2,3]) and all([]) -> True
よって、all([]) -> True
同様にanyの場合は
any([1,2,3]) -> True
any([]+[1,2,3]) -> True
any([]) or any([1,2,3]) -> True
よって、any([]) -> False
Vacuous truthとか言われても分かんないでしょ、wiki見ても分かんない
>>638の取って付けた数式見ても分かんない、でもコードで書くとあら不思議一目瞭然
all([1,2,3]) -> True
all([1,2,3]+[]) -> True
all([1,2,3]) and all([]) -> True
よって、all([]) -> True
同様にanyの場合は
any([1,2,3]) -> True
any([]+[1,2,3]) -> True
any([]) or any([1,2,3]) -> True
よって、any([]) -> False
Vacuous truthとか言われても分かんないでしょ、wiki見ても分かんない
>>638の取って付けた数式見ても分かんない、でもコードで書くとあら不思議一目瞭然
646デフォルトの名無しさん
2022/07/31(日) 18:21:17.32ID:vZudoVRF 全く疑問に答えてなくて草生えるwwwww
647デフォルトの名無しさん
2022/07/31(日) 18:30:32.80ID:IhfjCb0y648デフォルトの名無しさん
2022/07/31(日) 18:42:16.99ID:1IXOln4s 1. [True, True]
2. [True, False]
3. [False, False]
4. []
この4つから
1種類だけ処理したい場合と2種類だけ処理したい場合を
all, any, notで各listにつき1回走査するだけで書けるかどうか
もしall([])がFalseだとしたらどうか
2. [True, False]
3. [False, False]
4. []
この4つから
1種類だけ処理したい場合と2種類だけ処理したい場合を
all, any, notで各listにつき1回走査するだけで書けるかどうか
もしall([])がFalseだとしたらどうか
649デフォルトの名無しさん
2022/07/31(日) 19:03:02.60ID:VBdofYjo >>647
配列例を一緒にしようとしたんだけど、こっちの方が分かりやすいか
any([0,0,0]) -> False
any([0,0,0]+[]) -> False
any([0,0,0]) or any([]) -> False
よって、any([]) -> False
配列例を一緒にしようとしたんだけど、こっちの方が分かりやすいか
any([0,0,0]) -> False
any([0,0,0]+[]) -> False
any([0,0,0]) or any([]) -> False
よって、any([]) -> False
650デフォルトの名無しさん
2022/07/31(日) 19:10:05.63ID:SPHl3eVE こう決めてるからといって準備してあるものから答えを持ってくるのではない
あくまでデジタル計算の答えがそうなっているだけ
それをわかってないみたいね
あくまでデジタル計算の答えがそうなっているだけ
それをわかってないみたいね
651デフォルトの名無しさん
2022/07/31(日) 20:42:04.88ID:nQONknSe ID:VBdofYjo
ルビーガイジと別のベクトルで頭おかしいね
ルビーガイジと別のベクトルで頭おかしいね
652デフォルトの名無しさん
2022/07/31(日) 22:11:23.00ID:NZWDJWM/ 単なる慣習でしかなくて合理的な理由はない
プログラミングではall([])がFalseだったほうが楽になるケースの方が圧倒的に多い
残念ながらempty listだけ別途チェックするのが無難
プログラミングではall([])がFalseだったほうが楽になるケースの方が圧倒的に多い
残念ながらempty listだけ別途チェックするのが無難
653デフォルトの名無しさん
2022/07/31(日) 22:46:03.58ID:MJo3DzqX all()は論理積のロジックなので初期値True
any()は論理和のロジックなので初期値False
そうしないと成り立たない
any()は論理和のロジックなので初期値False
そうしないと成り立たない
654デフォルトの名無しさん
2022/07/31(日) 23:10:20.11ID:Q3Sy7AQw ドキュメントのallの説明で、(or if the iterable is empty)が加えられたのは2009年か2010年ぐらいから
655デフォルトの名無しさん
2022/07/31(日) 23:18:11.45ID:CM+nxrXh656デフォルトの名無しさん
2022/07/31(日) 23:50:52.02ID:MJo3DzqX657デフォルトの名無しさん
2022/08/01(月) 01:15:16.60ID:NO37bZGb658デフォルトの名無しさん
2022/08/01(月) 01:55:03.33ID:wljefKG6659デフォルトの名無しさん
2022/08/01(月) 02:13:06.07ID:4h+jHRsn660デフォルトの名無しさん
2022/08/01(月) 04:29:53.53ID:rSGUMJSi まあ5×0=0で5^0=1なのも実装した人にとって自然なだけだし言いたいことはわかる
661デフォルトの名無しさん
2022/08/01(月) 09:45:47.74ID:hJhRRxUQ やっとバカにも理解できたようですが、>>660を見る限り理解できていませんw 残念
662デフォルトの名無しさん
2022/08/01(月) 16:21:23.81ID:Vk1tQ6YT Eric Matthesの「python crash course」(和名:最短コースでゼロからしっかり学ぶpython入門)を完了して次にデータ解析をやりたいんです
そこで
オレイリーの「pythonによるデータ分析入門」を読んだのですがまだ私にはレベルが高いようです
橋渡しになるレベルの本はありませんでしょうか?
そこで
オレイリーの「pythonによるデータ分析入門」を読んだのですがまだ私にはレベルが高いようです
橋渡しになるレベルの本はありませんでしょうか?
663デフォルトの名無しさん
2022/08/01(月) 17:14:07.64ID:WOhHaybL >>662
『Pythonによるあたらしいデータ分析の教科書』辺りで
Jupyter Notebookとか分析の基本覚えてから
『Python実践データ分析100本ノック』でデータの前処理とかを本格的に勉強してから
オライリー本読んだ方がええかもね
『Pythonによるあたらしいデータ分析の教科書』辺りで
Jupyter Notebookとか分析の基本覚えてから
『Python実践データ分析100本ノック』でデータの前処理とかを本格的に勉強してから
オライリー本読んだ方がええかもね
664デフォルトの名無しさん
2022/08/01(月) 18:05:15.09ID:BgE8bCyg 型ヒント(num: int = 1など)って普通に使われてますか?
私も常に使った方がいいですか?
私も常に使った方がいいですか?
665デフォルトの名無しさん
2022/08/01(月) 20:36:49.60ID:Vk1tQ6YT666デフォルトの名無しさん
2022/08/01(月) 23:46:48.65ID:It4OEKpF 使われてると思うし使えた方がいい
PyCharmとかVSCodeで書いてると型を判断してくれるので書きやすくなるしミスも判明しやすくなる
PyCharmとかVSCodeで書いてると型を判断してくれるので書きやすくなるしミスも判明しやすくなる
667デフォルトの名無しさん
2022/08/02(火) 00:20:43.20ID:R2oSGNsV >>653
配列の全ての要素が5以上かをチェックするcheck関数を作りました
def check(lst):
return all(i >= 5 for i in lst)
空リストが入力された場合Falseを返したいのですが
論理積のロジックなのでFalseを返すと成り立たなくなります
空リストのチェックはどうすれば良いでしょうか
配列の全ての要素が5以上かをチェックするcheck関数を作りました
def check(lst):
return all(i >= 5 for i in lst)
空リストが入力された場合Falseを返したいのですが
論理積のロジックなのでFalseを返すと成り立たなくなります
空リストのチェックはどうすれば良いでしょうか
668デフォルトの名無しさん
2022/08/02(火) 03:57:40.09ID:AJvhpMFc def check(l):
__if l:
____return all(map(lambda i: i>5, l))
__else:
____return False
すべて5以上か みたいな関数名にして使う
checkはダメ。論外
__if l:
____return all(map(lambda i: i>5, l))
__else:
____return False
すべて5以上か みたいな関数名にして使う
checkはダメ。論外
669デフォルトの名無しさん
2022/08/02(火) 04:03:59.45ID:KlfR+zxP >>667
return bool(lst) and all(i >= 5 for i in lst)
return bool(lst) and all(i >= 5 for i in lst)
670デフォルトの名無しさん
2022/08/02(火) 07:10:05.89ID:R2oSGNsV671デフォルトの名無しさん
2022/08/02(火) 07:19:05.10ID:Qu9LGAtZ 空listはfalseなのでbool()は不要
もしくは lst or [0] とすれば空listチェック不要
もしくは lst or [0] とすれば空listチェック不要
672デフォルトの名無しさん
2022/08/02(火) 08:36:47.08ID:KlfR+zxP673デフォルトの名無しさん
2022/08/02(火) 08:45:25.83ID:UYHD5f/y >>670
空のリストでtrue返したいならall([i for i in lst if i>5])で返るが
空のリストでtrue返したいならall([i for i in lst if i>5])で返るが
674デフォルトの名無しさん
2022/08/02(火) 08:56:18.05ID:KlfR+zxP675デフォルトの名無しさん
2022/08/02(火) 08:57:08.71ID:KlfR+zxP676デフォルトの名無しさん
2022/08/02(火) 12:52:45.59ID:7OOUBMB7 >>668
配列じゃなくiterableだと詰むよ
配列じゃなくiterableだと詰むよ
677デフォルトの名無しさん
2022/08/02(火) 13:36:46.22ID:R2oSGNsV >>672
そうなんッス >>667のcheck関数は完璧ッス 論理積のロジックでVacuous truthで数学的に自然なんッス
check(a+b+c) と check(a) and check(b) and check(c) が等価になると理解できるッス
でも空リストは弾きたいじゃないッスか しかし空リストの場合にFalseで返すと数学的に不完全になるッス
つまり空リストを弾きたいならcheck関数外の前後どちらかで引数のチェック処理が必要というわけッス
メッチャ不便じゃないッスか これが>>659の回答ッス
メッチャ不便なんで数学的に不完全な>>668-669 のようなコードになるッス これが自然ッス
でもその場合 check(a) and check(b) and check(c) みたいな使い方はできなくなるッスよね 空リストが来たらアウトッスから
つーわけでどっちもOKな解決策はあるのかなという質問ッス
同じようなcheck関数を書く場合に空リストの扱いはどうするのかって話ッス
もしそれが>>668-669のようなコードになるのならオイラの勝ちということッス
もちろんall([])がTrueになる理由は理解してるッスよ 5×0=0で5^0=1ってことッスもんね 分かってるッス そこは大丈夫ッス
そうなんッス >>667のcheck関数は完璧ッス 論理積のロジックでVacuous truthで数学的に自然なんッス
check(a+b+c) と check(a) and check(b) and check(c) が等価になると理解できるッス
でも空リストは弾きたいじゃないッスか しかし空リストの場合にFalseで返すと数学的に不完全になるッス
つまり空リストを弾きたいならcheck関数外の前後どちらかで引数のチェック処理が必要というわけッス
メッチャ不便じゃないッスか これが>>659の回答ッス
メッチャ不便なんで数学的に不完全な>>668-669 のようなコードになるッス これが自然ッス
でもその場合 check(a) and check(b) and check(c) みたいな使い方はできなくなるッスよね 空リストが来たらアウトッスから
つーわけでどっちもOKな解決策はあるのかなという質問ッス
同じようなcheck関数を書く場合に空リストの扱いはどうするのかって話ッス
もしそれが>>668-669のようなコードになるのならオイラの勝ちということッス
もちろんall([])がTrueになる理由は理解してるッスよ 5×0=0で5^0=1ってことッスもんね 分かってるッス そこは大丈夫ッス
678デフォルトの名無しさん
2022/08/02(火) 13:57:06.18ID:AJvhpMFc >>676
要件は配列の要素をチェックする関数の作成だけど。
要件は配列の要素をチェックする関数の作成だけど。
679デフォルトの名無しさん
2022/08/02(火) 14:10:48.20ID:3RqJykXJ >>677
そもそも数学的な計算がしたいとき、空のリストが来たら不自然になる って
そりゃ空のリストは数学的じゃねーんだから不自然になって当然だろ
空のリストとかいう非数学を数学化する関数を実装しろよ。それはお前の好きにしろ
そもそも数学的な計算がしたいとき、空のリストが来たら不自然になる って
そりゃ空のリストは数学的じゃねーんだから不自然になって当然だろ
空のリストとかいう非数学を数学化する関数を実装しろよ。それはお前の好きにしろ
680デフォルトの名無しさん
2022/08/02(火) 14:25:29.34ID:UYHD5f/y そういえばBytesIOがイテレーターなのはなんでなの?
配列じゃあかんのか?
配列じゃあかんのか?
681デフォルトの名無しさん
2022/08/02(火) 14:44:44.43ID:PAwGL3nC682デフォルトの名無しさん
2022/08/02(火) 14:58:23.12ID:4vAniN45683デフォルトの名無しさん
2022/08/02(火) 15:02:37.40ID:3/XF33uC どうせ発生しないような例外的なやつの対応ばかり考えている無能
684デフォルトの名無しさん
2022/08/02(火) 15:21:43.17ID:GXJqSimc >>677
100%同意する
100%同意する
685デフォルトの名無しさん
2022/08/02(火) 15:24:08.55ID:uvL1JwEu686デフォルトの名無しさん
2022/08/02(火) 15:36:16.40ID:4vAniN45 >>684-685
バレてるぞ恥晒し
バレてるぞ恥晒し
687デフォルトの名無しさん
2022/08/02(火) 15:44:30.79ID:aYPyq7OS all([]) == True
any([]) == False
であると困る例を教えてください.
any([]) == False
であると困る例を教えてください.
688デフォルトの名無しさん
2022/08/02(火) 17:37:12.67ID:PAwGL3nC689デフォルトの名無しさん
2022/08/02(火) 19:22:29.51ID:R2oSGNsV 実は空リストの場合Noneを返すという手を考えたッスけど 数学的完全性を保つことはできなかったッス
しかしたった今思いついたッス 空リストの場合は2を返せばいいッス 2はTrueッス
我ながら自分の才能が恐ろしいッス
しかしたった今思いついたッス 空リストの場合は2を返せばいいッス 2はTrueッス
我ながら自分の才能が恐ろしいッス
690デフォルトの名無しさん
2022/08/02(火) 19:46:15.70ID:R2oSGNsV >>689
訂正するッス 2じゃなくて1.0を返せばいいッス 空リストの場合は1.0を返すッス
1.0なら check(a+b+c) == (check(a) and check(b) and check(c)) が成立するッス
訂正するッス 2じゃなくて1.0を返せばいいッス 空リストの場合は1.0を返すッス
1.0なら check(a+b+c) == (check(a) and check(b) and check(c)) が成立するッス
691デフォルトの名無しさん
2022/08/02(火) 20:00:27.12ID:rqWYIp9A それで最初に言ってた
> 空リストが入力された場合Falseを返したいのですが
これは満たせるの?
> 空リストが入力された場合Falseを返したいのですが
これは満たせるの?
692デフォルトの名無しさん
2022/08/02(火) 20:07:03.39ID:R2oSGNsV >>691
・・・満たせないッスね 判別ができるようになるだけで その判別方法もrepr()=='True'とかで煩雑 だめッスね
・・・満たせないッスね 判別ができるようになるだけで その判別方法もrepr()=='True'とかで煩雑 だめッスね
693デフォルトの名無しさん
2022/08/02(火) 20:21:40.29ID:KlfR+zxP >>690
1.0が返ってくると
if check(lst) == 1.0: と if check(lst) == True: のどちらもTrueになるけど
if type(check(lst)) == float: で判定するの?
副作用は少ないけど美しくない
1.0じゃなくて1のほうがさらに副作用なくていいとおもうけどね
1.0が返ってくると
if check(lst) == 1.0: と if check(lst) == True: のどちらもTrueになるけど
if type(check(lst)) == float: で判定するの?
副作用は少ないけど美しくない
1.0じゃなくて1のほうがさらに副作用なくていいとおもうけどね
694デフォルトの名無しさん
2022/08/02(火) 20:44:31.40ID:H9/akC1Y 元になってる数学の考え方自体の限界
使う側がバグらないよう注意するしかない
python特有の問題じゃないのが救い
使う側がバグらないよう注意するしかない
python特有の問題じゃないのが救い
695デフォルトの名無しさん
2022/08/02(火) 20:48:40.69ID:R2oSGNsV >>693
美しくないッスね そもそも空リストチェックは言うほど不便じゃないッスよね
if lst and check(lst): ってするだけッスもんね
オイラの中で結論が出たッス やはりallにならってcheck関数も空リストのときはTrueを返すべきッス
必要に応じて空リストチェック( lst and check(lst) )をする こんだけッス シンプルで美しいッス
ビギナーズトラップかもしれないけどそんなの知らないッス
美しくないッスね そもそも空リストチェックは言うほど不便じゃないッスよね
if lst and check(lst): ってするだけッスもんね
オイラの中で結論が出たッス やはりallにならってcheck関数も空リストのときはTrueを返すべきッス
必要に応じて空リストチェック( lst and check(lst) )をする こんだけッス シンプルで美しいッス
ビギナーズトラップかもしれないけどそんなの知らないッス
696デフォルトの名無しさん
2022/08/02(火) 21:07:06.53ID:rqWYIp9A 初心者すぎて、これでいいのか分からんけど
boolとandあたりをオーバーライドしたクラスを返却するとか?
空リストかどうかの情報まで持たせたクラス
って、最初の仕様を捻じ曲げていいのか・・・
boolとandあたりをオーバーライドしたクラスを返却するとか?
空リストかどうかの情報まで持たせたクラス
って、最初の仕様を捻じ曲げていいのか・・・
697デフォルトの名無しさん
2022/08/02(火) 22:23:57.41ID:XEhMcRRQ 超初心者なんですが、
社内LANの共有ストレージ内のExcelファイルを操作して作業自動化をしたいと思っています。
社用PCへのインストール申請が面倒なのでGoogle Colabでやってみたら、ストレージ内のファイルが読めないということで渋々インストール申請しようとしているところです。
JupyterLab Desktopで社内LANの共有ストレージのファイルは操作できますか?
環境構築から躓いてます…
社内LANの共有ストレージ内のExcelファイルを操作して作業自動化をしたいと思っています。
社用PCへのインストール申請が面倒なのでGoogle Colabでやってみたら、ストレージ内のファイルが読めないということで渋々インストール申請しようとしているところです。
JupyterLab Desktopで社内LANの共有ストレージのファイルは操作できますか?
環境構築から躓いてます…
698デフォルトの名無しさん
2022/08/02(火) 23:17:59.15ID:Z18rEo5s 浮動小数点数を==比較すると言うとヒステリックな反応する奴いるよな
700デフォルトの名無しさん
2022/08/03(水) 02:48:22.00ID:HUfXY4jl701デフォルトの名無しさん
2022/08/03(水) 03:03:39.79ID:OfDGteUO 自分自身が会社にアンインストールされちゃうよなw
702デフォルトの名無しさん
2022/08/03(水) 06:34:50.12ID:NNzHRQEi >>697
環境はWindowsだと思うが元からあるExcel VBA、VBScript、PowerShellあたりでできないか考えた方がいいかと
環境はWindowsだと思うが元からあるExcel VBA、VBScript、PowerShellあたりでできないか考えた方がいいかと
703デフォルトの名無しさん
2022/08/03(水) 06:44:43.69ID:SAIeW7L3 >>697
インストール申請云々の縛りあるなら普通にVBAでやれよ
インストール申請云々の縛りあるなら普通にVBAでやれよ
704デフォルトの名無しさん
2022/08/03(水) 06:55:06.47ID:6v79gKr9 インストール申請あるところならVBA/VBS禁止とかありそうだけどな
705デフォルトの名無しさん
2022/08/03(水) 09:06:23.71ID:7qOk9bFG 大半のライブラリはインストールじゃなくダウンロード
706デフォルトの名無しさん
2022/08/03(水) 09:20:26.19ID:6HJ5FZxO P ⇒ QはPが偽のとき真です。
707デフォルトの名無しさん
2022/08/03(水) 12:49:46.77ID:s6+jOjkc pythonのパッケージ管理ってどうやってる?
初心者だから本とかウェブ記事とか読みながらそのまま適当にpipしてたんだけど
このままだとめんどくさいことになりそうな気がしてきた
初心者だから本とかウェブ記事とか読みながらそのまま適当にpipしてたんだけど
このままだとめんどくさいことになりそうな気がしてきた
708デフォルトの名無しさん
2022/08/03(水) 13:06:03.07ID:jXa2B14I poetryで作った環境にインストールしてグローバルに使いたい奴だけリンク張ってる
poetry使ってるのはライブラリ開発するのに使ってるついで
環境分けたいだけならvenvそのまま使えばいい
poetry使ってるのはライブラリ開発するのに使ってるついで
環境分けたいだけならvenvそのまま使えばいい
709デフォルトの名無しさん
2022/08/04(木) 03:46:24.05ID:BBoT8RMz プログラミングなんて大してSSDの容量使わねーだろ、と思ってたらanacondaが10GBぐらい使ってきて泣いた
710デフォルトの名無しさん
2022/08/06(土) 09:34:49.25ID:80xJcjdY pyinstallerで.pyファイルのexe化を試みています。
opencvがエラーを吐いて正常に動作しません。
ImportError: ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.
google検索してやったこと。
paths=でモジュールの場所を指定
opencvのバージョンを4.5.3.56まで落とす(インストールエラー)
python: 3.10.6
altgraph==0.17.2
future==0.18.2
numpy==1.23.1
opencv-python==4.6.0.66
pefile==2022.5.30
Pillow==9.2.0
pillow-avif-plugin==1.2.2
pyinstaller==5.3
pyinstaller-hooks-contrib==2022.8
pywin32-ctypes==0.2.0
Send2Trash==1.8.0
opencvがエラーを吐いて正常に動作しません。
ImportError: ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.
google検索してやったこと。
paths=でモジュールの場所を指定
opencvのバージョンを4.5.3.56まで落とす(インストールエラー)
python: 3.10.6
altgraph==0.17.2
future==0.18.2
numpy==1.23.1
opencv-python==4.6.0.66
pefile==2022.5.30
Pillow==9.2.0
pillow-avif-plugin==1.2.2
pyinstaller==5.3
pyinstaller-hooks-contrib==2022.8
pywin32-ctypes==0.2.0
Send2Trash==1.8.0
711デフォルトの名無しさん
2022/08/06(土) 10:40:10.54ID:XSn5nlI0 nuitkaを使う
712デフォルトの名無しさん
2022/08/06(土) 15:50:19.67ID:eSBCWCwI >>709
Anacondaはぶっ太い糞
Anacondaはぶっ太い糞
713デフォルトの名無しさん
2022/08/06(土) 15:51:47.59ID:eSBCWCwI >>710
opencv-python-headless
opencv-python-headless
714デフォルトの名無しさん
2022/08/06(土) 16:30:43.76ID:80xJcjdY715デフォルトの名無しさん
2022/08/06(土) 17:26:48.46ID:PSjXEZOE GoogleはGoなんて作る暇があったらPythonコンパイラを作るべきだった
716デフォルトの名無しさん
2022/08/06(土) 19:16:19.27ID:kORMtiG2 pycodestyleの機能って便利ですね
717デフォルトの名無しさん
2022/08/06(土) 19:22:52.36ID:Cy8sVH5p お気づきになられましたか
718デフォルトの名無しさん
2022/08/06(土) 19:54:32.19ID:Tb2OU3Zj impor requests
ってやると
Library stubs not installed for "requests" (or incompatible with python 3.9)
とでてくるんだが
リクエスト "用のライブラリスタブがインストールされていない(またはpython 3.9と非互換)。
よくわからん
ってやると
Library stubs not installed for "requests" (or incompatible with python 3.9)
とでてくるんだが
リクエスト "用のライブラリスタブがインストールされていない(またはpython 3.9と非互換)。
よくわからん
719710
2022/08/06(土) 20:04:04.35ID:80xJcjdY 結局、ネット上で実績ありそうな、
Python 3.8.5
altgraph==0.17.2
future==0.18.2
numpy==1.23.1
opencv-python-headless==4.5.3.56
pefile==2022.5.30
Pillow==9.2.0
pillow-avif-plugin==1.2.2
pyinstaller==5.3
pyinstaller-hooks-contrib==2022.8
pywin32-ctypes==0.2.0
Send2Trash==1.8.0
で実行ファイルからエラーが消えたようです。
アドバイスくださった方、どうもありがとうございました。
バージョン管理って大変ですね。
Python 3.8.5
altgraph==0.17.2
future==0.18.2
numpy==1.23.1
opencv-python-headless==4.5.3.56
pefile==2022.5.30
Pillow==9.2.0
pillow-avif-plugin==1.2.2
pyinstaller==5.3
pyinstaller-hooks-contrib==2022.8
pywin32-ctypes==0.2.0
Send2Trash==1.8.0
で実行ファイルからエラーが消えたようです。
アドバイスくださった方、どうもありがとうございました。
バージョン管理って大変ですね。
720デフォルトの名無しさん
2022/08/06(土) 20:29:16.15ID:7+clXBwJ >>718
そのまんまじゃねーか
そのまんまじゃねーか
721デフォルトの名無しさん
2022/08/06(土) 20:49:02.89ID:XxOEvUoc pytorch入れた時の悪夢が蘇って来た。orz
722デフォルトの名無しさん
2022/08/06(土) 21:42:16.91ID:PGZhucx9 >>718
何使ってるか知らんがmypyが有効になってるんじゃないの?
何使ってるか知らんがmypyが有効になってるんじゃないの?
723デフォルトの名無しさん
2022/08/06(土) 21:47:15.58ID:PQ7gBqNg ディレクトリがcase-sensitiveかどうか調べる方法ありますか?
環境はWindows10です
やり方がわからないので対象のディレクトリ内にcase-sensitiveなディレクトリ名やファイル名が存在するか調べることでなんとかしようとしたけど
pathlibのglobではcase-sensitiveなディレクトリ名やファイル名では読み抜け発生
os.walkならいけるかもと思い実験中
環境はWindows10です
やり方がわからないので対象のディレクトリ内にcase-sensitiveなディレクトリ名やファイル名が存在するか調べることでなんとかしようとしたけど
pathlibのglobではcase-sensitiveなディレクトリ名やファイル名では読み抜け発生
os.walkならいけるかもと思い実験中
724デフォルトの名無しさん
2022/08/06(土) 22:42:37.85ID:IJoLUcj8 >>723
abc でディレクトリ作って ABC で存在確認するとかかな
恐ろしいことにOSXではパス毎にCase Sensitiveかどうかを設定出来るらしい...
https://stackoverflow.com/questions/7870041/check-if-file-system-is-case-insensitive-in-python
abc でディレクトリ作って ABC で存在確認するとかかな
恐ろしいことにOSXではパス毎にCase Sensitiveかどうかを設定出来るらしい...
https://stackoverflow.com/questions/7870041/check-if-file-system-is-case-insensitive-in-python
725デフォルトの名無しさん
2022/08/06(土) 23:10:23.53ID:PQ7gBqNg726デフォルトの名無しさん
2022/08/07(日) 01:53:51.53ID:HkpslvdA pylintというのを知った
俺の作ったコード
pylintしたら4点だった
きびしすぎん?
俺の作ったコード
pylintしたら4点だった
きびしすぎん?
727デフォルトの名無しさん
2022/08/07(日) 04:45:52.49ID:qW86g0dh つ Flake8
728デフォルトの名無しさん
2022/08/07(日) 09:31:21.46ID:7cQO/w5k pip installでインストールしたモジュールがどのフォルダ(ディレクトリ)に
入ってるか確認する方法ってありませんか?
エクスプローラーで見てもありません…
入ってるか確認する方法ってありませんか?
エクスプローラーで見てもありません…
729デフォルトの名無しさん
2022/08/07(日) 09:51:04.57ID:qW86g0dh pip show パッケージ名
730デフォルトの名無しさん
2022/08/07(日) 09:51:59.31ID:wF6HChc5 隠しファイル、隠しフォルダー、および隠しドライブを表示する
731デフォルトの名無しさん
2022/08/07(日) 11:38:08.36ID:H7AA9Gyj732728
2022/08/07(日) 15:47:17.43ID:7cQO/w5k 答えてくれた方、ありがとうございました
pip show requests を実行したらパスが表示されました
pythonの処理系があるフォルダの近くにあるみたいなんですが、
VSCodeのどのフォルダにいる状態でインストールしても、
インストールされる場所は同じなんでしょうか?
pip show requests を実行したらパスが表示されました
pythonの処理系があるフォルダの近くにあるみたいなんですが、
VSCodeのどのフォルダにいる状態でインストールしても、
インストールされる場所は同じなんでしょうか?
733デフォルトの名無しさん
2022/08/07(日) 16:25:21.48ID:qancDJyG class A(text:str, value:int)
class B(A)
VSCodeだとマウスオーバーで引数が確認できますが
上記のような継承があるとき
b = B()
マウスオーバーでAの引数を確認したいのですが、どうすればいいですか?
class B(A)
VSCodeだとマウスオーバーで引数が確認できますが
上記のような継承があるとき
b = B()
マウスオーバーでAの引数を確認したいのですが、どうすればいいですか?
734デフォルトの名無しさん
2022/08/07(日) 16:29:37.57ID:wx1/uok7 今のデフォルトはpylanceだっけか
735デフォルトの名無しさん
2022/08/07(日) 16:31:40.47ID:Iy538lTc736デフォルトの名無しさん
2022/08/07(日) 17:18:29.82ID:PNBshUzP __init__か?
クラスBでオーバーライドしてなきゃAの引数が表示される
クラスBでオーバーライドしてなきゃAの引数が表示される
737デフォルトの名無しさん
2022/08/07(日) 18:29:09.72ID:J7BfdoVn pipよりもpypl
738デフォルトの名無しさん
2022/08/07(日) 18:37:37.64ID:qancDJyG739デフォルトの名無しさん
2022/08/07(日) 18:41:34.68ID:k9D8AutH え・・・・・
740デフォルトの名無しさん
2022/08/07(日) 18:50:58.51ID:ZjeWku4d Bの__init__を消そう
741デフォルトの名無しさん
2022/08/07(日) 19:08:00.18ID:qancDJyG742デフォルトの名無しさん
2022/08/07(日) 21:07:17.99ID:uhtWaMBb743デフォルトの名無しさん
2022/08/08(月) 10:00:21.56ID:RWKMU7OX numpy配列をopencvで扱う画像にする時って
cv2.imdecodeとnumpy.reshapeの二通りのやり方があるみたいだけどどう使い分けるんです?
cv2.imdecodeとnumpy.reshapeの二通りのやり方があるみたいだけどどう使い分けるんです?
744毛の生えたブリーフ
2022/08/08(月) 10:56:42.38ID:nUMoT9LF 2003年 当時荒れていたdelphiスレッドの緊急避難先で作った「くだすれDelphi 」
ヘッダーを各言語用に改変してPythonのスレッドが出来ていたのか・・・・
あれから20年近く・・・俺も還暦になるわけだ。
プログラム板にきたのは13年ぶり。 いつのまにか2chが5chになって
ひろゆきがメジャーになってた。
ヘッダーを各言語用に改変してPythonのスレッドが出来ていたのか・・・・
あれから20年近く・・・俺も還暦になるわけだ。
プログラム板にきたのは13年ぶり。 いつのまにか2chが5chになって
ひろゆきがメジャーになってた。
745デフォルトの名無しさん
2022/08/08(月) 10:57:33.77ID:nUMoT9LF いやん誤爆してごめんくさい
746デフォルトの名無しさん
2022/08/08(月) 11:17:06.38ID:AUtZ1mrn747デフォルトの名無しさん
2022/08/08(月) 16:30:56.98ID:ej7caoJh ショートサーキットについてお聞きしたいです
本によるとandやorの両側には関数も取ることができ、
1 < 2 and print('right')
1 > 2 or print('right')
をインタラクティブシェルで実行すると
それぞれ'right'が表示されるみたいですが、釈然としません
そういうものだと覚えておくしかないでしょうか?
本によるとandやorの両側には関数も取ることができ、
1 < 2 and print('right')
1 > 2 or print('right')
をインタラクティブシェルで実行すると
それぞれ'right'が表示されるみたいですが、釈然としません
そういうものだと覚えておくしかないでしょうか?
748デフォルトの名無しさん
2022/08/08(月) 16:37:01.79ID:GNjKAHJ2 なにがわからないの?
x and y === if x then y else x
x or y === if x then x else y
x and y === if x then y else x
x or y === if x then x else y
749デフォルトの名無しさん
2022/08/08(月) 17:05:06.74ID:Rerux/uK >>747
それ
True and print('right')
False or print('right')
と同じで両方共に print('right') の値を見ないと全体の値は確定しないから 'right' が表示されるのは当たり前
1 > 2 and print('right')
ってやればどうなる?
それ
True and print('right')
False or print('right')
と同じで両方共に print('right') の値を見ないと全体の値は確定しないから 'right' が表示されるのは当たり前
1 > 2 and print('right')
ってやればどうなる?
750デフォルトの名無しさん
2022/08/08(月) 17:15:18.30ID:w9crSB+N andは左側が真の場合、右側を評価する
andは左側が偽の場合、右側を評価しない
orは左側が真の場合、右側を評価しない
orは左側が偽の場合、右側を評価する
左側だけで真か偽か判明してる場合は右側を評価しない
andは左側が偽の場合、右側を評価しない
orは左側が真の場合、右側を評価しない
orは左側が偽の場合、右側を評価する
左側だけで真か偽か判明してる場合は右側を評価しない
751デフォルトの名無しさん
2022/08/08(月) 18:30:45.48ID:VXkV51Mv >>746
そうですね。書いてありましたね。
あとやったとすれば、
a.datas += [('習済みデータ.xml','.\\習済みデータ.xml', 'DATA'),]
※学習済みデータは「haarcascade_frontalface_default.xml」等
を記述したことと、1つのファイルにしたときに、Temporaryの実行パスを取得を工夫したことくらい…
あ、できたファイルを実行時にウィルスとして検知されるので、
pyinstallerの中のファイルの再コンパイルも必要です。
そうですね。書いてありましたね。
あとやったとすれば、
a.datas += [('習済みデータ.xml','.\\習済みデータ.xml', 'DATA'),]
※学習済みデータは「haarcascade_frontalface_default.xml」等
を記述したことと、1つのファイルにしたときに、Temporaryの実行パスを取得を工夫したことくらい…
あ、できたファイルを実行時にウィルスとして検知されるので、
pyinstallerの中のファイルの再コンパイルも必要です。
752747
2022/08/08(月) 19:28:04.38ID:ej7caoJh >>748-750
ありがとうございます
すいません、聞き方が悪かったです
ショートサーキットの機構については分かります
bool型を返すわけではないprint()関数が右端に「使える」ことが不可解です
print()は確かNoneを返す関数だったはず
ありがとうございます
すいません、聞き方が悪かったです
ショートサーキットの機構については分かります
bool型を返すわけではないprint()関数が右端に「使える」ことが不可解です
print()は確かNoneを返す関数だったはず
753デフォルトの名無しさん
2022/08/08(月) 19:40:14.54ID:Rerux/uK >>752
None を bool として評価すると False になる
None を bool として評価すると False になる
754デフォルトの名無しさん
2022/08/08(月) 19:41:18.38ID:wsYAfPSE755デフォルトの名無しさん
2022/08/08(月) 20:06:39.11ID:UzajzKaJ756デフォルトの名無しさん
2022/08/08(月) 20:15:13.65ID:EDIALeRU >>755
評価時に__bool__が呼ばれます。if とかで使うと出力される。
評価時に__bool__が呼ばれます。if とかで使うと出力される。
757デフォルトの名無しさん
2022/08/08(月) 20:33:20.93ID:EDIALeRU 左だとすぐに呼ばれるのに対して違うんですね理解しました
758デフォルトの名無しさん
2022/08/08(月) 21:21:18.46ID:icSMNlYR 文字列の置換って
translate()とreplace()のいいとこ取りの置換方法ないの?
translate()は
"aa"→"b"
にできないんだよね?
あと
AAA = kansuu(AAA)
BBB = kansuu(BBB)
CCC = kansuu(CCC)
DDD = kansuu(DDD)
みたいな感じになってるときって
for文で入れていく以外思いつかないんだけど、他に見やすい書き方あるかな?
translate()とreplace()のいいとこ取りの置換方法ないの?
translate()は
"aa"→"b"
にできないんだよね?
あと
AAA = kansuu(AAA)
BBB = kansuu(BBB)
CCC = kansuu(CCC)
DDD = kansuu(DDD)
みたいな感じになってるときって
for文で入れていく以外思いつかないんだけど、他に見やすい書き方あるかな?
759デフォルトの名無しさん
2022/08/08(月) 22:27:42.98ID:GdyVfCQX760デフォルトの名無しさん
2022/08/09(火) 11:17:14.43ID:6xBGELHM フォルダパスとファイル名とURLを書くと画像を保存してくるコードを書いたんだけど
https://techiedelight.com/compiler/?BQkA
エラーの対処はわかったんだけど、もっと別の書き方があるのではと思ってしまう
他の人はこれをどう書きますか?
https://techiedelight.com/compiler/?BQkA
エラーの対処はわかったんだけど、もっと別の書き方があるのではと思ってしまう
他の人はこれをどう書きますか?
761デフォルトの名無しさん
2022/08/09(火) 13:25:52.34ID:804xd0t9 raw文字列
762デフォルトの名無しさん
2022/08/09(火) 14:13:10.80ID:6cdAV71K バックスラッシュの代わりに、スラッシュを使う
でもいい
でもいい
763デフォルトの名無しさん
2022/08/09(火) 14:27:14.68ID:reKZbZGW raw文字列、joinpath、with_suffix
764デフォルトの名無しさん
2022/08/09(火) 16:46:37.99ID:904t2Z05 pathlib一択でしょうね
765デフォルトの名無しさん
2022/08/09(火) 17:34:17.89ID:VX/MyXfz HTTPErrorやIOErrorのハンドリングもやったほうがいいよ
766デフォルトの名無しさん
2022/08/09(火) 17:48:28.39ID:/U/bpI39 外部からの入力系は全部
try:
req
except:
クソ
するな俺は。ユーザーは信用しない
あとダウンロード系も
try:
down
except:
失敗
する。どんなわけわからんエラーくるかしらんし
try:
req
except:
クソ
するな俺は。ユーザーは信用しない
あとダウンロード系も
try:
down
except:
失敗
する。どんなわけわからんエラーくるかしらんし
767デフォルトの名無しさん
2022/08/09(火) 18:07:25.22ID:RasYFqXo 外部とのやり取りは一筋縄ではいかないからねえ
ついでにリトライも入れておきたい
requestsには頼らずビルトインで頑張るw
ついでにリトライも入れておきたい
requestsには頼らずビルトインで頑張るw
768デフォルトの名無しさん
2022/08/09(火) 18:28:07.98ID:Lt/MnBAv >>766
それ普通じゃね?
それ普通じゃね?
769デフォルトの名無しさん
2022/08/09(火) 21:17:15.16ID:DxAePLof わざわざtryしなくても例外が起きると止まるっしょ
770デフォルトの名無しさん
2022/08/09(火) 22:15:13.78ID:v2aJaQdL わざわざブレーキつけなくても事故れば止まるっしょ
771デフォルトの名無しさん
2022/08/09(火) 23:22:34.01ID:xxgft6hm >>760
Windows で、path = "C:\a\b"
みたいに、\ を使わなければならないの?
Ruby では、
path = "C:/Users/Owner/Documents/a"
みたいに、/ を使うけど
Windows で、path = "C:\a\b"
みたいに、\ を使わなければならないの?
Ruby では、
path = "C:/Users/Owner/Documents/a"
みたいに、/ を使うけど
772デフォルトの名無しさん
2022/08/09(火) 23:25:51.13ID:KqAyUORM773デフォルトの名無しさん
2022/08/09(火) 23:34:41.82ID:oM0lzHLp 合わせてバックストレッチ。
774747
2022/08/09(火) 23:46:35.97ID:8UDvOyKH レスが遅くなってすいません
答えてくれた方ありがとうございました
ああいった書き方もあるんだと頭の片隅に留めておきます
答えてくれた方ありがとうございました
ああいった書き方もあるんだと頭の片隅に留めておきます
775デフォルトの名無しさん
2022/08/10(水) 00:02:07.83ID:DjE5xMJT >>769
普通はエラー処理系にraiseするからtry節置くと思うが
普通はエラー処理系にraiseするからtry節置くと思うが
776デフォルトの名無しさん
2022/08/10(水) 02:29:00.47ID:kx7L/9BB なにが普通かは人による
777デフォルトの名無しさん
2022/08/10(水) 03:50:21.12ID:obfeaPUq なぜこの関数が作られたのかを考えながらプログラム書くとすっきりする
778デフォルトの名無しさん
2022/08/10(水) 10:26:29.49ID:rR8/AFmc Enum 列挙型という概念を初めて知ったが
使い所がよくわからない
使い所がよくわからない
779デフォルトの名無しさん
2022/08/10(水) 12:53:32.14ID:vnHVeG1e 関数をローカル変数に代入するメリットって何でしょうか?
780デフォルトの名無しさん
2022/08/10(水) 13:19:15.14ID:8RUvvZbB 何度も同じ計算をしないで結果だけ繰り返し使える
781デフォルトの名無しさん
2022/08/10(水) 13:33:33.79ID:bGy3yklD 場合によるけど、処理前半でローカル変数に関数を代入しておくことで、処理後半の分岐が消えて見通しが良くなる可能性はあるかも。
何らかの理由でリネームしたかったとか?
何らかの理由でリネームしたかったとか?
782デフォルトの名無しさん
2022/08/10(水) 15:00:50.94ID:vnHVeG1e ありがとうございます
783デフォルトの名無しさん
2022/08/10(水) 15:59:42.31ID:WlLD55gQ784デフォルトの名無しさん
2022/08/10(水) 17:43:12.15ID:YLnkT8Qt785デフォルトの名無しさん
2022/08/10(水) 21:48:18.68ID:5JgNVH0W かけるかな
786デフォルトの名無しさん
2022/08/11(木) 07:13:22.60ID:HPSk7Pik https://i.imgur.com/FBcOaIq.png
質問です。WindowsでColabでやってます。
1024×768のサイズの画像のみを収集したいのですが、
違うサイズの画像が入ってきます。どうすればいいですか?
質問です。WindowsでColabでやってます。
1024×768のサイズの画像のみを収集したいのですが、
違うサイズの画像が入ってきます。どうすればいいですか?
787デフォルトの名無しさん
2022/08/11(木) 07:56:07.13ID:X31RE6bn788101
2022/08/11(木) 09:45:20.53ID:fCiqpa8j 英語って本当にプログラムに適してるのか?
isspace()
って何かと思ったらis spaceかよ
空白ないと判別しにくいのはプログラミングにおいてどうかと思うわ
isspace()
って何かと思ったらis spaceかよ
空白ないと判別しにくいのはプログラミングにおいてどうかと思うわ
789デフォルトの名無しさん
2022/08/11(木) 10:00:41.98ID:nadsErGw キャメルケースとかスネークケース使えよ
790デフォルトの名無しさん
2022/08/11(木) 10:13:40.52ID:ECrQVbq4 atoi
791デフォルトの名無しさん
2022/08/11(木) 11:12:03.43ID:m7iYSaV1 >>788
少なくともあんたはプログラムに向いてないな
少なくともあんたはプログラムに向いてないな
792デフォルトの名無しさん
2022/08/11(木) 12:26:10.60ID:fKEJQx+N https://i.imgur.com/HJTruLr.png
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
793デフォルトの名無しさん
2022/08/11(木) 12:46:20.99ID:7cUH/Z7I ×(かける)じゃなくて x(エックス)じゃねーの?
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
794デフォルトの名無しさん
2022/08/11(木) 13:47:35.08ID:fKEJQx+N >>793
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
795デフォルトの名無しさん
2022/08/11(木) 13:58:15.94ID:7cUH/Z7I エラーもコピペしてくれよ...
796デフォルトの名無しさん
2022/08/11(木) 14:07:01.78ID:fKEJQx+N >>795
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
797デフォルトの名無しさん
2022/08/11(木) 15:00:05.18ID:7cUH/Z7I798デフォルトの名無しさん
2022/08/11(木) 15:15:10.72ID:fKEJQx+N799デフォルトの名無しさん
2022/08/11(木) 15:27:49.52ID:JwgkCgjA めちゃ無駄だけど1024x768以外の画像は捨てちゃうぐらいしか思いつかん...
800デフォルトの名無しさん
2022/08/11(木) 16:47:42.06ID:X31RE6bn >>798
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした
google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
801デフォルトの名無しさん
2022/08/11(木) 18:48:40.17ID:fKEJQx+N >>800
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
802デフォルトの名無しさん
2022/08/11(木) 18:56:22.30ID:X31RE6bn エラーもコピペしてくれよ...
803デフォルトの名無しさん
2022/08/11(木) 19:26:39.81ID:L6VcpDZr バージョン違いって断定してるんだからそれでいいだろ
他の可能性を検討しようとするなよ
他の可能性を検討しようとするなよ
804デフォルトの名無しさん
2022/08/11(木) 19:33:40.56ID:RPSv5K1g そんな能力あるのになんでColabのバージョンは変えられないの?
805デフォルトの名無しさん
2022/08/11(木) 19:36:46.54ID:X31RE6bn806デフォルトの名無しさん
2022/08/11(木) 19:38:03.60ID:m6fa3uRQ windowsの3.9.13でも問題ないな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
807デフォルトの名無しさん
2022/08/11(木) 20:01:15.15ID:X31RE6bn808デフォルトの名無しさん
2022/08/11(木) 20:18:34.40ID:fKEJQx+N809デフォルトの名無しさん
2022/08/11(木) 20:24:18.19ID:7cUH/Z7I810デフォルトの名無しさん
2022/08/11(木) 20:25:02.29ID:7cUH/Z7I811デフォルトの名無しさん
2022/08/12(金) 05:55:29.63ID:vrgQH6RZ (超初心者用)
812デフォルトの名無しさん
2022/08/12(金) 11:12:46.10ID:OS8SYcAO jupyternotebookでセル内のコードが長くなるため,
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.
my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.
my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
813デフォルトの名無しさん
2022/08/12(金) 11:54:38.42ID:V16IFZ6j my_func.pyでnumpyをインポート
814デフォルトの名無しさん
2022/08/12(金) 13:39:22.16ID:f9Pn84YJ815デフォルトの名無しさん
2022/08/12(金) 14:10:01.68ID:AKRIAlbQ main.pyでnumpyを使っていなければいらない
816デフォルトの名無しさん
2022/08/12(金) 15:01:37.64ID:P/MIlql5 そのライブラリを直接呼ぶコードがあるファイル毎にimportする。直接呼ばないなら不要
main.py
__import funcs
__funcs.test()
funcs.py
__import numpy
__def test():
____print(numpy.random.randint(0, 10))
main.py
__import funcs
__funcs.test()
funcs.py
__import numpy
__def test():
____print(numpy.random.randint(0, 10))
817デフォルトの名無しさん
2022/08/12(金) 15:14:18.69ID:f9Pn84YJ818101
2022/08/12(金) 16:36:29.89ID:SBMPsz73 普通、FunctionalをFucって略すか?
幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
819デフォルトの名無しさん
2022/08/13(土) 03:28:02.47ID:nuG2c1c/ mypyでエラーにならないように pathlib.Path の型を示したいんだが、これはどうすりゃいいのかね?
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
820デフォルトの名無しさん
2022/08/13(土) 03:32:04.91ID:nuG2c1c/ 動的な基底クラスはmypyでチェックできないって言ってる人がいたわ
そういうことなのか?
そういうことなのか?
821デフォルトの名無しさん
2022/08/13(土) 03:54:53.99ID:xLCZiP8v pylanceだとpathlib.Pathでいけるけどmypyあかんか?
822デフォルトの名無しさん
2022/08/13(土) 07:30:43.65ID:nuG2c1c/823デフォルトの名無しさん
2022/08/14(日) 04:23:42.79ID:aYzApZcG pythonでcuda使いたいが、お勧めのサイトありますか?
ちなみにcudaは3090とかの方がいいですか?
ちなみにcudaは3090とかの方がいいですか?
824デフォルトの名無しさん
2022/08/14(日) 09:47:31.64ID:7VRuM4Xa にほんごでおk
825デフォルトの名無しさん
2022/08/14(日) 10:12:56.20ID:A6qxvdf0 [python cuda]🔍
826デフォルトの名無しさん
2022/08/14(日) 11:25:05.75ID:Gnb69e0i Noneの比較はis を使うべきで==を使うべき"でない"なんて記述を見かけるのですが、
if dictData.get('key') == 'hogehoge':
__echo 'OK'
例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
if dictData.get('key') == 'hogehoge':
__echo 'OK'
例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
827デフォルトの名無しさん
2022/08/14(日) 12:06:39.34ID:KzxSNF0d if hoge is None:
こんな風に定数Noneと比較する場合の話だよ
こんな風に定数Noneと比較する場合の話だよ
828デフォルトの名無しさん
2022/08/14(日) 12:18:23.17ID:T9w5rPHY Noneを==すると稀にNone==None ->Falseあるから避けよう。バグのもと。これはググれば解説あるから読んで
で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり
if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。
基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける
ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい
つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり
if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。
基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける
ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい
つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
829デフォルトの名無しさん
2022/08/14(日) 12:29:39.79ID:Gnb69e0i830デフォルトの名無しさん
2022/08/14(日) 12:34:40.20ID:Gnb69e0i >>828
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
831デフォルトの名無しさん
2022/08/14(日) 12:41:52.12ID:VI2zLni0 >>682
1000%同意する
1000%同意する
832デフォルトの名無しさん
2022/08/14(日) 12:45:09.72ID:Xz0meKRj >>830
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
833デフォルトの名無しさん
2022/08/14(日) 12:50:22.70ID:T9w5rPHY >>830
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?
try:
__dic[input()]:
____print('ある')
except KeyError:
__print('ねえわ')
except Exception as e:
__print(e.__class__.__name__)
外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?
try:
__dic[input()]:
____print('ある')
except KeyError:
__print('ねえわ')
except Exception as e:
__print(e.__class__.__name__)
外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
834デフォルトの名無しさん
2022/08/14(日) 12:51:39.01ID:T9w5rPHY835デフォルトの名無しさん
2022/08/14(日) 12:53:45.52ID:A6qxvdf0836デフォルトの名無しさん
2022/08/14(日) 15:22:06.37ID:nJs5efs8 キーに階層があって、途中のキーがなかったりすることがある場合なんかだと、
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
837デフォルトの名無しさん
2022/08/14(日) 15:22:39.42ID:Gnb69e0i838デフォルトの名無しさん
2022/08/14(日) 16:52:51.09ID:T9w5rPHY ああわかった
db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')
こんときgetじゃないといかんのだな
あるいは
try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')
こんときgetじゃないといかんのだな
あるいは
try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
839デフォルトの名無しさん
2022/08/14(日) 22:47:50.08ID:549c+n4K Ruby の偽は、nil, false だけ。
これ以外は真
でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など
だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない
文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
これ以外は真
でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など
だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない
文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
840デフォルトの名無しさん
2022/08/14(日) 22:57:22.86ID:I2sSNpX6 >>839
死ね
死ね
841デフォルトの名無しさん
2022/08/15(月) 09:22:07.96ID:c1YCm0IS >>838
どういうこと?
どういうこと?
842デフォルトの名無しさん
2022/08/15(月) 13:07:09.65ID:RvdaGkLE >>841
dict['key'] = value
と
dict.get('key') = value
取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい
値がダミー(0など)の辞書の用意とかありうるので
dict['key'] = value
と
dict.get('key') = value
取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい
値がダミー(0など)の辞書の用意とかありうるので
843デフォルトの名無しさん
2022/08/15(月) 14:06:42.23ID:0GtlIRwB ああそういうことか
re.matchとかre.searchみたいなことをやりたいのか
辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
re.matchとかre.searchみたいなことをやりたいのか
辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
844デフォルトの名無しさん
2022/08/15(月) 15:15:52.94ID:gMKahu5b >>842
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ
dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ
bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ
dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ
bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
845デフォルトの名無しさん
2022/08/15(月) 15:38:01.56ID:RvdaGkLE846デフォルトの名無しさん
2022/08/15(月) 19:52:08.21ID:KlKo2Eqq わざわざメソッドとして用意されるほどの価値がないんだよなあ
2時代は重宝したのかな
2時代は重宝したのかな
847デフォルトの名無しさん
2022/08/15(月) 20:37:42.59ID:Xxg2cjph if (val := dic.get(key)) is not None:
は使うけどな
は使うけどな
848デフォルトの名無しさん
2022/08/16(火) 04:15:40.22ID:MkpTU7zo 次のコードがあります
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
849デフォルトの名無しさん
2022/08/16(火) 07:26:37.30ID:GKkpSlmU 内包表記使って初期化
850デフォルトの名無しさん
2022/08/16(火) 08:04:39.39ID:9vnyTUy7 [[[], [0, 0]] if i == 0 else [[]] for i in range(10)]
851デフォルトの名無しさん
2022/08/16(火) 08:06:35.47ID:9vnyTUy7 h=[[[]] for i in range(10)]
h[0].append([0,0])
h[0].append([0,0])
852デフォルトの名無しさん
2022/08/16(火) 11:31:22.44ID:2x3mrzZQ 要件後出しまくりとか
ゴールポスト移動させまくりとか
チョンメンタルの香具師とは付き合いたくないな
ゴールポスト移動させまくりとか
チョンメンタルの香具師とは付き合いたくないな
853デフォルトの名無しさん
2022/08/17(水) 13:20:06.97ID:5W303LUa 差別主義者で今どき香具師とか使ってるジジイとか逆に誰も付き合いたくないだろ
854デフォルトの名無しさん
2022/08/17(水) 16:37:01.73ID:tMNGLQPx pandas のread_excelで式が入っている箇所の値を計算値ではなく、
整形されたテキスト値の方を取りたい場合はどうしたら良いのでしょうか?
数値で6.6がテキスト値として”7”として表示されている”7”の方の値をとりたいです。
整形されたテキスト値の方を取りたい場合はどうしたら良いのでしょうか?
数値で6.6がテキスト値として”7”として表示されている”7”の方の値をとりたいです。
855デフォルトの名無しさん
2022/08/17(水) 18:19:41.22ID:8E4xUz8+ >>854
Excelファイル内のデータとしてあるのは数値の6.6だけで
文字列の7という値はデータとしてファイルには存在しないので
直接読み取るのは無理
read_excelでdtypeやconverterを指定して数値の6.6を文字列の7に変換するか
一旦dfに読んでから変換するか
Excelファイル内のデータとしてあるのは数値の6.6だけで
文字列の7という値はデータとしてファイルには存在しないので
直接読み取るのは無理
read_excelでdtypeやconverterを指定して数値の6.6を文字列の7に変換するか
一旦dfに読んでから変換するか
856デフォルトの名無しさん
2022/08/18(木) 04:13:52.58ID:OEqoy/Kx 0.00000001から10000.xxxxくらいまで取り得るfloatの変数を、数字の表記で文字列に変えたいのですが、
str()だと、0.0001未満の値が"1e-05"のような指数表記になってしまいます
一方f-string(format)だと、".8f"等で全桁表記はできますが、小数点以下が常に8桁で0で埋められてしまいます
(例 0.00001→0.00001000)
末尾には余計なゼロは付けず、かつ指数表記にならない形でfloatを文字列にする簡単な方法はありますか?
rstrip('0')など使って余計なゼロを処理するしかないでしょうか?(この場合、100.0などのゼロは削除できないので判定が必要そうで単純にはいかなそうですが)
str()だと、0.0001未満の値が"1e-05"のような指数表記になってしまいます
一方f-string(format)だと、".8f"等で全桁表記はできますが、小数点以下が常に8桁で0で埋められてしまいます
(例 0.00001→0.00001000)
末尾には余計なゼロは付けず、かつ指数表記にならない形でfloatを文字列にする簡単な方法はありますか?
rstrip('0')など使って余計なゼロを処理するしかないでしょうか?(この場合、100.0などのゼロは削除できないので判定が必要そうで単純にはいかなそうですが)
857デフォルトの名無しさん
2022/08/18(木) 08:18:05.71ID:cEC5FUVy858デフォルトの名無しさん
2022/08/18(木) 08:58:00.71ID:8X5QyRnM >>855
ありがとうございます。やはりできないのですね。
オプション探してみましたがそれらしいものがなかったので。
場所ごとに与えられた式が同じとは限らないので、
エクセル側で読み込み用の文字列を作成することにしました。
ありがとうございます。やはりできないのですね。
オプション探してみましたがそれらしいものがなかったので。
場所ごとに与えられた式が同じとは限らないので、
エクセル側で読み込み用の文字列を作成することにしました。
859デフォルトの名無しさん
2022/08/18(木) 16:36:53.18ID:Sofq2Da+ 条件分岐について質問です
3の倍数であるかどうかを判定する関数func1()とfunc2()を書いたのですが、
どちらの書き方のほうが良いでしょうか?
https://paiza.io/projects/mbEoYGp5wy7cU2oqpoTLbA
3の倍数であるかどうかを判定する関数func1()とfunc2()を書いたのですが、
どちらの書き方のほうが良いでしょうか?
https://paiza.io/projects/mbEoYGp5wy7cU2oqpoTLbA
860デフォルトの名無しさん
2022/08/18(木) 16:40:44.96ID:s/eA3jUD 当然1
861デフォルトの名無しさん
2022/08/18(木) 16:48:56.73ID:X/mZUHYK >>859
3の倍数が例外的な事象と言う事を表現したいならワンチャン2の可能性もあるかも
3の倍数が例外的な事象と言う事を表現したいならワンチャン2の可能性もあるかも
862859
2022/08/18(木) 17:00:51.08ID:Sofq2Da+ 回答ありがとうございます
なぜfunc2()の書き方はあまり良くないのでしょうか?
よろしければ理由も教えて貰えるとありがたいです
なぜfunc2()の書き方はあまり良くないのでしょうか?
よろしければ理由も教えて貰えるとありがたいです
863デフォルトの名無しさん
2022/08/18(木) 17:56:26.08ID:GYRCxwaB すべてのnumは3の倍数かそうでないかのどちらかである、つまり必ずどちらかの処理が実行される事が一目で理解できる点ではfunc1がベター
一方で3の倍数の時は処理を行わず早期リターン、3の倍数でない時は長い処理を行う、といった場合はfunc2
一方で3の倍数の時は処理を行わず早期リターン、3の倍数でない時は長い処理を行う、といった場合はfunc2
864デフォルトの名無しさん
2022/08/18(木) 18:55:31.69ID:Rcho8+Nh いや、return入れるならelseのときもreturnしろよ
両方入ってるなら2でもいいと思うけど、片方だけ終わらせるために入れるなら関数なのかサブルーチンなのかわからんからダメだろ
両方入ってるなら2でもいいと思うけど、片方だけ終わらせるために入れるなら関数なのかサブルーチンなのかわからんからダメだろ
866859
2022/08/18(木) 19:15:55.23ID:Sofq2Da+867デフォルトの名無しさん
2022/08/18(木) 20:03:27.19ID:Ly249j22 こっちのが好き
def is_multiple(num): return num%3 == 0
def is_multiple(num): return num%3 == 0
868デフォルトの名無しさん
2022/08/18(木) 21:14:57.76ID:uWlfhjm8 >>864
アラカン先輩ちぃーすっ
アラカン先輩ちぃーすっ
869デフォルトの名無しさん
2022/08/18(木) 21:32:20.64ID:49aIw1a5 >>867
判定処理と判定結果を表示する処理を分離しましょうという意味では同意する
けどis_multipleという関数名で3の倍数かどうか判定されるのは違和感しかない
じゃどういう名前にするのがいいかと考えると判定処理をわざわざ関数化するほどではないんじゃないかという気がする
判定処理と判定結果を表示する処理を分離しましょうという意味では同意する
けどis_multipleという関数名で3の倍数かどうか判定されるのは違和感しかない
じゃどういう名前にするのがいいかと考えると判定処理をわざわざ関数化するほどではないんじゃないかという気がする
870デフォルトの名無しさん
2022/08/19(金) 03:09:01.80ID:FK1lT4BX def b_is_multiple_of_a(a: int, b:int): return bool(b % a == 0)
if b_is_multiple_of_a(a=5, b=10):
__print('可読性低すぎる')
if b_is_multiple_of_a(a=5, b=10):
__print('可読性低すぎる')
871デフォルトの名無しさん
2022/08/19(金) 11:27:50.19ID:scgMDta4 アーリーリターンは何も珍しいこと時や無い
872デフォルトの名無しさん
2022/08/19(金) 11:28:55.77ID:scgMDta4 >>870
関数改行すんならifも改行すんなよ
関数改行すんならifも改行すんなよ
873デフォルトの名無しさん
2022/08/19(金) 11:30:34.29ID:scgMDta4 しないなら
874デフォルトの名無しさん
2022/08/19(金) 18:24:24.93ID:opjWCie4 def func3(n):
p = 0
while n > 0:
p += n % 10
n //= 10
return not (p % 3)
p = 0
while n > 0:
p += n % 10
n //= 10
return not (p % 3)
875デフォルトの名無しさん
2022/08/20(土) 10:11:04.26ID:FuR2a/w3876デフォルトの名無しさん
2022/08/20(土) 23:28:18.84ID:89Fpjor3 a = [1,2,3,4,5]
b = [2,3,4,5,6]
c = []
for i in range(5):
c.append(a[i] + 2*b[i])
こういうのをリスト内包表記で書くのは無理でしょうか
b = [2,3,4,5,6]
c = []
for i in range(5):
c.append(a[i] + 2*b[i])
こういうのをリスト内包表記で書くのは無理でしょうか
877デフォルトの名無しさん
2022/08/20(土) 23:35:43.31ID:mymTDVML aとbの要素数が同じだったら[i+2*j for i,j in zip(a,b)]でいけね?
878デフォルトの名無しさん
2022/08/20(土) 23:38:46.37ID:cHNXWuBU c=[x+2*y for x,y in zip(a,b)]
879デフォルトの名無しさん
2022/08/20(土) 23:39:36.80ID:mymTDVML 普通にrangeでも
c=[a[i]+b[i] in i for range(5)]でできるかな
c=[a[i]+b[i] in i for range(5)]でできるかな
880デフォルトの名無しさん
2022/08/21(日) 01:03:28.95ID:uqbZs7r8 どうでもいいけど
c = [i + (j * 2) for i, j in zip(a, b)]
と書きたいな俺は
# (1*i) + (2*j) のようなときのみ(2*j)でも可
# 計算スタックは()でくくる
初心者のうちは特に気をつけたい。動けばいいやんは動かなくなる原因になる
c = [i + (j * 2) for i, j in zip(a, b)]
と書きたいな俺は
# (1*i) + (2*j) のようなときのみ(2*j)でも可
# 計算スタックは()でくくる
初心者のうちは特に気をつけたい。動けばいいやんは動かなくなる原因になる
881デフォルトの名無しさん
2022/08/21(日) 01:23:15.12ID:m1bd5huk >>876
好きなのを選び多摩へ
c = [(a+1) + (b+2)*2 for a,b in enumerate([i for i in range(5)])]
c = [(a+1) + b*2 for a,b in enumerate([i for i in range(2, 7)])]
c = [a + 2*b for a,b in zip([i for i in range(1,6)],[j for j in range(2,7)])]
好きなのを選び多摩へ
c = [(a+1) + (b+2)*2 for a,b in enumerate([i for i in range(5)])]
c = [(a+1) + b*2 for a,b in enumerate([i for i in range(2, 7)])]
c = [a + 2*b for a,b in zip([i for i in range(1,6)],[j for j in range(2,7)])]
882デフォルトの名無しさん
2022/08/21(日) 01:38:11.30ID:X34OpE8X ありがとうございます!
883デフォルトの名無しさん
2022/08/21(日) 06:47:07.90ID:SCvvVl9f def main(argv: Sequence[str]) -> None:
↑
これってどういう意味というか、なにがやりたいんですか?
def main(argv):
ならmainにargvを渡すだけで分かりやすいんですが
↑
これってどういう意味というか、なにがやりたいんですか?
def main(argv):
ならmainにargvを渡すだけで分かりやすいんですが
884デフォルトの名無しさん
2022/08/21(日) 10:46:46.24ID:1U/+Hx4a885デフォルトの名無しさん
2022/08/21(日) 10:59:40.26ID:LqJQ4HOS >>883
argvの型がstrのシーケンスで戻り値の型がNoneってこと
シーケンスはlistやtupleのように長さが事前に分かってて各要素にインデックスで直接アクセスできるようなコレクションの総称
argvの型がstrのシーケンスで戻り値の型がNoneってこと
シーケンスはlistやtupleのように長さが事前に分かってて各要素にインデックスで直接アクセスできるようなコレクションの総称
886デフォルトの名無しさん
2022/08/21(日) 13:04:30.41ID:j3ukytx2 そこまで型ゴリゴリにするならpythonじゃなくても(じゃない方がむしろ)良いと思うから
放置してる
放置してる
887デフォルトの名無しさん
2022/08/21(日) 13:07:09.50ID:JM/HSGoB888デフォルトの名無しさん
2022/08/21(日) 14:03:22.39ID:uqbZs7r8 型ヒント(と開発環境)があると作業効率がずっと上がる
https://imgur.com/jtSAuu4.png
型ヒントのない世界は無
https://imgur.com/BuL77EC.png
オジジでもない限り、初学者は型ヒントつけるクセつけてったほうが
大きいコード書くようになったときなんかに助かるで
https://imgur.com/jtSAuu4.png
型ヒントのない世界は無
https://imgur.com/BuL77EC.png
オジジでもない限り、初学者は型ヒントつけるクセつけてったほうが
大きいコード書くようになったときなんかに助かるで
889デフォルトの名無しさん
2022/08/21(日) 14:29:46.94ID:j3ukytx2 そこでハンガリアンですよωωω=2πf
890デフォルトの名無しさん
2022/08/21(日) 14:38:59.74ID:jAGl7lqb 実際使ってみると、版画リアンはものすごく楽。
名前というものは被るように出来てるものらしい。
とはいえ推奨はしない。
名前というものは被るように出来てるものらしい。
とはいえ推奨はしない。
891デフォルトの名無しさん
2022/08/21(日) 14:45:29.71ID:HDFqY1eo Pythonでローカルサーバーを立ててhtmlの確認をしたいのですが、SSIを使いたいため、以下のスクリプトを使用しています。
https://github.com/danvk/ssi-server/blob/master/ssi_server.py
GITからクローニングして、MacOS + python 3.10.5で動作確認させたところ問題なく動きました。
Windows10 + Python 3.10.5で実行すると、localhostへのアクセス時に文末のエラーが出て動きません。
同一のクラウド上のファイルを参照して実行しています。GITからはMacで落としましたが、改めてwindowsで落としても同じでした。
MacOSでは動いているのでWindowsの環境なのかと思いつつ、何が原因かわからずにいます。
アドバイスください。
------エラー文章--------
Exception occurred during processing of request from ('::1', 58693, 0, 0)
Traceback (most recent call last):
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 37, in __init__
SimpleHTTPRequestHandler.__init__(self, request, client_address, server)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 651, in __init__
super().__init__(*args, **kwargs)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 747, in __init__
self.handle()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 425, in handle
self.handle_one_request()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 413, in handle_one_request
method()
本文長すぎの為続きは次に書きます
https://github.com/danvk/ssi-server/blob/master/ssi_server.py
GITからクローニングして、MacOS + python 3.10.5で動作確認させたところ問題なく動きました。
Windows10 + Python 3.10.5で実行すると、localhostへのアクセス時に文末のエラーが出て動きません。
同一のクラウド上のファイルを参照して実行しています。GITからはMacで落としましたが、改めてwindowsで落としても同じでした。
MacOSでは動いているのでWindowsの環境なのかと思いつつ、何が原因かわからずにいます。
アドバイスください。
------エラー文章--------
Exception occurred during processing of request from ('::1', 58693, 0, 0)
Traceback (most recent call last):
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 683, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 37, in __init__
SimpleHTTPRequestHandler.__init__(self, request, client_address, server)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 651, in __init__
super().__init__(*args, **kwargs)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\socketserver.py", line 747, in __init__
self.handle()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 425, in handle
self.handle_one_request()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 413, in handle_one_request
method()
本文長すぎの為続きは次に書きます
892デフォルトの名無しさん
2022/08/21(日) 14:46:16.53ID:HDFqY1eo 続きです。
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 40, in do_GET
SimpleHTTPRequestHandler.do_GET(self)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 655, in do_GET
f = self.send_head()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 679, in send_head
path = self.translate_path(self.path)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 57, in translate_path
content = ssi.InlineIncludes(fs_path, path)
File "C:\Users\UserName\iCloudDrive\web\ssi.py", line 31, in InlineIncludes
content = open(path).read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1163: illegal multibyte sequence
----------------------------------------
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 40, in do_GET
SimpleHTTPRequestHandler.do_GET(self)
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 655, in do_GET
f = self.send_head()
File "C:\Users\UserName\AppData\Local\Programs\Python\Python310\lib\http\server.py", line 679, in send_head
path = self.translate_path(self.path)
File "C:\Users\UserName\iCloudDrive\web\ssi_server.py", line 57, in translate_path
content = ssi.InlineIncludes(fs_path, path)
File "C:\Users\UserName\iCloudDrive\web\ssi.py", line 31, in InlineIncludes
content = open(path).read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1163: illegal multibyte sequence
----------------------------------------
893デフォルトの名無しさん
2022/08/21(日) 15:29:25.25ID:hzy7Wudw GITって何て読むの?
じっと?ぎっと?
じっと?ぎっと?
894デフォルトの名無しさん
2022/08/21(日) 15:41:28.40ID:gzL+j7A8 kit
git
git
895デフォルトの名無しさん
2022/08/21(日) 15:50:29.96ID:Tt3lkFsn896デフォルトの名無しさん
2022/08/21(日) 15:50:38.42ID:tAy7F/Zf897デフォルトの名無しさん
2022/08/21(日) 16:17:28.38ID:EVXa4h0m >>888
その比較は型ヒント関係ないやろ
その比較は型ヒント関係ないやろ
898デフォルトの名無しさん
2022/08/21(日) 16:25:35.41ID:S3KIc3UD >>895
help
help
899デフォルトの名無しさん
2022/08/21(日) 16:28:13.56ID:HDFqY1eo >>896
ありがとうございます。
まだ上手く直せていないのですが、試していたらindex.htmlに日本語があるとWindowsではエラーが出ることがわかりました。
ssi_server.py、ssi.pyで正しく日本語を読むようにすればいいということでしょうか。
ありがとうございます。
まだ上手く直せていないのですが、試していたらindex.htmlに日本語があるとWindowsではエラーが出ることがわかりました。
ssi_server.py、ssi.pyで正しく日本語を読むようにすればいいということでしょうか。
900デフォルトの名無しさん
2022/08/21(日) 16:49:17.07ID:HDFqY1eo901デフォルトの名無しさん
2022/08/21(日) 16:53:25.43ID:5N8drKmv tensorflow Liteというのがあって、int8とかでTPU使うと計算が速いらしいのですが、調べても使い方が複雑すぎていまいちよくわかりません
初心者にもわかりやすくまとまってるサイトはありませんか?
もしくはどなたかが簡潔にまとめていただけると助かります
初心者にもわかりやすくまとまってるサイトはありませんか?
もしくはどなたかが簡潔にまとめていただけると助かります
902デフォルトの名無しさん
2022/08/21(日) 17:07:51.78ID:gzL+j7A8 どこまで分かってるか分かってないか書いたほうがいいです
903デフォルトの名無しさん
2022/08/21(日) 17:32:33.39ID:4RZQsnIa >>902
converter = tensorflow.lite.TFLiteConverter.from_saved_model(export_dir)
tflite_model = converter.convert()
とすれば変換できるみたいですが、まずtensorflow.lite.TFLiteConverterがありません
私の環境ではtensorflow.python.lite.TFLiteConverterかなと思いましたが、ありません
tensorflow.lite.pythonにTFLiteConverterではなくtflite_convertがあるのを見つけました
tflite_convert.dtypes.int8というのが存在するので、これを設定すればいいのかなとは思うのですが
あと何したらいいのか見当がつきません
converter = tensorflow.lite.TFLiteConverter.from_saved_model(export_dir)
tflite_model = converter.convert()
とすれば変換できるみたいですが、まずtensorflow.lite.TFLiteConverterがありません
私の環境ではtensorflow.python.lite.TFLiteConverterかなと思いましたが、ありません
tensorflow.lite.pythonにTFLiteConverterではなくtflite_convertがあるのを見つけました
tflite_convert.dtypes.int8というのが存在するので、これを設定すればいいのかなとは思うのですが
あと何したらいいのか見当がつきません
904デフォルトの名無しさん
2022/08/21(日) 17:50:14.70ID:y+zMOwhn >>899
index.htmlは何の文字コードで保存されてるの?
Linuxで動いてるのと同じならUTF-8だと思うけど、Windows側で弄った時に文字コード変わってると
ややこしいから確認したい
index.htmlは何の文字コードで保存されてるの?
Linuxで動いてるのと同じならUTF-8だと思うけど、Windows側で弄った時に文字コード変わってると
ややこしいから確認したい
905デフォルトの名無しさん
2022/08/21(日) 17:56:00.04ID:y+zMOwhn >>900でもそうだけど
ダメだった時に同じエラーが出たのか、違うエラーが出たのかははっきり書いた方が良い
エンコーディング指定をこれにしても同じ結果になる?
content = open(path,encoding='utf-8_sig').read()
ダメだった時に同じエラーが出たのか、違うエラーが出たのかははっきり書いた方が良い
エンコーディング指定をこれにしても同じ結果になる?
content = open(path,encoding='utf-8_sig').read()
906デフォルトの名無しさん
2022/08/21(日) 18:09:49.63ID:YEW47Y5U ウェブ系など、すべてのシステムはUTF-8
でも、Windows だけは、CP932(shift-jis)。
5ch も、sjis だけどw
こういうシステムは普通はない
でも、Windows だけは、CP932(shift-jis)。
5ch も、sjis だけどw
こういうシステムは普通はない
907デフォルトの名無しさん
2022/08/21(日) 18:14:09.27ID:YEW47Y5U >>892
の最後の行に書いてある
>UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1163: illegal multibyte sequence
UnicodeDecodeError: 'cp932'
cp932 でしょ?
の最後の行に書いてある
>UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 1163: illegal multibyte sequence
UnicodeDecodeError: 'cp932'
cp932 でしょ?
908デフォルトの名無しさん
2022/08/21(日) 18:17:56.59ID:HDFqY1eo >>904-905
content = open(path,encoding='utf-8_sig').read()
で解決しました!
index.htmlはUTF-8で保存されていました。
後学のために単にutf-8だったときのエラーメッセージと元のエラーメッセージの比較をしようと思ったのですが、
utf-8指定でも動作するようになってしまって、その点はよくわからずでした。
(最初のときは違う行に書いてしまったかもしれません)
レベルが低くせっかく即答いただいたのに手間取ってすみませんでした。ありがとうございました。
content = open(path,encoding='utf-8_sig').read()
で解決しました!
index.htmlはUTF-8で保存されていました。
後学のために単にutf-8だったときのエラーメッセージと元のエラーメッセージの比較をしようと思ったのですが、
utf-8指定でも動作するようになってしまって、その点はよくわからずでした。
(最初のときは違う行に書いてしまったかもしれません)
レベルが低くせっかく即答いただいたのに手間取ってすみませんでした。ありがとうございました。
909デフォルトの名無しさん
2022/08/21(日) 21:07:30.06ID:msOimEye 今日初めてPython落としました!
何からやったらいいのかな?
何からやったらいいのかな?
910デフォルトの名無しさん
2022/08/21(日) 21:16:22.50ID:oSLHHX37 まずは交番に問い合わせ
911デフォルトの名無しさん
2022/08/21(日) 21:21:11.75ID:2nMf0Vdo ニシキヘビ属(Python)は、爬虫綱有鱗目ニシキヘビ科(ボア科ニシキヘビ亜科とする説もあり)に属する属。ニシキヘビ科の模式属。
912デフォルトの名無しさん
2022/08/21(日) 21:56:34.82ID:uqbZs7r8 class Foo():
__def __init__(self, bar:Bar):
____self.bar = bar
他のクラスのインスタンスをselfで受けるのって慣習ですか?
特に必要なければしなくてもよい?
__def __init__(self, bar:Bar):
____self.bar = bar
他のクラスのインスタンスをselfで受けるのって慣習ですか?
特に必要なければしなくてもよい?
913デフォルトの名無しさん
2022/08/21(日) 22:08:55.27ID:pxrRhRxl914デフォルトの名無しさん
2022/08/21(日) 22:36:44.36ID:m1bd5huk ちんちんシュッシユ
915デフォルトの名無しさん
2022/08/21(日) 22:37:39.35ID:uqbZs7r8 >>913
fooはインスタンス生成時点のbarのインスタンス情報が要るけど
生成後は要らない、他のメソッドで使わないとき、self.barで保持する必要がないと思うんだけど、そういうコードあんまり見たことないなーと思って
def Foo():
__init(self, bar):
____x = bar.baz[0] * 2
____self.calc(bar.data)
とかでいいときもあると思うんだけど
だいたいインスタンス変数にするだしょ
なんか理由あんのかなっていう
def Foo():
__init(self, bar):
____self.bar = bar
____x = self.bar.baz[0] * 2
____self.calc(self.bar.data)
fooはインスタンス生成時点のbarのインスタンス情報が要るけど
生成後は要らない、他のメソッドで使わないとき、self.barで保持する必要がないと思うんだけど、そういうコードあんまり見たことないなーと思って
def Foo():
__init(self, bar):
____x = bar.baz[0] * 2
____self.calc(bar.data)
とかでいいときもあると思うんだけど
だいたいインスタンス変数にするだしょ
なんか理由あんのかなっていう
def Foo():
__init(self, bar):
____self.bar = bar
____x = self.bar.baz[0] * 2
____self.calc(self.bar.data)
916デフォルトの名無しさん
2022/08/21(日) 23:00:36.99ID:sTNlugjb 何見たのか知らないけど保持する必要がないんならインスタンス変数にする必要ないね
917デフォルトの名無しさん
2022/08/21(日) 23:15:46.41ID:YEW47Y5U is-a・継承・一種じゃなくて、has-a・包含・部品化でしょ
Foo は、Bar という部品を持っている
Foo は、Bar という部品を持っている
918デフォルトの名無しさん
2022/08/22(月) 07:03:46.35ID:nh7qwDlg どなたか>>903わかりませんか?
919デフォルトの名無しさん
2022/08/22(月) 08:53:29.31ID:/DEJsMLY >>915
> とかでいいときもあると思うんだけど
だいたいインスタンス変数にするだしょ
ルールも慣例もないから君がみた例がそうだっただけ
ただコンストラクタで受けるとき普通はクラス全体として依存するからインスタンス変数で受けることが多いね
まだはやいと思うけどコード設計レベルの話だと、依存しない型をコンストラクタ引数に持つのは余計な情報を含み生成コストが高くなるから、本当に必要な情報だけコンストラクタで渡すか、ファクトリメソッド(staticmethodかクラス外のただの関数)を経由すると良い
> とかでいいときもあると思うんだけど
だいたいインスタンス変数にするだしょ
ルールも慣例もないから君がみた例がそうだっただけ
ただコンストラクタで受けるとき普通はクラス全体として依存するからインスタンス変数で受けることが多いね
まだはやいと思うけどコード設計レベルの話だと、依存しない型をコンストラクタ引数に持つのは余計な情報を含み生成コストが高くなるから、本当に必要な情報だけコンストラクタで渡すか、ファクトリメソッド(staticmethodかクラス外のただの関数)を経由すると良い
920デフォルトの名無しさん
2022/08/22(月) 10:58:30.17ID:YpfCjhrS >>903
>まずtensorflow.lite.TFLiteConverterがありません
Python 3.10 にtensorflow入れて確認したけど、あるよ
ちなみにtensorflow のバージョンは2.9.1
>まずtensorflow.lite.TFLiteConverterがありません
Python 3.10 にtensorflow入れて確認したけど、あるよ
ちなみにtensorflow のバージョンは2.9.1
921デフォルトの名無しさん
2022/08/22(月) 11:00:20.74ID:tAsFo3rY 統一教会は半島人の醜さを如実に表してる
922デフォルトの名無しさん
2022/08/22(月) 14:10:57.26ID:KX6mg0Ol 質問が既に触っちゃいけない人レベルだと答える気も起きない
923デフォルトの名無しさん
2022/08/22(月) 17:08:51.25ID:vrjH2pLG924デフォルトの名無しさん
2022/08/22(月) 17:09:07.20ID:vrjH2pLG あ、Pythonは3.10.6です
925デフォルトの名無しさん
2022/08/22(月) 18:48:00.04ID:KAheMTvm ちなみに、tensorflow.kerasも、tensorflow.python.kerasになってます
926デフォルトの名無しさん
2022/08/22(月) 19:13:09.43ID:YpfCjhrS >>924
こちらはIDLEでやってるけど、そちらは何でやってるの?
>>>import tensorflow as tf
>>>tf.lite.TFLiteConverter
<class 'tensorflow.lite.python.lite.TFLiteConverterV2'>
と出るから、あなたの環境?ではtensorflow.lite.python.lite.TFLiteConverterV2 でできるかも?
こちらはIDLEでやってるけど、そちらは何でやってるの?
>>>import tensorflow as tf
>>>tf.lite.TFLiteConverter
<class 'tensorflow.lite.python.lite.TFLiteConverterV2'>
と出るから、あなたの環境?ではtensorflow.lite.python.lite.TFLiteConverterV2 でできるかも?
927デフォルトの名無しさん
2022/08/22(月) 19:19:54.92ID:mGTda2af928デフォルトの名無しさん
2022/08/22(月) 19:38:48.82ID:YpfCjhrS ふぅ〜〜、、また迷える子羊を救ってしまったオレはメシア! >>922はウンコ!!
929デフォルトの名無しさん
2022/08/22(月) 19:44:46.61ID:7dOE9g6n ×触っちゃいけない
〇自分のレベルでは触れない
〇自分のレベルでは触れない
930デフォルトの名無しさん
2022/08/22(月) 20:41:16.68ID:xuCaDQYT (悪い)
931デフォルトの名無しさん
2022/08/23(火) 07:46:45.41ID:AXaElLrn かっこ悪い
932デフォルトの名無しさん
2022/08/23(火) 11:45:38.02ID:C7QGzGi8 (インテグラ)
933デフォルトの名無しさん
2022/08/23(火) 15:21:34.49ID:VG0bs36n Python的にはタプル
934デフォルトの名無しさん
2022/08/23(火) 18:20:21.00ID:QvfGPIA0 スクレイピングの勉強でも始めようと思って
FANZAから持ってるエロゲーのデータ取得しようと思ったけど「18歳以上ですか?」のページに飛ばされるからうまくいかないんだよな
それでぐぐってみたらちゃんと回避する方法も載っててさすがエロは人類の英知だなって
FANZAから持ってるエロゲーのデータ取得しようと思ったけど「18歳以上ですか?」のページに飛ばされるからうまくいかないんだよな
それでぐぐってみたらちゃんと回避する方法も載っててさすがエロは人類の英知だなって
935デフォルトの名無しさん
2022/08/23(火) 18:21:32.45ID:QvfGPIA0 で、もしかして商品データのAPIとかあるんじゃないかと調べたら普通にあるじゃん
FANZAでAPIの使い方も学べてしまうわけだ
FANZAでAPIの使い方も学べてしまうわけだ
936デフォルトの名無しさん
2022/08/23(火) 21:00:11.70ID:zoEAEgny プログラムが<b></b>で囲まれてるのがあるんですが、どういう意味がありますか?
937デフォルトの名無しさん
2022/08/24(水) 11:40:37.72ID:GCuLQfVh def mySort(x):
_return x-n
ary=sorted(ary,key=mySort)
上記の様なソートでmySort関数に別の引数(n)を
与えたい場合はどのようにすれば良いのでしょうか?
_return x-n
ary=sorted(ary,key=mySort)
上記の様なソートでmySort関数に別の引数(n)を
与えたい場合はどのようにすれば良いのでしょうか?
938デフォルトの名無しさん
2022/08/24(水) 11:40:54.28ID:GCuLQfVh age忘れたのでageます
939デフォルトの名無しさん
2022/08/24(水) 12:06:03.74ID:nMDP5IX7 >>936
<b></b> は、HTML のタグ。bold・太字
<b></b> は、HTML のタグ。bold・太字
940デフォルトの名無しさん
2022/08/24(水) 13:10:02.55ID:Q8Mi5AsJ941デフォルトの名無しさん
2022/08/24(水) 13:42:19.22ID:GCuLQfVh >>940 ありがとうございます。以下のような感じでいけました。
def sortX(n):
_def sub(x):
__return x-n
_return sub
ary=sorted(ary,key=mySort(5))
def sortX(n):
_def sub(x):
__return x-n
_return sub
ary=sorted(ary,key=mySort(5))
942デフォルトの名無しさん
2022/08/24(水) 13:44:20.36ID:GCuLQfVh どうでもいいけど、sortX(n)はmySort(n)でした
943デフォルトの名無しさん
2022/08/24(水) 17:14:42.06ID:MmGWx16i 比較関数の名前はmyCmp()とかの方がよくないか
944デフォルトの名無しさん
2022/08/24(水) 18:49:27.66ID:9+/sji0l 比較関数そのものじゃないのでgen_my_cmpとかに死体
945デフォルトの名無しさん
2022/08/25(木) 11:52:57.48ID:fZ4fACWe floor が「切り捨て」なのはどういう意味なんだろう?
建物の「階」において、たとえば「2.5階」の高さがあったとしてもそれは2階の範疇、という理解でいいのか?
建物の「階」において、たとえば「2.5階」の高さがあったとしてもそれは2階の範疇、という理解でいいのか?
946デフォルトの名無しさん
2022/08/25(木) 12:17:01.44ID:t8dBENVC947デフォルトの名無しさん
2022/08/25(木) 12:18:32.67ID:07FV37Yy >>945
ガウス記号って学校で習わなかったのか?
ガウス記号って学校で習わなかったのか?
948デフォルトの名無しさん
2022/08/25(木) 12:35:27.45ID:T8QO1Ud9 習ったかもしんないけど、習った時以外に使ったことないな
949デフォルトの名無しさん
2022/08/25(木) 19:50:52.48ID:JQLsrPvi フレームワークスレ動いてないのでここで
jinja2のmacroって1つのmacroにつき1ファイル必要ですか?
便利だけど結構なファイル量になりそう
jinja2のmacroって1つのmacroにつき1ファイル必要ですか?
便利だけど結構なファイル量になりそう
950デフォルトの名無しさん
2022/08/25(木) 19:53:38.52ID:JQLsrPvi できそうですね
自決しましたすみません
自決しましたすみません
951デフォルトの名無しさん
2022/08/25(木) 22:12:05.52ID:onQDGrDv 潔い最期であった
952デフォルトの名無しさん
2022/08/25(木) 23:23:20.07ID:11s99DpV ヒットアンドブローを書いてみました
ここは直した方がいい、って箇所がありましたら教えて頂きたいです
よろしくお願いします
https://paiza.io/projects/V9PHgwFh2EAyhgA2PxxUbQ
ここは直した方がいい、って箇所がありましたら教えて頂きたいです
よろしくお願いします
https://paiza.io/projects/V9PHgwFh2EAyhgA2PxxUbQ
953デフォルトの名無しさん
2022/08/25(木) 23:48:36.58ID:C7eFIied 3文字以下を入力したらエラー
954デフォルトの名無しさん
2022/08/26(金) 04:59:27.97ID:8E2pwf5q >>952
数値チェック、桁数チェック、重複チェック追加
blowの計算が違う
2重ループの変数がすべてiなのはややこしい
answer_list、input_list、リストにするメリットを感じない
数値チェック、桁数チェック、重複チェック追加
blowの計算が違う
2重ループの変数がすべてiなのはややこしい
answer_list、input_list、リストにするメリットを感じない
955デフォルトの名無しさん
2022/08/26(金) 05:00:05.01ID:8E2pwf5q import random
answer_list_int = []
while len(answer_list_int) < 4:
____random_number = random.randint(0, 9)
____if random_number not in answer_list_int:
________answer_list_int.append(random_number)
answer_str = "".join(map(str, answer_list_int))
print('''\
数当てゲームをします!
4桁の重複しない数字を当てて下さい!
入力のチャンスは7回までです
'終了する場合はexitと入力して下さい
''')
for i in range(7):
____while True:
________input_number_str = input(f'{i + 1}回目 4桁の重複しない数字を入力して下さい->')
________if input_number_str == 'exit' or (len(input_number_str) == 4 and input_number_str.isdecimal() and len(set(input_number_str)) == 4):
____________break
____hit = len([j for j in zip(input_number_str, answer_str) if j[0] == j[1]])
____if input_number_str == 'exit':
________break
____print(f'hitは{hit}です!')
____if hit == 4:
________print('クリアです!おめでとう!')
________break
____print(f'blowは{len(set(input_number_str) & set(answer_str)) - hit}です!\n')
if hit != 4:
____print(f'残念!当たりは{answer_str}でした!')
answer_list_int = []
while len(answer_list_int) < 4:
____random_number = random.randint(0, 9)
____if random_number not in answer_list_int:
________answer_list_int.append(random_number)
answer_str = "".join(map(str, answer_list_int))
print('''\
数当てゲームをします!
4桁の重複しない数字を当てて下さい!
入力のチャンスは7回までです
'終了する場合はexitと入力して下さい
''')
for i in range(7):
____while True:
________input_number_str = input(f'{i + 1}回目 4桁の重複しない数字を入力して下さい->')
________if input_number_str == 'exit' or (len(input_number_str) == 4 and input_number_str.isdecimal() and len(set(input_number_str)) == 4):
____________break
____hit = len([j for j in zip(input_number_str, answer_str) if j[0] == j[1]])
____if input_number_str == 'exit':
________break
____print(f'hitは{hit}です!')
____if hit == 4:
________print('クリアです!おめでとう!')
________break
____print(f'blowは{len(set(input_number_str) & set(answer_str)) - hit}です!\n')
if hit != 4:
____print(f'残念!当たりは{answer_str}でした!')
956デフォルトの名無しさん
2022/08/26(金) 07:33:07.60ID:90ir5d7g また人形遊びか
957デフォルトの名無しさん
2022/08/26(金) 10:37:48.28ID:i2SIEm4o つまらんな
人間が出題してPC(または鯖)に解かせるhit&blowを描け
人間が出題してPC(または鯖)に解かせるhit&blowを描け
958デフォルトの名無しさん
2022/08/26(金) 14:03:10.97ID:b48ovCTY 重複しないならシャッフルして作る方が好み
こんな感じの
answer_list_int = random.sample(range(10),10)[:4]
>>955
細かい事だけど
isdecimal()って全角数字もTrueになりそうな
こんな感じの
answer_list_int = random.sample(range(10),10)[:4]
>>955
細かい事だけど
isdecimal()って全角数字もTrueになりそうな
959952
2022/08/26(金) 15:53:44.20ID:YT1F4ulB レスありがとうございました!
いろいろ改善してみたいと思います
いろいろ改善してみたいと思います
960952
2022/08/26(金) 18:09:23.80ID:YT1F4ulB961デフォルトの名無しさん
2022/08/26(金) 19:10:15.58ID:8E2pwf5q962デフォルトの名無しさん
2022/08/26(金) 21:56:17.10ID:qaneYf7D 標準ライブラリだけで、ローカルタイムゾーンのoffset値だけ取得したい(日本なら+9みたいな)のですが、直接取得できる方法などありますか?
963デフォルトの名無しさん
2022/08/26(金) 22:05:56.45ID:Iy9DcYfZ マニュアル読め
964デフォルトの名無しさん
2022/08/26(金) 22:40:57.28ID:qaneYf7D time.timezone / 3600
(→Asia/Tokyoだと -9 になる)
が一番簡素ですかね
(→Asia/Tokyoだと -9 になる)
が一番簡素ですかね
965952
2022/08/26(金) 22:50:13.39ID:YT1F4ulB966デフォルトの名無しさん
2022/08/26(金) 23:41:59.18ID:8E2pwf5q >>965
関数ブロック(def/lambda)だけ考えればいい
関数ブロック(def/lambda)だけ考えればいい
968デフォルトの名無しさん
2022/08/27(土) 10:36:29.81ID:iQeLdPnf SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation:
えいちちーぴーえす://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
これはどうしろとおっしゃっているのですか?
data['column'][i]=(2**x)
こういう式に文句言われたんですが
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation:
えいちちーぴーえす://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
これはどうしろとおっしゃっているのですか?
data['column'][i]=(2**x)
こういう式に文句言われたんですが
969デフォルトの名無しさん
2022/08/27(土) 11:13:27.05ID:WyESGIww その警告文で検索したら秒で解決するけど、しなかった?
970デフォルトの名無しさん
2022/08/27(土) 11:33:42.24ID:z31K+Zx9 pd.set_option('mode.chained_assignment', None)
971デフォルトの名無しさん
2022/08/27(土) 13:32:06.26ID:BTzbpX5q よくまとまってる
https://www.dataquest.io/blog/settingwithcopywarning/
https://linus-mk.はてぶろ.com/えんとり/2019/02/02/200000
https://linus-mk.はてぶろ.com/えんとり/2019/03/14/235402
https://linus-mk.はてぶろ.com/えんとり/2019/05/18/161328
https://www.dataquest.io/blog/settingwithcopywarning/
https://linus-mk.はてぶろ.com/えんとり/2019/02/02/200000
https://linus-mk.はてぶろ.com/えんとり/2019/03/14/235402
https://linus-mk.はてぶろ.com/えんとり/2019/05/18/161328
972デフォルトの名無しさん
2022/08/27(土) 14:42:22.60ID:n5VuK+5f 奥が深い
沼ズブズブ
沼ズブズブ
973ややや
2022/08/27(土) 20:00:28.28ID:IQqR6XHY https://qiita.com/mimuro_syunya/items/2464cd2404b67ea5da56
上のサイトを参考にしてジュピターノートブックからサイトの最後の方にあるソースコードをコピペして最後の3行をGetメソッドで指定したURLに飛びませんでした。
最後の3行を変更せずにやっても出来ませんでした!
上記のサイトの実行コマンドをbotファイルにするくだりはやってます。
目立ったエラーなどは現在無いです。
ブラウザ立ち上げた後にそのまま処理を行うにはどうすれば良いでしょうか?
上のサイトを参考にしてジュピターノートブックからサイトの最後の方にあるソースコードをコピペして最後の3行をGetメソッドで指定したURLに飛びませんでした。
最後の3行を変更せずにやっても出来ませんでした!
上記のサイトの実行コマンドをbotファイルにするくだりはやってます。
目立ったエラーなどは現在無いです。
ブラウザ立ち上げた後にそのまま処理を行うにはどうすれば良いでしょうか?
974デフォルトの名無しさん
2022/08/27(土) 21:29:38.61ID:RK2Xjm2V 日時と得点からなる表Aがあったとします
最高得点が更新された履歴の表を作りたいです
Aの各要素にその日時より古い日時のAの全要素をouter joinかmergeでくっつけて、
くっつけた表の部分をgroupbyしてmaxを求め、
各要素の得点とmaxの得点が一致しているものだけをselectしたいのですが、
SQLならできるのにpandasではやり方がいまいちわかりません
普通にmergeしただけだと共通項があるものしかくっつけられないです
どう書けばいいか教えてください
最高得点が更新された履歴の表を作りたいです
Aの各要素にその日時より古い日時のAの全要素をouter joinかmergeでくっつけて、
くっつけた表の部分をgroupbyしてmaxを求め、
各要素の得点とmaxの得点が一致しているものだけをselectしたいのですが、
SQLならできるのにpandasではやり方がいまいちわかりません
普通にmergeしただけだと共通項があるものしかくっつけられないです
どう書けばいいか教えてください
975デフォルトの名無しさん
2022/08/27(土) 22:11:52.80ID:8j5Nb3+9976デフォルトの名無しさん
2022/08/28(日) 09:44:53.82ID:my7A80XW history=model.fit(x,t,epochs=epochnum,batch_size=batchnum,callbacks=[checkpoint,lr])
この行を実行すると、
Epoch 101/2000
1/1 [==============================] - ETA: 0s - loss: 0.11/1 [==============================] - 0s 3ms/step - loss: 0.1453 - mae: 0.2880
Epoch 102/2000
1/1 [==============================] - ETA: 0s - loss: 0.11/1 [==============================] - 0s 5ms/step - loss: 0.1452 - mae: 0.2888
などと出てきてしまいます
・完全に黙らせる場合
・Epoch数だけ表示させる場合
どうしたらいいでしょうか?
この行を実行すると、
Epoch 101/2000
1/1 [==============================] - ETA: 0s - loss: 0.11/1 [==============================] - 0s 3ms/step - loss: 0.1453 - mae: 0.2880
Epoch 102/2000
1/1 [==============================] - ETA: 0s - loss: 0.11/1 [==============================] - 0s 5ms/step - loss: 0.1452 - mae: 0.2888
などと出てきてしまいます
・完全に黙らせる場合
・Epoch数だけ表示させる場合
どうしたらいいでしょうか?
977デフォルトの名無しさん
2022/08/28(日) 16:01:50.37ID:kZD7TOdo 自己解決しました
失礼しました
失礼しました
978デフォルトの名無しさん
2022/08/28(日) 16:36:09.29ID:q65Nt2bT 解決法も書いてってや
後輩のために
後輩のために
979デフォルトの名無しさん
2022/08/28(日) 17:39:31.88ID:ULmp/dD0 失礼します
class内のメソッド宣言の際に、1つ目の引数にselfを必ず入れなければならない
理由や背景が何となくしか分かりません
それと、selfはJavaで言う所のthisと同じようなものと考えてよいですか?
class内のメソッド宣言の際に、1つ目の引数にselfを必ず入れなければならない
理由や背景が何となくしか分かりません
それと、selfはJavaで言う所のthisと同じようなものと考えてよいですか?
980デフォルトの名無しさん
2022/08/28(日) 17:47:12.52ID:q65Nt2bT そう
別にthisでもいいよ。selfでなく
別にthisでもいいよ。selfでなく
981デフォルトの名無しさん
2022/08/28(日) 18:48:06.80ID:ScmkE54Q 他のOSでの挙動は分からないけどWindows版Pythonで
socketのrecvで受信待機している時に他のpyファイルを動かすと動作が停止してしまいます
終了ではなく永遠に待機している感じ
recv中に例外エラーも出ないのですが対処法ありますか?
socketのrecvで受信待機している時に他のpyファイルを動かすと動作が停止してしまいます
終了ではなく永遠に待機している感じ
recv中に例外エラーも出ないのですが対処法ありますか?
983デフォルトの名無しさん
2022/08/28(日) 20:31:29.47ID:A7P8ZEj/ 40代未経験だがPython覚えればプログラマとして就職できる?
984デフォルトの名無しさん
2022/08/28(日) 20:42:53.44ID:5PlXdxXB 他の業務知識があれば出来るんじゃね?
研究者は無理やろ
研究者は無理やろ
985デフォルトの名無しさん
2022/08/28(日) 21:04:51.02ID:K7gdf/So 求人数はJavaとJavaScriptとPHPの方が多いのだわ
PythonはML系の求人が多いことを考えると
未経験から最初に業界に首をねじ込むための言語としては
あんまりおすすめせんのだわ
PythonはML系の求人が多いことを考えると
未経験から最初に業界に首をねじ込むための言語としては
あんまりおすすめせんのだわ
986デフォルトの名無しさん
2022/08/28(日) 21:05:19.00ID:K7gdf/So あ、985が立てるのか…
987デフォルトの名無しさん
2022/08/28(日) 21:25:02.87ID:0hsZj3lg cudaで処理速度が20万倍っていうデータがあるんだけど
みんなはどれくらいの速度が適性だと思う?
みんなはどれくらいの速度が適性だと思う?
988デフォルトの名無しさん
2022/08/28(日) 22:33:49.95ID:gOapjWvD >>983
文系で未経験者の王道は、Ruby on Rails でポートフォリオを作って転職する
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンとか、
RUNTEQ、東京フリーランスのデイトラなど
かよちんchannel
【半年間使ってわかった】PythonのwebフレームワークDjangoを学ぶメリット・デメリット
www.youtube.com/watch?v=783JIyyyxMk
かよちんは未経験の大学生で、Railsでポートフォリオを作って就職した。
1年運用で働いたが、開発したかったので転職した。
転職先では、Django で開発している
彼女は、初心者にはDjangoよりも、Railsを勧めている
理系なら大学院数学科とか、
AWS Certified Machine Learning(機械学習) - Specialty の資格があれば強い
文系で未経験者の王道は、Ruby on Rails でポートフォリオを作って転職する
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンとか、
RUNTEQ、東京フリーランスのデイトラなど
かよちんchannel
【半年間使ってわかった】PythonのwebフレームワークDjangoを学ぶメリット・デメリット
www.youtube.com/watch?v=783JIyyyxMk
かよちんは未経験の大学生で、Railsでポートフォリオを作って就職した。
1年運用で働いたが、開発したかったので転職した。
転職先では、Django で開発している
彼女は、初心者にはDjangoよりも、Railsを勧めている
理系なら大学院数学科とか、
AWS Certified Machine Learning(機械学習) - Specialty の資格があれば強い
989デフォルトの名無しさん
2022/08/28(日) 23:01:16.78ID:Uxqu4oWF >>970 はアカン例やろ
990デフォルトの名無しさん
2022/08/28(日) 23:04:54.48ID:n2t07jCF 速ければ速いほどよい
991デフォルトの名無しさん
2022/08/29(月) 14:20:05.87ID:HM6f0MF8 q="太郎君の年齢は?"
ans=12
ans2="十二"
while True:
try:
text=int(input(q))
if text==ans:
print("正解")
elif text==ans2:
print("正解")
break
except:
print("不正解")
これで12、十二とinputで入力すると正解と
それ以外だったら不正解で最初に戻ると進行するようにしたいのですが
12以外だと全部不正解になってしまいます
ans=12
ans2="十二"
while True:
try:
text=int(input(q))
if text==ans:
print("正解")
elif text==ans2:
print("正解")
break
except:
print("不正解")
これで12、十二とinputで入力すると正解と
それ以外だったら不正解で最初に戻ると進行するようにしたいのですが
12以外だと全部不正解になってしまいます
992デフォルトの名無しさん
2022/08/29(月) 14:31:09.09ID:IoynIqHg993デフォルトの名無しさん
2022/08/29(月) 14:31:14.78ID:lEy6aHnj せめて質問文らしく書こうな。
text = int("十二")
の結果が0だからだよ。
int()をなくして12も"12"に変更して、全て文字列で扱うようにすれば
text = int("十二")
の結果が0だからだよ。
int()をなくして12も"12"に変更して、全て文字列で扱うようにすれば
994デフォルトの名無しさん
2022/08/29(月) 14:35:17.73ID:SW+mNQvs 慣れないうちは簡単な書き方しよう
ごちゃごちゃ詰め込まない
while True:
__print ('年齢は?')
__ret = input()
__if ret == 12:
____print('ok')
____break
__elif ret == '十二':
__else:
____print('no')
if ret in [12, 12, '十二']
でもよい
ごちゃごちゃ詰め込まない
while True:
__print ('年齢は?')
__ret = input()
__if ret == 12:
____print('ok')
____break
__elif ret == '十二':
__else:
____print('no')
if ret in [12, 12, '十二']
でもよい
995デフォルトの名無しさん
2022/08/29(月) 14:38:41.17ID:HM6f0MF8996デフォルトの名無しさん
2022/08/29(月) 14:42:50.09ID:SW+mNQvs うそ
ret = input()
ret in ['12', '12', '十二']
だわ
漢数字や全角ありうるならint型に変換しないほうがよいぬ
ret = input()
ret in ['12', '12', '十二']
だわ
漢数字や全角ありうるならint型に変換しないほうがよいぬ
997デフォルトの名無しさん
2022/08/29(月) 14:44:38.06ID:eTTKQ396998デフォルトの名無しさん
2022/08/29(月) 15:21:46.13ID:XtVEyX62 9+9+980
999デフォルトの名無しさん
2022/08/29(月) 15:22:51.65ID:XtVEyX62 うめ
1000デフォルトの名無しさん
2022/08/29(月) 15:23:06.50ID:XtVEyX6210011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 16時間 57分 58秒
新しいスレッドを立ててください。
life time: 98日 16時間 57分 58秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中居正広、水面下で反撃の準備か 第三者委員会の報告書での“性暴力者”認定に強い抵抗感、自らの口で真相を明らかにする考えも [Ailuropoda melanoleuca★]
- ダウンタウンが芸能活動再開へ、今夏ネット配信サービス開始★3 [jinjin★]
- 「自衛隊は人殺しの訓練」発言の共産党滋賀県議、本会議で謝罪「申し訳ありませんでした」 [少考さん★]
- 「子どもも車道?路駐なんとかしろ」自転車の交通違反に青切符《歩道通行6000円》募る批判🚲三 [パンナ・コッタ★]
- 米インテル、赤字2倍 業績改善へ追加リストラ 1~3月期 [香味焙煎★]
- 「コメの関税を下げたら自民党は吹っ飛ぶ」 農業団体首脳が断言 農林族のドンも危機感あらわ…コメ輸入拡大で試される石破政権★2 [夜のけいちゃん★]
- 【悲報】読売新聞「万博来場100万人突破?実は16万人以上がメディアとスタッフです🤗」これは大阪国際法違反か [359965264]
- 【悲報】石破茂「氷河期世代を救うため『会議』を開く!しばし待たれよ😤」 [616817505]
- 河野太郎「専業主婦は夫の収入に余裕がある人がやっている、その人の保険料をシングルマザーが負担しているというのは公平ではない」炎上 [256556981]
- 【GDP】 🇯🇵日本 「世界5位」 になった事が判明……😱😭😨 [485983549]
- 万博行こうと思うんだけど5000円あれば足りるかな? [907330772]
- 【ジャップ悲報】嫌儲のスレ立て人「牛乳パック」、m-floのTAKU TAKAHASHI⭐︎にリプをつけられてしまう… [603865667]