Pythonのお勉強 Part72
!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://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part71
https://mevius.5ch.net/test/read.cgi/tech/1695168821/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured 掌田津耶乃のFlask の本を見たけど、Ruby のSinatra に相当するもの。
Rails ほど大規模ではない感じ
Bootstrap, Vue.js, データベースなども使う
{{ 式・文 | フィルター }}
みたいに書くのは、Shopify のRuby製のLiquid に似た文法
まあでも、Python でウェブ系をやる意味はない。
KENTA も初心者のキャリアパスは、Rails → Go のみと言ってるし PythonでWeb系やれないやつがそう言ってるだけで実際は案件で一番多いのはPythonやからな
他にはPHPくらいじゃね? >>543
無い無い
まず求人サイト見てご覧よ
言語で言うならPythonの求人はJavaの4分の1程度
その上でPythonの仕事内容の多くはデータサイエンスやAI
PHPは言うように以外と求人はある
でも多くのWeb案件はNextJSやJava C# 都内のpythonは多いが
田舎はjavaphpperlrubyばっか Indeed
Next.js 4696
Vue.js 17271
Laravel 12150
Python 8637
Flask 1191
Django 4221
Rails 10694
Ruby 15154
React 24415
C# 45325
Php 60515
Java 85065
Javascript 85087
TypeScript 20636
Pythonは求人少ないんですね >>545
田舎の方がモダンな言語の人気が高いということか。不思議だな。 Runteq の菊本だったか忘れたけど、誰かが言ってたかも知れないけど、
最近、Wantedly の求人の質が下がってきて、
Ruby on Rails は、Geekly へ行ってるとか
他には、Green とかはどうなの? >>510
にも書いたけど、
PHP はKENTA がオワコン認定した。
サーバーの8割がPHPだけど、要するにWordPress 専門言語だろ。
AWS Lambda にも、デフォルト言語として採用されていない
米国年収でも、Dart と並び断トツに低い。
情報学部に行っていない高卒言語
Ruby : 9.9 万ドル
Pythonなど多くの言語 : 7.3〜7.8
PHP : 5.9 必死にRubyを宣伝する馬鹿
Rubyこそオワコンなのに >>526
pythonってライブラリが充実してるって言われてるけど
Javaのほうが充実してるの? 分野と数でいうならそう
業務系はとりあえずJavaっていう時代が長かったし 何か言語を選択しなければ、という発想が間違い
適したものや使えと言われたものを使えばいいだけ
この言語をやるとこの言語ができなくなる、みたいな制約は一切ない 最初の段階でデータ構造とアルゴリズムを分離して考える癖さえ付いてれば
LispだのPrologだのHaskelだの(Visualでない)Basicだのならともかく
普通の手続き型なりオブジェクト指向なりの言語、どれ使ったって書けるよ
それよりフレームワークなりライブラリの揃い方のほうがよっぽど重要 機能追加したろ、げGoで書いてある、で調べて書き直して
よし動いたGo完全に理解した
でレパートリーが増えていく >>557
書けるのと使いこなせるの間には大きな壁がある
大抵の「なんでこんなコードなんだ?」ってのはお前のいう書ける程度の奴の戦犯 ファイルから読み込んで改行を外してリストにする
lines = f.read().splitlines()
これと、リストに改行を付けてファイルに書き込む
f.write('\n'.join(lines))
は逆の処理ではない
最後の行だけ改行が消えるから
joinの代わりに内包表記使うのも、最後に追加で改行書くのも、なんかスマートじゃない 改行が付いてたらそのままで無かったら改行を付ける、
みたいなインテリジェントwritelinesがあればいいのに
そもそもリストに入ってるものをセパレータも何もなしに結合するという破壊的な処理が
必要になる局面なんか無い writelines(list)
は
write(''.join(list))
のシンタックスシュガーみたいなもんだよな
むしろ誤解を招くので、
writelineswithoutanyseparators()
みたいに名前にすべき 対になるのはreadlinesだし
不可逆になるsplitlines使うのが悪い >>565
メモリの使い方ば少し違う
でかいファイルの場合は多少気ににする必要がある
Pythonのread/readlines/write/writelinesは
改行を追加したり削除したりできないので使いにくいのは確か
こことか見ればみんな不満に思ってるのがわかる
ttps://stackoverflow.com/questions/13730107/ >>565
> writelineswithoutanyseparators
読みにくいわー。日常的に、
def supercalifragilisticexpialidocious():
とか書いてるの? 要は、リストがあってそれをファイルに保存したりファイルから取り出したりしたい
csvやjsonやpickleのtxt版
もう少し処理が込み入ってればライブラリ化するんだけど、
1行で書けるからそんな気にもならない >>568
それは一語だからそうとしか書けないでしょ >>560
最終行の改行を気にするなら、splitlines()を使うこと自体がおかしくね?
>>> '1\n2\n3'.splitlines()
['1', '2', '3']
>>> '1\n2\n3\n'.splitlines()
['1', '2', '3'] splitlines()はまさにそういうものを対象にした関数
splitといいつつ、末尾にnullができればそれは無視する
writelinesもどう見ても行は書いてなくて、行を結合したものを書いてる
このへんの関数名と処理内容の不整合が一番の問題
想定と違えば作ればいいだけだけど、欲しいものが既にあるように見える >>> "1\n2\n\n\n".splitlines()
['1', '2', '', '']
>>> "1\n2\n\n\n".splitlines(keepends=True)
['1\n', '2\n', '\n', '\n'] >>572
>'1\n2\n3'
バイナリじゃなくテキスト処理の対象なら
こういうのは改行コード入りの正しい形式に統一するほうが一般的には望ましいので
split/join使っても1つ足しとけば多くの場合は問題ない
末尾の改行コード入りで行単位のテキスト処理をするよりかは楽になることが多い Ruby でも、join の最後には改行はない。
print の後ろにも改行はないが、
puts の後ろには改行はある
p [ 1, 2 ].join("\n")
print [ 1, 2 ].join("\n")
puts [ 1, 2 ].join("\n")
puts "end"
出力
"1\n2"
1
21
2
end >>576
splitlines() は split() と挙動が違うのに split を名乗るなやゴラーと、>>560 氏は言ったのでないの。どう処理するかでなく。 逐次処理してて、見つけたらその都度printする
それを改行せずにコンマで区切りたいので、
print(f'{item}, ', end='')
みたいにすると、
1, 2, 3,
みたいに最後に余計なコンマが付く
それが見苦しいので、一旦リストに入れておいてjoinすることはある
最後の余計なセパレータはNGなのか
C言語の文末の;はセパレータだと思えば余計だけど、無い方が不自然
付けたらエラーになるpascalの方がどうかしてる
リストやらの定義で複数行に分けて書く時に最後の行にも余計なコンマをわざと付けることで、
エディタで編集が容易になる
という状況を見ると、セパレータの追加処理は最後にも付ける方が自然な気がする 自然とか、一般的とか、多くの場合とか
そんな曖昧な話じゃないでしょ csv.writerか似たようなをwriterを書けば幸せになるかもね s1 = 'a\nb\nc\n'
print(s1.splitlines())
print(s1.split('\n'))
['a', 'b', 'c']
['a', 'b', 'c', '']
この挙動の違いをどうしたものかと >>583
splitlinesは改行コードまでを一塊として処理する
\nだけに限らない
splitは指定したキーワードで分割する >>583
その2つは用途が異なるからそれぞれ別の関数が用意されてるわけで挙動が違って当然
何を問題視してるのかわからない
>>584
splitもセパレータを指定しなければ\nに限らず空白文字(whitespace character)なら分割される
(それと連続した空白文字はまとめられるので空文字は含まれなくなる) 文脈からわかるけど空文字ってどこ界隈で使われてんだろう pycharm使ってるんだが、
Windowsをクリーンインスコしたあとpycharmをインストールすると、
pythonの実行環境を再設定するのが面倒。
環境ってプロジェクトのフォルダー配下にあるはずなんだが、
その環境をpycharmが認識してくれない。 # 他人様の blogを勝手に拝借して恐縮だが、
/usr/lib64/python311.zip とは何ぞ? なんで sys.pathに zipが存在するのだろ。
https://www.tomoyan.net/python/pip#パッケージのインストールパスを調べる
> $ python -m site
>
> sys.path = [
> '/home/tomoyan',
> '/usr/lib64/python311.zip', リヌクスならメモリ上に読み込む時にlzhに変換してから名前空間にロードするので
3.11はOS標準のpythonじゃないからzipにしてるんじゃないかな PEP 273 – Import Modules from Zip Archives
https://peps.python.org/pep-0273/
展開したディレクトリがあるのと同じ感覚で読み込めるらしい c#とかやってるけど結局人工知能に興味が沸いてpythonに戻ってしまう
就職出来ればc#でもjavaでも何でもいいんだけど
この時代人工知能以外のIT技術って何を習熟していけばいいの?
もうjavaとかc#で文法以上の何をすればいいか分からん 興味あるならpythonでとことんAIやったらいい
他人のgithub落としてサンプル動かす程度は誰でもできるから勘違いすんなよ >>595
いうて発展的にやることって大規模なデータ訓練とかでしょう?
それか卒論レベルの論文書けるくらいの研究を試してみるってこと? >>594
人工知能に訊いてみりゃいいじゃん。人はなぜ生き、如何に死ぬべきでしょうと。 >>596
どう応用するかはお前の能力次第
好きにやれよ >>598
そうだな
ただ成果はネットに公開しないほうがいいよね ライセンス等に問題なければしょぼくても堂々と公開した方がいい
デメリットはない、就職時にもプラス評価
そもそも公開しても誰にも注目されないのが普通 >>601
お前もパクるんだろ?
気にすんな
実害被ってから考えたらいい
まずパクられるレベルになるのが難しい
平凡なアイデアでは間違いなく先人がいる 適材適所で言語変えてた、言語自体の研究してたくらいじゃないと
言語習得なんて就職時の評価にならん
どんな判断の上どんな応用してきたのかが知りたい部分 >>594のような有能な人は燃え尽きるタイプかなって思うので、常に謙虚でいられるように学ぶ姿勢を持つと良い。
一生学ばなればならないことを忘れてはならない。 AIが代わりに組んでくれる時代がすぐそこまで来てるからな
そのうち手で組むのは趣味だけになるよ プログラムを作るプログラムを作るとシンギュラリティ来るぞ >>605
有能じゃない
kerasとかtensorflowのバージョン上がって
2,3年前に書かれたコード拾ってもどう修正したらいいかもわからん
仮想環境で前バージョン入れてみるってことかな
流石に新しいコード書くのはスキル的に無理だし 大丈夫、始める前からパクられることを心配してるタイプの人間はすぐやめるから パクられるようなもん作れたなら大したもん
誇っていい >>594
言語仕様なんて勉強するものじゃないだろ
使いながら調べるだけ
本質はデータ構造とアルゴリズムだよ >>613
使いながら?ライブラリと勘違いしてない?
あとから新発見があった場合にリファクタしに戻るんだろうか
言語仕様はひと通りみて作法がみえないと使いたくないな
>>614
どう適用して応用するかって一生つきまとう
道具の使い方じゃなくてそういう話 >>615
今はChatGPTあるからそんなこと勉強してるより書いた方が良いぞ
ChatGPTは古い書き方を出すことはまずない たしかにたまにバグ入れてくるから鵜呑みはできないけど
書き方に関してはそうだね
次の機会に初手ChatGPTで試してみるか 文法や作法を初めから完璧に仕上げるのは無理なので書ける範囲でどんどん書いたほうがいい
>>615
仕事じゃなければ、後からリファクタリングでいいんだよ。存在しない美しいコードより存在するゴミコードの方が価値がある。
一通り見て作法がわからないと、っていうのはある程度プログラミング経験積んで、新しい言語の効力を最大限に発揮しないことには今よく知ってる言語で書いた方がいい場合でしょう TwitterAPIV2でpythonで自動投稿するツール作ってるんですが
さっきまで投稿できていたコードで
Your account is not permitted to access this feature.
とターミナルに表示されるようになりました。
アク禁だと思うですが、Developer Portal見た感じ
そういうメッセージは出ていません。
時間経てばまた使えるようになるでしょうか
わかる人いれば回答ほしいです。
それか適切な質問スレ教えて欲しいです。 少なくともPythonの話じゃねーな
同じやり方ならどんな言語でもそうなるだろって
なんか特別なライブラリ使ってんなら別だけど >>622
すみません、TwitterAPIに関するスレ探したんですがみつけられなくて twitterはめんどくさいのでcookie読ませてselenium とっくの昔に滅んでるがな
x86はソースコードみたいなもので、全然別の命令セットに翻訳して動いとるよ x86もうダメぽと Intelが IA-64を出したけど、AMD64 (x86)に敗けちゃった。 結局バイナリ互換という強みに
誰も勝てないんだよな
不連続な変化は許容されない SurfaceやMacのx64エミュレーションはそこそこ動くし
ユーザじゃなく設備とか特許とか提供側の都合じゃないかな 疑似的ボイス・トォ・スカル
組織はある程度大きくなるけれど構築方法
@Bluetooth v5.4
マルチ説ぞ可能なので同時に100に接続可能
飛距離は最大400メートル
Aピンマイク.完全ワイヤレスイヤフォン【マイク付き】
★これで司令塔を中心としたエリアが構築官僚
Bピンマイクのみの者は超指向性スピーカーにて指示を受けている
少し上のシステム
C家の防犯カメラを道路が映るように設置
Dすまふぉのai機能拡張により仲間の未認識させる
E口パクによる読み取りやジェスチャーやアイコンタクトによりさらに指示できる内容を増やしている
@司令塔となる者にスマフォと全てのBluetoothをペアーリング
AaIアシストにより各仲間に隠語で話すウ
B警察にばれてモスク罪にAIによるアシストで行動パターンの変化をさせる
空き巣後の闘争中に路地に引き込んでの警察車両の足止め
仲間は通貨そのあとに車の故障で立ち往生これを繰り返す
万引きもチームプレイをすれば店員.万引きジーメンなどもかいくぐれる
ネットを返していない特設通信なのでサイバー警察からも逃げれる >>594
> この時代人工知能以外のIT技術って何を習熟していけばいいの?
> もうjavaとかc#で文法以上の何をすればいいか分からん
就職先によってやることが違ってきますからね。
なんとも言えないんですが、
でも、俺が学生時代の自分に伝えるとしたら、
1.計算機の基礎(アセンブラ)を勉強してモニタ(OS)とコンパイラを作れ。
2.統計学の基礎理論を徹底的に勉強しろ。(数学もね!)
3.論文を書いて投稿しろ。教授か先輩に論文の書き方を教えてもらえ。(できれば英語で)
ですかね。
あなたの状況や能力が不明なのでなんとも言えませんが。。。 >>634
全く参考にならんな、そんな僅かなシェアの仕事を例にあげられても 計算機科学を応用せずに、計算機科学そのものを仕事の対象にして食っていけんものか >>636
フランスに渡米してMITやStanfordの教授にでもなれば pandas使いたかったから公式読んだが英語で全然わかんねーわ
翻訳も効果薄いし
仕方ないから日本語検索やcopilotでやりたいことだけ調べたんだが、みんな英語のマニュアル余裕で読めるの?