◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

くだすれPython(超初心者用) その51【まず1嫁】 YouTube動画>8本 ->画像>5枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1602896738/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2020/10/17(土) 10:05:38.14ID:1RQ0Wdhu
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
https://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
http://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
http://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
http://pastebin.com/     まずまずシンプル。
http://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

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

〇前スレ〇 くだすれPython(超初心者用) その50【まず1嫁】
http://2chb.net/r/tech/1598527450/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2デフォルトの名無しさん
2020/10/17(土) 11:27:15.93ID:1thDdeTA
>>1
a="うとがりあ"
print(a[::-1])
3デフォルトの名無しさん
2020/10/17(土) 14:00:51.41ID:dPJ220D1
いちおつ有能
4デフォルトの名無しさん
2020/10/17(土) 14:05:43.33ID:6+t3jHck
おっぱいそん
5デフォルトの名無しさん
2020/10/17(土) 14:13:02.49ID:Y2egJtFL
可読性を犠牲にして実行速度を得られるPythonのコードってどういう例がありますか?
6デフォルトの名無しさん
2020/10/17(土) 15:29:19.46ID:tgqu+4qK
くだれす~
7デフォルトの名無しさん
2020/10/17(土) 16:37:45.50ID:SpKdHUv/
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
8デフォルトの名無しさん
2020/10/17(土) 21:23:45.76ID:ia6CZUvY
でたw
9デフォルトの名無しさん
2020/10/17(土) 22:57:23.60ID:aI2oeiUv
何があったか知らんけど、7みたいな中学生をコテンパンに言い負かしたやつが悪い
10デフォルトの名無しさん
2020/10/18(日) 00:29:45.75ID:BP1EUUz6
list_a = ['a', 'b', 'c']
list_list = [] (リストのリスト)

list_aの末尾に要素を追加してから、そのリストを丸ごとlist_listへ追加したい。(list_aの中身はどうなってもいい)

(1)
list_list.append(list_a.append('d'))
→戻り値で評価されて、Noneがappendされてしまう

(2)
list_a.append('d')
list_list.append(list_a)
→ならlist_listは想定の結果となる
(list_aは更新される)

(3)
list_list.append(list_a + ['d'])
→も想定の結果となる(カッコ内がリストの戻り値だから)
(list_aは更新されない)

(1)のような書き方みたいに、そのオブジェクトが更新されるメソッドを実行した後のオブジェクトとしてappendの引数に入れるような書き方というのはできないですか?
11デフォルトの名無しさん
2020/10/18(日) 00:50:55.67ID:/Z/JZuKT
つlist_list.append(list_a+['d'])
12デフォルトの名無しさん
2020/10/18(日) 01:09:16.00ID:XIKHaV9E
listを継承して、append後にselfを返すメソッドでも実装しなはれ
13デフォルトの名無しさん
2020/10/18(日) 01:13:49.31ID:XIKHaV9E
class MyList(list):
__def append(self,a):
____super().append(a)
____return self

list_a=MyList([‘a’,’b’,’c’])
list_list=[]
list_list.append(list_a.append(d))
14デフォルトの名無しさん
2020/10/18(日) 09:52:27.61ID:h0an4siz
>>10
list_list = [*list_a, 'd']
15デフォルトの名無しさん
2020/10/18(日) 10:28:15.04ID:+vZczgoX
>>10
オブジェクトを直接変更するメソッドは変更後のオブジェクトを返さないのが
Pythonの基本的な考え方なので
(2)の動作を求めてるならそのまま2行で書くやり方に慣れたほうがいい
16デフォルトの名無しさん
2020/10/18(日) 11:01:34.94ID:vmWunLYe
>>10
そう言うのは関数型言語的な発想。
もしくは同じオブジェクト指向でもメッセージパッシング主体のSmalltalkやRubyの発想。
Pythonのオブジェクト指向はC++的。

美しきHaskell畑へようこそ。
17デフォルトの名無しさん
2020/10/18(日) 11:13:21.30ID:XoxqzEVb
c++でも自身を返す関数は多いけどな。
streamとか
18デフォルトの名無しさん
2020/10/18(日) 11:30:11.96ID:H1xH1BRx
他の言語知ってても
python 初心者の頃は仕方ない
sort() sorted() でも混乱するし
len() はナニコレって思う
19デフォルトの名無しさん
2020/10/18(日) 13:40:43.68ID:LTF40fUE
むかし無印C そしてアセンブラをちょっとやってPythonに来たんだけど
len()便利!って思ったおもひで
20デフォルトの名無しさん
2020/10/18(日) 19:26:16.89ID:sP6Ssfc9
Windows版 Anacondaでenv配下のpython exeを直叩きするとライブラリのエラーを吐く(baseが起動されてる?)んですがこれって仕様ですか?
Ubuntuで使ってたときはpython直叩きで普通に動いてたのですが…
21デフォルトの名無しさん
2020/10/18(日) 20:12:49.18ID:LTF40fUE
>>20
パスが通ってないんでねーの
22デフォルトの名無しさん
2020/10/19(月) 01:51:34.80ID:/dP3R2fY
>>11-16
遅くなりすみませんが、ありがとうございました。
そういうもの、ということでpythonに慣れていきたいと思います。
23デフォルトの名無しさん
2020/10/19(月) 02:50:44.31ID:OVCmHBqA
[{"a":1},{"a":2}]
みたいなネストされた複数辞書をjson.loadで読み込むことに成功はしたのですが
なぜか相対パスだと成功して絶対パスだと
dictionary update sequence element #0 has length 1; 2 is required
なエラーがでて失敗します
なんでですか
24デフォルトの名無しさん
2020/10/19(月) 03:26:59.96ID:DsKIoN0Z
意味がわからないのでコード全体を書いてください
25デフォルトの名無しさん
2020/10/19(月) 07:24:07.28ID:zWJLigJ7
>>23
エスパーすると
フルパスの中の
半角スペースか
2バイト文字が
悪事を働いている

あるいは
ダメ文字
26デフォルトの名無しさん
2020/10/19(月) 09:36:29.53ID:4EZdKnY4
違うファイルを読んでるに一票
27デフォルトの名無しさん
2020/10/19(月) 12:02:28.38ID:asy7wTux
ユーザー名全角文字半角スペースとか入れるやつはあほ
28デフォルトの名無しさん
2020/10/19(月) 12:31:39.94ID:qGPDmfjh
楽天三木谷もkoboアカウントの件でそんなことを言っていたな
29デフォルトの名無しさん
2020/10/19(月) 13:15:13.55ID:7uyYHFbc
実はPHPだったに一票
1も読まない質問者だからありえる
30デフォルトの名無しさん
2020/10/19(月) 13:22:16.43ID:xZeEkj1k
今どき全角だから受け付けないとか許されんわ。
うっかり世界中に絵文字を流行らせてしまった責任取れ
31デフォルトの名無しさん
2020/10/19(月) 13:27:52.28ID:asy7wTux
ソースのエンコード
テキストデータのエンコード
ファイルシステムのエンコード
把握しとけよ
32デフォルトの名無しさん
2020/10/19(月) 21:01:35.50ID:2Is2q0wK
>>30
表示の問題でスペースに見える文字がたくさんある
これらを認めることにするのかしないのか決めないといけない
33デフォルトの名無しさん
2020/10/20(火) 13:43:26.44ID:ysKzRYjJ
簡単な検索サイトみたいなの作りたく5月に初プログラミングでPythonはじめて、1ヶ月くらいで原型はできてきたけど
そこからMysqlの速度改善、いろんなケースの対応とか修正改良に何ヶ月もかかってしまった…
まだHTMLとCSSもほとんどできてないし、ウェブサイト作成の道のりがこんなに長いとは思わなかった
最初に完成形を思い描いておいて正解だった。目標が見えてなかったらとっくに挫折してる
34デフォルトの名無しさん
2020/10/20(火) 15:21:01.77ID:Zx1gytYL
おきばりやす
35デフォルトの名無しさん
2020/10/20(火) 16:29:48.06ID:eycpLBp6
class A:
_def __init__(self):
__self.data = [1,2,3]

a = A()
for d in a.data:
_print(d)

forで回すときだけ、for d in a:と書くだけで
実際はa.data返してくれる特殊メソッド的なやつはないのでしょうか
36デフォルトの名無しさん
2020/10/20(火) 17:17:00.75ID:EATBGB0m
>>35
ないからって
絶対作るなよ!
なんでそんなところをはしょろうとするんだよ
37デフォルトの名無しさん
2020/10/20(火) 17:29:05.66ID:nDz4VJ3V
__iter__()
38デフォルトの名無しさん
2020/10/20(火) 17:31:25.43ID:vcQhkuUZ
>>35
[Python] イテレータを実装する - Qiita
https://qiita.com/tchnkmr/items/e740173d7400f8672d75

Python3 – __iter()__によるイテレーターの実装 – TauStation
http://taustation.com/python3-iterator-implementation/

Pythonの特殊メソッド一覧を備忘録としてまとめてみた。 - Qiita
https://qiita.com/y518gaku/items/07961c61f5efef13cccc

C++やJavaに慣れていればどうということは無いかんたんな仕組み
39デフォルトの名無しさん
2020/10/20(火) 17:41:22.29ID:iUu5GsdY
>>36
ちょw
40デフォルトの名無しさん
2020/10/20(火) 19:50:39.99ID:HzDHbN9N
>>35
__iter__でa.dataを戻り値
41デフォルトの名無しさん
2020/10/20(火) 19:57:20.87
import itertools
import time

class A:
_def __init__(self):
__self.data = [4,6,5]
_def __iter__(self):
__return itertools.cycle(self.data)
_def __next__(self):
__return next()
a = A()
for d in a:
_print(d)
_time.sleep(1)

>>37,38
self.dataを汚すかどうかは置いといて
できました ありがとうございました

>>36
ないのでしょうか?
一応それっぽいというか、まさにってものができたのですが
やらないほうがいい理由を後学のため教えてください
42デフォルトの名無しさん
2020/10/20(火) 20:04:58.79ID:EATBGB0m
>>41
むやみにクラス化すんなや
「とりあえずでクラスにするのやめよう」
43デフォルトの名無しさん
2020/10/20(火) 20:09:19.14
だめだ会話が成り立たない
クラスにするかどうかってここで関係あるのかなぁ…
>ないからって
というのはどういう意図で言ったのか聞きたかっただけなのに
44デフォルトの名無しさん
2020/10/20(火) 22:38:32.31ID:vwGc/p8H
自分は逆に、こういうのでもクラスを使うほうがいいのかと思ってしまった
いまだに自作のクラスを使わないといけない状況にあったことがないので
だから全然クラスの知識が増えない
45デフォルトの名無しさん
2020/10/20(火) 22:50:02.10ID:19yz3Hql
pandasでカラム1~カラム10まであるとして、
axis=1の方向でソートして3番目の値を新たにカラム11とする場合の書き方を教えてください。
カラム1~10はすべて数値です。
46デフォルトの名無しさん
2020/10/21(水) 11:34:12.69ID:zDJAgP8g
勉強始めてまだ3日目。まだアンダーバーの意味すらわからん。
カメに捕まってしまいましたし。
47デフォルトの名無しさん
2020/10/21(水) 12:31:30.33ID:xBgAWF1Y
import random
import pandas as pd
df = pd.DataFrame([[random.randint(1,10) for _ in range(10)] for _ in range(5)])
df['No3'] = df.apply(lambda x: sorted(x)[2], axis=1)
print(df)
48デフォルトの名無しさん
2020/10/21(水) 13:56:16.17ID:c5E90NOp
>>44おれこっち

>>43ID隠しうんこ野郎だったのかよ
質問するときもちゃんとうんこはつけておけよ!
49デフォルトの名無しさん
2020/10/21(水) 20:40:28.03ID:xIbMleXq
>>47
ありがとうございます!
50デフォルトの名無しさん
2020/10/21(水) 21:38:51.76ID:AdaVgrBD
確かにID隠しはカスが多いイメージなので自分も無視しよう
51デフォルトの名無しさん
2020/10/21(水) 23:59:34.46ID:eEy42ac7
先週からPythonを始めた初心者です
手書きの数字を書いた画像ファイルからその数字を予測させるプログラ厶を作っているのですが、作ったプログラムファイルと画像ファイルを同一フォルダ内に入れるにはどうすればいいでしょうか?
画像ファイルはペイント3Dで作成したものです
コード以前の質問で申し訳ありません
52デフォルトの名無しさん
2020/10/22(木) 02:29:50.64ID:9XviiwvN
>>51
ペイント3Dで画像を保存する時にプログラムファイルと同じフォルダを指定して保存すれば良いんじゃないの?
処理の手順とか書いてくれたら何がしたいのか分かるかも
53デフォルトの名無しさん
2020/10/22(木) 10:41:34.94ID:vPWH9GQz
退屈な事はpythonにやらせよう
54デフォルトの名無しさん
2020/10/22(木) 12:34:01.43ID:HXHhKphi
ゴミ出しと風呂掃除頼む。
55デフォルトの名無しさん
2020/10/22(木) 14:48:20.36ID:iRctxXkJ
料理洗濯も
56デフォルトの名無しさん
2020/10/22(木) 14:50:57.06ID:RUAley9J
自発呼吸頼むわ
57デフォルトの名無しさん
2020/10/22(木) 15:39:07.78ID:/vtiKtyR
代わりにトイレに行ってくれると助かる
58デフォルトの名無しさん
2020/10/22(木) 19:58:02.49ID:3xJ2F0Gf
>>52
回答ありがとうございます
Python IDLEでプログラムファイルを作成し、次にペイント3Dで作った画像ファイルを同じ場所に保存しようとしたのですが、作成したプログラムファイルが見つかりませんでした
Python IDLEのメニューからだと見つけられるのですが、ペイント3Dからだと同じ場所を探してもありませんでした
仕方なくPython IDLEのメニューからフォルダを新規作成し、そこにプログラムファイルと画像ファイルをコピペしたのですが、それを実行してもRESTARTと表示されるだけで何も起こりませんでした
PC自体に疎く、説明が上手くできず申し訳ありません
59デフォルトの名無しさん
2020/10/22(木) 21:01:20.73ID:yc9Jm0+D
OSの種類とバージョンがわからないとどうともいえない
60デフォルトの名無しさん
2020/10/22(木) 22:15:35.52ID:3xJ2F0Gf
OSはwindows10で、Pythonのバージョンは3.8です
61デフォルトの名無しさん
2020/10/22(木) 22:21:56.13ID:j2MoRHOc
初心者はとりあえずここ見とけ [無断転載禁止]©2ch.net
http://2chb.net/r/tech/1497200888/l50
62デフォルトの名無しさん
2020/10/23(金) 00:20:56.29ID:paOGsZZ1
>>60
何bitか書いてけ
63デフォルトの名無しさん
2020/10/23(金) 00:37:25.09ID:L7Q9DyFd
>>62
64bitでした
64デフォルトの名無しさん
2020/10/23(金) 00:40:27.13ID:ykqFrr6r
何bitかなんかより、画像ファイルの拡張子合ってますか?
65デフォルトの名無しさん
2020/10/23(金) 00:44:59.96ID:L7Q9DyFd
>>64
名前を付けて保存を選択したら.pingという拡張子になったのですがこれではいけないでしょうか…
66デフォルトの名無しさん
2020/10/23(金) 01:32:11.21ID:ykqFrr6r
>>65
いけない子ですねー、バチが当たります。
>>51> "数字を予測させるプログラ厶"
はそんな.ping子を呼びだしとるんかね?
67デフォルトの名無しさん
2020/10/23(金) 02:24:54.03
javascriptでいうところのブロック{}で囲んで複数行のコードを書けるような無名関数と同等のものって
pythonだとラムダ式で \ を使う方法しかないっぽいですね?
(lamba:[,,,]みたいな書き方だと変数を外におけば大抵はいけそうですけど)
68デフォルトの名無しさん
2020/10/23(金) 07:13:03.18ID:loxVAW2U
>>67
Pythonはlambdaで実現できないもの(文)はdefで名前つける必要がある、というルールだから、厳密に同じことはできないのではないかな
見た目は多少ごちゃごちゃするけど、関数内defで困ることはない感じ
69デフォルトの名無しさん
2020/10/23(金) 08:35:57.89ID:paOGsZZ1
>>63
とりまおkだが

>>65
あーだめだな
70デフォルトの名無しさん
2020/10/23(金) 09:43:35.64ID:GB49RwlR
>>58
ペイント3Dからpythonのプログラムファイルを見つけようとしたの?
通常ペイント3Dから見えるのはペイント3Dで開ける画像形式だけだよ。
エクスプローラーから両方のファイルが見えるなら正常動作
71デフォルトの名無しさん
2020/10/23(金) 12:12:46.38ID:nXkr9gOB
リスト内の検索で教えて下さい。
[0, 1, 2, 3, 4]
[0, 1, 2, 4, 6]
[1, 2, 3, 4, 6]
  :

このようなリストを10000行含むテキストがあります。テキストの中に重複はありません。

sf = open('Search.txt', 'r')
S_list = sf.readlines()

for i in range(20):
print(S_list[i], end='')

として確認すると、ちゃんと読み込まれています。
プログラムの中で、新しい [1, 3, 3, 4, 9]

というリストをつくり、これが読み込んだ S_list に含まれるかという
判定をしたいのですが、すでにある[0, 1, 2, 3, 4]を

'[0, 1, 2, 3, 4]' in S_list
とかを試しても、Falseとなってしまいます。

これでTrueを返すにはどうしたら良いでしょうか。
データの比較は1行そのものにマッチするかという感じです。

関係ないかもしれませんが、データ形式を確認すると
print (type(S_list[0]))
<class 'str'>

となり、読み込まれた行データはstrとなっているようです。
どうか、よろしくおねがいします。
72デフォルトの名無しさん
2020/10/23(金) 12:26:54.44ID:5NWyTruo
S_listに入ってるのは '[0, 1, 2, 3, 4]'という文字列
でもあんたが欲しいのはきっとリストの集合でしょ

printすりゃリストのように見えるのも当然
73デフォルトの名無しさん
2020/10/23(金) 12:30:01.02ID:5NWyTruo
だから「新しい [1, 3, 3, 4, 9]というリスト」じゃなくて
「『新しい [1, 3, 3, 4, 9]というリスト』を文字列にした、'[1, 3, 3, 4, 9]'という文字列」をS_listに入れる

リスト[1, 3, 3, 4, 9]をprintとしたときの見映えと、'[1, 3, 3, 4, 9]'という文字列をprintした時の見映え、一緒になるでしょ
だから見ても分らない
74デフォルトの名無しさん
2020/10/23(金) 12:33:45.18ID:vvEFmscd
> すでにある[0, 1, 2, 3, 4]を
>
> '[0, 1, 2, 3, 4]' in S_list
> とかを試しても、Falseとなってしまいます。

先にこれに答えてあげたら?
75デフォルトの名無しさん
2020/10/23(金) 12:42:54.50ID:abzAGR5J
>>71
改行コードが含まれてるからだよ
デバッグすればS_list[0]に何が入ってるか確認できるでしょ
76デフォルトの名無しさん
2020/10/23(金) 13:28:22.51ID:nXkr9gOB
コメントとありがとうございます。

確かにおっしゃるとおり[0,1,2,3,4]をある組み合わせの数値リストとして
利用しています。例は5個の組み合わせですが、実際は10個の数値リスト
を一つの組み合わせとしています。

そのため、一つの組み合わせを調べるのにもそれなりに時間がかかるため、
すでに調べた組み合わせのリスト化し(それがs_listです。)、新しい
組み合わせがそのリストの中にあれば、再調査する必要がないので
「リストの中を検索して同じ組み合わせがあるか」を調べたいと考えたわけ
です。

そのため、目的は文字列として一致していれば良いので、(type(S_list[0])
がstrでも問題はないかと思っています。

python自体が今回はじめてなので、的外れでしたらすみません。
77デフォルトの名無しさん
2020/10/23(金) 13:45:29.78ID:0ETx0fm7
回答者は型としてのリストと勘違いしてるようだけど、質問でいうリストって単なる文字列のことだよね。
文字列比較がうまくいかないって聞いてるんだと思うけど。
78デフォルトの名無しさん
2020/10/23(金) 13:52:27.99ID:1Lfwgj44
Ruby なら配列同士を、<=> で比較するだけ

p [ 1, 2, 3 ] <=> [ 1, 2, 3 ] #=> 0

自身と other の各要素をそれぞれ順に、<=> で比較していき、
結果が 0 でなかった場合に、その値を返します

各要素が等しく、配列の長さも等しい場合には 0 を返します
79デフォルトの名無しさん
2020/10/23(金) 14:16:49.16ID:I6W4x6m7
print(True) if '' else raise Exception('err')

参考演算子の中でraiseって使えないのですか?
80デフォルトの名無しさん
2020/10/23(金) 14:23:32.89ID:nXkr9gOB
71です。

いろいろお騒がせしましたが解決しましたのでご報告いたします。
原因は75さんのおっしゃるとおり改行コードでした。

いろいろ試しているうちに、
S_list[0] in S_list
ならTrueを返すことに気がつきました。
そこで
[0,1,2,3,4] +'\n' in S_listとやったら
無事、Trueが帰ってきてくれました。

これを解決するのに4時間ほど要しましたが(汗)
苦しいけれどプログラミングは面白いですね。

まだまだ勉強が足りません。

みなさん、ご協力ありがとうございました。
8178
2020/10/23(金) 14:28:49.18ID:1Lfwgj44
Ruby で作った

require "json"

json = <<'JSON'
[0, 1, 2, 3, 4]
[0, 1, 2, 4, 6]
[1, 2, 3, 4, 6]
JSON

json.each_line.with_index( 1 ) do | line, idx | # 各行・添字
ary = JSON.parse( line )

if ( ary <=> [ 0, 1, 2, 4, 6 ] ) == 0 # 同一なら
puts "#{ idx }行目と一致しました!"
break
end
end

出力
2行目と一致しました!
8279
2020/10/23(金) 15:04:56.16ID:I6W4x6m7
関数にして実行することにしました
def _inter(msg):
_raise Exception(msg)
print(True) if '' else _inter('err')
83デフォルトの名無しさん
2020/10/23(金) 18:20:11.52ID:VhlDKsUn
>>79
三項式は”<式> if <条件式> else <式>”の形
式のところに文を書くことはできない
raiseは文
84デフォルトの名無しさん
2020/10/23(金) 22:00:16.63ID:L1dflzY5
以下のGitHubのコードで
https://github.com/jstasiak/python-zeroconf/blob/master/examples/browser.py

「def on_service_state_change(....) -> None:」

という箇所があるのですが、 「-> None」というのはどういう意味・どういう処理ですか?
初めて見たのですが、検索に引っかかりにくそうな文字列なので教えてください。
戻り値がないことを明示するような何かでしょうか?
85デフォルトの名無しさん
2020/10/23(金) 22:26:52.76ID:0nvuAgk9
ググれば普通に出てくるけど
返り値がないことを明示するもの
実行時の影響はない、人間が読みやすくするため
86デフォルトの名無しさん
2020/10/23(金) 22:27:25.36ID:hTSzdhIi
https://note.nkmk.me/python-function-annotations-typing/
87デフォルトの名無しさん
2020/10/23(金) 22:28:56.45ID:zsVfkhmi
>>86
Pythonで一番わかりやすいサイト
88デフォルトの名無しさん
2020/10/24(土) 02:17:03.53ID:JC525kC6
モジュール等の関数の引数で、単体の文字列でも、文字列のリスト型でも渡せるようなものがありますが、あれは関数内でリストかどうか判別して処理してるんでしょうか。

たとえば↓こんな処理があるとして
for str in str_list:
___ print(str)

str_list = ['abc', 'def']
str_list = 'abc'
のどちらでも、'abc'はひとかたまりに'abc'と扱うようなシンプルな書き方はありますか?

if type(str_list) != list:
___ str_list = [str_list]
のように1個だけのリストに置き換えてあげないとダメですかね
89デフォルトの名無しさん
2020/10/24(土) 07:04:59.96ID:RnpA+Mw5
>>88
エスパーしてみると、
どっちがこようが、中身を1つずつfor文ブン回して処理してて
その中でさらにlen()を使ったりして中身の中身が1文字になるまでfor文ブン回してるなら
リストがこようがstrがこようが問題ない
90デフォルトの名無しさん
2020/10/24(土) 10:26:22.07ID:lgAxN1Yc
>>71
def func(*args):
if len(args) == 1 and isinstance(args[0], (list, tuple)):
return func(*args[0])

for s in args:
print(s)

書いては見たものの、普通に分岐して処理を分けたほうが効率も可読性も上がると思う
91デフォルトの名無しさん
2020/10/24(土) 10:27:34.10ID:lgAxN1Yc
安価間違えた
92デフォルトの名無しさん
2020/10/24(土) 11:23:27.37ID:878uww5f
>>88
一般的にはリストかどうかを判定するんじゃなく
渡されたiterableがstrかどうかを判定して分岐させる
93デフォルトの名無しさん
2020/10/24(土) 12:43:38.66ID:+LCko2A7
>>88
>モジュール等の関数の引数で、単体の文字列でも、文字列のリスト型でも渡せるようなものがありますが
ものがあるならそれを見ろよ
見てもわからないならそのリンクを貼れよ

何で馬鹿正直にここでコードを書いてるんだ
94デフォルトの名無しさん
2020/10/24(土) 17:18:10.10ID:lO0DTzsg
main.py から hoge.py をimportするとき、 hoge.py が main.py と同じディレクトリにあることを
明示的に示したい場合はimportをどのように書くのが正しいんでしょうか。

import hoge で一応実行はできますが、vscode(Pylance)から認識できなくて警告が出ます。
from . import hoge とするとvscodeで認識されるようになるのですがpythonの実行がエラーになります。
もしかしたらvscodeがおかしいのかもしれませんが。
95デフォルトの名無しさん
2020/10/24(土) 17:20:55.44ID:+GevKgJx
from . import hoge
でももちろん OK

sys.path.append('.') の反対で sys.path の先頭に '.' が来るようにすれば良いんじゃね
96デフォルトの名無しさん
2020/10/24(土) 17:21:54.71ID:+GevKgJx
あと
main.py のディレクトリに
__init__.py
を造る
97デフォルトの名無しさん
2020/10/24(土) 21:32:18.14ID:d1F6LvKA
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
98デフォルトの名無しさん
2020/10/24(土) 22:17:47.25ID:lO0DTzsg
ありがとうございます。
どうも from . の相対指定は __main__ からは使えないようですね。
なんでvscodeは import hoge だと見つけてくれないんだろう。
99デフォルトの名無しさん
2020/10/25(日) 10:06:10.70ID:yMGC2owQ
配列を回転させるにはどういうロジックを使うんでしょうか?
テトリミノです
これを
var mino = [
[1,0,0,0],
[1,1,1,0],
[0,0,0,0]
]

var mino = [
[0,0,0,1],
[0,1,1,1],
[0,0,0,0]
]

こうしたいのですが、1つの目の配列のmino[1][2]番目にある配列を原点としたいので、並行移動も必要かとは思います
あるいは配列のフィールドを大きくする必要がありますね

var mino = [
[1,0,0,0,0,0],
[1,1,1,0,0,0],
[0,0,0,0,0,0]
]
var mino = [
[0,0,0,0,0,1],
[0,0,0,1,1,1],
[0,0,0,0,0,0]
]
100デフォルトの名無しさん
2020/10/25(日) 10:14:15.45ID:ems4w7oQ
>>99
テトリミノごときでは、予め
リスト_ブロックの種類その1=[向きその1の座標リスト、同2,3,4]
みたいに
全種類のブロック、全向きの描画指示リストを作ってしまっておき、

右回転ボタンを押したら リスト_ブロックの種類その1[ここの中を1足せ!]
左回転なら リスト_ブロックの種類その1[ここの中を1引く!]
で、ブロックアイコン部分を処理し、

上下左右ボタン押下時は描画中央点の座標を移動させる
とやるのが定番らしいぞ。
101デフォルトの名無しさん
2020/10/25(日) 10:24:53.87ID:yMGC2owQ
>>100
上のミノの場合は上下左右全4パターンしかないでしょうか?
回転描画と移動は分けるわけですね
テトリスでもそのロジックでやるんでしょうか?
102デフォルトの名無しさん
2020/10/25(日) 10:35:02.78ID:ems4w7oQ
>>101
Yes普通は
そのようだ
そのようだ

テトリスで重要かつ難しいのは、
「考えれば詰まない」程度にブロックの出現比率を考えること
103デフォルトの名無しさん
2020/10/25(日) 10:58:03.08ID:yMGC2owQ
ありがとう
もう少し調べてから来る
とりあえずクラスにそれぞれの方向の配列を作ってみる

でも、回転させる方法もあるにはあるんだよね
104デフォルトの名無しさん
2020/10/25(日) 11:07:46.70ID:FKBCMSG5
>>102
テトリスではブロックの出現率はすべて均等
もっと言えば7種類あるテトリミノは7回のツモで全て出るようになっている
これは最近のゲーム全てで採用している共通仕様(ガイドライン)
105デフォルトの名無しさん
2020/10/25(日) 11:09:50.53ID:yMGC2owQ
複数の配列を格納しておく場合、クラスを定義するのがいいんでしょうか?
106デフォルトの名無しさん
2020/10/25(日) 11:13:32.62ID:yMGC2owQ
classはなぜnewしないといけないのか(´・ω・`)、、、
107デフォルトの名無しさん
2020/10/25(日) 11:14:19.93ID:FKBCMSG5
あとテトリスの回転規則はすべて規定されてるから
軸ブロックの位置のデータと向き(4パターン)だけ持っといて
普通に回転できるならパターンだけ入れ替える
他のブロックや壁と干渉するなら合法な回転になるように補正する
でいい
108デフォルトの名無しさん
2020/10/25(日) 12:31:00.34ID:yMGC2owQ
パターンを作るのと、普通に回転させる手法で、後者の手法はなんというかわかりますか?
109デフォルトの名無しさん
2020/10/25(日) 12:46:40.25ID:zd7LSfWt
名前が欲しいなら「単純回転法」とか自分で勝手に好きな名前を付けていい
何をどう呼ぼうが自分の自由
110デフォルトの名無しさん
2020/10/25(日) 12:47:39.12ID:zd7LSfWt
なので美人投票になり、多くの人が名付けそうな名前を当てればいい
111デフォルトの名無しさん
2020/10/25(日) 12:47:47.86ID:FzqccguI
>>99
それは回転じゃない
反転だ
112デフォルトの名無しさん
2020/10/25(日) 13:02:11.16ID:/elpRfls
反転も回転だ
113デフォルトの名無しさん
2020/10/25(日) 13:06:09.27ID:FzqccguI
z軸があるならな
114デフォルトの名無しさん
2020/10/25(日) 13:08:35.94ID:FzqccguI
自己レスだけど
ああ答え出たわ

>>112
thx
115デフォルトの名無しさん
2020/10/25(日) 14:24:35.81ID:pXppxvnv
>>98
Ruby でも、require, require_relative は異なる

requireは、$LOAD_PATH に指定されているディレクトリから、
相対パスで該当のファイルを探しに行く。
$LOAD_PATHには、カレントディレクトリは入っていない

一方、require_relativeは、そのファイルがあるディレクトリからの相対パスで探す
116デフォルトの名無しさん
2020/10/25(日) 14:45:30.88ID:owEUdSKz
すみません
ネズミの血管が高血圧でどれだけ縮んだかを調べてほしいなんて言われたのだけど、
画像には縮んだ跡がはっきりわかるほど色の違いがでてるので、
色の閾値範囲内で面積を求めるようなサンプルが解説してあるようなホームページってどこかにあります?
117デフォルトの名無しさん
2020/10/25(日) 14:47:54.52ID:FzqccguI
医療器具の開発が5chで質問とか世も末だな
118デフォルトの名無しさん
2020/10/25(日) 14:56:11.81ID:/elpRfls
血管が高血圧で縮んだのではなく、
血管が縮んだから高血圧になったのでは?
スタートから間違えてる気がする。
119デフォルトの名無しさん
2020/10/25(日) 15:58:31.62ID:M7kzCKlu
>>116
https://realpython.com/python-opencv-color-spaces/
https://stackoverflow.com/questions/52761354/
https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv/
120デフォルトの名無しさん
2020/10/25(日) 17:27:18.50ID:yMGC2owQ
テトリスで配列を回転させるやり方は一般的ではないのですか?
121デフォルトの名無しさん
2020/10/25(日) 17:45:47.26ID:oSLDmiXU
なんで一般的かどうかを気にするんだ?
122デフォルトの名無しさん
2020/10/25(日) 17:54:01.25ID:33H36Dsf
746 名前:デフォルトの名無しさん[sage] 投稿日:2019年12月18日(水) 14:05:40.87 ID:j0+9FDxC
ていうかこのテトリス奴って一年くらい前にも同じレベルのレスしてなかったっけ?
123デフォルトの名無しさん
2020/10/25(日) 17:57:40.03ID:Lrl0T0sC
そもそもテトリスなんて多言語含めりゃサンプル山ほど見つかるだろ
124デフォルトの名無しさん
2020/10/25(日) 18:07:09.66ID:6nYXX+Of
Тетрис
125デフォルトの名無しさん
2020/10/25(日) 19:03:10.89ID:yMGC2owQ
配列は回転アニメーション入れるのが面倒なので3dでやってみますです
126デフォルトの名無しさん
2020/10/25(日) 19:14:06.08
https://note.com/thinknewproducts/n/n6db63a3dcc1e
>▶Dockerを用いた開発手順
>③コンテナ内で開発を行う
ってあるけど
dockerって基本GUIは推奨じゃないよね
コンテナ端末上のviとかで開発すんの?
(さすがに、ホストにインストールした開発環境でコードをコピペして云々じゃないよね)
デバッグのときだけエディタでコンテナ使うならわかるけど
127デフォルトの名無しさん
2020/10/25(日) 19:33:58.76ID:xycg9nf+
>>126
vscodeとか使ったらssh経由でリモートのファイルを触れるので(感触はローカルファイルと一緒)、編集はそれでして
ビルド、実行、デバッガはコンテナ上で行う
128デフォルトの名無しさん
2020/10/25(日) 19:35:24.42ID:An8jgW91
どこかの社員研修かボットか地縛霊とみた
129デフォルトの名無しさん
2020/10/25(日) 19:37:14.60ID:DefYxvki
なんでmac標準で入ってるpythonは2なんだ?
130デフォルトの名無しさん
2020/10/25(日) 19:40:24.62ID:owEUdSKz
>>119
ありがとうございます。参考にします。

>>117
ただの病院の事務です
医者に宿題を出されて、画像から面積計算なんてやったことないよと頭を抱えてるところなだけです
131デフォルトの名無しさん
2020/10/25(日) 19:46:34.13ID:ems4w7oQ
>>129
3系がうまれるまえに骨子ができたったから。
10系ろんぐらーいふ!
132デフォルトの名無しさん
2020/10/25(日) 21:15:42.93ID:Y8lAuHf9
numpyのndarrayに時系列でのデータと計測時のタイムスタンプが保存してあるのですが
これをcsvに書き出すにはどうすればいいですか?
writecolsみたいなのがあればいいんですが…
133デフォルトの名無しさん
2020/10/25(日) 21:56:13.14ID:ems4w7oQ
>>132
「numpy 出力 ファイル」あたりでググって
あとはおこのみで
134デフォルトの名無しさん
2020/10/25(日) 22:30:07.80ID:pXppxvnv
Ruby では、

require 'csv'

CSV.open( 'out.csv', 'w' ) do |csv|
csv << [ 1, "a,b" ]
csv << [ 2, "あ\nい" ]
end

ファイル書き込みの結果

1,"a,b"
2,"あ
い"
135デフォルトの名無しさん
2020/10/25(日) 23:22:52.17ID:qAxwUivt
ルビおじw
136デフォルトの名無しさん
2020/10/25(日) 23:32:43.10ID:/elpRfls
これ何の断りもなくrequire 'csv'でグローバルの「CSV」汚染するわけ??
137134
2020/10/25(日) 23:44:34.30ID:pXppxvnv
require 'csv'
は、標準モジュール

Ruby は、便利な標準モジュール・電池付き言語。
Batteries included
138デフォルトの名無しさん
2020/10/25(日) 23:47:18.14ID:xycg9nf+
>>136
それは Python も一緒じゃね。てか汚染しない言語あるの?
139デフォルトの名無しさん
2020/10/25(日) 23:47:57.36ID:xycg9nf+
>>136
あっごめん、大文字小文字が違うということね。たしかにそれはきつい。
140デフォルトの名無しさん
2020/10/26(月) 00:03:53.08ID:eROnJLfC
CSV = 'important string'
require 'csv'

こうするとエラーで止まるがエラーメッセージがTypeError (CSS is not a class)
相変わらずエラーメッセージ糞な言語だな。
CSV is already usedとか出せんのか。
141デフォルトの名無しさん
2020/10/26(月) 00:18:45.05ID:R4Gg3P6Y
PythonスレがRuby野郎に汚染されてる
142デフォルトの名無しさん
2020/10/26(月) 10:30:00.58ID:cPtCGHMp
>>140
>CSV is already usedとか出せんのか。

すでに使われてるというのがエラーの原因じゃないからね
間違ったエラーメッセージを出せっていうのは無理筋
143デフォルトの名無しさん
2020/10/26(月) 12:25:53.52ID:3haw0p11
「正しいエラーメッセージ」に従ってcsvモジュールの中調べに潜っちゃうんですよね分かります
144デフォルトの名無しさん
2020/10/26(月) 14:22:47.45ID:cPtCGHMp
>>143
require ‘csv’してるのに、それによってトップレベルに追加されるモジュール名/クラス名を把握してないなら調べるのは当然だよね
145デフォルトの名無しさん
2020/10/26(月) 15:11:24.23ID:eROnJLfC
pythonみたいにasがあれば必要ないよね。
rubyではどう書くの?
146デフォルトの名無しさん
2020/10/26(月) 15:20:49.35ID:EltRWJ/H
るby 禁止
147デフォルトの名無しさん
2020/10/26(月) 18:59:56.70ID:5rehnZD3
麦わらのruby
148デフォルトの名無しさん
2020/10/26(月) 21:27:54.90ID:qgIOQEH4
import axios from 'axios';

JavaScript でも、ファイルパス・ファイル名も書いていないのに、
どこかにある、axios が読み込まれるw

これは標準モジュールじゃない。
npm/yarn で、自分でインストールしたもの
149デフォルトの名無しさん
2020/10/26(月) 23:15:43.99ID:eROnJLfC
>>148
pythonのimportもjsのimportもasがあるからアサインする変数名自由に決められるよね。nodeのrequireも=でできる。
で?rubyは?
>>140 の CSV = 'important string' を救う方法はあるの?ないの?
誤魔化さずに答えろよ!逃げんなよ?
150デフォルトの名無しさん
2020/10/26(月) 23:21:55.77ID:OwfKZM8a
>>148
どこかにあるって言うか、解決の順番はあるんだが。
rubyみたいにenvとかで逃げる必要すらない。
151デフォルトの名無しさん
2020/10/26(月) 23:57:32.22ID:cPtCGHMp
>>149
ないわけないでしょwww
調べてもわからなかったのかな?
152デフォルトの名無しさん
2020/10/27(火) 00:20:22.39ID:VaMRm4CO
>>151
誤魔化すな。逃げるな。
あるならなぜ示せないんだ?
まさか無いの?www
そんなわけないんだよな?
誤魔化すな!逃げるな!ルビチョン!
153デフォルトの名無しさん
2020/10/27(火) 01:22:04.90ID:bllhtnqt
ルビチョンw
154デフォルトの名無しさん
2020/10/27(火) 04:38:58.20ID:Vsl5UKba
ガガイのガイ
155デフォルトの名無しさん
2020/10/27(火) 05:45:12.46ID:1YZKI+V3
このスレって優しい人しかいないですよね
テトリス教えて下さいね
156デフォルトの名無しさん
2020/10/27(火) 07:23:25.30ID:qtFgb7yM
今度対戦しようぜ!
157デフォルトの名無しさん
2020/10/27(火) 10:11:39.22ID:telUcSp6
>>155
nicovideo。jp
watch/sm8517855
158デフォルトの名無しさん
2020/10/27(火) 11:22:13.47ID:IA9V1GzZ
>>99
まだやってんのか

テトリスでミノを回転させると思いますが、配列を回転させようとする... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12233598952
159デフォルトの名無しさん
2020/10/27(火) 19:02:39.46ID:dsTe3rvX
おおもとのクラス内の関数内でrandomモジュールを使って指定した変数を、継承したGUIを作るclassに継承するにはどうすればいいですか?
160デフォルトの名無しさん
2020/10/27(火) 20:05:38.34ID:6PTspJnf
https://ideone.com/CtT6qc
クラスメソッドにして、継承先のクラス実行する
もしくは、クラス変数として継承元クラス定義時に定義してしまう
クラスの外(__init__.pyとか実行ファイル)で定義してそれを使うようにする
161デフォルトの名無しさん
2020/10/27(火) 20:10:00.62ID:6PTspJnf
関数内の変数は関数を実行した時に定義される
162デフォルトの名無しさん
2020/10/28(水) 11:28:22.30ID:tejl9TT4
習慣化するには、結果よりもルーティーンにこだわったほうがいいですか?
何分出来たかではなく、既定の時間にとりかかれたかどうかす
163デフォルトの名無しさん
2020/10/28(水) 11:38:45.30ID:d52OC3St
>>162
嫌々やってるならどうやったって定着はしないだろう。
その勉強に価値がある、面白い、自分にとって必要だ、何でもいいから動機付けがあるなら一日の時間にとらわれず続けられるはず。
164デフォルトの名無しさん
2020/10/28(水) 11:47:01.94ID:tejl9TT4
嫌嫌だと定着しないというのも良くわからないですが
筋トレは嫌ですけど、定着してますよ

目的は達成したいけど、プログラミング自体は英数字の羅列だし、拒絶反応が出るのですよ
165デフォルトの名無しさん
2020/10/28(水) 11:59:26.49ID:d52OC3St
>>164
筋トレは筋肉に負荷をかければそれで目的が達成されるから、嫌々でもやれば効果は出るだろう。
プログラミングはただ教材を読みました、何かをなぞって書きましただけでは身に付かない。
ぼくは勉強しました!がんばってます!っていう満足感と実績が欲しいだけなら、嫌々でも目的は達成されるだろうけど。
166デフォルトの名無しさん
2020/10/28(水) 12:09:02.54ID:XBU5yUok
いや脳の学習だって嫌々でも定着するやろ
167デフォルトの名無しさん
2020/10/28(水) 12:14:10.20ID:tejl9TT4
>>165
いえ、筋トレの勉強ですね
フォームとか結構シビアですよ
168デフォルトの名無しさん
2020/10/28(水) 15:19:15.80ID:Y8qQZoY4
知らんがな
169デフォルトの名無しさん
2020/10/28(水) 15:35:11.89ID:XBU5yUok
じゃあ勉強の筋トレすれば解決じゃね
170デフォルトの名無しさん
2020/10/28(水) 16:10:09.82ID:Mf8tEr2f
脳味噌筋肉
171160
2020/10/28(水) 22:29:14.06ID:WlV9Vtig
なんも反応ないと何か心許ないので、誰でもいいから意見ください
肯定でも否定でもなんでもいいです
172デフォルトの名無しさん
2020/10/29(木) 11:10:58.29ID:6kj8Tqfe
知らんがな…
173デフォルトの名無しさん
2020/10/29(木) 21:18:29.64ID:dcAdiAoA
>>171
はいはいみたみた

以上をお望みなら
ここは取り下げて、
御礼P弾んで知恵袋池
174デフォルトの名無しさん
2020/10/30(金) 09:18:46.55ID:5DZdR9u/
1から体系的に学び直したい(学び直させたい)んだけど、書籍としてはオライリーの「入門 python3」が良いんでしょうか?

他におすすめの書籍があったら教えていたはだけないでしょうか?

初~中級くらいに向けた書籍がありがたいです。
175デフォルトの名無しさん
2020/10/30(金) 09:24:11.69ID:QvRG4Czx
オライリ
176デフォルトの名無しさん
2020/10/30(金) 10:35:53.97ID:FRK/o1cy
質問!
PyCharmなんだけど自分のクラスのインスタンスを返すクラスメソッドの返り値の型ヒントはどう書けばいい?

class MyClass:
@classmethod
def make_my_class(cls) -> MyClass:
return cls()

って書くとUnresolved reference ‘MyClass’となる
177デフォルトの名無しさん
2020/10/30(金) 11:03:04.25ID:uffCAw9U
あてずっぽうの直感ではself
178デフォルトの名無しさん
2020/10/30(金) 11:13:07.10ID:7MkyV1Cp
typing.ForwardRef('MyClass')
179デフォルトの名無しさん
2020/10/30(金) 11:15:03.48ID:7MkyV1Cp
>>177
super(MyClass, self) ならどう?
180デフォルトの名無しさん
2020/10/30(金) 11:18:15.29ID:JyrbNpe0
>>174
悟空「くれるってんなら、もらってやんぞ」
181デフォルトの名無しさん
2020/10/30(金) 11:30:21.85ID:7MkyV1Cp
>>174
https://docs.python.org/ja/3/tutorial/index.html
182デフォルトの名無しさん
2020/10/30(金) 12:59:50.08ID:CJZJZESp
そうなんだよな
公式のチュートリアルまじお勧め
分かりやすく間違いなく書いてある
なんで金を出してマンガがいっぱいで
間違いの多い本をみんな買いたがるのか不思議だ
183デフォルトの名無しさん
2020/10/30(金) 13:37:34.98ID:6xHqOxHn
でもこういうチュートリアルにはDBとかクラウドとの連携についてはほとんど書いてないよね
文法を勉強したいなら良いけど実用的じゃない
184デフォルトの名無しさん
2020/10/30(金) 13:38:27.61ID:6xHqOxHn
そもそもプログラミングの漫画本なんてほとんど無くね?
自己啓発の世界じゃねーんだぞ
185デフォルトの名無しさん
2020/10/30(金) 14:19:49.81ID:ClF96+nh
Python完全に理解した
くだすれPython(超初心者用) その51【まず1嫁】 YouTube動画>8本 ->画像>5枚
186デフォルトの名無しさん
2020/10/30(金) 14:19:54.66ID:7MkyV1Cp
>>183
それは言語仕様じゃなくてライブラリの使い方だから載ってないというか
それぞれ別の利用するDBライブラリの資料観ろとしか言いようが無い
187デフォルトの名無しさん
2020/10/30(金) 15:17:38.57ID:CJZJZESp
>>184
マンガっていうか挿絵ね
あるいは無駄な茶番劇ね
それにかなりのお金を払っていることになる
188デフォルトの名無しさん
2020/10/30(金) 16:06:11.01ID:t+8AqTUm
>>174
パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020/6/1

漏れが、新しい版を出せと、ヤイヤイ言ったから出た!

改訂2版 パーフェクトRuby、2017
Ruby の方は、2017年に出てるから
189デフォルトの名無しさん
2020/10/30(金) 16:20:02.16ID:5giIBuWJ
ガイジはとうとう妄想までするようになったか。
人を殺めるなよ?
190188
2020/10/30(金) 17:43:22.47ID:t+8AqTUm
普通、改訂版は5年後に出す

でも、パーフェクト Python は、なかなか出さないから、
漏れがグチグチと、文句を言い続けた
191デフォルトの名無しさん
2020/10/30(金) 18:17:12.49ID:5giIBuWJ
>>190
妄想乙
お前の独り言なんて誰も見ねーよ
192デフォルトの名無しさん
2020/10/30(金) 19:57:21.65ID:5DZdR9u/
>>188
ありがとう。
ちょっと買ってみるよ。
193デフォルトの名無しさん
2020/10/30(金) 19:58:38.49ID:5DZdR9u/
追加でクレクレしてすみませんが、機械学習&ディープラーニング系の本と、画像認識系の本のおすすめも良かったらお願いします。
194デフォルトの名無しさん
2020/10/30(金) 21:48:17.31ID:UE18jLTS
もしかして今から始めるなら3.9は避けた方が良いの?
取り敢えず新しいの入れろ的なブログばっかだったんだけど
拡張?みたいのがまだ追いついてないから避けろみたいなのも見て混乱してる
195デフォルトの名無しさん
2020/10/30(金) 22:00:14.16ID:YmOIyhox
>>194
まだヒトバシラー
196デフォルトの名無しさん
2020/10/30(金) 22:09:03.11ID:jFZUtjX+
3.8でいいでしょ
3.9はビルドできないモジュールまだ多い
197デフォルトの名無しさん
2020/10/30(金) 22:29:15.00ID:UE18jLTS
>>195-196
ありがとう。⒊8にしますわ
198デフォルトの名無しさん
2020/10/30(金) 22:38:19.12ID:cjGu/64J
>>197
なにこの汚い3w
199デフォルトの名無しさん
2020/10/30(金) 22:48:32.57ID:YmOIyhox
>>197
斬新www
200デフォルトの名無しさん
2020/10/31(土) 00:22:09.30ID:ac0myftI
"xxx=yyy=ccc=ddd"
という感じで、=で繋がれた4つの文字列があった場合
最後の4つ目のdddだけを、aaaに書き換えるにはどうすればいいですか?
dddの部分は、dddで固定されているわけではなく、tttなど変化する場合があります。
201デフォルトの名無しさん
2020/10/31(土) 00:26:36.33ID:7kzNw0LI
>>200
a= "xxx=yyy=ccc=ddd"
a=a[:-3]+”aaa”
202デフォルトの名無しさん
2020/10/31(土) 00:33:59.38ID:ac0myftI
>>201
ありがとうございます!!
203デフォルトの名無しさん
2020/10/31(土) 03:51:54.92ID:Wmf86iBS
マジレスすると個々の文字列の長さが不定なら=でsplitしろ
204デフォルトの名無しさん
2020/10/31(土) 04:12:24.03ID:ktmwyAcA
スライスってすごいよな。
サブストいらんもんな
205デフォルトの名無しさん
2020/10/31(土) 06:40:49.63ID:0qFsgGrp
ある言語だと
a[-3,3]="aaa"
206デフォルトの名無しさん
2020/10/31(土) 10:57:01.95ID:fxcwqRC2
右から探し始めて最初に見つかった=で以降置換出来る正規表現無かったっけ
207デフォルトの名無しさん
2020/10/31(土) 11:22:42.38ID:ZFPaD7BU
本家のPythonの場合プロンプト画面を非表示にするには
拡張子py→pywにするでおkなんだが
Anaconda付属のPythonでこれやるとプロンプト表示される
対策てある??
208デフォルトの名無しさん
2020/10/31(土) 12:38:27.55ID:mD1OGW9M
python.exeではなくpythonw.exeやで
209デフォルトの名無しさん
2020/10/31(土) 12:57:18.69ID:YFUksD3m
>>206
=.*$
210デフォルトの名無しさん
2020/10/31(土) 13:02:58.76ID:CAmth+XY
winptyとかなんとか
211デフォルトの名無しさん
2020/10/31(土) 13:08:21.24ID:+dMgasNU
>>209
.*だと=ともマッチするので
=.*$だと"=yyy=ccc=ddd"にマッチしてしまうぞ
212デフォルトの名無しさん
2020/10/31(土) 13:36:05.08ID:fxcwqRC2
=[^=]*?$

いけました
ありがとう
213デフォルトの名無しさん
2020/10/31(土) 14:00:16.47ID:0qFsgGrp
>>200 >>209
import re
a= "xxx=yyy=ccc=ddd"
b=re.sub("...$", "aaa", a)
print(b)

c=re.sub("=.*$", "aaa", a)
print(c)

実行結果
xxx=yyy=ccc=aaa
xxxaaa
214デフォルトの名無しさん
2020/10/31(土) 14:05:33.56ID:9ujp1MGy
開発環境って、VScodeが最適?
Eclipseとか、pycharmとどれば良いですか?

おすすめを教えて欲しいな。
215デフォルトの名無しさん
2020/10/31(土) 14:10:14.40ID:eMxGB/My
splitとstripがどっちかわからなくなる
216デフォルトの名無しさん
2020/10/31(土) 14:17:00.52ID:fxcwqRC2
split は bowling の split や野球の split fingered fast ball
strip は君らの好きなあれ
217デフォルトの名無しさん
2020/10/31(土) 20:11:22.92ID:ZTltDpC1
競技プログラミングで pypy は幅を利かせているように思えますが、
競技プログラミング以外での pypy はどうですか?
218デフォルトの名無しさん
2020/10/31(土) 20:19:55.02ID:KY/T1AyA
>>211
oops
219デフォルトの名無しさん
2020/10/31(土) 22:56:10.29ID:4+R4Y5KC
>>217
C拡張モジュールが遅いから使われていない
特に機械学習分野はCUDAの都合でCPython一択
220デフォルトの名無しさん
2020/10/31(土) 22:58:03.68ID:Oo7C4HEc
>>217
CPythonでしか動かないパッケージを使ってなくてパフォーマンスに困ってるならいいんじゃない
でも、大抵CPython必須なパッケージを1つ以上使っているケースがほとんどだと思うけど。
競技プログラミングはアルゴリズム実装に特化してる競技だから、実用とはまた違うよね。
221デフォルトの名無しさん
2020/10/31(土) 22:59:59.62ID:CAmth+XY
Pystonってどうなんや
222デフォルトの名無しさん
2020/10/31(土) 23:06:35.78ID:rTRLWM7Q
>>214
総合面で考えるとSCodeが楽
大まかに書くと
・Eclipse
昔からあるツールだけど、言い換えると古い
UIやフォーマット機能も考慮すると、正直選択肢には上がらない

・PyCharm
 IDE使って開発するなら実質これ一択
 Pythonだけなら無償版で十分だけど、機械学習やWeb(Django)とかを触るなら有料版が無いと辛い

・VSCode
 必要な拡張機能をぶち込めばIDEと遜色なく使える
 元がテキストエディタなので比較的軽いのも魅力
 というか無料でやっていくなら大体これに落ち着く
223デフォルトの名無しさん
2020/11/01(日) 00:00:28.25ID:CuITjVo7
VS Code用Python拡張機能に「debugpy 1.0」が搭載、2020年10月リリースより
https://codezine.jp/article/detail/13135
 米Microsoftは、Visual Studio Code用Python拡張機能2020年10月リリースの提供を、10月28日(現地時間)に開始した。MarketplaceまたはVisual Studio Codeの拡張機能ギャラリーからインストールできる。
224デフォルトの名無しさん
2020/11/01(日) 01:22:57.63ID:uXcrli8I
>>222
ありがとう。
結局、無料ならばvscode ってことになるのね。

とりあえず、つかってみるね。

助かりました
225デフォルトの名無しさん
2020/11/01(日) 06:43:13.64ID:DCllpzwI
>>214
Vim
226217
2020/11/01(日) 09:16:48.10ID:qI7pQI5j
>>219,220
ありがとうございます
CPythonでいきます
227デフォルトの名無しさん
2020/11/01(日) 14:46:20.08ID:SB/4dHgp
pythonはよく遅いって言われるけどそんなに体感出来るほどのものなの?
プログラミング自体pythonが初めてだからどういう使い方してる時に遅いって感じるんだろう
228デフォルトの名無しさん
2020/11/01(日) 14:51:30.41ID:BdB3gM+x
for は遅い
numpy は速い
229デフォルトの名無しさん
2020/11/01(日) 14:58:10.26ID:AjRcesHd
>>227
PythonとCに
1+1を10億回くらい計算させて
時間差を体験してみたらどうじゃろー
230デフォルトの名無しさん
2020/11/01(日) 15:03:53.01ID:lNtVx6da
書き方によっては勝手に最適化されちゃうからなあ
231デフォルトの名無しさん
2020/11/01(日) 15:23:30.26ID:Nw3wtxBc
for i in range(1000000000):
  k= 1+1

出力しないと最適化されてなくなりそう。
出力すると print の速度に依存するし。
232デフォルトの名無しさん
2020/11/01(日) 15:59:45.23ID:AjRcesHd
長さ10億の空配列(リスト)準備しておいて順番に入れてくとか
100萬行のファイル出力で競争するとか
工夫必要かー
233デフォルトの名無しさん
2020/11/01(日) 16:53:23.86ID:YqPAXEKP
処理に時間かかるなと思わないまでは遅いとか気にしなくて大丈夫
234デフォルトの名無しさん
2020/11/01(日) 18:17:59.71ID:6FKS57jf
プロのpythonistともなると競技プログラム全問制覇は当然のこと、
それでは飽き足らずpythonそのもののソースコードを読んでその高速化に努めるようになる

そうこうしてると動的計画法の難問をちょっとした片手間と戯れでpythonとc++の両方で解くこともしばしばだ
するとC言語系に比べてpythonは遅いということを実感する
235デフォルトの名無しさん
2020/11/01(日) 18:26:01.81ID:KpbUCpE2
そこまでしなきゃ実感できんのか…
236デフォルトの名無しさん
2020/11/01(日) 20:10:44.85ID:a4q/79iQ
>>235
Pythonで適当に書いた計算コードの完了見積もりが10日とかになると、
流石にまずいなと思って1日ぐらいかけてC++で書いてみるんよ
それで10倍とか100倍速かったりすることがあるんよ
(速くないこともある)
そのときにPythonは遅いと実感する

だけど、実装までの時間は速いし、Pythonで試行錯誤してからC++で清書する方が初めからC++で試行錯誤するより早くできる場合も多いから、
遅いと感じたら最適化すればよい

「早すぎる最適化は諸悪の根源」ってやつよ。
コンセプトが正しいことを確認してから最適化するのが99%のケースにおいて良い進め方だと思う。
237デフォルトの名無しさん
2020/11/01(日) 20:45:34.09ID:KpbUCpE2
>>236
それにしても書き直すのはオーバーヘッドデカすぎ内
Cython,numba,Numpyを適切に使うんじゃだめなの
238デフォルトの名無しさん
2020/11/01(日) 20:47:37.69ID:a4q/79iQ
>>237
それでもいいよ。書き直すっていっても全部書き直す訳じゃないんだよ。
pybind11とかその辺のもの使って部分的に書き直す
239デフォルトの名無しさん
2020/11/01(日) 20:50:52.83ID:a4q/79iQ
>>237
言葉が足りなかったけど、CPythonはそのぐらいC/C++との親和性が高くて、
遅いところだけ書き直すオーバーヘッドがそれなりに低いということね。
やってみると結構簡単だよ。
この点が"CPython"ならびにPythonが大流行してる理由の一つだと思うよ。相互運用性が高い。
240デフォルトの名無しさん
2020/11/01(日) 20:55:12.23ID:AjRcesHd
CUIでよければOS縛りから割と自由なメリットも大きい
241デフォルトの名無しさん
2020/11/01(日) 21:12:25.18ID:CCPWVz0g
文字列が整数かどうかのBool値ってどうやったら調べられますか?
242デフォルトの名無しさん
2020/11/01(日) 21:16:02.65ID:6FKS57jf
>>241
Pythonで文字列が数字か英字か英数字か判定・確認 | note.nkmk.me
https://note.nkmk.me/python-str-num-determine/
243デフォルトの名無しさん
2020/11/01(日) 22:54:32.09ID:2mAR5kOy
python v2はもう試した?
244デフォルトの名無しさん
2020/11/02(月) 08:53:44.78ID:qmODC3C7
python?聞いたことねーわ。
それより2000年問題どうするよ
245デフォルトの名無しさん
2020/11/02(月) 09:03:15.71ID:gtCIEfbe
>>244
そちらは今何年? うちは2031年。
三原じゅん子が都知事やってる。
246デフォルトの名無しさん
2020/11/03(火) 16:54:41.49ID:iMW/lpvl
今は正規表現を下記のように一度mにセットしてif文と2行で書いています。

for line in f:
m = re.search(r"^ *[#\n]", line)
if m:
continue
m = re.search(r"^ *(\S+) +(\S+)", line)
if m:
print("{} {}".format(m.group(1), m.group(1)))
continue
print("エラー")

これだとcontinueも含めてかなり冗長になってしまうので、mのセットと正規表現マッチのif文を一行でまとめたいのですが
何かスマートな書き方はありますか?
イメージは下記です。

if m = re.search(r"^ *[#\n]", line):
pass
if m = re.search(r"^ *(\S+) +(\S+)", line):
print("{} {}".format(m.group(1), m.group(1)))
else:
print("エラー")
247デフォルトの名無しさん
2020/11/03(火) 17:05:53.52ID:TBDTZ+Oa
チェリー本相当の書籍はありますか?
248デフォルトの名無しさん
2020/11/03(火) 17:14:21.34ID:iMW/lpvl
インデントが見づらかったので再投稿。

今は正規表現を下記のように一度mにセットしてif文と2行で書いています。

for line in f:
 m = re.search(r"^ *[#\n]", line)
 if m:
  # コメント行。何もしない
  continue
 m = re.search(r"^ *(\S+) +(\S+)", line)
 if m:
  print("{} {}".format(m.group(1), m.group(1)))
  continue
 print("エラー")

これだとcontinueも含めてかなり冗長になってしまうので、mのセットと正規表現マッチのif文を一行でまとめたいのですが
何かスマートな書き方はありますか?
イメージは下記です。

if m = re.search(r"^ *[#\n]", line):
 # コメント行。何もしない
 pass
elif m = re.search(r"^ *(\S+) +(\S+)", line):
 print("{} {}".format(m.group(1), m.group(1)))
else:
 print("エラー")
249デフォルトの名無しさん
2020/11/03(火) 17:27:55.36ID:70+q1zbl
日本,2,セネガル,2
日本,1,ポーランド,0
日本,2,コロンビア,1

例えばこのようなデータをテキストでcsv形式のファイルに保存していたとして、
これを行ごとに読み込んでいったときに、”日本”がdata[0]として扱われない原因は
どんなことが考えられますか?
250デフォルトの名無しさん
2020/11/03(火) 17:38:08.47ID:PKcQzeRx
>>248
3.8以上ならassignment expressionでif文やwhile文での代入ができる
それよりも先に同じ処理の繰り返しをループにまとめたほうがいいんじゃないかな
251デフォルトの名無しさん
2020/11/03(火) 17:39:06.85ID:PKcQzeRx
>>249
先にコードを晒せ
252デフォルトの名無しさん
2020/11/03(火) 17:39:13.19ID:s27RSoz/
>>249
Pythonコードで表現してみせて
おk?
253デフォルトの名無しさん
2020/11/03(火) 17:55:36.88ID:70+q1zbl
249です
https://dpaste.com/AGQ9EY6TB
254デフォルトの名無しさん
2020/11/03(火) 17:58:14.34ID:70+q1zbl
ここで関数を
game(fname,"日本","セネガル")としても「試合なし」が返ってきます。
255デフォルトの名無しさん
2020/11/03(火) 18:44:09.61ID:PKcQzeRx
>>253
カンマ区切りのデータをタブ区切りでsplitしてるみたいだけど?
256デフォルトの名無しさん
2020/11/03(火) 19:14:06.72ID:70+q1zbl
>>255
あ、split(',')にする必要があるってことですね。ありがとうございました。
257デフォルトの名無しさん
2020/11/03(火) 19:49:23.79ID:j8uSLtHh
>>247
チェリー本ってそれほどいい本だとは思わないけど
第3章の「テストの自動化」が珍しいだけで
258デフォルトの名無しさん
2020/11/04(水) 00:18:25.38ID:eR5jspY1
MacBookでPythonの勉強したいんだけど
アナコンダは非推奨なんですか
ちなプログラミングのプもわかりません
259デフォルトの名無しさん
2020/11/04(水) 00:20:37.89ID:nrIG18FY
>>258
Macの場合はAnacondaいらない
pyenvとpoetryで環境分けた方がいい
260デフォルトの名無しさん
2020/11/04(水) 00:25:03.99ID:eR5jspY1
>>259
ありがとうございます試してみます
261デフォルトの名無しさん
2020/11/04(水) 12:32:39.12ID:rx4TzFlQ
>>257
それでは初心者から一歩踏み出すのにお薦めの書籍はなんでしょうか?
262デフォルトの名無しさん
2020/11/04(水) 12:37:41.53ID:ef0NVCqR
>>261
何を作りたいの?
263デフォルトの名無しさん
2020/11/04(水) 14:06:36.26ID:r2X6H2u5
Python代替実装「Pyston v2」がリリース、Python 3.8よりも20%高速化を実現
 Pyston開発チームは、Pythonと互換性があり、より高速な「Pyston v2」を、10月28日(現地時間)にリリースした。

 「Pyston v2」は、「Python 3.8」と比較して20%高速であり、chaos.pyやnbody.pyといったベンチマークを用いたテストでは、標準のPythonと比較して2倍の処理速度を実現している。
http://codezine.jp/article/detail/13152
264デフォルトの名無しさん
2020/11/04(水) 16:40:32.58
pathlibでstr(Path('/dir/to/file/'))ってやると
/dir/to/file
ってなりますが
ラストのスラッシュはつけないっていうのはそういう決まりなんですかね?
265デフォルトの名無しさん
2020/11/04(水) 17:56:35.81ID:pCSm/LDs
XLwingsで文字色を変える事は出来ないのでしょうか。
Openpyxlで保存するとシェイプが消えるので、、、

もしくはopenpyxlはxlwingsのようにエクセルを開いたままでも変更がはいりますでしょうか。
それならば保存だけエクセル上でやればよいかなーと
266デフォルトの名無しさん
2020/11/04(水) 19:25:10.32ID:k0COKPgk
>>258
anacondaにしとけ。馬鹿に唆されてpoetryなんか使ってもどハマりするだけだ。
267デフォルトの名無しさん
2020/11/04(水) 20:04:09.19ID:ef0NVCqR
公式のインストーラとvenvだけで十分事足りる
268デフォルトの名無しさん
2020/11/04(水) 20:06:35.61ID:ef0NVCqR
いつの間にかこんなんできててちょっとびっくりした
https://www.python.jp/install/install.html
269デフォルトの名無しさん
2020/11/04(水) 20:20:09.16ID:a9nrTc1S
>>268
公式とは関係ない勝手なサイトなんだな。
anaconda勧めるとか、とりあえずインストールすらさせないとか、なんか恣意的過ぎてちょっと違う気がするわ。
colabでできる事なんか限られてるだろうに。
270デフォルトの名無しさん
2020/11/04(水) 20:39:17.47ID:AYVLctzm
Macならhomebrewで適当に入れたらうまくやってくれるぞ
271デフォルトの名無しさん
2020/11/04(水) 21:03:32.42ID:595C/MWS
LinuxもLinuxbrewで
ChromeOSもChromebrewで
272デフォルトの名無しさん
2020/11/04(水) 21:58:36.73ID:k0COKPgk
まあ公式にこだわるのはわからんでもないが正直公式のvenvなんかよりanacondaのが動作が安定してる。
そもそもそこまでこだわるならdocker使った方がよっぽど安全だわ。
273デフォルトの名無しさん
2020/11/04(水) 23:44:09.28ID:oOk5Pqvr
>>261
パーフェクト Python [改訂2版]、2020/6/1

パーフェクトシリーズは、Ruby の新版が出たのに、Python のが出ないから、
漏れが文句を言い続けたら、新版が出た!

改訂2版 パーフェクトRuby、2017
パーフェクト Ruby on Rails 【増補改訂版】、2020/7/25
274デフォルトの名無しさん
2020/11/05(木) 00:32:39.97ID:1YRmT/TT
偉いのは著者と編集者だろ
何を誇ってんだ
275デフォルトの名無しさん
2020/11/05(木) 02:31:26.70ID:tM7hzUED
>>262
とくにないです
これからきめます
276デフォルトの名無しさん
2020/11/05(木) 12:42:01.60ID:uYwLFJdy
>>245
ム板に来るなんてお前も懐古主義者か?
277デフォルトの名無しさん
2020/11/05(木) 12:47:57.84ID:nZjhZ210
python.jp は非推奨
278デフォルトの名無しさん
2020/11/05(木) 18:34:22.22
データベースで管理するほどのもんでもないような辞書データって
何の形式で管理すればいいの?
今やってるのはjson全部開いて挿入して全部上書きってやってるけど
なんか無駄が多そうな気がしてモヤモヤする
279デフォルトの名無しさん
2020/11/05(木) 19:02:26.94ID:Gq4Kdv3z
Pickleでおいとけば?
280デフォルトの名無しさん
2020/11/05(木) 19:36:08.36
>>279
一通りやってみたけどdumpとloadしかできないっぽい?

データ更新したいとき
全部読み込んで解析して変更して全部保存
みたいな
jsonで扱うときとそう変わりないような
こういうのは問答無用でデータベース管理しとけばいいのかな
281デフォルトの名無しさん
2020/11/05(木) 19:50:23.90ID:Gq4Kdv3z
読み書きが多いならSQLiteかなにかにでもつっこんどき
282デフォルトの名無しさん
2020/11/05(木) 20:30:58.64ID:HQNZIllF
>>278
  >>281
283デフォルトの名無しさん
2020/11/05(木) 21:25:23.66ID:DpIRk9h7
>>278
csvではいかんのか?
284デフォルトの名無しさん
2020/11/05(木) 23:23:30.89ID:4fCLIDu0
もしよろしければ教えて下さい。

リストの要素単独に1を与えようとして、a[i][j]=1のときに
a[i][j]=a[i][j]+1
とすると、
なぜかa[i][j]以外のa[i+1][j],a[i+2][j],a[i+3][j]・・・もすべて2となってしまします。
考え方間違ってますでしょうか?
285デフォルトの名無しさん
2020/11/05(木) 23:39:04.11
>>282
もうこの際mysqlもsqliteも使い比べしてみる㌧
>>283
csvを操作するモジュールに、
範囲指定でいらない部分を削除したり、範囲部分だけ持ってきたりできるなら使ってみようかな
286デフォルトの名無しさん
2020/11/06(金) 00:03:28.62ID:5acjwhy7
ブラウザなど、多くのアプリは、SQLite を内蔵してる。
ゲームエンジンでは、Lua, Squirrel

単純な構造なら、CSV。
複雑な構造なら、JSON, YAML, XML

そのプログラミング言語特有の形式を使うと、別の言語で処理できない
287デフォルトの名無しさん
2020/11/06(金) 00:14:09.97ID:Wznfx/R9
>>284
>考え方間違ってますでしょうか?
間違ってないですよ
https://ideone.com/O14zpu
288デフォルトの名無しさん
2020/11/06(金) 01:53:35.34ID:szUY6t26
ループ中で+1してるんだろね
289デフォルトの名無しさん
2020/11/06(金) 06:46:41.84ID:PAcV0VwR
>>284
多次元のリストを作るにはどうしますか?
https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list
290デフォルトの名無しさん
2020/11/06(金) 15:50:21.95ID:LTqO0fOq
>>278
pickel
yaml
json
msgpack
sqlite
291デフォルトの名無しさん
2020/11/06(金) 15:59:51.87ID:KUVDet8J
pickle

npzじゃあんまり固めてないな
292デフォルトの名無しさん
2020/11/06(金) 20:27:32.32ID:1gMNE7IB
>>287,288,289
ありがとうございました。
まさに289さんのリンク先の間違った書き方例をしてしまっていて、
書き換えたら行けました。
大変助かりました、ご親切にありがとうございました。
293デフォルトの名無しさん
2020/11/07(土) 00:42:40.82ID:zMpN0fYG
画像比較のライブラリみたいのってないの?
メソッドに送ると相似率が返ってくるみたいな
294デフォルトの名無しさん
2020/11/07(土) 02:04:50.34
Google Cloud VisionのAPIに画像投げてパラメーター比較すればできそう
295デフォルトの名無しさん
2020/11/07(土) 03:36:36.18ID:CdQvP3Xl
anaconda使ってるやつええんか
296デフォルトの名無しさん
2020/11/07(土) 04:34:06.90ID:ZonlAFvd
JaneとかIrvineとかののステイタスバーの要素を読み込む方法がわからない
297デフォルトの名無しさん
2020/11/07(土) 12:00:05.29ID:LW+62T9+
https://ideone.com/JaF7A2
配列を0の箇所に表示するにはどうしたらいいんでしょうか?0は壁でテトリス作成中です。
if文で条件指定していますが、うまくいきません。
こうなります。
0部分にだけ表示させる分岐を教えて下さい。

[1, 2, 3, 3, 0, 0, 0, 1]
[1, 2, 3, 3, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 0, 0, 1]
[1, 1, 1, 1, 1, 1, 1, 1]
298デフォルトの名無しさん
2020/11/07(土) 13:38:20.15ID:CPm1qeuk
スレチ
299デフォルトの名無しさん
2020/11/07(土) 15:53:18.39ID:LW+62T9+
スレチではないです
300デフォルトの名無しさん
2020/11/07(土) 15:55:50.21ID:CPm1qeuk
300get
301デフォルトの名無しさん
2020/11/07(土) 16:01:26.61ID:80Ksuy/i
能登ちゃんは処女?
302デフォルトの名無しさん
2020/11/07(土) 16:43:06.82ID:LW+62T9+
>>297
別スレに移動するです
303デフォルトの名無しさん
2020/11/07(土) 16:50:09.54ID:i83Sw+va
>>297
お前は自己板に専スレ立てろレベル
304デフォルトの名無しさん
2020/11/07(土) 21:58:11.38ID:ZMEyYeEe
Raspberry pi 4B でPytorchのtorchvisionパッケージ(0.8.0)をインストールしたいのですが、pip3でインストールしようとすると、0.2.2までしか無いってエラーメッセージが出て困ってます。みなさん自分でビルドしてるのでしょうか?もし良い方法があればよろしくお願いします。
305デフォルトの名無しさん
2020/11/08(日) 00:22:47.76ID:r3laU95t
漏れは、Windows 10, WSL1, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 をコンパイルして入れた

なぜかと言うと、パッケージマネージャーに入っているのは、
古いバージョンが多いので使えない

build-essential とか使って、コンパイルする

build-essential には、
gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などが入っています

パッケージ: build-essential
https://packages.ubuntu.com/ja/bionic/build-essential

簡単なのは、DockerHub で、それ用のDockerを探す
306デフォルトの名無しさん
2020/11/08(日) 00:31:34.39ID:cR4RFWp/
winのpyaudioでwasapi排他モードを使いたいんですが
デバイスには他のアプリケーションからアクセスできるので
wasapi共有モードっぽいです
排他モードに切り替えるにはどうすれば良いですかね
307デフォルトの名無しさん
2020/11/09(月) 00:13:57.75ID:AHppX36c
ベトナム戦争で韓国軍に家族を虐殺されたベトナム人女性が
韓国政府に損害賠償を求める裁判を初めて起こした。

韓国では慰安婦問題などで日本批判が長年展開されているが、
「戦時の暴力」をめぐり今度は韓国政府が法的責任を問われる側に立たされた。

https://special.sankei.com/a/international/article/20201022/0003.html
308デフォルトの名無しさん
2020/11/10(火) 12:52:08.49ID:JaMU8miU
tkinterで教えて下さい
┏━━━━━━━━━━━━━┓
┃          □□ ┃ ━ window
┃          □□ ┃ ─ Frame + ScrolledText
┃※───────────┐┃ □ Button
┃│           │┃
┃│           │┃
┃└───────────┘┃
┗━━━━━━━━━━━━━┛
こんなウィンドウがあった時、※の座標を指定して右とか下にウィンドウを
マウスで広げても追従するにはどうしたらよいでしょうか。
↓は非常に理想に近いのですが、下に隙間が出来てしまっています。(左右下の隙間は5ピクセル程度)

import tkinter as tk
import tkinter.scrolledtext as tkst

win = tk.Tk()
frame1 = tk.Frame(master = win,bg = 'blue')
frame1.pack(pady=50,fill='both', expand='yes')
editArea = tkst.ScrolledText(master = frame1, wrap = tk.WORD,width = 50,height = 20)
editArea.pack(padx=5, pady=5, fill=tk.BOTH, expand=True)
editArea.insert(tk.INSERT,'abcdefg')
win.mainloop()
309デフォルトの名無しさん
2020/11/10(火) 13:00:14.77ID:08CevRpc
pady=0
310デフォルトの名無しさん
2020/11/10(火) 13:48:38.61ID:WtIXeKuk
コメントありがとうございます。
pady = 0 だと、上の余白が無くなってしまいます。
上の余白を保ったまま、左右下を動かして追従させたいという事です。
説明不足ですみません。
コメントありがとうございました。
311デフォルトの名無しさん
2020/11/10(火) 14:15:54.10ID:3xGJBleZ
ボタン四つを包んでる仮想フレームが伸縮自在になればいいんでねえの
312デフォルトの名無しさん
2020/11/10(火) 14:18:15.62ID:3xGJBleZ
┏━━━━━━━━━━━━━┓
┃※───────────┐┃ ※目に見えないサイズ可変のフレーム
┃│         □□│┃
┃│         □□│┃
┃└───────────┘┃
┃┌───────────┐┃
┃│           │┃
┃│           │┃
┃└───────────┘┃
┗━━━━━━━━━━━━━┛
313デフォルトの名無しさん
2020/11/10(火) 19:19:14.70ID:kCGKGXm/
>> 312

助言ありがとうございます。

https://daeudaeu.com/tkinter_place/
を参考に1から作ってみました。
import tkinter
import tkinter.scrolledtext as tkst

# メインウィンドウ作成
app = tkinter.Tk()
app.geometry("600x400")

frame1 = tkinter.Frame(app, width=200, height=200)
editArea = tkst.ScrolledText(app,wrap= tkinter.WORD, width=20,height = 10)

frame1.pack()
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)
# メインループ
app.mainloop()



最初のコメントの説明がわかりにくかったですが、こんな感じのを
イメージしていました。

ありがとうございました。
314デフォルトの名無しさん
2020/11/11(水) 13:39:31.48ID:kNJZ67Nm
Tweepy分かる人いますか
err.266 This request looks like it might be automated. ~
のメッセージなんだけどこれってどれくらいほっといたら解除されるんですかね
アプリ切り替えても各key変えても出てくるのでアカウントに対しての制限だとは思うんですが3時間経っても変わらなかったので
315デフォルトの名無しさん
2020/11/11(水) 13:45:28.69ID:/QH/ERIj
banされたんだろ
あきらめろ
316デフォルトの名無しさん
2020/11/11(水) 13:47:11.21ID:kNJZ67Nm
普通にTwitter公式クライアントでもWebでもツイートrtフォローdm全部できるんですよ
何故かtweepy経由だとダメなんです
317デフォルトの名無しさん
2020/11/11(水) 14:01:48.69ID:0Y2LevwY
User-Agent 変えてみ
318デフォルトの名無しさん
2020/11/11(水) 14:07:37.84ID:bNkK+RZv
APIリクエスト数制限ではなくbotとみなされて制限されたんだから解除されるのはツイッター様の気分次第だろうな
319デフォルトの名無しさん
2020/11/11(水) 14:21:04.98ID:kNJZ67Nm
ua変更の方法から調べてきます
320デフォルトの名無しさん
2020/11/11(水) 16:34:56.51ID:kNJZ67Nm
わかりませんでした...
321デフォルトの名無しさん
2020/11/11(水) 16:38:22.18ID:KNygXzpI
じゃあ諦めよっか
322デフォルトの名無しさん
2020/11/11(水) 20:02:31.92ID:PGhUecNj
PythonでMySQLを扱いたいときはSQLAlchemy使うのが無難?
323デフォルトの名無しさん
2020/11/11(水) 20:40:05.69ID:G5q6HZgE
pymysql使ってるけどそれで用が足りてる
324デフォルトの名無しさん
2020/11/11(水) 21:07:26.30ID:cJF0V5Oo
無難を求めるなら変なレイヤを重ねない方がトラブルは少ないに決まってる
pymysqlに一票
325デフォルトの名無しさん
2020/11/11(水) 21:59:07.66ID:L1zlK20N
21時に試したけどダメでした
1週間くらい様子見ることにします
326デフォルトの名無しさん
2020/11/11(水) 22:19:42.14ID:J97jBwV+
一番上にimportをまとめた方がいいみたいなベストプラクティスは無いですよね?
import foo
import bar
何らかの処理
import poo
みたいに書きたいのですが
327デフォルトの名無しさん
2020/11/11(水) 23:04:11.15ID:9AXjOh84
impotent you
328デフォルトの名無しさん
2020/11/11(水) 23:10:54.95ID:TtDOuafs
>>326
一応あるよ
pylintやflake8でチェックすれば分かる
329デフォルトの名無しさん
2020/11/11(水) 23:27:50.57ID:J97jBwV+
>>328
そうなんですね

importとそのimportで読み込んだものを使うプログラムのセットで定型文として
冒頭にコピペしたいとき
必要のないimportが混じってるといちいち消さなきゃいけない or 必要なものは挿入しないといけないので
どうかなと思ったのですが
330デフォルトの名無しさん
2020/11/11(水) 23:59:37.61ID:TtDOuafs
>>329
そのセットをモジュールとして扱えるようにして
冒頭でimportすればいいんじゃないの?
331デフォルトの名無しさん
2020/11/12(木) 00:05:37.45ID:zPJeS2Gd
>>330
#!/usr/bin/env python
# -*- coding: utf-8 -*-
的なやつとか
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
してすぐ変数に代入したいときとか
(あくまでコピペする用途に関して)他のimportと干渉しないように書けるのかなぁと
332デフォルトの名無しさん
2020/11/12(木) 00:26:37.68ID:zPJeS2Gd
ちなみに今は>>331みたいなのをエメットで出して
その下にそのプログラムで必要なimportを追記して
あとで整理(importだけ一番上でまとめる)しようかなと思っていますが
他のプログラムと比較したときにimportの差分がパットみ見づらく放置してしまっています
その程度の用途なら好きに書いても良さそうな気がしてきました
他にいい書き方、整理の仕方があるのかもしれません
333デフォルトの名無しさん
2020/11/12(木) 00:55:30.25ID:I/DI2P2Q
>>329
>必要のないimportが混じってるといちいち消さなきゃいけない or 必要なものは挿入しないといけないので
前者はコードフォーマット機能で自動で消せるし
後者も自作ライブラリじゃなきゃインポート文を自動的に追加する機能があるから
これの作業をすること自体が少ない

ついでに言うとimport文を先頭にまとめるのはpep8でも決められてるから
その辺のコーディングルールに反する事になる

……というかimport文がまとまってないと必要なライブラリ/モジュールが一目で分からんくなるから
可読性がクソ落ちるぞ
334デフォルトの名無しさん
2020/11/12(木) 01:35:01.77ID:HIqoM8fx
>>322
ORマッパで楽したいか、SQL直接書きたいかで変わる
求めるパフォーマンス次第だよ、パフォーマンス必要ならSQL直書きのほうがいいし
335デフォルトの名無しさん
2020/11/12(木) 01:38:26.14ID:HIqoM8fx
>>332
importでgrepしてsortして一番上に入れ直せばいいんじゃない?
あとemmetでそれ入れたとしてもちゃんとカーソル動かしてimportの下に入れるんじゃダメなの?
336デフォルトの名無しさん
2020/11/12(木) 02:06:15.41ID:aGTNjSDS
>>323
>>324
ありがとう。それも見てみる

>>334
それは書くべきだった。ごめん
非同期バッチで軽めのクエリ投げるだけなので楽な方が良い
337デフォルトの名無しさん
2020/11/12(木) 06:17:24.73ID:uK53dAw4
from おじさん import 汚いチンコ ass hole
338デフォルトの名無しさん
2020/11/12(木) 10:07:47.02ID:SLO+XJAz
>>334
自分はPythonとMysqlを同時に始めたからSQLのが便利だったな
ORMで検索すると一言目にはSQLを書かなくていい覚えなくていいって出るけど、メリットどころかなんでわざわざSQLをORMで書き直す必要があんのって感じだった
一度どっちかが便利だって思ったらそうそう変えられない。入り口によるのかもしれない
339デフォルトの名無しさん
2020/11/12(木) 11:41:49.27ID:ctukqySm
1秒後に空ファイルを作るコマンドをなげて、本処理はそこで止まらずに進みたいです。

空ファイルはとりあえず
p=pathlib.Path('xxx')
p.touch()
で作ろうと思っていますが、time.sleepを使うと本処理自身もとまってしまうので使えませんでした。
何か方法はありますか?
340デフォルトの名無しさん
2020/11/12(木) 11:59:39.24ID:eGo0h3N+
非同期処理やな
341デフォルトの名無しさん
2020/11/12(木) 12:08:42.65ID:8fd8Jcut
いちおう
os.system('sleep 1;touch xxx')
でできますが、一度シェルに投げるのは気持ち悪いので、できればpython内で完結できればと思っています。
342デフォルトの名無しさん
2020/11/12(木) 12:57:01.06ID:f5BAQJxF
thread.run(pathlib.Path('xxx').touch)

touch() じゃなくて touch を渡す
343デフォルトの名無しさん
2020/11/12(木) 12:57:50.22ID:f5BAQJxF
thread.run(lambda : pathlib.Path('xxx').touch)
こっちかも知れん
344デフォルトの名無しさん
2020/11/12(木) 13:17:42.67ID:OJpnz+qw
>>339
空ファイルの用途と、一秒後という理由がわからないけど、
本処理の前に作ってしまってはダメなの?
意外とそういう処理で済んじゃう場合もあるし
345デフォルトの名無しさん
2020/11/12(木) 13:33:35.86ID:8fd8Jcut
>>342,343
このthread関数は

from threading import Thread

ではなく、python2系にある全部小文字の

import thread

でしょうか?
346デフォルトの名無しさん
2020/11/12(木) 13:38:24.26ID:8fd8Jcut
>>344
空ファイルはフラグ用で、別に動いてる処理と連携させるものです。
即ファイルが作成されるとその後の工程でまずいので制御したいと考えています。
347デフォルトの名無しさん
2020/11/12(木) 22:29:13.40ID:e5F/VTDC
Linux ではロック用途で、安全に一時ファイルを作る関数もある
348デフォルトの名無しさん
2020/11/13(金) 18:22:13.24ID:0B/9Af9p
Tkinterてwinで作ったのをmacで表示させると
レイアウトぐちゃぐちゃだけど

他のGUIライブラリも一緒?
Kivy、PyQt、wxPython、PySide辺りで試したことあるひと
教えてくり
349デフォルトの名無しさん
2020/11/13(金) 18:55:20.26ID:NjVQsvkA
>>348
少なくともwxPythonでは乱れる
350デフォルトの名無しさん
2020/11/14(土) 00:06:13.71ID:XJ24TZhC
sizer使えばおk
351デフォルトの名無しさん
2020/11/14(土) 11:11:00.88ID:4Qzmu7NG
絶対配置はどのライブラリもダメてことだよね
OSごとのウインドウやフォントがそもそも違うから

ウイジットを画面いっぱいに埋めるように配置指定すればいけるてことでおk?
でもこれ不格好すぎるんだよね

で空白のためpx単位で指定したらもうアウトてことか…
352デフォルトの名無しさん
2020/11/14(土) 11:32:45.42ID:T+rYowJl
pythonでマルチプラットフォームのGUIアプリを作ろうとしてる時点で道具の選択を間違ってるよね
353デフォルトの名無しさん
2020/11/14(土) 11:46:08.53ID:QzputhfI
ピクセル単位で指定しても良いけど面倒臭いだろ
それでもどうしてもというなら適当に余白造って
OS変わっても大丈夫な様に造るしかない
354デフォルトの名無しさん
2020/11/14(土) 13:47:10.60ID:zVywz4sj
autolayout機能のあるライブラリがないの?
355デフォルトの名無しさん
2020/11/14(土) 13:51:47.27ID:4Qzmu7NG
相対値て設定できるライブラリてあるのかな?
356デフォルトの名無しさん
2020/11/14(土) 13:57:01.44ID:l26MbGN7
>>354
オートレイアウト的なのだけ駆使してても
OSかえたらコレジャナーイ感が出ることは
まれどころじゃなく
よくある

>>352
んだ
357デフォルトの名無しさん
2020/11/14(土) 14:13:44.32ID:5DwlosOq
初心者相手にデマ撒き散らすのが流行ってんのか?
これも売電推しのマスゴミのせいだな
358デフォルトの名無しさん
2020/11/14(土) 18:59:50.44ID:G79Bc0pr
非同期?アプリを作りたいんだけど、async/awaitが難しすぎて理解できない
俺は無能なんでしょうか
やりたいことは以下
・PCの特定のフォルダを監視し、新規ファイル・更新ファイルがあるたびに
SQLiteのテーブルにファイル名とタイムスタンプを格納・更新する

これを単純なループで作るとPCが固まってしまうので
非同期アプリにする必要があると思った次第
359デフォルトの名無しさん
2020/11/14(土) 19:11:37.26ID:DnZAmAgg
asyncioの惨状なんだあれ
リリース毎にDeprecatedだらけの迷走っぷり
折角async/awaitキーワードまで取り入れたのに名前が足りなくて関数名がおかしくなっとるやん
360デフォルトの名無しさん
2020/11/14(土) 21:40:51.96ID:xhWL0SJ0
>>358
それは非同期にしなくてもsleep挟めばいいだけじゃないの?
361デフォルトの名無しさん
2020/11/14(土) 22:43:31.52ID:HbMOH9xQ
自分はpyqt使ってマルチプラットフォームアプリ作ってます
自分はMacで,周りもMacの人が多いです
議論なされてるようにWinではレイアウトが微妙にズレてますが,大半の人が自分のレイアウトで使えてるから,まあいっかと思ってます
気にできるほど他の言語に明るくないので…
362デフォルトの名無しさん
2020/11/14(土) 23:19:14.33
同階層のpyファイルを読み込むにはimport ○○とするらしいのですが
ふと思いました
○○.pyと、すでにインストール済みのモジュール名がかぶったときはどうするのでしょうか
あと、単に同階層の○○.pyをimportすることが明確な場合に、
とりあえず別のインストール済みのモジュールも総当りで?見つけようとするのは無駄な動きな気がしてしまうのですが問題はないのでしょうか
363デフォルトの名無しさん
2020/11/15(日) 06:40:07.09ID:XAziMnEB
同階層のやつが優先されるのでお察しの通りエラーを吐く
なのでモジュールと同じ名前は避ける必要がある
364デフォルトの名無しさん
2020/11/15(日) 06:55:14.69ID:o8f0udtd
>>360
残念ながらWindowsにはsleepがない…
365デフォルトの名無しさん
2020/11/15(日) 10:47:50.77ID:AQ/HY5jp
え?
366デフォルトの名無しさん
2020/11/15(日) 11:04:54.86ID:xwGOSzxB
>>358
うちもパイソンはじめて1ヶ月くらいのときに同期やろうとしたけどわけわかんなくて挫折したw
別の方法で解決したけどいつか再挑戦したい
367デフォルトの名無しさん
2020/11/15(日) 11:56:58.93ID:4ZGD55Ii
>>364
んなわけあるかっ!
368デフォルトの名無しさん
2020/11/15(日) 13:03:57.44ID:Q3DWzppx
plt.subplot(2, 2, 4)
plt.plot(ほにゃらら)
pltshow()
print('end')

みたいにplt.subplot使ってplt.show()するとplt.show()でグラフ表示した後フリーズして
print('end')
が実行されないのですが・・・、どうすればいいでしょう?
グラフ自体は望んだ通りのものが表示されているのですが、グラフウインドウを閉じてもprintが実行されません。
369デフォルトの名無しさん
2020/11/15(日) 13:28:33.67ID://uHFZpN
>>364
なぜsleepコマンドだと思ったのか
370デフォルトの名無しさん
2020/11/15(日) 13:50:29.62ID:1NoBqfO6
フリーズはしていない
戻って来て欲しい時は
plt.draw()
371デフォルトの名無しさん
2020/11/15(日) 14:04:02.28ID:1NoBqfO6
ごめん間違った
この手順でやってみ
>>> from matplotlib import pyplot as plt
>>> plt.subplot(2, 2, 4)
>>> plt.plot([[1,2,3],[4,5,6]])
>>> plt.pause(0.1) # ここで表示されて 0.1 秒後に戻る
>>> plt.plot([[1,2,3],[4,5,8]])
>>> plt.gcf().canvas.draw() # 更新
372デフォルトの名無しさん
2020/11/15(日) 15:07:46.36ID:tav0pD0x
安易にsleep使う素人が多すぎて困る。
373デフォルトの名無しさん
2020/11/15(日) 16:53:25.64ID:lz+gXz1a
sleepの使いどころも知らない自称玄人さんジワるw
374デフォルトの名無しさん
2020/11/15(日) 17:14:49.77ID:Q3DWzppx
>>371
できました。ありがとうございます。m(_ _)m
でもなんでできたのか、わからない・・・???

plt.show()
でなんでフリーズして

plt.pause(0.1)
plt.gcf()canvas.draw()
だと戻ってくるんでしょう?
375デフォルトの名無しさん
2020/11/15(日) 17:25:25.17ID:U+/Dwi3J
フリーズはしていない
376デフォルトの名無しさん
2020/11/15(日) 17:51:06.67ID:tav0pD0x
>>373
sleepなんか使う必要ないから。
377デフォルトの名無しさん
2020/11/15(日) 20:09:31.44ID:Q3DWzppx
>>375
むむむ・・・
何が原因なんだろう・・・・・・
378デフォルトの名無しさん
2020/11/15(日) 20:29:01.79ID:8j4ATkh0
ここにprintfがないとなぜか動かないんだ
379デフォルトの名無しさん
2020/11/16(月) 12:36:25.59ID:A2ai6viK
>>348
pyqt5でも乱れる。俺はだいたいウィンドウをリサイズなしの大きさ固定にしてるけど、
フォントの関係か、だいたい乱れる(大きくは乱れない)。
デザイナーで微調整が必要だな。
380デフォルトの名無しさん
2020/11/16(月) 12:44:51.86ID:sF1WJXNT
https://support.microsoft.com/ja-jp/help/3025083/windows-scaling-issues-for-high-dpi-devices
https://www.eizo.co.jp/support/compati/software/win/windows_hidpi/
381デフォルトの名無しさん
2020/11/16(月) 19:38:01.87ID:ZlvPcwtM
Pythonおじさんがマイクロソフトに入ったから、EXCELにPython同梱して操作できるようにしてくれ(´・ω・`)
382デフォルトの名無しさん
2020/11/16(月) 19:45:47.18ID:ZYi19Xfa
普通にwatchdogモジュール使えばいいんじゃないの
383デフォルトの名無しさん
2020/11/16(月) 20:01:01.30ID:ysP24k7m
はえーそんなのあるんだ
384デフォルトの名無しさん
2020/11/16(月) 21:09:34.49ID:lpvH3HhJ
>>382
watchdog使ったところでビジーループの問題は解決しない
385デフォルトの名無しさん
2020/11/17(火) 10:43:44.47ID:KFJ2cj0W
>>384
無能には無理なんだろうな…w
386デフォルトの名無しさん
2020/11/18(水) 15:35:14.76ID:cVTuS9Vl
ウェブアプリのレスポンスをjsonで返そうとして
res = '{"status":"{status_code}","error":"{error}"}'
return res.format(status="200",error="")
みたいにすると変数res内の{とformatの{が干渉してエラーが出てしまいます
なので
res = '"status":"{status_code}","error":"{error}"'
return '{'+res.format(status="200",error="")+'}'
としたのですが、、なんかかっこ悪い気がしてもやもやします・・
もっといい方法はないでしょうか
json.dumpsを使うと
res['status'] = 200
res['error'] = ''
の行が増えてしまうのでそのあたりが気になります
387デフォルトの名無しさん
2020/11/18(水) 16:02:18.01ID:/USRxP5S
ちょっと何言ってるか分からないんだけど、
return json.dumps({“status":status_code,"error":error})って事ではないの?
388デフォルトの名無しさん
2020/11/18(水) 16:19:03.18
>>387
ええ、関数化やモジュール化するまでもなければ簡潔に書ける方法はないかな
ということです
status_codeが200だけ出てくる場合なら別にそれでいいと思いますが
389デフォルトの名無しさん
2020/11/18(水) 16:31:36.23ID:/USRxP5S
やっぱり何がしたいのかわからんわw
390デフォルトの名無しさん
2020/11/18(水) 16:55:17.63ID:grk01deG
>>386
たぶん希望しているのはこういう事かな
res = '{{"status":"{status}","error":"{error}"}}'
https://docs.python.org/ja/3/library/string.html#formatstrings
391デフォルトの名無しさん
2020/11/18(水) 16:59:39.36ID:cVTuS9Vl
>>390
で、できました!
"\{"とかで出来きず他の方法がありそうな気がしていましたが
{{だとは・・
ありがとうございました!
392デフォルトの名無しさん
2020/11/18(水) 17:21:35.12ID:vHQTDRO5
res.format(status=500, error='Error: "foobar”’)とかするとバグらない?

素直に関数化するかクラス化したほうが良いと思うな
def res(status_code, error):
__return json.dumps({'status': status_code, 'error': error})

res(500, 'Error: "foobar"')
393デフォルトの名無しさん
2020/11/18(水) 22:53:36.69ID:uoMUJNdk
確かにJSONで返すなら、ちゃんとパーサーにお願いしたほうが確実だよね
394デフォルトの名無しさん
2020/11/18(水) 23:26:31.23ID:4/YKHsf6
ここに書いてある事がほとんど分からないんですが
本当に超初心者のスレですか?
395デフォルトの名無しさん
2020/11/18(水) 23:45:00.61ID:hkPPdx4I
簡単に説明←簡単じゃない
初心者向け←初心者向けじゃない(書いてる奴が初心者)

よくあること
396デフォルトの名無しさん
2020/11/18(水) 23:47:39.86ID:cVTuS9Vl
>>392,369
error以外のものを付加したいときとかは普通に関数化してますね
今回は例外処理含めstatsuとerrorがintとstrのみとわかっているので
よりスマートな書き方がないかなと模索してただけです
関数化するとプログラムを分けたときに
同じものを貼るのも、またはimportするのもあれだし、と思って。
その辺を気にしないうまい処理の仕方があるのかもしれませんが
397デフォルトの名無しさん
2020/11/19(木) 06:48:28.38ID:SrLjxFgj
>>394
Pythonにはいろんな機能があるから、質問も多岐にわたるわけで
理解できないものがあって当然
JSONなんて使わない人は一生使わない機能だし
398デフォルトの名無しさん
2020/11/19(木) 08:41:29.87ID:YoVNSJkp
>>272
Macならhomebrewでpyenvで管理するのが1番楽
anaconda使いたきゃpyenvの中で管理されてるわけだし、pyenvからanacondaの好きなバージョン入れりゃ良いだけ
399デフォルトの名無しさん
2020/11/19(木) 10:53:10.35ID:z88yTjzg
>>386 >>396
status_code=200
error="error"
res = str({"status":status_code,"error":error})
400デフォルトの名無しさん
2020/11/19(木) 12:09:45.64ID:oRKf5Y34
>>399
それだとstr()が環境によるのか仕様かはわかりませんが
”が'で表示されてしまいますね
実際そのコードをサーバー立てた試験はしてませんが
以前、JSONをバックエンド側でシングルクオートで書くと
クライアント側でエラーが起きた記憶があります

あと、毎回status_codeとerrorを変数に置く必要もない気がします
もしstr()のシングルクエート化が問題なく
statusもerrorも固定であればもうこれでいいのでは
return str({"status":200,"error":"err"})

自分は簡単な場合はこんな感じです
res = '{{"status":{},"{}":"{}"}}'
#分岐
return res.format(200,"msg","ok")
401デフォルトの名無しさん
2020/11/19(木) 15:47:35.30ID:EbSX4tjh
>>400
>res = '{{"status":{},"{}":"{}"}}'

jsonシリアライザーを使わず文字列+format関数を使うメリットなくない?

それに>>396で言ってるプログラムを分けた時に
テンプレートになる文字列をコピペして回るくらいなら
関数化/モジュール化してimportしたほうが健全だよ
402デフォルトの名無しさん
2020/11/19(木) 16:15:53.36ID:oRKf5Y34
>>401
>文字列をコピペして回るくらいなら
そんなこといい出したらimport行もプログラム毎にコピペしてません・・?
関数もコピペしてますよね
親で読み込むならまだしもモジュール名に困りますし。
gitで管理するほどのものでもないし

そういう簡単な用途でない場合は
普通に関数化するしjson.dumpsも使っていますし
gitで管理するレベルのモジュール化も実際してしますけどね
403デフォルトの名無しさん
2020/11/19(木) 16:54:21.20ID:4Pgi61oy
質問です
「実用的でないPythonプログラミング」という本をやっているのですが
Pylintのところで
コマンドプロンプトに
> pylint -rn --max-line-length=79 --generate-rcfile > myconfig.pylintrc
という風に設定ファイルを作った後に
> pylint --rcfile myconfig.pylintrc pseudonyms_main(評価したいプログラム名です)
とすると
Traceback (most recent call last):
File "c:\users\owner\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\owner\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\owner\AppData\Local\Programs\Python\Python39\Scripts\pylint.exe\__main__.py", line 7, in <module>
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\__init__.py", line 22, in run_pylint
PylintRun(sys.argv[1:])
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\lint\run.py", line 298, in __init__
linter.read_config_file(verbose=self.verbose)
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\config\option_manager_mixin.py", line 290, in read_config_file
parser.read_file(fp)
File "c:\users\owner\appdata\local\programs\python\python39\lib\configparser.py", line 718, in read_file
self._read(f, source)
File "c:\users\owner\appdata\local\programs\python\python39\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
つづきます
404デフォルトの名無しさん
2020/11/19(木) 16:54:40.27ID:4Pgi61oy
File "c:\users\owner\appdata\local\programs\python\python39\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "c:\users\owner\appdata\local\programs\python\python39\lib\encodings\utf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

となって評価してくれません
405デフォルトの名無しさん
2020/11/19(木) 17:09:06.67ID:4Pgi61oy
OSはindows10でPythonのバージョンは3.9です
406デフォルトの名無しさん
2020/11/19(木) 17:11:36.55ID:4Pgi61oy
>>405
> OSはindows10でPythonのバージョンは3.9です
indows→Windows
407デフォルトの名無しさん
2020/11/19(木) 17:23:13.66ID:YSWc8XxM
>>403-406
3.9なんて使うからじゃろ
3.8にしとけよ
あと
ターゲットの本文?に全角文字入ってないか?入ってたらそれをヤメレ
408デフォルトの名無しさん
2020/11/19(木) 17:28:17.91ID:ikoVfZxF
教えて下さい。

tkinterのテキストに処理の状況を表示していきたいのですが、処理終了後に
一気に再描画される感じになってしまいます。
printしてshellに出力されるような感じで、テキストに出力するにはどうしたら
よいでしょうか。

サンプルです。
------
import tkinter
import tkinter.scrolledtext as tkst

def click():
for i in range(10000000):
# 10000回ループに1回テキスト出力
if (i / 10000 ) % 1 == 0:
editArea.insert('end',str(i)+'回目\n') # 一気に描画される
print(str(i)+'回目') # このようにしたい

# メインウィンドウ作成
root = tkinter.Tk()
root.geometry("600x400")

Button1 = tkinter.Button(root,text='実行',command=click)
Button1.pack()
editArea = tkst.ScrolledText(root,wrap= tkinter.WORD, width=20,height = 10)
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)

# メインループ
root.mainloop()
------
どうかよろしくおねがいします。
409デフォルトの名無しさん
2020/11/19(木) 17:32:51.21ID:YSWc8XxM
>>408
flush()について調べてみるとハッピーになれるかもしれない
410デフォルトの名無しさん
2020/11/19(木) 17:40:55.60ID:4Pgi61oy
>>407
評価したいプログラムは
https://github.com/rlvaugh/Impractical_Python_Projects/blob/master/Chapter_1/pseudonyms_main.py
です、たぶん全角は入ってないと思います
いま3.9から3.8.6に変えてみて同じことをやってみても
Traceback (most recent call last):
File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\owner\AppData\Local\Programs\Python\Python38\Scripts\pylint.exe\__main__.py", line 7, in <module>
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\__init__.py", line 22, in run_pylint
PylintRun(sys.argv[1:])
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\lint\run.py", line 298, in __init__
linter.read_config_file(verbose=self.verbose)
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\config\option_manager_mixin.py", line 290, in read_config_file
parser.read_file(fp)
File "c:\users\owner\appdata\local\programs\python\python38\lib\configparser.py", line 718, in read_file
self._read(f, source)
File "c:\users\owner\appdata\local\programs\python\python38\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
つづきます
411デフォルトの名無しさん
2020/11/19(木) 17:41:42.54ID:4Pgi61oy
File "c:\users\owner\appdata\local\programs\python\python38\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "c:\users\owner\appdata\local\programs\python\python38\lib\encodings\utf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
というふうになって同じみたいです
412デフォルトの名無しさん
2020/11/19(木) 17:50:31.40ID:OpsIjeL3
>>403
文字コード変えてないか?
VSCODEとかのテキストエディタで該当ファイルを開いた時に
ちゃんとUTF-8になってるか?
413デフォルトの名無しさん
2020/11/19(木) 17:51:00.78ID:KWn/SEv2
>>410
その評価したいプログラムがUTF-16で保存されてるみたいだから
VS CodeかなにかでUTF-8で保存しなおせば大丈夫かも
414デフォルトの名無しさん
2020/11/19(木) 17:57:08.10ID:4Pgi61oy
>>412
>>413
Visual Studio Codeで開くと右下(ですよね?)には
UTF-8って表示されています
415デフォルトの名無しさん
2020/11/19(木) 18:03:30.56ID:EbSX4tjh
>>402
値をあちこちにコピペして使うことと
値を参照してる変数や関数をあちこちで使うことの違い

複数のファイルで同じようなimportを何度も繰り返しやってるなら
__init__.pyとかでまとめればいい

gitは何の関係が?
416デフォルトの名無しさん
2020/11/19(木) 18:11:08.22ID:UFBeFMfP
>>git
自分はそこそこできるんだぜアピールじゃないかなw
よくいるよね。こういうタイプの人。
417デフォルトの名無しさん
2020/11/19(木) 18:23:43.14ID:NbNudS2h
>>416
いるよね
質問者のくせにアドバイスに挑発的な返しをする人
418デフォルトの名無しさん
2020/11/19(木) 18:26:14.64ID:YSWc8XxM
>>414
じゃあBOMがついてるとか?
419デフォルトの名無しさん
2020/11/19(木) 18:31:09.44ID:oRKf5Y34
>>415
>複数のファイルで同じようなimportを何度も繰り返しやってるなら
ええ、そういう用途のときはそうすればいいと思いますよ

>gitは何の関係が?
ホストPC以外で開発する場合、通常はクラウドでコンテナ作って云々すると思いますが
いちいち簡易レスポンスのためのimportをコピペするのが面倒なので
gitでリモートします
420デフォルトの名無しさん
2020/11/19(木) 18:33:57.52ID:oRKf5Y34
というかホストPCで開発するときも
プロジェクト毎にcloneすると思うけど
毎回ファイルごとコピペしてる人が多いのかな
421デフォルトの名無しさん
2020/11/19(木) 18:43:27.44ID:4Pgi61oy
>>418
BOMっていうのは知らなかったですけど
https://qiita.com/JINr/items/255429d6174fad76b9b7
ここに書いてあることをやってみたのですが
BOM付きっていうところをにはチェックは入ってなかったです
あらためてチェックなし状態で上書き保存して同じことしても
同じようなエラーが出ました
422デフォルトの名無しさん
2020/11/19(木) 18:53:18.11ID:ikoVfZxF
>> 409
コメントありがとうございます。
flush() 色々と調べてみましたが、まだ有効に使えていませんが、
調べているうちに、update()とsee()というメソッドがあるのが
わかり、組合せたら上手くいきました。
ヒントいただきありがとうございました。

一応、結果報告
import tkinter
import tkinter.scrolledtext as tkst
import sys

def click():
for i in range(10000000):
# 10000回ループに1回テキスト出力
if (i / 10000 ) % 1 == 0:
editArea.insert('end',str(i)+'回目\n') # OK
editArea.update()
editArea.see('end')
#sys.stdout.flush()
print(str(i)+'回目') # このようにしたい

# メインウィンドウ作成
root = tkinter.Tk()
root.geometry("600x400")

Button1 = tkinter.Button(root,text='実行',command=click)
Button1.pack()
editArea = tkst.ScrolledText(root,wrap= tkinter.WORD, width=20,height = 10)
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)
root.mainloop()
423デフォルトの名無しさん
2020/11/19(木) 19:00:41.46ID:j3QxrLZF
>>421
myconfig.pylintrcの方がBOM付きUTF-16LEになってる予感
もしかしてpowershellでやった?
424デフォルトの名無しさん
2020/11/19(木) 19:03:04.41ID:YSWc8XxM
>>422解決おめ+報告乙

>sys.stdout.flush()
おう、これ↑は標準出力(Win系ならDOS窓)への出力をいますぐやれよ という命令だから・・・
sysのimportもコメントアウトしちゃって大丈夫にみえる
425デフォルトの名無しさん
2020/11/19(木) 19:04:21.67ID:YSWc8XxM
>>421
今知れてよかったな>BOMの存在
(これからもまれに苦しんでいくことだろう)

>>423横じゃが
なるほどなっとくありうる展開
426デフォルトの名無しさん
2020/11/19(木) 19:11:37.20ID:4Pgi61oy
>>423
!!!その通りでした!!!
myconfig.pylintrcがBOMつきUTF-16になっていました・・・
本にフォルダでShiftを押しながら右クリックで
「コマンドウィンドウをここで開く」か「PowerShellウィンドウをここで開く」を選べと書いてあったので
PowerShellで開いてやってました
すいません正確な情報じゃなくて・・・
myconfig.pylintrcをUTF-8にしたらうまくできました!!!
ありがとうございます!
427デフォルトの名無しさん
2020/11/19(木) 22:17:37.25ID:Na4zD9bI
>>419
クラウドでコンテナ云々とか別に普通じゃないと思うけど
場合によるでしょ
というか今どきはVSCodeのリモート開発がマジでローカルで開発してるみたいで便利でいいよ
あと、jsonモジュールはPython標準なのだから、よっぽど性能を出したいとかじゃなければ標準ライブラリ使った方がトラブらないと思う。自分のいい加減なコードより10万倍ぐらいテストされてるだろうから。
そもそも性能出したいときにPython使わないし、jsonモジュールを使わない方がいいケースがあまり思いつかないなあ。
428デフォルトの名無しさん
2020/11/19(木) 22:31:26.53ID:oRKf5Y34
>>427
いや普通に主にVSCodeでのリモート開発ですよ
>ローカルで開発してるみたいで
そのためのコンテナなんですけどね・・
場合によってVSCodeなり別だったりでgit管理、運用がコンテナってだけで。
普通は仮想環境下ならこれらはセットだと思いますよ・・
あと繰り返しになりますが
>intとstrのみとわかっている
みたいな単純な用途の場合ですよ
429デフォルトの名無しさん
2020/11/19(木) 23:28:35.13ID:Na4zD9bI
>>428
なるほど、ちゃんと読んでなかったけど
importを書きたくないからの主張なのか
なら、json.dumpsの1行上にimport jsonを書いて2行コピーするのはどうかな?
何回importがあっても問題ないし、文が書けるところならどこにでも書けるし、
式で完結させたければ
__import__('json').dumps(obj)
とすればいいみたい。(これにはちょっと驚いた)

自分はめちゃくちゃ簡単なはずのjsonでも固定のjsonを条件によって2個出し分ければいいとかじゃなければ、
たかだかjsonを出すのに、strに変な文字が入らないか考えたりintをstrに変換する方法を考えたりして、余計な判断が入るのが嫌だから、jsonモジュール任せだな。
まあ、楽な方法は人それぞれだと思うんでjsonモジュールを使わないのが楽と思う人もいるのは否定しないけど。
430デフォルトの名無しさん
2020/11/19(木) 23:38:08.43ID:zsB/MCGD
考え方は人それぞれなんでしょうけど、「スマートな書き方」という質問に対して、JSON形式で返すのならjson.dumps使ったほうが他人がコードを読んでも「あ、これはJSONで返すんだな」と意味が理解しやすいしスマートだと思うなぁ
自己満足的なスマートか、保守性も考えたスマートなのか、方向性の違いかしら。
431デフォルトの名無しさん
2020/11/19(木) 23:57:14.70ID:gzIvj2mX
import書きたくないから文字列コピペするとかちょっと意味わからん
432デフォルトの名無しさん
2020/11/20(金) 00:20:07.13ID:aJFtJ7NQ
>>429
>importを書きたくないからの主張
'{"status":200,"error":"hoge"}'
とか直接書いてもいいし
res(200,"hoge")とかでもしいし
json.dumps(res)とかでもいい
自作モジュールで管理するでもいいし
という前提があります
が今回は、関数に分けるまでもjsonモジュール使うまでもなさそうだな
という用途で、かつ汎用的に流用したい、かつ変数代入やimportの省略による行数の節約
などができないかと思ったときに
formatの使い勝手が良かったしかし、{の干渉があった
が、結果的にその干渉を除くことができました
ってだけの話です
書きたくないというより使うまでもないな
ということに尽きると思います
433デフォルトの名無しさん
2020/11/20(金) 00:25:40.46ID:Y24NtUEO
>>432
個人的な趣味だけど、まあC言語とかで書いてるなら言うことは同意できるよ。C言語で書いててそこからの移植とか。
個人的な趣味だけど、Python使ってて「使うまでもない」かどうか一々判断するのは面倒だなって思っちゃう。Pythonって、使えるものは何でも使ってやれの富豪プログラミングの精神に近いかなと。
まあ個人的な趣味でしかないんで、その判断をするのが異常だとは思わないよ。色々な理由があるのだろうし。
434デフォルトの名無しさん
2020/11/20(金) 01:08:25.18ID:kqUw2Oqc
>>432
このケースで文字列のコピペでいいと思うのはたぶん君だけ

可読性/変更容易性/テスト容易性など他と比べて何一ついい点がなく明らかにマズい書き方
435デフォルトの名無しさん
2020/11/20(金) 01:22:02.94ID:aJFtJ7NQ
極論""返すだけだとしてもどんな場合でもチェックすべきだ
みたいな議論と同じでその主張はさすがに違和感あります >>434
436デフォルトの名無しさん
2020/11/20(金) 01:28:55.33ID:1jDOgyGC
statusコードを成型して返すだけのモジュールは別のケースで使っていて
今回はそれを使わないケースだった、というだけの話なのですが
もしかするとどんな場合でもformatを使った書き方でやっている
と勘違いしてる人がいるのかもしれない
437デフォルトの名無しさん
2020/11/20(金) 05:05:30.75ID:pwTm9Uxw
>>272
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL を使う

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
438デフォルトの名無しさん
2020/11/20(金) 05:15:51.38ID:pwTm9Uxw
Ruby on Rails では、API モードがあって、API 用のアプリも作れる

初心者は、そういう事を知らないから、
何でも時間をかけて、低品質なアプリを自分で作るw
439デフォルトの名無しさん
2020/11/20(金) 05:29:48.35ID:pwTm9Uxw
>>411
>UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
これで、検索してみれば?

UTF-8 は以下のように、先頭ニブル・4ビットで、1~4バイト文字を判別しています

1バイト文字: 0000~0111: 0~7

多バイト文字の2バイト目以降
1000~1011: 8~11(8~B)

2バイト文字: 1100~1101: 12~13(C~D)
3バイト文字: 1110: 14(E)
4バイト文字: 1111: 15(F)

0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
440デフォルトの名無しさん
2020/11/20(金) 05:43:06.55ID:pwTm9Uxw
我流の人は、Git のプルリクを知らなそう。
就職では必須項目

上の人が見たら、一発で書き直し。
バグりやすいコードは、プルリクを受け付けられないだけ

議論するだけムダ

チェックを通ったコードは、合法になるから、
皆が模範にしてコピペするから、我流はダメ!
441デフォルトの名無しさん
2020/11/20(金) 06:50:20.26ID:DAmoUJMr
>>432
> かつ変数代入やimportの省略による行数の節約などができないかと思った
いつの時代のおじいちゃんなんだよw
442デフォルトの名無しさん
2020/11/20(金) 08:19:06.00ID:azkfkwLr
>>431
んだんだ
443デフォルトの名無しさん
2020/11/20(金) 08:27:43.79ID:04W8lkpW
パイソンって書いた事ねーんだけっども、ブロックってインデントで
表現するんだべ?するってーと、100行のブロックにifに入れてぇ
ときは、100行分インデントすんのけ?
444デフォルトの名無しさん
2020/11/20(金) 09:03:36.27ID:azkfkwLr
>>443
せやけど
IDEがまともだったり、テキストエディタでもSakuraエディタみたいなPythonソースコードモードがあるエディタなら
自動でやってくれるべ?
445デフォルトの名無しさん
2020/11/20(金) 09:09:51.23ID:WciP5EDn
でも範囲の指定は自分でやらんとならんよね。
他の言語ならブロックの開始と終了を書いてやればいいんだけど
pythonは自分で範囲指定してインデントしてやる必要がある。
446デフォルトの名無しさん
2020/11/20(金) 09:33:53.10ID:04W8lkpW
やっぱりそれなりのエディタや統合環境が前提なのかな(もちろん批判ではない)。
マジレスありがとう。
447デフォルトの名無しさん
2020/11/20(金) 09:52:05.41ID:azkfkwLr
>>446
だがおれはいつもは秀丸でコードを書いている。
範囲指定→右クリメニュー「インデント」→おk!
448デフォルトの名無しさん
2020/11/20(金) 11:05:57.25ID:T+fLV2lq
行選択してtabキー押すだけじゃないの?
秀丸ってそうなの?
449デフォルトの名無しさん
2020/11/20(金) 11:14:42.02ID:azkfkwLr
>>448
行番号選択ってこと?
できるかもしらんが、してないなぁ
450デフォルトの名無しさん
2020/11/20(金) 11:26:50.71ID:E6icsWYy
なんでVSCODE使わないの?
451デフォルトの名無しさん
2020/11/20(金) 11:33:54.21ID:iBr2xRx4
回答者側と思しき立場でただのgit管理にすら怪訝する人が上の方でちらほらいたので正直驚いたけど
個人開発であってもgitはほぼ必須になってくる場面があるのでまとめて覚えておいて損はない
452デフォルトの名無しさん
2020/11/20(金) 11:48:54.11ID:SYPK5ijx
>>451
流れ軽く読んで来たけど
・実装の重複を防ぐためのクラス/メソッド抽出してモジュール化
 ⇒設計的な話
・Gitでモジュール化したものを管理する
 ⇒バージョン/ファイル管理的な話

この二つは本質的には別問題だけど、何故か混同された話になってて
よく分からん事になってるな
(実際の開発考えるとGit使ったやり方になるから分からん話でもないが)
453デフォルトの名無しさん
2020/11/20(金) 11:58:33.01ID:azkfkwLr
>>450
ネットブックだと動かない
454デフォルトの名無しさん
2020/11/20(金) 12:11:55.05ID:pblrwhkp
Notepad++にPython Indentを入れれば同じことができる。
455デフォルトの名無しさん
2020/11/20(金) 12:32:50.55ID:azkfkwLr
だがおれは秀丸派
456デフォルトの名無しさん
2020/11/20(金) 12:47:59.38ID:27JFXKUI
>>439
>4バイト文字: 1111: 15(F)
>0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?

1バイト文字は0xxx-xxxx
2バイト文字は110x-xxxx
3バイト文字は1110-xxxx
4バイト文字は1111-0xxx

↑この制限だけでも4バイト文字の先頭バイトは0xF0~0xF7の範囲
実際はUnicodeのコードポイントの上限がU+10FFFFまでなので0xF0~0xF4(1111-0100)
457デフォルトの名無しさん
2020/11/20(金) 13:12:12.59ID:pRZ0VqUl
chromebookでも動くvscode(´・ω・`)
458440
2020/11/20(金) 13:17:17.31ID:pwTm9Uxw
YouTube で有名な、雑食系エンジニア・KENTA が言ってる

Git のプルリクは、転職に必須項目だと
459デフォルトの名無しさん
2020/11/20(金) 13:33:16.00ID:RwZlwr9h
パソコンor通信環境のスペック次第だが仮想環境であればvscodeに限らず大体使える
スマホですら動く
460403
2020/11/20(金) 13:44:15.80ID:OhxLwjcY
>>439
>>423で解決しましたよ
461デフォルトの名無しさん
2020/11/20(金) 14:07:20.42ID:geOpYg9g
>>451
git管理に怪訝してる人なんて一人もいないでしょ
むしろgitも理解してるから話が噛み合わない
462デフォルトの名無しさん
2020/11/20(金) 14:57:48.56ID:gfvoQY5i
gitを持ち出したのは>>416の指摘通りだろうけど、書いてる内容見るとpythonのモジュールを理解してなさそう

自分が知らなかったことや見落としてたことを絶対に認めずに (本人にとっての)俺はできるんだぞアピールで返す人はスルーに限る
463デフォルトの名無しさん
2020/11/20(金) 15:40:25.51ID:abuyzRZn
>>458
プルリクっていろんな人が好き勝手にソースをいじるOSS開発で役立つ機能っしょ
転職に何ら関係ないと思うが
464デフォルトの名無しさん
2020/11/20(金) 16:07:05.73ID:Cnjv1GAE
いやプルリクそのものじゃなく今までにプルリクした実績のことじゃないの
GitHubアカウントを見せてこんなことしてきましたよと自己アピールする感じで
そんなん実際にするのか知らんけど
465デフォルトの名無しさん
2020/11/20(金) 16:12:52.30ID:dRk/TXCB
日本語翻訳のプルリクでもええか?
466デフォルトの名無しさん
2020/11/20(金) 16:21:35.66ID:abuyzRZn
>>464
そういうことね
あまり意味ないと思うなあ
プルリクって他人の作ったアプリに寄生する行為だし
こいつ採用してもOSSにかまけて仕事しないんじゃないかと思われるだけだろう
467デフォルトの名無しさん
2020/11/20(金) 16:27:14.70ID:SYPK5ijx
>>466
流石にそれは偏見すぎる
468デフォルトの名無しさん
2020/11/20(金) 16:51:03.75ID:zSvQnKz4
最初の質問が>>386だからな
こんなもんjsonモジュール使えで終わる話だろ
469デフォルトの名無しさん
2020/11/20(金) 17:12:00.89ID:27JFXKUI
プルリクはOSSに限らないよ
転職の話はプルリクベースの開発スタイルに馴染みがあるかどうか
もしくは適応できるかどうかっての話だと思う
470デフォルトの名無しさん
2020/11/20(金) 17:38:21.51ID:AGMq159w
すまん、それpython関係ある???
471デフォルトの名無しさん
2020/11/20(金) 17:53:38.81ID:04W8lkpW
あげるなよ、何かを信じてる方々の啓蒙活動なんだから。
背景雑音だっぺ。
472デフォルトの名無しさん
2020/11/20(金) 19:34:59.52ID:M1wpYzhx
モジュール化してimportするまでもない
git管理するまでもない
関数化はしてもいいがするまでもない
そういう用途下で、ただのformat関数をつかった文字列出力の小技の話なのに
なぜかどんな場合にもimportすべきだjsonモジュール使ってチェックすべきだ
みたいな勢力がいる違和感
473デフォルトの名無しさん
2020/11/20(金) 19:42:56.25ID:abuyzRZn
>>472
違和感でも何でもない
技術者にはそれぞれ己の中に譲れないポリシーがある
「~するまでもない時はしないでいい」というのもポリシーだし
「どんな時も~するべきだ」というのもポリシーだ
それが匿名掲示板でぶつかり合うとこうなる
474デフォルトの名無しさん
2020/11/20(金) 20:00:35.31ID:OHdUFTne
>>462
git持ち出したのは>簡単な用途でない場合
の一例ですよ
簡易的に仮想環境化で動作確認したい場合とか
statusを返すようなモジュール個別開発したりcloneしたりバージョン管理もする必要のない用途例として出しただけです
ここの人なら普通に使ってるものだと思っていたし
できる人のアピールになぜgit?という感じで正直謎でした
475デフォルトの名無しさん
2020/11/20(金) 20:29:53.22ID:l5Hw5z7m
2行目で何をしてるのか教えて下さい

s = input()
print(max(map(len, s.split('S'))))
476デフォルトの名無しさん
2020/11/20(金) 20:35:44.50ID:azkfkwLr
>>475
print、max、map、len、split
それぞれでggrks

続きは↓でな
http://2chb.net/r/tech/1258320456/
477デフォルトの名無しさん
2020/11/20(金) 20:47:13.53ID:uMSrjpcB
JSONで返しますって言ってるAPIがJSON風の自前の文字列返してくるとか嫌がらせ以外のなにものでもない
何のためにJSONが存在してると思っている
478デフォルトの名無しさん
2020/11/20(金) 20:54:33.52ID:abuyzRZn
>>475
sに入力した文字列を'S'を境にして区切り、区切った文字列ごとに文字数を算出し
その中から最大の数を選んで表示する

これは難解
map関数は関数型言語からバクッてきた機能らしく、Pythonの文脈に馴染んでおらず
使うと大抵可読性が落ちる
プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
479デフォルトの名無しさん
2020/11/20(金) 20:57:12.97ID:Y24NtUEO
バージョン管理しない書き捨ての用途だとしてもjsonモジュール使う方が何も考えなくていいもの
jupyterで適当なコード書くときだってjson numpy pandasあたりは大体始めに必要だとわかってimportしとくわ。

自分でフォーマットする合理性が理解できない。
「jsonモジュールを使うまでもない」というが、「jsonモジュールを敢えて使わない理由はない」と思ってしまう。
それこそ内包forを使うまでもないから使わない、みたいな話と同じように感じてしまう。
車輪の再発明はどうしても必要とされない限りは基本的に避けた方がいい行為、ということにも合意はなされない、のかな。
480デフォルトの名無しさん
2020/11/20(金) 20:59:04.30
>>477
つまりパーサーを通したものこそ真のJSONである、と・・
しかし、そのパーサーの中身は・・?
これやってみては
if json.dumps({"status":200}) == '{"status": 200}':
_print(True)
481デフォルトの名無しさん
2020/11/20(金) 21:00:33.44ID:Y24NtUEO
>>475 >>478
print(max([len(st) for st in s.split('S')]))
だったら理解できるのかな?
特に478、こっちの書き方なら十分にPython流で明快とされると思うのだが
482デフォルトの名無しさん
2020/11/20(金) 21:01:42.82ID:azkfkwLr
>>479
> 車輪の再発明
そういえば
去年あたり、このスレに
「エクスポーネンシャルの逆関数を発明した俺天才!」みたいな書き込みしにきたあふぉがいたなぁ・・・  (´ー`)
483デフォルトの名無しさん
2020/11/20(金) 21:08:06.35ID:Y24NtUEO
>>480
筋悪だな
json.dumps(json.loads('{"status": 200}')) == json.dumps({"status":200})
ぐらいにしないとFalseになる可能性は十分にある、今実験してTrueなったから未来永劫Trueだろう、というのは考えが甘いよ
それがTrueになるのはどのPythonの実装でなら担保されるのかな?

要は、いちいちJSONの仕様を100%確かめて、100%準拠した手書きJSONを書くというのは割りに合わないということ。
import jsonとかjson.dumpsと書くたったの10秒ぐらいの余計な時間で、
もし間違ったJSONを出力してパーサーの方でパースできない原因を究明することになったときに必要な何十分がなくなるんだから、
余計な10秒をかけない理由がない

変に手抜きすると結局その手抜きが原因で100倍ぐらい余計に時間がかかったりするのがプログラミングの常だもの
484デフォルトの名無しさん
2020/11/20(金) 21:09:07.64ID:l5Hw5z7m
>>478,481
なるほど。ありがとうございます。
少ない行数で書ける人に憧れてましたけどそうなんですね…
485デフォルトの名無しさん
2020/11/20(金) 21:14:07.28ID:Y24NtUEO
>>484
少ない行数で書けることがカッコいい、わけではないが、このぐらいのmapは流石に読めたほうがいい
これを5行で書くほうが良いと言うのは、正直いって10年以上前にプログラミングを習ってそこから知識がアップデートされてない人種だと思ったほうが良い
勿論初心者なら、ちょっと読み解くのが難しいから自分には5行でしか書けない、5行のパターンじゃないと読むのが難しい、というのでも構わない
でも今どきJavascriptなんかでこんな書き方は当たり前なんだから、向上心があるなら慣れるべきだと思う
486デフォルトの名無しさん
2020/11/20(金) 21:23:59.20ID:aJFtJ7NQ
>>483
ただの書き方の解釈、開発環境での用途の話であって
Trueが担保されるかどうかは別の話
余計な10秒をかけたくないときに使えば良いだけ
ただの文字出力用途で100倍余計に時間がかかってしまう具体例を教えてほしい
487デフォルトの名無しさん
2020/11/20(金) 21:39:21.22ID:Y24NtUEO
>>486
え、「ちゃんとパース可能なJSON」を書き出したいんじゃなくて、「ただの文字出力」をしたいって話だったの?
ただ単純に「ちゃんとパース可能なJSON」を書き出すのが目的だとしたら、
1. JSONの規格を100%理解しているわけではないプログラマーがいい加減に書き出した文字列(テスト回数10回ぐらい)
2. Pythonの標準ライブラリとして用意されているjsonモジュールを使ってオブジェクトをJSON文字列に書き出した文字列(テスト回数100万回ぐらい)
のどっちが良いか、で、1が良いなんてことあるの?
1が良い場合もないとは言えないと思うけど、何かしら条件が必要だと思わない?
「いい加減に書き出した」せいで1時間デバッグに余計にかかったんだとしたら360倍時間かかってるわけで
そもそも{}がうまく出ないとか5chに質問してる時点で相当解決に時間かかってるのでは…?
488デフォルトの名無しさん
2020/11/20(金) 21:56:03.77ID:AGMq159w
pythonでmap, filterあたり使う理由ってほぼないだろ
内包表記に比べて遅いしgeneratorで返ってくるし
489デフォルトの名無しさん
2020/11/20(金) 22:04:18.19ID:V+7Wns2i
>>488
シーケンシャルに処理していくならgeneratorを連鎖させると速い
それでも generator内包表記で充分なのは確かだが
490デフォルトの名無しさん
2020/11/20(金) 22:08:29.63ID:Y24NtUEO
>>488
内包表記に比べて遅い、は最近のPythonだとFalseだよ
内包表記に比べて短く書けるわけではない、というのは場合によりTrue
map(lambda x: func(x, 2), arr)と書くよりは
[func(x, 2) for x in arr]と書くほうが短いが、
map(str, arr)とかだったら、
[str(x) for x in arr]より短いから意味がないということもないと思う
list付けてもこの場合はmapの方が短いしね
と言いつつ、関数の呼び出しの形の差でmapを使うか内包表記を使うかいちいち考えるのはめんどくさいので常に内包表記使ってるけど...
491デフォルトの名無しさん
2020/11/20(金) 22:10:42.73ID:aJFtJ7NQ
>>487
繰り返しになるけど、文字出力と同等の用途なだけ
個人的にフロントで「ちゃんとパース可能なJSON」を解釈できればいい、その程度の用途
あとはfomatの{回避にふと疑問を持ち質問を投げた、それだけこと
というか他でjson.dumpsは普通に使ってるので
こっち({回避の疑問)の方が主ではあります

繰り返しになりますが、何がなんでもformatを使って自己パーサーを作る、なんていう質問意図ではないです
個人用途で、キーや値の変更による成型を考える場合の変数代入や関数化する過程で発生する
json.dumps使用以外の過程を省きつつ
フロントで解釈できる程度の結果を得たい(得た)というだけの話

個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
492デフォルトの名無しさん
2020/11/20(金) 22:29:11.10ID:27JFXKUI
>>491
formatでつまづいた結果
5chで叩かれて悔しい思いして
100倍余計に時間かかったね
493デフォルトの名無しさん
2020/11/20(金) 22:36:29.18ID:wMzkLTJS
>>491
だからそれが正しいと思うならそうすればいい
ただそう考える人はあまりいないと言うだけの話
特に職業プログラマーはチームで作業してることが多いから個人が考える「かっこいい方法」は忌み嫌われて当然
ましてや>>386程度の質問をするレベルじゃあねw
494デフォルトの名無しさん
2020/11/20(金) 22:40:22.91ID:Y24NtUEO
>>491
「フロントで「ちゃんとパース可能なJSON」を解釈できればいい」のならjson.dumps(obj) 一択
1行でコピペできないという問題も__import__('json').dumps(obj)という書き方で解決された

なぜそこまで自分のコードが信頼できるのか疑問
jsonモジュール(別にjsonモジュールに限らず、他の言語も含む世の中にある名の知れたライブラリ)を書いたプログラマーのほうが
色んな人にソースコードの動作を検証してもらってるし、コード自体も査読してもらってるし、長い時間をかけてそのモジュールを書いているし、
そもそもオープンソースとして公開する時点で優秀なプログラマーの可能性が高い
あなたの言う「スマートなやり方」というのは、「言語/言語のエコシステムの補助を使わずになんとかする方法」なのかな?

「適当な文字出力」と「パース可能なJSONの出力」はハードルが違うからね。
あと、この場合あなたが書きたいのは「パーサ」じゃなくて「シリアライザ」とか「フォーマッタ」と呼ばれる

ぶっちゃけ何度もimportしても構わないからimportは必ずプログラムの頭に書かなくてもいいとか知らなかったことを認めるのが癪で
引っ込みがつかなくなってるのではないかな?
超初心者用のスレなんで、知識が怪しいんじゃないか、というところにツッコミを入れるのもアレだけど、パーサの誤用とか含めて
プライドが高い割には知識が怪しいように思っちゃうなぁ。
495デフォルトの名無しさん
2020/11/20(金) 22:40:35.67ID:aJFtJ7NQ
>>492
投げた質問が返ってくるまでその質問タスクしか処理できないなんてありませんよ・・
あなたはそうなのかもしれませんけど

>>493
その程度の読解力やレッテル貼りするような人格だと苦労しそう
お察しします
496デフォルトの名無しさん
2020/11/20(金) 22:43:05.19ID:abuyzRZn
>>481
個人のポリシーでしかないから押し付けるつもりはないが
内包表記も関数型言語からの取入れであり可読性の悪いコードになる
何せコードを右から読まなくてはいけないからね
よって自分は先のmapとこの内包表記は極力使わないようにしてる
forとifとappendでリストにまとめるスタイルが一番しっくりくる
497デフォルトの名無しさん
2020/11/20(金) 22:43:14.36ID:8FBZ4Sqf
>>474
gitの話が簡単でない用途の例ってますます分からん

"gitで管理するレベルのモジュール"??
管理しないモジュールがあるの?
ファイル1個追加するだけっしょ?
498デフォルトの名無しさん
2020/11/20(金) 22:48:59.72ID:aJFtJ7NQ
>>494
>importは必ずプログラムの頭に書かなくてもいい
importの場所は主題ではないですよ
そのobjはどこでどうやって成型した・するのでしょうか

>信頼できるのか
繰り返しになりますけど、ただのJSON文字列同等の用途で使っている
という理解だからです
繰り返しになりますが、そうではない、と思うなら普通にjsonモジュールを使っています

個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
499デフォルトの名無しさん
2020/11/20(金) 22:50:34.06ID:Y24NtUEO
>>496
どこまで複雑な内包表記を認めるかというのは、仰るとおりポリシー次第なところはあるね。
3重内包表記ぐらいまでは書くことあるけど、書くときはノリノリで書いてシンプルに纏まったぜ、やった、って思っても、
後で2重目のループの処理を修正したいときに地獄を見ることがあったりするのは事実。
内包表記はその存在自体がややこしいので一切認めません、というのもポリシーとしては普通にありだと思う。

関数型言語からの取り入れという事実を後押しする形になるのだが、
数式を読み慣れてると、内包表記やmapは数式に近い形なので、逆に可読性は悪くない、と思うケースも多いのだよなぁ
リストの中身を2乗して全部足すみたいな場合とかね。forループで手続き的にやる方が見通しが悪くなると個人的に思う。
500デフォルトの名無しさん
2020/11/20(金) 22:58:01.95ID:Y24NtUEO
>>498
status = 200
error = None
とかいう値が入ってるとして
__import__('json').dumps({'status': status, 'error': error})
で終わりなんだけどな
result_obj = {'status': status, 'error': error}
__import__('json').dumps(result_obj)でもいいし
もちろん
__import__('json').dumps({'status': 200, 'error': None})
でもいい

JSONを書き出すのに、「文字列」なんて概念を持ち出す必要がないのよ
dictがそのままjsonモジュールで妥当なJSONになって各言語のパーサーでそのまま解釈できると考えておしまい
だから、いちいち妥当でない可能性のある「文字列」の状態を考えたくない
501デフォルトの名無しさん
2020/11/20(金) 22:58:07.55ID:GCIXM+fw
>>475
某言語では
s split("S") map(size) max println
502デフォルトの名無しさん
2020/11/20(金) 22:59:54.94ID:HBV8TmEn
一連のやりとり見てこれを思い出した
ほんとなんで自信満々なんだろう?

「staticおじさん」はなぜ自信満々なのか
https://xtech.nikkei.com/it/atcl/watcher/14/334361/122100450/
503デフォルトの名無しさん
2020/11/20(金) 23:02:30.97ID:aJFtJ7NQ
>>500
いやだから(一つとして)その
>とかいう値が入ってるとして
の行数の話をしているだけですよ
statusが500のとき、errorに何かしら入れるとき
どうしますか?っていうだけの話
504デフォルトの名無しさん
2020/11/20(金) 23:07:40.26ID:Y24NtUEO
>>503
え、マジでわからんの?
statusが500だったりerrorになんか入っているときも書き方同じじゃん?
じゃあさ、formatを使う場合と__import__('json').dumpsを使う場合でコードを並べて、
formatの方がここが優れていると教えてくれよ。
逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、formatだと余計なエスケープ処理が入ると思うけどなぁ。
505デフォルトの名無しさん
2020/11/20(金) 23:10:29.05ID:P/qrHO+P
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル | Udemy
https://www.udemy.com/course/python-beginner/
506デフォルトの名無しさん
2020/11/20(金) 23:12:44.36ID:998hZ133
>>481
ナゼこう左から右へと流れるように書けないのかと悩むこと小一時間、

 s.split(’S’).map(len).max()

>>478,496 に賛同するに至る

 >>478
 > プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
 >>496
 > forとifとappendでリストにまとめるスタイルが一番しっくりくる

これぞPythonスタイルなり
507デフォルトの名無しさん
2020/11/20(金) 23:17:41.85ID:wMzkLTJS
>>495
> その程度の読解力やレッテル貼りするような人格だと苦労しそう
レッテル貼り?
質問の内容から判断してるんだけど?
読解力とか意味わからんしw

> お察しします
人の事を心配するレベルじゃないことを自覚したほうがいいと思うぞ…
508デフォルトの名無しさん
2020/11/20(金) 23:20:59.09ID:Y24NtUEO
>>506
C#のLINQみたいにmapとかmaxとかをリストやジェネレータのメソッドとして追加できたらその書き方も出来るのだろうね。
実際、pandasやnumpyでは当該ライブラリで用意しているクラスではそのような書き方ができるような配列ライクなクラスを用意している。
Python言語が生まれた時期が微妙に古いというのが不自然な文法に影響しているかもね。
習いたての頃は、なんでarr.len()じゃなくてlen(arr)なんだ、って思ったもの。
509デフォルトの名無しさん
2020/11/20(金) 23:26:46.17ID:aJFtJ7NQ
>>504
もう上の方で書いてます
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
result_obj = {'status': 200, 'error': None}
__import__('json').dumps(result_obj)
__import__('json').dumps({'status': 200, 'error': None})

>逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、
入らない用途なので自分の環境下では問題ありません
510デフォルトの名無しさん
2020/11/20(金) 23:34:39.47ID:uMSrjpcB
>>509
このスレの人間にはあなたの質問のレベルが高すぎると思うんですよ

https://www.python.jp/pages/pythonjp_discord.html
ぜひお越しください
511デフォルトの名無しさん
2020/11/20(金) 23:37:51.38ID:Y24NtUEO
>>509
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")

__import__('json').dumps({'status': 200, 'error': None})
を比較して、前者のほうがスマートだと感じるなら、
他の人にも散々指摘されてるが、あなたはおそらく殆どの人が同意できない感覚の持ち主だろう
ゴーイングマイウェイで頑張ってくれ、ぶっちゃけ一緒に仕事はしたくないが

会社の経理のおばちゃんが、計算ミスばっかりするからどうしてかと思ったら、なんと算盤使って紙に向かって計算してて、
「頼むからExcel覚えてExcelでやってくれ」ってお願いしてるんだけど、「私は算盤が得意だからいいの!」って言われてる感じ
512デフォルトの名無しさん
2020/11/20(金) 23:42:08.20ID:aJFtJ7NQ
>>511
例えばstatusコードを複数吐くとき
どうなりますか
res = '{{"status":{},"error":"{}"}}'
res.format(201,"null")
res.format(202,"null")
res.format(203,"null")
res.format(204,"null")
res.format(205,"null")
__import__('json').dumps({'status': 201, 'error': None})
__import__('json').dumps({'status': 202, 'error': None})
__import__('json').dumps({'status': 203, 'error': None})
__import__('json').dumps({'status': 204, 'error': None})
__import__('json').dumps({'status': 205, 'error': None})
513デフォルトの名無しさん
2020/11/20(金) 23:48:08.89ID:Y24NtUEO
>>512
複数回出すなら、
import json
json.dumps({'status': 201, 'error': None})
json.dumps({'status': 202, 'error': None})
とするだろうけど
本当に多いなら
res = lambda s, e: json.dumps({'status': s, 'error': e})
res(201, None)
res(202, None)
短く書くというのが目標ならlambdaでもまだ意図は明確だしformatより短いよ。
514デフォルトの名無しさん
2020/11/20(金) 23:59:39.49ID:aJFtJ7NQ
>>513
'{{"status":{},"{}":"{}"}}'
を書いてみてください
515デフォルトの名無しさん
2020/11/21(土) 00:01:48.28ID:TffSxZDq
>>514
ここまで示されててわからんの?煽るだけじゃなくて勉強しようよ。
res = lambda s, k, v: json.dumps({'status': s, k: v})
res(500, 'error', 'hoge')
516デフォルトの名無しさん
2020/11/21(土) 00:11:54.22ID:RHs1PlgB
>>515
ありがとうございます
キー名はそのまま代入できたのですね!
自分が書いたjson.dumpsを使った方ではlambda式では長くなってしまい
結局formatでいいか、みたいな経緯がありました
あとは辞書の結合やショートカット機能使えない環境化をでも使ってみたいのでそのあたりを工夫してみようと思います!
517デフォルトの名無しさん
2020/11/21(土) 00:15:10.92ID:TffSxZDq
えぇぇ、
いやまぁ納得してもらえたならいいけど、、、
良かったね
518デフォルトの名無しさん
2020/11/21(土) 01:07:30.25ID:v5QqbOTJ
そうか
lispのコードをさんざん見てきた私は
内包表記もmapも普通なんだけどな
分かりにくい人がいるというのを認識した
519デフォルトの名無しさん
2020/11/21(土) 01:09:15.76ID:5FVo37Wp
普通にhttpレスポンスを生成する関数の中でモデルをjson化してれば
json.dumpsのところだけをlambdaにしたいなんてことにはならないと思うんだけどなぁ
520デフォルトの名無しさん
2020/11/21(土) 06:50:26.86ID:XFVQeQAy
>>501はlispなん?
すげーな
原始的な言語だと聞いていたけど、splitもmapもあるじゃん
521デフォルトの名無しさん
2020/11/21(土) 07:22:59.30ID:Va5Vhbzu
こんにちは。

pandasのdataframeのデータから、別途用意されたカラム名リストの
カラムだけ取り出す方法をご教授願います。

例:

df

はa~zの列がある。

list = ('d', 'g', 'h')

にあるカラム名の列だけ取り出したい。

(listの中身はその都度変わって数も多い。)

よろしくお願いします。
522521
2020/11/21(土) 07:40:18.66ID:Va5Vhbzu
リストは()じゃなくて[]でした。
523デフォルトの名無しさん
2020/11/21(土) 07:54:32.25ID:v5QqbOTJ
>>520
lispのmapとsplitが便利だから
それ以後の言語には持ち込まれたわけで
524521
2020/11/21(土) 08:22:43.36ID:Va5Vhbzu
自己解決しました。

data = df[df.columns.intersection(list)]
525デフォルトの名無しさん
2020/11/21(土) 10:37:59.41ID:TffSxZDq
>>524
細かいことだが、
listという名前は上書きしないほうが良い(list関数が使えなくなる)
のと、
listの要素がcolumnsに必ず含まれているのが保証されるなら、
data = df[list]だけでいけるよ
526440
2020/11/21(土) 12:18:46.35ID:jQLdetle
VSCode で、Microsoft の拡張機能を入れてない香具師とか、
git のプルリクを知らない香具師とか、
JSON ではなく文字列を結合する香具師とか、問題外

文字列の結合を認めたら、SQL・HTML タグを文字列で書いたりして、SQL インジェクションされる

新技術を学べない、老害に多い

日本人は植物油を多く使うから、脳にアミロイドが貯まって、新しく記憶できない。
全員が痴呆症w
動物油なら、こういう事はない

プルリクもKENTA が言ってるから、マコなりの学校にも、グループ学習がある。
グループ学習やっていない香具師は、採用されませんって。
でも、高い授業料を払って、グループ学習する意味はないと反論する人もいる

Ruby on Rails なんて、Rails Way・レールに乗る。
我流・レールに乗っていない方法は、すべて却下される

YouTube で有名なRubyist、伊藤淳一の動画でも、コードレビューしてる
527デフォルトの名無しさん
2020/11/21(土) 12:47:45.12ID:TffSxZDq
今どき香具師なんて言葉使ってるのが老害
528デフォルトの名無しさん
2020/11/21(土) 14:41:23.41ID:sC5Fd4g2
少し上の過去レスを追うこともできない古い人間 >439
529デフォルトの名無しさん
2020/11/21(土) 16:32:50.83ID:RuZftilT
macOS での python の質問もここで良いのですか?それとも他に板やスレがありますか?
530デフォルトの名無しさん
2020/11/21(土) 18:06:02.09ID:9ThAje8p
>>527
ルビ厨の相手すんなよ…
531デフォルトの名無しさん
2020/11/21(土) 19:18:21.04ID:G/gsSEBM
ガイジはガイジ仲間を見つけると相手をしたくなる
532デフォルトの名無しさん
2020/11/21(土) 20:56:16.84ID:a8Ztm65P
>>529
初心者の質問板
533529
2020/11/21(土) 23:22:52.56ID:yoIvpsjT
>>532 その様な名前の板は今はないようです。

色々と探しましたが、他に適当な場所がなさそうなのでここで質問させてもらいます。

http://codepad.org/4R0nolza

の python コードが linux や FreeBSD では正常に動くのですが、macOS では動きません。
問題なく起動してウインドウは表示されるのですが、"Run" ボタンを押すと、
----------------------------------------------------------------
gi.repository.GLib.Error: g-io-error-quark: 子プロセス“/bin/ls”の起動に失敗しました: Failed to fdwalk: Too many open files in system (0)
----------------------------------------------------------------
となり機能しません。
理由や解決方法が分かる方がいましたら、よろしくお願いします。
pygobject3 と gtk+3 は brew install してあります。
maxfiles は 256 から 500000 に増やしても変わらないので関係ない様に思います。
macOS を持ってる方が居ましたら、同じ様に動かないか、試して貰えると助かります。危険なコードではないです。
534デフォルトの名無しさん
2020/11/22(日) 00:11:27.43ID:XUuDe+rV
>>533
ググると出てくるよ
https://gitlab.gnome.org/GNOME/vte/-/issues/296
535デフォルトの名無しさん
2020/11/22(日) 00:29:35.12ID:XkZ25nA+
>>533
初心者の質問
https://matsuri.5ch.net/qa/
536529
2020/11/22(日) 03:46:53.92ID:cFZbur5B
>>534
情報どうもです。なるほど、バグでしたか。では、待てば治りますかね。
そうとは知らず、だいぶ時間を費やしてしまった。。。
537デフォルトの名無しさん
2020/11/22(日) 16:28:51.73ID:G9NcntIf
>>129
MACの一部のプログラムはpythonで動いてて、それが昔から変わってないからなはず
だからアンインスコするとOSが正常動作しなくなる場合があるので注意
538デフォルトの名無しさん
2020/11/22(日) 19:43:13.90ID:ybcOLacK
>>518
lispの内包表記って、どんなの?
539デフォルトの名無しさん
2020/11/22(日) 19:57:14.75ID:8S0A0EeS
>>538
https://docs.python.org/ja/3/tutorial/datastructures.html#list-comprehensions
540デフォルトの名無しさん
2020/11/23(月) 07:17:21.35ID:xSj92hSq
Common Lispのloopマクロのことかな
多重ループの動作とか違うけど
541デフォルトの名無しさん
2020/11/23(月) 13:04:17.83ID:jG27y6sh
javascriptとpython行ったり来たりすると変数宣言つけ忘れるのいらっとする
542デフォルトの名無しさん
2020/11/23(月) 16:16:30.12ID:8ahwCiT0
俺もjavascriptというかGASと行き来してるんだがセミコロンの有無とかごちゃごちゃになる
543デフォルトの名無しさん
2020/11/23(月) 17:33:21.21ID:QPYZ0Uk0
質問です
古いバージョンのPython(3.6など)と新しいバージョンのそれ(3.9など)が
同じパソコンにインストールされている時に、
バージョンを指定してコマンドプロンプトで起動するには
どうすればよいでしょうか?
544デフォルトの名無しさん
2020/11/23(月) 17:47:33.05ID:I3+EYDwP
>>543
起動したいバージョンの方が先にくるように環境変数を書き換える
545デフォルトの名無しさん
2020/11/23(月) 18:13:44.52ID:hekS2Nxq
>>543
フルパスで起動する
546543
2020/11/23(月) 18:24:55.81ID:QPYZ0Uk0
>>544
>>545
分かりました
ありがとうございました
547デフォルトの名無しさん
2020/11/23(月) 19:38:33.80ID:ILFQzaXV
py launcherにチェック入れてインストールしてあるなら
py -3.6 ~
py -3.9 ~
のようにバージョン番号指定で起動できる
548デフォルトの名無しさん
2020/11/23(月) 20:56:03.18ID:uZZUCgAn
>>543
Windowsならpy -3.6 もしくはpy -3.9で起動できる
仮想環境もpy -3.9 -m venv envでつくれる
549デフォルトの名無しさん
2020/11/24(火) 04:18:20.78ID:FGR0jZQZ
>>548
  >>547してないと、それむりくね?
550543
2020/11/24(火) 19:13:50.73ID:HZvvV0Lc
やってみたら出来ました
答えてくれた方、ありがとうございました
551デフォルトの名無しさん
2020/11/24(火) 19:14:13.91ID:FWk6XcjL
なんで相対Importこんな癖強いの
552デフォルトの名無しさん
2020/11/24(火) 19:22:37.02ID:1r1WUQcO
pythonのimport周りはガチでゴミ
553デフォルトの名無しさん
2020/11/24(火) 20:20:37.92ID:FWk6XcjL
同じ階層なら何も引っかからずにすんなり通るのに(´・ω・`)
554デフォルトの名無しさん
2020/11/24(火) 23:51:24.27ID:rjI7LKiS
カタカナの伸ばし棒がすべて半角ハイフン-になっているとして
・コ-ヒ- → コーヒー
・コ-ヒ--砂糖入り- → コーヒー-砂糖入り-
・カフェオレ-ミルク- → カフェオレ-ミルク-
こういうのってPythonで可能?規則性がない場合出現しうるあらゆる単語を手動で対策しないと無理かな
-の前がカタカナなら伸ばし棒に変換ってので単語としては成立するけどカフェオレーミルクーはお手上げ
555デフォルトの名無しさん
2020/11/24(火) 23:55:11.19ID:NI0G1gzk
>>554
正規表現をご存知でない?
556デフォルトの名無しさん
2020/11/25(水) 00:20:42.57ID:e2GmmQnc
規則性ないから辞書がないと無理でしょ
カフェオレーミルクーというメニューがないと知らないといけないから
557デフォルトの名無しさん
2020/11/25(水) 08:50:41.22ID:F6rJOYse
言語の問題でない気がするが・・・556に一票。
558デフォルトの名無しさん
2020/11/25(水) 09:34:58.20ID:RkyjIoNj
>>554
>カフェオレ-ミルク-
これはどういうこと?カフェオレにさらにミルクが入ってるの?
それとも、カフェオレとはコーヒーにミルクが入ったものですよっていうこと?
その辺が曖昧だよね
559デフォルトの名無しさん
2020/11/25(水) 10:12:51.09ID:BL1+yQyO
主題副題分割なら、まずは全部の箇所で分割して、
コ -ヒ-
これはハイフンを閉じ括弧の亜種として対になってるから第一次判定に合格、
そしてコが主題でヒが副題、
しかし文字数判定であり得ない(主題副題共に1文字)から、主題でなければ副題でも無い、とすりゃいい

***

1 コ -ヒ--砂糖入り-
2 コ-ヒ --砂糖入り-
3 コ-ヒ- -砂糖入り-
4 コ-ヒ-- 砂糖入り-

1番はそれっぽいが「ハイフンは二つ重ならない」というルールで却下
2番も「副題主題はハイフンからは始まらない」として却下
4番は問題外
残るは3番は副題のハイフンが括弧対を形成しているので合格
560デフォルトの名無しさん
2020/11/25(水) 10:20:06.38ID:BL1+yQyO
丁度いいのがあった
フル-ル・ド・ラパンのハ-ブティ--ローズヒップ-
くだすれPython(超初心者用) その51【まず1嫁】 YouTube動画>8本 ->画像>5枚
561デフォルトの名無しさん
2020/11/25(水) 10:25:03.24ID:DoFzLzHw
後ろの-砂糖~-とかのパターンは限られてそうだから、
こんな感じでだいたいはできないかな?
(?<!-)-(?!($|[ミ砂]))
562デフォルトの名無しさん
2020/11/25(水) 10:55:23.79ID:BeZXjuPe
11/20

Python の無料動画の神、キノコードの37分の新動画が出てる。
たぶん、以前の各動画をまとめたものだと思う

【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう!

563デフォルトの名無しさん
2020/11/25(水) 12:29:17.61ID:Eovv5MKD
>>559
炭酸コ-ヒ--クリ-ム-
はどうするよ
564デフォルトの名無しさん
2020/11/25(水) 12:54:47.49ID:Eovv5MKD
C-1000タケダ-ミルク-はどうするよ
565デフォルトの名無しさん
2020/11/25(水) 13:06:14.77ID:BL1+yQyO
どうにかするルールを考えればいいじゃん

でも今回は、
炭酸コ-ヒ--クリ-ム- は「ハイフンは二つ重ならない」のルールで何とかする
C-1000タケダ-ミルク- は「主題副題が短すぎる」のルールで何とかする
566デフォルトの名無しさん
2020/11/25(水) 13:17:21.18ID:BL1+yQyO
主題副題分割なんだから、多分こういうのも念頭にあるんじゃないのか
ギャラクシ-エンジェル-激レアフォ-チュンクッキ--
本当のところの用途は知らんけど
567デフォルトの名無しさん
2020/11/25(水) 13:22:18.15ID:bqcTiXDb
本当の用途は歌手名/曲名なんじゃないか
あと炭酸コーヒーは美味しくないから法で規制した方がいい
568デフォルトの名無しさん
2020/11/25(水) 13:50:19.95ID:B0nrdhk4
プリティ-プロジェクトの孤高のビュ-ティ-プリンセス、るかにゃんこと姫乃川琉歌のクリスマスライブ衣装-にゃっぱれ恋泥棒バ-ジョン-

ちょっと規則性見いだせなかったわ
569デフォルトの名無しさん
2020/11/25(水) 14:22:40.62ID:BL1+yQyO
「装-」の「(漢字)ー」のパターンは無いとしていい
漢字の後に長音が続くパターンだ

すると、それはハイフンでなければならない
さらに、それが末尾でないなら、対括弧の開始ハイフンになる
570デフォルトの名無しさん
2020/11/25(水) 14:26:29.69ID:s/U6WABr
終ー了ーw
571デフォルトの名無しさん
2020/11/25(水) 14:31:59.92ID:BL1+yQyO
1、主題副題の文字数が短すぎる
2、副題の後に文字があるパタンは実は副題ではなく、全文は分割できない
 つまり、閉じ括弧相当のハイフンの後に文字は来ない、故に分割してはならない
572デフォルトの名無しさん
2020/11/25(水) 15:47:17.11ID:RoX/Ogzq
ゴ-ヤ-チャンプル-
ゴ-ヤ-マ-ボ-
ゴ-ヤ-マヨバタ-

ゴーヤ-チャンプル-、ゴーヤ-マーボ-、ゴーヤ-マヨバタ-なのか
ゴーヤーチャンプルー、ゴーヤーマーボー、ゴーヤーマヨバターなのか

どちらとも取れる単語がある限りは辞書使っても100%は無理なので
おおよそいけそうなルールを自分で決めてあとは諦める
573デフォルトの名無しさん
2020/11/25(水) 17:08:34.67ID:CO7swdP4
コーヒーくらいジャンルが限定されてれば末尾がーのものも限られるだろうからコーヒーとか特定ワードで引っ掛ければと思うがノンジャンルなら厳しいかもね
574554
2020/11/25(水) 19:06:50.76ID:Sppz/PEX
いろいろレスサンクス
やはり当初の作戦通りン以外のひらがな、カタカナの後は伸ばし棒で基本処理するよ。
クリ-ム、ミルク、ローズヒップの後は-にすると、手前に来る単語で徐々に狭めていく。ジャンルが近い頻出単語はこれで潰せる
>>572こういうのがほんとに厄介、どちらの可能性もある単語。もう入力した本人に聞くしかないレベルのものとかもある
人間が判断するようなことをPythonにやらせるのはやはり難しいか
575デフォルトの名無しさん
2020/11/25(水) 19:11:55.38ID:nXT1AK4P
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

強姦と窃盗するために生きてるゴミw
クソチョンw
576デフォルトの名無しさん
2020/11/25(水) 19:17:52.71ID:KvQs2Dst
>>574
人間だって前提知識(単語力)がないと困るところだろJK
577デフォルトの名無しさん
2020/11/25(水) 20:32:05.96
全部googleに投げて「もしかして」を拾えばいいのでは
578デフォルトの名無しさん
2020/11/25(水) 20:34:43.45ID:zD7zhP2P
ぼく「google死ね」
google「もしかして:お前が死ね」
579デフォルトの名無しさん
2020/11/25(水) 20:44:05.71ID:YGLcy80q
Pythonこそこういうの得意なんじゃないの
機械学習的なやつで
580デフォルトの名無しさん
2020/11/25(水) 20:50:30.10ID:V89kYTjd
本件のように、一件の間違いも許されないデータ処理に機械学習は適さないと思う
581デフォルトの名無しさん
2020/11/25(水) 21:40:05.68ID:7hZTXx85
半角スペースでも入れてくれりゃ楽なのにな
582デフォルトの名無しさん
2020/11/25(水) 21:47:27.42ID:Sppz/PEX
>>579
自分も機械学習ってそういうもんなのかと思ってた
いまだに機械学習がなんなのかもわからんし使ったこともない
583デフォルトの名無しさん
2020/11/25(水) 22:14:39.20ID:e2GmmQnc
>>580
そもそも人間でも正答率100%じゃないこの手の問題は機械学習向けでしょ
ゴーヤーチャンプルーは沖縄料理だから日本人大体知ってるけど、人によるし、
マリ-ゴールド-コ-ヒ-とかだと、
マリ・ゴールド・コーヒーという名前のものがあるのかないのかで全然答え変わってくるし、
判定者(判定システム)がそういう名前のものがあるかないのかは知りようがないのでは?
まあ、どうしてもルールベースもやってくれ、と言われたなら仕方ないからルールは考えるけど、
辞書や機械学習なしにやるのは筋悪案件なのには変わりない。
584デフォルトの名無しさん
2020/11/25(水) 22:47:17.02ID:GINPOaUE
答え(勝ち負けとか正解不正解)が分からなければ機械学習出来ない
何か機械学習を勘違いしてない?
何千何万何百万と間違って最適化していくのが機械学習
正解不正解の判定が出来なければ学習不可能
答えが分かるならこの問題は解決する
学習型spamフィルタみたいに人が教え込んで辞書なりフィルタ定義を構築していくのは機械学習とは違うぞ
585デフォルトの名無しさん
2020/11/25(水) 23:15:22.99ID:7hZTXx85
機械学習でやってみたら少し面白そうなテーマではある
'-'が'-'なのか'ー'なのかを間にある文字同士の結びつきで当てる分類タスクになるのかな
586デフォルトの名無しさん
2020/11/25(水) 23:47:21.82ID:zhDDaAJr
>>580
>>572みたいな表記揺れがあったらどうしようも無いだろ
正解すらあるかないかわからんのに間違いが許されないって言われても困るw
587デフォルトの名無しさん
2020/11/26(木) 00:12:14.66
raiseした直下ってreturnとかbreakとか必要?
588デフォルトの名無しさん
2020/11/26(木) 00:27:20.76ID:IMBwVNgm
本について質問です
友人にPythonスタートブックを勧められたのですが、
他にも良い入門書ってありますか?
589デフォルトの名無しさん
2020/11/26(木) 00:38:20.52ID:Ahy8UMnM
>>588
おすすめの本じゃないが
自分は市の図書館で入門書を5冊くらい借りて覚えた
個々人で合う合わないあると思うが数でカバーできる

買おうと思ってる本も図書館にあるなら借りてみるといい
590デフォルトの名無しさん
2020/11/26(木) 01:03:27.64ID:nrM3g88W
図書館使う人とかあまり好きになれない。身銭使って学べない奴は薄っぺらいんだよなあ。
591588
2020/11/26(木) 01:04:05.68ID:IMBwVNgm
>>589
ありがとうございます
検討してみます
592デフォルトの名無しさん
2020/11/26(木) 01:31:10.09ID:MXca/5hQ
>>589
pythonは人気がありすぎて、図書館で借りようにも、なかなか読めないよw
まぁ、多言語経験者なら公式ドキュメントを読んだほうがよほどためになるとおもうし、
わざわざ自腹きって本を買って読まなきゃならないものでもないな。
立ち読み程度で十分。
593デフォルトの名無しさん
2020/11/26(木) 01:31:12.38ID:X4oHX3Yn
>>584
スパムメールのベイジアン学習も機械学習の一つの手法だと思うが
違うとしたら境目はなに?
大体、「答えが分からなければ機械学習できない」と、「人が教え込んでいくのは機械学習じゃない」は矛盾してない?
594デフォルトの名無しさん
2020/11/26(木) 02:02:57.72ID:KChL8khM
>>592
自分の住んでるところでも貸し出し中は多かったよ
貸し出し中でも貸し出し予約出来るが
貸し出し中じゃないものから選んで借りた
ネット経由で最寄りの図書館受け取りだし気軽に借りれる

最近は逆引き系の書籍を借りてみたがそこそこ使えそうなの購入検討中
595デフォルトの名無しさん
2020/11/26(木) 13:43:41.02ID:BC4iA6x5
>>590
別に金をけちるためと言ってるわけでもなく、図書館の正当な活用方法が何で気に入らないのか分からないが、お前のその決めつけも薄っぺらいものだと思うぞw
596デフォルトの名無しさん
2020/11/26(木) 13:53:40.08ID:jm3BjrWz
図書館を選ぶのは金をケチりたいからでしょ
597デフォルトの名無しさん
2020/11/26(木) 14:18:20.57ID:dGdApgXM
pythonの入門書とか時間と金の無駄
無駄なものにお金をケチって有意義なものにお金を使うのは賢い選択
598デフォルトの名無しさん
2020/11/26(木) 14:22:28.77ID:pWRU7DEh
そりゃPythonで食っていくぞーって人なら本買えよって思うけど、このスレはそんな人ばかりじゃないから
599デフォルトの名無しさん
2020/11/26(木) 14:23:24.62ID:ye1vQ6Qi
学び方は人それぞれ
本をじっくり読み込むスタイルが合う人もいれば、
キーボードを叩きながらPC画面で学べるオンライン学習サイトが合う人もいる
大切なことは毎日続けること
人は三日プログラミングから離れると、自分の書いたコードすら読めなくなる
600デフォルトの名無しさん
2020/11/26(木) 14:27:01.12ID:l+ppMWJa
オンラインにも情報転がってるし金を出す意味はない
時間は惜しみなく出せ
601デフォルトの名無しさん
2020/11/26(木) 15:41:49.21ID:nrM3g88W
愚者はそうやって時間を捨て老いていく。
賢者は金を払い、効率よく順序よく学びスキルを身につける。
602デフォルトの名無しさん
2020/11/26(木) 16:42:01.95ID:D+V6U/tS
本だけ買い揃えて満足してそう
603デフォルトの名無しさん
2020/11/26(木) 16:43:48.99ID:0+aT9pM+
典型的な積読バカがいると聞いて
604デフォルトの名無しさん
2020/11/26(木) 16:47:36.29ID:xBQH8cKm
本読む価値があるのって設計とかCSの本とかじゃないの
言語単体なら本買うより公式リファレンス見た方がマシ
605デフォルトの名無しさん
2020/11/26(木) 16:49:19.09ID:vejzC3OQ
自称賢者はカネさえ払えば効率が良いと考えているようだな
取捨選択すらできないで効率もへったくれもないと思うんだが
606デフォルトの名無しさん
2020/11/26(木) 16:50:37.84ID:ae4kcUSb
>>604
それだとEffective Pythonが読めないぞ
607588
2020/11/26(木) 17:11:15.74ID:IMBwVNgm
書き込みとかしたいのでやはり買うことにしました
図書館を勧めてくれた方ごめんなさい
SBクリエイティブの「Python超入門」にしました
608デフォルトの名無しさん
2020/11/26(木) 17:44:52.48ID:StrviZCw
私、本に書き込む人って嫌い
609デフォルトの名無しさん
2020/11/26(木) 18:17:13.29ID:nrM3g88W
>>605
初心の話をしてるだよ、右も左もわからない状態で取捨選択できるような人間少ないだろう。
多少過激な物言いをすると直ぐに時系列を理解しないこーゆう愚者が現れ恥を晒す。
610デフォルトの名無しさん
2020/11/26(木) 18:22:28.42ID:T0UZuAda
>>600
オススメのサイトとかある?
611デフォルトの名無しさん
2020/11/26(木) 18:24:27.19ID:ko8YYDT7
Pythonの入門書を選ぶのは結構難しいよな
とある事情で他人に勧める参考書を探しているのだけれども、
基本を押さえていて、リファレンス的になりすぎず、かといって変に応用だけやるみたいにもなっておらず、間違いがない本を探すのはかなり難しかった。
他言語の経験がある人なら公式チュートリアル読めで終わりなんだけどね
612デフォルトの名無しさん
2020/11/26(木) 18:41:18.80ID:fjpYUDuO
図書館にPythonの本は何冊かあるんだけど普通に10年前くらいのあるなぁ…
2015年出版とかの本は使えるのだろうか?
613デフォルトの名無しさん
2020/11/26(木) 18:42:37.49ID:YYN7U/8V
>>611
だから図書館で複数纏めて借りたんだけどね
筆者毎に薦める開発環境も入り方も全く違うから
自分に合うのが1冊あれば他は返却するつもりだったし
合うのが無くてもそれぞれ読み合わせるつもりだった
614デフォルトの名無しさん
2020/11/26(木) 19:11:36.57ID:l+ppMWJa
>>610
めちゃくちゃ叩かれそうだけど書く
paizaとqiitaを往復するのがいいと思う
paizaのスキルチェック受けながらわからないところを調べていく
pythonでなにか作りたいとかなければこれがベストなんじゃないかな
課題を与えてもうのはとても良いことだと個人的には思う
615デフォルトの名無しさん
2020/11/26(木) 19:20:10.25ID:zyTAEVOK
>>611
なにを勉強するにも入門書ってあうあわない+良し悪しがあってむつかしいねぇ

>>613
複数まとめて借りたってちゃんと最初からかいてたっけっか?
616デフォルトの名無しさん
2020/11/26(木) 19:24:22.04ID:YYN7U/8V
>>615
>>589で最初から言ってる
617デフォルトの名無しさん
2020/11/26(木) 20:18:23.65ID:zyTAEVOK
>>613>>589だったのか!!!
なんか勘違いしてたわごめん

ねるぽ
618デフォルトの名無しさん
2020/11/26(木) 20:25:58.77ID:Su7UQCea
>>609
だから自分で調べるなりここで聞けばいいだけだろ?
金出して教えを請うたりしたところで、大した違いはない
各種選択肢の中から結局自分で解決方法を選ぶことになるんだから

金出せば簡単にすむと思ってる輩には難しいのかもしれないけど、
自分でやろうとする気のないのは何やってもだめなんだよ
619デフォルトの名無しさん
2020/11/26(木) 20:48:24.82ID:nrM3g88W
>>618
論点がズレてるから絡まなくてよい。
読書はよい、このように思考がバグってる奴の相手をしなくてすむからな。洗練された筆者と時空を超えて対話するツールである。
620デフォルトの名無しさん
2020/11/26(木) 20:52:28.72ID:4zwvuqDK
>>619
賢者モード 乙
621デフォルトの名無しさん
2020/11/26(木) 21:55:47.46ID:H5c28v3A
自身がバグっていないと証明することは不完全性定理により不可能なんだっけ

賢い俺らは自身と外界の両方から情報を得てアップデートしていこうな!
622デフォルトの名無しさん
2020/11/26(木) 22:02:03.50ID:BC4iA6x5
>>619
高校生が背伸びして難しいことを言ってみたという感じかな?
623デフォルトの名無しさん
2020/11/26(木) 22:40:02.36ID:NeNbHCSj
>>614
paizaってスキルチェックなんかもあったんだ…知らなかったなぁ…ありがとナス!
624デフォルトの名無しさん
2020/11/26(木) 22:56:41.34ID:nrM3g88W
>>622
いいえ、アラフォーです
625デフォルトの名無しさん
2020/11/27(金) 13:46:54.91ID:m0c4MBXJ
>>619
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
( ( ( ( ( (゚∀゚) ) ) ) ) )ユンユンユーン
626588
2020/11/28(土) 12:23:46.13ID:bhBilOI2
この本コメントの書き方が載ってない… 信じられない…

まあ#で書くって知ってはいるけど
627デフォルトの名無しさん
2020/11/28(土) 18:52:16.51ID:duaGF17R
>>611
他の言語に比べると入門書の質が悪すぎると思う
628デフォルトの名無しさん
2020/11/28(土) 21:20:00.04ID:wikslLsj
>>627
わかる
質の低い入門書が量産されるのは
公式ドキュメントの質が低いから
629デフォルトの名無しさん
2020/11/28(土) 21:25:27.00ID:7MYLw5P/
マジか…Pythonは初心者にも分かりやすいって聞いて始めたんだけど…
630デフォルトの名無しさん
2020/11/28(土) 21:27:25.17ID:73Gx5wYa
純粋の母数の問題じゃねえか?
スタージョンの法則で90%はゴミ、
ただし業界のピラミッドがでかけりゃデカいほどクズ本は巷に溢れる
Haskell本の少なさを見てみろ

ネコも杓子もpython入門書を書いてる、
圧倒的なまでに量産されてる、
それが原因だ
631デフォルトの名無しさん
2020/11/28(土) 21:28:57.39ID:Qx/oNDgY
プログラミング自体の初心者が多いので、
畢竟、入門書もプログラミング自体の基礎から始める必要があるんじゃないかねぇ
632デフォルトの名無しさん
2020/11/28(土) 21:32:14.00ID:mMC1knSV
>>629
わかりやすいぞ
これほどわかりやすい言語は他にない
C・Java・JavaScript・Ruby・Go…これらの言語に挫折してきた俺がPythonだけは覚えられたからな
633デフォルトの名無しさん
2020/11/28(土) 22:26:16.41ID:FGpMIdZG
「みんなのPython」など、多くの本の質が低下した

なぜ、文法が減ったかと言うと、
Jupyter Notebook, Pandas など、ライブラリの説明が増えたから

一方、Ruby では「たのしいRuby」1冊で、十分に文法が説明されている
634633
2020/11/28(土) 22:36:37.55ID:FGpMIdZG
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

この2つ以外は、出てこない

最初に、Python, PHP を学べとは、絶対に言わない。
将来的に、Pythonをやりたいからと言って、Pythonから始めてはいけないって言ってる

つまり小学生が将来、大学へ行きたいからと言って、
いきなり大学の試験勉強から始めてはいけない

小学生は、小学生の勉強から始めなければならない。
次に中学生になれば、中学生の勉強をする。
そして高校生の勉強をする

つまり、勉強の順番が大切
635デフォルトの名無しさん
2020/11/28(土) 22:55:57.26ID:9//L8RlG
>>630
母数警察です👮🚓
母数は分母のことではありません
統計用語としてのparametersの訳です
詳しくはwikipediaなどを引いてみてください
636デフォルトの名無しさん
2020/11/28(土) 23:25:18.30ID:bhBilOI2
>>634
ま た お 前 か
637デフォルトの名無しさん
2020/11/29(日) 03:06:12.24ID:9kWt1Kcb
でたルビおじw
638デフォルトの名無しさん
2020/11/29(日) 10:04:01.50ID:GnQH3nQR
Python で デスクトップアプリwwww
とか言われてるの見て、違うんかなと思ってたけど、最近OKINI の MyPaint ってソフトのGITHUB みたらほぼ Python で書かれてたわ
ちゃんと快適に動作するんやね
PyQt とか、PyGTK とか、 Native Library をゴリゴリによんでるっぽいが、それが楽なのは良いよね
639デフォルトの名無しさん
2020/11/29(日) 14:49:24.35ID:EaJiwQmK
>>623
paizaスキルチェックは答えを公開してはいけない規約のせいで良いコードが見れない。
paizaスキルチェックはスキルを伸ばし終えた人が就職のためにやるものだと思う。

スキルを伸ばしたいならCheckiOで冒険するのがベストだゾ
https://checkio.org/

checkioでは問題を解いた後、Best Solutionsで他の人が書いたコードで高評価が多かったものが見れる。
そういうのを読んでいけばスキルが向上していくと思うわ。
640デフォルトの名無しさん
2020/11/29(日) 15:42:13.31ID:nZSW4pQM
じゃあ最初からいいモノだけを見せて純粋培養すればもっと効率よくなるじゃん
自分で解くだけ時間の無駄じゃん
641デフォルトの名無しさん
2020/11/29(日) 16:31:12.91ID:krdYa2S6
インプットとアウトプットは別物だからなぁ
642デフォルトの名無しさん
2020/11/29(日) 17:49:42.57ID:yRBxHDUY
AtCoderでいいかな
643デフォルトの名無しさん
2020/11/29(日) 17:59:19.66ID:QDwVKtUj
>>610
<5分で始めるクリップボードにコピーしたテキストを検索>
退屈なことはPythonにやらせよう編

#! python
import webbrowser, sys, pyperclip
if len(sys.argv) > 1:
# この下の1行は半角スペース4個分あけてから書く(半角スペースを開けなかった時のエラーメッセージは"IndentationError: expected an indented block")
keyword = ' '.join(sys.argv[1:])
else:
# この下の1行は半角スペース4個分あけてから書く
keyword = pyperclip.paste()
# ttpsをhttpsに変更して使ってね
webbrowser.open("https://www.deepl.com/translator#xx/ja/" + keyword)
webbrowser.open("https://stackoverflow.com/search?q=" + keyword)
webbrowser.open("https://qiita.com/search?q=" + keyword + "&sort=like")
webbrowser.open("https://teratail.com/search?q=" + keyword)
webbrowser.open("https://www.google.com/search?q=" + keyword)
# https://duckduckgo.com/bang_lite.html

# Automate the Boring Stuff with Python > Chapter 11 – Web Scraping > Step 3: Handle the Clipboard Content and Launch the Browser
# https://automatetheboringstuff.com/chapter11/
# RUNNING PROGRAMS
# https://automatetheboringstuff.com/2e/appendixb/
# 翻訳版:退屈なことはPythonにやらせよう ――ノンプログラマーにもできる自動化処理プログラミング Al Sweigart 著、相川 愛三 訳
644デフォルトの名無しさん
2020/11/30(月) 12:39:15.63ID:79yVLdeW
Tweepyで3-leggedOAuth認証とAccessToken,AccessTokenSecretの取得方法教えて
645デフォルトの名無しさん
2020/11/30(月) 14:02:35.50ID:wCS2S4dQ
押忍
iniファイルの読み出しに付いて教えてほしいです

URLをブラウザからコピーするとURLエンコードされた状態でコピーされます
これをそのままiniファイルに貼り付けると、configparserで読み出すときにエラーになってしまいます

[example]
url = https://example.com/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
ini['example']['url']
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 1255, in __getitem__
return self._parser.get(self._name, key)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 799, in get
return self._interpolation.before_get(self, section, option, value,
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 395, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 442, in _interpolate_some
raise InterpolationSyntaxError(
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/'


今は仕方なく適当なサイトでURLデコードして貼り付けてますが、結構な手間です
手間かけずに巧くやる方法はないでしょうか

ちなみにデコードすると以下になります
https://example.com/あいうえお/abcdefg/
646デフォルトの名無しさん
2020/11/30(月) 14:06:29.94ID:mKaKPR0T
>>645
つurllib.parse.unquote()
647デフォルトの名無しさん
2020/11/30(月) 16:21:12.97ID:lAYyI3JE
>>645
config = configparser.ConfigParser(interpolation=None)

https://stackoverflow.com/questions/14340366/configparser-and-string-with/62592195#62592195
https://docs.python.org/ja/3/library/configparser.html#interpolation-of-values
648デフォルトの名無しさん
2020/11/30(月) 18:40:04.84ID:wCS2S4dQ
>>647
うぉぉぉ出来たぁぁぁぁ
こんどケツ貸すヨ
649デフォルトの名無しさん
2020/12/03(木) 22:55:54.00ID:KIgHVg2T
とあるサイトでrequests.postでうまく投稿ができない

ポストすると
投稿成功のときは”投稿に成功しました”
投稿内容が不正だったときは”投稿内容を確認してください”
というhtmlが返ってくる
pythonのrequestsから投稿するとこの”投稿内容を確認してください”が返ってくる

ブラウザ側でも試したところクッキーを消したときにだけ同じ投稿ミスになることは確定だが
”投稿に失敗しました”ではなく”投稿内容を確認してください”というエラー表示に糸口がありそうな気がする
s = requests.Session()でs.post()とやってみたけどやはりポスト内容が反映されていない
headersつけたりもしたけど同じ
ブラウザからajaxでの投稿には成功
パラメータを.encode("utf-8")したり
dataにjson.dumpsでやってもだめだった

他のサイトでは大抵sessionの問題だけで普通にrequests.postでできるけど
そのサイトではなぜか上で書いたようにいろいろやってもことごとく投稿ミスする
曖昧な情報しかだせないけど、他に考えられる要因があれば教えてください
どうせcookie周りの問題だと思うけどsession.cookiesで確認した内容と
ブラウザで確認したcookieにそう変わり無かったしお手上げ状態
650デフォルトの名無しさん
2020/12/03(木) 23:23:43.14ID:XMGdMuHX
>>649
フォームでノンス入ってんじゃないの?
651デフォルトの名無しさん
2020/12/03(木) 23:39:07.22ID:Glofd6fS
>>649
1. Chrome -> デベロッパーツール -> ネットワークタブを開いて成功するリクエストを投げる
2. ネットワークタブから該当のPOSTリクエストをCopy as cURLでコピる
3. ターミナルにペーストしてcURL使ってPOSTリクエストを投げる
(5chみたいに重複ではじかれる仕組みがあるならリクエスト内容を変えること)

まずはこれで切り分け
cURLでもリクエストが成功するなら
その内容を徐々に削っていけば最小限必要なものが何か分かる

でそれをpythonに実装する
652デフォルトの名無しさん
2020/12/03(木) 23:44:55.74ID:KIgHVg2T
>>650-651
パラメータは成功したものをそのコンソールでコピペしてるからタイプミスはないとして
そのパラメータも簡単で、idとnameとcommentとnonce(3文字の数字)だけだった
(リダイレクトもないタイプだったのでpreserve logする必要もなかった)
そのnonceに対応する値もパラメータには無かった
簡略して書くと文字通りこんな感じのパラメータをポストしてるだけだった
prm = {"id":"id","name":"name","comment":"comment","nonce":"123"}
(もちろん重複エラーを出されないようにポストするときにはポスト内容を変えて何回もテストしてる)
数字認証にもタイムアウトがあると思って、ブラウザでサイト開いて数字をメモしてpython側で投稿テストした

書いてて思ったけど、もしかするとその数字認証の数字発行のタイミングとセッションに関係性があるのかもしれない
(発行された数値から作られたcookieを使う必要?)ので
それで試してみる㌧
653デフォルトの名無しさん
2020/12/04(金) 00:11:56.59ID:V5csDP6P
>>652
Copy as cURLでCookie含むヘッダーも全部コピってくれる
パラメータだけじゃなく一連のHTTPのリクエスト/レスポンスを見るようにしないと原因わからないよ
654デフォルトの名無しさん
2020/12/04(金) 00:55:14.15ID:mbGy2PTH
>>653
すまn書き忘れたがそれでコピーしたヘッダーとかポストパラメータを整えて
まずajaxで投稿成功したものを、pythonにて(header設定の有無など)投稿テストしてる


とりあえず解決した
(python側のセッションと依存関係のない)ブラウザで開いた問題のサイトを開いて得た認証数字とcookieを使って
python側のrequestsでそのcookieを設定しつつその認証数字をpostしたところ
投稿に成功した
どうやらcookieと数字認証を紐づけしてセッションとして扱うという
そのサイトの仕様だったっぽい
ありやした
655デフォルトの名無しさん
2020/12/04(金) 03:07:55.96ID:2+VKdPy1
opencvのセットアップ本当にめんどくさくてワロタwww
散々漁った挙げ句ビルドツール揃えてgtkフラグ立てて自分でビルドしろとかなんじゃそりゃwwww
656デフォルトの名無しさん
2020/12/04(金) 08:25:51.51ID:hUNPjPlE
>>655
pip install opencv-python
でできない?
657デフォルトの名無しさん
2020/12/04(金) 09:52:22.67ID:AvYQsRML
cmakeとかlibなんちゃらみたいなのが入ってないとpipで入らない
658デフォルトの名無しさん
2020/12/04(金) 11:36:09.84ID:J43e5p8N
3.5サポート終了か

3.6終了されるとヤバいんだよなあ
深層学習の色んなモジュールで安定してるのが全部ダメになる
659デフォルトの名無しさん
2020/12/04(金) 12:12:28.38ID:QkN7upSm
>>655
これ走らせるだけだぞ
https://git.io/JIYVn
660デフォルトの名無しさん
2020/12/04(金) 18:19:21.77ID:huRYsfdX
Pythonは3.3のyield fromで完成した
それ以降はどうでもいい機能追加ばかりで言語の簡潔さが損なわれる一方だ
661デフォルトの名無しさん
2020/12/04(金) 18:36:46.19ID:cMvL3wzj
>>660
お前f-string使うの禁止な
662デフォルトの名無しさん
2020/12/04(金) 18:41:31.28ID:AvYQsRML
>>660
type hints使うなよな
663デフォルトの名無しさん
2020/12/04(金) 18:57:25.08ID:0C1YXDY5
趣味レベルでしかプログラミングしないから遅延評価?とかジェネレーター?って使ったことないわ
使いみちがイマイチ思い浮かばないんだけど何に使ってんの?
664デフォルトの名無しさん
2020/12/04(金) 21:48:57.69ID:vKhGRfH5
>>663
ジェネレーターはメモリ節約以外で使わんなぁ
665デフォルトの名無しさん
2020/12/05(土) 03:39:12.78ID:qj4AFT3z
遅延評価って、lazy getter みたいなのかと思ったら、yield のことか
666デフォルトの名無しさん
2020/12/05(土) 06:15:08.82ID:FCSL7Haz
ジェネレータは動作テストなんかで簡易的なステップ実行をさせる時に便利
コマンドラインでnext()を打つたびに一個ずつデータが返ってくるから
667デフォルトの名無しさん
2020/12/05(土) 10:13:37.67ID:gZAhFzLL
デバッガでステップ実行中すればいいだろ
わざわざコード書くのかw
668デフォルトの名無しさん
2020/12/05(土) 12:40:24.70ID:Na39OKS5
ブログ書いてたら彼女と無料で海外留学という名のデートに行けた話【影響力やばい】


若いうちから人を雇ったり、任せるクセをつけるべき理由とは?


【対談】インフルエンサーマーケティングに300万円突っ込んでみた結果...


収入を上げたければ、自分の影分身を作るべし


勉強のために10日間で21個のアプリを作った話【初心者時のプログラミング学習】


学校では教えてくれないことの中にはお宝が眠っている


ブロガーからステップアップしていくために必要なスキル

669デフォルトの名無しさん
2020/12/05(土) 13:28:53.84ID:ZDhFj9p4
今オブジェクト指向勉強してるんですが
同一クラスの中で関数の継承って出来ないんですか?
抽象化した関数を1つ定義してそこから継承して微妙に役割の違う関数をいくつか生やしたいんですが

class Hoge():
def abstract():
def concrete1(abstract):
def concrete2(abstract):
670デフォルトの名無しさん
2020/12/05(土) 13:34:53.57ID:v7lcL9sk
できない
関数の継承っていうのがよくわからない
671デフォルトの名無しさん
2020/12/05(土) 13:42:39.17ID:ZDhFj9p4
なるほど
それでは大本の処理は同じで細部だけが異なる関数を定義したい場合ってどう書けば良いんですか?
関数ごとに抽象クラス継承した新しいクラス定義するしか無いんですかね?
672デフォルトの名無しさん
2020/12/05(土) 13:45:09.96ID:En2ZUb0e
>>669
そういう時は関数を受け取る関数を1つ定義して
微妙に違う部分を引数として渡すことが多い
673デフォルトの名無しさん
2020/12/05(土) 13:46:47.29ID:3OUqO/Qz
Ruby では、lazy を付ければ無限配列も扱える

最初に、無限配列を実体化しない。
必要な所までしか演算しない

p ( 1..Float::INFINITY ).lazy.select{ |n| n.even? }.first( 3 )

出力
[2, 4, 6]
674デフォルトの名無しさん
2020/12/05(土) 14:28:45.82ID:IToZisS4
結局実装はイテレーター使うようなもんだろ。。そんなクソ機能どうでもええわ
675デフォルトの名無しさん
2020/12/05(土) 15:04:02.90ID:2CGyf7zj
>>672横レスだが
簡潔にして要点をおさえてるすばらしいレスage
676デフォルトの名無しさん
2020/12/05(土) 16:42:25.74ID:En2ZUb0e
>>674
そんなどうでもいいクソ機能はPythonにもあるんですけど・・・
677デフォルトの名無しさん
2020/12/05(土) 17:20:49.97ID:gZAhFzLL
>>674横レスだが
簡潔にして要点をおさえてるすばらしいレスage
678デフォルトの名無しさん
2020/12/05(土) 18:10:26.12ID:2n9rdHeb
関数を受け取ってちょっと処理をつけ足したり変更したりした
新しい関数を返すのって、それデコレータって機能の出番じゃないかな
勉強始めたけどちょっと難しくて一時挫折中の機能だわ
679デフォルトの名無しさん
2020/12/06(日) 11:47:20.63ID:Ki7zJHSL
>>678
デコレータは既存の関数を包む形で別の機能を追加するものなので意図がちょっと違う
メソッド横断的に共通して利用する機能を実装するときに使うのが一般的

@log(level=ERROR)
def foobar():

>>672はデザインパターンで言うテンプレートメソッドを高階関数で実装するやり方
680デフォルトの名無しさん
2020/12/06(日) 12:52:46.51ID:jZtFYDuX
筋がいいか分からんがメソッド名で引数調整するとか?

def func_core(self,format)
# 処理

def func_csv(self,*args,**kwargs)
kwargs['format']='csv'
self.func_core(*args,**kwargs)
681デフォルトの名無しさん
2020/12/06(日) 18:07:14.38ID:boBfQzjD
# get image pixel count using opencv
imgCV = cv2.imread(file_name)
height, width, channel = imgCV.shape

height, width, channel = imgCV.shape
AttributeError: 'NoneType' object has no attribute 'shape'

となるんですが、なんでだろう?
前はこのコードで動いていたように思うのですが・・・
682デフォルトの名無しさん
2020/12/06(日) 18:12:46.84ID:mEKOV6LG
>>681
まず1嫁
683デフォルトの名無しさん
2020/12/06(日) 19:14:40.59ID:SvaTNPrC
画像読み込みに失敗してる
たから、imgCVにNoneが入っている
684デフォルトの名無しさん
2020/12/06(日) 22:17:30.03ID:cg3234iv
python 3.7.9
win10
bs4
requests

データ収集中に発生した問題につきお答えいただければ幸いです

<span class =“calcHEADas1”>40</span>

上のようなspanという要素に囲まれた40というテキストがあります。そして下に書かれたものを実行すると空文字が返ってきてしまいました。確かに40というテキストはあるのになぜ空文字が返ってくるのでしょうか。同じ境遇の方いらっしゃいましたら是非知恵を貸していただきたいです。

s = soup.select_one('span[class="calcHEADas1"]')
print(span.text)
685デフォルトの名無しさん
2020/12/06(日) 22:36:23.87ID:mEKOV6LG
>>684
よくみてみそ
「"」と「“」と「”」は違う
686デフォルトの名無しさん
2020/12/06(日) 22:44:06.26ID:Ki7zJHSL
>>684
spanの後ろにスペース入れて[class=…]としてるから
spanより下位の要素でクラス名が’calcHEADas1’のものを探しにいってる

span要素のクラス名ならスペースを入れちゃだめ
CSSのルール
687デフォルトの名無しさん
2020/12/06(日) 22:49:17.73ID:cg3234iv
>>685
>>686

お二人方のご指摘通りでした。
恥ずかしい限りです…! 3年くらい勉強してまいります!!
勇気が出ました
688デフォルトの名無しさん
2020/12/07(月) 07:04:38.96ID:IkSRrVfT
解決報告乙
がんがれー
689デフォルトの名無しさん
2020/12/07(月) 13:08:18.23ID:LDzktyL7
全角文字が混じっているだろ。
半角英数字以外はダメ!

Ruby では、

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<span>xyz</span>
<span class="abc">あいう</span>
EOT

elements = doc.css( 'span[class="abc"]' )
puts elements.first.content #=> あいう
690デフォルトの名無しさん
2020/12/07(月) 16:08:47.46ID:ezb7MAV6
>>689
死ねキチガイ
691デフォルトの名無しさん
2020/12/07(月) 17:17:34.51ID:eJ2ObSAu
>>689
ニシキヘビに食われればいいんだ
692デフォルトの名無しさん
2020/12/07(月) 19:06:04.12ID:kUJZ7+dL
今loggingとtqdmで表示がぐちゃぐちゃになるから困ってて
調べたらカスタムハンドラー使えって出てきたんだけど
logging.confでcustom handlerを実装する方法ってあるのかな?

https://stackoverflow.com/questions/5346661/
693デフォルトの名無しさん
2020/12/08(火) 12:58:50.73ID:QO/1LqBg
ファイルパスのデータ列のデリミタは何が適切ですか?
カンマはファイル名に入力出来るからダメだし
コロンはドライブ名称にくっついてるからダメだし

ひとまず半角アスタリスクとかクエスチョンマークで妥協してますけどこれでいいんですかね?

パス1*パス2*...*パスn
のような感じです今
694デフォルトの名無しさん
2020/12/08(火) 13:10:57.97ID:qUjj4bQw
ワイルドカードと被るやん
セミコロンでよくね?
695デフォルトの名無しさん
2020/12/08(火) 14:02:18.54ID:lZ/QPFbs
unix系ではほんとの文字がファイル名に使えてしまうし
プラットフォーム依存したくないのなら何らかのエスケープした上で適当なデリミタ使えばいいんじゃね?
696デフォルトの名無しさん
2020/12/08(火) 14:33:43.81ID:CDSUfSjl
>>693
JSONやCSVなど適当なシリアライズフォーマットを選んで配列をシリアライズしましょう
単純な用途にオレオレフォーマットを再発明しても誰も得しないよ
697デフォルトの名無しさん
2020/12/08(火) 14:39:55.69ID:Xg+JZs6m
普通に、CSV で、カンマ区切りで良い

要素内に、列区切り文字(カンマ)・行区切り文字(改行)・クォート文字(")があれば、
クォート文字で囲まれるだけ

あ,"a,b"
いう, xy

ファイルに、: ; * などを使うと、バグる。
ハイフン・アンダーバーだけにしておくべき
698デフォルトの名無しさん
2020/12/08(火) 14:53:31.44ID:O6ovwbXJ
タブ区切りのTSVでいいんじゃないか
そもそも一行に繋げて書く意味あるのか
そしてここは5chなんで正式なデリミタは<>だ
699デフォルトの名無しさん
2020/12/08(火) 18:55:43.08ID:lpLUbgnY
>>693
普通にCSVでカンマかTSV(タブ区切り)でええやろ
別にファイル名にカンマが混じっててもエスケープするなり

むしろアスタリスクとか変なもん混ぜると後でくそっそ面倒だぞ
(アスタリスクなんて正規表現のワイルドカードと被るから、絶対に揉める)
700デフォルトの名無しさん
2020/12/09(水) 00:11:56.51ID:f0tiUfmU
質問です

統合開発環境を使うのと、
テキストエディタ+コマンドプロンプトで作業するのとでは
どちらが良いでしょうか?
701デフォルトの名無しさん
2020/12/09(水) 00:36:04.09ID:XzWvmoKM
>>700
目的、好み、能力などでどちらがよいかは人それぞれ

ただコマンドプロンプトという書き方をしてるところを見ると
IDEを使ったほうがよさそうに思える
702デフォルトの名無しさん
2020/12/09(水) 01:10:02.17ID:/cMUVFNS
Python入門者ってわけじゃないならPyCharmが開発しやすい
とりあえずやってみたいって感じならAnacondaでJypyterNotebook
VSCodeでやりたいならVSCode
703デフォルトの名無しさん
2020/12/09(水) 01:26:35.17ID:jODQKuwy
I Don't Like Notebooks (by Joel Grus)
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/
704デフォルトの名無しさん
2020/12/09(水) 08:10:15.18ID:psoc2su5
プログラミング完全初心者で、初めて学ぶ言語がpythonです。pycharmを使って勉強しています。
指定された任意の時間で動作するプログラム(アラームのようなもの)を作っており、自分のPCでは期待通り動く状態まで持っていくことが出来ました。
これをネット上で公開して不特定多数の人に使ってみてもらいたいと思うのですが、ここから先何を勉強・用意すれば良いのかアドバイス頂けると幸いです。
今一番わからないのは「pythonで書いたプログラムをどうやってweb上で動かすのか」という点です。

その他のポイントとしては
・プロのエンジニアを目指しているわけではないが、ニッチな需要に応える簡素なサービスを作ってみたい
・xserverを使ってwordpressでブログを公開しているが、同じサーバーにこのプログラムを置けるのか?
・FlaskとかDjangoを使うべきなのか

以上、よろしくおねがいします。
705デフォルトの名無しさん
2020/12/09(水) 08:30:00.61ID:aEFgnzx2
693
皆さんありがとう
そっかタブとかもあるのかあ・・
706デフォルトの名無しさん
2020/12/09(水) 12:26:26.93ID:7lJYNuqP
>>704
ウェブサーバの知識が必要かな
王道なのはapacheかnginxだけど、pythonだけなら
python -m http.server
でウェブサーバになるから、そこに肉付けしていけばいい
707デフォルトの名無しさん
2020/12/09(水) 12:41:15.63ID:rIU0lDlE
中華からの謎の大量アクセスで一撃で落ちるけどな
708デフォルトの名無しさん
2020/12/09(水) 12:51:57.91ID:/MUc+cdS
>>704
鯖マシンにPythonをインスコするor最初からPython動くよっていってるレンタル鯖をかりる

やればぁー
置ける 704の設定次第
使えばぁー
709デフォルトの名無しさん
2020/12/09(水) 15:06:10.60ID:y7KEYUhD
ベンチャーでは、AWS, Ruby on Rails が多い

AWS Lambda, Batch などのサーバーレスとか
710デフォルトの名無しさん
2020/12/09(水) 15:53:48.69ID:psoc2su5
>>706-709
返答ありがとうございます。お教えいただいた点について勉強してみます。
711700
2020/12/09(水) 16:39:45.80ID:f0tiUfmU
>>700です
返信が遅くなってすいません
レスくれた方、参考になりました
ありがとうございました

Visual Studio CodeとAnacondaをインストールしようと思います
712デフォルトの名無しさん
2020/12/09(水) 19:43:21.29ID:oTqbLT2F
Pythonで競馬予想ソフト作りたいんですがどう勉強していけばいいですかね?
C言語は趣味程度に書いてたのでPythonの基礎的なところはすぐにモノになりそうなんですが
713デフォルトの名無しさん
2020/12/09(水) 19:53:12.28ID:9U2YLq5f
>>712
言語そのものの習得より競馬予想アルゴリズムの研究にはるかに時間がかかると思うけど、
そこは置いとくとしたら、公式サイトのPythonチュートリアルをやれば十分。
714デフォルトの名無しさん
2020/12/09(水) 20:27:08.07ID:oTqbLT2F
>>713
ありがとうございます。
ちなみに公式サイトのPythonアルゴリズムってのはググれば出てきますか?
715デフォルトの名無しさん
2020/12/09(水) 20:28:39.57ID:oTqbLT2F
おーあった。これかな
https://docs.python.org/3/tutorial/index.html
716デフォルトの名無しさん
2020/12/09(水) 20:37:34.05ID:/MUc+cdS
チュートリアルとアルゴリズムの違いがわからないってどういうことだ
Cとやらもハローワールドうごきません(^O^) ってかんじなのか
717デフォルトの名無しさん
2020/12/09(水) 20:45:18.86ID:/MUc+cdS
>>714-715 = >>712
広義のマルチポストするようなクサレ精神をまず矯正しろ
http://2chb.net/r/tech/1600035173/246

はなしはそれからだな
718デフォルトの名無しさん
2020/12/09(水) 20:48:09.46ID:fxsKXvPp
最近はなんでも機械学習だよ
過去3年分くらいのデータ集めて学習させるだけで的中率9割くらいなら軽く出るよ
719デフォルトの名無しさん
2020/12/09(水) 20:59:03.75ID:oTqbLT2F
>>717
せやな(笑)
720デフォルトの名無しさん
2020/12/09(水) 21:01:36.45ID:/MUc+cdS
716が図星すぎてヌカみそがうけつけないんですねわかります
721デフォルトの名無しさん
2020/12/09(水) 21:05:46.65ID:oTqbLT2F
>>720
ありがとうございました!
722デフォルトの名無しさん
2020/12/09(水) 23:43:18.95ID:aOSmD5C7
>>718
まじでそれ
前処理できる人材足りないらしいしpython独学学生のワイは少し希望を見出している
723デフォルトの名無しさん
2020/12/10(木) 05:13:21.20ID:lCcaS4oF
# >>643のShell Script版
#!/bin/bash
CLIPB=$(exec xclip -o -selection clipboard)
CHON=''\'''
[ "$#" -ge 1 ] && ERROR="$CHON""$@""$CHON"
[ "$#" -eq 0 ] && ERROR="$CHON""$CLIPB""$CHON"
GOOGLE=$(rev <<< '=q?hcraes/moc.elgoog.www//:sptth')"$ERROR"
QIITA=$(rev <<< '=q?hcraes/moc.atiiq//:sptth')"$ERROR""&sort=like"
TERATAIL=$(rev <<< '=q?hcraes/moc.liataret//:sptth')"$ERROR"
echo 'DuckDuckGo !Bang一覧:'$(rev <<< 'lmth.etil_gnab/moc.ogkcudkcud//:sptth')
SHUFFLE_BANGS=$(shuf -e '!yjr' '!hashtag' '!gnuk' '!yt' '!so' '!ig' '!bili' '!r' '!qiita' -n 1)
SHUFFLE_KEYWORDS="$CHON"$(shuf -e 'python' 'shell script' '日本人' '料理' 'つまった' -n 1)"$CHON"
DUCKDUCKGO_BANG=$(rev <<< '=q?/moc.ogkcudkcud//:sptth')"$SHUFFLE_BANGS"' '"$SHUFFLE_KEYWORDS"
STUDY_KEYWORDS="$CHON"$(shuf -e '# Bash' '# grep' '# shuf' '# ヒアドキュメント' -n 1)"$CHON"
grep -B 2 -A 3 -n "$STUDY_KEYWORDS" "$HOME/Documents/studyRecord.md"
sleep $(shuf -i 5-7 -n 1)'s'
google-chrome "$GOOGLE" "$QIITA" "$TERATAIL" "$DUCKDUCKGO_BANG"
724デフォルトの名無しさん
2020/12/10(木) 12:39:28.70ID:OCEZ6BZz
693だけどタブはダメやった。
c:\tempみたいなパスが入ってた時にデリミタ扱いされた・・
*と?はワイルドカードで揉めるみたいだから
半角の<か>で区切ってみる。これならどうだぁ
725デフォルトの名無しさん
2020/12/10(木) 16:12:02.86ID:V5qSWfNd
>>724
アドバイスを全無視ww
タブがダメなんじゃなく君がダメなだけ
726デフォルトの名無しさん
2020/12/10(木) 16:59:38.88ID:YnqEzhEp
ファイルパスのリストをわざわざ連結したい理由が思いつかない
727デフォルトの名無しさん
2020/12/10(木) 17:23:44.75ID:+R9MuRqA
てかPythonで使うだけならpickleで十分だろ
csvに書き出すなら改行するのが一番楽だろうに
728デフォルトの名無しさん
2020/12/10(木) 17:34:45.19ID:PyjUl2il
>>724
\はエスケープするよ普通は
729デフォルトの名無しさん
2020/12/10(木) 18:51:00.01ID:HstTQkWC
ファイルパスの\ を、/ に変換すれば?

Windows でも、/ が使えるでしょ?
730デフォルトの名無しさん
2020/12/10(木) 19:07:01.26ID:Jj6v3tGp
>>724
どうしてもCSV使いたくないなら、せめて先人の知恵に倣えよ。
731デフォルトの名無しさん
2020/12/10(木) 20:52:17.08ID:JL8Xc0jO
SQLiteの分離レベルってどういうときに使うの。。
入門サイト見てみたけどほとんどどこも使ってないんだけど
732デフォルトの名無しさん
2020/12/10(木) 22:02:25.46ID:8O7UePfH
速度を要求されるシステムとかで使う
733デフォルトの名無しさん
2020/12/10(木) 22:47:51.03ID:7mTcrT9w
>>731
pythonのsqlite3モジュールにあるコネクションのisolation_levelは
トランザクションタイプの指定でDBMSの分離レベルとは何の関係もない

Noneを渡せばimplicit transaction
それ以外はexplicit transactionでロックの取り方が変わる
https://docs.python.org/3/library/sqlite3.html#sqlite3-controlling-transactions
https://sqlite.org/lang_transaction.html#deferred_immediate_and_exclusive_transactions
734デフォルトの名無しさん
2020/12/11(金) 00:35:35.74ID:ZvpiNjnc
>>732
>>733
ほーん みてみる㌧
735デフォルトの名無しさん
2020/12/11(金) 01:14:57.41ID:slOz+bz6
質問です

下のコードの9行目は、なぜコメントのような結果(num_list1と同じ内容)
にならないのでしょうか?
https://paiza.io/projects/Qpy8sFx-h5avv5Gl83RZoQ

どなたかよろしくお願いします
736デフォルトの名無しさん
2020/12/11(金) 01:30:44.54ID:ahD9n8Mk
Python結構人いるんだな
737デフォルトの名無しさん
2020/12/11(金) 04:45:14.45ID:U3Oy8MkO
>>735
num_list1 を表示したいの?
そしたら9行目の print() の中には num_list1 を入れないとダメじゃない?
738737
2020/12/11(金) 04:47:46.13ID:U3Oy8MkO
>>735
ゴメン再代入されないのはなぜって質問なのか
上から順番に実行されていくから、num_list1を変更してもnum_list2は変更されないからだよ
739737
2020/12/11(金) 04:52:28.06ID:U3Oy8MkO
>>735
この説明が分かりやすいと思う
https://hibiki-press.tech/python/reference_copy/590
740デフォルトの名無しさん
2020/12/11(金) 09:18:34.13ID:J0GcYQf+
プルダウンメニューを自動選択→カートに入れるという自動購入の動作をさせたいのですが、セレクトボックスのidがあらかじめわからない場合はこの動作をさせる事は不可能ですか?
販売時間にならないと、購入ページが前もってわからないタイプのものです
741デフォルトの名無しさん
2020/12/11(金) 12:12:30.12ID:s+ujdTab
>>735
変数に新しい参照を代入しているのかそれとも参照先の値を変更しているのかの違い

num_list1 = [1, 2, 3]
num_list2 = num_list1
num_list1 = [4, 5, 6]
↑新しい参照を代入している(俗に言う参照の値渡し)

num_list1[0] = 10
↑num_list1が参照している先の値を変更している
742デフォルトの名無しさん
2020/12/11(金) 13:03:04.49ID:/AL4j9WO
>>740
id 以外でも、CSS セレクターや、2番目などの順番でも指定できるけど、
ページ構成の変化には対応するのが難しい

その点、idなら1つに決まるから、プログラミングしやすい
743デフォルトの名無しさん
2020/12/11(金) 17:46:58.96ID:QKh+o6Fo
cssセレクタでselectを指定すれば要素特定出来るだろ。どうせセレクトボックスなんてページにそれ一つしかないんだろ。
744735
2020/12/11(金) 18:50:53.04ID:slOz+bz6
>>737
>>741
ありがとうございました
分かりました
745デフォルトの名無しさん
2020/12/11(金) 20:48:28.78ID:OnRhFRT3
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
746デフォルトの名無しさん
2020/12/12(土) 07:26:05.11ID:ch7aCOL8
numpyでnumpy.ndarray.appendしても、ビューが生成されるだけです。
元のndarrayに追加するような方法はありますか?
747740
2020/12/12(土) 07:31:04.72ID:nMhR9jlV
>>742
>>743
ありがとうございます
cssセレクタで出来ました
748デフォルトの名無しさん
2020/12/12(土) 13:37:27.43ID:cOibJfw/
以下のコードで
https://pypi.org/project/python-osc/

以下のような箇所がありますが、これはどのような処理ですか?
{0}の部分に、args[0]の値を埋め込んでprintするような処理に見えますが~{1}の部分は何のために書かれているのかよく分かりません。
特に意味はないんでしょうか?

def print_volume_handler(unused_addr, args, volume):
print("[{0}] ~ {1}".format(args[0], volume))
749デフォルトの名無しさん
2020/12/12(土) 13:51:37.21ID:G9l4ULGH
volumeも書き出してる
750デフォルトの名無しさん
2020/12/12(土) 13:58:17.22ID:cOibJfw/
>>749
なるほど、ありがとうございます。
751デフォルトの名無しさん
2020/12/12(土) 14:04:22.44ID:o4Bj7yJm
f文字使った方がわかりやすいよね
752デフォルトの名無しさん
2020/12/12(土) 15:00:38.21ID:efKG+ZBS
f文字使うと古いPythonで動かないコードを世に放つことになるからなあ
少なくとも3系のPythonで動くように書かないと世のためにならない
753デフォルトの名無しさん
2020/12/12(土) 19:23:58.03ID:04B3jJ4R
そんなんfに限らないだろ
754デフォルトの名無しさん
2020/12/12(土) 19:50:36.86ID:EiovETKX
俺が総理大臣に就任した暁には、全てのpythonライブラリにはtype hintの使用を義務づける

そして引数のファイルパスの型にstrしか受け付けないライブラリには罰則を与える
755デフォルトの名無しさん
2020/12/12(土) 20:28:20.19ID:RWVkhqgv
じゃあAny型で
756デフォルトの名無しさん
2020/12/12(土) 20:49:24.20ID:K2sR/21p
型ヒントはさらにまずいね
f文字はなんならformat版に機械的に変換できそうだけど
型ヒントの付いてるコードからヒントを取り除くのは骨が折れそうだ
757デフォルトの名無しさん
2020/12/12(土) 22:39:53.01ID:nX9tiJMr
最近はどんどん古いバージョン切って捨てるのがトレンドやろ
誰がこんな世の中にしたんやろなあ
大迷惑
758デフォルトの名無しさん
2020/12/12(土) 22:55:43.15ID:lNVasAwT
新しいほうがいいじゃん?
どうせPythonなんて作っては捨て、
作っては捨ての繰り返しだから。

その場でちょっとしたもの
作るときに使う言語だから。

Pythonなんてバカでもチョンでも
使えんだからさ
759デフォルトの名無しさん
2020/12/12(土) 23:11:17.51ID:IXV68dFS
正直保守が必要な物をPythonで開発するのは馬鹿だろ
760デフォルトの名無しさん
2020/12/12(土) 23:14:04.79ID:aMZWlLv7
でも3.6が良い
761デフォルトの名無しさん
2020/12/13(日) 00:08:48.22ID:4S8DBomt
flaskってどうよ
762デフォルトの名無しさん
2020/12/13(日) 00:12:29.23ID:17gHgA0W
fastapiのほうがいい
763デフォルトの名無しさん
2020/12/13(日) 00:23:18.51ID:5jMUJn8y
>>759
枯れていて商用に耐えうるメジャーな現役言語ってCかCOBOLしかなくて
しかもこれらの言語はひどく生産性が悪いというソフトウェア界の闇
Pythonはこの辺で仕様凍結宣言をして、COBOLの代替を目指すべき時期に来ている
764デフォルトの名無しさん
2020/12/13(日) 00:44:13.02ID:wYkyDrTo
fはintでもそのまま放り込んでエラー出ないから楽
765デフォルトの名無しさん
2020/12/13(日) 02:24:10.75ID:1g8P/X2h
pythonでRSSリーダー作れましゅか?
766デフォルトの名無しさん
2020/12/13(日) 08:33:14.93ID:5x8B+jfI
>>765
むしろどうしてむりだとおもったんでちゅっかー
767デフォルトの名無しさん
2020/12/13(日) 11:11:56.15ID:EpHdNzxH
Web 系でごにょごにょするなら TypeScript おすすめしましゅ!
768デフォルトの名無しさん
2020/12/13(日) 11:26:07.69ID:5jMUJn8y
済まないがブロックにカッコを使う言語はノーサンキュー
769デフォルトの名無しさん
2020/12/13(日) 12:45:14.88ID:17gHgA0W
えーカッコいいじゃん
カッコだけに





カッコだけに
770デフォルトの名無しさん
2020/12/13(日) 16:53:54.07ID:LGBnBUYf
a.jp/1.jpgからa.jp/500.jpgまでの画像をダウンロードするにはどんなふうに書けばいいの
771蟻人間 ◆T6xkBnTXz7B0
2020/12/13(日) 17:08:01.88ID:zFOj0dh9
for i in range(1, 501):
s = "a.jp/" + i + ".jpg"
...
772デフォルトの名無しさん
2020/12/13(日) 17:38:40.19ID:LGBnBUYf
>>771
こう?


import requests

for i in range(1, 501):

url = ""https://cz-cdn.shoeisha.jp/static/actibook/9784798155302/books/images/2/"; + i + ".jpg""
file_name = " i + ".jpg""

response = requests.get(url)
image = response.content

with open(file_name, "wb") as aaa:
aaa.write(image)
773蟻人間 ◆T6xkBnTXz7B0
2020/12/13(日) 17:54:46.42ID:zFOj0dh9
>>772
二重引用符のくくり方がちょっと
774デフォルトの名無しさん
2020/12/13(日) 17:55:43.28ID:25RZkjwi
これ、ちょっと間違えると攻撃に間違われるから気を付けてね
775デフォルトの名無しさん
2020/12/13(日) 18:10:55.43ID:LGBnBUYf
>>773
見直してもわからないので教えてください
776デフォルトの名無しさん
2020/12/13(日) 18:14:05.73ID:m4Wl6k1W
ggrks
777蟻人間 ◆T6xkBnTXz7B0
2020/12/13(日) 18:17:26.94ID:zFOj0dh9
「連番 ダウンロード Python」
778デフォルトの名無しさん
2020/12/13(日) 18:23:08.09ID:LGBnBUYf
python 複数画像ダウンロード
とかでググってたわ
thx
779デフォルトの名無しさん
2020/12/13(日) 20:55:03.28ID:4MwCzqHm
世の中みんなhomebrew使ってパッケージ管理してるみたいですが、pip3だけでなんとかなりますかね
当方homebrewがインストールできない環境です。
780デフォルトの名無しさん
2020/12/13(日) 21:00:09.98ID:w38sGQBv
>>771
TypeError: can only concatenate str (not "int") to str
このぐらいは実行しなくてもTypeErrorになるのがわかんなきゃ初心者から脱却できてないぞ
781デフォルトの名無しさん
2020/12/13(日) 22:02:44.00ID:aUJFbM7m
>>770
単に連番の画像ダウンロードするだけならcURL使うといいぞ
$ curl -O https://cz-cdn.shoeisha.jp/static/actibook/9784798155302/books/images/2/[1-500].jpg

リトライも帯域制御も並列化も簡単にできる
後処理でpython使いたいとしてもたいていのユースケースはファイル連携で十分
782デフォルトの名無しさん
2020/12/13(日) 22:47:51.42ID:QWR2aP5/
>>781
たまに見かける
images/[1-10]/1.jpg
みたいなパターンだと -O/--remote-name オプションでは大変なことになるけどね
783デフォルトの名無しさん
2020/12/13(日) 22:58:51.46ID:bSx7ciZe
Ruby では、

library rss
https://docs.ruby-lang.org/ja/latest/library/rss.html

RSS/Atom 形式
784デフォルトの名無しさん
2020/12/13(日) 23:42:26.71ID:aUJFbM7m
>>782
そういう場合は-oで指定すればいいんだぞ
images/[1-10]/{1}.jpg -o “#1_#2.jpg”とかね
785デフォルトの名無しさん
2020/12/14(月) 00:13:16.38ID:H9Yj00dL
# >>643のpyperclipを使って
# Python Documetationで学んだことをメモ用ファイルにコピペ

import pyperclip
clipb = pyperclip.paste() + '\n' # クリップボードの中身を取得
print('コレをコピペ -> ' + clipb)
open('memo_pythonDoc.txt','a').write(clipb) # 追記モード('a')でopenして変数clipbの中身をwrite
786デフォルトの名無しさん
2020/12/14(月) 12:34:28.18ID:IWkHCo3l
>>772
うちも最初の頃は+でつないでたけど、こういうミスがあるからf文字使うようになった
いちいち型を考える必要ない
787デフォルトの名無しさん
2020/12/14(月) 12:52:19.29ID:KsIuaWid
やっぱf文字は強制にした方が新規には分かりやすそう
Python3.10からはデフォルトにしよう
それかPython4
788デフォルトの名無しさん
2020/12/14(月) 13:15:39.31ID:r/dWM1IA
PEP582採用して仮想環境を抹殺
型ヒント強制
fstring強制

頼んだぞ、Python Foundation
789デフォルトの名無しさん
2020/12/14(月) 14:16:48.83ID:v8t5CwIX
>>787
その前にf-stringをf文字列と訳すよう矯正する必要ありそう
790デフォルトの名無しさん
2020/12/14(月) 19:04:53.73ID:hG9yFSan
fを付けない通教の文字列を標準でf-stringにする向きもあるらしいな
791デフォルトの名無しさん
2020/12/14(月) 21:40:54.17ID:ycPwgo2u
%s %d %fの挿入絶滅した?
792デフォルトの名無しさん
2020/12/14(月) 23:29:40.38ID:30kSf89N
コンパイル可能にする動きはないの?
配布が面倒すぎて困る
793デフォルトの名無しさん
2020/12/15(火) 00:51:27.65ID:+RD1gPFt
exeで配布しようとするからでしょ
パッケージ配布なら何も面倒なことはない
794デフォルトの名無しさん
2020/12/15(火) 11:21:51.02ID:GRKD/Ma/
shift-jisのサイトのソースコードを取得し文字コードをutf8に変換する方法を教えてください

import nkf
import requests

url = "https://kakaku.com";
body = requests.get(url).text.encode('UTF-8')
body = nkf.nkf("-w", body)
print(body)

こんな感じでやったのですが文字化けしてしまいます
BeautifulSoupは使えません
795デフォルトの名無しさん
2020/12/15(火) 11:55:29.71ID:XKndzQaP
response = requests.get(url)
response.encoding = response.apparent_encoding
body = response.text
796デフォルトの名無しさん
2020/12/15(火) 12:18:50.95ID:sett0sNL
Pythonで〇〇できますかって質問ここでしていいですか?
797デフォルトの名無しさん
2020/12/15(火) 12:22:33.10ID:GRKD/Ma/
>>795
できましたありがとうございます!!
798デフォルトの名無しさん
2020/12/15(火) 15:52:44.91ID:hTSxdvaB
>>796
いいんでないの
まぁpythonでできないことは本質的に機械じゃできないことだったりするけども
799デフォルトの名無しさん
2020/12/15(火) 22:17:03.19ID:fn0JFbgC
他の言語ちょっとやったことあるってレベルならどの参考書買えばいいんだろうか。チュートリアルはちょっと読みにくい
800デフォルトの名無しさん
2020/12/15(火) 23:14:40.71ID:vYGb7HVK
プロ向きなら、パーフェクトシリーズだけど、
猿向きなら、スッキリシリーズかな?

パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020/6

改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7
801デフォルトの名無しさん
2020/12/16(水) 00:03:04.29ID:LU6zCuge
>>799
玉石混合の入門書の中で、自分が勉強しようと思っていろいろ比較してみた所、
ソーテック社の「詳細 Python3 入門ノート」って本が良い感じでした
802デフォルトの名無しさん
2020/12/16(水) 00:57:01.88ID:J2/86fXM
オライリーのはじめてのpython
803デフォルトの名無しさん
2020/12/16(水) 07:31:45.32ID:VaidjUHq
スッキリシリーズは流石にダメでしょ
804デフォルトの名無しさん
2020/12/16(水) 11:49:30.65ID:E5QK4Bac
SBクリエイティブのpython超入門しか買ってないけど理解できた
805デフォルトの名無しさん
2020/12/16(水) 18:00:40.16ID:LU6zCuge
>>804
あの本は一見良さそうだけど地雷
コメントの記述方法が載ってないとかあり得ない
806デフォルトの名無しさん
2020/12/17(木) 20:17:02.64ID:me3npDEa
pyautoguiで特定アプリ内の画像認識をしようとしているのですが、
ウィンドウの指定をして、
そのウィンドウが見えていない、バックグラウンドでも認識させる方法はありますでしょうか
RPAを作ってみたのですが、そのRPAを動かしている間、パソコンに触れなくなるため
バックグラウンドでの動作にしたいです。

pyautogui.locateOnScreen →アクティブウィンドウしかだめ
807デフォルトの名無しさん
2020/12/17(木) 20:21:07.32ID:nC3KtugT
複数のデスクトップを変える、仮想デスクトップでも、ダメなのか?
808デフォルトの名無しさん
2020/12/17(木) 21:18:19.91ID:HOK8mWEY
給与計算のチェックとかpythonでできますか?
エクセルvbaより楽にできますか!?
809デフォルトの名無しさん
2020/12/17(木) 21:54:36.97ID:FF9ZK33o
>>808
できるよ
openpyxlでcsvに変えてからpandasで処理するのが一番いい
810デフォルトの名無しさん
2020/12/17(木) 22:09:02.55ID:E6QqmaoP
エクセルvbaのように書式を保って処理できないんですね!
残念です!
811デフォルトの名無しさん
2020/12/17(木) 22:50:55.00ID:5gjmPPN4
できるよ。わざわざpandas使うのは809の趣味
812デフォルトの名無しさん
2020/12/18(金) 00:16:31.15ID:9JHdyeAr
何をもってできないと思ったのか逆に気になるな
813デフォルトの名無しさん
2020/12/18(金) 09:15:36.09ID:hahJhxSX
言ってもない処理を809がわざわざ書いたから
それしかできないのはしょうがないんだろうと思ったんどろう
814デフォルトの名無しさん
2020/12/18(金) 09:24:12.07ID:ZgbltKIK
どろう
815デフォルトの名無しさん
2020/12/18(金) 09:26:26.05ID:6XgFq4AT
給与計算で書式を保ちたいと要求していないし「一番いい」と言ってることから他にやり方があることが示されているし809のやり方が特別悪いとも思わんな
816デフォルトの名無しさん
2020/12/18(金) 10:10:14.37ID:tG03PZfz
そんなにムキにならなくてもw
何でもかんでもpythonでやれば楽になるわけじゃないんだから
817デフォルトの名無しさん
2020/12/18(金) 14:20:04.01ID:8Pq4G6/a
Excelに限らずGUI周りの処理はPython避けたほうが賢明
818sage
2020/12/18(金) 21:18:36.14ID:a9/WYqr/
808です。
手当の変更のインプットやアップロードはがんばっていれて
チェックは一瞬で楽にできればと思いました。パイソン勉強いたします。
パソコン教室にいきます。
ちなみに810はほかの人です。
819デフォルトの名無しさん
2020/12/18(金) 22:00:33.26ID:9JHdyeAr
excel操作とGUIは関係なくないか?
ファイル名指定してCUIでいじるんだし。
820デフォルトの名無しさん
2020/12/19(土) 09:30:15.24ID:zKdXY8Ql
python 3.7.9でimport win32com.clientを使おうとしとるんやが
importエラーで先に進めない

pip install pywin32 :インストールできたがimportエラー
githubからexe落としてきてインストール :やっぱり動かない

importで詰まったの初めてなんだが
win32comどうやったら使えるん
821デフォルトの名無しさん
2020/12/19(土) 11:16:43.59ID:zKdXY8Ql
820だが自己解決できたわ
ここからや
822デフォルトの名無しさん
2020/12/19(土) 19:52:27.72ID:5S97jaCy
>>821
解決方法も書いてね
823デフォルトの名無しさん
2020/12/19(土) 23:27:44.16ID:KNibJcyt
これからpython始めたいのですがOSはmacの方が良いんでしょうか
windowsしか使った事が無いけどググると環境構築や情報量はmacが優位との事で迷ってます
目的としてはexcelメールの自動化やwebスクレイピングを業務の中で出来るようになればと考えており、結局windowsで動かす事になりそうなのですがmac↔�windowsで環境を跨ぐと支障は出るものでしょうか
824デフォルトの名無しさん
2020/12/19(土) 23:34:28.88ID:Uc1plkB7
その程度の用途でmacにする意味はまったくない
825デフォルトの名無しさん
2020/12/19(土) 23:43:59.81ID:OsP/HwCY
>>823
AnacondaかWSLでPython使えば大丈夫だと思う
826デフォルトの名無しさん
2020/12/20(日) 00:02:14.02ID:dQ4w2OO8
情報ならubuntuの方が多そう
827デフォルトの名無しさん
2020/12/20(日) 00:45:13.65ID:BAtdGKu+
>>823
windowsでもインストーラー落として実行するだけ
828デフォルトの名無しさん
2020/12/20(日) 07:14:52.70ID:zJwsC3QS
普段使いしてるWindowsに入れればいいよ
セットアップの項目でpythonを環境変数に追加すれば使いやすさは変わらん
829デフォルトの名無しさん
2020/12/20(日) 12:08:39.60ID:llRQx8oF
>>819
830デフォルトの名無しさん
2020/12/20(日) 14:17:31.37ID:vakUvLku
WindowsとMacではターミナルの使いやすさが違う
Windows Terminalでかなり改善されてるけどね
831デフォルトの名無しさん
2020/12/20(日) 16:43:50.35ID:8E3b/swc
プログラム初心者にWSLを薦めるのは鬼だな
832デフォルトの名無しさん
2020/12/20(日) 16:50:04.61ID:CqW8rd2f
WinならNative Pythonにpipenv入れるのが一番良くないか?
Anacondaは個人のライブラリとか入れていくと環境グチャグチャになるから面倒くさいわ
833デフォルトの名無しさん
2020/12/20(日) 21:48:57.73ID:VdeMiIWR
>>832
anacondaにpipenvみたいな機能あるけど使ってないの?
834デフォルトの名無しさん
2020/12/20(日) 22:54:35.97ID:8E3b/swc
anacondaのがバグったとき捨てて一から作り直ししやすいってのはある。
835デフォルトの名無しさん
2020/12/20(日) 23:26:08.37ID:fYZvWS3R
自分の書いたプログラムを周りの人間と共有する必要があって
その周りの大半がanaconda使ってる状況以外でconda系から始めるのはやめとけ

anacondaとtkinterは初心者をつまづかせる2大無用の長物

最初は直接python入れときゃいい
836デフォルトの名無しさん
2020/12/20(日) 23:53:36.33ID:tNXdbpIs
今更、anaconda勧めてくるのは無視していいと思う
837デフォルトの名無しさん
2020/12/20(日) 23:55:27.38ID:VdeMiIWR
>>835
まあそうかも。
ある程度他のビルドが通りやすい他のOSでPython使ってからだと、 Pure Pythonじゃない部分も面倒見てくれるAnacondaはいいんだけど、
ほんとの初心者でpipで入らないモジュールに困るまではいらないかもね。
Anacondaの癖なのかそうでないか見定められるまではAnaconda使わない方がいいかもね。
838デフォルトの名無しさん
2020/12/21(月) 09:40:55.51ID:bAOWuplU
科学計算、データサイエンスの環境を手っ取り早く作りたいというわけでなければ、anacondaはすすめないかな。
839デフォルトの名無しさん
2020/12/21(月) 09:44:51.81ID:bAOWuplU
ここ一年ぐらいに出版された入門書って環境構築どう解説してるんだろう
840デフォルトの名無しさん
2020/12/21(月) 10:01:11.52ID:M/flfVv0
>>833
conda cloudにないけどpypiにだけはあるみたいなライブラリをpip経由で入れると依存関係壊れるのが嫌
逆は基本ないからpip使うのが結局総合的には楽でいいと思う
あとOpenCVみたいなのは自分でビルドしちゃうのが使えない機能があったりしなくて楽
841デフォルトの名無しさん
2020/12/21(月) 13:22:58.36ID:G5T16kgS
>>839
WSLにDocker 、構築済みコンテナマウント、ローカルにVC-CODE、
842デフォルトの名無しさん
2020/12/21(月) 15:21:20.98ID:XP0/uvDJ
Windows 10 Home 版に、WSL2, Docker を入れた

OS の連続アップデートに、3時間掛かった。
CPU-i3, 8GB メモリを、CPU・電力エコモードで使っているから、コンパイルが遅いのかも

その後、WSL1 から、WSL2への変更。
Dockerのインストール自体は簡単だった

これで、Windows10 プロ版じゃなくても、Dockerを使える。
Kubernetes も入っていた

君らには、CPU-i7, 16GBメモリ、SSD-256GB以上を勧める

念のために、Windows 10 プロ版もプリインストールしておけ。
プリインストールなら、5千円と安いから

16GBメモリあれば、WSL2の互換性が悪い場合に、
Virtual Box で直接、Linuxも使える
843デフォルトの名無しさん
2020/12/21(月) 18:09:40.54ID:YgDTrDhJ
>>832
おそらくその目的ならanacondaでも全く問題ない
844デフォルトの名無しさん
2020/12/21(月) 18:18:57.29ID:YgDTrDhJ
>>835,836
たまにはanacondaを触ってみるといいよ
昔の問題だらけの時代とは全然違うから
今はpyenv+pipenvを教えるよりもminicondaだな
tkinterだけは特定のmacOSでトラブルになるから公式のがいいかな
845デフォルトの名無しさん
2020/12/21(月) 18:22:34.07ID:X2UxBsP1
PythonでもSmoozみたいなアプリ作れますか?閲覧してる情報まるごとぶっこ抜くってなかなかにシビれます。
846デフォルトの名無しさん
2020/12/21(月) 18:30:40.24ID:YgDTrDhJ
>>845
kivyを使えば作れないことはないがネイティブアプリ開発にpythonを使うのは大変だと思う
847デフォルトの名無しさん
2020/12/21(月) 18:52:08.50ID:ym6gHmkT
numpyやscikit-learnなんかはanacondaがデフォルトでintel-mkl使うバージョンが入ってて速いそうだが
それらを使うならanacondaの方がいいかもな
Vanillaでmkl使う方をインストール出来るならそれでいいんだろうけど
848デフォルトの名無しさん
2020/12/21(月) 20:03:41.57ID:+4hTUwSB
弘法筆を選ばず

弘法環境を選ばず
厨房環境を論ずるのみ
849デフォルトの名無しさん
2020/12/21(月) 22:28:54.80ID:UbzYfHI9
WSL, virtualbox, 直python勧めるくらいなら明らかにanacondaのがマシだわ。
こいつら勧めるとかまともにプログラムやってないとしか思えんわ。
850デフォルトの名無しさん
2020/12/21(月) 22:36:10.92ID:RFvP+jrS
>>848
書家(とりあえず二人にききました)に言わせると
うまいひとほど筆も紙も選びますw
だぞ
851デフォルトの名無しさん
2020/12/21(月) 22:40:16.48ID:+4hTUwSB
>>850
上手くない人があーでもないこーでもない言ってる
852デフォルトの名無しさん
2020/12/21(月) 22:41:07.37ID:+4hTUwSB
プログラムは
センス9割
環境1割
853デフォルトの名無しさん
2020/12/21(月) 22:45:52.65ID:+4hTUwSB
かつて「プログラムは環境で決まる」という宣伝があったそうな
「決まる」というのは、最後の詰めのことを言っているのだろう
良い環境を使うか駄目な環境を使うかによって90点のプログラムになるか、95点のプログラムになるかは重大であろうから
環境を選ばなくてはいけないのだろう
しかし50点のプログラムを書いてる者が環境で5点プラスして何になるのだね
anacondaよりpipenvの方が環境が良いとしても
その環境の差が重要になるほどのプログラムを書いているのかね?

環境、構築、と主張するのはその環境構築が必要になるほどのプログラムを書いている者だけでいい
854デフォルトの名無しさん
2020/12/21(月) 22:51:42.32ID:+4hTUwSB
釣り、ゴルフ、ゲーム、書道、絵画、カメラ、ドライビング、SEX
855デフォルトの名無しさん
2020/12/21(月) 22:58:48.82ID:JGiC8qIT
要約:俺は苦労して覚えた。おまえらも苦労しろ
そう言ってるようにしか聞こえない
856デフォルトの名無しさん
2020/12/21(月) 23:00:06.72ID:JTbvcCyB
人に勧める時はちゃんと環境選んでやれよ
857デフォルトの名無しさん
2020/12/21(月) 23:21:37.69ID:U66hSQRf
>>853
その理屈だと
50点+5点の方が
90点+5点より環境による変化大きいじゃん
算数出来る?
858デフォルトの名無しさん
2020/12/21(月) 23:44:56.81ID:+4hTUwSB
50点乙
859デフォルトの名無しさん
2020/12/21(月) 23:45:31.80ID:+4hTUwSB
>>857だと
90 < 55だってさ
860デフォルトの名無しさん
2020/12/21(月) 23:47:49.32ID:56qSn/9L
環境周りは基本的なことが理解できてからでいいんだって
このスレでもanacondaでつまづいてるやつ腐るほど見てきただろ?

プロジェクト単位の依存性管理や
Pythonのバージョン管理をどうするのがいいの?
って段階になってから考えればいいよ

これからpython始めたいんですがってやつに即anaconda入れろはホント頭おかしいよ
余計なレイヤーを学ぶ必要がない方法があるならそれに越したこと無い
861デフォルトの名無しさん
2020/12/22(火) 00:13:37.49ID:Fh2P5wuU
>>860
anaconda入れてPATH通せってのがそこまで深刻な複雑さを生むとは思わんがな。
python直に使ってて依存問題起きたらそれこそ初心者じゃテンパって終わるぞ。
862デフォルトの名無しさん
2020/12/22(火) 00:21:37.04ID:PFh/rGOz
>>850
そりゃプロなら選んで当然だけどさ
思い通りの紙と筆(環境)が揃わなくたって突然下手くそになったりしないでしょう?
そう言う事だよw
863デフォルトの名無しさん
2020/12/22(火) 00:25:13.93ID:PFh/rGOz
>>861
大概Python始めたいんですけどどうしたらいいですか?なんて聞く奴はPATH?何それ??状態だから
864デフォルトの名無しさん
2020/12/22(火) 00:37:55.16ID:T7BUya2f
ひたすら書くだけのコード屋が偉そうに
865デフォルトの名無しさん
2020/12/22(火) 00:55:31.77ID:AKmT4Cni
>>863
そのレベルだとpipenvも全く同じでは?
866デフォルトの名無しさん
2020/12/22(火) 01:04:27.16ID:CkUf338T
かつて環境アセスメントという
地球環境から職場環境までいっしょくたに扱うわけのわからん国の通知があって
なんじゃこりゃっておもった

環境って開発環境のことか?
867デフォルトの名無しさん
2020/12/22(火) 03:20:24.57ID:HVt96BYo
これでいいだろ

【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう! - YouTube

868デフォルトの名無しさん
2020/12/22(火) 08:13:39.37ID:/GVtgweb
MACでコードを書いて、WINDOWSでそれを使うってことできるのでしょうか?
869デフォルトの名無しさん
2020/12/22(火) 09:25:53.47ID:jdNtdfk4
>>868
普通に出来るぞ
870デフォルトの名無しさん
2020/12/22(火) 16:47:04.00ID:GKhnHiXj
プログラマーとして自分は無理だと判断すりゃ次の人生を考え少しでも若いうちに早めに転職した方が良い
老婆心ながら忠告しておく
871デフォルトの名無しさん
2020/12/22(火) 16:49:45.44ID:ZGF4ip3s
>>843
Anacondaってpipとconda混ぜて使っても依存関係解決してくれるようになったの?
872デフォルトの名無しさん
2020/12/22(火) 17:06:55.26ID:uVrRPi3R
思いたったら
何歳からでも始めれば良いさ
873デフォルトの名無しさん
2020/12/22(火) 17:29:06.72ID:uzy9az6A
>>871
pipを使う場合は、環境構築だけconda createで作成して、あとは全部pipでインストール

condaで後からインストールしても良いけど、依存関係を解消しようとした頑張った挙句、どうしても解決できないものはコンフリクトして失敗する
874デフォルトの名無しさん
2020/12/22(火) 17:39:49.72ID:FC/vybFL
すまん、パッケージマネージャはもうpoetryの一強だから
875デフォルトの名無しさん
2020/12/22(火) 18:28:41.61ID:Hji39els
>>874
povertyみたいで嫌
876デフォルトの名無しさん
2020/12/23(水) 20:18:46.69ID:9M0dxGbs
質問です

listの要素をごっそり型変換するにはmap関数を使えばいいとあったのですが、
map関数の戻り値がイテレータであるとはどういうことでしょうか?
877デフォルトの名無しさん
2020/12/23(水) 20:33:31.77ID:/fS+7Fr+
>>876
イテレータはlistと同様にfor分等で一つずつ取り出せるけど、実際の中身は取り出すまでメモリ確保しない
listに1億個の要素があったとするとlistならメモリを沢山必要とするけど、イテレータなら問題ない

使い方はほとんど同じだけどprint()で見ると違いが分かる
878876
2020/12/24(木) 00:32:29.33ID:UwmGclax
>>877
何となく分かりました。
ありがとうございます。

list()関数と併用したいと思います。
879デフォルトの名無しさん
2020/12/25(金) 00:08:02.52ID:eWDcI5x6
pythonをソースインストールしてんだけど
./configureの--without-PACKAGEのPACKAGE一覧ってどっかにないかな?
--with-PACKAGE=noでも良いんだけど
このオプションがマトモに機能してる気がしない
要らないパッケージ省いたスリムなpython作りたいんだけど
ソースのREADMEもgithubの記事もどこにも書いてないんよね
880デフォルトの名無しさん
2020/12/25(金) 01:08:46.07ID:8LlCCPCm
>>879
pythonに適した使い方じゃないだろそれ。
881デフォルトの名無しさん
2020/12/25(金) 13:56:38.42ID:BaOphPzO
そのPACKAGE一覧が./configure --helpでその下にずらっとでてくるやつでしょ
ただ、それで、そのスリムなPythonが作れるわけじゃないけど
882デフォルトの名無しさん
2020/12/26(土) 11:45:48.33ID:URkT4AMD
変数の宣言位置について質問です

下記のようなコードでは、if文が始まる前に
変数new_nameを宣言しておいた方がいいでしょうか?
https://paiza.io/projects/SG9gLGhkhsAzxAZ4UKz4mQ
883デフォルトの名無しさん
2020/12/26(土) 14:06:08.04ID:CIvbBvts
>>882
必要ないです
884デフォルトの名無しさん
2020/12/26(土) 14:32:22.42ID:CIvbBvts
条件分岐ならdictも使える
https://paiza.io/projects/rmCvhYR_d8PzwBEsEgMadQ

if文使うにしてもnew_name自体使わないと思う
885882
2020/12/26(土) 16:01:56.86ID:URkT4AMD
>>883
>>884
分かりました
ありがとうございます

ただ、>>882は例があまり良くないのですが、
要は分岐のブロック内で新たに変数が出てくる際に、Javaなどでは
String newName;
等と宣言しておくことが出来るのですが、
Pythonでは変数のメモリ確保?だけやるというのは出来なそうなので、
どうするのが望ましいのかなと疑問に思ったのです

この点に関してもどなたか助言をいただけると助かりますので
よろしくお願いします
886デフォルトの名無しさん
2020/12/26(土) 16:29:43.05ID:ItMdJLnh
>>885
宣言したいだけなら
new_name =None
な書き方で良い
887デフォルトの名無しさん
2020/12/26(土) 16:38:56.17ID:S22m+gw3
すみません、ここを見てPythonをインストールしたのですが、
エディタというのはどこにインストールされているのでしょうか
MACに標準にあるテキストエディットをつかっても、pyという拡張子は作れませんでした

>エディタで先程作成したフォルダ「python_lesson」を開き、その中に「script.py」ファイルを作成してください。
https://prog-8.com/docs/python-env
888デフォルトの名無しさん
2020/12/26(土) 16:47:26.77ID:ItMdJLnh
>>887
標準のテキストエディタでも別に行けるぞ
多分、拡張子の表示辺りが無くて分かりづらいと思うが
script.py.txtみたいな状態になってるはず

ちなみに、そこのチュートリアルで出てくるエディタはVSCodeで
別ページにインストール手順が書いてある
(そのページの一番上に
・テキストエディタ
HTML & CSS の開発環境を用意しよう! を参考にしてください。って書いてある)
889デフォルトの名無しさん
2020/12/26(土) 18:35:57.65ID:pHrrDNwV
VSCodeのような支援ツールは使わない方がいい
一文字ずつ自分の指でタイプして書き上げたコードこそが自分の財産になる
890デフォルトの名無しさん
2020/12/26(土) 18:51:29.24ID:4mRY/k01
素手でトイレ掃除してそう
891デフォルトの名無しさん
2020/12/26(土) 19:06:03.65ID:5Glc6mpm
そもそもプログラミング使ってる時点で甘えてんだよ
全部紙に書いてそれをファイリングしてデータ管理すべきだわ

ハンコ・紙の申請書・手書き・対面受け渡し
この4つを徹底した業務を10年以上やってから初めてプログラミングをやるべき

ちゃんと自分の財産が形成されてるからコード一行一行から良い風味が出てくる
892882
2020/12/26(土) 19:11:06.24ID:URkT4AMD
>>886
ありがとうございました
893デフォルトの名無しさん
2020/12/26(土) 19:26:11.90ID:Q9Cqduz6
>>891
wwwwwくやしいわろたwwww
894デフォルトの名無しさん
2020/12/26(土) 19:34:47.99ID:wXkuq1W2
>>885
pythonにブロックスコープは無いんだ…
だからJavaみたいにブロック内部で別の変数を定義することはできないよ
他のスクリプト言語もだいたいそうだから悲観しなくていいよ
895デフォルトの名無しさん
2020/12/26(土) 20:07:32.21ID:JYcv42HE
>>891
楽してキーボードカタカタしただけのプログラムは”心”が籠ってなくて冷たい印象を受けるからな
使い手を想いながら心を込めて千枚通しでパンチカードに一つ一つ穴を開けるべき
896デフォルトの名無しさん
2020/12/26(土) 20:26:26.68ID:lTeoZ7+5
パンチカード使うとか甘えてんのかよ
男なら黙ってプラグボードに決まってるだろ
897デフォルトの名無しさん
2020/12/26(土) 22:39:38.47ID:xNQiwGF7
フォンノイマン型コンピュータを使うことが甘え
TTLロジックで論理をハードコードすべき
898デフォルトの名無しさん
2020/12/26(土) 22:45:42.78ID:Pu0ECC81
>>880,881
とりあえずmicropythonをビルドして使う事にした
公式配布されてるembeddable pythonのlinux版を作りたかったのよ

>>887
macならFinder設定の拡張子表示をするようにしとくといいよ
パンチカードとまでは言わないけどターミナルでviって打つと
一応標準でエディタは入ってる
質問の文章的にかなり初心者っぽいけどがんばって
899デフォルトの名無しさん
2020/12/26(土) 23:48:20.74ID:aomFNOZx
Ruby にはブロックスコープがあるから、プログラミングしやすい

MicroPython か

Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25

この本を読んだ印象では、
宇宙開発などの組み込み用、Lua, Squirrel の代替になる

Apache などのミドルウェアに組み込んで、拡張機能を作る。
ロジック・文字列処理は、C よりも、GC のあるmrubyでやった方が、安全性が高い
900デフォルトの名無しさん
2020/12/27(日) 06:31:17.91ID:vuz4qqtK
>>888
昔、方眼紙にチャート手書きしてたっけな。
901デフォルトの名無しさん
2020/12/27(日) 07:13:24.57ID:+tApAhgR
>>899
るびおじおったw
902デフォルトの名無しさん
2020/12/27(日) 08:27:33.49ID:CaXXLtf4
Ruby
をNGワードに追加。
903デフォルトの名無しさん
2020/12/27(日) 09:36:53.54ID:0MIy7os4
BASIC,COBOL,Pythonと学んできた身からすると
ブロックスコープって何それ状態なのだが
つまりPythonの関数スコープがifやforにもあるってこと?
頭おかしくなりそう
904デフォルトの名無しさん
2020/12/27(日) 09:56:36.92ID:JDlKWc3Q
>>903
withの挙動知るともっとおかしくなるぞ
インデント下げてる箇所で変数定義しても、withの外で使える
905デフォルトの名無しさん
2020/12/27(日) 10:35:02.77ID:vBqHOnr5
>>899
そんなに楽な言語じゃ気持ちがこもらないダルルォ?
906デフォルトの名無しさん
2020/12/27(日) 10:50:21.84ID:0MIy7os4
>>904
どういうことなの…
できればサンプルコードを頼みたい
バグの元だろ
907デフォルトの名無しさん
2020/12/27(日) 10:51:09.98ID:mqWB+gDR
ブロックスコープが無いのはスクリプト言語でもPHPとPythonくらい

バグの温床になりやすい
908デフォルトの名無しさん
2020/12/27(日) 13:14:13.85ID:vBqHOnr5
>>906
with open(‘test.txt’, ‘w’) as f:
____print(f)

print(f)
909デフォルトの名無しさん
2020/12/27(日) 13:22:56.67ID:2030r+Fs
>>908
え、動かんでしょこれ
動くん?
910デフォルトの名無しさん
2020/12/27(日) 13:35:42.01ID:ZwH7MfQO
withはスコープ外れたらファイル閉じるから無理なんじゃないの?
if文ならそうだけど
911デフォルトの名無しさん
2020/12/27(日) 13:52:55.21ID:SKaFVEwY
勿論 closeされるがファイルオブジェクトは残る
912デフォルトの名無しさん
2020/12/27(日) 14:19:22.56ID:+iG1rhj8
インデント下げてる場所 だったらこんなんじゃあないの

with open(‘test.txt’, ‘w’) as f:
____count = 1
____print(f)

printf(count)
913デフォルトの名無しさん
2020/12/27(日) 14:47:56.00ID:bhLcvV8F
まずそもそもスコープを生成しないし、宣言キーワード無いからねぇ
某言語のブロックにしてもその実はクロージャというか別物だし…
仕様自体よりも思い込み・勘違い・混同の方が問題であろうかなと
914デフォルトの名無しさん
2020/12/27(日) 18:29:26.40ID:MlpROiPU
>>913
嘘ついちゃダメ
nonlocalやglobalは宣言キーワード
スコープ周りが貧弱なので使いにくいハックが必要になってる

javascriptもブロックスコープがない時代はそんなのいらないと強弁してる人が沢山いたんだよねー
915デフォルトの名無しさん
2020/12/27(日) 18:52:35.43ID:0MIy7os4
>>904
よく考えたらおかしくはないな
Pythonでスコープが作られるのは関数とクラスのみだから
withの中が外と同じレベルなのは当然ではなかろうか
916デフォルトの名無しさん
2020/12/27(日) 19:22:15.13ID:bhLcvV8F
>>914
代入文が暗黙的なローカル宣言でも、そもそも既出のブロックではスコープを作らないって話から
そこだけ切り取って嘘と言われましても…。明らかにlet相当も無いよねって文脈ですし
そうなっているので参照できるよって事で、要る要らないの話でもないですしね…
917デフォルトの名無しさん
2020/12/27(日) 19:45:54.90ID:JDlKWc3Q
>>915
初めてpython触るヤツには違和感しかないぞ
918デフォルトの名無しさん
2020/12/27(日) 19:54:56.15ID:+iG1rhj8
本物の初心者なら違和感ゼロじゃね
919デフォルトの名無しさん
2020/12/27(日) 21:17:25.27ID:VS6+Jx70
Pythonからプログラミングはじめた人は
変数のスコープという概念自体を理解してないことが大多数なので
違和感なくてもバグを作るだけ
920デフォルトの名無しさん
2020/12/27(日) 21:36:17.81ID:IoLxP1+p
もう雑談になってるから続けたいならせめて質問にしてくれ
921デフォルトの名無しさん
2020/12/28(月) 08:15:32.26ID:1wnarVmc
>>912
動きはするだろうが、なんでwriteでファイル開いてそのポインタをプリントしてるのか意味不明。
922デフォルトの名無しさん
2020/12/28(月) 08:33:07.62ID:SqIAwzQp
ブロックスコープは欲しい。
多分どうしようも無いGILをのぞいて、
Pythonの最もおおきな欠点だと思う。
まあ関数内defをして直後にその関数呼べばいいのかもしれんけど。
923デフォルトの名無しさん
2020/12/28(月) 10:06:03.35ID:W49AY227
Pythonの本を選ぶときにスコープについて解説してある箇所を見れば本の良し悪しが分かる

初心者がプログラミングの学習を始めて遅くても3日目には習う基本事項にもかかわらず
スコープについて整理してわかりやすく解説してるPython本は驚くほど少ない
924デフォルトの名無しさん
2020/12/28(月) 12:40:30.36ID:jUcg1lZl
JavaScript(JS), Python の関数はクロージャだから、関数外の変数を取り込んでしまう。
ただし、新しいJSには、ブロックスコープも出来たかも?

一方、Ruby の関数はクロージャじゃないから、関数外の変数を取り込まない

関数外の範囲は大きすぎるので、
取り込むとバグが多くなって、開発が難しくなるから、
透過しない厳格な関数スコープにした

その代わり、関数内にはブロックスコープを作る。
これはクロージャだから、ブロック外の変数を取り込む

関数内は20行程度だから、範囲が小さいので、透過しても大丈夫
925デフォルトの名無しさん
2020/12/28(月) 13:41:03.84ID:k1Eqi9cA
withは名前から受ける印象で直感に反してるけどルールとしては一貫してる

内包表記で代入式を使うと変数が外に漏れるのはルールにも反してて意味が分からない
926デフォルトの名無しさん
2020/12/28(月) 16:00:19.42ID:1wnarVmc
まあそもそもリスト内包で副作用があるような処理書く奴はどうかしてるけどな。
そういう場合はアホみたいな書き方しないでfor使えや。
927デフォルトの名無しさん
2020/12/28(月) 16:59:30.53ID:PwYxLSK+
>>926
また嘘つきさん乙
副作用の有無なんて関係ないぞ
pythonてエクストリーム擁護するやつほど無知だよな
928デフォルトの名無しさん
2020/12/28(月) 18:04:10.84ID:1wnarVmc
代入が副作用ないと思ってんだな。。そりゃ話にならん。
929デフォルトの名無しさん
2020/12/28(月) 18:59:19.95ID:k1Eqi9cA
さすがにそれは・・・

Cの主作用/副作用の定義だと代入も副作用があるとみなすけど
その定義だと内包表記はイテレータを使うからすべて副作用があることになる

ローカル変数に値を代入する関数を副作用のある関数と呼んだところでPythonにおいては何の意味もないよ
930デフォルトの名無しさん
2020/12/28(月) 19:50:52.24ID:1npJXF9+
スコープ抜けたら消えてるやつは副作用じゃないです。
931デフォルトの名無しさん
2020/12/28(月) 22:01:24.43ID:xPcvMZiv
代入式は代入だから副作用w
副作用だからfor文使えww
エクストリームすぎるやろ
932デフォルトの名無しさん
2020/12/28(月) 22:49:30.45ID:oo8nUBuZ
Tesseract以外のOCRライブラリで使えるの有りますか?
英語だけで十分なんですが
933デフォルトの名無しさん
2020/12/29(火) 06:48:07.79ID:hnMWQG4C
アイアン!まーいく!パイソン!
なーんつっちゃって
934デフォルトの名無しさん
2020/12/29(火) 18:05:59.36ID:0CsKIrrJ
文字列囲むときって
'てす'と"てす"
どっちがいいの?
935デフォルトの名無しさん
2020/12/29(火) 18:20:40.29ID:mZvn1dXJ
どっちでもいいが、英語配列のキーボードでは'の方がタイプしやすいため'の方が多用されていることが多い
936デフォルトの名無しさん
2020/12/29(火) 18:36:22.79ID:ojfT27J3
どっちでもいい
プログラミング配信とか見てるとわかるけど、日本人以外でもダブル(")使ってる人も少なくない
自分の中で統一できていればいい
使いにくい方をあえて使おうとしてまで使うメリットも理由もない

例えば、辞書のキーに文字列使う場合はシングル使って、メッセージの様な文にはダブル使うみたいな人もいる
937デフォルトの名無しさん
2020/12/29(火) 18:40:20.15ID:ojfT27J3
docstringはダブル使ってね
938デフォルトの名無しさん
2020/12/29(火) 18:57:59.95ID:5lNXv1ot
引用する文字列にダブルクォートが含まれることが多いので、
Pythonでの文字列のくくりには意識してシングルを使ってる

shellみたいに、展開の有無の違いはあったっけ?
939デフォルトの名無しさん
2020/12/29(火) 19:01:46.57ID:HcXyWfHn
blackのフォーマットのデフォルトがダブルなんだからダブル使え
940デフォルトの名無しさん
2020/12/29(火) 19:30:57.15ID:NgMoxJfm
質問です
ちょっとマニアックなんですが…

アンパック代入により_(アンダースコア)を使って値を捨てた後、
_の値を消去しておいた方がいいでしょうか?

data = [1, 2, 3]
a, _, b = data
# del _
941デフォルトの名無しさん
2020/12/29(火) 19:59:15.43ID:UK0GT2+C
>>940
_にぶっこんだブツがでかい(重い)なら、念のためけせばー
940の内容では、イラネではー
942デフォルトの名無しさん
2020/12/29(火) 20:10:55.84ID:jjGz13qC
>>938
rubyはそうだけどpythonにその違いはない
代わりに変数展開したければf-stringにする必要あり
943デフォルトの名無しさん
2020/12/29(火) 23:37:53.10ID:TVQOurYq
>>940
どうせスコープ抜けたら解放される。気にしなくて良し
適切なコーディングが出来ていてクソデカ関数を書いたりしていなければ、だが
944940
2020/12/30(水) 00:49:37.22ID:XkI9Mvab
>>941
>>943
分かりました
あまり気にしないようにします
ありがとうございました
945デフォルトの名無しさん
2020/12/30(水) 03:09:55.58ID:zOyP/TIc
そもそもdel直後や関数抜けた直後に削除される保証なんてないのでは?
946デフォルトの名無しさん
2020/12/31(木) 09:03:14.64ID:3v1yApEE
ImageGrab.grabでゲーム画面のスクリーンショットを撮ろうとしてもwindowsの壁紙しか映りません。ゲームのメニュー画面は撮れるのですが、対戦画面に切り替わると撮れなくなります。
947デフォルトの名無しさん
2021/01/02(土) 03:03:06.16ID:pyorPsQx
input()関数での入力受付をマウスのクリックで代わりにできたりしませんか?

例えば、input()では"y"の入力でTrue、"n"の入力でFalseとして処理を分岐させている場合、
マウスを使うイメージでは、左クリック(あるいはyesボタンようなもの)が押されたときにTrue、反対に右クリック(あるいはnoボタンのようなもの)が押されたときにはFalseとなるようにして処理を分岐できるようにしたいです

キーボードでの入力→エンターの手間が地味に面倒で(押し間違いも出てくる)クリック一発で済ませられるようになれば・・・と考えてのことなのですが、簡単な実装の仕方はありますでしょうか?
948デフォルトの名無しさん
2021/01/02(土) 09:16:28.29ID:oBLo886r
誰かiPhone用の爆サイリーダー作ってください。
949デフォルトの名無しさん
2021/01/02(土) 10:13:31.52ID:wcwqpSor
>>947
AutoHotKeyとかBetterTouchToolとか使ってマクロを実行しろ
原理的にコンソールアプリで制御する範疇ではないし、すべきではない
950デフォルトの名無しさん
2021/01/02(土) 12:09:14.26ID:Sivwhl/T
>>947
pygame使う
951デフォルトの名無しさん
2021/01/02(土) 16:15:26.26ID:aqs6ioY6
>>947
やるべきかどうかは別にしてpynput使えばできるよ
https://pynput.readthedocs.io/en/latest/mouse.html#monitoring-the-mouse

エンターが手間ならエンター無しのキーボード入力だけで
処理が進むように作ったほうが間違いがなくていい気がする
python getchでググるとよろし
(pynputでもできるしcursesのようなTUIでも可)
952デフォルトの名無しさん
2021/01/03(日) 17:07:25.20
強制的な名前付き引数と可変長辞書引数って同居できなかったっけ??
def hoge(a,**d):
これだとhoge(a=1)でもhoge(1)でも通っちゃうんだが
953デフォルトの名無しさん
2021/01/03(日) 18:15:44.07ID:GNuYDGUQ
def hoge(a, /, **d) ?
954デフォルトの名無しさん
2021/01/03(日) 20:12:26.61
>>953
できた ㌧!
955デフォルトの名無しさん
2021/01/04(月) 02:13:45.64ID:Kyh5jQEK
C++からPythonへ画像を送りたい または
C++からPythonを呼び出したい(opencvの画像を添えて)
何か楽な方法ありますか?
ちなみに動作環境はUbuntuです
956デフォルトの名無しさん
2021/01/04(月) 02:33:20.59ID:KAZJSY+9
system関数呼べば?
957デフォルトの名無しさん
2021/01/04(月) 13:08:03.00ID:NzpguK0K
楽な方法ならsystem()に一票
bindして呼び出せるけどトラブった時の対処はスキルがメチャクチャいる
958蟻人間 ◆T6xkBnTXz7B0
2021/01/04(月) 14:53:38.76ID:RRkyDjZk
Base64 かな?
959デフォルトの名無しさん
2021/01/04(月) 19:54:00.21ID:8c2bemG3
python2で書かれたprint文をpython3に合わせて全てprint( )に直したいのですが、どのような正規表現を使えば良いでしょうか。全て
print '~~~'
の形式で書かれています。
960デフォルトの名無しさん
2021/01/04(月) 19:56:30.06ID:bgBArne3
>>959
むしろ「正規表現使わない置換」したほうがいいんじゃないかな かな
961デフォルトの名無しさん
2021/01/04(月) 20:01:34.57ID:8c2bemG3
>>960
他にどのようなよい方法があるのでしょうか
962デフォルトの名無しさん
2021/01/04(月) 20:02:11.42ID:hngT4Gif
print '(.*?)'$
print(\1)
963デフォルトの名無しさん
2021/01/04(月) 20:05:37.98ID:dUeB3b+2
2to3使うんじゃないの
使ったことないけど
https://docs.python.org/ja/3/library/2to3.html
964デフォルトの名無しさん
2021/01/04(月) 20:08:54.33ID:po0WxCfG
複文がないなら s/\bprint\b(.*)$/print(\1)/ でいいんじゃないかなあ
965デフォルトの名無しさん
2021/01/04(月) 20:12:17.65ID:KAZJSY+9
エディタ使って一つ一つ確認しつつ置換した方がいいと思うがな。
10000行程度なら俺ならそうする
966デフォルトの名無しさん
2021/01/04(月) 20:38:52.21ID:Nz2iXOdN
2to3使って元のファイルと差分を確認
が一番楽だと思う
そもそもPython2からPython3だとprint以外にも変更が必要だし
967デフォルトの名無しさん
2021/01/04(月) 21:24:49.11ID:Mk3YZcaQ
>>963
とりあえずprint()だけ変換しておけば、
from __future__ import print_function でPython2.7でも使えるから
段階を踏むという意味ではいいんじゃない?
968デフォルトの名無しさん
2021/01/05(火) 16:27:09.20ID:WDUeqgtT
>>959は変更点がprintだけだと思ってるような気がする
969デフォルトの名無しさん
2021/01/05(火) 19:49:51.47ID:vWLugMBZ
format() やfストリングで、例えば普段は小数点以下第2位までの数値表示で、整数部桁が大きくなる場合は小数点以下は第1位にしたりして、数値全体の最大桁数は固定にすることってできますか?
970デフォルトの名無しさん
2021/01/05(火) 21:26:54.87ID:8pOcMMb2
>>969
f"{123.456:.5g}" =>'123.46'
f"{1234.56:.5g}" =>’1234.6'

https://docs.python.org/3/library/string.html#format-specification-mini-language
971デフォルトの名無しさん
2021/01/05(火) 22:04:38.15ID:vWLugMBZ
>>970
ありがとうございます。
すみません、説明不足でした。

例えばですが以下のように、原則は小数点以下は4桁として、整数部が4桁を超える場合にのみ、小数点以下の桁数を切り詰めて欲しいのです。
(整数部が大きくなるケースを例外扱いのようにし、小数点以下は4桁以上増やさない)

{:8.4f}
__0.1234
_12.3456
123.4567
1234.567
12345.67

フォーマット文字列生成してから、[0:8]で先頭8桁を切り出すしかないですか?
972デフォルトの名無しさん
2021/01/05(火) 22:56:30.16ID:8pOcMMb2
>>971
foo = [0.123456, 12.34567, 123.45678, 1234.56789, 12345.67890, 12345678.90]
[f"{round(x, 4):.7g}" for x in foo]
#=> [‘0.1235', '12.3457', '123.4568', '1234.568', '12345.68', '1.234568e+07']
973デフォルトの名無しさん
2021/01/06(水) 14:44:12.17ID:EPQdiTFW
anacondaって有償になったって聞いたんだけど、今まで使ってたやつってどうなるの?
ずっと普通に使えていたから気付かなかった

講習で使ってるだけならセーフか?
つか、そんな事一度も教えてもらわなかったぞ
974デフォルトの名無しさん
2021/01/06(水) 14:48:50.11ID:+VwhUw/e
>>973
anaconda 有償
でググればいいのに
975デフォルトの名無しさん
2021/01/06(水) 16:58:18.74ID:ENhPhOS8
去年の頭くらいの話だろうに何で今更聞いてんだ
該当してたらもう遅いだろw
976デフォルトの名無しさん
2021/01/06(水) 17:35:38.04ID:EPQdiTFW
>>974
ググってもよくわからんから来たんだよ
つか、落としたの1年前でサイトなんて見てないんだから知らないよ...
977デフォルトの名無しさん
2021/01/06(水) 18:47:52.50ID:6Jl+4cGL
公式の最新情報くらい調べてからひとにきけよ
978デフォルトの名無しさん
2021/01/07(木) 07:00:37.94ID:4fMQSce9
>>976
シンプルな回答
気にするな

正確な回答
人員200人以上の組織で使ってるならコマーシャルライセンス版を買いリポジトリの使用料を払えという話だ
お前の頭ごときでそんな組織に勤めてAnacondaを使ってるわけがないだろ?
だから気にするな
979デフォルトの名無しさん
2021/01/07(木) 14:55:40.47ID:cztV9si0
こういうスレは必ず「情弱乙www」とか言うやつが現れるよね。そして何も教えないまま暴言だけを残して去っていく
980デフォルトの名無しさん
2021/01/07(木) 16:52:34.15ID:3TLTtAUE
>>979
情弱乙www
981デフォルトの名無しさん
2021/01/07(木) 17:08:04.26ID:pdkBwEAt
スレタイ見ろよ馬鹿
982デフォルトの名無しさん
2021/01/07(木) 19:23:23.70ID:0FtDyJbU
みんなこわい
983デフォルトの名無しさん
2021/01/07(木) 20:11:00.50ID:lA1VVWUe
うるせーハゲ
984デフォルトの名無しさん
2021/01/09(土) 05:22:56.31ID:IpHIsox4
つぎすれあげ

くだすれPython(超初心者用) その52【まず1嫁】
http://2chb.net/r/tech/1610137345/
985デフォルトの名無しさん
2021/01/09(土) 08:46:32.15ID:DLsCQOwy
バイナリデータをいじくるのに手間がかかってしょうがない
やはりテキストデータ専用言語だなPythonは
バイナリデータ操作に長けた言語を紹介してくれないか
業務で必要なんだ
986デフォルトの名無しさん
2021/01/09(土) 08:53:50.37ID:pIgeuh0b
>>985
C
987デフォルトの名無しさん
2021/01/09(土) 10:19:38.02ID:DLsCQOwy
>>986
Cに挫折してPythonに来たのでそれはちょっと勘弁
ううむ世の中思い通りいかんものだのう
988デフォルトの名無しさん
2021/01/09(土) 10:33:52.57ID:gRjfgS3h
またやったらええやん。
989デフォルトの名無しさん
2021/01/09(土) 10:38:29.76ID:fHVxD+CU
スクリプト言語でバイナリ操作というとperlでpack/unpack、pythonでstructモジュールあたりじゃないか?
それも手間だというなら他の言語でも似たようなもんじゃないかと思うが。
990デフォルトの名無しさん
2021/01/09(土) 11:33:01.84ID:SIlabjr/
扱うデータがリトルエンディアンならCは楽だけど、そうでないならCでも同じくらいの相応の手間はかかる
991デフォルトの名無しさん
2021/01/09(土) 12:41:43.34ID:DLsCQOwy
>>988
ポインタがわからんのよ
あれさえなきゃCはシンプルで良い言語なんだが
992デフォルトの名無しさん
2021/01/09(土) 14:06:54.27ID:N02pNv/D
バイナリ操作つってもいろいろあるから何やろうとしてて手間を感じるポイントを書かないと何とも言えんよ

エラーメッセージすら書かずに「エラーになるんですけど、どうすればいいんでしょう?」と同じレベル
993デフォルトの名無しさん
2021/01/09(土) 15:19:32.95ID:Lgj8dxsW
ポインタがわからないのにバイナリ操作したいってのは一体どういう了見だ
994デフォルトの名無しさん
2021/01/09(土) 15:43:28.50ID:dA4F+6va
Javaでいいじゃん
995デフォルトの名無しさん
2021/01/09(土) 15:43:30.94ID:D6Ll5jvx
分かるまでやれ
下手な説明だけ読んで理解しようとするから分からないままで進まないんだ
疑問に思ったら逐一書いて試せ
996デフォルトの名無しさん
2021/01/09(土) 17:59:21.61ID:pIgeuh0b
安全にバイナリを操作しようとしたら色々きをつけなきゃいけないけど、適当に実験するだけだったらCが一番楽だと思うけどなあ。
ポインタを気軽に操作できるからこその楽さだよね
もちろんpackとかunpackとか使ったら同じだけど、一手間ある感じ。
997デフォルトの名無しさん
2021/01/09(土) 21:19:19.27ID:kPw1IBO3
>>990
Cならエンディアンの変換なんて楽勝だろ
htons htonl ntohs ntohlとかのライブラリもあるし
998デフォルトの名無しさん
2021/01/09(土) 21:35:39.87ID:fHVxD+CU
2/4/8バイトをひっくり返すだけの関数ならべつにCじゃなくても楽勝だろうし
Cでも結局64bit版は自作しなきゃならんしで大して違いはないと思うが。
999デフォルトの名無しさん
2021/01/10(日) 04:23:22.15ID:RrNYWvxE
みんなバイバイナリ
1000デフォルトの名無しさん
2021/01/10(日) 04:58:15.36ID:9lOpXAqu
バイキンマンとコロ助が合体したかのような言い回し
10011001
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 84日 18時間 52分 37秒
10021002
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

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



lud20250323210207ca
このスレへの固定リンク: http://5chb.net/r/tech/1602896738/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「くだすれPython(超初心者用) その51【まず1嫁】 YouTube動画>8本 ->画像>5枚 」を見た人も見ています:
くだすれPython(超初心者用) その32
【まず1嫁】くだすれPython(超初心者用) その53
【まず1嫁】くだすれPython(超初心者用) その59
【まず1嫁】くだすれPython(超初心者用) その60
くだすれPython(超初心者用) その42【Ruby禁止】
くだすれjavascript(超初心者用) その1
くだすれDelphi(超初心者用)その60【Embarcadero】
くだすれDelphi(超初心者用)その16
くだすれC++Builder(超初心者用)その5
家族でスキー場に来ていた43歳がスノボで初心者用コースで木にぶつかり死亡 ヘルメット未着用・みやぎ蔵王白石スキー場
【初心者用】マイニング情報交換スレ21
【初心者用】マイニング情報交換スレ40
【初心者用】マイニング情報交換スレ44
【初心者用】マイニング情報交換スレ49
【初心者用】マイニング情報交換スレ11
Webサイト制作初心者用質問スレ part241
スピーカー自作などの初心者用 質問スレッド 01
【初心者用】パズル&ドラゴンズ【パズドラ】★125
Elona初心者質問スレッド その119
初心者です、今どんな練習をすればよいか教えてください
初心者質問スレ その123
冬山初心者スレ その37
初心者もOK FreeBSD質問スレッドその32
beatmaniaIIDX【DP】初心者スレ その31
人間関係の相談させてください(5ch初心者失礼)
【LoV】LORD of VERMILION 3 初心者スレ51
【MTGA】Magic The Gathering Arena 初心者スレ73
【MTGA】Magic The Gathering Arena 初心者スレ 203
【Switch】Splatoon3/スプラトゥーン3 サーモンラン 初心者スレ wave3
【Switch】Splatoon3/スプラトゥーン3 初心者スレ ランク12【質問/雑談】
初心者質問スレ その121
冬山初心者スレ その74
冬山初心者スレ その74
初心者質問スレ その117
初心者格安双眼鏡日記その1
マンデン占星術63(研究者用)
BMS 初心者質問スレ 14th style
初心者のための優しい質問スレ その9
初心者のための優しい質問スレ その2
初心者のための優しい質問スレ その21
【初心者】5km20分を目指すスレ その2
初心者もOK! FreeBSD質問スレッド その121
beatmaniaIIDX【DP】初心者スレ その29
Wonderland Wars 入門者・初心者スレ Part9
Blender 初心者質問スレッド Part33(ワッチョイ有)
ランス01 光をもとめて THE ANIMATION その2 ©bbspink.com
【PoE】 Path of Exile 初心者・質問スレ part58
【プロセカ】無課金 初心者 その他誰でも歓迎スレ 1曲目
初心者なんですが、オススメのレンズ教えてください
【PoE】 Path of Exile 初心者・質問スレ part52
【 総合 】仏教質問スレ☆彡その7【 初心者歓迎 】
amazonアソシエイト初心者スレ46冊目【5000円未満】
【MTGA】Magic The Gathering Arena 初心者スレ 9
【MTGA】Magic The Gathering Arena 初心者スレ65
【MTGA】Magic The Gathering Arena 初心者スレ 17
【MTGA】Magic The Gathering Arena 初心者スレ 218
【MTGA】Magic The Gathering Arena 初心者スレ 142
【MTGA】Magic The Gathering Arena 初心者スレ 206
【MTGA】Magic The Gathering Arena 初心者スレ 165
【MTGA】Magic The Gathering Arena 初心者スレ 80
【MTGA】Magic The Gathering Arena 初心者スレ 174
【MTGA】Magic The Gathering Arena 初心者スレ 108
/ ´,_ゝ`\初心者のための富士山登山入門134m (ワッチョイ無)
競馬初心者の美少女なんだけどおすすめのお馬さん教えてください!!
【Switch】Splatoon2初心者スレ11【スプラトゥーン2質問/雑談】
【Switch】Splatoon2/スプラトゥーン2 初心者スレ84【質問/雑談】
17:03:03 up 65 days, 18:01, 0 users, load average: 11.01, 10.45, 10.21

in 2.1122589111328 sec @2.1122589111328@0b7 on 062206