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

■ このスレッドは過去ログ倉庫に格納されています
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

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

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

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2021/08/05(木) 09:01:28.24ID:EZ1IxHo4
Python2.x系の標準機能で利用できる圧縮・解凍のアルゴリズム/ライブラリってどんなものがありますか?
2021/08/05(木) 09:02:35.42ID:EZ1IxHo4
>>511
追記で、圧縮・解凍は、gzipやlzmaなどのバイト列を圧縮・解凍するもののことを示しています
2021/08/05(木) 11:35:15.31ID:waLxPY4a
https://docs.python.org/2.7/library/archiving.html
2021/08/06(金) 20:15:11.32ID:JhN11GPp
>>513
ありがとうございます。
zlibってのを使うのが楽そうですね
2021/08/06(金) 22:36:50.04ID:51YKCZf/
紙でコーディングしてる糞爺がいると聞いて来ました
2021/08/06(金) 22:42:47.66ID:XG0RyhbE
池沼に餌を与えるな糞ガキ
517デフォルトの名無しさん
垢版 |
2021/08/07(土) 00:32:45.52ID:rXkekRAR
自演乙ωωω
2021/08/09(月) 16:08:36.97ID:pUf0hcKp
紙でコーディングwww
2021/08/09(月) 17:59:58.43ID:IcUHLhla
昔、COBOLにはコーディング用紙があってだね。。
520デフォルトの名無しさん
垢版 |
2021/08/09(月) 18:33:09.38ID:qllYLnEb
インタプリタのきもちになるですよ
2021/08/09(月) 19:19:37.91ID:bLRt8Cws
ナイコン時代はノートに書いてMSX持ってる友達の家に行ったなぁ
2021/08/09(月) 19:21:31.61ID:78aLRiJY
>>514
Ruby にも、gzip 用のzlib 拡張ライブラリがある
2021/08/09(月) 19:50:09.21ID:/FHsR+QR
プログラム用紙はfortranやbasic用もあったなぁ
2021/08/09(月) 21:07:18.76ID:JfaUnRB2
紙でコーディングする有用性のわからないやつは素人
昔々のコーディング用紙に書いてたのとは目的が違う

ペーパーコーディングはホワイトボードコーディングの一人プレイ
2021/08/09(月) 21:46:04.35ID:44SGxeRs
おじいちゃんもうプログラムはきついでしょ?
2021/08/09(月) 22:49:45.44ID:IcUHLhla
会議中メモを取る振りをしつつ紙にコーディングする事はあるな
2021/08/10(火) 03:26:30.75ID:dBGoRJhg
それアメリカの面接手法でしょ
紙がもったいないから老害は早く氏んで
2021/08/10(火) 11:01:19.31ID:9Jx01spV
いつまで紙とか言ってんだよ
そんなこと言ってるからにっぽんのITはまじ低レベルってバカにされるんだよ
プログラムの前に頭使えって
2021/08/10(火) 15:13:06.11ID:QlDWWv1x
sqlalchemy使ってるんだけど、
flask使ってないバックエンドのみで完結する方のスクリプト

webアプリ側のスクリプト
それぞれsqlalchemyとflask_sqlalchemy分けて使ってると
コーディングも微妙に変わってきて書き直すの面倒なんだけど
そういうものなのでしょうか?
530デフォルトの名無しさん
垢版 |
2021/08/10(火) 16:38:31.12ID:QOeLlU4q
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

強姦と窃盗はできるんだね!
すごいぞ朝鮮ゴキブリBot君!

クソチョンw
2021/08/10(火) 17:38:11.29ID:ATwEhT0x
>>530
↑この可哀想な子は何なの?
2021/08/10(火) 17:49:01.89ID:IfqoqUXV
お前さあ、ガイジを見かけるたびに近くにいる人に
「この可哀想な子は何なの?」って聞いてるの?
2021/08/10(火) 18:00:15.65ID:9wi/dlAk
>>1
に書いてる、荒らし

>「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。
荒らしは、完全スルー放置が一番きらいです

あちこちのスレの1を改変して、勝手に書いてる荒らし。
確か、工学部というコテハン。
プログラマーじゃない。ソースコードを見た事ない

あちこちのスレの1を勝手に改変して、荒らしている。
こういう勝手に追加したものは、削除した方が良い
534533
垢版 |
2021/08/10(火) 18:04:12.44ID:9wi/dlAk
荒らしは、他のスレのテンプレも、勝手に改変して、新しく立てたりする

漏れらは、そういうスレを削除して、立て直したりしてた。
次スレからは、1のテンプレを元に戻した方がよい
2021/08/10(火) 18:46:28.65ID:21u4vH9c
>>533
お前自信も>>1に書かれてる荒しだろ
頻度が高い分、お前の方が迷惑な存在だから消えろ
2021/08/10(火) 19:29:42.41ID:E/LIVVZz
ああ、こいつRubyガイジか
しれっと自分を欠陥生物から除外するなよ
537デフォルトの名無しさん
垢版 |
2021/08/10(火) 20:42:13.30ID:PJ1bHB/F
このキチガイ文体はAI使うまでもなく分かるだろ
2021/08/10(火) 23:16:26.34
pythonファイルの名前が目的になってる場合
【sumAB.py】
def ◯◯(a,b):
_return a+b

この◯◯の命名はどうしたらいいの?
無難にpythonファイル名と同じでいいのかな
で、importしたときに
from samAB import samAB
みたいな

そもそもあんまり細かくわけないほうがいい?
例えば
【calc.py】
def sumAB(a,b):
_return a+b
def mulAB(a,b):
_return a*b
from calcAB import sumAB,mulAB
みたいな
2021/08/10(火) 23:17:25.06
訂正 from calcAB import sumAB,mulAB
from calc import sumAB,mulAB
>>538
2021/08/11(水) 08:24:03.86ID:bsI09qNM
プログラム初心者ですが、みんなのpythonを一通りやりました
2冊目におすすめの本などあれば教えてください
2021/08/11(水) 08:41:39.09ID:2aR8J+Za
1冊分やったならそろそろ実演経験積めとしか
何やりたいんだよ
例えば機械学習やりたいとか簡易サーバー立てたいとか何かあるでしょ?
2021/08/11(水) 08:54:39.67ID:qGuH144a
pip install をするとこういうエラーが出てきてインストールに失敗するんだけど、なにかわかる人がいたら教えてくれ。
多分Python2のスクリプトが悪さをしているところまではわかったけど、そこから先そうすれば良いか分からん。
スレチだったらすまん。

環境:
Linuxmint 20.2
Python 3.8
pip 20.02

ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"'; __file__='"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-j4aygllu/pysmell/pip-egg-info
cwd: /tmp/pip-install-j4aygllu/pysmell/
Complete output (6 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-j4aygllu/pysmell/setup.py", line 27
print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(post_install_message)?
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
2021/08/11(水) 09:03:47.83ID:sYwGtBdi
PySmellって悪気はないんだろうがなんか下品な名前だな
2021/08/11(水) 09:04:29.85ID:2aR8J+Za
知らんけど2のpip呼ばれてるのでは?
3のpipの実行パスコマンドラインに直打ちすればいーんでね(鼻ほじ)
2021/08/11(水) 09:40:36.88ID:Z6PNV5dP
Ruby なら、print( a ) を、print a と書けるけど、
Python は知らない

print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'.
Did you mean print(post_install_message)?
2021/08/11(水) 10:29:02.04ID:iNehorPT
N88BASIC でも出来るぞ
PRINT A
547デフォルトの名無しさん
垢版 |
2021/08/11(水) 11:27:09.73ID:0GbSOwJG
>>538
__init__.pyを書けば import方法は変更できる
2021/08/11(水) 12:30:56.86ID:clru1KUg
>>542
Pysmellについて軽くググったけど、これ13年前のライブラリか
単純にPython3に対応してないんじゃねこれ
2021/08/11(水) 13:28:39.01ID:ov//wDX1
tに何か入ってきたときと、こなかったときとで
受け取り方を変えたいので
↓のように書いたのですが、returnの部分はこれでいいでしょうか?

def hoge(t=[]):
_x=111
_y=222
_items=[]
_for n in t:
__items.append(n)
_return [x,y,*items]
x,y=hoge()
print(x)
print(y)
print()
x,y,a,b=hoge(["aaa","bbb"])
print(x)
print(y)
print(a)
print(b)
2021/08/11(水) 13:35:55.99ID:aGarSqMh
それってreturn [111, 222, *t]と同じじゃん
何がしたいかわからない
2021/08/11(水) 13:36:27.88ID:ov//wDX1
もしr=hoge()で受け取った場合、rに配列が入りますが、

return x,yだった場合は、タプルで返されますよね
なのでreturn (x,y,*items)みたいに
タプルで返した方がいいのかな?と思いまして >>549
2021/08/11(水) 13:40:42.37ID:ov//wDX1
>>550
本来の用途は、tを再帰して使う
ってことです、しかしそこは冗長なので省略して
何がしたいのかわからないようなhogeという関数名にしています
2021/08/11(水) 13:41:45.42
たまに現れるガチアスペ的な人はネタなのかなんなのか
2021/08/11(水) 13:49:24.55ID:aGarSqMh
どんな計算をするかわからないけど
もし一つのリストにappend/popしていくやり方ができるならそれが効率的だよね
そうでないなら好きにすればとしか言えない
mutableである必要がないならタプルのほうがいいかも
2021/08/11(水) 13:56:30.88ID:ov//wDX1
>>554
なるほどありがとうございます
(受け取った先の)格納された変数をそのまま扱うことが目的なのでとりあえずタプルにしておこうかと思います
2021/08/11(水) 23:17:47.13ID:GEUkRunT
>>541
機械学習、スクレイピングに興味あります
あとは実践あるのみですね、頑張ります
557デフォルトの名無しさん
垢版 |
2021/08/12(木) 00:46:08.61ID:xG1RPqdX
スクレイピングは逮捕される危険があるって聞いたんだけどマジ?
2021/08/12(木) 03:03:44.52ID:id/zPgju
マジだよ
世の世知辛さを悲観して自殺することを薦める
2021/08/12(木) 11:21:51.21ID:s+UN3BdM
スクレイピングでは、そのサイトのrobots.txt を遵守する必要がある

初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!

だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない

Udemy の山浦清透、2021/6 の動画を参照。
マイナビ転職をスクレイピングしてる

【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
2021/08/12(木) 15:45:04.99ID:YXlgEKkk
requestsだと<br>タグはそのままなんだけど
Beautifulsoupに読み込ませると<br/>タグに置き換えられてしまう
html.parserもlxmlも同じ。<br>のままsoupにする方法ないんかな
2021/08/13(金) 01:53:18.22ID:kzYHP2KN
じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?
2021/08/13(金) 05:59:00.03ID:OVgnWf25
逆にスクレイピングしてほしいんだよ
Google botがクロールできなくてGoogleで検索できなかったら困るだろ?
個人にスクレイピングされても不利益しかないが な

robots.txt守っててもあんまりアクセスしすぎても相手に負荷与えちゃうから一回のアクセスにつきどのぐらい待てばいいか考えて常識の範囲内でお楽しみください
「岡崎市立中央図書館事件」のことも調べてみ
2021/08/13(金) 07:44:59.75ID:RVSIiplP
スクレイピングって一歩間違えたら逮捕??怖すぎ
2021/08/13(金) 15:51:14.06ID:KJAOvV5T
まさに素人にはお勧めできない
2021/08/13(金) 16:18:25.34ID:K9p8aCtq
flaskのテンプレートで
{{ ここでコード実行できるけど }}
{{ hensu=dict.x }}
{{ hensu }}
みたいに変数に格納ってできないのかな
dict.xをあれこれ加工した値を使いたい時
毎回dict.xを加工しなくちゃいけないのだろうか?
もちろんdict.xが単一であればテンプレートの外で加工したものを渡せばいいだけなんだけど
2021/08/13(金) 16:26:03.53ID:K9p8aCtq
レスした直後に改めてぐぐったら
{% set hensu=value %}
でいけた
お騒がせしました
2021/08/14(土) 16:50:13.84ID:hrfYhF/k
l1 = [[0 for i in range(7)] for j in range(2)]
で作った [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]] を宣言の後で拡張して、
[[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]]
にする方法を教えて下さい。
2021/08/14(土) 16:55:31.84ID:aA5bsH8A
l1.append([0 for i in range(7)])
2021/08/14(土) 17:17:06.12ID:hrfYhF/k
サンコス、出来ました
2021/08/14(土) 20:33:25.96ID:V/kafYgI
f = open('listfile.txt', 'r')
line = f.readline()

while line:
print(line.strip())
line = f.readline()
f.close()

↑上記のようなコードで、数千文字×数万行のテキストファイルを読み込んだ場合
 メモリ効率というのはどうなるんでしょうか?
 line変数に全ての行が格納されているとしたら、そこが全部メモリを占有してしまったりするのでしょうか?
 それとも、Pythonの場合はそこらへんのメモリ処理をイイ感じに処理してくれるのでしょうか?
2021/08/14(土) 20:45:55.87ID:aA5bsH8A
readline()で一行ずつ読むから使用するメモリは最大で一行分ですよ
2021/08/14(土) 20:58:38.10ID:V/kafYgI
>>571
ありがとうございます。
2021/08/15(日) 01:12:22.32ID:rOIXbdCv
今までVBAしか経験なかったんだけどpythonてVBAより簡単までありますね
今まで頑張ってCSV編集してたのが馬鹿みたい
574デフォルトの名無しさん
垢版 |
2021/08/15(日) 02:21:34.96ID:Ua8YLJnm
windowsです
指定したフォルダ内にいくつフォルダがあるか調べたい
len(p for p in src.iterdir() if p.is_dir())
だと、max_path越えてるpをFalse判定します
なにかいい手段はないでしょうか
575デフォルトの名無しさん
垢版 |
2021/08/15(日) 02:27:06.28ID:Ua8YLJnm
すいません
max_path解除不可です
2021/08/15(日) 04:39:27.95ID:7SSKhdI7
a = [(lambda x: x * i) for i in (1, 2)]
>>> a[1](1)
2
>>> a[0](1)
2

これがxがundefinedにならない理由はなんですか?またx:の部分は引数ですよね?何も受け取らなくてもエラーにならないんですか?
2021/08/15(日) 05:05:10.89ID:tz+DZcyH
>>574
長さチェックしてMAX_PATHを超えてるなら
絶対パスに"\\?\"を付けて試してみたら
(escapeが必要なら"\\\\?\\")
2021/08/15(日) 05:07:28.10ID:tz+DZcyH
>>576
a[0](1)で引数のxに1を渡してる
何も渡さないのはa[0]()
2021/08/15(日) 05:18:47.52ID:7SSKhdI7
>>578
本当だa[0][1]かと思ってたどうも!
しかし面白い言語だ
580デフォルトの名無しさん
垢版 |
2021/08/15(日) 08:18:33.41ID:Ua8YLJnm
>>577
んー層浅いのに名前だけ超長いみたいな例がありうるんです…
なんか短縮?するのってなかったでしたっけ
c:¥foo~¥bar~みたいなやつ
名前が分からないんだけど、windllあたりを叩いてどうにかならんものか
581デフォルトの名無しさん
垢版 |
2021/08/15(日) 13:14:30.49ID:6uWudvu4
馬鹿には無理
582デフォルトの名無しさん
垢版 |
2021/08/15(日) 13:58:20.70ID:v+aZA8Y6
馬鹿じゃないもん!
583デフォルトの名無しさん
垢版 |
2021/08/15(日) 15:47:33.56ID:si7Mpb2N
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
2021/08/15(日) 17:05:24.89ID:7SSKhdI7
>>576
しかしこれiの値が違う関数が2つ作られたと思わせておいて都度iが上書きされてるってやばいな
Python特有の謎挙動他にもあるんだろうな
2021/08/15(日) 17:34:12.53ID:tz+DZcyH
>>584
変数のスコープを理解すれば謎挙動でもない

for i in range(5)
__pass
print(x) // xは4

FAQにも出てるけど変数のスコープについて詳しく解説されてる入門書を1冊読むといいと思う
クラス変数とインスタンス変数のごっちゃに比べれば理解しやすい
2021/08/15(日) 17:40:34.69ID:tz+DZcyH
>>580
試してみたけど>>577のやり方でTrue返ってきたよ

Path("\\\\?\\" + str(path.absolute())).is_dir()
2021/08/15(日) 18:38:17.55ID:huFV89Rq
sqlalchemyでfilterに条件式を動的に入れる時って
.filter(Class.【ここ】 == '値')

【ここ】の部分どうしたらいいの・・?
2021/08/15(日) 18:45:38.77ID:huFV89Rq
自己解決したかも >>587
from sqlalchemy import text

.filter(text("条件式"))でできるみたいだけど
Class.はいらないのだろうか・・
とりあえず試してみます
2021/08/15(日) 19:58:08.59ID:YSnEOPEZ
以下のコードで、数十万行程度の大きめのファイルを作成した場合も
必ずprint("3")はprint("2")の後に実行されますか?
ちゃんとファイルが作成され終わった後に処理をしたい場合、何か必要な記述はありますか?

print("1---------")

with open(FilePath, 'w') as f:
   f.write("test")
   print("2---------")

print("3---------")
2021/08/15(日) 20:08:24.78ID:YSnEOPEZ
>>589
具体的には、ファイルを書き込みし終わった後に
書き込みしたファイルを読み込みたいのですが
問題なく順序通りに処理が行われるのかが気になっています
2021/08/15(日) 20:53:40.27ID:bN+9aniQ
される
2021/08/15(日) 23:10:43.11ID:YSnEOPEZ
>>591
ありがとうございます。
2021/08/16(月) 00:39:51.07
再帰の内包表記でbreak使いたいんですけど
無理でしたっけ?
例えば

ary = ['a','b','c','b']
ary2= ['b','c']
[ n for n in ary2 for m in ary if n==m ]
#['b','b','c']

となるけど最初のn==mでbreakして
['b','c']にする感じです
2021/08/16(月) 01:19:35.67ID:RjtYQ2nK
そんなものはない
595デフォルトの名無しさん
垢版 |
2021/08/16(月) 10:43:06.74ID:X3qQwgV7
>>586
これパスをUNC化するんですね
勘違いしてました。助かりました
596デフォルトの名無しさん
垢版 |
2021/08/16(月) 12:49:48.06ID:X3qQwgV7
一応追記

is_fileやis_dirは通るけど
pilはopenできなかった(FileNotFoundError)
ioはやっぱwindowsのLongPathEnabledが有効でないといかんようだ
2021/08/16(月) 14:43:52.65ID:Gh+OcB3l
>>585
iは4だけどxはundefinedじゃね?

それはともかく
>>> a = [(lambda i: (lambda x: x * i))(i) for i in (2, 3)]
>>> a[1](1)
3
>>> a[0](1)
2
なんだかな
598デフォルトの名無しさん
垢版 |
2021/08/16(月) 14:53:00.33ID:Gh+OcB3l
>>596
PIL で直接開けないときは
io.BytesIO() を使って先にメモリ上に読んで
PIL は bytesIO から読むとうまくいくはず
2021/08/16(月) 15:12:51.28ID:ebJKRLr3
>>596
Pathで渡さずに"\\?\"を追加した文字列として渡せば開くんじゃないかな
Pathで渡すと内部でresolve()呼ばれて"\\?\"がbuilt-inのopenに渡される前に消されちゃってるので
https://github.com/python-pillow/Pillow/blob/master/src/PIL/Image.py#L2967-L2974

面倒なのでパスを短くするかレジストリを変更するかしたほうがいいとは思う
2021/08/16(月) 15:19:33.45ID:ebJKRLr3
>>597
部分適用したいならpartial使えばいい

from functools import partial
a = [partial(lambda i, x: x * i, i) for i in (2, 3)]

Pythonでこういう使い方するのは稀だけど
601デフォルトの名無しさん
垢版 |
2021/08/16(月) 16:09:27.28ID:X3qQwgV7
>>598
はー。色んなテクがあるんですね
すごい勉強になります

>>599
いいねボタンがあったら乱打してます
2021/08/16(月) 17:06:39.96ID:IO9rrDhR
>>597
公式FAQによると、こんな感じに書くのを推奨しているように見える。

a = [lambda x, n=i: x * n for i in (2, 3)]

https://docs.python.org/ja/3/faq/programming.html#why-do-lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result
2021/08/16(月) 20:13:07.13ID:LeWMKcGD
pythonでのスクレイピングでbeautifulsoup4とIxmlの使い分けってあるんですか?
今勉強してる本だとlxmlを使うことが多いので使い分けが気になります
604デフォルトの名無しさん
垢版 |
2021/08/16(月) 20:13:44.57ID:Dz+YmPwS
内包表記でも同じなんだな。この場合lambdaのローカルではないiはどこに残っていることになるんだろ。
forの場合はループ終わってもiが参照可能だから分かり易いけど。
2021/08/16(月) 23:04:11.60ID:AbohF8Pa
>>602
はぁー感心したわ
2021/08/17(火) 05:57:47.50ID:t0cSJCOl
関数のローカル変数と同じ扱いじゃないかね。

def f():
__r = []
__for i in (2, 3):
____r.append(lambda x, n=i: x * n)
__return r

a = f()

こんなコードを実行しても i がグローバルに現れないのと同じ。
2021/08/17(火) 08:28:00.17ID:JAfXgPxe
文字列中の「"」(ダブルクォーテーション)をすべて「\"」に置き換えてprintしたいのですがどうしたら良いですか?
↓のコードを試してみましたが、「\」(円マーク)がprintされませんでした。

test = 'aaa="iii"'
test.replace('"','\"')
print(test)
608デフォルトの名無しさん
垢版 |
2021/08/17(火) 08:43:07.39ID:gaP7rkot
test.replace('"',r'\"')
2021/08/17(火) 09:31:57.36ID:JAfXgPxe
>>608
できました
ありがとうございます!
610デフォルトの名無しさん
垢版 |
2021/08/17(火) 13:47:01.89ID:Q6ss2SIB
>>606
なるほど!
def f():
... r = []
... for i in (2, 3):
... r.append(lambda x: x * i)
... return r
...
>>> a = f()
>>> a[1](1)
3
>>> a[0](1)
3
611デフォルトの名無しさん
垢版 |
2021/08/17(火) 22:16:40.96ID:4J/S2o5Z
tkinterでアプリを作成しています
ボタンが3つあって、それぞれボタンを押すと次の関数が実行されます
def window(test):
root = tkinter.Tk()
これによって開かれた複数のウィンドウがWindows10のタスクバー上で、
自動的にグループ化されるのですが
これをアプリ側で分離させる方法はないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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