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

■ このスレッドは過去ログ倉庫に格納されています
2019/10/16(水) 10:17:12.96ID:dCHq3Ix4
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

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

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
  スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/
2019/11/23(土) 19:21:19.90ID:rr4WRS2d
>>282
力技解決報告とりまおつ
284デフォルトの名無しさん
垢版 |
2019/11/23(土) 21:06:40.36ID:MYL7zca4
var array2 =[
[0,0,0,0],
[0,0,0,0]
]

func _ready():
for i in array2.size():
for j in array2[i].size():
if array2[i][j] != 0:
print("true")
else:
print("false")

配列にゼロが含まれるかどうかチェックしたいんですが、これだとfalseが8回帰ってきますよね
あるかないか 1度のみの結果を返すように出来ますか
ちなみにgodotです
ありがとう
2019/11/23(土) 21:16:54.64ID:rr4WRS2d
>>284
スレチ&板違いだ
延々ここで続けるんじゃない
gamedev板へ(・∀・)カエレ!!!
2019/11/23(土) 21:17:51.31ID:rr4WRS2d
近頃
あっちのスレでもこっちのスレでも
GodotをPythonだと思って湧いてくるあふぉが多すぎるから

次からは
1に
「godotはスレチ&板チ (・∀・)カエレ!!!」を
明記した方がいいとおもう件。 >>980あたりの人へ

↑についてどうよ? >>all
287デフォルトの名無しさん
垢版 |
2019/11/23(土) 21:22:39.07ID:MYL7zca4
帰ります(´・ω・`)
2019/11/23(土) 21:24:36.78ID:rr4WRS2d
>>287
出て逝く前に
>>262はちゃんと読んだか?
もまえ>>260だろ?
289デフォルトの名無しさん
垢版 |
2019/11/23(土) 21:26:50.79ID:NPpi8aJ+
まあ、冗談だけど
x=sum(array2,[])
x.sort()
x[0]==x[-1]==0
2019/11/23(土) 21:30:52.40ID:fygFNKSM
>>269
Ruby で、Selenium WebDriver なら、

driver.manage.timeouts.implicit_wait で、要素の検索のタイムアウト秒数を設定できる。
何も設定しなければ、10秒でタイムアウト

options = Selenium::WebDriver::Chrome::Options.new
options.add_option(:detach, true) # ブラウザを操作しない
options.add_argument('--start-maximized') # 画面最大

driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout
291デフォルトの名無しさん
垢版 |
2019/11/24(日) 09:31:23.38ID:oYE0zbvZ
>>288
ええ、読みました
変数を加算していって合計が0以上だったら、という条件でもいいのでしょうか?
2019/11/24(日) 09:38:13.39ID:s1tpy+px
>>291
値が非負だという前提があるのならそれでもいいんじゃね?
コメントなどで明示しとかないとバグの元になるが。
293デフォルトの名無しさん
垢版 |
2019/11/24(日) 09:39:25.68ID:oYE0zbvZ
>>292
どうも
配列の長さが同じなら、比較用の配列用意するのもいいみたいですね
上のやり方試してみます
2019/11/24(日) 23:49:11.18ID:Qx41XXLY
すまん誰かエスパーしてぇ………
anacondaでpython3入れたんだけどコマンドプロントでpython3 --versionやっても何も結果が返されない……
anacondaのインストールフォルダに行けばpython3いるしjupyter notebookとかは普通に使えるのん…
なんで…なんでぇ……コマンドプロントのいじわるぅ……
2019/11/24(日) 23:55:59.64ID:Qx41XXLY
ごめんね…自己解決したよ
スレ汚してごめんね…!
296デフォルトの名無しさん
垢版 |
2019/11/25(月) 12:30:19.00ID:pjJuONFZ
書き込む前に考えろ
297デフォルトの名無しさん
垢版 |
2019/11/25(月) 13:12:54.83ID:TS/Fak3X
いや書き込むと解決するんだよ
2019/11/25(月) 14:06:00.42ID:MglL2GPD
書き込む前にテディベアに相談しろ
2019/11/25(月) 14:41:48.11ID:p8g7UnzP
なんでこの言語は
オブジェクト指向なのに
関数で属性を所得することがあるんだ?
なんか意図があるのか?
2019/11/25(月) 14:55:04.98ID:meWbd2fX
関数で属性を取得したい、という意図があるんだろ
それ以上のどういう説明が欲しいんだ
2019/11/25(月) 14:56:32.15ID:r/eYGe8L
オブジェクト指向じゃなくマルチパラダイム言語だぞ
2019/11/25(月) 15:00:10.38ID:oN5ryHTE
後付けOOPだからしゃーない
さらに作者は関数型も嫌いだから中途半端なサポートになってる
2019/11/25(月) 15:24:30.38ID:p8g7UnzP
初心者に最適みないな煽り
で解説書でてるが
宣言いらないし、見た目はシンプルだからこそ
易しい言語ではないな 
2019/11/25(月) 15:36:06.86ID:6PZ0TCvi
日本語でおk
2019/11/25(月) 16:21:52.74ID:MOiXV6c7
>>299
開発中に変数の型をコードで確認できると便利だろ
あとSQLやPandasの各列をfor文で操作する時に、型チェックして分岐をつけることもある
2019/11/25(月) 19:28:04.23ID:WAjfk16n
この引数受け取って < 又は > を関数側で判断したいんだけど どう記述すりゃいいの?
qsort(lambda x, y: x < y, [2, 4, -90, 3, 10])

単純に変数に入れて出力してみたけど
def qsort(a, b):
........print("a= ",a)
........print("b= ",b)

不等号 < > が全く見えません
a= <function <lambda> at 0x000001D564F7B4C8>
b= [2, 4, -90, 3, 10]
2019/11/25(月) 21:13:40.05ID:OXWkeipl
>>306
その書き方で間違ってはないよ
渡されたlambdaのソースを確認したいなら
import inspectしてprint(inspect.getsource(a))
2019/11/25(月) 21:40:31.09ID:VwBWJhfV
https://github.com/AmbientDataInc/EnvSensorBleGw/blob/master/src/gw_RPi/env2ambientBS.py

これを動かしてみると、
NameError: name 'companyID' is not defined
とエラーになってしまいます。

51行目からの関数「def send2ambient(dataRow):」の中の
52行目の
if companyID == 'ffff': とif文がありますが、どこにもcompanyIDという変数は見当たらない気がします。
56行目〜59行目、52行目を削除して、53行目〜55行目のインデントを戻せば正常に動きました。
companyIDはどうやって取得するんでしょうか?
2019/11/25(月) 21:52:08.16ID:VwBWJhfV
>>308
多分解決しました

value[0:4]にcomanyIDが入っていたので、
77行目でvalue[0:4]も渡して、
51行目の引数にcomanyIDを加えてやると動きました

これであってますか?
310306
垢版 |
2019/11/25(月) 22:40:34.23ID:WAjfk16n
>>307
不等号記号が判断できました
ありがとうございます
311デフォルトの名無しさん
垢版 |
2019/11/26(火) 05:32:54.67ID:+E2vdhzD
>>3
自前でsort_byみたいなのを作るのかな
2019/11/26(火) 11:43:30.34ID:x6kjeL8J
パッケージ、モジュールについて質問です。

import numpy as np
a = np.random.rand(10)

という記述があったとします。

np はパッケージ
random はモジュール
rand() は関数

であっていますか?

np がパッケージだとすると、パッケージは関数や定数などを含むことができてしまっておかしいような気もします。

このあたりについて解説をお願いいたします。
313デフォルトの名無しさん
垢版 |
2019/11/26(火) 11:53:00.18ID:sOexhNbU
あってる場合もあるし
あってない場合もある
2019/11/26(火) 12:04:40.62ID:n4j/cOk3
中身みたらいいんじゃないの?
import numpyがPackage
import randomがSub-Package
randがfunctionってコメント書いてる
315デフォルトの名無しさん
垢版 |
2019/11/26(火) 12:07:13.67ID:sOexhNbU
質問者の本来の意図は判らんが
質問文だけ読めば
import hoge as fuga
fuga.hage.hige()
の一般的なことを聴いてる可能性もある
ケースバイケースとしか言いようがない
2019/11/26(火) 12:44:26.92ID:P1h37MBR
プログラミング始めて2ヶ月弱です。
今TwitterのsearchAPIを使用してtkinterのメインフレーム内のテキストウィジェットに検索結果を追加していくプログラムを書いてまして
threadを使用してリアルタイムに追記させていくことは出来たのですが停止がうまくいきません。
ttps://teratail.com/questions/147319
上記URLの様にスタートとストップを分けて書いているのですがストップ時に止まらず応答無しになります。
tryの前に上記URL内のwhile not stop_flag:を置いてループさせているので
ループ中try内のプログラムにif stop_flagがtrueの時にbreakする条件を追加すれば想定道理に動きますでしょうか?
仕事中で詳しくは記述出来ませんがこの考え方で合っているのか確認したく質問させていただきました。
317デフォルトの名無しさん
垢版 |
2019/11/26(火) 13:31:57.20ID:dAEqoOXB
仕事中は仕事しろ
2019/11/26(火) 13:36:13.13ID:R22VgyT6
これが噂に聞く寺尾駆動開発……!
2019/11/26(火) 13:40:30.59ID:n4j/cOk3
while not stop_flagって書いてるし意味わからんな
2019/11/26(火) 16:38:03.43ID:jVdruz6/
>>312
気になるのはわかるが
生成の過程はどうであれ
オブジェクトが生成された程度でいいとおもうよ
ここつついてもなんもでてこない
2019/11/26(火) 19:07:33.15ID:x6kjeL8J
>>314-315
>>320

ありがとうございました。
2019/11/26(火) 22:00:33.85ID:x6kjeL8J
柴田望洋さんのPythonの本に、

'\\\\\\\\'

と入力すると

'\\\\'

が出力されると書いてありますが、JupyterLab上で実行すると、

'\\\\\\\\'

が出力されます。

これはどういうことでしょうか?
2019/11/26(火) 22:08:10.56ID:aDj7fQzJ
純粋なリテラルなんだろ
2019/11/26(火) 22:13:19.59ID:x6kjeL8J
もう一つ質問させてください。

id(1)

とするとある大きな正の整数が出力されます。

オブジェクト「1」のIDだと思います。

ある複雑なオブジェクト(あるクラスのインスタンスなど)にIDが割り当てられているのは理解できます。
おそらくインスタンスを作ったときにIDが割り当てられるのだと思います。

整数の場合にはどうなんでしょうか?我々は整数を使うときに整数のインスタンスを作ったりはしません。

このあたりのからくりについて教えてください。
2019/11/26(火) 22:17:46.99ID:pgCzIwzp
>>322 >>324
ここは取り下げて↓をアゲたればー?
Julia Juno Jupyter part1
http://mevius.5ch.net/test/read.cgi/tech/1455271513/
2019/11/26(火) 22:29:07.19ID:6BcoKqX2
>>324
id()で表示されるのは実装にもよるが単純にメモリ内のどの位置にそのオブジェクトがあるかじゃなかったかな?
いちいちidが割り振られるのは単純にプログラム内で一度出現した値を再度読み込むときにすぐ読み込めるようにするためだった気がする。
id(1)とかだと同じプログラム内だとずっと同じidになっているがid(10000000000000000000000000000000000)とか数値が大きくなると
ずっと同じ数値を保持するためには莫大なメモリが必要になるから、いちいち同一のidを保持したりせずに毎回値が変わるのがわかると思う

それと、1が整数のインスタンスじゃないというのは勘違いだ。 isinstance(1,int)とすれば整数1が整数のインスタンスだとわかる
プログラムする側が明示的にインスタンスを作らないだけで内部的にはインスタンスになっている

また、C言語などにおいては整数は「単純な値」と言えなくもないが、少なくともpythonにおいては数値もオブジェクト、
dir(1)してみればわかるが1にもさまざまなメソッドがついている
327デフォルトの名無しさん
垢版 |
2019/11/26(火) 22:33:53.44ID:YnEDvBjE
>>324
https://docs.python.org/ja/3/library/functions.html#id
https://docs.python.org/ja/3/c-api/long.html#c.PyLong_FromLong

>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
328デフォルトの名無しさん
垢版 |
2019/11/27(水) 04:07:41.39ID:sALdvXXc
0x100が境なんだね
329デフォルトの名無しさん
垢版 |
2019/11/27(水) 08:24:04.15ID:XCw5dykM
>>322
JupyterでOutに出るのはPythonで表記したときの書き方。
print('\\\\\\\\')すれば\\\\が出る。
330デフォルトの名無しさん
垢版 |
2019/11/27(水) 09:18:32.47ID:KJahAAhq
>>322
つまりprint('\\\\\\\\')はPythonで表記したものではないと
2019/11/27(水) 09:47:06.21ID:0U9h+SK3
JUpypてrが何か知らんがMacだと¥と\が違うんだろ
332デフォルトの名無しさん
垢版 |
2019/11/27(水) 14:09:09.81ID:ngGnUYLD
>>299
え?俺便利だと思って多用してるけど....

関数側で引数がリストならfor文で引数内の要素で再帰呼出し、リストじゃなければ
引数を処理みたいな感じで使ってる。
(簡単な例を書き込もうとしたらブロックされた...わかりにくくてすんまそん)
2019/11/27(水) 14:40:54.97ID:R3eAH8fN
>>332
たぶんインデントなのと半角英数がいっぱいなのが
先週あたりから強化された全板規制にひっかかる。
>>1にのってるようなソースコード用うpろだを使うのだ
2019/11/27(水) 16:09:47.41ID:yvOcgkAY
>>332
なるほど
確かに便利だ
オブジェクト指向の概念からいえば
関数で属性取得するの邪道だと思っていたが
柔軟にしないといけないな
これが純粋性より実用性ってやつか
2019/11/27(水) 16:24:01.31ID:ulQKgCH1
The Zen of Pythonの一部の翻訳についてですが、柴田望洋さんは、

「Errors should never pass silently.」を「エラーを黙って渡してはならない。」と訳しています。

エラーを渡すというようなことが実際にPythonであるのでしょうか?
2019/11/27(水) 16:26:47.69ID:ulQKgCH1
エラーを黙って見過ごしてはならない。

みたいな意味かと思ったのですが。
337デフォルトの名無しさん
垢版 |
2019/11/27(水) 17:52:41.97ID:b0aYXQt/
>>336
pass silently を「黙って渡す」と直訳するか、その行為を日本語の表現で
「見逃す」、「見過ごす」と訳すかと違いと思う。

日本語的には見過ごすと訳した方が自然に感じます。
2019/11/27(水) 19:02:19.69ID:ymKEnJ4Y
>>336の意味であってる
「黙って通過させてはならない」的な意味

「エラーを黙って渡してはならない」は完全な誤訳
Errors should never be passed silentlyや
You should never pass errors silentlyじゃないと
エラーを渡すという意味にはならない
2019/11/27(水) 20:33:56.00ID:hknmBY+P
例外の握りつぶしとかだろ。
例外をキャッチしたけど、何もせずに、そのまま処理を継続したとか

Jupyter Notebook(JN)は、Python, Julia, Ruby などで使うIDE だろ。
VSCode みたいなもの

Bash, PowerShell などのシェル経由でも、
シングル/ダブルクォーテーションで、エスケープのタイミングが違ってくる。
Linux/Windows で書き方が異なる

シェルに渡すときに、既にエスケープされているか、されていないのか

エスケープ文字を、エディタで設定できるかも知れない
2019/11/27(水) 20:43:49.33ID:R3eAH8fN
>>335-336
個人的には>>339の解釈に1票。
try:
    なんとかかんとか
except:
    pass
みたいなマジクソ行為は
自分以外の人物が
たとえ0.1×10^23%でもかかわる可能性があるソースコードでは
絶対やっちゃだめだなwww
341デフォルトの名無しさん
垢版 |
2019/11/27(水) 21:37:06.71ID:OMjrfaFS
pygameは商用利用できますか?
2019/11/27(水) 21:48:56.24ID:gPxE2uPM
>>340
どんなに小さな確率でも、と言いたいのかもしれないけど巨大な下図になってるぞw
2019/11/27(水) 21:49:28.61ID:gPxE2uPM
>>342
数だった。人のことは言えないな。
2019/11/27(水) 22:17:55.37ID:ap410XA+
>>340
passがダメだとして何なら良いわけ?
2019/11/27(水) 22:18:57.75ID:vYtjQlD0
>>341
可能だが、pyinstallerのような方法で事実上の静的リンクを行った場合には
LGPLに従ってpygameが含まれている実行ファイル全体の再配布を許可せねばならない
つまり俺が買ったらそれを10円で再販してやる
2019/11/27(水) 22:20:16.38ID:1UHKBbgP
>>344
passを書くくらいならエラー処理せずに普通にエラー発生させた方がマシ
2019/11/27(水) 22:27:15.42ID:vYtjQlD0
>>341
補足
あと、リンクの方法に関わらず、そのソフトウェアを買った俺はそれをリバースエンジニアリングし、改造できる
俺のスキルをもってすればライセンス認証の回避は容易であり、お前はそれを禁止できない
348347
垢版 |
2019/11/27(水) 22:31:35.68ID:vYtjQlD0
すまん、俺が金払って買ったなら認証を回避する意味はなかったな
問題は、ダウンロードは無料だが継続して利用するにはライセンス認証が必要になるというような典型的な配布パターンだ
この場合、俺は金を払わずに改造してライセンス認証を突破し、タダでそれを使う
そしてその方法をWebで公開する
お前はそれを禁止できない
なぜならLGPLライブラリを使用しているからだ
2019/11/27(水) 22:42:28.92ID:ap410XA+
>>346
つまりtry ~ except は不要と言ってるのか?
excaptの中に何を書くのが良いのか訊いているんだが。
2019/11/27(水) 22:48:46.79ID:R3eAH8fN
>>342
ほんとだ 重要なマイナスが抜けてた!

>>340訂正する
×たとえ0.1×10^23%でもかかわる可能性があるソースコードでは
〇たとえ全世界の砂粒から、ハズレの1粒をひきあてたくらいの確率でも、かかわる可能性があるソースコードでは


>>349
「except:」みたいな雑なくくりをせず
おきるエラーの種類ひとつひとつについて
「except Errorhogehoge:」みたいなかんじで一個ずつちゃんと分岐させろ
2019/11/27(水) 22:57:52.16ID:ap410XA+
>>350
例外の種類ごとに異なる対処が必要なら分岐するがそうでないならその限りではない。
何か対処すべきことがあればそれを記述するが他にすることがなければpassでよい。

おまえさんは何か変な教条主義に囚われているんではないかね?
2019/11/27(水) 23:06:11.22ID:vYtjQlD0
>>350
悪いけど、最初から個別の例外について虱潰しに対応しようとするのは典型的なアンチパターンだよ
あまりにも手間がかかりすぎるし、変更に対して非常に弱いコードになる。
例外処理で死守すべき大原則は、アプリを落とさないこと、綺麗に回復すること、の2点だけだ。
その上で、必要に応じて丁寧な個別対応をしてもよい。
まずアプリを落とさないことだが、WebのリクエストハンドラであったりUIのイベントハンドラであったりバッチ処理の一番大本のループであったり、
「ここまで戻れば確実に回復できる」という箇所で全ての例外をキャッチし、リトライやエラーメッセージの表示等を行って回復する。
次に綺麗に回復すること、これは、適切にwithやfinally等を使用して例外発生時に適切な後片付けを行うことだ。
この2点が守れていれば例外処理は完璧だが、場合によっては個別対応することで早期に回復できたり、より適切なエラーメッセージをユーザーに表示できたりするケースがある。
しかしそれはあくまでオプションにすぎない。
2019/11/27(水) 23:22:24.86ID:ymKEnJ4Y
>>351-352
え、お前らマジでこんなコード書いてるの!?
いろいろビックリするわ

try:
____do_something()
except:
____pass
2019/11/27(水) 23:28:50.58ID:hknmBY+P
Ruby on Rails で、RSpec で、TDD から学びなおせw
2019/11/27(水) 23:31:50.95ID:vYtjQlD0
>>353
単に無視することが適切な回復なのであればそれで正しいよ
大抵はそうではないが、だからといって例外が発生した瞬間に直上でキャッチしたところで対処のしようがないケースがほとんど
ほとんどの例外は単純にキャッチせずにスルーし、上の方で纏めてキャッチしてエラーを表示したりすることになる
356デフォルトの名無しさん
垢版 |
2019/11/27(水) 23:36:46.74ID:OMjrfaFS
>>348
ありがとうございます。ようするにpygameを使った作品は著作権を放棄しろってことなんですね。。。
2019/11/27(水) 23:58:21.75ID:ymKEnJ4Y
>>355
範囲の狭い特定のエラーを意図して無視するのが適切な場合はあっても
あらゆるエラーをすべて無視するのが適切な場合はまずないやろ
2019/11/28(木) 00:12:16.59ID:H2QhOzf/
>>356
細かいツッコミすると、国内で放棄できるのは著作請求権だけ
359デフォルトの名無しさん
垢版 |
2019/11/28(木) 01:29:21.32ID:BjRR3Cis
>>358
ありがとうございます!!
2019/11/28(木) 03:06:02.69ID:1K1GwsjB
著作権を放棄しているわけではない
自分の著作権の下で自らの著作物をLGPLの派生物として配布しているんだ
自分の著作物をどんなライセンスで配布しようが本来は勝手だが、利用しているライブラリが他人の著作物である以上、
そのライブラリの著作権を同梱した派生物を配布するためにはそのライブラリの著作権者が定めるライセンスに従わねばならない
そして、そのライセンスが派生物のライセンスを制約するようなものであった場合は結果的に自分の著作物にライセンスが感染する形になるわけだ
361デフォルトの名無しさん
垢版 |
2019/11/28(木) 05:28:36.70ID:BjRR3Cis
>>360
そういうことなんですね!
勉強になりました。
2019/11/28(木) 07:46:57.30ID:LEtsBWW2
俺が不勉強なだけかもしれないが
try:〜except:passでエラーを握りつぶしておいて
直上でエラー処理するってどういうことだ?

普通にエラーをそのままにしといたら呼び出し元にエラーが届いて
そこで処理したらいいだけの話だろ 一番下の階層でpassして握り潰す必要はない
2019/11/28(木) 08:33:14.83ID:VOkh5kHm
>>362
> try:〜except:passでエラーを握りつぶしておいて
誰がそんなことを言ってるんだ?
そう思い込んでいるのはあなただけでは
364デフォルトの名無しさん
垢版 |
2019/11/28(木) 08:38:48.41ID:b0jGiHif
異常系をわざわざ戻り値で表現し直すんじゃないの?w
そんなことするより、リスローの方が絶対にいいわな。
2019/11/28(木) 14:36:06.70ID:B2pLXdx8
>>353
やってるけど
2019/11/28(木) 14:59:01.40ID:p/uKw1d3
pyautoguiっての普通に使ってる時は問題ないんだけど
リモートデスクトップで1度開いちゃうと画面閉じた時に
pyautoguiの中のsetcursorposってのでエラー出るんだけどどうにかならない?
2019/11/28(木) 16:12:48.01ID:rcIus152
大企業で無料で商用利用できるIDEでオススメありませんか?
個人ではVScode使ってますがエンタープライズ企業は無償利用無理みたいです
2019/11/28(木) 16:26:05.13ID:sRkzUhKD
生産性を無視する企業に未来はない
2019/11/28(木) 16:48:19.24ID:f9JN6uOx
>>367
そんな都合のいいものはない
大企業税(有名税てきな)だとおもって
あきらメロン
2019/11/28(木) 17:08:37.95ID:VOkh5kHm
>>367
VSCodeはエンタープライズでも無償だぞ
371デフォルトの名無しさん
垢版 |
2019/11/28(木) 17:24:36.37ID:i2j7bL3h
どうせVSと近藤してるんだろ
2019/11/28(木) 21:56:29.31ID:qnF6NUyh
>>357
堅牢なソフトウェアを構築する方法論として、何かエラーがあったらその処理単位ごと
無かったことにするというものがある。DBのトランザクションとかerlangのlet it crashとかな。
そういう方法論ではエラーの種類など見ない。
そこでは逆に、知ってるエラーだけcatchして他はスルーするという手法こそ否定される。
なぜなら、下層のルーチンが「知らない」とスルーしたエラーなら上層のルーチンは
「もっと知らない」はずだからな。
373デフォルトの名無しさん
垢版 |
2019/11/28(木) 22:06:08.08ID:4XtsM+GQ
せやろか?
2019/11/28(木) 23:49:35.94ID:3SZL29g0
>>372
ものすっごい中途半端な知識で知ったかしようとする前に基礎を抑えようね

DBのトランザクション処理を実行しました
なんかエラー発生しました
エラーの種類など見ないっ(キリッ)

軽量プロセスにsend messageしました
なんかプロセス落ちました
リスタートあるのみ(キリッ)

>なぜなら、下層のルーチンが「知らない」とスルーしたエラーなら上層のルーチンは
>「もっと知らない」はずだからな。
何を知らないのか考えようね
2019/11/29(金) 00:49:58.07ID:8hJB6N01
>>372のやり方だと「止まらない」プログラムは作ることはできても
「使える」プログラムは作れそうにないなw
2019/11/29(金) 01:26:05.58ID:pmSmtC6r
例外原理主義か…
2019/11/29(金) 09:16:06.14ID:B0LTR+GE
スターリン風エラー処理
2019/11/29(金) 09:24:58.26ID:TmZsQyhe
pyautoguiのsetcursorposエラーはtry:〜except:passで無事解決しました!
2019/11/29(金) 09:28:46.75ID:wYCEjZQR
わださんのゆうめいなやつ
https://speakerdeck.com/twada/php-conference-2016
PHPだけど、理解できるだろ。読んどけ。
380デフォルトの名無しさん
垢版 |
2019/11/29(金) 10:27:27.39ID:N/f9f1S7
>>349
漏れもpassは禁止で正しく処理するべきだと考えるが
どうしてもスルーしてプログラムを続行したい場合は

1.フラグを立ててプログラム終了時に報告
2.loggerでsyslogに出力
3.上の1と2の合わせ技
381デフォルトの名無しさん
垢版 |
2019/11/29(金) 10:30:54.20ID:N/f9f1S7
>>355
上の方でまとめてキャッチしたいのに
except で pass したらキャッチされないぞ

except でその場だけキャッチせず上にスルーしたいならあらためて raise しろ
2019/11/29(金) 12:06:18.51ID:dGU1sZlL
pyautoguiでとりあえずブラウザ内の手作業のの自動化できたから、seleniumにも手を出してみたけどこっちは難しいね
HTMLが分かってないとキツイな(´・ω・`)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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