Pythonのお勉強 Part65
レス数が1000を超えています。これ以上書き込みはできません。
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
〇前スレ〇 Pythonのお勉強 Part64
https://mevius.5ch.net/test/read.cgi/tech/1600035173/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured Python ← これ何て読むの? ピゾン? それとも鳥ポケモンのピジョン? これを内包表記したいのですがうまくいきません
誰か教えてください
a = int(インプットされるランダムな回数)
b = []
for i in range(a):
b.append(input().split()) b=[input().split() for i in range(a)] if 本スレ:
print("ここです")
else:
print("ここではありません") if 本スレ.responses >= 1000:
本スレ.isActive = False いや、responsesには書き込み情報を格納すべきだから長さを見るためにlenに食わせるべきか プログラムはperlが一番いい。そう思ってた頃が僕にもありました。 動的エクストリームプログラミングを楽しみたいならperlよりraku、そうでないならpythonだからね インフラ化してしまうと進歩が止まってしまう、perlがいい例
それを嫌ってバージョン分けたらモンガーしか付いてこなかったっていう
pythonもインフラ化しつつあるけど、perl(raku)を反面きょうしとして、参照実装は一つのcpythonのままどんどん破壊的変更加えていって欲しいと願う perlの敗因は色々あるが最大のものがクラスの設計
本当にgdgdになって終わった
blessってなんだよ pythonの超初心者なんですが質問はここでいいですか? perl 勉強しなくても、シェルスクリプト並に書けてしまう良さと、どんなUNIX環境でも動きそうなのと、ラリー・ウォールみたいに頭が良くなりたい憧れがあって ラリーウォール好きならperl6(raku)触ってやれよ、まだまだご執心だぞ
rakuも既存のperl5、cpanだって(大体)使える互換機能があるにも関わらず、どこの環境にもバンドルされてないね
世間のperlへの関心の無さを象徴してるよね
perl5に6からのバックポート加えてperl7にするって話すら出てくる始末
pythonはサポート期限でスパッと2.7を切って、ここ一年くらいで急速に3に置き換わってきてるのに
環境慢心違 perlが初めて覚えたプログラミング言語でオブジェクト指向も当然perlで覚えた
その後javaやって余りの簡単さに拍子抜けした フォルダに同じ列数のcsvがいくつもある状態で、
各csvの最前列に1列挿入(全行ともファイル名を入れる)
各csvをマージしてcsv出力
フォルダに残ってるcsvは列挿入前のもの
というコードって可能でしょうか? Linux のcat は、複数のファイルを連結するコマンド Pythonで業務効率化スクリプト書き書きしてたら「君ソフトやりたいんだね!開発環境あげるよ!」ってノリでVBやらされそうになって泣いてるそうじゃないんだせめてC#にしてくれ
俺はまだ20前半だぞ 猫と蛇があれば大概の物は作れる。
by 本物のプログラマ >>33
visualstudioならc#できんじゃないの? >>35
なぜかVBにこだわりがあるらしい。
.NET全くわからんのは自分のせいだけど、VBだけは勘弁だわ...
そもそもデータサイエンティストとして雇った人に組込みシステムさせるかね 思ってたのと違うから適性を模索しているのかもね
知らんけど 最初から土方募集じゃ人が集まらないからカッコイイ職種挙げてみただけなんじゃね?
本当にデータサイエンティストが必要な会社・業務内容だったのかな。 >>38
必要なのは間違いないが、その説はあるな...
会社について知るほどそうとしか思えない。 違う仕事に回すのは、典型的な土方のだまし採用
YouTube で有名な雑食系エンジニア・KENTA がよく言ってる。
自分の成長が見込めない・低給料の仕事なら、転職すべきって
こういう事を言うから、KENTAはIT 経営者から、ボロクソに批判されるけど データサイエンス頑張ってる会社は外部発信してるはず
論文発表、特許取得、技術ブログとか >>36
VBとか.NETとかでやるのは業務システムであって組込開発ではないぞ
データサイエンティストとして雇われたからなのかもしれないが、ソフトウェア開発については初心者同然だな 無償で良い環境広まったから相対的に人気ないけど、VSは決して悪い環境じゃないぞ
金取るだけの価値はある .NETだけ触るけどpwshは良いものだぞ
pandas なんでpythonのパッケージ名はjavaに比べてこんなに短いんですか?
衝突とかしないんですか >>43
ガチ初心者だからこそ困ってます!!!ハードに触ったことがない。
>>44
VSとVScodeってキーバインド違かったりする?VScodeから問題なく移行できますか?
>>45
焼きそばパン美味しいよね
>>47
select-objectで色々できるらしいねちょっと興味ある >>50
ドワンゴの焼そば事件知らない?
真実はチャーハンだという説もあるが >>51
ググってきた
こんなのあったんだね
これに比べたわワイはマシな方か Javaは言語としてもクソだし、
ライセンスもクソ化して擁護のしようがない >>49
パッケージ名はasキーワードを使ってリネームして使うことが多いし、javaと違ってインポートした識別名は常にパッケージ名と一緒に記述するのが一般的だから、むしろjavaより衝突する機会は少ないよ。
import numpy as np
a = np.Hoge()
みたいな感じで。
一方javaはパッケージまるごとリネームができないから、打鍵数や読みやすさのためワイルドカードでまとめてimportしてしまうことも多く、むしろ衝突を気にする必要がある場面に出くわすことが多い
>>55
oracle製のjreが有料化しただけでopenjdkは無料だしamaやmsの公式ビルドも手に入るから大して影響ないよ >>57
スレチだからあれだけど、あんだけビルド分けてたら逆に混乱しないか? そういやなんでpythonはモジュール名をリネームして使う人が多いんだろう
単純に打鍵数の問題?
ややこしい気がして自分で書く場合はリネームせずに使ってるわ 古いのと新しいのとを別の名前でp使いたい時でしょう?
asかましとけばバージョンを変えるのが楽
安定版と差分をas同じ名前で交互に実行しながら、簡易CI的な開発をしてる
もちろんサードのモジュールにも
特にnumpyみたいな環境に合わせてバイナリ用意してたり、無かったらビルド、みたいのはpythonじゃない部分でコケて面倒なので分けたい
結構早めに3.10に変えたんだけど、すぐは対応してなかったので、3.8のsite-packagesのnumpyを__変数やバージョン情報をリネームしてimport numpy38 as npでとりあえず動かす的な
例外吐いたらそこを手直し、大体単なるバージョンチェック
エディタで置換や仮想環境で複数インストールよりずっと手軽 python3.4 -10のインタプリタと対応するsite-packageが存在してやがるわ
稀に特定マイナーバージョン決め打ちしてくるパッケージがあるよね
そのままか、what's new in python 3.x見て少し弄れば最新で動くのが殆どだろうに
3共有のsite-packageに入りたがる子はいいパッケージ venvも標準化されたことだし、ローカルに複数インタプリタが存在する意味ってないよね?
pipにrequirments.txt吐かせても、管轄外のやメンテされてないのは手動移行だな
張り切ってお掃除しよう 生pickleやら明示的な.pyc呼び出しは互換性無いかな
もしunix系でマイナーバージョンのシバン使ってると置換が面倒かも?
subprocessのような外部呼び出しでわざわざ.pyを起動するようなアクロバティックなケースだけど
いずれにせよ分かりやすいエラー吐いてくれるか unix向けに無闇に#!pythonとソースの頭におまじない付けるのはやめといた方がいいかもね
セットアップ時のインタプリタパスへのシバンに展開されるらしいから
環境無いから具体的にどんなシバンになるか検証してないけど、まあとりあえず文句は来てない シバンが必要な時ってそんなにあるか
実装を気にさせない為に.py抜きでコマンドを提供するエントリーポイントのみでは
インポートされるモジュールに付けても混乱の元だし、__main__でテストを提供する時もpython -m modnameで呼ぶのだから、インタプリタは既に決まっている
少なくともライブラリの類に付いてたら作者の常識を疑うわ どことは言わんが、整理してたら割と沢山付いてる事に気づいてしまった
俺が何か見落としてるのか?逆に不安になってくる >>60
ああそういう理由なのか
得心いったわありがとう 俺が勝手に思い付いて勝手にこうやってるよ、ってだけなので、あんまり真に受けないでね
公式docには(俺の知る限り)そんな事書いてないので tk,wx,npとか必ず使う
有名どころは使ったほうがわかりやすい shebangが必要なのは、システムビルトインのPythonを使って、そのシステム向けのスクリプトを作るときだけという印象。
/usr/binとか/usr/local/binに.pyの拡張子なしでスクリプトを置く感じかな。
それ以外では害しかない感じがする。
あくまでも個人の感想です。 <td>915</td><td>410</td>
これを一行で
所持金915円 購入金額410円 残金505円
って置き換え出来る人書き方教えてください すみませんまた
C:\\Users\\a12021-06-03.jpg
これを
C:\Users\a12021-06-03.jpg
こうおきかえたいのですが、どうやってもできないんですが何とかやるほうほうはありますか? あー、それpythonじゃ不可能だよ
rubyなら簡単にできるんだけどね‥ 思えばPythonの歴史は迫害と苦難の日々であった。
先人は雑草を喰らい 泥水をすすり 同朋の屍を乗り越え
それでも脱皮を繰り返し 止むことなく匍匐前進を続けたのだ。
立ち上がれ!!Pythonを手にする全ての者達よ。
地を這う屈辱の時代に別れを告げ
栄光を手にするその日まで共に闘おうではないか!!
同朋に繁栄を!! 異教徒に滅びを!! 滅せよ 偽りの赤い宝石!!
ジークPython!! ジークPython!! ジークPython!! なんとか
a=r"\\"
r"C:\\Users\\a12021-06-03.jpg".replace(r"\\",a[0]) 末尾にバックスラッシュ1個とか奇数個書きたい時は
raw文字列では無理なので普通のリテラルでエスケープする >>82
文字列からのインデックス指定でそんなことができるのか、ありがとう ブラックリストとかも知らん世代なのか?
ネットで良くない行為とかはもちろんだめだし
脱ぐとかはマジでやめとけ 企業のデータ収集能力をなめすぎだろう >>73
# print('\\') # 実行結果:\
# print('\\\\') # 実行結果:\\
print('C:\\Users\\a12021-06-03.jpg'.replace('\\\\', '\\')) >>91
> print('C:\\Users\\a12021-06-03.jpg'.replace('\\\\', '\\'))
それ元の文字列がすでに
C:\Users\a12021-06-03.jpg
になってるぞ
普通にraw string使った方がわかりやすいと思う
print(r'C:\\Users\\a12021-06-03.jpg'.replace(r'\\', r'\')) >>92
それだとSyntaxErrorになるでしょ >>94
ありゃホントだ
raw string でも r'¥'' ⇒ ¥' みたいなエスケープのためか ¥ じゃ終われないんだな
うっかりしてたわ、すまん
print(r'C:¥¥Users¥¥a12021-06-03.jpg'.replace(r'¥¥', '¥¥'))
ってやるしかないのかな?
これだと .replace('¥¥¥¥', '¥¥') とあんまり変わんない気がしてきた… replace(r'¥¥', '¥¥')じゃ何も起こらないけどな。
なぜ文字コード変えたし >>96
> replace(r'¥¥', '¥¥')じゃ何も起こらないけどな。
???
print(r'[¥¥]' '[¥¥]')
[¥¥][¥]
だよ?
> なぜ文字コード変えたし
ああすまんPCで確認したからや 95で突然文字がエスケープ文字(バックスラッシュ)から本物の円記号に変わってしまったんよ まぁ、ふつうにRaw Stringをつかうなら
.replace(r'\\', '\\')
だろな あんま意味ないけど、こんな方法でもいいのか
.replace(r'\\', chr(92))
chrは文字参照にしないと弾かれちゃった >>73
# str.replace (Python method, in Built-in Types)
# Return a copy of the string with all occurrences of substring old replaced by new. If the optional argument count is given, only the first count occurrences are replaced.
# 文字列をコピーし、現れる部分文字列 old 全てを new に置換して返します。オプション引数 count が与えられている場合、先頭から count 個の old だけを置換します。
# 3つのJavaのうち左端から2つ目までのJavaをRubyにreplace
print( 'パイソン/Java/パイソン/Java/パイソン/Java'.replace('Java', 'Ruby', 2) ) # パイソン/Ruby/パイソン/Ruby/パイソン/Java
# print( 'Python2'[::-1] ) # 2nohtyP
# 3つのJavaのうち右端から2つ目までのJavaをRubyにreplace
print( 'パイソン/Java/パイソン/Java/パイソン/Java'[::-1].replace('Java'[::-1], 'Ruby'[::-1], 2)[::-1] ) # パイソン/Java/パイソン/Ruby/パイソン/Ruby
print( 'パイソン/Java/パイソン/Java/パイソン/Java'[::-1].replace('avaJ', 'ybuR', 2)[::-1] ) # こっちでもOK str.replace(old, new[, count])
>>73
str.split(sep=None, maxsplit=-1)
文字列を sep をデリミタ文字列として区切った単語のリストを返します。maxsplit が与えられていれば、最大で maxsplit 回分割されます (つまり、リストは最大 maxsplit+1 要素になります)。 maxsplit が与えられないか -1 なら、分割の回数に制限はありません (可能なだけ分割されます)。
sep が与えられた場合、連続した区切り文字はまとめられず、空の文字列を区切っていると判断されます(例えば '1,,2'.split(',') は ['1', '', '2'] を返します)。引数 sep は複数の文字にもできます (例えば '1<>2<>3'.split('<>') は ['1', '2', '3'] を返します)。区切り文字を指定して空の文字列を分割すると、 [''] を返します。
sep が指定されていないか None の場合、異なる分割アルゴリズムが適用されます。連続する空白文字はひとつのデリミタとみなされます。また、文字列の先頭や末尾に空白があっても、結果の最初や最後に空文字列は含まれません。よって、空文字列や空白だけの文字列を None デリミタで分割すると [] が返されます。
print( 'Python Java Ruby'.split() ) # ['Python', 'Java', 'Ruby']
print( 'Python Java Ruby'.split()[::-1] ) # ['Ruby', 'Java', 'Python']
print( 'Python,Chon,Ruby'.split(',', maxsplit=1) ) # ['Python', 'Chon,Ruby']
lst = 'C:\\Users\\a12021-06-03.jpg'.split('\\') # ['C:', 'Users', 'a12021-06-03.jpg']
print( lst[0] + '/' + lst[1] + '/' + lst[2] ) # C:/Users/a12021-06-03.jpg http://up-img.net/img.php?mode=JPG&id=22075
画像で失礼します
factorial関数の引数に空のリストaを初期値として渡していて
なぜか再帰呼び出しのときに自動的にaを更新してくれているのですが
どうなってるのですか?
6行目を
return n * factorial(n - 1, a)
としたときの結果と同じ挙動だったので質問しました すみません、解決しました
デフォルト値として設定した
空のリスト[]が保管された場所を変数aが参照するのでデフォルト値は始めの1回のみ代入されるみたいでした Pythonでの描画の保存について質問です。
白地の窓の中にマウスで描画した図形をPNG形式で保存するアプリを作成したいです。
TkinterのCanvas Widgetで描画しましたが、ポストスクリプト形式でしか保存できないようです。
@TkinterのCanvas Widget以外で、描画した図形をPNG形式で保存できるWidgetはありますか?
Aもしくは、GhostScriptなどを使わずにポストスクリプト形式をPNG形式に変換する方法はありますか?
どちらか簡単そうな方を教えて下さい。 PSならPILみたいなので画像変換出来そうだけどね
スッタクホバースロローに書いてそう スッタカバースロローから拾ってきた
import PIL
canvas.postscript(file="canvas.ps")
PIL.Image.open("canvas.ps").save("canvas.png", "png") pythonでword扱いたいのですが、word本文中の指定範囲に入力されたlatex形式の数式をwordの数式にしてword形式で出力することはできませんか? >>109
入力形式はwordでもテキストでも大丈夫です >>108
外部実装無し?psインタプリタ実装ってすごいね、結構複雑な言語なのに pythonを勉強し始めたんですけど、コードを写してコメントでどういう処理をして
いるのかを書くという勉強方法でも問題ないですか?
またprogateの無料のところは終わらせたんですけど、課金する価値はありますか? 2chねらの平均年齢を察するにprogateやったことある奴はいない
なので「価値あった!やるべき!」という答えが欲しいか
「価値無い 本読め」「やらなくても出来る」という答えが欲しいか >>112
progeteとっかかりだけやってやめたけど
課金する価値はあると思うよ 勉強する目的によるね
趣味なら好きにすればいいし
機械学習エンジニアを目指すなら統計学の勉強した方がいい気がする 月額で1000円ちょいか
短期集中して学べる性格と環境なら課金してもいいんじゃない
だらだらと1ヶ月以上かかりそうなら本買ったほうがいい気がする
あとやるにしてもpythonコースだけやとそんな量ないから課金したらいくつか別コースやらんと損やよ
課金する前に他に何コースやるかざっとリストアップしたほうがいい >>107
ありがとうございます。
Skia-pythonは手書き(フリーハンド)での描画の例がなかったので諦めました。 >>106 >>108
実はその例が正にGhostscriptを使う例なのですが、
Ghostscriptを無理矢理インストールして画像変換できました。
ありがとうございました。 Pythonで24bppのPNG画像を8bppに変換する方法を教えて下さい。
ある関数にPNG画像を入力したいのですが、
その関数が期待している入力は8bpp(画像のプロパティで見ると「ビットの深さ」が「8」)のPNG画像で、
自分が画像を生成すると24bppになってしまいます。
そこでPythonで8bppに変換したいのですが、検索しても見つかりません。
生成した画像がカラーになっていたので、グレースケールに変えたのですが、まだ24bppのままです。
どうかヒントだけでもお願いします。 >>118
やはりか
gsはクロスプラットフォームだしGPL版もあるしそんなデカくないし、避ける理由が気になる
ps吐けるライブラリは、大体内部的に最も精緻に描画できるpsコード生成で処理してるはずなので
自動生成コードを手直ししたり、
pythonの充実した文字列処理や補完(f文字列等)はpsコード生成と相性がよい
マルチパラダイムを謳うpythonで唯一カバー出来ないパラダイムの言語だし、とてもエレガントなので、pythonの次に学ぶべきプログラミング言語としてイチ推し あ、cpythonに含まれてるtclとsql(ite3)に次いでね >>119
Pillowで.convert("P")や.convert("L") >>123
その通りでした!
.convert("L")で行けました。
ありがとうございました。
>>120
減色だけでは駄目でした。 > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw 入門python3の第2版購入しようか迷うな、初版持ってるけど 入門書自体に興味あるなら翻訳プロジェクトに参加してみて! 貢献者に先進的(笑)なコミュニティから来た人が増えたからか
言語仕様に対するスタンスが全く保守的ではなくなったね そうか、残念だな
pythonの保守的なところが好きだったんだが python4kで構文マクロとりいれて失敗した機能はぜんぶマクロ実装
パフォーマンス低くて誰も新規では使わなくなる
この線で ✖︎python遅い
⭕pythonは言語ではない
◎pythonは他言語で書かれたモジュールを統合的に呼び出すインターフェースとしてのDSLであり、「たまたま」チューリング完全になってしまった為、完全性を悪用してpythonで計算をしようとする不届き者が後を絶たない
https://mobile.twitter.com/4th_no_fon/status/1203593444595122176
https://twitter.com/5chan_nel (5ch newer account) Perlの教訓を生かしてクソ化はしないと思うけど分からんな アノテーションとか型ヒントって使ってる?
これらが必要な大規模プロジェクトではPython使わないだろうし >>136
Perlってクソ化したの?
なんでそうなったの? python と Qt は相性がいいので、なんの問題もありません。 >>137
まあまあ使ってるけどTypeScript並に型推論効いてくれないと今一歩なぁって感じ
あと構文がキモい あ、型推論は言語じゃなくてタイプチェッカー側の問題だってのは分かってて言ってますよ >>143-144
あア、ナルほど!
ユーザーがパー(ル)だったわけですね!!!!!!!!!!! 3.8.11ってバイナリは提供されないんだな
3.10がまだなのに、もう切り捨てかよ Python使ってAPIで予めエクセルに記載した証券コードの現在の株価をエクセルで吐き出す
ってのをやりたいけど、yahoo finance API を使ってできる?
また、その場合の難易度ってどのくらい?初級者でもできそう? できるけどあんまり当たらないよ
ものすごく当たるんだったら
みんな既に使っていて
みんな大金持ちになっているよね え?
API使って現在の株価を吐き出すのに外れるの?
Yahoo finance APIがポンコツってこと? ほとんどの人が負けるのは、
下がる時に買って、上がる時に売るから
勝つには、上がる時に買って、下がる時に売らないといけない。
このアルゴリズムを見つけるのが困難
最も簡単に勝つ方法は、ダウ。
下がる幅が小さい割に、上がる幅が大きいから。
長期間やると、どの指標よりも特になる
例えば、100 → 70 → 120
一旦下がっても、結局上がって、元よりも増える
これがダウ以外だと、
100 → 50 → 110
みたいな感じで、ダウよりも戻り方が小さい 下がってから買って上がってから売ればいい。つまりドルコスト平均法。 株で儲けたいなんて書いてないのに
ちゃんと読もうね 結局儲け話になる事を想定して釘を刺したのか
勝手に思いを巡らせて暴走して書いたのか
脈絡からすると後者なんだろうな マジレスすると
>下がってから買って上がってから売ればいい
長期なら利益出るかも知れないが動くまで何年もかかる
短期なら薄利多売で回す必要があるが手数料もそれだけ増えて損する 国語で思い出した
表記ゆれをルールで修正するのではなく
機械学習で修正してる人居ます?
参考にされたドキュメントがあれば教えてほしい 表記ゆれの修正とかtextlintしか知らなかったわ
機械学習のやつとかあるんだな >>162
機械学習といえるかどうかわからないがSudachiPyには代表表記を取り出す機能がある pythonを学び始めようと思っている高校生です。
webサイトでの支払いができないので、書籍を使い学習しようと考えているのですが、初心者には厳しいでしょうか?
また、将来は機械学習に触れたいのですが、そのための学習の進め方や、得た知識をアウトプットする手段、
機械学習に手を出すのに最低限必要となるスキルがどの程度なのか教えていただけると幸いです。 なかなか良い釣り質問だ
上から目線のレスが山のように付くと予想 釣りではないです。知識不足で情報の選別が大変なので、ただただご教示頂きたいと思っています。 >>167
別にprogateみたいなWebサービス使わなくても書籍で十分やれる
まずはPythonの入門書を1つ終わらせてながら、ついでにGitの辺り覚えれば良い
分からない事あったら5chで聞いてもいいし
DiscordにPythonコミュニティもあるからそこで聞くのも良い Googleアカウントがあるなら colab無料分だけで
結構いけるよね >>168,169,170,171
ご回答ありがとうございます。非常に参考になります。 気になる点があるので、重ね重ね質問失礼します。
・pytonの後にGitというアドバイスがありますが、機械学習をする上でGitを学ぶメリットは
どの程度あるのでしょうか?学習できる時間が限られているので優先順位や有用性を知りたいです。
・colabについて調べてみたところ機械学習の教育や研究用の開発環境と出てきたのですが、
pythonの基礎知識が不足している人間が触っていいものなのでしょうか?
・pytorchの資料無料が公開されていると書かれていますが、プログラミングにおける「資料」というのは
どのような意味があり、どのようにしてそれを学習に役立てれば良いのでしょうか?
素人質問で申し訳ございませんが、ご教示いただけると幸いです。 >>173
colabはローカル環境作らなくて良いから
良いぞ
vscode経由でもいけるし >>174
ご回答ありがとうございます。
Colabについて調べてみたところ、有用性が理解でき疑問は解消されました。 学習する時間が限られてるなら、尚更とりあえず手を動かすのが良いよ 線形代数、微分積分、統計学も勉強しておくといいよ
機械学習の仕事に就くと使うから >>173
>・pytonの後にGitというアドバイスがありますが、機械学習をする上でGitを学ぶメリットは
>どの程度あるのでしょうか?学習できる時間が限られているので優先順位や有用性を知りたいです。
Gitはバージョン管理ツールで、機械学習というよりプログラミング全般でよく使われる
ぶっちゃけ基本的なコマンドとかよく使うコマンドだけなら1〜2時間で学習できるから
Pythonと一緒に覚えていくと今後が格段に楽になる
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
基本情報技術者資格、Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript なども必要
だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!
git はここには書いていないけど、これらの技術よりも、はるかに常識。
すべての言語・プロジェクトで使うものは、
基本情報技術者資格、プログラミング言語、Linux, Docker, AWS, VSCode, git。
すべての言語で、Docker Compose までが初心者用コース たくさんのご回答ありがとうございます。
とりあえず手を動かしてみて、数学にも力を入れようと思います。 たくさんのご回答ありがとうございます。
とりあえず手を動かしてみて、数学にも力を入れようと思います。 >>179
非常に分かりやすい説明ありがとうございます。
pythonの学習がある程度進んだら追々取り組もうと思います。 一通り調べてみましたが、webのみでは難易度が高いと思ったので書籍中心に学習を進め
ネット上の情報も+αとして活用してみようと思います。
また、最近ではyoutubeでプログラミングを教えている方も多いですが、あのようなコンテンツも
教材として信頼できるのかアドバイスを頂きたいです。 効率的に学ぶなら講習会なり書籍通して、の方が統一性があるから良いかと。
つべとかwebのノウハウ集は分からないところが出てきたときに再度検索からする労力が必要。あと、頭の中で順不同の情報を整理出来るか。 Ruby on Rails なら、YouTube で有名な、雑食系エンジニア・KENTA のサロン。
日本6位の2千人が入っている、超有名人
Python では、キノコード。
AWS なら、くろかわこうへいのサロン。
PHP なら、たにぐちまこと
Udemy の山浦 清透
Git の動画なら確か、たにぐちまことなど、上の何人かが作っている >>184
Web教材は体系的に整理されてるか微妙な所があるな
ある程度書籍で覚えてから、参考程度に見る分には良いかもね
(説明してるライブラリのバージョンによっては最新版だと上手く動かない、ってのも全然ありうるし) ご回答ありがとうございます。
皆さんの意見から、基本的には書籍中心に学習し必要があればweb教材で知識を補填する方向性に決めました。
最後に書籍で学んだ知識を効果的にアウトプットする為の方法やアドバイスが欲しいです。
やはり、とにかく手を動かして色々と試してみるのが一番でしょうか… >>188
実際に何か作るのが良いけど、多分最初は色々と厳しいから
AtCoderとかの競技プログラミングみたいなやつを齧るのもあり
(簡単な問題なら基本構文を覚えてれば十分挑戦できる)
アウトプットの練習にもなるし、プログラミングの考え方も覚えられるから個人的にはオススメ
(同時に「プログラミングの仕方は人それぞれ」っていうのも実感出来ると思う、人の答えを確認した時とか) プログラミングは手段でしかないから
作りたいものがないと長続きしないよ 競プロは良い選択肢
pythonなら標準入出力で困ることもほぼないだろうし
C問題が解けるようになる頃には何かしら作れるようになってるよ >>191
いや、pythonで重要なのはクラスを使う力だからアルゴリズムよりもそっちだな
Pythonicなコーディングを守る方がよっぽど大事だわ 競プロ自体は前から少し興味があったので触れてみようと思うのですが、
機械学習を目標とした場合遠回りになってしまう可能性があるのか気になります…
理解を深めるため一応触れてみて、ある程度のラインまで到達したら一旦手を引く感じがいいですかね?
クラスについては名前しか知らないので追々学ぼうと思います。 >>194
とにかく手を動かすんだ
今日中に1つプログラムを書くように
なんでもいい ぶひゃー
勉強したそばから忘れてく
俺はにわとりなのか Python3入門ノート→python2年生→python クローリング&スクレイピングって本の順に写経進めて来たけど、python クローリング&スクレイピングがいまいち理解できなくて中々進まない
htmlとcssとJavaScriptも学んだほうが理解が進みそうや >>198
そりゃそうだ
クローリングなんて初学者のするもんじゃない
プロバイダからの警告は普通にありえるし、海外では訴訟もある 図書館に、毎秒アクセスしていた香具師が、業務妨害で逮捕された!
逮捕されたくなければ、サーバーへのアクセスは、1日1回までにしておく事
基本、5ch みたいにサイトと契約して、サイトのAPI を使う。
スクレイピングできる条件は、サイトのrobots.txt に書いてある 本探してて1日に10回ぐらいアクセスしてしまったワイは捕まるんか…? カーソル移動がクッソ面倒くさいんですけど、何かいい方法ありますかね。Windowsです >>202
>200の理屈では捕まることになるな
こう言う奴って要するにと言いいながら10分くらい話すよな それと何が違う?ってのが岡崎図書館事件だからな
システムのバグの責任をクローラ走らせた人が負う必要があるのか否かって事件 HTTPプロトコルに従って、
リクエストを投げ、レスポンスを受取り、
ステータスでエラーが返れば、
その内容に応じて処理していけば
違法とは言いがたいだろうな
岡崎の時、それしていたかどうかはあやしい まあアクセスする度に数秒待ってれば捕まることはほぼない 先生、図書館のシステムにnikto
を掛けても良いですか? >>207
してても、サーバ落とせば捕まる
もっというと、起訴される可能性が高い
Librahackの件は、システム側に不備があったため起訴猶予になってるけど、逆にシステムに不備がなければ起訴されてたかもって話
「1秒間隔を開ければ大丈夫」なんてのは全く根拠のないデタラメ
あと忘れがちなのは、「アクセスするのが自分以外にもいるかも」って観点
タイミングが重なってしまって落ちた場合、当然不自然なアクセスなんて訴訟の対象になる 今時一秒間隔でアクセスしただけで落ちる性能のサーバーなんてあるのか? >>211
「アクセスするのが自分以外にもいるかも」って観点が重要
複数システムがクロールしてたら、山が重なるなんて普通にありえる
運営側から見ると、リソース食いに来るコストアップ要因アクセスだからね
隙きあらば罰したい >>207
1時間に400リクエストがくると他の処理ができなくなるシステムってどう考えてもまともじゃないだろ
1人しか使ってなくとも9秒に1回で落ちるんだぞ すくれーぴんぐになるといっつも図書館持ち出して同じようなこと語りたがりが沸いてくるね 持論を通すために必死なんだろうけど、具体的に何をすればNGかを明言しないと
話の元となっている>198には何も伝わっていないぞ いたずら電話は、100回ぐらいで有罪。
警察・図書館などの公的機関なら、10回ぐらいでも有罪にされる。
要するに業務妨害
確か、騒音婆も10回ぐらいで有罪 >>216
普通は警察より前にプロバイダ経由で警告が来る
だからお前はそんなにビビるなよw
岡崎の件はいきなり逮捕でかつ当事者が情報を開示してくれているので、この手の話題だと引用されるんだろ
*あと、システム業者がミスってたっていう落ちまであるし
まーいずれにしてもリスクとリターンが割に合わないんで、無知な状態で手を出す分野じゃない たいていスクレイピングの本に書いてある。
何回もスクレイピングすると逮捕される
必ず、相手と契約して、API を使うように。
それと、robots.txt に従うように
wget, curl でも、再帰的ダウンロードのオプションがあるから危険。
リンク先を何階層までたどるか指定できるけど、
リンク先のリンク先のリンク先のと、無限にたどるから危険。
一瞬で、何千というファイルのダウンロードになってしまう
素人はそういうミスをよくするし、書き直す度にサーバーにアクセスしてテストする。
自分のパソコン内に、ファイルをダウンロードしてからテストしない
こういう事を全く知らずにやるから危険 >>210
>してても、サーバ落とせば捕まる
過失で業務妨害は成立しない
逮捕は警察のさじ加減になるが故意に落としたと疑う根拠がなければ刑事で罪になることはない
システムに不備がなければアクセスしにくくなる状況も発生しえなかったので
逮捕すら無理筋で起訴に至っては100%ありえない
>>215
スクレイピングで逮捕された事例が他にないから >>220
警察は「罪」を認めさせるのがうまいんだよ
Librahackは過失ですらなかったが、「故意」を認めたことにより起訴猶予になった
まぁ、普通はシステム運用会社→プロバイダを通じての警告から始めるのが一般的だから、警察が最初に動くことはほとんどない
ちなみに、「システムに不備がなければアクセスしにくくなる状況も発生しえなかったので 」というのは無意味な仮定でしょ
システムが落ちたから図書館は警察に相談したんだし 日本の裁判所・行政は、三権分立じゃなく一体化してるから、
逮捕は、100% 有罪にできる
事前打ち合わせ型の司法。
裁判官が出世するために、必ず有罪にする。
行政側を負けさせると、絶対に出世させない
外国の有罪率は50%ぐらいだけど、日本だけが100%
青汁王子は認めなかったから有罪にされたけど、
認めた徳井は不起訴になってる
自白すると、減刑で不起訴にされる事もある、という行政有利の裁量制度。
中国地方で、100人とかワイロをもらった議員が不起訴になっているのも認めたから、
ワイロを送った方だけ有罪にした ZOZO 前澤の脱税リークも、行政がテレビ局へ情報を流している。
国会で、N国が質問したら、行政側はリークしていないと言い張った
税務解釈の違いで、別に脱税ではないけど、
テレビ局を使って、有罪に仕立てるためにイメージ操作する
だから、司法・行政・テレビ局もグルで、イメージ操作で100% 有罪にできる
和歌山カレー事件も。
近所に、ヒ素でいたずらするガキがいるけど報道されない。
犯人は主婦という、予定で決まっているから
官房機密費から毎年、1,000万円ずつ何百人の記者に、小遣いを渡しているけど、
受け取りを断ったのは、田原総一郎だけ。
すべての記者が知らないと言ってる >>222
>システムが落ちたから図書館は警察に相談した
それが早とちりなんだよ
システムが元から糞だったから落ちただけで
(犯人のせいですらないのに)「犯人」のせいにした業者の責任
業者は自分の手抜きがばれるのが怖かったから責任をなすりつけたのが真相 ベンダーは不具合を認識していた
全国の図書館のソフトを黙って更新していた
岡崎は更新するタイミングがなかった
逮捕された人は、女房が出産を控えていて
警察の強迫に屈した感じ 警察は必ず強迫してくる。
自白調書を取れば、裁判で自白を否定しても、絶対に覆らない
裁判官は警察を勝たせて出世したいから、
裁判所で、その自白は嘘だったと言っても、絶対に認めない。
自白調書の方が、本当の事だと決めつける
裁判所は、嘘で自白をするなんて有り得ないと言う。
それで、100% 警察を勝たせる
基本、裁判をしない。自白調書だけで決める。
裁判所・警察がグルの事前打ち合わせ型。
自白調書を取って下さい。それだけで有罪にしますから
冤罪にされた人が言ってる
今でも、ボクシングの人が、死刑囚のまま。
そのくせ、世論の反発が大きいから、
死刑囚のままにしておいて、裁量によって釈放してる
裁量制度を悪用している。
その都度、自分らが有利な方へ変えられるから、裁量制度は国側有利 長文の人、日本語が怪しい箇所複数あるし、
句読点の付け方も不気味 お前らはいつから法律の先生になったんだクソガキども 198やけど、python2年生で勉強したrequestsとbeautifulsoup4だとクローリングできないページがあったから、Seleniumを覚えたい。
ミスを恐れて勉強を先延ばしするといつまで経っても覚えられないので、本を真似しながら、安全なやり方を覚えていきたいですわ 戦場の絆の戦績とMSデータ吸うのに
Selenium勉強した。
バンナム認証部分でhtmlとかフォームの知識必要だったけど、認証終わっちゃえばrequestsと同じでbs4任せ出来る。 スクレイピング・ブラウザの自動操作なら、
Ruby, Selenium Webdriver, Nokogiri
例えば、ブラウザで、ユーザー名・パスワードを自動入力して、
Yahoo にログインする例を、以下に書いた
Excel VBA 質問スレ Part72
https://mevius.5ch.net/test/read.cgi/tech/1626565335/257
他にも、driver.execute_script で、JavaScript のソースコードも実行できる
基本、今のサイトは、HTML をスクレイピングしても、内容が取れない。
5ch みたいに空のHTMLを送って来てから、Ajax 通信で内容を取得するから
何秒かスリープするか、
Selenium Webdriver の取得timeout 時間を設定して、
指定時間だけ、要素が現れるのを待つ
基本、勝手にスクレイピングする事はない。
業務妨害で逮捕されるかも知れないから。
Google などの検索エンジンは、robots.txt を守っているから逮捕されない
基本、YouTube API, Google Maps API とか、証券各社と契約して、APIを使う コードの例はココなんかよりスットコオーバーキルとかチキータとかの方が情報一杯あるし見やすいね 大量のデータ100万個×100個位のデータを分析したいのと、単純にプログラムを勉強したくて、Pythonの勉強はじめたんですが、上のような大量のデータ扱うなら、エクセルとPythonはどっちが向いてるんですかね?
処理として。 セルという機能が役たたずになることは確かだ。
エクセルでもやりようはあるだろうとは思うけど。 RDBでも100カラムとかの表作ってきたら突き返すわ 100次元のデータ100万個と考えるとぜんぜん普通だけどな
いや100万個はまあまあ多いか >>238
そんな豆知識要らんわ!
・・・ φ(..)メモメモ 餃子の焼き加減の分析かぁ。。。面白そうだ
パラメータ100個考えるのもヨダレが出る >>234
Pythonなら普通に処理できる規模
ライブラリはnumpy, scipy.sparseあたりがいいかな
Excelだと厳しいかもしれない >>244
オッサン言うな、ヴォケ!
にしても、餃子一日100マンコ考えるのもヨダレが出るわ(ジュル データの質にもよるけど1000行ぐらいからexcelでは遅くて使い物にならなくなると思う ざっくりでいいからどれくらいのメモリが必要か考える。
1個のデータが1byteでおよそ100MB。100byteならおよそ1GB。
それを加工するためには(仕方によるが)2倍くらいのメモリが必要。
このくらいになれば、ぼちぼち分割とか並列化とか考え始めなければならない。 Java でも、512MB まで
ブラウザで動画とか、それ以上のものは、stream。
1行ずつ読み込んでは処理して、捨てる方式
すべてのデータを、メモリ内に保持できない データ分析だと100万件 × 100のdouble行列をメモリに保持するのは普通にあるね
数億件の規模になるとアルゴリズム変えて少しずつ読むようにするけど なんかsklearnのPCAには巨大なデータ向けにバッチ処理して少しずつメモリに乗せるみたいなインターフェースが用意されていたような
どんな処理したいかはわからんけど既にライブラリ化されてたら便利だね Pythonで
status, response_headers = headers_sent[:] = headers_set
の意味がわからないので誰か教えて。左辺はカンマ区切ってで2つの変数が書いてあるが、右辺には
変数が一つしかないように見える。以下の #(100) のところに出てくる。
____headers_set__=_[]
____headers_sent_=_[]
____def_write(data):
________if_not_headers_set:
_____________raise_AssertionError("write()_before_start_response()")
________elif_not_headers_sent:
_____________#_Before_the_first_output,_send_the_stored_headers
_____________status,_response_headers_=_headers_sent[:]_=_headers_set____#(100)
_____________sys.stdout.buffer.write(('Status:_%s\r\n'_%_status).encode("ascii"))
_____________for_header_in_response_headers:
_________________sys.stdout.buffer.write(('%s:_%s\r\n'_%_header).encode("ascii"))
_____________sys.stdout.buffer.write(('\r\n').encode("ascii"))
________sys.stdout.buffer.write(data)
________sys.stdout.buffer.flush() 別の場所で予め
headers_set[:] = [status,response_headers] #200
となっていたらしい。それで結局、
status, response_headers = headers_sent[:] = headers_set
は、一番左の部分への影響は、
status, response_headers = headers_set
と書いたのと同じになるということなのかな。
あと、#200の書き方も分かりにくいが、
headers_set = [status,response_headers]
と同じ意味かな? >>255
分かった。
y = x; // y は、x と同じ場所を指してしまう。
y[:] = x; // y の中身が x と同じになるだけで、y のアドレス(id)が変わらない。
ということらしいね。
知らんけど。 >>256
yのアドレスではなく、yが指すオブジェクトのアドレスだった。
y = x は、yが指す場所を x が指すものと同じにしているだけで、
y[:] = x は、x の中身を y にコピーしているということらしいね。 y[:]もyも同じじゃないの
ただしyが数値ならあてはまらないから
y[:]でリストだということを表現したかったんじゃ import copy
new_array = copy.copy(array)
と同じだよね。 > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw >>258
y = x は、x が指しているオブジェクトを y も参照する様になるだけ。
Cで言えばポインタのアドレスをコピーしている感じ。
y[:] = x は、x の中身を y にコピーする。
なので、この2つは意味が違う。 新人PGをpythonのコーダーに育てるのは、
修飾子をサポートしている他の言語の新人PGを育てるよりコストがかかる印象
設計について学ぶ前に、アクセス制限のないコードに慣れるのは良くないな 俺の頭がポンコツすぎて、よくどの変数にどんなシェイプのテンソルを突っ込んだかを忘れちゃうんだけどさ
静的にできる範囲でテンソルのシェイプを推論して、VSCode上で表示してくれるエクステンションとかあったら教えてくれんかな? VSCodeなんて使うから頭がポンコツになるんだ。 Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます なにNimって面白そう。
Cのソースに落とすんだ。これを待ってたw 仮でも関数名にtestとつけるのやめたほうがいいと思います Nim却下。
Qtが使えないらしい。やっぱPythonだな。 とくにしたいことがない場合の勉強法はどうすればいいですか 写経
勉強したい言語で書かれたオープンソースを書き写す
翻訳
使い慣れた言語で書かれたプログラムを勉強したい言語で作り直す
(逆もあるけどたぶん面白くない) 「小林さんちのメイドラゴン」の小林さん が仕事でpython使って、プログラム組んでたw >>276
写経ってのは学習用に用意された比較的短いサンプルプログラムを書き写して動かす学習法であって
任意のオープンソースを書き写すのとは違う
写経は時間の無駄だと思ってる人に多い勘違い ん?写経は時間の無駄だよ
サンプルプログラムはコピペすればいいだけ
ソースコードを読んで自分で考えてコードを
修正しなければ力にならない
自分の頭で考えることがプログラミングなんだから したいことも無い学習の目的は
試験のための学習なのかな?
過去問沢山解いた方が効率よさそうだが その説だとRuby gaiji は理想的な
勉強法を実践している事になるなw ビャーネ・ストラウストラップ
プログラミング言語C++
の練習問題を Python で解いてみたら?
答えの無い書籍の問題を地道に解くと頭使うわ。
慣れないと死にそう。 再帰関数なんで動いてるかわかんないけどテスト全部通ったから、ヨシ! 俺もプログラミングや正規表現の文法そのものが好きでスマホにPydroid3はインストールして挙動確認とかはしてるけどPCは今は無いし作りたいものもない
Pythonやってるからにはdjangoでもやろうかなとは思ったけど目的もなくフレームワークの学習をするってクッソつまらんのよな^^;
どうしよう ロゴかなんかの文字のレイアウトを自動化したいけど、やった人おる? twintってライブラリ使ったことある人おる?
自分のアカウントのすべてのツイートをスクレイピングしてきたいんだが、10日前くらいまでのツイートしかとれなくて困ってる scrapyってなんか回りくどい感じするけど慣れたら便利。
1回きりだけじゃなくていくつかのページをスクレイピングしたいとか定期的にスクレイピングしたいってときはこれしかないなって思う。 標準モジュールだけでやるのが漢ってもんだろ
requestsですら邪道だ 今勉強してる本で後100ページくらい進むとscrapyにいきつく!
がんばるぞい >>296
正規表現使って抽出すれば、やってることは変わらん
拾うデータはおおよそJSONだから、標準のjsonモジュール使えば済むし 例えば5chの色んなスレに一斉に書き込みしようとする場合は
scrapyとrequestsならscrapyの方が楽なの?
POSTする内容は一緒だからどっちも一緒だと思うけど よほど特殊なことをやろうとでも思わない限りスクリプトで5chに何か書いてやろうと考えたらまずチェックすべきはギフハブだろ。
それを思いつかない人はサクラエディタとsubversionでJavaの開発とかしてるのが向いてそう。
ちなみにソースはsubversion管理してるのに純削除禁止でコメントアウト必須な。 >>305
ギフハブってASKAが言ってたストーカーか pythonの学習ってpyscripterみたいな環境とjupiter labみたいなのでやるのとどっちがいいの?
対話型の方が分かりやすい?
ライブラリ周りもweb上の方が扱いやすい感じ? どちらも面倒なこと無いんだし
自分で実行して有ってる方を使えば良いだけじゃ無いの?
そもそも何を目的とした学習何なんだろう? 素人はジュピターと呼ぶ。
通はジュパイターと呼ぶ。 Jupiter:ジュピター
Jupyter:ジュパイター pythonのpyと掛けてるんだからジュパイターだろと考えていたが、案外ジュピター派が多い 素人:ジュピター
通:ジュパイター
作者:ジュピター
うーむ >>307です
ご想像通り素人なので見苦しいミス失礼
目的というかきっかけは私用でLinux使ってた時期にwineなるものを見つけて感動したんで最終的には自分でwineレベルのコードをいじってみたいなと
大人しく現状の環境で続けてみます >>311
セーラー服下半身解剖って知ってる?
20年以上も前の作品でセーラームーンの同人的な官能小説なんだけどコミケとかじゃなくてマドンナメイトから出てるんだわ。
なのでkindle化もされてて今もamazonから読める。
その中でセーラー戦士の主要メンバー5人がそれぞれを性癖を踏まえて敵にあれこれされる。
なんと力自慢のセーラージュピターは ジュピターの読み方だけで、こんな変態を召還しちまうとか
罪深すぎるだろう 久々にssl周りをいじったが、SSLコンテキスト関連で廃止になった項目結構たくさんあるんだな
certifi使ったときの指定方法も変わってた
リクエストのリダイレクト(301,302など)時に
urllibやhttp.clientを使ってレスポンスコードを取得する方法ないかねぇ?
urlopenは勝手にリダイレクトしてしまい、その時の200が返ってきてしまう
requests使えば出来るんだが、標準モジュールだけでやろうとすると大変だ >>323
HTTPRedirectHandlerの適宜記録するサブクラスつくって
urllib.request.build_opener([handler, ...]).open
かな
https://docs.python.org/ja/3/library/urllib.request.html
ここ読んだだけでぜんぜん試してもないけど >>325
ホストレベル(トップページ)でしかうまく動かないんだよね
ステータスコードの取得もできないみたいだし
>>324
リダイレクトさせないハンドラを作成してbuild_openerで呼び出すという方法があった
これだと、HTTPErrorを投げてくるのでリダイレクトのステータスコードも拾えるんだけど、
結局すべてのリクエストでリダイレクト処理が別途必要になっちゃうんだよね(当たり前)
ステータスコードだけを取得できればリダイレクト自体はそのまま処理してほしいところ
python 3.x - How to disable automatic redirects in python3 urllib.request? - Stack Overflow
https://stackoverflow.com/questions/52086805/how-to-disable-automatic-redirects-in-python3-urllib-request
通常のurlopenでリダイレクトがあったかどうかは、geturlで実際の(リダイレクトされた)URLが拾えるので、
リクエストと一致するかどうかでリダイレクトの有無の判定はできるんだけどねぇ >>326
>ホストレベル(トップページ)でしかうまく動かないんだよね
動かない例を書いて >>327
例で言うところの、"www.python.org"のところに
"www.example.com/foo/bar/"みたいなサブディレクトのあるURIを追加することができない
なにか方法が違うのかな?
他所にある例もホスト名のやつしか見つからないんだよね >>328
conn.request("GET", “/“)を
conn.request("GET", “/foo/bar/”)に あと、
> ステータスコードの取得もできないみたいだし
と書いたけど、example.com → www.example.com のようなものなら
リダイレクトのステータスコード(301 Redirect)が拾えることは確認できたので
そこは訂正 >>329
ははは、'GET'の内容を思い切り見落としてたわ orz
これでチェックは出来そうだね
どうもありがとう 連投で申し訳ない
セキュア接続への内部リダイレクト(http://example.com → https://example.com)の場合、
307 Internal Redirect が返ってくるけど、
http.client.HTTPSConnectionだと、プロトコルは関係ないからこれは調べられないよねぇ
この場合のステータスコードの取得方法を知りませんか? >>332
プロトコルは関係ないってどういう意味?
レスポンスボディに関わる部分のことであれば自分でパースしてやらなければだめだけど、HTTP/Sの中にレスポンスコードまで規定されているわけだから、そこはHTTPResponseのstatusでわかるのでは?
検証してないので間違ってたらすまんけど >>333
最初、http.client.HTTPSConnectionを使う方法だと、
プロトコルの指定方法できず、セキュア接続か否かを明示して指定することができないようなので
プロトコルには関わっていないという意味で関係ない、と思ったんだけど、
http.client.HTTPConnection(Sなし)を使うと非セキュアで接続することになる(できる)みたいだね
内部リダイレクトでセキュア接続するサーバーだと、ことごとく"Location"が返ってきてリダイレクト必至だった
前者ではセキュア接続に対応していないサーバーでエラーが出るので
正確に判断するには場合分けが必要みたい
>>334
それはそうなんだけど、
とりあえずステイタスコードが取得ができればいいし、
数行くらいで収まる方法があればそれに越したことはないかなぁと pythonanywhere上のコンソールでバックグラウンドプロセスを実行し続けてるんですけど1〜2日するとコンソール自体が再起動してるのかプロセスが終わってしまいます。CPU使用限界には全部たっしてないのですが、そういものなのでしょうか? クラウドは自動でインスタンスが止まるよ
それなりのお金を出せは連続稼働が可能になるけど > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw >>337
やっぱり無料だとそういものなんですね。 これから書籍かweb有料研修、
youtubeのいずれかで
pythonの勉強を始めたいのです
python5は古いので6にしようと
思いますが、6.10など
マイナーバージョンいくつ以上の
教材を選択すればよいでしょうか
よろしくお願いします また未来と繋がっちゃったか
運営にメンテ依頼してくるわ Perlのバージョンとごっちゃになってないか
Pythonの最新バージョンは3.9.7だぞ 大変失礼しました
バージョン2か3を確認して
3にする予定です
マイナーバージョンアップで
大きな仕様変更があると
教材の価値がなくなるかもと
最新のpythonで問題ないか
伺えればと 2か3だけ確認しとけば概ね問題ないと思うぞ
少なくとも入門教材のレベルでは影響が無いと思う
のちに発展的なことやるときにマイナーなライブラリが対応できてない可能性はあるけど、それはそれでその時に対応すれば良い ありがとうございます
早速最新版をインストールして
勉強始めます 基本はstable版がいい
本当のlatestはバグある可能性ある
現在のstableは3.9.7
まぁ今のタイミングだとstable=latestだけど
ただし書籍に合わせたほうがいい
何故なら仕様変更で動かない可能性あるから
これはフレームワークやモジュールも同じ
新バージョンでガラッと変わることはないから別に最新にこだわる必要はない
あとインストール方法もvenvとかpyenvとかanacondaとか色々あるけどそこも書籍に合わせればいい
ただanacondaを使う場合pip(とそのコマンド)は使ってはいけない
代わりにcondaコマンドを使う なんか3.9が癖があって3.8で作ったのが動かないとか言ってるやつが居たから報告しとくw とりあえずクソチョンBot君は死ね!
まじクズだなw
ま、チョンなどその程度だとよくわかるクズだよw ありがとうございます
新し目の教材を用意して
stable版で始めます
先は長そうです 自分が相談を受けた時に返すのは
基本はminconda+conda-forge
base環境はまっさらで残す
問題がない限りはpythonもcondaもバージョン固定
メイン環境をひとつ作ってそのcloneで運用
何かモジュール入れる時はメインからクローンしたステージング環境で
大丈夫そうならメイン環境にもマージ
メイン環境も設定をこまめにバックアップ
おかしくなった気がしたらバックアップの設定ファイルからテスト環境を作って検証 conda-forge使う必要が出た時点で依存関係が崩壊し始めなんか気持悪い
pipのVenvポータブル環境がオレにはベスト ことばは正確じゃないけど、pythonの値渡しと参照渡しは分かりにくい
整数型でもなんでもオブジェクトで参照渡しだからかもしれないけど
コンテナ型(set除く)とそれ以外の違いというか(前者ミュータブル、後者イミュータブル) その辺りの用語で言うとシャローコピーって聞いた途端に和歌山あたりのダムでバス釣りボートを回しながら「フィッシュオーーーン!」って叫ぶプロのバサー方のサングラスが思い浮かんで集中できなくなる。
(バス用語で浅いところをシャローという) ディープな部分は参照渡しよろしく書き換えが可能で、いちばん根っ子の参照は書き換えできなくて いちばん根っ子の書き換えができないのは同じか(c言語などと)
酔ってて不規則な発言でごめんなさい ポインタへのポインタを使わなければという意味で
とにかくスンマセン 昔は「これやるとクラッシュします」なんて禁忌がザラにあったけどpythonでも知らないだけで実はあったりするのかな。 型指定出来るっぽいけど会社だとバリバリに指定するの?なんか嫌なんだけど >>361
excelの仕様書に型を1つ1つ記載するにとどまらず変数名もシステムハンガリアンだぞ。 VBAとSQLの技術者として雇われているのに、突然Pythonの業務が舞い込んで環境設定とPythonの勉強を始めた。
昔やってたPascalなみに刺激的な言語だな Pythonの=は右辺を左辺に代入するじゃなくて左辺に右辺のオブジェクト(またはそのオブジェクトが変数などならその中身)の場所を参照させるだと思う
「→」みたいな意味
そして同じ一つのオブジェクトを2つ以上の変数が参照している場合、どれかの参照している変数を介して参照されてる変数に変更が入ろうとした場合されてる方がイミュータブルなら消去法的に新しい場所に新しいオブジェクトを作って変更させようとした変数にそこを新しく参照させる
ただし元からあったオブジェクトは他の変数に参照されたままなので消えない
当然本当は変数もオブジェクトだろうけどそれは無視してる
だから俺はcopy()等を使わない限りイミュータブルに特別な操作を加える仕様の純粋な参照渡しだと認識してるんだけど違うの? >>366
初心者でごめん
つまりさpythonの=変数は参照だから値の代入ではないってことよね?
y=1
x=y
とあったら厳密にはx=1ではなくx=y=1になってるんだよね。
あくまでy経由の値を持っているみたいな。
んでそのあとにy=2をした場合。
内部的にはy(2)=2としてyとは別物の変数が生まれるって感じ?
だからxは相変わらずx=y=1で居られるみたいな。
y=1
x=y
y=2
z=y
y=3
とした場合
x=y=1
x=y(2)=2
y(3)=3
ってな具合に3種類のyが内部的に存在していることになる的な。
認識合っていますか? コンテナの中身はミュータブルだけど、引数として渡されたコンテナ自体をごそっと書き換えることはできないんだよね、たしか
その辺の挙動はイミュータブルと整合するというか、区別されていないというか > x=y=1
> x=y(2)=2
> y(3)=3
>
ごめん
x=y=1
z=y(2)=2
y(3)=3
ですわ。間違えた。 ミュータブルな代入は
「結果的に」Javaのプリミティブ型の代入と
結果が同じことになるな 気になる人は python のモジュールを C で描いて観ればいい
上に挙がってる疑問がほぼ全て自然に解決する ndarrayってクラスなんだよね?なんで普通の数と足し算とか掛け算とかできるの?
class hoge:
pass
a = hoge
a + 1.0
> TypeError: unsupported operand type(s) for +: 'hoge' and 'float'
みたいなエラーにならないのは何故? 初学者なので ndarrayのことは知らないけど、__add__ とか、クラスではオーバーロードが簡単にできるみたいですよ >>368
多分君は俺の説明が適切じゃなかったから勘違いしてる
芋づるみたいな感じにはなってないと思う
a = 1
b = a
これは@みたいな感じになる
そして
b = 2
としたらAの画像
print(id(変数その1), id(変数その2))とかやってみて
あとこのページhttps://medium.com/swlh/a-deep-dive-into-variables-in-python-8f55f69c3653のPass-by-Object-ReferenceがPythonのね
因みに割とどうでもいいけど
x = 1
y = 1
この2つの1は同じね
そして
x = []
y = []
この2つの[]は別ね
ミュータブルかイミュータブルかで変わるんじゃね多分
>>379
>x = 1
>y = 1
>この2つの1は同じね
それはcpythonの仕様であってpythonの仕様じゃないよ
あと
x=1000
y=1000
のときは異なる >>380
これはどういうことなのでしょうか
0 とか 1 とか、よくある値はインスタンスを共有して、とかいうことでしょうか PEP 494 -- Python 3.6 Release Schedule
3.6.15 schedule
3.6.15 final: 2021-09-04
3.6.16 and beyond schedule
Security fixes only, as needed, until 2021-12
PEP 537 -- Python 3.7 Release Schedule
3.7.12 schedule
final: 2021-09-04
3.7.13 and beyond schedule
Security fixes only, as needed, until 2023-06
PEP 596 -- Python 3.9 Release Schedule
Expected:
3.9.7: Monday, 2021-08-30
3.9.8: Monday, 2021-11-01
3.9.9: Monday, 2022-01-03
3.9.10: Monday, 2022-02-28
Final regular bugfix release with binary installers:
3.9.11: Monday, 2022-05-02 PEP 619 -- Python 3.10 Release Schedule
3.10.0 candidate 2: Tuesday, 2021-09-07
Expected:
3.10.0 final: Monday, 2021-10-04
Subsequent bugfix releases every two months.
PEP 664 -- Python 3.11 Release Schedule
Actual:
3.11 development begins: Monday, 2021-05-03
Expected:
3.11.0 alpha 1: Monday, 2021-10-04
3.11.0 alpha 2: Tuesday, 2021-11-02
3.11.0 alpha 3: Monday, 2021-12-06
3.11.0 alpha 4: Monday, 2022-01-03
3.11.0 alpha 5: Wednesday, 2022-02-02
3.11.0 alpha 6: Monday, 2022-02-28
3.11.0 alpha 7: Tuesday, 2022-04-05
3.11.0 beta 1: Friday, 2022-05-06
(No new features beyond this point.)
3.11.0 beta 2: Monday, 2022-05-30
3.11.0 beta 3: Thursday, 2022-06-16
3.11.0 beta 4: Saturday, 2022-07-09
3.11.0 candidate 1: Monday, 2022-08-01
3.11.0 candidate 2: Monday, 2022-09-05
3.11.0 final: Monday, 2022-10-03
Subsequent bugfix releases every two months. >>379
ありがとう
イミュータブルな変数はIDのみコピーするような感じね。
んで変数の書き換えをする時は、実際には書き換えではなく新しいIDと値が与えられるわけだ。
だから古いIDをコピーした方の変数は値が変わらずにいられるんだな。
初学者用の書籍とかだと変数っていう箱に値が入っていてそれを入れ替えれるってような書き方だから理解できてなかったわ。
イメージの話なんだけど、変数って箱にIDが入っているイメージ?それともIDって箱に値が入っているイメージ??
ようは新しい値に変えたい時に箱の中のIDを取っ替えるイメージなのか箱ごと別物に生まれ変わっているのか。 ワイ.netおじさん。
ありがちな処理はスラスラ書けるけどリスト全体の数値を3倍するとかラムダ式とか書けない。
ループ使っちゃう。 集中力が落ちて勉強に支障が出るときいたことはある。 >>382
ありがとうございます
Flyweightのようなものを想像していましたが、当たらずとも遠からず、ですかね >>394
あまり考えないでレスしちゃった
取り方によるけど、遠いっちゃー遠いですね
同値のオブジェクトは共用する意味で、です >>386
最近とんと.NETから遠ざかってるけど、C#やVBには mapや filterみたいなものはないですか?
てか、Linqではラムダ式は必須じゃなかったっけ コードや変数の局所化をすすめると
読み手にも機械にも優しいという実感がないんだろう
ループおじさんは >>396
あるよ、LINQでそれぞれselectとwhereが対応する >>398
ありがとうございます
Linqは知識としては知っていたのですが、使ったことがなくて
なるほど、mapは select、filterは whereですね 書いてあるものは読めるんよ。
ただ自分でこうしようって書くときに
リストを順番に走査して(for)
条件に合致したら(if)
ゴニョゴニョする(処理)
って頭の中でなっちゃうから無理。
pythonはさくっと書けちゃうから余計につらい。
本を読むとそういう書き方のループはあるべき書き方よりも絶望的に遅いから辞めろと書いてあるから余計に精神に悪いわ。
Rだとそもそもループが書きにくい仕組みしてるからなんとか立ち止まって考えてる。 「これはpythonな人なら得意そうだけど俺はスマートに書くの無理だわ」って感じて泥臭く書いた処理の例(最近)
m列×n行の2次元配列がある
n列×m行に転地する
その時にちょっとした処理がある
例えば列要素の先頭に1からインクリメントする数値のキーを追加する
あるいは3番目の列が[x,y]のリストになってるのを[y,x]に入れ替える
みたいな。 >>400
いつの本か知らんが本当に遅いかはベンチしないとわかんないよ
可読性は明らかに内包表記の方が高い(黒魔術内包表記を除く) >>403
もちろんそれはそう。
ケースバイケースなので、ベンチするか具体例を挙げてもらえないとわからないよ。 バージョンアップされるたびにアルゴリズムも改良されて
可読性重視でも最適化されるようになってるという話だけど >>406
そういう話もあるけど、キャッシュして計算した方が速いケースとかはあるので、結局はケースバイケース
フィボナッチ数列の計算とかは内包表記じゃ速くならない。
昔の、mapの方が内包表記より速いとかいうのはなくなったようだが。
綺麗なのが十分速くてメモリも消費しないなら、関数型言語が主流になってるはず。そうじゃないのは、やりくりしなくちゃいけないケースがあるからなんだよ。 numpyが下手に書いたC++より早いって思うと手放せない 行列計算ならnumpyやな
標準のlistでやってるの見たことない >>409
numptyは内部の関数はCで書かれているので、Pythonで書くより数倍は速い スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります 回避法なんぞ無い
普通のサーバーなら間隔数秒開ければほぼ大丈夫としか
LibraHackみたいに相手側のシステムの不具合でこっちが疑われる事もあるからなんとも マルチ質問は感心しないがそもそも気温湿度天候は死ぬほど気まぐれな指標でAIやってる人も触りたがらないほどだよ。
例えば確実に明日は雨が降るって予報が出てるときにあらかじめ洗濯しておこうって考える人はいるけどその予報そのものは遡れるようなログには残ってないからな。
結果としての天気は気象庁が残してるけど。
あとクリーニングとは関係しないだろうけど積分量としての暑さ寒さなんかも効いてくる行動が多数ある。
それをいきなりクリーニングと結びつけるのは無理を感じるな。
例えばappleとgoogleがそれぞれ都市単位で日毎に発表してるモバイル人流統計と天気で関係性を見つけられるかチャレンジしてみたら?
たぶん爆死するから。
雨が降ったら外出が減るというシンプルそうな関係性でも成り立たせるのは難しい。 >>400
>pythonはさくっと書けちゃうから余計につらい。
>本を読むとそういう書き方のループはあるべき書き方よりも絶望的に遅いから
numpy 使え >>413
今回の台風の予想進路が良い例だよな
予想と結果が違い過ぎる >>415
逆にこの進路が予報円として提示されたことをすげーと思ってる >>416
そうか?
日本海に抜ける予報円だったぞ? 「スクレイピングの勉強」のお題に突っ込んでも詮無いと思うがな。 >>411
5ch は、マルチポスト禁止!
同じ質問を、複数のスレや外部のサイトに書いてはいけない
こちらのスレに回答しておいた
【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/867 どんな悪質なマルチポストもこのルビ糞よりはマシだよ >5ch は、マルチポスト禁止!
>同じ質問を、複数のスレや外部のサイトに書いてはいけない
そんなルールあったっけ? 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか? マルチポストは答える気なくす効果があるだけで、
ルールとして禁止はされてないよ 自分で理由を考えようとしないオバカさんが増えたな
これがゆとりか? マルチポストしても、解決後に
マルチした全部にこういう感じで解決しました、とちゃんとフォロー出来るなら良いと思う。 マルチポストする奴に回答しても
返事すらよこさないからな 山ほど情報がある中でわざわざココで聞くなんて
もっとも効率悪いと思うので5chではマルチポストした方が効率良いだろう
マルチでも誰も困らないし答えたい奴が答えれば良いと思うわ Rubyガイジみたいにしつこいならともかく、2-3箇所に同じ質問したからといって
気を悪くする人の思考がよくわからん。
「俺は別の場所でもう読んだんだからまた同じモンを読ませんじゃねーよ」とか? >>428
マルチポスト問題は大昔あるけど
大体の問題はこれ(Wikipediaより)
・回答が複数のコミュニティーに分散してしまい、知識の集積という1コミュニティーの目的にそぐわない。
・ネット資源(サーバーや回線の能力)とて無限ではない。同じ内容の記事をばら撒くのは資源の無駄遣いといえる。
・その問題に関心のある人は類似した複数のコミュニティーに参加して新規投稿をチェックしていることが多いが、あちこちの同じ投稿に対してそれが本当に目新しい内容かを選別しなければならなくなる。
・他のコミュニティーで付けられた回答を知らずに同内容の回答を付けたり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力の大半が無駄になる。
・この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。
・回答者は知らず知らずの内に強制的に望んでもいない複数コミュニティとの回答競争へ参加した形になり、複数の回答から質問者が選ぶ構図は、まさに回答者への敬意が軽薄で、自分本位な軽率な行為であると捉えられるため。
ただ今の時代だと実感しづらいだろうなーってのはよく分かる
(コピペ解説サイト筆頭に、似たような情報が溢れかえってるし) >>430
そろそろネット資源のくだりは削除してもいいと思う… マルチポストなんかより同じ話題がループしてる方がよっぽどウザいよな
スクレイピングの法的リスクとか前にも揉めてただろ >>430
そのWikipediaの記事はマルチポストがマナー違反だと主張する側の意見でしかないな。
>・回答が複数のコミュニティーに分散してしまい、知識の集積という1コミュニティーの目的にそぐわない。
質問/回答する場が複数存在する時点で分散しているわけで、マルチポストの問題とみなすのがそもそもおかしい。
>・ネット資源(サーバーや回線の能力)とて無限ではない。同じ内容の記事をばら撒くのは資源の無駄遣いといえる。
単に資源の浪費といえば長文ポストも同じわけだがそれについては指摘されない。
netnewsではマルチポストではなくクロスポストを使えば使う資源が少ないという話が独り歩きしているんじゃないかね。 スクレイピングの質問してるのってrubyキチの自演だろ >>433
まあその2点は同意する
ただほかにも4点ほど書かれてるけどそれについての意見はないの? あえて書くなら
>・その問題に関心のある人は類似した複数のコミュニティーに参加して新規投稿をチェックしていることが多いが、あちこちの同じ投稿に対してそれが本当に目新しい内容かを選別しなければならなくなる。
選別なんてする必要ある?そもそも同じだと認識したからこそマルチポスト認定したんだろ。
>・他のコミュニティーで付けられた回答を知らずに同内容の回答を付けたり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力の大半が無駄になる。
知識の共有という面から見れば、一方のコミュニティーにしか参加していない人にとってその回答は無駄ではないだろう。
>・この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。
気分の問題かね?
能力を疑うわけじゃなくて時間的に都合が合う回答者がいないかもしれないからってことなら気分を害することもないと思うが。
>・回答者は知らず知らずの内に強制的に望んでもいない複数コミュニティとの回答競争へ参加した形になり、複数の回答から質問者が選ぶ構図は、まさに回答者への敬意が軽薄で、自分本位な軽率な行為であると捉えられるため。
なんだか日本語がよくわからないw >>437
> 選別なんてする必要ある?そもそも同じだと認識したからこそマルチポスト認定したんだろ。
同じと認識するにも労力かかる
って言うか読んでみたら一緒じゃんって言うのはゲンナリする要因
> 知識の共有という面から見れば、一方のコミュニティーにしか参加していない人にとってその回答は無駄ではないだろう。
そういう人が都合良くいつもいるわけじゃないだろ
> 能力を疑うわけじゃなくて時間的に都合が合う回答者がいないかもしれないからってことなら気分を害することもないと思うが。
数撃ちゃ当たるって思ってことには変わりない
そもそも時間を制約するとか何様なの?
> なんだか日本語がよくわからないw
結果として回答者が競争させられる形になるって話
気分は良くないわな マルチポストにイラついたときはマ●●ポストって置き換えると何かえっちなことみたいに見えて興奮できるよ! >>438
>同じと認識するにも労力かかる
そこで労力をかける理由がよくわからん。読んでみて同じと思ったら同じ、違うと思ったら違うじゃダメなのかね?
>って言うか読んでみたら一緒じゃんって言うのはゲンナリする要因
それはやっぱり「俺は別の場所でもう読んだんだからまた同じモンを読ませんじゃねーよ」ってことかね?
>そういう人が都合良くいつもいるわけじゃないだろ
回答者のことかな?だとしたらマルチポストをやめたからといって都合よくなるわけでもないだろう。
>数撃ちゃ当たるって思ってことには変わりない
>そもそも時間を制約するとか何様なの?
時間を節約することが悪なの?
>結果として回答者が競争させられる形になるって話
なんで競争になるのかよくわからない。
もしかして質問があったらそれが自分に対する挑戦だと受け取っちゃう感じ? >>440
> それはやっぱり「俺は別の場所でもう読んだんだからまた同じモンを読ませんじゃねーよ」ってことかね?
まあそう言うこと
> 回答者のことかな?だとしたらマルチポストをやめたからといって都合よくなるわけでもないだろう。
回答者じゃなくて「一方のコミュニティーにしか参加していない人で回答を必要としてた人」な
> 時間を節約することが悪なの?
制約の意味が理解できないの?
節約自体は悪いわけじゃないけどそのために回答者に本来不要な労苦を掛けてるということに気付こうね
> なんで競争になるのかよくわからない。
「知らず知らずの内」とか「結果として」って書いてある意味がわからんの?
回答者が別のスレ見たら同じ質問に対して別の人が回答してたら、なーんだ苦労して回答する必要なかったやんって思うだろ
> もしかして質問があったらそれが自分に対する挑戦だと受け取っちゃう感じ?
それ今の君じゃね?w
まあ回答率を上げるために複数のスレに質問投げたくなる気持ちはわかるけどそうしたいならその複数スレを書いとけばいい
ただそういう事するやつはたいてい>>425-426の言うようにその程度の配慮もできないことが多いから 「配列が何次元か確認したい」ってなんったんだよ。
一次元か二次元かで処理を変えたかったんだよね。
「え、どうやるの?」って思ったんだけど、グーグル先生に聞いたらアットいう間に答えを教えてくれたw >>441
>回答者じゃなくて「一方のコミュニティーにしか参加していない人で回答を必要としてた人」な
そういう人は普通に存在すると思うが?というかそっちの方が両方のコミュニティーに属している人より一般的だと思うが。
>節約自体は悪いわけじゃないけどそのために回答者に本来不要な労苦を掛けてるということに気付こうね
いやわからん。「本来不要な労苦」ってなに?
>回答者が別のスレ見たら同じ質問に対して別の人が回答してたら、なーんだ苦労して回答する必要なかったやんって思うだろ
それが競争と何の関係が?
それにそんな風に感じてしまう人にとっては、マルチじゃなくても自分が調べている間に他の人が先に回答したら
同じように思っちゃうんじゃね? >>443
> そういう人は普通に存在すると思うが?というかそっちの方が両方のコミュニティーに属している人より一般的だと思うが。
「回答を必要としてた人」を無視するのは都合が悪いからか?
> いやわからん。「本来不要な労苦」ってなに?
↓ 見てもわからんの?
>> 回答者が別のスレ見たら同じ質問に対して別の人が回答してたら、なーんだ苦労して回答する必要なかったやんって思うだろ
> それが競争と何の関係が?
競争という言葉は良くないかもしれないけど同じ質問に対して誰かと並行して回答するって話
> それにそんな風に感じてしまう人にとっては、マルチじゃなくても自分が調べている間に他の人が先に回答したら
> 同じように思っちゃうんじゃね?
それはそうだが同じスレなら誰かが回答したらそこで調査を打ち切れるだろ
別にマルチポストじゃなきゃ全てのケースでうまく行くなんて言ってるわけじゃなくて少しは配慮した方がお互いいいでしょってことね マルチポストする質問は、得てして釣りの時がある
だから、マルチポストと分かったときは回答をしないことにしている
「知っているが、オマエには教えない」ってやつだ なんだかんだ言おうと読む側の気分を害して回答が来ないリスクがある
それを鑑みてやるならば好きにしろとしか >>444
>「回答を必要としてた人」を無視するのは都合が悪いからか?
「回答を必要としてた人」が必ずしも存在しないというならその知識の共有も不要ってことになるが。
解決したらその結果を共有すべきだとか言ってなかった?それも要らないというなら別にいいが。
そうであれば、質問した複数のコミュニティーの一方にだけ回答があっても全然問題ないということになる。
>↓ 見てもわからんの?
>>> 回答者が別のスレ見たら同じ質問に対して別の人が回答してたら、なーんだ苦労して回答する必要なかったやんって思うだろ
>競争という言葉は良くないかもしれないけど同じ質問に対して誰かと並行して回答するって話
つまり最初に回答した人だけが努力が報われて、出遅れた人はわざわざ調べた努力が無駄になると、そういうことなのかな?
やっぱりマルチは関係ないしその回答者の意識の問題のように思えるが。
>それはそうだが同じスレなら誰かが回答したらそこで調査を打ち切れるだろ
マルチだと知っている人は打ち切ればいいじゃん。
>別にマルチポストじゃなきゃ全てのケースでうまく行くなんて言ってるわけじゃなくて少しは配慮した方がお互いいいでしょってことね
その「配慮」がよくわからん。2-3箇所くらいなら別に目くじら立てずにスルーしときゃ問題ないと思うが。 もちろん、目下の人がハンコを斜めに押さないと気分を害する人が存在するのは否定しないし
そういう人に合わせてやる必要がある場面もあることは承知しているが、それがマナーだと
謎マナーを広めようとする似非マナー講師には反論していきたい。 ってかここでマルチポスト何が悪いのかって煽ってる時点で荒らし。
YahooでもGoogleでも散々回答書いてあるから全部読んで自分なりの解釈をそれら全部にレス付けておいでよ。
そのポインタだけここに置いてってくれ。その労力を何とも思わないならそこから何故って議論になる。
俺は読まないけどそれも含めて。 >>447
> 「回答を必要としてた人」が必ずしも存在しないというならその知識の共有も不要ってことになるが。
そうだよ、そのスレではね
> 解決したらその結果を共有すべきだとか言ってなかった?
そんなことは言ってないよ
共有と集積の違いぐらいはわかるよね?
> つまり最初に回答した人だけが努力が報われて、出遅れた人はわざわざ調べた努力が無駄になると、そういうことなのかな?
そう言うこと
> やっぱりマルチは関係ないしその回答者の意識の問題のように思えるが。
マルチだとその可能性が上がる
> マルチだと知っている人は打ち切ればいいじゃん。
マルチだと判るのは回答して違うスレを見た時
> その「配慮」がよくわからん。2-3箇所くらいなら別に目くじら立てずにスルーしときゃ問題ないと思うが。
未来予知でもしろってかw 自分のことしか考えていないから、何言ってもマルチをするやつはやるんだよ
基本的にはやめてほしいスタンスだが、マルチされてもスルーすれば済む話かなかなとは思ってる
マルチに限らず、脱線した話題とかもそうだけど、
たまたまそこで見かけたからこそ有用な情報になったという場合もあるということについて、
完全には否定はできないのが悩ましいところ
まぁ、ルールと言うより暗黙の了解、マナーと言ったところか 短期的な視野で見たらマルチは正解だと思う
ただ長期的には>>446の言うように回答者が回答しなくなるからそういう配慮をした方が良いんじゃないかなってことなんだけど (ワッチョイ d75f-d8kw) には理解できないんだろうな 正解とか言っちゃう時点でおかしいだろ
そういうふうに割り切れるものじゃない マルチポストした香具師への解答は同様にマルチで返すのが良い
つまり
AスレBスレCスレにマルチされているとしたら
Aスレに前半
Bスレに後半
Cスレに中盤
くらいの分割解答をする よりによってスクレイピングの質問でマルチってのが皮肉ぽくて笑えるんだがw 質問ですがPythonで
if True:
文1
文2
...
文n みたいに無条件に入って出るだけのブロックってもっと簡単に書く方法はありませんか、
単体テストコードをコピペで数いっぱい作るときにC/C++やPerlとかだと
void FooTest() {
{
const int x = 1;
const int y = 2;
(x, yをパラメータとする簡単なテストコード)
}
{
const int x = 3;
const int y = 4;
(x, yをパラメータとする簡単なテストコード)
}
{
const int x = 5;
const int y = 6;
(x, yをパラメータとする簡単なテストコード)
}
...
}
みたいにコピペで数いっぱい作るるんですけども、 少なくともその例なら{}で囲う必要が無い
気にせず空行で区切るなりして並べて書いて行けば良い google colaboratoryでAIのプログラムを走らせながら勉強しています。
多層パーセプトロンのパラメータをしょっちゅう変えるのですが、変えるたびに記録としてソースコードを別名保存するのが面倒です。
Python実行時に自身のソースコードをテキストファイルか何かに書き出すことはできませんか?
よろしくお願いします。 >>460
>少なくともその例なら{}で囲う必要が無い
あります
xとyのスコープが区切られねばC++/Cではコンパイルエラーになるし、
Pythonでもテストの独立性を記述レベルで担保する必要がある
さもないと、誰かが途中でパラメータ名xを一か所x2に変えるだけでその後のテストがイミフになりかねない >>462
何がしたいのかよく分からんけど、
複数のパラメータテストしたいなら
Pytestでparametrize辺り使うとすっきり書ける Python向いてないんだからさっさとC++使えよ >>463
何がしたいのかというと、(>>459にも書いたあるが)単体テストコードをコピペで数いっぱい作りたいのでつ、
Pytestでparametrizeみたいな仕組みがあることは予期してた
しかし、例えばPytestでparametrizeでパラメータ数20個のテストメソッドを書いて、
ふとちょっとだけ条件を変えたパラメータ数21個のテストを書きたくなった時、
既存のテストコードを壊さないために、
結局パラメータ数20個の既存のテストメソッドはそのままにして、それをコピペしてちょっと変えて
パラメータ数21個の新しいテストメソッドを作ることになるわけじゃん?
{ }でスコープを分けてコピペするのに対して省力化になっらない見込み…… >>465
>何がしたいのかというと、(>>459にも書いたあるが)単体テストコードをコピペで数いっぱい作りたいのでつ、
まずこの辺の考え方がま理解できん
テストコードも重複させないように書くし、必要に応じてヘルパーメソッド作って対応とかする
その辺のテストコードの書き方については
・テスト駆動開発
・レガシーコードからの脱却
・テスト駆動Python
辺りを読むとすっきりというか理解できると思う >>462
Pythonではifやforではスコープが出来ない(ブロックスコープがない)ので、
見やすさ以外では意味がない
スコープ作りたいならdefして呼び出さないと意味がない
個人的にはもっともPython4系で改善して欲しいところ >>466
りょーかい
>>467
>Pythonではifやforではスコープが出来ない(ブロックスコープがない)ので、
えっ
しかしまあラムダ式という奥の手があるかもしれん……
Pythonにおける変数のキャプチャの仕様は知らんけど >>468
ラムダはできることが限られるので、黒魔術を駆使しなければブロックスコープの代わりにはならないよ
def hoge():
pass
hoge()するのが一番ベストだと思うな >>461
各スクリプトのパスが__file__って所に入ってる。
んで、shutil.copy2(__file__,"出力ファイル名")とかで複製すればおk >>471
google colaboratoryやjupyter notebookは.pyファイルではないので、__file__はありませんでした。
どうやらメニューの「編集−セルまたは選択範囲をコピー」をpythonから実行するコマンドを見つける必要がありそうです。 >>475
テストにうんこって入れるのは止めようって言ってたおじさんにむっちゃ怒られそう。
でもコロナ前に小学校の訪問授業でスクラッチ使ってウンコ点滅させてる男子がいたわ。(点滅は教えてない)
複数のうんこがイグザイルみたいにローリングする方法を教えてあげたらそのオスガキはふざけるのも忘れて職人の目になってて改造し始めて素質あるなって思った。
ちなみに隣の席の女の子はプログラミング全般まったく興味ないみたいで俺らのやり取りを氷のような目で見てた。
でもオジサンは君の膨らみかけのおっぱいがキャミの脇部分から見えそうで見えなくてギンギンなってたけどな。 google colabほとんど使ったことないけど
%%writefileとか!mvとかを組み合わせてなんとかならんの? >>478
「マジックコマンド」は知りませんでした。ありがとうございます。
以下の方法で目的にかなり近づきました。
(1)一つ目のセルにセルコマンドを入れ、ソースプログラムを保存する
%%writefile drive/MyDrive/data/ai.py
from keras import layers
・・・
#モデルの定義
model = models.Sequential()
weight_decay = 1e-3 #正則化パラメータ
model.add(layers.Conv2D(32, (3, 3),
activation='relu',
kernel_regularizer=regularizers.l2(weight_decay),
input_shape=(256, 256, 1)))
・・・
(2)二つ目のセルに.pyの実行コマンドを入れる
%run drive/MyDrive/data/ai.py
(おわり)
セル実行ボタンを押す操作が増えましたが、どの道google driveをマウントする手間もあるのでそうでもありません。 モジュールの中身で...がdef文の後ろに書いてあるんだけどellipsisってなんなん? Noneではない何かでどう扱うかはまちまち
実装者のセンスによるからドキュメンテーション上しっくりこないケースもあるかもね if a:
と書くのも
if a is not None:
と書くのも同じことですか? ありがとうございます
aがクラスのインスタンスだった場合も二つの記述の意味はことなるでしょうか __bool__()とか__len__()があります o = None
o = Obj()
〜〜
if o: # ★
....o.close()
....o = None
ちょっと上のコードがおかしなように感じてきましたが、
★のように判定したい場合、Obj では __bool__ を実装する必要がありますか(そうするのが普通でしょうか)?
すみません、python初学者なもので…
Noneを代入した時点と、Objのインスタンスを代入した時点とではデータ型も違うし、if の時点でのoの型は分からない前提としたいし、型のない言語ムズカシイデース… pyodbcを使っていますが、pyodbc.Connectionやpyodbc.Cursorでは__bool__を実装していないようなので、不要なのかな、__bool__の実装はゴニョゴニョ… >>491
すみません、おっしゃることが理解できませんでした
でも、ありがとうございました >>492
>>> isinstance(0, int)
True
0もintクラスのインスタンス ありがとうございます
たしかにおっしゃるとおりですね
intはプリミティブではないですね(pythonにはプリミティブはないですね)
pythonを始めたばかりですが、苦戦しています… if a is not None:
と書くのも
if not a is None:
と書くのも同じことですか? 同じですん
a is not None => a "is not" None => not (a is None) => not a is None 同じですが、前者がよいと今日読んだ本に
ですが、
if a is not None:
が
if a is (not None):
、
if not a is None:
が
if not (a is None):
なら、後者の方が素直に感じるのは日本語で考えるからかな…(aがNone ではない)
自分だけかしら if a /is not/ None:
なんですか⁈! 関係ないけど3値論理って業界入った頃に教えられてこんな分かりにくいもん覚えんくっても誰か根本的に解決した言語なりライブラリなり出すやろって思ったら全然そんなことないっていう。 if (not a) is None:
の可能性は? 調べてみると、pythonでは "not in"、"is not"は一つの演算子なんですね… Windows 10 64 bitでPython 3.8 64-bit入れたらPython launcherも一緒に入ってきたんですが
これってこの後Python 3.9 32-bitを入れても区別してくれる?
つなみになんで今更32-bitかというと、Pyinstallerで32 bitのバイナリを作りたいから 何が起こるかとどう対処すれば良いか判ってるなら好きにすればいいけど
知らないならおとなしくVirtual環境用意してそっちに入れろ くだすれで>>411と同じ内容を書いた者ですが、こちらにマルチはしてません
他の板でも他人のレスを内容問わず勝手に転載してる人を見ましたが荒らし界隈では流行ってるのでしょうか 教えてください
Windowsのノートにandroid studio入れてるんですが、Python勉強するなら別の(公式?)開発環境入れてやる方がベターですよね? android studioでPython開発出来るかどうかよくわかってないのに変な質問しちゃいました すみません >>511
それならPyCharmで良いぞ
AndroidStudioというか、JetBrainsのIDE(開発環境)は基本UIが全部一緒にした上で
各言語ごとに特化した機能を追加してるっていう感じになってるから
PyCharmの方が使いやすい(無償版もあるし)
(UIも一緒だから移行してもすぐ慣れる) visual studio並みにメソッドとかサラサラ出てくるpython向けのIDEないの? 内包表記でもforループでもいいんだけど、ループの一つ先の要素を取り出すスマートな方法ってありますか?
MP3の分割ツールを作っていて、[ [開始時刻1, 曲名1,etc,,], [開始時刻2,曲名2,,,] ]みたいなデータを元にしてますが、
1曲目を切り出すには、開始時刻1と開始時刻2の情報が必要です。
enumerateを使ってインデックス指定でやるとか、ロジックでゴリゴリ書くのは思いつきますが、あんまりPythonicじゃない気が・・ >>520
最初に全レコード舐めて開始1のレコードに2を追加しておくのじゃ駄目なん? 前の曲の情報を覚えておいて2周目に1曲目の処理すりゃいいんじゃないかと >>520
[ (x, y) for x, y in zip_longest(music_list, music_list[1:]) ]
で
[(1曲目, 2曲目), (2曲目, 3曲目), (3曲目, None)]
になる >>521-523
みなさんレスどうもです
zip_longestを使う方法が一番Pythonっぽいので、これを元に実装したらうまくいきました
普通のzipしか知らなかったので勉強になります more_itertools.peekable
とか
itertoolsにpeekくらいあってもいいのに 同じようなことプログラム書いてやってるが
二曲目の情報を先読みして一曲目の終了時刻にセットしている
全レコードの最期に全体の演奏時間を書いたレコードを追加が必要になる pythonのプログラムをexeファイル化しようとpyinstallerを使っているのですが、
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
[23504] Failed to execute script 'pyi_rth_certifi' due to unhandled exception!
と出て作成したexeファイルがうまく動きません。
specファイルのhiddenimportsにpyi_rth_certifiを入れたり試行錯誤しても何も状況が変わらず、、、どうしたらいいのでしょうか
環境はWin10のAnaconda使ってます forとインデックスでやるのが一番いいと思う。
そもそもPythonicってなんだ?
無理矢理関数型「っぽく」やることか? 関数型プログラミングは逆にpythonぽくないよなぁ linterでpep8チェックして通ればそれでよくね? > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw >>510
質問者ですが2.7.x-64と3.8.0-64が入っているところに3.8.6-32を入れたのですだが
py -3.8-32とかやっても駄目で、"py.ini"で指定してやらないと3.8.6-32に切り替わってくれませなんだ、
しかしそれ以外は多分OK
なお pyinstaller やろうとしたらScriptsパスのフォルダ指定がちょっと手間やった
py -0p でpython.exeのパスを出して、今現在の環境のpython.exeのディレクトリパス + "Scripts"
というのをPATHに追加してpyinstall する必要があ
った、が
最終的にできた そうや Scriptsフォルダのパスの設定は py -m pip intall するときも必要やったのを追記、 ローカルでbatファイルから
~~~\python.exe c\~~~~.py
って動かすと最後まで動くのだが、このbatファイルをリモートで動かすと
python内部で利用しているライブラリ(xlwings)が原因で動かなくなる
他のライブラリは動くしxlwingsに何かがあるのだろうか・・。 >>539
psexecの-iオプションはつけてる? >>539
たぶんVBAでやっても同じ事になるはず
セキュリティの問題でしょう 3.9.7 ダウンロードして、インストしたら、tkintet でエラーがでた。
(3.9.2で使用できていたのに)
tk-dev tk8.6 tk8,6−devもインストして、 .configure からし直したら
使用できるようになりましたとさ。 デブが足りなかった。めでたしめでたし。 次のように、オブジェクトにはメソッドを後付けできます(できてしまいます)
class C:
....pass
x = C()
x.fn = lambda p: print(p)
しかし、次のようなことは不可能なようです
x = 1
x.fn = lambda p: print(p) # no attr "fn"
後者のように、後付けができないようにする方法はあるのでしょうか
何か大きな勘違いをしている気もしますが… >>543
Cは__dict__が有効だからで__slots__を定義してあげる >>544
ありがとうございます
さっそく __slots__ について調べてみます! >>544
期待したとおりになりました
ありがとうございます
助かりました 何故かlambdaをランバダ→ラムダとワンステップ多く脳内変換してしまうんだよなぁ pearlという名前のプログラミング言語が既に存在していたそうだ anaconda3って最新の無償バージョンは商用不可らしいんだけど、昔のバージョン(2019.10)を使えば別に商用に使ってもいいの? Venv+pip
Pipenv
どちらかに移行すれ Miniconda + conda forgeなら商用にはならんてよ 結局pip使っちゃうからconda使わない方がいいよね anaconda環境滅茶苦茶にするから
venv+pipがいいよ pip install --user で色々入れてるわ
環境壊れたら丸々ディレクトリ削除
venvも面倒くさい pythonやってると明けても暮れてもピップピップで嫌になっちゃうよな pipを触るのは初めにpoetry入れるときだけだな >>563
うーん。2019.10の時に商用に関しては何ものべてなかったのに、後で商用有償とかいっても、前のバージョンには遡及できないと思うんだけど。 規約変更前に合法的に入手したものはその時の条件で使い続けてもいいけど
今から新規にコピーするなら今の条件に従う必要がある、ってのがよくあるパターン。 >>572
あー。、なるほどね。
でも「知らなかった」と、言い張ればいいんじゃないかなあ?
少なくともインストール最初に出てくる規約がめんには商用不可なんて書いてないから。 仮に悪意が無かったことを証明できたとしてもそれはそれ、これはこれ。
少なくとも発覚した時点でそのまま無償で使い続けることはできないし、
場合によってはその間のライセンス料が請求される可能性もある。 「大規模な」商用利用と言う事はそれなりの企業になると思うが
「知らなかった」なんて子供みたいな言い訳する企業と取引継続するんだろうか python3.10 安定板 でたけど、なんば が入れられない。
llvmlite が 3.10にはいれられらなくて・・・
アップデート待つか。pyaudio みたいにならなければいいけど プログラマに半角全角入り混じった文字列を見せ続けると死ぬってネタあったな(元ネタは鉄アレイ) >>574
で、そもそも前のバージョンに遡及するという扱いになるのかな?
まあ、そうはいっても乗り換える記事が多いところを見るとみんな面倒を避けてるんだろうねえ。 >>580
Unicodeに入れたアホにいってください >>579
昔はあったな、なぜ英語圏に生まれなかったんだ。って思ったよw >>584
>で、そもそも前のバージョンに遡及するという扱いになるのかな?
過去のバージョンであってもライセンス条件を変えて新規に配布されたならそうなる。
>>572で書いたように以前の条件で入手したものは使い続けていい。 3.6(サポート12月まで)は、もう見限って、3.9に移行する? > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw 2021年10月のTIOBE Indexの順位およびレーティングは以下の通り。
1位:Python:11.27%
2位:C:11.16%
3位:JAVA:10.46%
4位:C++:7.5%
5位:C#:5.26%
6位:Visual Basic(Visual Basic .NET):5.24%
7位:JavaScript:2.19%
8位:SQL:2.17%
9位:PHP:2.1%
10位:Assembly language:2.06%
11位:Classic Visual Basic:1.83%
12位:Go:1.28%
13位:MATLAB:1.2%
14位:R:1.2%
15位:Groovy:1.18%
16位:Ruby:1.12%
17位:Swift:1.11%
18位:Fortran:1.08%
19位:Perl:0.37%
20位:Delphi/Object Pascal:0.93% >>594
これ見てなんでSQLが?と思ったらチューリング完全なのね
知らなかったわ TIOBEのindexは公式のグラフが裏でjsonか何か持ってて開発者ツールとかで簡単にダウンロードできる。
なのに弊社の人財開発室のおじいちゃん達が頑張ってスクショして見せたい部分を点線で囲んでたわ。
Cの人間をモダンな言語に再配置してDXだみたいなこと言っててため息が出たわ。
研修業者にいくら流し込む気だろうか。
pythonなんてAI関連は別としてまともな研修業者いるのか? スクラッチで書くなら別だけど経験者なら研修なんていらないでしょ
flake8厳守してライブラリの選定さえ間違えなければ Python向けのAIライブラリはすべてC++で書かれてるってこともおじいちゃんたちに教えてあげたほうがいいね 【プログラミング】開発者が好きなスキルランキングTOP38! 1位は「Rust」【2021年版】
https://nlab.itmedia.co.jp/research/articles/354450/
Python は6位(67.83%)だって TIOBEはいつもGroovyの順位が謎なんだよなぁ。Grailsのせい? Grails を使っている人は、いない
Spring Boot だろう 5ちゃんねるで特定の文字を入れてスレを立てると、10秒後にbotで自動で書き込まれる文章があります
参考「キズナアイの声が替わった」ニコニコ大百科
http://urx.red/0iPZ
こちら、Pythonというものでしょうか?
この自動書き込みのbotって市場で出回っていませんか? pythonは神言語
要望があれば俺のDDOSツールハイフシマス pythonのメインクラスにクソ長い処理書くおじいちゃんプログラマに対して最初に教えるべきことってなんだろ。
尋ねてはないけど多分バブルソートくらいならサラで書けそうなレベル感の人。
流石にクイックソートは無理だと思うけど。 >>609
SRP
ソートを書けるかどうかでプログラマーのレベルを測ろうとしてるキミも結構なおじいちゃん臭がしまっせ 某所で仕事の打合せ中に、バイナリーサーチの
性能について延々と説明された事がある。
こいつら馬鹿かと思った。
因みにP社 >>609
単純に長いと困る理由を上げればいいんでは
読み手の負担が増えて作業コスト増えるし
テストコード書けないからリファクタ(保守)コストも増える
故意なら背任行為だよ 関数は画面に収まるサイズ、100行以内でお願いしたい。 >>613
COBOL時代の設計と思われるんだが給与システムの社員の属性で何十個もある2値のフラグをわざわざ16進数に置き換えて6eとか3fとかいう表現でDBに格納してるのは5年くらい前に見た。
昔はシーケンシャルに全レコード検査するときにバイナリのXOR演算とか使うとフィルターとか集計しやすかったのかもしれん。
度重なる改修で昔はこうやっていたであろうCOBOLライクな2値演算のコードと単純なif比較とSQLとが混ざって恐ろしい感じだった。
変数もIKUKYUとかだし。 以前参加していたプロジェクトは1CUで1プログラム、
各プログラムは関数一つ毎にドキュメント書かされていた
それで多くのプログラムが初期処理、メイン処理、終了処理の三つしかなく
それぞれがくじらのような関数になっていた
とりわけメインは業務処理のほぼ全部がぶち込まれていたので
3000行を超えるものがほとんどだったな d : dictionary
「for i in d.keys():」というforループの中で、dの内容を変更するプログラムを書いてエラーが出ました。
これはなぜエラーが出るのか納得し、以下のように修正しました。
d_keys = d.keys()
for i in d_keys:
これでもエラーが出ました。
このエラーの原因も理解しました。
そこで、以下のように修正しました。
import copy
d = {0: 0}
d_keys = copy.copy(d.keys())
for i in d_keys:
これでも、「cannot pickle 'dict_keys' object」というエラーが出てしまいました。
これはどういう意味でしょうか?
また解決策はありますでしょうか?
import copy
d = {0: 0}
d_keys = list(d.keys())
for i in d_keys:
とすればよいのでしょうが、'dict_keys' objectのままコピーはできないでしょうか?
一旦listに変換するのは不純な気がしますので。 訂正します:
d : dictionary
「for i in d.keys():」というforループの中で、dの内容を変更するプログラムを書いてエラーが出ました。
これはなぜエラーが出るのか納得し、以下のように修正しました。
d_keys = d.keys()
for i in d_keys:
これでもエラーが出ました。
このエラーの原因も理解しました。
そこで、以下のように修正しました。
import copy
d_keys = copy.copy(d.keys())
for i in d_keys:
これでも、「cannot pickle 'dict_keys' object」というエラーが出てしまいました。
これはどういう意味でしょうか?
また解決策はありますでしょうか?
import copy
d_keys = list(d.keys())
for i in d_keys:
とすればよいのでしょうが、'dict_keys' objectのままコピーはできないでしょうか?
一旦listに変換するのは不純な気がしますので。 >>616
COBOL→Java移行とか、そういう場合どうするんだろうな >>620
何をしたいのかを書いたほうがいいと思う >>622
https://atcoder.jp/contests/abc142/tasks/abc142_e
↑の問題の解答のコードを作りました。それが以下です:
https://ideone.com/gdH4pF
このコードの16行目の「d_keys = list(d.keys()」で'dict_keys' objectをリストに変換しています。
'dict_keys' objectのままd_keysにコピーすることはできないでしょうか? >>623
自分だったらd_keysやめて17行目を以下にするかな
for j in tuple(d.keys()):
最大12回だからlist()でも全然問題ないと思うけど すまん1000回だった
どっちにしろオーバーヘッド気にするような内容じゃないと思う 都度コピー(写像)つくるかコンテナ構造を見直す方がスッキリ
Pythonだと変わらんけど
可能なら値の書き換えしないアルゴリズムのが良い 初心者スレにもそういうの来てるけど
そんなの気にするならC/C++かrustで書け pythonでブラウザーを扱うなんてやらないだろうな。って思ってたんだけど
最近 selenium と firefox の組み合わせで書いてるw
HTMLでプログラム組んだこと無いんで、始めは取っ付きくいけど、なれるとサクサクかけるね。
でも、wait処理 が上手く行かない時があるだよね。 >>624
tupleもいらないだろ。
dict.keys()はiterable(もどき?)なんだから。 辞書のキーに変更があるような処理をしたくてコピーして処理したいんじゃないか?わからないけど
コピーしたいならtupleでもlistでもいいんじゃない みなさん、ありがとうございました。
>>630
そうです。
ただ、tupleやlistに変換してコピーするのではなく、'dict_keys' objectのままコピーしたいです。
そのほうが自然だからです。 辞書があっての辞書キーオブジェクトなんだから辞書ごとコピーしなけりゃ無理じゃない?
キーだけならリストやタプルの方が自然だと思うけど 辞書キーオブジェクトを別の変数に代入して使ったことないからわからないけど、
たぶんもとの辞書をいじってキーの増減があったら辞書キーオブジェクトもかわっちゃうんじゃないかな。
だからある時点のキー一覧を保存しておきたいという意味では辞書キーオブジェクトをコピーする意味はないよ。 キーでループしてるのにキーの増減とか鼻からぞうさんだろ >>631
これじゃいかんのか?
for j in d.copy(): > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw ためしに実行時間比べてみたら、d.copy().keys()が最速だね
それを基準に、tupleが+1.5%、listが+32.1%
やっぱlistは遅いね
今回の使い方なら無視できるレベルだけど >>637,639
辞書自身はコピーできるんですね。
ありがとうございました。 Pythonやるなら数学は必要ですよ
数学できない人はPython諦めなさい べつにしらんくても使えるし
いるときはほかの言語でもいる なんでpythonだと数学の知識が必要だと思ったのかその理由が興味ある Python書ける事自体は簡単過ぎてアドバンテージにならないから専門知識で差をつけるしかないというのならわかる しかしPythonを覚えても実務じゃ役に立たないというジレンマ Pythonが簡単すぎてと言うなら何故PythonではなくPHPを選ぶのだろうか PHPは漢字が難しいからといってハングルばかりにした朝鮮語状態
最近は日本語もひらがな表記ばかりを推し進めるパヨクに注意な python自体はどうでもいいんだが
control.pyが(octaveよりも)優秀すぎるので
しょうがなくpython使ってる。 いいとはいわんが
なんでPythonなんだと
常々思う 面接に来る子もPythonやってるの多いけどさあ
PythonのWeb仕事なんか日本には無いよって言うと愕然としてんだよね
いやーリサーチ足らないでしょ >>651
特定の言語ができるかできないかって面接で重要ですか?
なにか一つでもできる言語があれば、他の言語は簡単にわかりますよね。
PythonとCの両方ができればOKのような気がするんですが。
駄目ですか? 組み込み系のソフトで
機械学習のためにpython
という手はないんだろうか
組み込みソフト内で
何かの判断に機械学習を使うという
パターン >>653
学習済みのモデルを使って推論だけ端末側でやるのはわりとある
もちろん端末側にPythonは不要 >>652
何か特定の業務分野で深く突っ込んだ経験が欲しい。
業務関係なら人事給与でもいいしネットワーク周りとかの低レイヤーでもいい。
あるいは技術支援部隊とかで画面なら画面のバグ改修だけずっとやってたのでもいい。
火消しの増援部隊専門とかで3ヶ月や半年くらいの中途半端に色々な現場を点々としてる人も悪くはないんだけどね。
薄く広く色々知ってるから軽く説明しただけで色々と理解してもらえて即戦力なところが心強い傾向。
ただどうせまたすぐ次の仕事始まるしみたいな考えがあって悪くいうとその場しのぎというか無責任に対処する癖みたいなのが付いちゃってる人が多い気がする。
ひとつの部隊で5年とか勤め上げた経験がある人はいつか自分に返ってくるかもしれないからとコードの書き方とかレビューとかで手抜かない人が多い。
あとデブは臭いからダメ。 >>652
>>PythonとC
微妙だな
PythonとJavaならどこのSIerでも行けるよ >>651
Pythonは発展途上言語だからね
実ビジネスシーンで実例が少ないしインタープリターの遅さが足を引っ張ってる >>658
Cは低レイヤの理解に必要
JavaとかCOBOL以上に未来のない言語 理想的な言語と実際に世の中で使われている多数派の言語は違うんですか? >>662
違うよ
Javaは資産多いから仕事は腐るほど有る Javaで作られてる仕事の何十%はPythonでいい
PHPで作られてる仕事の8割はPythonでいい
とりあえずPHPを淘汰してPythonにしたほうが良いと思うけどね >>651
PythonできたらJSも簡単だろ
cもそんなむずくないぞ なぜかCAEの分野で、ユーザーによる機能拡張スクリプトはPythonが多いんだよな。
理由はわからんのだけど。 それは逆で、特に他のものをあえて選ぶ理由がないからPythonなんだよ
USではスクリプト言語イコールPythonだからな >>657
俺同じバンドで20年以上ギター弾いてます >>673
個人的には、ifとかを、endif とか }で閉じないのは
ゴミ袋の底が空いてて、中身が溢れる様な気がするんですよねぇ。
(そのくせ、可読性の為だけにifの後ろには:があるのにさ) YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、Ruby on Rails だけ。
キャリアパスも、Rails → Go のみ
Java, PHP は新規プロジェクトが無い。
保守は低価格だから、勧めない
ベンチャー・新規のウェブサービスでは、Rails ばかり。
若い女の娘が1人で起業した、食べチョクもそう
Python は、AI・機械学習が主だから、
プログラマーじゃなく、大学院数学科が求められている。
だから、KENTA が教えないわけ
文系に教えても転職できないから、サロンの評判が悪くなる。
文系でポートフォリオで転職できるのは、Rails, AWS, Docker だけ KENTA が言ってる
新しい言語で、普及のキャズムを越えたのは、Go だけ。
Rust, Elixir も、越えられなかった
だから、Rails → Go というキャリアパスしかない
Rustが出来ても、転職できない 日本のIT業界はアスペだらけだから
アスペはPython嫌いなのよ
定型発達はPythonが好き
この違い C/C++を書けるけど、この領域の実装はRustに乗り換えてるし
javaも書けるけど、C#やPythonに乗り換え気味だし
pythonとjsだけだな。長く使ってて、これからも現役で戦ってくれそうな言語は スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか? >>685
君くらいの犯罪者ならその程度は今更でしょ >>685
対象による
対象が嫌がれば訴えられる危険性はあり、
訴えが認められるかはまた別問題且つ前例がない >>685
ネタループしてるから得意のスクレイピングで過去スレ探せ 釣
345 名前: デフォルトの名無しさん (ワッチョイ 9fb1-ZO17) [sage] 投稿日: 2021/10/20(水) 02:49:58.32 ID:7Ch1Hu5l0
スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか? 京都大学、Pythonの基本を解説した無料の教科書「素晴らしすぎる」「非常にわかりやすくて良い」
https://ledge.ai/kyoto-u-ac-python/ Python勉強しても仕事で大規模プログラム書くわけじゃないからな
機械学習プロジェクトもライブラリを呼ぶだけだし >>696
Javaでstruts1or2かseasarに精通してる人。
今さら重い腰を上げてる会社がまだゴロゴロある。 >>698
昨日NHKのEテレで中國人留学生が初めて日本に来た時
スーツケースいっぱいに饅頭を詰めて持って来たって話をしていたが
密輸入で捕まらんかな python組み込みで使うけど、GILで困ることが多い
がっつり使い込むものじゃないな 日本では饅頭の下に小判を入れるしきたりなんだけど大丈夫かな?
その中国人が逆ギレして役所の廊下で切りつけ事件を起こさないか心配 >>701
組み込みでマルチスレッド多用するってこと? Pythonを実ビジネスシーンで使う例がチラホラ出て来てるけどJavaみたいに普及するかはライセンスフリーが維持されるかどうかだね AtCoderとKaggleだったらどっちをやったほうが有利ですか? >>705
高学歴ならKaggle
低学歴ならAtCoder >>706
AtCoderのほうは高IQが必要
Kaggleのほうは総合力が必要
というイメージですが、合ってますか? >>707
低学歴がKaggleの腕を磨いたところでそれを活かせる職に就くことは難しいので、
一般的なコーディング力を鍛えたほうが役に立つということだ >>707
コンペ入賞歴は加点要素にならない可能性がある
仕事では単純な手法の方が好まれることもあるから >>705
少し突っ込んで話聞いてみてAI周りを頑張ってるタイプだったら興味なし。
前処理の画像処理や形態素あたりに工夫ができる人の方が欲しい。
AI周りが上手い人間を育てるよりGAFAMの天才が新しいやり方を世に出すサイクルの方が明らかに早い。
一方で身の回りの汚いデータをAIが食えるようにするのはどこまでも付いて回る話。 Kaggleは前処理で勝負するコンペだからデータサイエンティストの実務能力に直結してる
金を穫れるレベルなら面接ぐらいは通るだろう 教えてください
「keyerrorがでるけどどこがだめなのかわからない」 https://teratail.com/questions/365802?sip=n0070000_019&uid=199109 #teratail #python 寺では返信するくせに同板マルチしてるこっちではスルーだから
善意で回答くれる方が不憫 > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw スクレイピングでタイマー入れてリクエストを遅らせるじゃん?
あれってサーバー負荷を考えてのことよね。
サーバーが落ちる条件ってさ一秒間ないし何かしらの単位時間当たりのアクセス数よね。
リブラハックの時に400リクエスト/hのサーバー性能って話があったと思うんだけど、それは一分間に399回リクエスト送って残りの59分は0リクエストだったら落ちないって話じゃないよね?60分を400リクエストで割った時間は最低でもタイマー入れておかないと落ちるって話よね? >>719
ところがlibrahack事件はブログラムにバグがあり、
前者のような実装だったという笑えない事案 >>720
あれって、サーバー性能じゃなくてサーバーを保護するためにレスポンスが一定超えると落ちるようになってたってこと?こわw
一般的なサーバーの性能としては単位時間当たりのレスポンスつまりは>>719の後者の仕様なんだよね? あれって三菱電機子会社のセッション管理に問題があって普通じゃ考えられないような低負荷でも落ちたんじゃなかった?
うろ覚えだけど新着図書をスクレイピングするだけだったのがサーバ側ではページネーションのために前のユーザがどこまで表示したか覚えてたりとかなんとか。
それだと低頻度でもcookie捨てて新しいセッションでどんどんアクセスしたらサーバからしたはキツいだろうし。 岡崎・HP障害 サイバー攻撃のはずが 原因、実は図書館ソフトに不具合 改修始まる
http://librahack.jp/newspapers/
悪質なのは、メーカーが当初不具合を認めず、
ハードの性能に問題があるとして設備更新を誘導していたこと
設備更新した他の図書館には修正済みソフトが入っていたが、
岡崎図書館は設備更新を断ったため、修正版が入っていなかった ほんと図書館話よく釣れるね
語りたくてウズウズしてんだろうな いや、おれは図書館の話したいわけじゃないんだ。
例に出して悪かった。
漫画RAWをスクレイピングして、購読中の漫画が更新されているか確認するプログラム作ったんだけど
スクレイピング対象の性質的に訴えられることもないと踏んでタイマーを0.1秒にしてるんだわ
ただ、それでも30個くらいの購読タイトルを巡回するだけで30秒くらいかかってる。
0.1どころかそもそも無くそうかなって思ってるんだけど、0にしたらサーバー落ちたりするんだろうか?
リクエストの数が数十件程度ならタイマーなんて不要じゃないのかなって。
それが本題 三菱って空調でもやらかしてるし車でもやらかしてるし
色々体質的な問題を孕んでるのかね リクエスト投げた時間とレスポンスが返ってきた時間を見て
1件に1秒かかっているなら、その通りで良いのではないか? >>727
スレ立つ度に同じ話題出るけど結局は相手によるで終わり 連載の性質上、前回の更新から数日さぼっても更新されんとおもうし
過去の更新頻度から類推して確認間隔を決定するよう実装してみては >>731
確認は現時点では完全に手動にしてるんよ。
GUIにしたから朝一に巡回ボタンを押すようにしてる。
そうすると30秒くらいで更新されてる漫画があればブラウザで開いてくれる。 0.1 秒毎に、大量アクセスしてるの?
もし訴えられたら、確実に有罪になるレベル
やめといた方がよい。
ちゃんと、robots.txt も守っている?
被害額は、1円でもOK だから。
水・電気泥棒も皆、1円で逮捕されている
基本的に、故意・反復がダメ。
有罪の決め手は、故意と反復しているかどうか
それと、相手に被害がありそうな事を、薄々分かっているかどうか >>734
大量の定義によるけど0.1秒ごとに1回リクエストを送るってのを数十回やってる。
いまだと購読してる漫画が30種類あるから、巡回するときは30回のリクエストを0.1秒ごとに送ってることになる。
厳密にはリクエスト送ってレスポンス来てから0.1秒だで実質1秒おきになってるかもしれない。
この場合の訴えってサーバーから?サイトの管理者から?どっちから来るの?
サイトの管理者は訴えることはできないだろうな。
サーバーのほうは知らんけど。 1日30回なら、10〜30分に1回ずつ、アクセスできないの?
0.1秒は、確実に有罪になるレベル
ちゃんと、robots.txt を守っている?
基本、サーバーは物理的攻撃だから、水・電気泥棒と同じ。
被害額1円で逮捕できる >>736
ありがと
サーバーからサイトに割り振られたリソースを超えたら停止するんかな。
それなら問題なさそうだわ。
変なのが沸いてるから、ちょっと気になったけど安心した。 Udemy の山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
https://www.youtube.com/watch?v=tYbVl6N8oxI
Laravel を使って、mynavi から、求人情報をスクレイピングする。
robots.txt を守る >サーバーからサイトに割り振られたリソースを超えたら停止するんかな
サーバーが停止させられているという事は、サーバー落ちでしょ
既に被害が出ているから、逮捕確実。
すぐに止めた方がよい 日本語通じてねぇのかなwww
サーバー落ちたなんて言ってないんだけどw
アクセスしてるサイトの性質も理解してないし当然だけど/robots.txtも見てないんだろうな。
覚えたての知識でマウント取るのは自由だけど正直言って迷惑だわ
以降はスルーしとくで、勉強に戻って時間を有意義に使ってくれ 問題があるかどうかを決めるのは管理者であってアクセスする側ではない 漫画RAWなんてアクセス集中したところで訴えれんだろ
そんなことしたら管理人が逮捕される 更新頻度とかによるけど1時間に1回巡回して
差分あったらwebhookで通知とかにするかな
サーバはNTTのindigo借りてcronで回す
ちなみに俺がサーバ管理者なら大量アクセスされたら個別にIPをはじくけどな 確かに漫画RAWはやばいな
管理者はいずれ捕まるだろうが
その時に残ってるサイト側のアクセスログで
何か起こるかも知れない 直接やることはほとんど無くなったな。
ブラウザ噛ませたらだいじょうぶとも言えんけど念の為。 俺もweb割れに機械アクセスしまくってたけど
IPと偽装の遮断、多数アクセス者への手動認証発動 あたりは全然やってくるから
今のうちに常識的な範囲の間隔あけといたほうが、最終的に得 クローリングと思われないように巡回時刻もある程度散らしたほうがいい。 たしかに大量アクセスなら間隔開けてやった方が訴訟とかそういう意味じゃなくてIP弾かれないようにするために必要かもな
けどあれだけ人が集まるサイトで30アクセスって誤差なんじゃね? 短時間にガーッとやると「やったなお前」っていうパターンがわりとあって
あと定点スリープがバレたこともあるので
sleep(random.uniform(1,3))あたり使ってた気がする
もちろんUA偽装とか無駄クリックとか
色々組み合わせるけど 一番いいのは、PPPoEのIPアドレス解放・再取得
スクレイピングができるなら簡単 量が少なければスマホテザリングも強いよ。
1時間に1回くらい手動で飛行機飛ばす必要あるけど。
マイナーISPだとサバ管の怒り次第では逆引きしてブロックされることあるけどdocomoやKDDIや楽天をブロックする気合いを見せるやつは滅多にいない。 マジでガイジはRubyとスクレイピングが大好きやなーw スクレイピングに関する話題になるとどう転んでも糞スレになっちゃうんだな 技術関係ないところの話題だからスレチもいいとこ
法律板で話してくれば良い でもスクレイピングがPythonの主戦場だろ
自サーバーからのスクレイピングならなんも問題ないんだけどな
よそ様のデータを業務に使うならちゃんと許可もらったほうが安全
訴えられてもノーガードやで DOM扱いやすいJS系のが得意そうやけど
Pythonで書くのは単にお題なだけ 毎回、スクレイピングの話をしている香具師は、荒らしだろ。
荒らしは、>1 のテンプレを毎回、変更している
Ruby, Rails, クソチョンなどをNGワード登録推奨とか、
毎回、自分の有利なように変更している
まともな人が、テンプレを書き直した方がよいかも >>759
技術の話題と法の話題を分けろって話
スクレイピングはPyのみが法に触れるわけじゃないんだから他所でやれ >>760
tableとかだと一意のidや名前がついてなくてinnertextの中身次第で処理分けるとかだとPythonさいつよ。
さらにそれが日付形式だったりするともうJSでやりたくない。 ほんとスクレイピングになるとよく釣れるね
語りたくてウズウズしてる連中がまー勝手にしゃべるしゃべる 応用情報技術者試験って意味ある?
Kaggle, AtCoderとどっちが有利? >>765
それを何に使いたいかによる。
就職ならあんまり意味ない。自分の腕試しなら意味ある。 >>765
IT系に就職するなら技術的な話が通じる程度の最低限の知識があることの証明にはなる
だから、ある程度のランクの大学でCS系の学部なら無用だし、門外漢なら非常に有効 >>765
応用情報技術者に受からないレベルの人が Kaggle, AtCoder やっても意味無いと思うわ > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
ゲリ便をじゅるじゅると
うまそうに食ってるw >>769
そうでもないでしょ
TCP/IPなど基盤の知識がなくてもアルゴリズムの実装や機械学習には全く支障ないし、実際そういう自称データサイエンティストとか普通にいるよ flaskの質問です。
/hogeにあるボタンを押すと/に飛ばしたい。
hogeのhtmlソースは
<form action="/">
<button type="submit">戻る</button>
</form>
にしたいがエラーになる。
どうしたら良いですか? Ruby on Rails なら、ルーティングの設定ファイルに、すべてのパスを定義するけど
例えば、tweets コントローラーのindex アクションは、
root "tweets#index" 外してるかもしれんけど
<form action=“/“ method="GET"> >>775
エラーはでなくなりましたが、ブラウザのアドレスに192.168.33.240/?と?が表示されます。
ブラウザ内の表示は
@app.route("/")
def root():
の内容でうまくいってます。
ありがとうございました。 そのオブジェクトが呼び出せるメソッドやインスタンス変数を一覧する方法ってないでしょうか?
いちいちクラスが定義されてるコードに行って確認するのが大変で。 「python メソッド 変数 一覧」で検索しても良いのが見つからないってこと? メタプログラミングしたいんじゃなくて開発中のヒントぽいから
Python対応のIDEつかえば良いとおもうよ。
そのとき型ヒントがちゃんと書かれたコードだと効果が高まる。
対話モードなら
>>> help(知りたいobject) dir(obj)
Jupyter使ってなかった頃は補完もまともじゃなかったのでdirしまくってたな。苦しかった。 画像認識やパターン認識?に詳しい方いますか?
PUBGなどのバトロワゲームをよくやるんですが、安地(安全地帯)の分析で機械学習を用いて最終のアンチを予測したいなと思ってます
マップの画像を安地が縮まるごとにスクショし最終まで記録、それを何百パターンも用意し学習させて最初の円の時点で最終円の位置の予測をするというような感じですかね
Pythonはちょっと勉強した程度なのでどんな事をすればいいのかというか、どこから何をやればいいのかわからなくここで聞いてみました >>787
画像処理としては、スクリーンショットから円を抜き出すための処理を上手く描くだけだと思うが(2値化を上手くすれば多分いける)、
その安地の決定はランダムに行われていそうな気がしてならないけどどうかな?
多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。 機械学習とかかっこいいことやる前に
大量にデータを収集するところから始めないと
もしかしたら最終安地をプロットするだけで
いい感じの結果が得られるかもしれないし >>788
なるほどですね
ゲームをやってる感じだと、第一の円がこうで、第二の円がここならだいたいこのへんかな?って経験則が出来てなんとなくはわかる感じではあるんですけどね
また、巷で言われてるのもランダムではなくパターンだって話ですし
で、シーズン毎で更新されてその傾向が変わってるっていう感じなんですよね
前のシーズンの経験則が残ってるとそれが邪魔してみんなわからなくなってる感じです >>789
上でも書きましたがシーズン毎で傾向が変わるので、
APEXはあと数日で新シーズンが始まるのでそこからスクショ取りまくろうと思ってます
また、上手いこと誰かがアップしてくれるような流れとか作れないもんかと思ってますが無理ですよね、、w 疑似乱数による偏りかもしれないな
コンピュータで使われている乱数はちゃんとした乱数ではないので
どうしても偏りが生じる メーカー側だけど
ああいうのは制限付きランダム
xxならyy, aa以上ならbb以下みたいな多段ゲートを作っといて
根本のseedだけシーズン(更新)毎にイジる
パチンコの釘調整と一緒 ウェブサイト運営したことないからわからんのだけど
セレニウムでのアクセスに対して検知して規制かける方法ってある??
IPとかそういう括りじゃ無くてアクセスしてきたブラウザがセレニウムで動いていることを検知して挙動を変えるみたいなこと イテレータで返してくるけど欲しいのは先頭だけの時に、
next(iter)
で取れるには取れるけど、空だった時にエラーになる
空かどうかはどうやって判定する? try:
next(iter)
except StopIteration: nextの第二引数にNoneとか入れておくとストップ時にNone帰ってくるよ おお、ちゃんと安全な取得方法があったのね
空だったら別のイテレータを試すので、危うくtryがネストしていくところだった
紹介記事とかぐぐるんじゃなくてドキュメントに当たらないと駄目だな そのクラス内からだとクラス変数にselfでアクセスできると思うけどそれってインスタンス変数と見分けが付かないと思うけどいいの? 関数のdefは呼び出しより上に無いといけないけど、
上に無くてもいい言語も普通にある
関数を重複してdefするとも思えないし、下に書くことを禁止するメリットって何? >>804
上から順番に実行されることが保証されるかどうか
保証されると下にあってはダメ
保証しないのであれば下に書いてあってもO.K. ん、関数の位置に制限なんてあった?
昔しそんな言語を見たような気もするが、、、 馬鹿が下手な書き方をすると制限があるように観える
実際は制限は無いと言って良い 公式にも書いてるイデオムを知ってるかどうか
多重でdefできるのもあるけど前方参照制限あると昔に決めたのが続いてるだけ >>804
前方参照が必要なければコンパイラやインタプリタの実装がシンプルになる
前方参照が不要ならコードを上から下に読むのは一回でいいが
前方参照が必要なら定義をスキャンする時と処理を実行する時の最低2回はコードを上から下に読む必要がある 前方と言われてもforwardと言われても、ソースコードの上の方の意味に思えてしまう
向かう先(下)が前方ね
ソース一回通して読むくらいコストは微々たるものだし、
それだけの理由ならデメリットの方が遥かに大きい気がする 対話モードで入力したものをファイルにしたものがpyである
という考えなら判る
スクリプトから読む時は対話モード以上のことができます
で誰も困らないと思うのに これはもう単純に創作哲学でしょう
「は?テメエどこにおんねんww」という書き方を
己が甘受できるかどうか お前はチャラ男に対してガバマンな女が好きなのか、どうか プログラム作成は人間とコンパイラの共同作業
お互いに歩みよって協調していかないと 前方後方って考えるのが変な理解に繋がるんじゃないの?
名前空間にオブジェクト(モジュールやクラス)を登録(メモリに展開)するのが、宣言・定義と考えれば、
アクセスする時点でその目的のオブジェクトが作られていればOK、ってだけ。 その方が楽だから、とか、コストがかかるから、とか、深く考えずに作ったらそうなった、
とかは考えにくくて、
やろうと思えば簡単に実現できるし要望も山程あったけど、
敢えて上にしか書けないようにしてるとしか思えない
何かの明確な哲学が背後にありそうなんだけど、ピンとこない
下に書けたって別にいいじゃん、と思える 理由は簡単
誰も困ってないから
判らないのは頭が悪い証拠 pythonの話だよね?
俺はクラスしか使ってないからかな?
関数の位置でエラーが出た事なんて無いよ。 >>812
> ソース一回通して読むくらいコストは微々たるものだし、
現代の常識で語られてもね… > 何かの明確な哲学が背後にありそう
陰謀論とか好きなんだろうな じゃなんでCernの施設にシヴァの偶像があるんだよ もうちょっとこう
直接的な現実の危機や可能性に対して関心をもってもらわないと
陰謀論の沽券にかかわるというもの 頭が不自由な人の層と
陰謀論好きな人の層は
概ね一致する heapqはなぜdecrease-keyに対応していないのでしょうか?
これではダイクストラ法で使えません。 アスペは未知のものを嫌う
プログラマーはアスペが多い >>829
根拠の提示はないし、3段論法にすらなってないしナンナの? つまりプログラマーは未知のものをきらうことがおおい! if type(v) == 'int':
ではなく
if type(v) == int:
と書く(書ける)理由は何?
予約語ではないので変数intとの比較としか解釈できないと思うけど if type(v) is 'int':
じゃねえの?
==でも通る?やった事ないけど。 同じ名前の変数を定義したら比較できなくなるけど、ローカル変数なら自分でやってることに気づくはずだし問題にはならないんじゃないかな <class 'int'>
のように、クラスは'int'として返るのでますます判らない お前らさ、ちゃんとドキュメント読めや。
type()はtype型オブジェクトを返す。 type型オブジェクトを返すことと、intと書くと変数ではなくtype型オブジェクトと認識されることは
全然別の話だよね
文字列と比較してもうまく行かないことは簡単に理解できるけど、intの取り扱いが謎
intがスコープに無い時は、type型オブジェクトとみなす、みたいな特別ルールがあるとか? 別にドキュメントなんか読まなくていいから
キャンプ用品店でホワイトガソリン買ってきて被って火つけて死ねや >>834
間違えた。
if type(v) is int :
'int' じゃなくて int ね。 type型オブジェクトってなんだよ
type型オブジェクトを英語にしたらどうなんだよ プログラムって深く考えてもしょうがないと思ってるので
ふーんでいつも納得してるわw
望む通りに動けばいい 組み込み関数とか組み込み型がない世界から来た人なんかな >>842
type type object意外にある? 細部を疎かにする人に任せられないわ
0とnullの違いが扱えずにバグったりしそうだし そんなこと言ってたらどんな仕事も人に任せられなくなるよ
人それぞれでこだわりが違うんだし
自分のせいでバグっても人のせいにして逃げることができる奴が生き残れる pylint が type() の代わりに isinstance() 使えって言わないか? nullをヌルって読む奴は細部をおろそかにしてるので任せられない ヌルって呼ばない奴は独りよがりでコミュ力がないので排除 warningをウォーニングと読んだら、
ウォーニング? ああ、ワーニングのことね、と訂正された ultra, culture, gulf, lullaby, multi, sulfa, vulnerable
ulのuにアクセントがあると発音は大抵Λ とは言えpythonの話しててnullなんて言う奴の方が
言葉を柔軟に扱えないヤツなんだなぁと思うわ >>858
pythonしかやってない人の方が少数だろうし、Noneのことを間違ってnullと言ってしまうこともあるだろう。
いちいち目くじら立てるやつの方が柔軟性皆無。 pull、bull → null って流れになるよね ALTはいまだにアルトと言ってしまう
ジャネにグノメ、きりがないわ Windowsのバッチで >NULL と書いてカレントディレクトリにNULLファイルを作ったやつはいねぇか? with と width ってみんなどうしてるの? widthははっきりiだけど、withはあいまい母音になる
前置詞なんて言ってるか言ってないか判らないくらい適当 widthは敢えてワイズと言ってるがたまにマジ突っ込みされる
英語としては間違いなんだろうけど靴幅表記のワイズ表のワイズ 機械屋が直径のΦをパイと読むのと同じ
その業界ではそれが正解
N-BASICでWIDTH 80,25とか書いてた頃は、
ワイズと読んでた気もする そうですね、靴のワイズを流用しますね
あとは文脈でなんとか…
寸法つながりで、height スピーチとか、日本人にはなかなか…. disableをディザブルと読んでた頃があった
なんでそう思ったのかは謎
enableは普通にイネーブル むかし、hpのオフコンだったか(違うかも)、アペンドに対応する名詞が disaster(ディザスター)だったな
綴りは星と少し違うけど、星のめぐりが悪くて起こる大災害というのが語源だったかと sorry, you are right.
i ment ABEND. not APPEND. >>839
組み込み型
自分でクラスを定義した時と同じ >>788
>多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。
まじか? 単なる統計モデルだからね
完全ランダムで決まるなら、最終円がどの区域に発生するかの確率も一定と推定されるだけかと >>788
> 多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。
普通の人間より強いAI将棋ソフトとかあるだろ >>884
見た目から?
それとも血液のデータとか尿のデータとかから? 教師あり学習でも教師が判らないことを判断できるようになるけど、
恐ろしいのは教師なし学習
データを与えるだけで勝手に法則性やらいろいろ理解する
人間が言語を習得するのと同じ >>788
> 多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。
出来る
評価関数を考えられれば
人間には複雑過ぎたり非直感的な関数でも
その評価点を教師付き学習で使えばいい >>889
overfitの問題があるので、そう簡単ではないよ。
原理的にはその通りだけど、データセットを無尽蔵に用意できる用途に限られる。 >>889
人間に出来ないことの評価関数を人間が考えられるのか 評価関数は与えない
データと結果だけ教えればあとは勝手に特徴抽出する >>892
ソレめっちゃやりたい
どのモジュールで実現できるかな? >>892
その結果を判断できる人間が居ないんですが pandasでインデックスが重複しているデータフレームがある
value = df.at[index_name, 'aaa']
とすると、スカラーが帰ってきたりシリーズが返ってきたりする
そのこと自体はいいとして、どちらが返ってもいいようにループを書くにはどうすれば pandasなんてあるんだね、初めて知った。
チラッとみたけど、dictとlistの組み合わせでも出来そうな気が、きっと処理が早いんだよね。
仕事で使ってるの?趣味? やっぱり分岐するしか無いよな
書き方を工夫してfor一発でいけないかと思ったけど とりあえずvalues.tolist()つけて処理したら? tolist()でリストにして、スカラーの時は要素1個のリストにして、
でなんとかなったけど、インデックスの重複が他の箇所でも問題に
やっぱり重複は解消する方向で
重複行は1行に集約させて、違いのある列は判ってるので、そこだけリストにしたい
そんな都合のいい機能があるかなと思ったらgroupby()でいけそうなので調べ中 複数開いたブラウザに対して操作するプログラムを作っていて、
グローバル変数が大量になってしまったので、それがベストなのかアドバイスを頂きたくお願いします。
処理の流れは、一番最初に4つのウィンドウハンドルを取得して変数に格納(hnd1~4)、それぞれにURLなどを設定(これも4個)。
それらの変数使ってブラウザ操作しているのですが、変数が多くそれらが全てグローバル変数になっています。
グローバル変数にしている理由は、ブラウザ操作の関数で書き換えが出来ないのでグローバルにしています。
ボタン位置や読み込む文字が複数になればなるほど、倍々ゲームでグローバル変数が増えてしまうのですが、
問題はないでしょうか。
色々なサイトを見る限りは、グローバル変数は最低限にするというのですが、
どうしても関数に渡すにはそうなってしまうため教えていただければと思います >>903
問題ありまくりだけど個人のプログラムなら好きにすればいいと思う
ウィンドウを4つから5つとか6つとかに増やす場合があると仮定して
その際に設定ファイルの変更のみでプログラムの変更は必要ないように作るのが一般的 >>903
クラスがいいんじゃねえの。
class Browser ():
def __ init __ ( self ) :
hnd = None
url = ""
buttonPosi = None
def setUrl(self,url):
self.url = url
def setHnd(self,hnd):
self.hndl = hnd
if __name__ == '__main__':
brow1 = Browser()
brow2 = Browser()
brow3 = Browser()
brow4 = Browser()
brow1 .setUrl("http://........")
brow2 .setUrl("http://........")
brow3 .setUrl("http://........")
brow4 .setUrl("http://........")
超いいかんげんで書いたけど、こんな感じは? 結局、
df.gropby(['index_col']).agg({'col1':list, 'col2':'last', 'col3':'last'...
という感じで求めるものは得られたんだけど、
col2以降を全部列挙しないといけないのがいかにも見苦しい
リストにしたいcol1だけ明示して、残りは全部'last' みたいに書けない? >>904,905
クラス使ったことないのですがサンプルありがとうございます。
このクラスで作られたbrow1は、他の関数からも参照ができるのでしょうか? >>908
brow1を渡せばね。
使った事がないなら、まずはクラスを勉強した方がいいかもね。
外部変数でやるなら
brow1 = []
brow2 = []
brow3 = []
brow4 = []
ってリストを用して、
brow1.append(url)
brow2.append(hndl)
brow3.append(buttonNo)
dictでもいいけど、こっちのが見やすいかな?
brow1['url'] = url
brow1['hndl'] = hndl
brow1['buttonNo'] = buttonNo
まあ、良いかきかたとは言えないけど取り敢えずこれで作ってクラスを勉強するかだね。 ボリュームあるから進めつつでもいいけど
初学者で公式チュートリアルやらないのは結局遠回りするとおもう。 >>906
別に美しくはないがカラム数固定的ではない
import itertools
r = dict(zip(['B', 'C', 'D', 'E'],itertools.cycle([1])))
print({'A': 0, **r})
{'A': 0, 'B': 1, 'C': 1, 'D': 1, 'E': 1} df.groupby(['index_col']).agg(list)
って書くと、全部のカラムが対象になるので、何かありそうな気がするんだけど os.sync()に相当するものをwindowsで実装したいのですが代替のAPIなどあるでしょうか?
調べた感じimportlib.invalidate_cachesが近しいのかなと思ったのですが確証がなく。。。 .pyd ファイルを C から呼ぶにはどうするのが良いですか? >>916
どうだろねぇ
出来なくもないのかもしれないけど直に呼び出すのは苦労が多そう
C内でPythonをシェル起動がシンプルだが使い物になるかはしらん 部分的に低級言語で高速化するのは自然だけど、
なぜ部分的に低速化する 使いたいライブラリがPythonで書かれてるとか
まあいずれにせよこんな質問してる時点でやめとけという結論しか出ないけど openしてreadしてcloseすりゃ良いんじゃん? 関数の定義を呼び出しより後に書けない問題は、main()を定義することで解決できる NLPLOTで共起ネットワークを描画したいと思い勉強中です。
サンプルコード通りに試してみているのですが、下記の★の行で
ValueError: n_communities must be between 1 and 0. Got
が出てしまいます。
npt = nlplot.NLPlot(df, target_col='Column2')
stopwords = npt.get_stopword(top_n=0, min_freq=0)
★npt.build_graph(stopwords=stopwords, min_edge_frequency=100)
display(
npt.node_df.head(), npt.node_df.shape,
npt.edge_df.head(), npt.edge_df.shape
)
npt.co_network(
title='Co-occurrence network',
)
原因を調べようとしているのですが、うまくいかず困っています。
書き方が間違えているのでしょうか? exeして実行するとサイドバイサイド構成がっていうエラーが出るんですが、ランタイムのインストール以外の回避方法ありますか? UnboundLocalErrorが出た時
グローバル変数を参照したいのに関数内に代入があるせいでローカル変数扱いに
なってしまう場合は、global と書いてやることで回避できる
そうではなくて、変数が呼び出し元の関数のスコープにある時に、
とにかくローカル変数ではないことを伝える書き方ってある? そのまんまのがあったんだな
でも、呼び出し元の関数のローカル変数を参照することなんかできなかった
ローカル変数だから
じゃあいろんな関数から共通で使うようなデータはグローバルで持つしか仕方ないのかな >>930
クラス変数
Pythonはこの辺のデザインセンスが良い
何でもブチ込まずに言語を小さくまとめてる 殆どの場合においてglobalやnonlocalはモンキーパッチだと思うんよね
明示的に渡すか大域変数にするか(っていうかクラス化しよう) forとかwhileの中は別スコープだと思いこんでたけど、そんなことはなかった パ、パ、パイソンのクラス変数まわりのデザインセンスがいいだと!?!?
おれの知ってるPythonとは全く別物のようだな ぼくがしってるさいきょうのpython
def a(x):
x = 3
def b(x):
ctypes.cast(x, ctypes.POINTER(ctypes.c_long)).contents.value = 4
def c(x):
x.contents.value = 5
def test_ctypes_byref():
y = 1
a(y)
print(y)
z = ctypes.c_long(1)
b(ctypes.byref(z))
print(z)
w = ctypes.c_long(1)
c(ctypes.pointer(w))
print(w) Pythonの変数スコープまわりは、一番Pythonでダメなところじゃないか?
Python4では、もっとモダンになってほしい。オプションでもいいから。
readするだけなら何も書かずに読めるけどwriteするならglobalとかnonlocalつけなきゃいけないとか、リファクタリングするときに地獄だよ。if文で分岐もできたりするし、
システムハンガリアン導入して名前で分けないとないとバグだらけになるでしょ。 まぁ開発レベルではグローバル変数使わないように徹底するしかない 今どき必要もないのにグローバル変数使いまくる老害なんて>>937ぐらいだろw 割と立派な規模のプログラム書いてそうな物言いの人でもクラス化していないのだろうか >>942
立派な規模のプログラム書くときはpython使わねーんじゃねぇの?
おれのpythonの利用は、使い捨てスクリプトだけだわ globalなくすとwriteするときにローカル変数と区別できなくなるからなくせない。となるとreadもwriteもglobal強制すればいいの?
グローバル変数を頻繁に書き換えるなんてすでにそうとう読みにくいコードになってそうだから、そっちのほうをどうにかしたほうがよいのでは >>937
>readするだけなら何も書かずに読めるけどwriteするならglobalとかnonlocalつけなきゃいけないとか、リファクタリングするときに地獄だよ。if文で分岐もできたりするし、
これの意味が分からん
あんまり大規模なコード書いてないからあれだけど
今って関数なりメソッドで分割/抽出して
大本の呼び出しプログラム作って
呼出し元X⇒関数AでreturnしてXに戻す⇒X経由で関数Bに渡す……
みたいな感じになるから、globalとかnolocalとかよほどの事が無い限り使わんぞ
というかこの書き方にしないとユニットテスト作る時にそれこそ地獄やん データベース的なものがあって、それを書き換えていくような処理で
関数を分けていくとデータベースまるごと渡すとか、副作用で書き換えるとか、
それはそれでやりたくない処理になってしまう データベース側にORMのように書き換えインターフェイス生やすんじゃなくて? データベース自体はよく出来たモジュールのインスタンスなので、
インターフェイスといっても、db.read()とかdb.write()とか呼ぶだけ
関数内のローカル変数やグローバル変数であってくれれば座りがいいのに、
わざわざdb.read()を呼ぶ為にdb_access(type=read)を作らないといけない 意味わからん
db をクラスのインスタンス変数に入れときゃいいだけじゃないの? データベースと言うから大仰に構えて当然なニュアンスが漂うけど、
ただのリスト1つでもそんなことするのかと
グローバルにするだけでとてもシンプルに書けるのに グローバルがそもそもシンプルでねえんだわ
スコープガタガタじゃねーか list で良いんだったら書き換え可能だが
def f(x):
x[0] = 3
def hoge():
a = [1, 2, 3]
f(a)
print(a) まあ
クラス化とか、きちんと引数で渡すとかもせず
色んな領域に同じ名前の変数が生きてて
globalの有無でどっかに何かが入ってしまう
そういう書き散らかしを止める気はないというなら好きにすりゃあいい
バカがひとりでバカやってるだけなら別に害ないし 問題起きてなかったし書き捨てが多いからあんま考えないでGlobalしてたわ
これからはクラス使うようにするわ 使い捨ての小プログラムにいちいちクラス作るのもバカげてると思うんだが おぬしの場合はとりあえず
def x(db):
__db.append[zzz]
みたいな関係性の明示をすることと
myvarとかlとかdbみたいな名前をつけない(あるいはトップレベルに唯一ある)ようにするという大前提を守ることをしたほうがよい
これを欠くとクラス化も一時しのぎにしかならないで
1段掘っただけだから結局同じ問題にぶち当たるど classは別に魔法ではなくて、globalではないというだけで、
globalと同様の可読性や保守性のいろんな問題はやっぱり付きまとう
複雑なもんはどうやっても複雑で、言語仕様でどうにかなるものでもない
ということなのかもしれない globalと書く必要がない範囲でグローバル変数使う分にはそれほど気にする必要ないよ
雑なimportとかをやらないようにさえしてれば事故る可能性ないから
globalと書く必要があるならクラス化したほうがいい >>937が駄目なだけでPythonが悪いわけではない
それからPython4は永遠に来ないと宣言されてる
2→3の混乱を考えると4は避けるべき、3内で全ての変更は行われるとの御達し >>957
使い捨てならいいんじゃね
別に他人に迷惑かけないし >>961
逆張り、レスバ目的で書いてるんじゃんないよね
>>937はシステムハンガリアンの例が謎なだけで他は真っ当にみえるから
そういう見解もありなのかと知れた 挫折したPythonの勉強を再開します
print(“hello,world”)
まで書けるようになりました Pythonにグローバル変数は存在しないものと思っていたわ... >>964
これであなたもPythonistaですね print(1+2+3+4+5+6+7+8+9+a+b+c+d+e+f+g+h+i+j+k+l+m+n) pythonはインスタンスの生成と関数呼び出しが同じ形式だけど、
本質的にも関数なの? >>969
二行目がJavascript風の
クラス実体がインスタンスを生成する関数オブジェクト
という意味なら違います a = function_name()
b = ClassName()
よりもnewって書いた方が判りやすいと思うんだけど >>969
クラスは呼び出し可能です。そのオブジェクトは通常、そのクラスの新たなインスタンスのファクトリとして
振舞いますが、 __new__() をオーバーライドして、バリエーションを持たせることもできます。呼び出しに
使われた引数は、 __new__() と、典型的な場合では __init__() に渡され、新たなインスタンスの初期化に
使われます。
任意のクラスのインスタンスは、クラスで __call__() メソッドを定義することで呼び出し可能になります。
class Foo:
pass
foo = Foo()
foo()
--
一方で第一級関数(ファーストクラスファンクション)としては関数を第一級オブジェクトとして扱うことの
できるプログラミング言語であり、Pythonは「ファーストクラス」として扱えることを目標に作成された。
言語の中のすべてのオブジェクト(数値、文字列、**関数**、クラス、モジュール、メソッドなど)に対して、
名前をつけて、同じように取り扱うことができるようになるということを意味している。関数を変数に格納し
たり、リストの中に並べたり、辞書に格納したり、引数として渡したり、といったことが可能になるのである。
原文:http://python-history.blogspot.com/2009/02/first-class-everything.html
原文投稿者:Guido van Rossum new に該当するものが無いのではなく、object.__new__(Class)が、通常は暗黙的に呼ばれて、それが
classの定義側にあるだけの話です。「判りやすい」と感じるのは個人の主観ですが、ソースコード上で
インスタンスを生成している箇所を(強く意識しており)素早く列挙したいならその通りでしょう。 >>969
本質的には関数もクラスと同じくオブジェクトだよ GUIの部分だけはC#で作って
GUIのボタン押したらpythonで処理して
結果をうけとって
GUIのtextboxに書き出すとかできますか? C# から python のプロセス呼ぶ例はいくらでもゴロゴロしてる あと毎回プロセス起動する以外に
python 側も常に起動待機状態で
プロセス間通信のサンプルもいっぱいある >>979
>>python 側も常に起動待機状態で
なにそれ?興味ある >>961
そういうお達しもさ、破壊的変更がみんなが必要だと思ったら破られるんだよ。
お達しを破らないことが言語開発の絶対目的ではないのだから。
まあ、その場合はPython4ではなくて違う名前の言語として再出発かもしれないけどね。 >>981
大きな変更の有無じゃなくて
メジャー番号の切り替えがなくなるだけ 番号はどうでもいいけど、後方互換性を無くすような変更はもうしないだろ ↑
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった) IPythonって流行ってないんかな?対話モードより使いやすくてjupyterより手軽で好きなんだけど Jupyter NotebookはIPython Notebookなんだから「Jupyterは流行ってる」なら「IPythonは流行ってる」を包含してるね
Notebookレイヤーを含まないでコンソールで動かすことを言ってるなら、データ解析系の人には高度な電卓くらいには使われてると思うよ https://blog.narito.ninja/detail/159
このサイトの
store = self.store = get_object_or_404(Store, pk=self.kwargs['pk'])
ってところイコール2個あるけどこれなに? >>991
multiple targets assignment 秀丸とコマンドプロンプトでも大して困らないと思うけど、
見栄えがいい以外の本質的なメリットって何かあるの? Jupyter/IPythonとテキストエディタは明確に違う。デバッグしながら書けるという点において。
IPythonはループ書いたりするレベルだけどipynbはいらないなってときに使うなあ。
普通の電卓にはPythonコマンド使ってるw 選択した部分だけ実行された状態になる
コードにマウスオーバーすると、そのオブジェクトの現在の内容がポップアップする >>993
そだねー
Jupyterは結局毎回restartしてるわ
危なっかしい このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 176日 4時間 12分 35秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。