くだすれPython(超初心者用) その50【まず1嫁】

■ このスレッドは過去ログ倉庫に格納されています
2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

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

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

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
784デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:24:02.53ID:vl+UDRkB
>>771
from bs4 import BeautifulSoup
import urllib.request
r = urllib.request.urlopen('https://pastebin.com/raw/M7k2wffz')
b = r.read()
soup = BeautifulSoup(b)
for _ in soup.find_all('a'): print(f'{_.string} {_.attrs["href"]}')
785デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:28:46.15ID:vl+UDRkB
>>783
df.loc[0,'side']
2020/10/09(金) 11:48:56.36ID:bPQTuE9F
>>785
できました!
ありがとございます。
2020/10/09(金) 13:00:20.59ID:PNPQYtuM
>>777
1.11.0からキッズ向けにプリコンパイル配布されるようになるよ!
これで「Nokogiriのインストール方法」みたいなバカみたいな新規記事が減るね
ただしWindowsはハブられた
まあ、Windowsでプログラミングとか、ぴゅう太で商用アプリを作ろうとするようなもんだから、その辺はWSLで我慢しとくべきだ
2020/10/09(金) 20:19:27.76ID:V/MvAZpp
>>782
レスありがとうございますm(_ _)m
print のintは考えても見なかったです
意味がわからなくなるのでそのままでも良いかも
でも省略になれるとそっちのほうが良さそうですね
2020/10/09(金) 21:19:06.97ID:BFkw36Hz
print の代わりに ? で。
2020/10/09(金) 21:21:27.22ID:Jne8tQRQ
>>774
カッコ入力するのが面倒ならプログラミングなんかやめたほうがいいよいろんな記号入力するんだから
カッコ書かなくていい利便性なんか、 Python2でUnicodeテキストを処理するときの面倒臭さを考えると消し飛んでしまう。

まともなエディタ使ってたらタブを勝手にスペースにしてくれる。
てかVSCodeとか使ったほうがいい。

' は、US配列とかDvorak配列ならshift押さなくても打てるから楽なんで ' で打ってる人が多いのではないかな。
Pythonに限っては、打ちやすい方でいい、単なる好み。
キーボードの配列も好み。
2020/10/09(金) 22:07:58.46ID:Jne8tQRQ
>>775
HTMLのパースに正規表現を使うのは、ガチでアンチパターン
どうしようもないときに仕方なくそれを選ぶぐらいのもの
"円</div>"が突然、
"<span class="currency">円</span></div>"とかにマイナーチェンジするかもしれないし、
必要な部分を親子関係考慮して適切に抜き出すのも正規表現ではとても難しいので、
書くのに時間がかかるくせに柔軟性がないから避けるべき
2020/10/09(金) 22:13:31.48ID:V/MvAZpp
>>790
Python3から入ったんだけどなんだかカッコに慣れなくて・・・shift毎回押すのが嫌なのかも ()なくても分かるし
エディタは秀丸を昔から使ってる
VSCodeっIDE?Anacondaに適してる?
IDEは大昔Java使ってたときにEclipse使ってたカッコなど補完してくれて助かってたからまた使いたくなってる
ただ言語との相性が結構あった気がするからどんなのが適してるか気になってる
自動でスペースにしてくれても何かでカーソルが移動したときに何度も矢印キータイプするの面倒じゃない?タブよりもやたらとスペースが普及してるけど・・・
’はUS配列で楽だからなのか・・・Unicodeもそうだけど日本語ってだけでハンデあるな
2020/10/09(金) 22:28:50.69ID:QsQwnHPS
>>792 () を自動的に入れてくれるのを使えば良いじゃん
794デフォルトの名無しさん
垢版 |
2020/10/09(金) 22:50:52.07ID:Jne8tQRQ
>>792
そんな書き込みするよりカッコ1000回入力するほうが楽、慣れるが一番
カッコなんて他のところで一杯出てくるんだから気にするだけ無駄
そんなに記号打ちたくないなら本当にプログラミングやめたほうが良いと思う

VSCodeはAnacondaに適してるよ

キータイプなんか別に面倒ではない、押し続ければカーソルは動くのだから。
好みもあると思うが、個人的にはタブのところだけ加速するほうが気を遣うから面倒臭い
カーソルが思ったところにやってくるまでの時間なんか、次にどんなコードを書けばいいか考えているうちにすぐ過ぎ去ってしまう
これも好みだけど、タブとスペースが混在していてそれを気にしなきゃいけない状態のほうが面倒

日本語入力だってUS配列やDvorak配列で出来るんだから、ハンデだと思うなら
キーボードの配列変更ツールとか使って変更すればいいだけの話、'を簡単に入力できる前に、
配列の違いに慣れるのにそれなりに苦労するのを我慢できればの話だが
自分はDvorak派だけど、仕事ではJISもUSも打つことがあるので全部打てる、要は慣れ

面倒とかハンデとかいって秀丸使ったりダラダラ5chに書き込んだりしてる前に、
もっと調べて、さっさと色んなツールを試せばいいんだよ

プログラミングなんて、ベテランになったって結局、延々と調べる、試すの繰り返しだから、
いちいち面倒くさがる奴は本当に適性ないと思うよ。
一回試すのに1ヶ月かかるなら面倒だと思うのもわかるが、10分とかで試せるんだから。

printが面倒くさいならJupyter Notebookを使ってプログラミングするという手もあるけどね。
1 + 2とInセルに入力して実行したら、
Outに3と出てくる。いちいちprintしなくていい。
2020/10/09(金) 23:00:09.63ID:K94i/ju8
長文きめぇ
796781
垢版 |
2020/10/09(金) 23:11:12.08ID:760t1BpC
VSCode の拡張機能、Code Runner がおすすめ。
ファイル全体か、選択したコード片を、右クリックメニューから実行できる

これで、REPL もいらない

>>787
Windows のRuby Installer では確か、Nokogiri もプリコンパイルされていた。
ただ、Web Socket がプリコンパイルされていないので、

MSYS2 みたいなコンパイル環境が必要で面倒だから、
漏れは、Windows 10, WSL, Ubuntu 18.04 へ移った
2020/10/09(金) 23:59:37.21ID:gbXinOEZ
classの中で自分自身のclassを実行できないの・・?

class hoge:
_def __init__(self,f=None):
__print('hoge.__init__')
__self.f=f
__if f==None:
___return hoge("hoge")
__return self

h = hoge(None)
print(h.f)
2020/10/10(土) 00:05:29.20ID:RnJgUMSd
>>792
真面目にタイピングの練習でもした方がいいんでないの?
頭の中で考えたコードを手で入力する際に、思考を遮らない程度には素早く滑らかに、息をするかのように入力できるようになっておいた方がストレスがたまらなくていいぞ。
2020/10/10(土) 00:25:03.94ID:htE2jDjf
>>789
BASICかよ!
2020/10/10(土) 02:32:53.35ID:QUQzHt+d
>>792
なんでPythonで秀丸っていう縛りプレイしてるねん
VSCode使ってアドイン入れたら自動補完が出るからそれやっとけ
(IDEならPyCharmもあるけど、無料版だと機能制限的に途中で詰まる所が出てくるから機械学習目的ならVSCodeの方が楽)

ちなみにPythonはPEP8の規約でスペース4つって規定されてるから、スペースで統一されてる
というかエディタの機能でCtrl+左右キーで区切りの所に一気に飛ぶから
そんな事気にした事無かった
2020/10/10(土) 06:57:08.49ID:BB7IHqA2
せめてサクラエディタ使えよってとこだよなw
2020/10/10(土) 09:43:16.59ID:zxwCdOcf
>>797
__init__じゃなく__new__使って
2020/10/10(土) 10:15:24.64ID:ST4gBA8c
カッコがいやとか言うと begin .. end にされちうぞ。
804デフォルトの名無しさん
垢版 |
2020/10/10(土) 10:51:13.07ID:bCg5dd4F
機械学習でVScodeとかwww
2020/10/10(土) 11:10:49.39ID:rCgNLj7T
最近のvscodeのjupyter統合の力の入れ具合すごいで
806デフォルトの名無しさん
垢版 |
2020/10/10(土) 17:11:28.58ID:3Ps2ysUj
%ってどんなときに使うんですか?
807デフォルトの名無しさん
垢版 |
2020/10/10(土) 17:30:01.41ID:i5KfYhU+
>>> 5 % 2
1
>>> '123%d567' % 4
'1234567'
2020/10/10(土) 18:17:00.26ID:TAKk2otJ
横から
pyautogui使ってスクショを連続して保存したいんだけど、
画像の形式って選べないの?
pngで保存したんだがjpgと画質変わらん
2020/10/10(土) 18:33:03.78ID:LNtLtU7B
>>794
適正がなくても面倒くさがりでもプログラムってのは面倒を自動でやってくれるから可能な限り楽に使いたいと思ってる
というか面倒くさがりな人だからプログラムに頼るんじゃないの?
主に証券の自動売買とデータ解析、Arduinoの操作に使ってるけどやってることは人力でもできる
でも1分に1回価格を調べるとか手作業じゃ面倒すぎる。結局めんどくさがりなんだよ。
秀丸ディスられてるけど一度覚えたら癖みたいなものも分かるから面倒がないと思ってね
良いエディタ見つけたら最低でも10年は使い続けたい
少し前に友達が秀丸以外のエディタで編集してプログラムがバグった
調べたら自動で文字コード変わってたりBOMつけたり一つ環境変えるだけで想定外のエラーが出てその間プログラムが正常に動かないとか困った
もっと言えばWindows10を使ってるけどUIはWin98に近づけて使ってる
慣れるのが大変だから環境の方を親しんだものに変えてる
とはいえ限界はあるからどこかの時点でリープフロッグするようにしてる
あと、気軽にインストール言ってくれるけど今のPC環境壊れると困るから結構怖い
他のプログラムのDLLが関連ファイルとして変更されたりソケット通信やCAがおかしくなってエラーが出たりPythonのインストールだけで何度かすでにトラブってる
2020/10/10(土) 18:39:56.08ID:LNtLtU7B
VScode,Jupyter Notebookについては人気みたいなので使ってみようと思う
アドバイス助かる

>>798
タイプそのものはかなり早い方
Realforceの全30g使ってる
ただ腱鞘炎になってから少しでも文字数少なくしたいと思ってる
音声入力も試したけど文章はいいけどプログラムでは全く使えないわ
printについては本当に頻繁に使うし以前使ってた言語で不要だったからイライラするというのが大きい 慣れるわ・・・
2020/10/10(土) 18:42:39.94ID:GJWPALcX
>>809
60代とかなのか?
めんどくさがりでも、新しいもの好きじゃない人はとマジで適性ないよ。
瞬間的な集中力はあって、新しいものは試せるけど、ずっと同じことやるのは無理って人が向いてる。
あなたは未だに22年前のUIを使ってることに疑問を抱かないことからして、
面倒くさがりというよりは何事もやる意欲が湧かないタイプなだけで、なにかとやらない理由を探してるだけ。

環境壊れて困るならVMとかに開発環境作る方法もあるわけだし。
やらないことには知識も身につかないんだから意識変えなきゃずっとそのままだよ。
2020/10/10(土) 18:46:19.51ID:BB7IHqA2
>>809-810
Pythonとかのプログラミングはやめとけ
VBA@エクセルどまりがお似合い
2020/10/10(土) 19:15:17.89ID:LNtLtU7B
>>812
そうしたいのは山々だけどバックグラウンドで自動でArduinoの制御や株式の自動売買とWebとの連携(実際にはVPSで動かしてる)ができないと思う
ExcelのVBAは使ったこと無いから知らないけどできなさそうなイメージが有る
2020/10/10(土) 19:23:55.04ID:BB7IHqA2
>>813
(・∀・)カエレ!!!
2020/10/10(土) 19:45:23.87ID:GJWPALcX
>>813
前使ってた言語はなんなの?
それに近いおすすめの言語教えてあげるよ。
2020/10/10(土) 20:24:34.71ID:XZeeM3bO
>>812
Pythonが現代のVBAだぞ
考え方も使われ方も同じ
2020/10/10(土) 21:45:54.50ID:dm6yQzxc
>>812
目糞が鼻糞を笑う
2020/10/10(土) 22:53:14.63ID:bjtm+bd1
ストレートに言ってやるけど
面倒くせえ奴っぽいから理由つけて追い払いたいだけ
2020/10/10(土) 23:44:29.10ID:CKTMfle8
>>794
>>809
禿同
つか長文でここまで書いてあげるって性格良すぎだろ

グダグダ言い訳ばかりで変わろうとしない老人の相手より自分のメンターになってほしいわ
2020/10/10(土) 23:58:43.18ID:LNtLtU7B
>>811
OS変わる度に1週間位は試しているけど、どうにも慣れないんだわ
特にWin10とか例えば使いたいプログラムがすぐに見つからないとかでイライラしてしまった
よくみんな気にせず使えるなと思ってしまう
VMは試したことあるけど重たくなるから断念した
前に使ってた言語はPerl(32bit)シリアル通信に解決できない問題が生じてPythonを始めた
あと、TensorFlow使うにはPythonが良いらしく始めたところ
2020/10/11(日) 00:38:46.23ID:yFMbOCUi
スコープの問題で変数を前もって制限しなきゃいけないときってNoneでやればいいのですか?

hoge = None
if fuga==1:
hoge='maguro'
if fuga==2
hoge='neko'

print(hoge)

みたいな場合です。None以外で〇〇で初期化して宣言するのがお約束みたいのがあったら教えて下さい。
2020/10/11(日) 00:47:38.45ID:pHYX9F42
>>821
それ1行目のhoge=Noneはなくても別によくない?
823デフォルトの名無しさん
垢版 |
2020/10/11(日) 00:48:53.79ID:+mSbojph
別に初期化する必要ない
fugaが1or2以外のケースを定義する必要があるかどうかでしょ
if fuga == 1: hoge = 'maguro'
elif fuga ==2: hoge = 'neko'
else: hoge = None
2020/10/11(日) 01:06:09.06
おそらく、可視性なんかで
あるべき、あったほうがいい
を聞きたいのでは?
2020/10/11(日) 01:07:43.76ID:B+MSoWxK
>>820
Windows 10, WSL, Linux もある

ベンチャー企業は、AWS, CircleCI, Ruby on Rails ばかり採用する。
唯一の例外が、TensorFlow で、GCP を使う場合

Azure は、採用する理由がない
2020/10/11(日) 01:33:29.76ID:PWIkpq4I
>>820
ubuntuを使ってるんなら
同じようにWindowsでも使いたいアプリって
Winキー押して検索窓で打って使いませんか?
2020/10/11(日) 02:21:55.55ID:/8O7QJaQ
>>820
いずれは古いOSは使えなくなるんだし、皆移行していくんだから、
昔のほうがつかいやすかったとか愚痴言ってないで
1年ぐらい経って落ち着いた、仕事に影響が出てもクリティカルじゃないタイミングで最新OSにすべき

新しいOSへの移行は既定事項だから、自分は使えるからと先延ばしするのは、未来の自分の首をどんどん絞めてるのと一緒だよ

みんな(とくに職業プログラマー)は仕方のないことだから無理やりなれてるだけなんだよ
2020/10/11(日) 03:40:56.34ID:VC0TQ97C
>>808
pyautoguiのスクショ関係はPILのラッパーなのでPILを直接叩くのが正解
2020/10/11(日) 10:58:15.61ID:BIq+BgYw
webkit2gtk+python3で簡単なepubビューアを作っていて、
ブックマーク機能を実装しようと思っているのですが、
現在表示されている画面左上の文字列を取得するにはどのようにすればいいのでしょうか?
おそらくjavascriptを使うのかもしれないかもしれませんが、検索してもなかなか引っかりません。
ぜひお教えください。
830829
垢版 |
2020/10/11(日) 11:01:58.24ID:BIq+BgYw
ちょっと言葉足らずでした。
左上の文字列を取得して、ブックマークを「xhtmlファイル何枚目の文字列〜」で登録後、
ブックマークに飛ぶ時はバックグラウンドで検索してブックマークの文字列に飛ぶようなのを考えています。
これならウィンドウサイズが変わってもブックマークは同じ位置なので有用だと思うのですが、
肝心の最初の文字列〜を取得する方法がわかりません。
2020/10/11(日) 13:31:40.26ID:XtjCAXRh
guiに関してはpythonで全てやることは諦めてflask+javascriptでもやった方がいいんでないの。
2020/10/11(日) 14:14:52.19ID:yFMbOCUi
>>822
スコープの問題でif分の中で宣言した変数はif分の中でしかつかえないのでは・・・
2020/10/11(日) 14:46:10.58ID:lzwWotm9
>>832
pythonはクラス・関数単位のスコープで、ifやforではスコープ変わらないよ
明示的に初期化しておきたいならNoneがいい場合もあれば空文字列の方が向いてる場合もあるしケースバイケース
834829
垢版 |
2020/10/11(日) 15:04:52.13ID:BIq+BgYw
calibreのソースコード見ていたらepubcfiなる索引規格があるようです。
これを使ったほうが早そうです。どうもお騒がせしました。
2020/10/11(日) 20:00:24.86
import re
s = 'aiue o ka ki'
m = re.search('*', s)
print(m)

'*'で、sがなんであってもマッチすると思ったのですがエラーでました
'.?'だといけたっぽいですがこれは”なんでもマッチ”と同等でしょうか?
2020/10/11(日) 20:10:04.24ID:VC0TQ97C
*は「直前の文字が0文字以上続く」であって
それ単体だと何ともマッチしない
2020/10/11(日) 20:26:31.36
>>836
そもそも''に正規表現が使える?みたいなので*単体でもいけるのかと思っていました
とりあえず''は何もない文字として、'.*'としたところうまく?いきました
ありがとうございます
2020/10/11(日) 22:14:23.35ID:yFMbOCUi
下記のようなバーチャートで1つ目の項目だけ赤色にするにはどうすればいいのでしょう?

# Write bar chart
left = [1, 2, 3, 4]
height = [object_dependent_uns_index,
selective_attention_disorder_index, late_response_index, persistence_index]
labels = ['object_uns', 'selective', 'late', 'persistence']

plt.bar(left, height, color='blue', width=width,
tick_label=labels, align='center')
2020/10/11(日) 22:18:43.15ID:yFMbOCUi
>>838
ぐぐり足りませんでした。

colorlist=['red','blue','blue','blue']
plt.bar(left, height, color=colorlist, width=width,
tick_label=labels, align='center')

で自己解決しました。
スレ汚し申し訳有りません。
2020/10/11(日) 22:59:08.13ID:AhI6YFfN
>>831
PythonでGUIをやるならEEL一度
これが最強
2020/10/12(月) 01:50:10.81ID:n7CzEGW5
Djangoは難しいですか?
2020/10/12(月) 07:28:35.24ID:ur9A+2Tl
>>841
クラスとDBとHTTPがわかってたら難しくない
至って普通の作り
2020/10/12(月) 08:23:12.76ID:9+mMRMUS
>>842
自称エンジニアの何割が知ってますかねぇ…
844デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:00:09.47ID:941JO02h
>>841>>843 が同一人物かどうかは知らんが
知名度と選択基準は分けて考えた方が良いぞ
特に初心者なら猶更
845デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:02:55.30ID:rzm6EDrC
>>842
通りすがりのものですが
PHPをやった事あったら挑戦しやすいかな?
2020/10/12(月) 10:07:52.71ID:9+mMRMUS
>>844
ん?自分は841ではないよ
847デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:09:47.42ID:941JO02h
>>845
「PHP で何をやったか」だ

>>846
どっちでもいいよ
2020/10/12(月) 10:15:57.96ID:rzm6EDrC
>>847
7年ほど前にPHPで在庫管理のwebアプリをXAMPPで構築してみた事がある程度の初心者です
Pythonに興味あるんですがwebアプリとの連携
(妄想ですが、MySQLのデータで機械学習等)
が出来るかどうか気になりふらっと
このスレをのぞいてみました
2020/10/12(月) 10:24:05.91ID:rzm6EDrC
帰りにまた、ふらっと立ち寄って見るかもしれません。ではまた。
2020/10/12(月) 10:25:13.38ID:PgbimoqJ
Oracleのチュートリアルで機械学習がある
わざわざPython覚える必要すらない
851841
垢版 |
2020/10/12(月) 10:33:19.79ID:n7CzEGW5
>>844
本でDjangoを扱っているので、
自分でも出来るのか気になりました
2020/10/12(月) 10:41:23.35ID:JH4Ie8JE
Djangoの書籍なら図書館に何冊か置いてるだろうから、とりあえず借りてくれば
2020/10/12(月) 11:55:43.96ID:uVyXHzWE
FastAPI の人気が高まってるね。 flask に似てるがドキュメントを作ってくれる。
パフォーマンスが高い。

performanceは「japronto >>> FastAPI > responder >>> Flask ~ Django」だと言えそう
FastAPIとresponderはsingle workerだと秒間100~1000程度のrequestであればpython界で圧倒的なperformanceを誇るjaprontoとほとんど同水準

2020年08月21日に更新
[FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する
https://qiita.com/bee2/items/75d9c0d7ba20e7a4a0e9
2020/10/12(月) 12:46:08.79ID:CsRHImZw
たいていのベンチャー企業では、Rails, AWS, CircleCI を使う。
その唯一の例外が、GCP で、Tensorflow

Azure を使う理由はない
2020/10/12(月) 13:00:23.80ID:ur9A+2Tl
>>851
チュートリアルだってWebに日本語で転がってるのだから、やってみたらいいのよ。
もしくは読むだけでも使えそうかどうかはわかるんじゃない?
2020/10/12(月) 13:30:50.93ID:yhjc35c1
>>854
業界2位のクラウド環境に向かって何様だよ
現実を認識しろ生ゴミガイジ
2020/10/12(月) 13:48:27.48ID:PgbimoqJ
アメリカ政府はAzure採用しちゃったからね
これからのAWSはオワコンになるかもしれない
(ちなみに日本政府が採用したのはAWS)
2020/10/12(月) 14:15:17.84
ifでA and Bを使った時、もしAがfalseならBを処理する必要はないので
Aのみ処理でifを抜けるだろう、というのを確かめるために
def a(f):
_print(f'a = {f}')
_return f
def b(f):
_print(f'b = {f}')
_return f

if a(False) and b(True):
_print(True)
else:
_print(False)

としました
たしかにa()のみの実行となりましたが
それはどんな環境でも常にそうなるものなのでしょうか?
ifの入れ子にする必要なければandのまま行きたいです
859デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:19:06.37ID:941JO02h
優先順位を考えることと
if 中に複数の関数を直接書くときは関数の副作用に注意
(特に内部状態変更されるクラスとか使ってるとき)
副作用嫌うなら事前に実行した値を if に入れるんだろうけど
質問の趣旨からすればそれはしたくないようだし
860デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:24:25.36ID:Vee2Scwk
>>858
>それはどんな環境でも常にそうなるものなのでしょうか?
はい

"式 x and y は、まず x を評価します; x が偽なら x の値を返します; それ以外の場合には、 y の値を評価し、その結果を返します。"
https://docs.python.org/ja/3/reference/expressions.html#boolean-operations
2020/10/12(月) 14:28:14.65ID:8ONZQv63
>>858
>それはどんな環境でも常にそうなるものなのでしょうか?
―> Yes

and/or は(他の +/- といった算術演算子とは異なり)短絡評価されると
Pythonの公式ドキュメントで明記されている
短絡評価という概念に関しては「Python 短絡評価」でググッてください
2020/10/12(月) 14:43:54.99
>>859
つまり>>858の例だと_a=a(False),_b=b(True)とおいてif _a and _b:
みたいにするってことですかね(あえて_a判定後に_bを置かずに)。
b()がファイルやウェブ検索の結果だった場合に
そもそもb()したくない的な問題があるので悩みどころではあります。
>>860,861
なるほど
コードのぱっとみで短絡評価かどうか個人的にわかりにくかったのですが
それは文法というかそういう概念だからと考えるべきなのでしょうね

ありがとうございました
863デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:45:50.35ID:941JO02h
>>862
X というオブジェクトがあるとして
if X.a() and X.b():
みたいな操作をするとき
a() も b() も独立なら良いけど
a() や b() が X の内部状態を変更してて
特に b() の判定前に a() の結果が b() の結果に影響を及ぼすとかそんな時の話
本人にしか判らんだろうから気を付けてってだけの話
2020/10/12(月) 17:18:17.67ID:BGYOINpP
for分、またはそれに類似するもので
listの先頭数個分を一気に取り出すことってできませんか?

for i1, i2, i3 in range(10)
みたいな感じで使いたいです
865デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:26:54.56ID:uSTKc0a3
for i, j, k in np.array(range(9)).reshape((3, 3)):
print(i, j, k)
0 1 2
3 4 5
6 7 8
866841
垢版 |
2020/10/12(月) 17:30:44.39ID:n7CzEGW5
>>852
ありがとうございます
まずPythonの文法を勉強したいと思います

>>855
ありがとうございます
おいおい見てみます
2020/10/12(月) 17:32:09.25ID:ROPvsg3x
参考書1冊勉強したけどコード書ける気がしません…
これからどういうふうに勉強していけばいいかアドバイスくれると嬉しいです
2020/10/12(月) 17:36:57.04ID:BGYOINpP
>>865
ありがとうございます
2020/10/12(月) 17:39:18.80ID:EQae3Peh
>>867
ハローワールドくらいは済ませたの?
そもそもPCにPythonインスコは済んでるの?
870デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:41:11.87ID:uSTKc0a3
要素数が異なるとき
np.resize() は要素を先頭からループ
for i, j, k in np.resize(np.array(range(10)), (4, 3)):
print(i, j, k)
0 1 2
3 4 5
6 7 8
9 0 1
871デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:42:40.12ID:uSTKc0a3
要素数が異なるとき
ndarray.resize() は 0 を代入
a = np.array(range(10))
a.resize((4, 3), refcheck=False)
for i, j, k in a:
print(i, j, k)
0 1 2
3 4 5
6 7 8
9 0 0
2020/10/12(月) 17:54:23.48ID:+qsYcvra
一番人気気の言語にしておけば問題ないよ。
今やPython かc の二択だろ。
2020/10/12(月) 18:03:40.03ID:ROPvsg3x
>>869
その辺は済ませました
参考書に載ってるコード打ち込んだりwebに転がってるソースコードコピペしてどんな感じに動いてるのか試したりしました
2020/10/12(月) 18:42:30.46ID:EQae3Peh
じゃああとは作りたいものができるまで特段何も上達しないのでは>>873
875デフォルトの名無しさん
垢版 |
2020/10/12(月) 18:46:41.41ID:Vee2Scwk
オンラインでコード書きながら学習できるサービスあるからそういうのやってみるといいと思います
paizaとかそういうの
2020/10/12(月) 18:53:23.49ID:pKhIQZhz
定期的にchunkingの質問出るけどどのやり方も微妙だよね

標準で用意してくれてもいいのに
2020/10/12(月) 19:08:38.01ID:ur9A+2Tl
>>864
i1, i2, i3 = arr[:3]
878デフォルトの名無しさん
垢版 |
2020/10/12(月) 19:19:17.17ID:O3dT02h1
import tkinter as tk

root = tk.Tk()
tk.iconbitmap(default='icon.ico')

root.mainloop()

みたいにタスクバーの左上にアイコン入れようとすると
起動時なんかワンテンポ遅れるような挙動あるけどこれ仕様??

対策知ってたら誰かおすえて
2020/10/12(月) 19:42:18.40ID:EQae3Peh
>>878
アイコンをMIME BASE64化したデータをPythonのコードに埋めておき、読ませる
2020/10/12(月) 19:52:19.15ID:I6cIE2s+
練習問題でmatplotlibというのが出てきたのですがこれはjupyterでしか使えないのでしょうか IDLEだとどう宣言して使えばよいのでしょうか
2020/10/12(月) 19:54:18.78ID:EQae3Peh
>>880
その問題の解説やヒントにのってないのか?
宿題なら、宿題丸投げスレへいどうしる
むしろjupyterで使うのはちょっと変化球なんじゃ…
2020/10/12(月) 19:56:23.03ID:EQae3Peh
>>878
そもそもアイコンのサイズはちゃんとタスクバーの左上とやらのサイズになってんの?
リサイズ必要なクソ品質のアイコン食わせてたら
そら重いぞ
2020/10/12(月) 20:04:41.16ID:I6cIE2s+
>>881
載ってないです
ソフトを入れてやってくださいと書いてます
宿題ではなくフリーのサイトを見ながら勉強しております
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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