Pythonのお勉強 Part66

■ このスレッドは過去ログ倉庫に格納されています
2021/11/12(金) 07:48:11.11ID:vp8lzav70
!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(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇
Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/12/23(木) 14:08:58.31ID:rKR7g5HU0
>>632
https://docs.python.org/ja/3/library/functions.html#print
> str() がするように文字列に変換
公式に書いてる
2021/12/23(木) 14:19:33.68ID:3yOXD4ws0
formatやf-stringのことかな

val = 123
a = f'残金{val}円'
または
a " '残金{}円'.format(val)
2021/12/23(木) 14:21:13.64ID:3yOXD4ws0
下の"は=の打ち間違い
636デフォルトの名無しさん (ワッチョイ 4f33-g56a)
垢版 |
2021/12/23(木) 14:49:22.66ID:qzls8RBa0
>>632
>>> def f(*args): return args

>>> f('abc', 'def', 'ghi')
('abc', 'def', 'ghi')

こういうことではなくて?
2021/12/23(木) 16:25:58.39ID:4BWUo4Pe0
>>636
それだとタプルで返ってくるだけで
文字列になってなくない?
2021/12/23(木) 16:35:06.82ID:dblhs2tn0
そこまで面倒見てもらわにゃならんのかw
639デフォルトの名無しさん (アウアウエー Sae2-RmhO)
垢版 |
2021/12/23(木) 16:46:24.32ID:wVsy9mb3a
msg = 'a,b,c'
print(msg)
values = msg.split(',')

こういうこと?
2021/12/23(木) 17:47:50.08ID:IBpnZJhO0
みてください
2021/12/23(木) 18:20:49.76ID:4BWUo4Pe0
ありがとう解決しました。
2021/12/23(木) 19:09:00.65ID:p+r9sE2/0
>>629
numpyでやってみせて
ぜひ
643デフォルトの名無しさん (ワッチョイ be10-w0pt)
垢版 |
2021/12/23(木) 19:33:07.91ID:lssFGhba0
>>629
numpy覚えたてみたいでかわいい
2021/12/23(木) 19:47:43.54ID:mMsR/cF20
仕事でnumpy使ってるけど未だによく分からないことあるな
2021/12/23(木) 22:06:57.32ID:oyXOfuSO6
まとまったメモリ確保して関数に渡すためだけにstructured array使ってる
2021/12/23(木) 22:51:15.20ID:df0C7LZ20
import numpy as np
l = [-1, 1, 2, 3, -1, 1, 2, -1, 3, 4]
header_position = list(filter(lambda x: l[x] == -1, range(len(l))))
for a in np.split(l, header_position):
print(a)

-1だとヘッダだとする
ヘッダ位置のリストをsplitの第2引数に渡すと、その場所でsplitしたarrayのlistが得られる
先頭のは要らないので捨てる
2021/12/23(木) 23:14:40.77ID:zCNeJPRa0
>>> import more_itertools
>>> l = [-1, 1, 2, 3, -1, 1, 2, -1, 3, 4]
>>> iter = more_itertools.split_before(l, lambda x: x == -1)
>>> list(iter)
[[-1, 1, 2, 3], [-1, 1, 2], [-1, 3, 4]]
648デフォルトの名無しさん (ワッチョイ 5d36-rb6c)
垢版 |
2021/12/24(金) 06:48:08.59ID:v3ycTrGF0
よく、more_itertoolsなんて知ってるね。
2021/12/24(金) 11:34:27.22ID:J23vcQI9M
numpyだけじゃなくpythonも覚えたてだったか
2021/12/24(金) 14:30:18.61ID:G9Y5EdGy0
python覚えたてチェック

yield使ったことある?
2021/12/24(金) 15:11:24.82ID:5MBwlF320
C#でつかいました
2021/12/24(金) 17:25:55.08ID:Nn/03+5S0
痛くしないでねハート
2021/12/24(金) 18:09:40.24ID:cMhJNtck0
>>646
俺の知ってる一発とは意味が違ってた

それはともかく
1周で済むところを2周して
split後に先頭が空配列なら捨てる処理も必要で
シーケンス限定なのでちょっとキツイかも
2021/12/24(金) 18:18:59.15ID:G9Y5EdGy0
この後、分割したリストに対してメインの処理をするので3周だよ
2021/12/26(日) 11:22:31.20ID:p3QxfO7m0
先日Pythonに入門したビギナーですけど、おおむねPythonは便利ですね。
プログラミング言語というよりはどっちかっていうと利便性の高い道具といった感じです。
道具なのでこれで業務システムは作りたくないけど、これがあると業務のめんどくさいところをいろいろ楽にできるといったイメージ。
加えてライブラリ類が超強力なのばっかりなので『そりゃ、これは流行るわ』と思いました。

いまんとこの不満はスタックトレースがASCじゃなくてDESCならよかったなーっていうのと
switch〜caseがほしいなーっていうのと、
三項演算子ほしなーっていうのくらいですね。
2021/12/26(日) 11:23:30.05ID:MmrJg2Uh0
チラウラ
2021/12/26(日) 11:41:09.08ID:0RqE/nlm0
文句は一人で壁に向かって
2021/12/26(日) 12:12:41.08ID:Pa0hIbgE0
urllib.requestで足りるんだけどエラー処理を自分でやらないと止まる
もう少し安全にしたモジュールないかな
2021/12/26(日) 12:20:07.54ID:BGcOWLCe0
requestsはだめなん
2021/12/26(日) 13:02:44.42ID:4NpXv1fj0
>>655
Python 3.10からパターンマッチ
2021/12/26(日) 17:15:39.98ID:Xt1KUxKEa
いい感じのGraphQLライブラリないかなと探してて見つけたTartifletteが最強だった
さらっとGraphQLいじりたいならgrapheneがあるけどこれ微妙なんだよね
Tartifletteマジおすすめ
2021/12/26(日) 17:48:55.27ID:go+9Hwgza
認定試験2回も落ちた…
プログラミングしてる人ほんとすごいわ尊敬する
2021/12/26(日) 17:54:33.56ID:v0ik1B7Yd
基礎の方?
2021/12/26(日) 18:03:37.10ID:go+9Hwgza
そうです。
社会人なのですが勉強がとても苦手で、合格率高いって聞いてほんと凄いなと思ってます。
エラーと例外が意味わからん…
2021/12/26(日) 18:12:13.74ID:Pa0hIbgE0
エラーと例外の区別は言語によるけど、pythonの場合は
止まってしまうのがエラー、回避できるのが例外
2021/12/26(日) 18:19:41.97ID:go+9Hwgza
>>665
ありがとうございます。
今年中には受かりたかったのですが、三度目の正直でがんばります。
2021/12/26(日) 19:55:23.10ID:mNkfpvhP0
PythonでカッコイイGUI作れるライブラリないですか?
Tkinter使ってるんですがいまいち見た目が古いです
2021/12/26(日) 20:07:46.98ID:Pa0hIbgE0
最終的には自分でskin作らないと、どこかで見たのになっちゃうな
669デフォルトの名無しさん (ブーイモ MM26-QwP1)
垢版 |
2022/01/01(土) 06:44:25.87ID:96//zQriM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
2022/01/01(土) 08:03:20.96ID:gORyD7C+0
>>667
PyQT5を試してはどうでしょうか?
ライセンスの関係でQt本家のPySideと
Qtバインディングは2つあります
2022/01/01(土) 09:27:43.44ID:jxskZh3E0
>>670
私もラズパイでpyQt5使ってるけど商売したら駄目ですか?
2022/01/01(土) 11:13:01.06ID:hoyIdEI/0
番号が飛んでるのはまたrub○狂信者が
暴れたのか?
新年早々ご苦労様
2022/01/01(土) 11:21:52.18ID:8K4M9wfP0
>>670
QtはC++で使ったことありますね
見た目は良い感じですね
2022/01/01(土) 12:01:34.66ID:GUl+vu92M
亀レスだけどpythonデータ分析試験のほうは実践的だからおすすめしたい。
教養としてアリ
675デフォルトの名無しさん (ワッチョイ e52c-45BR)
垢版 |
2022/01/01(土) 18:30:18.48ID:p7FpLgzA0
windowsの隠し属性などの判定で

import os
from stat import (
FILE_ATTRIBUTE_SYSTEM as S,
FILE_ATTRIBUTE_HIDDEN as H,
FILE_ATTRIBUTE_READONLY as R
)

path = '\foo\bar'
if os.stat(path).st_file_attributes & (S | H | R):

というような書き方を見たんですが
&から先って何してるんですか?
ビット演算? このカッコとパイプはなんですか?
676デフォルトの名無しさん (ワッチョイ e52c-45BR)
垢版 |
2022/01/01(土) 18:35:36.69ID:p7FpLgzA0
attr = os.stat.st_file_attributes
res = (attr & S) + (attr & H) + (attr & R)
と同じ?
677デフォルトの名無しさん (ワッチョイ ad33-hDuN)
垢版 |
2022/01/01(土) 19:52:40.32ID:GIF/ZHL10
>>675
整数型におけるビット単位演算
https://docs.python.org/ja/3/library/stdtypes.html#bitwise-operations-on-integer-types
678デフォルトの名無しさん (ワッチョイ 862d-M739)
垢版 |
2022/01/01(土) 21:00:31.24ID:CvAU7HCi0
ファイル属性にSまたはHまたはRが設定されているか判定している
2022/01/02(日) 00:11:17.32ID:CoptXtkZ0
>>675
ビットマスクってやつ

FILE_ATTRIBUTE_SYSTEM (0x4)
FILE_ATTRIBUTE_HIDDEN (0x2)
FILE_ATTRIBUTE_READONLY (0x1)

(S | H | R)が0x0111
st_file_attributeのほうの該当ビットがどれか1つ立ってればtruthyになる
2022/01/02(日) 00:18:41.67ID:CoptXtkZ0
あ、0111はhexじゃなかったわ
681デフォルトの名無しさん (ワッチョイ e52c-k4O9)
垢版 |
2022/01/02(日) 10:16:57.70ID:nOoY0tiG0
>>679
おービットマスク
ようやく検索のとっかかりが分かりました
ありがてえ
2022/01/02(日) 15:56:44.33ID:nL0v86D90
strの中に'aaa'か'bbb'か'ccc'が含まれている場合
という条件をスマートに書きたい

一致だったら
if str in ('aaa', 'bbb', 'ccc'):
でいいけど、含むになるとうまく書けない
2022/01/02(日) 16:13:04.92ID:etcFdF710
any(word in str for word in ['aaa', 'bbb', 'ccc'])
re.search('aaa|bbb|ccc', str)
684デフォルトの名無しさん (ワッチョイ ad33-hDuN)
垢版 |
2022/01/02(日) 16:18:01.84ID:F+6nt4Sk0
strって組み込み関数じゃないの
2022/01/02(日) 18:04:16.50ID:i5Las0bb0
もちろん推奨されないけど組み込み関数と同じ名前の変数は使えるよ
2022/01/02(日) 23:29:29.52ID:nL0v86D90
文字列が何かと一致する、の時は文字列は左辺でいいのに、
文字列が何かを含む、の時は文字列が右辺に来るんだよな

if [パターン1, パターン2, パターン3] in 文字列
みたいな書き方が許されない限りどうやってもすっきりしない
どこかにanyをねじ込まないと意味が判らんけど
2022/01/03(月) 00:00:34.18ID:jf23T2MpM
PythonのAPI設計が悪い見本と言われる所以
2022/01/03(月) 00:14:18.61ID:sIHXRaIE0
イタイ奴だなw
689デフォルトの名無しさん (ワッチョイ 4936-2HqO)
垢版 |
2022/01/03(月) 10:10:38.63ID:lr+q9xK20
all(),any()なんてあるんだね。
ここ見に来ると勉強になるよw
2022/01/03(月) 10:20:51.32ID:kXMj+7ik0
allとanyは必須

flag = False
for なんやら:
 if 条件:
  flag = True
  break

みたいなよくある書き方をしなくていい
よくある書き方すぎて、その方が通りが良かったりもするけど
2022/01/04(火) 17:34:09.24ID:3hJH9p5O0
なんでallとexistsじゃないのか
2022/01/04(火) 18:06:50.16ID:3tVRYKmq0
文章として読めないがな
2022/01/04(火) 19:23:17.27ID:bw33J4bp0
>>691
and or all anyでもはやidiomだ
2022/01/04(火) 19:28:18.99ID:3tVRYKmq0
aがbに含まれる、が
a in b
という順序なのも、文章優先
bがaを含む
b includes a
でも良かった
それなら
b includes any(a1, a2, a3)
もすんなり実装できた
695デフォルトの名無しさん (ワッチョイ 4136-2HqO)
垢版 |
2022/01/04(火) 20:22:48.31ID:ZoYK5W0O0
文章を読むように書かれたプログラムが一番美しいと、昔し何かで読んだことがある。

まあ、英語圏限定ですけどねww
2022/01/04(火) 20:29:10.53ID:zSGNibWZ0
COBOL 「呼んだ?」
2022/01/04(火) 20:29:39.65ID:3tVRYKmq0
C言語のポインタの複雑な文法も英語に変換するとそのまま読める
698デフォルトの名無しさん (ワッチョイ 4136-2HqO)
垢版 |
2022/01/04(火) 20:40:07.97ID:ZoYK5W0O0
じゃ、日本人は日本語で。

って間違った方向にいたのは秘密ですw
2022/01/04(火) 20:53:04.31ID:eEGYSZI70
mind か
2022/01/04(火) 20:57:24.27ID:3tVRYKmq0
逆ポーランド記法は日本語的だな
しかもスタックが少なくて済むという
2022/01/04(火) 21:31:38.94ID:/LIoFX6+M
>>694
in演算子が内部的に使う__contains__()っては用意されてる
でも変なこだわりでinに統一させるから拡張性がなく使いにくい仕様になってる

any( a in b for a in ['aaa', 'bbb', 'ccc'] )

ないわー
2022/01/04(火) 21:38:53.18ID:63k9tliX0
まあ悩むよりよくある書き方でええような
2022/01/04(火) 23:03:20.95ID:nlFraWk40
内包表記ではそうとしか書けないけど
>>701のコードきたらリジェクトするわ実際
2022/01/04(火) 23:38:46.30ID:l7pw94h+0
内包表記自体、書く側が気持ちよくなるための側面が多分にないともいえないから多用しまくるとレビューでリジェクトされまくりそう
2022/01/05(水) 00:15:54.21ID:PkTwoJNV0
googleのコーディング規約だと、内包表記に制御文を2つ使わなければOkだから、701のコードは通さざるを得ないな...
2022/01/05(水) 02:48:51.85ID:qZJk/ArP0
英語文法に近ければ使いやすいのは違うかなーと思う
sql文みたいにおかしい事になるだけだし
2022/01/05(水) 09:00:51.95ID:+XxZYylm0
atomでpython勉強してるんですけど
以下のところでエラーが出ます

txt = "aaab"
if txt == "aaa":
print("AAA")
else:
print("BBB")
---------------------
else:

^
SyntaxError: invalid syntax


コンソールで実行してもエラーでないんですけど、Hydrogenだとエラー出るんです
なんででしょうか?
2022/01/05(水) 09:07:27.53ID:YkBGR/1Q0
多分インデント
2022/01/06(木) 04:11:32.12ID:X/56yxxn0
seleniumで取得したdriverオブジェクトをbeautifulsoupの第一引数に渡してbeautifulsoupオブジェクトを作りたいんだけどどうすれば?
2022/01/06(木) 07:30:57.53ID:R8Cch/7s0
page_source渡すのじゃだめなん?
>>709
2022/01/06(木) 17:50:30.00ID:3TikDHA/0
ある画像とよくにた画像を探したい
ImageHashのハミング距離でいけるかと思ったけど全然駄目だった
もう少し真面目に比較してくれるライブラリ無い?
2022/01/06(木) 18:12:47.87ID:WCTWOnks0
ハミング距離でいけそうと思えるような奴に真面目な話なんてできないだろう
2022/01/06(木) 18:15:22.62ID:g2jOgONSM
pytorchを使いたまえ
2022/01/06(木) 18:20:50.07ID:3TikDHA/0
一気に難しくなりそう
ImageHashなら1行で書けるのに
2022/01/06(木) 20:04:27.41ID:X/56yxxn0
>>710
多分それで行けるthk
2022/01/06(木) 22:01:01.61ID:R8Cch/7s0
類似画像を探すディープでない方法ならカラーヒストグラムの一致度はいかが?
2022/01/06(木) 22:43:15.94ID:3TikDHA/0
テロップとか入ってるだけでマッチしなさそう
2022/01/06(木) 22:59:44.98ID:WkFaZ5Pd0
いまは理屈わからなくても
簡単にクラウドで画像認識モデル生成できるので
使うだけならかんたん
2022/01/06(木) 23:07:43.22ID:D3QjPRn+0
>>711
> ある画像とよくにた画像を探したい

どこから?
webからなら
tineye
google reverse image search
のAPI叩けばいい
2022/01/06(木) 23:22:05.58ID:3TikDHA/0
ある新規と思われる画像が、既にあるたくさんの画像と重複してないよね、という確認をしたい
2022/01/06(木) 23:46:07.72ID:AWPgbEUsa
エロ画像?
2022/01/06(木) 23:51:36.24ID:AWPgbEUsa
https://pypi.org/project/image-similarity-measures/

こんなのとかどうなんだろね
2022/01/07(金) 11:15:25.95ID:ZrHPqEwy0
エロ画像なんか重複しても何も困らない
724デフォルトの名無しさん (ワッチョイ 2e10-M739)
垢版 |
2022/01/07(金) 19:25:26.76ID:7jGAmvDk0
エロ画像を収集しようとして、肌色面積で判定するプログラムを書いたら、力士の画像が大量に集まった話を、思い出した。
2022/01/07(金) 19:30:28.88ID:ZrHPqEwy0
エロ画像というか、AVのパッケージ画像を深層学習させて、
好みに合いそうなのをピックアップさせたら面白いだろうなとは思う

深層学習は汎用品を使うより、自分しか使わないようなのを各自で作る方が役立つ筈
726デフォルトの名無しさん (ワッチョイ e52c-k4O9)
垢版 |
2022/01/08(土) 02:17:14.95ID:g/P8vIy30
>>720
それだけならDup File Eliminatorとかあるべ
車輪が云々
2022/01/08(土) 06:42:31.41ID:KkBIS3By0
それはやっぱり、謎の理由で重複を消したい人のツールだな

ある画像があって、それが新規ならばIDを登録する
既存ならばどのIDと同じか調べてそこに追加する
そんな処理がしたい
2022/01/08(土) 07:10:24.17ID:wsPrF+eEM
そうですかおめでとう
729デフォルトの名無しさん (バットンキン MM92-k4O9)
垢版 |
2022/01/08(土) 07:51:17.11ID:orDDjzsHM
ワッチョイ c23b-58y4
ワッチョイ e23b-Gc8h
ちょっと前から居着いてるスライスがどうの、改行コードがどうのと
屁理屈こねくり回したいだけで別に解答求めてるわけじゃない
面倒くさいやつだから、相手にするだけ時間の無駄ね
2022/01/08(土) 08:05:42.27ID:KkBIS3By0
だって質問スレではないから
質問者を罵倒して気持ちよくなりたい人はどっか行って
2022/01/08(土) 08:15:30.66ID:KkBIS3By0
レベルアップできそうなネタがあったから良ければ一緒に考えてみないかい?
というスタンスなので簡単ではない
手持ちの知識だけで気楽に回答できてお礼を3行以上貰いたい人には居心地悪いだろう
2022/01/08(土) 08:40:05.38ID:+gNN1Li50
>>726
> Dup File Eliminator

MS-Windows用ではないか。
https://dupfileeliminator.softonic.jp/

くそWindows用車輪でどうしろと言うのだ。
■ このスレッドは過去ログ倉庫に格納されています