当スレに★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(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その55
■ このスレッドは過去ログ倉庫に格納されています
2021/10/01(金) 15:46:47.17ID:9qOHXj6D
290デフォルトの名無しさん
2021/10/23(土) 21:54:12.92ID:uHOK1QLC Ruby なら、Regexp.union でパターンを、OR で合成できる
p Regexp.union(/a/, "*") # => /(?-mix:a)|\*/
p Regexp.union(/a/, /b/, /c/) # => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
arr = [/a/, /b/, /c/]
p Regexp.union(arr) # => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
p Regexp.union(/a/, "*") # => /(?-mix:a)|\*/
p Regexp.union(/a/, /b/, /c/) # => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
arr = [/a/, /b/, /c/]
p Regexp.union(arr) # => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
291デフォルトの名無しさん
2021/10/23(土) 23:19:51.40ID:oBaQvszz ルビキチってどこにでも涌くのな
292デフォルトの名無しさん
2021/10/24(日) 09:17:16.16ID:ju8sH4Lg この板の外にも湧いてるんだぞ
293デフォルトの名無しさん
2021/10/24(日) 12:57:50.65ID:nICPJrT1 >>289
ありがとうございますパターンが取れました
ptn1 = re.compile("\.gif$").pattern
ptn2 = re.compile("\.jpg$|\.png$",re.IGNORECASE).pattern
ptn2が
"\.jpg$|\.JPG$|\.png$|\.PNG$"
な感じだったらよかったんですけどね
re.compile(ptn1+"|"+ptn2,re.IGNORECASE)
だと
"\.gif$|\.GIF$|\.jpg$|\.JPG$|\.png$|\.PNG$"
と同等?になってしまうので
ありがとうございますパターンが取れました
ptn1 = re.compile("\.gif$").pattern
ptn2 = re.compile("\.jpg$|\.png$",re.IGNORECASE).pattern
ptn2が
"\.jpg$|\.JPG$|\.png$|\.PNG$"
な感じだったらよかったんですけどね
re.compile(ptn1+"|"+ptn2,re.IGNORECASE)
だと
"\.gif$|\.GIF$|\.jpg$|\.JPG$|\.png$|\.PNG$"
と同等?になってしまうので
294デフォルトの名無しさん
2021/10/24(日) 13:06:47.73ID:nICPJrT1 改めてぐぐってみると
そもそもフラグの記述はいろいろあるみたいですね >>293
(?フラグ:パターン)
これなら基本は文字列でもcompile済でもどちらでもいい気がしました
ptns = ["\.gif$","(?i:\.jpg$|\.png$)"]
ptn = re.compile("|".join(ptns))
そもそもフラグの記述はいろいろあるみたいですね >>293
(?フラグ:パターン)
これなら基本は文字列でもcompile済でもどちらでもいい気がしました
ptns = ["\.gif$","(?i:\.jpg$|\.png$)"]
ptn = re.compile("|".join(ptns))
295デフォルトの名無しさん
2021/10/24(日) 14:04:30.70ID:9GD27ADQ296デフォルトの名無しさん
2021/10/24(日) 15:34:01.95ID:dQwbGYLm Ruby で、漏れは自分で関数を作っている
拡張子を小文字に変換してから、それが配列内にあるかどうか
ただし、jxr はブラウザで表示できない
ary = %w(png jpg jpeg gif webp) # 画像の拡張子
extname = "JPeg"
extname.downcase! # 小文字へ変換する
p ary.include? extname # 含まれている?
#=> true
拡張子を小文字に変換してから、それが配列内にあるかどうか
ただし、jxr はブラウザで表示できない
ary = %w(png jpg jpeg gif webp) # 画像の拡張子
extname = "JPeg"
extname.downcase! # 小文字へ変換する
p ary.include? extname # 含まれている?
#=> true
297デフォルトの名無しさん
2021/10/24(日) 16:09:48.63ID:nICPJrT1298デフォルトの名無しさん
2021/10/24(日) 18:40:19.51ID:ugUepsfY vscodeでdjangoやってます
views.pyでrenderの第2引数に指定したhtmlやreverseの第1引数のアプリ名:urlネームに書いてあるその場所にGo toしたいのですが方法ありますか?
djangoに限らずpath書いてないとgo to definitionできない感じですか?
views.pyでrenderの第2引数に指定したhtmlやreverseの第1引数のアプリ名:urlネームに書いてあるその場所にGo toしたいのですが方法ありますか?
djangoに限らずpath書いてないとgo to definitionできない感じですか?
299デフォルトの名無しさん
2021/10/25(月) 17:14:48.98ID:MOhV5cOT class hoge:
_items = []
_def each(self,callback=None):
__res=[]
___argcount=callback.__code__.co_argcount
__if _argcount==1:
___for item in self.items:
____res.append(callback(item))
__elif _argcount==2:
___for i,item in enumerate(self.items):
____res.append(callback(i,item))
__return res
h=hoge()
h.items = ["a","b","c"]
print( h.each(lambda item: "_"+str(item)) )
print( h.each(lambda i,item: str(i)+"_"+str(item)) )
#['_a', '_b', '_c']
#['0_a', '1_b', '2_c']
callbackでindexも取りたいので↑のように書いたのですが
こうするしかないのでしょうか?
今は引数は、(item)と(i,item)しかとりませんが
仮にcallback内でitemやindexとは別の何か引数を引き継ぎたくなったという場合
どう拡張していけばいいのかな、と思いました
_items = []
_def each(self,callback=None):
__res=[]
___argcount=callback.__code__.co_argcount
__if _argcount==1:
___for item in self.items:
____res.append(callback(item))
__elif _argcount==2:
___for i,item in enumerate(self.items):
____res.append(callback(i,item))
__return res
h=hoge()
h.items = ["a","b","c"]
print( h.each(lambda item: "_"+str(item)) )
print( h.each(lambda i,item: str(i)+"_"+str(item)) )
#['_a', '_b', '_c']
#['0_a', '1_b', '2_c']
callbackでindexも取りたいので↑のように書いたのですが
こうするしかないのでしょうか?
今は引数は、(item)と(i,item)しかとりませんが
仮にcallback内でitemやindexとは別の何か引数を引き継ぎたくなったという場合
どう拡張していけばいいのかな、と思いました
300デフォルトの名無しさん
2021/10/25(月) 18:13:43.66ID:YeRcjGgP *argsとか**kwargsで可変長の引数を取るようにすればいい、とかそういう話か?
301デフォルトの名無しさん
2021/10/25(月) 19:23:30.01ID:MOhV5cOT >>300
すこし違います
*指定だとインスタンス側でcallbackを書くときに
常にcallback(*arg)とか、callback(**kwards)とかを書かなければならない気がします
>>299の例の場合
each対象はself.itemsなのでcallbackの中身を書くときの引数は
callback(ここでの引数名はitemsに入る値に関係する名前)
にしたいのです
299の例だと拡張されたのはインデックスのみなので、
インデックスが欲しいかほしくないかに関わらずインデックスを取ることにすると
class hoge:
_items = []
_def each(self,callback=None):
__res=[]
__for i,item in enumerate(self.items):
___res.append(callback(item,i))#itemの方が使用頻度高いので引数を逆に渡す
__return res
h=hoge()
h.items = ["a","b","c"]
print( h.each(lambda item: "_"+str(item)) )#エラー
print( h.each(lambda item,i: str(i)+"_"+str(item)) )
と書けると思いましたが
無い引数を渡すとエラーが出てしまいました
この辺の慣習とかあるのか、そもそもそんなことしなくてもいい(継承できるようなテクニックがある)のか
というのがわからないので
iを使わない場合も、callback(i,item)と書けばいいのでは?とか
index情報を持ったitemオブジェクトを返却して、item.itemでitem取得
みたいな方法は保留してます
今考えているのは
callback.__code__.co_varnames[:callback.__code__.co_argcount]
使ってみたりの条件分岐です
すこし違います
*指定だとインスタンス側でcallbackを書くときに
常にcallback(*arg)とか、callback(**kwards)とかを書かなければならない気がします
>>299の例の場合
each対象はself.itemsなのでcallbackの中身を書くときの引数は
callback(ここでの引数名はitemsに入る値に関係する名前)
にしたいのです
299の例だと拡張されたのはインデックスのみなので、
インデックスが欲しいかほしくないかに関わらずインデックスを取ることにすると
class hoge:
_items = []
_def each(self,callback=None):
__res=[]
__for i,item in enumerate(self.items):
___res.append(callback(item,i))#itemの方が使用頻度高いので引数を逆に渡す
__return res
h=hoge()
h.items = ["a","b","c"]
print( h.each(lambda item: "_"+str(item)) )#エラー
print( h.each(lambda item,i: str(i)+"_"+str(item)) )
と書けると思いましたが
無い引数を渡すとエラーが出てしまいました
この辺の慣習とかあるのか、そもそもそんなことしなくてもいい(継承できるようなテクニックがある)のか
というのがわからないので
iを使わない場合も、callback(i,item)と書けばいいのでは?とか
index情報を持ったitemオブジェクトを返却して、item.itemでitem取得
みたいな方法は保留してます
今考えているのは
callback.__code__.co_varnames[:callback.__code__.co_argcount]
使ってみたりの条件分岐です
302デフォルトの名無しさん
2021/10/25(月) 20:51:56.35ID:LSRIz4jp リスト内包表記で得られたリスト
[’金額¥150’,’金額¥222’,’’,’’,’金額¥0’,’金額¥465’]のうち、’’を’金額¥0’に置換するにはどのようにしたらいいですか?
[money.replace("","¥0") for money in moneys]ではだめでした。
[’金額¥150’,’金額¥222’,’’,’’,’金額¥0’,’金額¥465’]のうち、’’を’金額¥0’に置換するにはどのようにしたらいいですか?
[money.replace("","¥0") for money in moneys]ではだめでした。
303デフォルトの名無しさん
2021/10/25(月) 21:10:11.44ID:utaK2F0U >>302
>>> ['金額¥0' if money == '' else money for money in moneys ]
['金額¥150', '金額¥222', '金額¥0', '金額¥0', '金額\0', '金額\465']
ていうか、動くコード貼れよ
>>> ['金額¥0' if money == '' else money for money in moneys ]
['金額¥150', '金額¥222', '金額¥0', '金額¥0', '金額\0', '金額\465']
ていうか、動くコード貼れよ
304デフォルトの名無しさん
2021/10/25(月) 21:43:12.61ID:i1JdqDPj > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
在日朝鮮人は強姦と窃盗してる犯罪者!
在日朝鮮人は皆殺しにすべし!
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
在日朝鮮人は強姦と窃盗してる犯罪者!
在日朝鮮人は皆殺しにすべし!
305デフォルトの名無しさん
2021/10/25(月) 22:45:53.76ID:sv7Zp2+/ >>301
コールバック関数のシグニチャが違えば違うAPIを用意するのが普通
Pythonに限らずJS以外の言語ではそれが普通だと思う
Rubyで言うeachとeach_with_index
HogeをIterableにして
print([f”_{item}” for item in hoge]) や
print([f”{i}_{item}” for i, item in enumerate(hoge)]) することのほうがPythonでは多いと思う
コールバック関数のシグニチャが違えば違うAPIを用意するのが普通
Pythonに限らずJS以外の言語ではそれが普通だと思う
Rubyで言うeachとeach_with_index
HogeをIterableにして
print([f”_{item}” for item in hoge]) や
print([f”{i}_{item}” for i, item in enumerate(hoge)]) することのほうがPythonでは多いと思う
306デフォルトの名無しさん
2021/10/26(火) 18:26:21.05ID:58PW1UcQ javascriptに限った話じゃないんだけど、
Max Retry、っていったら純粋に"リトライ"の回数でカウントする?それとも総実行回数を指す?
MaxRetry=5なら
初回の1回含めて最大6回やるのか、5回なのか。
なんか気になって。
Max Retry、っていったら純粋に"リトライ"の回数でカウントする?それとも総実行回数を指す?
MaxRetry=5なら
初回の1回含めて最大6回やるのか、5回なのか。
なんか気になって。
307デフォルトの名無しさん
2021/10/26(火) 18:34:57.12ID:qzAOjqD0 そんな名前絶対につけないけど、その名前なら6回でしょ
308デフォルトの名無しさん
2021/10/26(火) 19:14:57.68ID:BNqSw8pO 最初の試行は"Re"tryじゃないから6回だわな
309デフォルトの名無しさん
2021/10/27(水) 13:56:39.52ID:0D9sPP+O ???????????????????
?????????????????????????????
?????????????????????????????
310デフォルトの名無しさん
2021/10/27(水) 16:50:18.70ID:rwCBpLuv pyodbcの接続時にスキーマまで指定する方法ありませんか
接続文字列に入れてもエラーになってしまいます
接続文字列に入れてもエラーになってしまいます
311デフォルトの名無しさん
2021/10/27(水) 18:14:05.36ID:CtZ0vCqQ 変数の名付けでちょうど良い具合がわからない
たとえば文字列の長さの変数をstr1_wordlengthとしたんだけど
---------------------
str1 = 'apple'
str1_wordlength = len(str1) # 5
#文字列と文字数を格納する辞書dic1をつくる
dic1 = {str1_wordlength: str1} # {5: 'apple'}
---------------------
「str1_wordlength ならたぶん意味が通じると思うけど長過ぎじゃね? 毎回これ書くのか?」とも思うし
この変数「名付けするの面倒だからいっそ a でいいんじゃね?」とも思うし
「そもそも変数作る必要あるか? len(str1)は変数名より短いじゃん?」とも思うし
練習問題やってるうちはぶっちゃけ何でも良いと思うんだが
後々を考えるとどうしたらいいんだろうな、と
たとえば文字列の長さの変数をstr1_wordlengthとしたんだけど
---------------------
str1 = 'apple'
str1_wordlength = len(str1) # 5
#文字列と文字数を格納する辞書dic1をつくる
dic1 = {str1_wordlength: str1} # {5: 'apple'}
---------------------
「str1_wordlength ならたぶん意味が通じると思うけど長過ぎじゃね? 毎回これ書くのか?」とも思うし
この変数「名付けするの面倒だからいっそ a でいいんじゃね?」とも思うし
「そもそも変数作る必要あるか? len(str1)は変数名より短いじゃん?」とも思うし
練習問題やってるうちはぶっちゃけ何でも良いと思うんだが
後々を考えるとどうしたらいいんだろうな、と
312デフォルトの名無しさん
2021/10/27(水) 18:15:13.83ID:sQbCpqyG >>310
DSN側で設定しておくんじゃない?
https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-databases
ここのDB別の文書読んでみて
DSN側で設定しておくんじゃない?
https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-databases
ここのDB別の文書読んでみて
313デフォルトの名無しさん
2021/10/28(木) 02:31:25.25ID:bnoFQANv strの特殊メソッドつかったらprintにも反応するんですね・・
class pr:
_value="aa"
_def __str__(self):
__return self.value+"bb"
p=pr()
print(p)
def __str__の中にエラー処理いれてたらprintでエラー引っかかっていて
気づくのに時間かかりました・・
class pr:
_value="aa"
_def __str__(self):
__return self.value+"bb"
p=pr()
print(p)
def __str__の中にエラー処理いれてたらprintでエラー引っかかっていて
気づくのに時間かかりました・・
314デフォルトの名無しさん
2021/10/28(木) 04:45:57.20ID:Nbft1WLw PythonやDjangoでオススメの本ありますか?
315デフォルトの名無しさん
2021/10/28(木) 06:56:16.71ID:dSweiYMb 特殊メソッドは使わんほうが無難
ていうかPythonはクラス自体使わない方がいい
昔ながらの構造化言語としてシンプルに使うのがベスト
ていうかPythonはクラス自体使わない方がいい
昔ながらの構造化言語としてシンプルに使うのがベスト
316デフォルトの名無しさん
2021/10/28(木) 07:27:59.28ID:p07hGs8T データを構造化するためにclassを使うだろ
317デフォルトの名無しさん
2021/10/28(木) 07:52:44.16ID:xUl7Twuj 今どきクラス使うなとか言うアホは放置で
318デフォルトの名無しさん
2021/10/28(木) 08:10:34.09ID:X05RtFia 関数間で状態を保持するときにのみクラスは有効
319デフォルトの名無しさん
2021/10/28(木) 10:18:44.69ID:MKFZM1zj >>312神
結果的にはファイルdnsで出来ますた
結果的にはファイルdnsで出来ますた
320デフォルトの名無しさん
2021/10/28(木) 12:42:04.06ID:RV1LSDaq PythonでマイクロソフトAccessをDBとして使う実例は多いけど、単にAccessをマクロ起動かける例が無いんです
誰か成功した人は居ますか?
誰か成功した人は居ますか?
321デフォルトの名無しさん
2021/10/28(木) 12:56:15.77ID:XVuwIiyB Access側のマクロのエントリポイント用の関数を造っておく
pywin32でその関数を呼ぶ
pywin32でその関数を呼ぶ
322デフォルトの名無しさん
2021/10/28(木) 13:09:38.96ID:XVuwIiyB323デフォルトの名無しさん
2021/10/28(木) 13:19:37.36ID:RV1LSDaq324デフォルトの名無しさん
2021/10/28(木) 14:14:58.06 from datetime import datetime
now=str(datetime.now())
#2021-10-28 05:12:03.857881
#この文字列を、datetime型に変換したい
_at=now.split(" ")
_at[0]=_at[0].split("-")
_at[1]=_at[1].split(":")
print( datetime(int(_at[0][0]),int(_at[0][1]),int(_at[0][2]),int(_at[1][0]),int(_at[1][1]),int(float(_at[1][2].split("+")[0])) ) )
としたのですがこれってスマートなやり方ではないですよね・・?
ようはstr(datetime)でフォーマットが決まってるのだから、もっと簡単にその文字列からdatetime型に変換できたらいいのに
と思うのですが・・
now=str(datetime.now())
#2021-10-28 05:12:03.857881
#この文字列を、datetime型に変換したい
_at=now.split(" ")
_at[0]=_at[0].split("-")
_at[1]=_at[1].split(":")
print( datetime(int(_at[0][0]),int(_at[0][1]),int(_at[0][2]),int(_at[1][0]),int(_at[1][1]),int(float(_at[1][2].split("+")[0])) ) )
としたのですがこれってスマートなやり方ではないですよね・・?
ようはstr(datetime)でフォーマットが決まってるのだから、もっと簡単にその文字列からdatetime型に変換できたらいいのに
と思うのですが・・
325デフォルトの名無しさん
2021/10/28(木) 14:17:08.33ID:Fr3tDLQH326デフォルトの名無しさん
2021/10/28(木) 14:17:55.41ID:JRDKMzLv datetime.fromisoformat
327デフォルトの名無しさん
2021/10/28(木) 16:09:10.81328デフォルトの名無しさん
2021/10/28(木) 17:41:33.23ID:Nbft1WLw329デフォルトの名無しさん
2021/10/28(木) 17:46:38.21ID:IFkzxSt8 テキストとかだと
list = [0]*10 は [0,0,0,0,0,0,0,0,0,0] になるから初期値作るのに使えるぞ
とか書いてあるのに
list1 = [[0,0,0]]*3
list2 = [[0,0,0],[0,0,0],[0,0,0]]
list3 = [[0,0,0]] + [[0,0,0]] + [[0,0,0]]
print(list1 == list2)
print(list2 == list3)
--------------------
True
True
この結果は両方Trueなんだけど
list1[0][0] = 1
list2[0][0] = 1
list3[0][0] = 1
print(list1)
print(list2)
print(list3)
--------------------------------
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
こうなるのって結構罠じゃね?
list = [0]*10 は [0,0,0,0,0,0,0,0,0,0] になるから初期値作るのに使えるぞ
とか書いてあるのに
list1 = [[0,0,0]]*3
list2 = [[0,0,0],[0,0,0],[0,0,0]]
list3 = [[0,0,0]] + [[0,0,0]] + [[0,0,0]]
print(list1 == list2)
print(list2 == list3)
--------------------
True
True
この結果は両方Trueなんだけど
list1[0][0] = 1
list2[0][0] = 1
list3[0][0] = 1
print(list1)
print(list2)
print(list3)
--------------------------------
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
こうなるのって結構罠じゃね?
330デフォルトの名無しさん
2021/10/28(木) 17:54:29.27ID:Mv6YjZts listのコピーはcopyでやれ定期やね
331デフォルトの名無しさん
2021/10/28(木) 17:54:51.49ID:Nbft1WLw332デフォルトの名無しさん
2021/10/28(木) 20:34:34.97ID:o6HAoERy https://gist.github.com/srndpty/43c76d74188884f25716f25a44ef0818
だれか、これpythonに翻訳して。
だれか、これpythonに翻訳して。
333デフォルトの名無しさん
2021/10/28(木) 21:08:20.17ID:WnlLUDNQ os.walkで一発だろ。
334デフォルトの名無しさん
2021/10/28(木) 21:20:53.36ID:3jEWrZM3 django2.2、vscode、venvでプロジェクト作りました
models.py
の
from django import models
が
Import "django.utils" could not be resolved from source Pylance
とエラーになります
解決策ありますか?
因みにdjango3.2で作ったプロジェクトではエラーでませんがpythonインタープリターがPython3.9.7 64-bit ('mysite': venv) ./mysite/bin/pythonとなってます
2.2でのプロジェクトではPython 3.9.7 64-bit /opt/homebrew/bin/python3となってます
models.py
の
from django import models
が
Import "django.utils" could not be resolved from source Pylance
とエラーになります
解決策ありますか?
因みにdjango3.2で作ったプロジェクトではエラーでませんがpythonインタープリターがPython3.9.7 64-bit ('mysite': venv) ./mysite/bin/pythonとなってます
2.2でのプロジェクトではPython 3.9.7 64-bit /opt/homebrew/bin/python3となってます
335デフォルトの名無しさん
2021/10/29(金) 00:14:03.10ID:qT0pkZDa >>329
Ruby では「たのしいRuby」みたいな入門書に書いてあるけど、
配列を初期化する際に、ブロックを渡さないと、
浅いコピー、つまり参照だけのコピーとなり、
実体が1つしかないので、同じオブジェクトを指してしまう
初期化時にブロックを渡すと、3つの実体が作られる
ary = Array.new( 3, [ 0, 0, 0 ] )
ary[ 0 ][ 1 ] = 1
p ary #=> [ [0, 1, 0], [0, 1, 0], [0, 1, 0] ]
ary2 = Array.new( 3 ) { [ 0, 0, 0 ] }
ary2[ 0 ][ 1 ] = 1
p ary2 #=> [ [0, 1, 0], [0, 0, 0], [0, 0, 0] ]
Ruby では「たのしいRuby」みたいな入門書に書いてあるけど、
配列を初期化する際に、ブロックを渡さないと、
浅いコピー、つまり参照だけのコピーとなり、
実体が1つしかないので、同じオブジェクトを指してしまう
初期化時にブロックを渡すと、3つの実体が作られる
ary = Array.new( 3, [ 0, 0, 0 ] )
ary[ 0 ][ 1 ] = 1
p ary #=> [ [0, 1, 0], [0, 1, 0], [0, 1, 0] ]
ary2 = Array.new( 3 ) { [ 0, 0, 0 ] }
ary2[ 0 ][ 1 ] = 1
p ary2 #=> [ [0, 1, 0], [0, 0, 0], [0, 0, 0] ]
336デフォルトの名無しさん
2021/10/29(金) 00:29:20.81ID:qT0pkZDa Ruby on Rails では、Node.js も使うから、
日本人が作った、バージョンマネージャーのanyenv で、
19 言語を、統一した使い方で管理している
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
which ruby
/home/<ユーザー名>/.anyenv/envs/rbenv/shims/ruby
which node
/home/<ユーザー名>/.anyenv/envs/nodenv/shims/node
venv はPython の標準だけど、多言語を使う際、
各言語のバージョンマネージャーの使い方が異なるから、覚えられない
基本、主要フレームワーク・ゲームエンジンなどは、掌田津耶乃が本を出している。
ただし、猿向きで簡単だけど、知識は少なめだから、1冊目には良い
例えば、Railsでは黒田努の本の方が、本格的
日本人が作った、バージョンマネージャーのanyenv で、
19 言語を、統一した使い方で管理している
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
which ruby
/home/<ユーザー名>/.anyenv/envs/rbenv/shims/ruby
which node
/home/<ユーザー名>/.anyenv/envs/nodenv/shims/node
venv はPython の標準だけど、多言語を使う際、
各言語のバージョンマネージャーの使い方が異なるから、覚えられない
基本、主要フレームワーク・ゲームエンジンなどは、掌田津耶乃が本を出している。
ただし、猿向きで簡単だけど、知識は少なめだから、1冊目には良い
例えば、Railsでは黒田努の本の方が、本格的
337デフォルトの名無しさん
2021/10/29(金) 02:18:31.85ID:FnWw468S338デフォルトの名無しさん
2021/10/29(金) 04:57:41.89ID:oTw6PnKg vscodeのpylanceのauto importが機能してないんだけど皆は使えてるの?
339デフォルトの名無しさん
2021/10/29(金) 10:21:09.67ID:fhDC1KF/ seleniumを起動してchromeドライバから下記を行うとyahooはすぐにページ接続して遷移できるのに楽天はページ接続に時間がかかります。
seleniumではなく、普通にchromeを起動して手動でurlを入力する場合は楽天もすぐにページに接続できます。
原因や対応わかるかた教えてください。
janlist = ["4976365125510","4976365200934","4976365158013"]
for jan in janlist:
url=f"https://search.rakuten.co.jp/search/mall/{jan}/?filter=fs-fsl&s=2"
driver.get(url)
url=f"https://shopping.yahoo.co.jp/search?p={jan}&X=2"
driver.get(url)
seleniumではなく、普通にchromeを起動して手動でurlを入力する場合は楽天もすぐにページに接続できます。
原因や対応わかるかた教えてください。
janlist = ["4976365125510","4976365200934","4976365158013"]
for jan in janlist:
url=f"https://search.rakuten.co.jp/search/mall/{jan}/?filter=fs-fsl&s=2"
driver.get(url)
url=f"https://shopping.yahoo.co.jp/search?p={jan}&X=2"
driver.get(url)
340デフォルトの名無しさん
2021/10/29(金) 12:21:35.03ID:koELjqeu Selenium内のコンソールログを確認
341デフォルトの名無しさん
2021/10/29(金) 12:24:28.38ID:eVsBtFEb コンソールログってどうやって確認するの?
342デフォルトの名無しさん
2021/10/29(金) 12:32:43.97ID:9CukeuuL >333
os.walk 勉強中。
すっごい便利機能だけど高機能すぎて、forループでサブフォルダーを回していくつもりだったから困惑。
どうすればいいんだ!
os.walk 勉強中。
すっごい便利機能だけど高機能すぎて、forループでサブフォルダーを回していくつもりだったから困惑。
どうすればいいんだ!
343デフォルトの名無しさん
2021/10/29(金) 17:17:25.29ID:d8BIZQAf classの__init__()するclassmethodが使いたいんだけどできますか?
c = Class()
c.method()
を一行で書きたいだけです
Class.method()
c = Class()
c.method()
を一行で書きたいだけです
Class.method()
344デフォルトの名無しさん
2021/10/29(金) 17:24:18.67ID:R4ZBjJpK345デフォルトの名無しさん
2021/10/29(金) 18:16:59.51ID:zHkN81gu pythonの資格って難しいですか?
346デフォルトの名無しさん
2021/10/29(金) 20:26:40.87ID:/8Rm9/az347デフォルトの名無しさん
2021/10/29(金) 20:36:40.03ID:1Pi4hxs1 >>343
import this
import this
348デフォルトの名無しさん
2021/10/29(金) 21:26:19.76ID:AIexy1X9 このページの404エラーの箇所をベースに学習しています
https://docs.djangoproject.com/ja/3.2/intro/tutorial03/
DjangoにHttp404というクラスがあります
Exceptionクラスを継承しています(これはBaseExceptionを継承しています)
コントローラーにてtry文のexceptの中に
raise Http404("これは404です")
を書くと推移先の画面にはPage Not found(404)と表示されます
しかし自分でExceptionを継承した、passが書かれたクラスAを作って上記と同様にこのクラスをraiseすると画面にはA at /polls/
これは404です
と表示されます(Page Not found(404)とは表示されない)
一体どの段階でHttp404クラスに特別な実装が行われたんですか?
https://docs.djangoproject.com/ja/3.2/intro/tutorial03/
DjangoにHttp404というクラスがあります
Exceptionクラスを継承しています(これはBaseExceptionを継承しています)
コントローラーにてtry文のexceptの中に
raise Http404("これは404です")
を書くと推移先の画面にはPage Not found(404)と表示されます
しかし自分でExceptionを継承した、passが書かれたクラスAを作って上記と同様にこのクラスをraiseすると画面にはA at /polls/
これは404です
と表示されます(Page Not found(404)とは表示されない)
一体どの段階でHttp404クラスに特別な実装が行われたんですか?
349デフォルトの名無しさん
2021/10/29(金) 23:15:06.20ID:krcALBmR350デフォルトの名無しさん
2021/10/29(金) 23:43:42.33ID:ZYpuK0cb >>349
おお!
どうもです
後で見てみます
そのexeption.pyでviewなどでraiseされた例外を捕まえてフロントに適切なHttpResponseオブジェクトを送ってるんですかね?あとでそのモジュール見てみます
おお!
どうもです
後で見てみます
そのexeption.pyでviewなどでraiseされた例外を捕まえてフロントに適切なHttpResponseオブジェクトを送ってるんですかね?あとでそのモジュール見てみます
351デフォルトの名無しさん
2021/10/30(土) 01:26:36.60ID:fDTZDMBU >>342
馬鹿には無理
馬鹿には無理
352デフォルトの名無しさん
2021/10/30(土) 10:12:33.06ID:V5MhI+QS >>343
即席だけど何度も使うつもりなら、シングルトンにしておいた方がいいだろう。
class Hoge:
__instance = None
def __new__(cls):
if cls.__instance is None:
cls.__instance = object.__new__(cls)
return cls.__instance
Hoge().method()
即席だけど何度も使うつもりなら、シングルトンにしておいた方がいいだろう。
class Hoge:
__instance = None
def __new__(cls):
if cls.__instance is None:
cls.__instance = object.__new__(cls)
return cls.__instance
Hoge().method()
353デフォルトの名無しさん
2021/10/30(土) 11:36:54.55ID:a9WSKAoR class Klass:
@classmethod
def method(c):
return Klass()
これじゃいかんの
@classmethod
def method(c):
return Klass()
これじゃいかんの
354デフォルトの名無しさん
2021/10/30(土) 12:49:58.82ID:xUY0JK8T 他クラスのインスタンスを生成するならともかく
自クラスなら__init__で対応したほうがいい
自クラスなら__init__で対応したほうがいい
355デフォルトの名無しさん
2021/10/30(土) 17:28:58.03ID:6LdaSTDR >351
ありがとう。walkの使い方わかってきたよ。
フォルダの深さが1段ならできた。2段だと想定外の動きになるのでまだ検討が必要。
多層になるとforで回して掘っていった方が良いのかな?
ありがとう。walkの使い方わかってきたよ。
フォルダの深さが1段ならできた。2段だと想定外の動きになるのでまだ検討が必要。
多層になるとforで回して掘っていった方が良いのかな?
356デフォルトの名無しさん
2021/10/31(日) 02:00:51.68ID:hGI7wBpw Ruby には、walk 無いから、glob でやってる
VB のコードでは、しょっちゅう再帰で、子の階層へ降りていく。
これが典型的な馬鹿の見本w
VB のコードでは、しょっちゅう再帰で、子の階層へ降りていく。
これが典型的な馬鹿の見本w
357デフォルトの名無しさん
2021/10/31(日) 03:36:26.99ID:Fmzj87Tl type(a)で
<class 'sqlalchemy.sql.elements.BooleanClauseList'>
と出るオブジェクトaを
if a==None:
みたいにifに入れたら
Boolean value of this clause is not defined
ってエラーがでました
条件分岐に入れることでそもそもエラーがでる
という今まで経験したことないエラーが出ました
こういう場合、どうやって条件分岐すればいいのでしょうか
<class 'sqlalchemy.sql.elements.BooleanClauseList'>
と出るオブジェクトaを
if a==None:
みたいにifに入れたら
Boolean value of this clause is not defined
ってエラーがでました
条件分岐に入れることでそもそもエラーがでる
という今まで経験したことないエラーが出ました
こういう場合、どうやって条件分岐すればいいのでしょうか
358デフォルトの名無しさん
2021/10/31(日) 04:35:13.37ID:oq4cmHqY a is None
359デフォルトの名無しさん
2021/10/31(日) 06:55:40.09ID:wNGz0WbD 関数Aからしか呼ばれないとわかっている関数Bがある場合、
BをAの内側に定義してしまうスタイルってありですかね
こうすれば見た目にも局所的であるとわかるし、
Aの外からBを呼ぶことはできないから安全と思うのですが
※関数内関数はクロージャっていう機能でも使うらしいんですが、
そっちはよくわからんので置いておくとして…
BをAの内側に定義してしまうスタイルってありですかね
こうすれば見た目にも局所的であるとわかるし、
Aの外からBを呼ぶことはできないから安全と思うのですが
※関数内関数はクロージャっていう機能でも使うらしいんですが、
そっちはよくわからんので置いておくとして…
360デフォルトの名無しさん
2021/10/31(日) 12:40:55.03ID:Fmzj87Tl >>358
ありがとうございますできました!
なぜそうなるのかはわかりませんが一応検証です
from sqlalchemy import and_,or_,text
id_q=or_(*[text("id=1"),text("id=2")])
name_q=or_(*[text('name="tarou"'),text('name="tanaka"')])
q=and_(*[id_q,name_q])
def ck1(q):
_try:
__if q is None:
___print("q is None")
__else:
___print(q)
_except Exception as e:
__print(e)
def ck2(q):
_try:
__if q==None:
___print("q is None")
__else:
___print(q)
_except Exception as e:
__print(e)
print("### is None")
ck1(q)
ck1(None)
print("")
print("### ==None")
ck2(q)
ck2(None)
### is None
(id=1 OR id=2) AND (name="tarou" OR name="tanaka")
q is None
### ==None
Boolean value of this clause is not defined
q is None
ありがとうございますできました!
なぜそうなるのかはわかりませんが一応検証です
from sqlalchemy import and_,or_,text
id_q=or_(*[text("id=1"),text("id=2")])
name_q=or_(*[text('name="tarou"'),text('name="tanaka"')])
q=and_(*[id_q,name_q])
def ck1(q):
_try:
__if q is None:
___print("q is None")
__else:
___print(q)
_except Exception as e:
__print(e)
def ck2(q):
_try:
__if q==None:
___print("q is None")
__else:
___print(q)
_except Exception as e:
__print(e)
print("### is None")
ck1(q)
ck1(None)
print("")
print("### ==None")
ck2(q)
ck2(None)
### is None
(id=1 OR id=2) AND (name="tarou" OR name="tanaka")
q is None
### ==None
Boolean value of this clause is not defined
q is None
361デフォルトの名無しさん
2021/10/31(日) 13:07:50.21ID:F/sAbtyW >>356
だよな。VBやってるやつはrubyの次に馬鹿だわ
だよな。VBやってるやつはrubyの次に馬鹿だわ
362デフォルトの名無しさん
2021/10/31(日) 13:21:43.76ID:e6cnICXj363デフォルトの名無しさん
2021/10/31(日) 14:21:08.43ID:a/o9PbUa PILのimageオブジェクトを複数扱うとき
その画像固有の色々なデータをどこかに保管しといて使い回すんだけど
sizeとかのプロパティと同じじゃんと思ってimageオブジェクトごとにインスタンス変数としてぶちこんでたんです
im1.x_rate = yyy
みたいな。
重いデータを押し付けるわけでないので現状別に困ってはいないけど、なにか問題ありますか? アクセス速度とか、データ保持周りの都合とかで
普通は辞書とかで管理しますよね
あとこういうインスタンスに、本来無いメンバーをねじ込むことができるのって、他の言語にはあまりない特徴なのですか?
その画像固有の色々なデータをどこかに保管しといて使い回すんだけど
sizeとかのプロパティと同じじゃんと思ってimageオブジェクトごとにインスタンス変数としてぶちこんでたんです
im1.x_rate = yyy
みたいな。
重いデータを押し付けるわけでないので現状別に困ってはいないけど、なにか問題ありますか? アクセス速度とか、データ保持周りの都合とかで
普通は辞書とかで管理しますよね
あとこういうインスタンスに、本来無いメンバーをねじ込むことができるのって、他の言語にはあまりない特徴なのですか?
364デフォルトの名無しさん
2021/10/31(日) 14:52:05.62ID:e6cnICXj365デフォルトの名無しさん
2021/10/31(日) 15:21:43.12ID:Q9Xu5pvX >>364
勉強になります
勉強になります
366デフォルトの名無しさん
2021/10/31(日) 17:14:53.49ID:Yc4PEJna 動的言語のいいところでもあり悪いところでもある。
当然こういうのを徹底的に嫌う人はいる。
当然こういうのを徹底的に嫌う人はいる。
367デフォルトの名無しさん
2021/10/31(日) 17:19:32.57ID:Q9Xu5pvX まあ入れたかどうか分かりづらい
自分で全部把握してないとしんどいですね
あとpylanceがすげえ怒ってる
自分で全部把握してないとしんどいですね
あとpylanceがすげえ怒ってる
368デフォルトの名無しさん
2021/10/31(日) 17:24:06.26ID:WrAvX4Kw 彼女によく言われます
> 入れたかどうか分かりづらい
> 入れたかどうか分かりづらい
369デフォルトの名無しさん
2021/10/31(日) 17:34:27.39ID:sRnAlDBM つづり間違いを許容する言語なら避けられない
370デフォルトの名無しさん
2021/10/31(日) 18:11:50.92ID:4KbMhR6u バグの温床
371デフォルトの名無しさん
2021/11/01(月) 11:52:01.98ID:f7xOE2SJ def _is(f):
_if f:
__return True
_else:
__raise Exception("error")
try:
__is(True)
_print("success")
except Exception as e:
_print(e)
何もしない、もしくはエラーを吐く
という_is()の行が、一行で完結していると
個人的に可視性が悪いように感じるのですが工夫や慣習とかあるのでしょうか?
例えば_isをTrueもしくはFalseを返すようにして
if not _is(True):
_raise Exception("error")
みたいにすれば「ここで条件分岐していますよ」というのがパット見で
どう分岐しているのかがわかります
しかし関数実行で一行で完結してるだけだと何してるかわからないし
関数名に「エラーかどうかチェックし、エラーがあるならエラーを吐く」的な名前を付けるにも
どういうのが適切なのかわかりません
_if f:
__return True
_else:
__raise Exception("error")
try:
__is(True)
_print("success")
except Exception as e:
_print(e)
何もしない、もしくはエラーを吐く
という_is()の行が、一行で完結していると
個人的に可視性が悪いように感じるのですが工夫や慣習とかあるのでしょうか?
例えば_isをTrueもしくはFalseを返すようにして
if not _is(True):
_raise Exception("error")
みたいにすれば「ここで条件分岐していますよ」というのがパット見で
どう分岐しているのかがわかります
しかし関数実行で一行で完結してるだけだと何してるかわからないし
関数名に「エラーかどうかチェックし、エラーがあるならエラーを吐く」的な名前を付けるにも
どういうのが適切なのかわかりません
372デフォルトの名無しさん
2021/11/01(月) 12:51:54.43ID:MaHd86e9 isはboolを返すようにする
if is_foo()
else
try:
check_foo()
except
あるいは
try_foo()
if try_foo()
else
が自然
if is_foo()
else
try:
check_foo()
except
あるいは
try_foo()
if try_foo()
else
が自然
373デフォルトの名無しさん
2021/11/01(月) 12:53:04.27ID:1SV0gAru374デフォルトの名無しさん
2021/11/01(月) 14:26:50.37ID:z/x9VzKb 文法以前に本人の頭が混乱してるな
病院池
病院池
375デフォルトの名無しさん
2021/11/01(月) 16:23:27.64ID:SSiHi0ki まずはPythonスレでインデントをアンダーバーで代替するのやめて全角空白「 」にしたらどうかな?
376デフォルトの名無しさん
2021/11/01(月) 16:25:48.35ID:4nNYTPSv >>375
それ
それ
377デフォルトの名無しさん
2021/11/01(月) 16:26:48.66ID:4nNYTPSv と思ったら全角スペースかい
なんでやねん
なんでやねん
378デフォルトの名無しさん
2021/11/01(月) 16:50:34.49ID:SSiHi0ki379デフォルトの名無しさん
2021/11/01(月) 17:10:45.07ID:+PGSxGGW class Cls(object):
def __new__(cls):
self = object.__new__(cls)
print('__new__ :', str(id(self)))
return self
def __init__(self):
print('__init__:', str(id(self)))
self.attr = 'Hello, world!'
obj = Cls()
def __new__(cls):
self = object.__new__(cls)
print('__new__ :', str(id(self)))
return self
def __init__(self):
print('__init__:', str(id(self)))
self.attr = 'Hello, world!'
obj = Cls()
380デフォルトの名無しさん
2021/11/01(月) 17:11:37.02ID:+PGSxGGW >>378
chmateだと大丈夫っぽい
chmateだと大丈夫っぽい
381デフォルトの名無しさん
2021/11/01(月) 17:17:16.17 テスト
連続全角スペース 2個
「 」
連続半角スペース 2個
「 」
連続アンダーバー 2個
「__」
連続全角スペース 2個
「 」
連続半角スペース 2個
「 」
連続アンダーバー 2個
「__」
382デフォルトの名無しさん
2021/11/01(月) 17:19:02.31 続いてテスト
先頭空白の、
連続全角スペース 2個
」
連続半角スペース 2個
」
連続アンダーバー 2個
__
先頭空白の、
連続全角スペース 2個
」
連続半角スペース 2個
」
連続アンダーバー 2個
__
383デフォルトの名無しさん
2021/11/01(月) 17:22:16.44ID:er84fHxI 2ch初心者かてw
384デフォルトの名無しさん
2021/11/01(月) 17:33:20.31ID:usQd0Ibl まあ
全角スペース積んで
それらしいインデント表現できるなら
とはいえ全角スペースって…
あと>>379はパソコンで表示できねーのでやめとけ
全角スペース積んで
それらしいインデント表現できるなら
とはいえ全角スペースって…
あと>>379はパソコンで表示できねーのでやめとけ
385デフォルトの名無しさん
2021/11/01(月) 17:46:32.90ID:bBJfHO04 コーディングでアンダーバーってあんま聞かない
386デフォルトの名無しさん
2021/11/01(月) 17:48:52.19 ちなみに過去スレみても全角スペースインデント派が極端に少ないように思えるけどなぜ
387デフォルトの名無しさん
2021/11/01(月) 17:50:38.30ID:SSiHi0ki Pythonはインデントそのものに文法的な意味があるから、他言語スレのような雑なコピペ、やりにくい
388デフォルトの名無しさん
2021/11/01(月) 17:51:32.34 専ブラによってはAA補正機能ONだと全角スペースはズレるから、とかかな
389デフォルトの名無しさん
2021/11/01(月) 17:51:53.67ID:rjS1S2Zt >>1も読めないのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★2 [蚤の市★]
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★3 [597533159]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- なんでチンポ舐めてる時って自分のチンポもビンビンになっちゃうの?
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- オーストラリアで16歳未満はSNS禁止になったらしいけどこれ
- スバルが言ったらノエルが濡れそうなこと
