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で構文マクロとりいれて失敗した機能はぜんぶマクロ実装
パフォーマンス低くて誰も新規では使わなくなる
この線で
Perlの教訓を生かしてクソ化はしないと思うけど分からんな
アノテーションとか型ヒントって使ってる?
これらが必要な大規模プロジェクトではPython使わないだろうし
>>136
Perlってクソ化したの?
なんでそうなったの? python と Qt は相性がいいので、なんの問題もありません。
>>137
まあまあ使ってるけどTypeScript並に型推論効いてくれないと今一歩なぁって感じ
あと構文がキモい あ、型推論は言語じゃなくてタイプチェッカー側の問題だってのは分かってて言ってますよ
>>143-144
あア、ナルほど!
ユーザーがパー(ル)だったわけですね!!!!!!!!!!! 3.8.11ってバイナリは提供されないんだな
3.10がまだなのに、もう切り捨てかよ