19/02/17 15:09:57.38 2Zsn/By5.net
yesタブ非推奨
正規表現できるエディタ(秀丸エディタとか、sakuraエディタ)で
\tを「 」(半角スペース4つ)に一斉置換でおk
185:デフォルトの名無しさん
19/02/17 15:13:46.38 naWxhgEk.net
>>172
ルビ厨に構うなよ…
186:デフォルトの名無しさん
19/02/17 15:27:26.15 yxjz1BDw.net
>>171
すいません、解決しました、
文法がRubyとごっちゃになってcloseに()が付いてませんでしたorz
エラーにならないから全然気づかなかった…
187:デフォルトの名無しさん
19/02/17 15:39:19.93 yfMLX38R.net
>>176 一括変換はどのようにしてもできるんだけど、コピペして動かそうとして修正するときに面倒。
利口なIDEなら両方を調整してくれても良さそうなものだけどな。
まだ、IDEをどうするのか決めてないし、とりあえずEclipseに入れるつもりだけど、なんか途中でつまづいてる。
188:デフォルトの名無しさん
19/02/17 15:49:18.49 naWxhgEk.net
>>179
大抵のIDEでTabキーでスペース挿入とかできるはずだが?
189:デフォルトの名無しさん
19/02/17 17:18:58.04 OPCV5npO.net
>>178
with open構文使えばそんなことで悩むことなかったのに
190:デフォルトの名無しさん
19/02/17 17:29:14.69 +S0MQzvf.net
>>180 IDEはまだ使っていないって、pythonista やjupyter で練習中
ただ、IDEでスペース挿入できたって、コピペしたやつとスペースの数が違えばダメだろ? 大抵は一括変化できるだろうけど。
それでもjupyter などで使おうとするとやはり苦労するよね?
191:デフォルトの名無しさん
19/02/17 17:50:07.52 +S0MQzvf.net
質問(1)
‘__main__’ in globals()
や、
2 in [1,2,3]
がTrueになるのはなんで?
定数 in 集合は、定数を取り出せと言う意味なのかな?
i in [1,2,3]
が許されないの�
192:ヘ何を取り出すのわからないからかな? 質問(2) print( [i for i in [1,2,3] ] ) が許されて print( (i for i in [1,2,3] ) ) が許されないのがわからない。
193:デフォルトの名無しさん
19/02/17 17:56:47.88 T3+WXnTJ.net
>>183 質問(1)は自己解決
まともな文法書を読み始めて2日目で、ようやくたどり着いた。
《in演算子によるメンバシップ検査》
書き方: 要素 in リスト
リストの中に要素があればTrue,なければFalseを返す.要素が含まれないことを検査するにはnot inと記述する
194:デフォルトの名無しさん
19/02/17 18:15:18.83 naWxhgEk.net
>>182
グダグダ言う暇あったらテキトーなIDE使ってみなよ
スペースの数とかも指定できる
そもそも他の開発者がいちいち一括変換とかして苦労してるわけ無いだろ
195:デフォルトの名無しさん
19/02/17 19:09:07.40 9eEjpIke.net
>>183
質問(2)について
二つ目が「許されない」と言う意味が分からないが、少なくとも文法的には間違いではない
(i for i in [1,2,3] ) はジェネレータ内包表記といいgeneratorオブジェクトになる
ジェネレータはnext関数に渡すと次々に値を返す。最後まで到達するとStopIteration例外を出す
>>> gen = (i for i in [1,2,3])
>>> gen
<generator object <genexpr> at 0x7fb1b1a86ba0>
>>> next(gen)
1
>>> next(gen)
2
>>> next(gen)
3
>>> next(gen)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
196:デフォルトの名無しさん
19/02/17 19:20:42.25 glILnxtO.net
ビートセイバーの通常プレイってなんだかんだで斬る方向も指定されるから
いまいち魅せプレイには向いてないんよな
めめめにダースモールプレイでくるくるしてほしいンゴ
URLリンク(www.youtube.com)
197:デフォルトの名無しさん
19/02/17 19:20:57.80 glILnxtO.net
誤爆
198:デフォルトの名無しさん
19/02/17 19:31:52.09 +S0MQzvf.net
>>186 有り難う。 同じような形なのになんでprint ができないのかと言う疑問だった。
print( (i for i in [1,2,3] ) )
は、ジェネレータから取り出してしないからと言う理解で良いの?
199:デフォルトの名無しさん
19/02/17 19:51:22.25 OPCV5npO.net
>>189
Pythonの分かりにくいところだよね
同じ記号を別の意味で使っている
[1,2,3] リスト。集合は可変
(1,2,3) タプル。集合は不変
if 2 in [1,2,3] リストの中に2が含まれるか判別
for i in [1,2,3] リストの要素で繰り返し
[i for i in [1,2,3]] リストの要素で繰り返した結果を演算しリストとする
(i for i in [1,2,3]) リストの要素で繰り返した結果を演算するgeneratorを返す
普通に考えたらgeneratorではなく演算結果をタプルで返すように思うよね
200:デフォルトの名無しさん
19/02/17 20:07:17.70 U9IIuCB3.net
内包表記でタプルは作れない(ジェネレータになる)だけで一貫してるだろ
それに
for i in イテラブル
じゃなくて
i for i in イテラブル
だし
201:デフォルトの名無しさん
19/02/17 20:25:38.62 WySC1FKQ.net
>>184
「まともな文法書」が何かを記していただければ、このスレの住民には助かると思います
202:デフォルトの名無しさん
19/02/17 20:31:16.29 tKx1WgvG.net
in単体なら演算子だけど、forではそれ含めて文だからねぇ
文脈によって解釈が変わるのはC/C++でも英語でも同じ
そしてタプルを作るのは丸括弧ではなく「,」である
203:デフォルトの名無しさん
19/02/17 20:33:32.71 U9IIuCB3.net
というか「(1,2)はカッコがあるからタプル」は偽だから
(x for x in [1,2,3])がタプル返す義理はないな
まぁその辺のサイトみたら軒並み「タプルはカッコでくくってつくる」って書いてあるのはそうだけど
ドキュメントにはそうは書いてない
204:デフォルトの名無しさん
19/02/17 20:39:37.47 9eEjpIke.net
確かにカッコ使わずに
a =1,2,3
でもタプルになるしな
205:デフォルトの名無しさん
19/02/17 20:42:19.07 OPCV5npO.net
>>194
カンマで区切ればタプルにるけどさ、タプルの出力は必ずカッコで括られるんだから、直感と違うわけだよ
206:デフォルトの名無しさん
19/02/17 20:44:17.06 GfPZMs79.net
カッコつけてるだけだよ
207:デフォルトの名無しさん
19/02/17 20:46:20.17 4CukteGI.net
リストはイテラブルなオブジェクトでイテレータではないらしいけど、なんで最初からリストをイテレータとして使えるようにnextメソッドを実装しておかないんや
208:デフォルトの名無しさん
19/02/17 20:47:29.51 glILnxtO.net
>>196
practicality beat purity(実用性は純粋さに勝る)だぜ
ジェネレーターにすれば途方もない数も扱えるわけだし
デフォでジェネレーターになるのはしょうがない
range()がリストではなくイテレーターを返すようになったようにな
209:デフォルトの名無しさん
19/02/17 20:47:49.01 p7gH0RbB.net
>>193
だよな
(1)は整数の1、でも、(1,)は整数の1を持つタプル
()だけではタプルを生成することにはならないからな
これは俺でも知っている超超入門レベル知識だからな
>>194
(x, for x in [1,2,3])とかならタプルを生成しなんだろうが
210:デフォルトの名無しさん
19/02/17 20:50:48.52 U9IIuCB3.net
>>200
(x, for x in [1,2,3])
はシンタックスエラー
((x,) for x in [1,2,3])
ならタプルを3つ返すジェネレータができる
211:デフォルトの名無しさん
19/02/17 21:11:43.56 GfPZMs79.net
(x,)っていかにも要素2つありそうな見た目だけど要素数1のタプルなの?w
212:デフォルトの名無しさん
19/02/17 21:19:41.54 OPCV5npO.net
>>202
公式のチュートリアルにもUglyと書いてあるだけあってなんだかなぁとは思う
213:デフォルトの名無しさん
19/02/17 21:55:32.99 nNpu08PZ.net
益々訳ワカメになってきた。
214:デフォルトの名無しさん
19/02/17 22:00:38.59 p7gH0RbB.net
>>201
(x, for x in [1,2,3])
がエラーなのは分かっている
でも、なんかタプルの(1,2,3)を作ってくれそうな感じだろ
{ n:str(n) for n in [1,2,3] }で辞書を作れるんだから
215:デフォルトの名無しさん
19/02/17 22:08:56.80 nNpu08PZ.net
((x,) for x in [1,2,3])
ってどんな意味があるのかわからん。
print(list ((x,) for x in [1,2,3]) )
#[(1,), (2,), (3,)]
(1,) ってどんな意味があるの?
216:デフォルトの名無しさん
19/02/17 22:15:21.52 glILnxtO.net
>>206
(1,)とか(2,)っていうのは「要素がひとつだけのタプル」を示す
217:デフォルトの名無しさん
19/02/17 22:56:02.90 nNpu08PZ.net
やっぱチュートリアルをちらっと読んだだけじゃ、基本的なことがわからないな。
言語設計者の開発秘話みたいなものが聞けると面白いと思うんだけど。
218:デフォルトの名無しさん
19/02/17 23:03:18.87 Hg63DdMm.net
>>178
Ruby で言えば、File.open にブロックを付けると、
ブロックを抜けるときに、例外時にも自動的に、開いたファイルを閉じてくれる
自分で例外処理、finally・ensure などに、file.close を書いたのと同じこと
コンテキスト・マネージャー。
Python にも、同じものがあるはず
219:デフォルトの名無しさん
19/02/17 23:20:56.32 glILnxtO.net
pythonの基本方針はimport thisで読める
False == False == FalseがTrueになるとか面白いよな
220:デフォルトの名無しさん
19/02/17 23:51:24.85 9eEjpIke.net
True+Trueが2になるとかな
221:デフォルトの名無しさん
19/02/18 00:38:39.85 9Y7UoWyl.net
>>207 ますますわからなくなってきた。
タプルと言うのは、複数の数値の羅列だと思ってたのに、一つでなんでタプルになり、一つのタプルにどんな効果が出てくるの?
そう言う文法だからと言えばそうなんだろうけど、
1 in 1 をエラーにして、1 in (1,) をTrue にする意味があるんだろうか?
1 in (1) と区別が付かんと困るからかな? ただのカッコ()とタプルの区別を カンマの有無で区別すると言うことか。
222:デフォルトの名無しさん
19/02/18 00:42:35.27 SjVwlNp1.net
「1 in 1 をエラーにして、1 in [1] をTrue にする意味があるんだろうか?」
223:デフォルトの名無しさん
19/02/18 00:54:13.98 Tb62uZUC.net
「数値1つ」と「数値1つだけを含んだ集合」は別のものだ。
1つの要素しか含まないリストを作ることもできるし
1つの要素しか含まない辞書も
224:作ることができる タプルができない理由はない まぁプログラミングというか論理学の話になるけどな 1 in 1でエラーが出るのは当然 1と1は同値であり、1の中に1が含まれているわけではないのだから
225:デフォルトの名無しさん
19/02/18 00:56:36.72 9Y7UoWyl.net
>>210 import this があるなんて面白いね。
プログラマが持つべき心構え (The Zen of Python)
URLリンク(qiita.com)
The Zen of Python, by Tim Peters
ちなみに、"Zen"は日本語の「禅」です。
1 in 1 を許さないのは禅問答になるのかな? 悟りを開くしかないのかな?
226:デフォルトの名無しさん
19/02/18 01:02:08.73 9Y7UoWyl.net
>>214 リストやタプルは集合体だから何かの入れ物の中に入ったもので。
1 in 1 は、入れ物がないから取り出せないと言う感じかな?
じゃ、リストやタプルは現実社会のどんなものに対応するんだろう。
227:デフォルトの名無しさん
19/02/18 01:18:45.55 Tb62uZUC.net
「1つの要素」と「要素ひとつだけを含む集合」は
「弾丸一発」と「一発だけ弾が残った弾倉」と同じくらい違う
「書類1枚」と「1枚だけ書類を挟んだファイル」と同じくらい違う
風来のシレンで言うと
「アイテムひとつ」と「アイテムがひとつだけ入った壺」と同じくらい違う
pythouの内部的にはリストやタプルには「複数の要素を扱うための機能」がついてる
単一の要素整数にはそれがない
だから単一の要素にinを使ってもそもそも「その要素が含まれているかどうか」を確認することができない
228:デフォルトの名無しさん
19/02/18 01:29:08.54 SjVwlNp1.net
JavaScript「呼んだ?」
1 == [1] //=> true
229:デフォルトの名無しさん
19/02/18 01:36:54.94 Tb62uZUC.net
>>218
これがあるから===しか使いたくない
230:デフォルトの名無しさん
19/02/18 08:12:09.71 7eiXgP3l.net
int[] a = { 1, 2, 3, 4, 5, 6 };
int sum = 0;
for(int i = 0; i < a.Length; ++i)
{
sum += a[i];
}
int b = sum / a.Length;
Console.WriteLine(b);
とあるんですがsum/a.Lengthは何割何で計算してるんですか?
配列の計算原理が本ではいまいち分からないので教えて下さい;
231:デフォルトの名無しさん
19/02/18 08:41:37.17 tx9DPBTs.net
>>220
for文による繰り返し処理を勉強してください
232:デフォルトの名無しさん
19/02/18 08:45:07.32 JBcAVpfH.net
>>220
そいつぁC#で合計÷要素数=平均じゃないの?
int同士で端数が切り捨てられる事を聞きたいの?
233:デフォルトの名無しさん
19/02/18 09:46:20.06 qsq8EO4j.net
Ruby 2.6 では、
ary = [1, 2, 3]
ary.sum
#=> 合計は、6
平均値は、合計を要素数で割る。
mean = ary.sum / ary.length
234:デフォルトの名無しさん
19/02/18 10:44:29.19 1FoQC5sv.net
>>223
死ね
235:デフォルトの名無しさん
19/02/18 12:18:05.03 NoNskV/l.net
>>223
荒らし
236:デフォルトの名無しさん
19/02/18 12:38:24.20 qDhO0A3F.net
計算結果や変数内の値はprintで表示できる
そんなことが説明なされない本なんて売っぱらちゃいな
237:デフォルトの名無しさん
19/02/18 14:05:11.71 7eiXgP3l.net
>>221->>222
for文は理解できているのですが、a.Lengthこれが何の数値に化けるのか分からないです…
要素数というのはつまリ6になるということですか?
238:デフォルトの名無しさん
19/02/18 14:06:00.10 mU1u6kNH.net
>>227 そう
>>220 python だと、
a = [ 1, 2, 3, 4, 5, 6 ]
sum = 0
for i in range(len(a)):
sum += a[i]
b = sum / len(a)
print(b)
print('配列内の合計=',sum,'割る','配列長=',len(a),'答は',b)
#3.5
#配列内の合計= 21 割る 配列長= 6 答は 3.5
222.5万、税、都税
239:デフォルトの名無しさん
19/02/18 14:12:48.12 fpnGWm5B.net
>>227
何の数値に化けるのか分からなかったら、
print(a.Length)してみればいい。
240:デフォルトの名無しさん
19/02/18 14:40:05.59 oU/NFgq1.net
>>198
分けないとマルチプロセスで困るだろ
241:デフォルトの名無しさん
19/02/18 14:46:31.19 oU/NFgq1.net
pythonは
a=[1,2,3]
で a.len とか a.Length とか取れないのはきもいな
242:デフォルトの名無しさん
19/02/18 14:54:14.63 7eiXgP3l.net
>>228
完全に理解できました!
ありがとうございます(・ω・)ノ
243:デフォルトの名無しさん
19/02/18 15:01:26.05 Tb62uZUC.net
>>231
a.__len__()
244:デフォルトの名無しさん
19/02/18 16:14:05.74 mU1u6kNH.net
>>148 >>149
どちらも同じみたいだね。
Python チュートリアル 第 3 版
URLリンク(books.lifewithpython.com)
Python の作者である Guido van Rossum 氏が書いた Python の入門書です。
尚、この書籍と同じチュートリアルに対する日本語訳がウェブ上でも公開されています(ウェブ上の翻訳と本書の翻訳は異なります)。 好みに応じて好きな方を選ぶとよいでしょう。
Python チュートリアル ― Python 3 ドキュメント
URLリンク(docs.python.jp)
個人的には、他の言語でプログラミング経験のある方が Python を始めるときにはよいのですが、プログラミング自体が初めての方にとっては本書は少し難しいのではないかと思います。
プログラミングが初めての方でこの本を読みたい方には、一度中身をチェックしてみてから購入するかどうかを決めることをおすすめします。
Guido 氏が書いたチュートリアルということで、プロの Pythonista なら誰しも一度は読んだことのある一冊でしょう。
245:デフォルトの名無しさん
19/02/18 16:25:56.30 OhspBoh0.net
Pythonのええとこは何でも特殊メソッドに委譲するとこやね
マジで何でもできる、おもちゃに最適
246:デフォルトの名無しさん
19/02/18 16:41:09.54 3yKPK3LO.net
>>234
Python の理解度確認をするために「Python チュートリアル 第3版」を読んだ
Python 本
オライリーから出版
URLリンク(kakakakakku.hatenablog.com)
オライリーから出版されている「Python チュートリアル 第3版」を読んだ.
読者対象として「Python 入門者のための」と書いてあるけど,そこそこ難しい内容もあり,中級者でも楽しめる内容になっている.
本書の最初に載っている「訳者まえがき」にも,理解度によって読む方法を変えて良いと書いてあった.
今回本書を読んでみて,勉強になった部分を整理しておこうと思う.
なお,本書は「Python 3.5.1」をサポートしている.さらに付録もあり,特に「付録E」と「付録F」は面白かった.
247:デフォルトの名無しさん
19/02/18 17:20:44.97 3yKPK3LO.net
>>236
URLリンク(kakakakakku.hatenablog.com)
模擬試験(無料)
認定スクール「DIVE INTO EXAM」から無料で提供されている模擬試験がある.まだ β であると記載されているけど,計80問あり,試験同様に計40問出題される.
模擬試験の受験回数に制限はなく,何度も何度も繰り返し受験できる.少なくとも1度は受験しておくと良いと思う.
248:デフォルトの名無しさん
19/02/18 19:22:55.51 W9szlA1+.net
>>227
.lengthとかcountってのは大概その集団の要素の数だと認識しておけば良い。定石のようなものだ。
249:デフォルトの名無しさん
19/02/18 19:52:34.04 mU1u6kNH.net
しかし、最初python って簡単じゃんと思ったけど、なんか混乱する。
() [] {}
add append extend del discard とか、
最初理解できないのは、何がオブジェクトなのか?
250:デフォルトの名無しさん
19/02/18 20:45:21.68 9P3l8zH4.net
このスレで連投されてる内容の答えはすべて公式ドキュメントに書いてある
たとえば>>228なら
for i in a: sum += i
でもいいし(というかそれが普通)
だいたい総和はsum(a)で、平均値はstatistic.mean(a)で一発で出る
251:デフォルトの名無しさん
19/02/18 20:45:59.87 9P3l8zH4.net
statistics.mean(a)
のミス
252:デフォルトの名無しさん
19/02/18 22:13:42.80 EFaetCEP.net
クロージャーとかデコレータとか覚えれへんわ
253:デフォルトの名無しさん
19/02/18 22:34:44.93 F+QeAL77.net
>>189
>>184のまともな文書には、print( [i for i in [1,2,3] ] ) が許される理由が書いてあると思うんだが。
許される理由が分かれば許されない理由もなんとなくわかるだろ。
先ずまともな文法書でprintを読め
と言っても、低脳すぎてまともな文書を読むのに四苦八苦だから尋ねているのかもしれないが
(まぁ、まともな文書、許されるって素敵な言葉を使うぐらい超優秀な脳だから、この可能性は低いか)
超簡単にまとめると
class AA :
pass
class AAA :
def __str__(self): # 僕を文字列で表す要求来た時、こう紹介します
return "AAA"
print(AAA()) #許される
print(AA()) #許されない
254:デフォルトの名無しさん
19/02/19 00:12:01.46 1Fqwt8so.net
>>239
del使うシーンは滅多にないな
全く無い訳じゃないけど
255:デフォルトの名無しさん
19/02/19 00:13:06.83 1Fqwt8so.net
>>242
それは今君に必要が無いということだ
必要があって使ってれば勝手に覚わる
256:デフォルトの名無しさん
19/02/19 00:17:12.07 x5yxwCIo.net
Python3エンジニア認定基礎試験って模擬試験と同じ問題出るわけないわよね
257:デフォルトの名無しさん
19/02/19 00:46:31.87 x5yxwCIo.net
てか模擬試験の解答見にくいなあ
258:デフォルトの名無しさん
19/02/19 00:49:41.46 c2xVE4LG.net
試験のためにpython勉強してんのか?
あほやん
259:デフォルトの名無しさん
19/02/19 01:56:10.83 UOhpPyGI.net
やんやん
260:デフォルトの名無しさん
19/02/19 02:50:12.73 fH1K3jOo.net
>>243
何食ってたら初心者スレでこんなに上から目線で不快な文が書けるんだろう
261:デフォルトの名無しさん
19/02/19 03:19:28.34 UOhpPyGI.net
自分より弱い者に憎しみを抱くはずがないでしょう 抱くのは哀れみ
262:デフォルトの名無しさん
19/02/19 06:23:45.14 QXXeWHDh.net
>>250
うんこ
263:デフォルトの名無しさん
19/02/19 06:26:20.60 hAizIKGb.net
>>243
>>print(AA()) #許されない
許されるだろ
264:デフォルトの名無しさん
19/02/19 07:06:55.77 TL2+PvJX.net
オブジェクトって変数+関数みたいなものと理解してる
だけど、pythonでlen()みたいな関数が存在してるのはなんでや
obj.len()みたいに書く方がオブジェクト指向ぽいのに(´・ω・`)
265:デフォルトの名無しさん
19/02/19 09:35:20.19 snU9lsNN.net
後付けだから
266:デフォルトの名無しさん
19/02/19 10:11:21.93 SwtNBaDU.net
>>254
obj.__len__()
267:デフォルトの名無しさん
19/02/19 10:37:48.43 ClxsX7KR.net
うーんダンダーキモいな
objが__dict__属性もってるなら
obj.len = obj.__len__
obj.len()
はい
268:デフォルトの名無しさん
19/02/19 11:03:15.41 D8b3v+Fo.net
>>254
必ずしも同じ名前のメソッドで要素数を取得できるとは限らないから
Javaの配列の.lengthとコレクションの.size()なんかいい例
269:デフォルトの名無しさん
19/02/19 17:25:15.51 xAiOFAtZ.net
>>154 pdf のキャラクターコードが違っていて、コピペでは、エラーが起きるから、やはり大きなサンプルはソースが提供されていることが必要だ
270:な。 2番目の大学の先生の【Python3入門】はサンプルソースも付いている。 math ライブラリーの関数一覧くらいは載せてても良いとは思ったが、贅沢は言えない。入門には必要ないと言えばそうかも知れないが。
271:デフォルトの名無しさん
19/02/19 17:51:31.05 t+ZZI+Uh.net
vs codeでpythonを実行するときのコマンドはなんですか?
ターミナルから実行するのが普通なんでしょうか?
272:デフォルトの名無しさん
19/02/19 17:57:52.58 xAiOFAtZ.net
>>260 あまり知らないけど、こんなあたりで良いの?
URLリンク(docs.microsoft.com)
273:デフォルトの名無しさん
19/02/19 18:03:26.75 t+ZZI+Uh.net
あと、vsコードの補完は、pythonエクステンションに含まれているのですか?
274:デフォルトの名無しさん
19/02/19 23:26:35.02 xISlfG0u.net
print() は、わかりやすいが、BASICみたいな ? と言うような自由な記法があっても良いのではと思ってたけど、関数がオブジェクトだから結構自由にできるんだね。
p = print
p(111)
#111 使い過ぎるとわけわかめになりそうだが。
275:デフォルトの名無しさん
19/02/19 23:36:01.89 x5gWYD95.net
>>262
vs codeとvsコードの表記の揺らぎを直すところからやってみよう!
276:デフォルトの名無しさん
19/02/20 00:19:50.88 1HzmSa/X.net
>>258
俺、Pythonを実質2週間ぐらいやっているんだけど
やり始めてすぐに>>254のような感を覚えた。
それなりの理由があるってことか(ちなみにJavaはさっぱり分からん)。
他の言語同様に、変数、メソッド名をアンダースコア(シングル、ダブルアンダー)で始めるとかで何かしらの意味を
与えていると分かっているんだが、目下あんまり調べてないからな。
プライベート変数がダンダーって見てすぐにわかるから良いと言えばその通りなんだがな
277:デフォルトの名無しさん
19/02/20 00:27:21.38 zgA3z1dT.net
pythonの関数名や変数名のアンダースコアは文法上は何の意味もなかったはず
そもそもpythonにはプライベートやパブリックの概念が存在しない
単に人間が見分けやすいようについけてるだけ
278:デフォルトの名無しさん
19/02/20 00:41:35.75 1HzmSa/X.net
>pythonにはプライベートやパブリックの概念が存在しない
これ知った時は俺驚いたよ。
privete、public等のキーワード付けて明確にしないのは、
Python教の哲学なんかと。
279:デフォルトの名無しさん
19/02/20 00:43:10.98 PF1BNO4k.net
こんな記法を見たんだが、どう言う文法からこんなのが出てくるの? 3項演算子みたいなものだが。
短絡評価if と言うらしいけど。
i = 8
print(i%2 and'odd!!!!'or'>EVEN<')
#>EVEN<
短絡評価というのは先に成立した(True)方だけを見て後ろは見ないと言う方式みたいだね。
また、if が無くても評価式だけで成立するんだね。
print(0 and 2 or 5)
#5
print(1 and 2 or 5)
#2
しかし
print(1 and 2 )
#2
はなんとなく違和感がある。
そう言えば、3項演算子があってなんで2項演算子みたいなものが無いんだろうと思ってた。
3項演算子なら
2 if 評価式 else 5 が有って
2 if 評価式 が無いのが不思議だった。
評価式 and 値(0以外) がそれに当たるのか。
しかし、 1 and 2 の時どうして後ろの値が有効になるのかな?
280:デフォルトの名無しさん
19/02/20 00:50:35.52 hdPlDSUg.net
True and 2
281:デフォルトの名無しさん
19/02/20 00:53:32.30 PF1BNO4k.net
短絡評価自体は理解しやすいんだが。
URLリンク(qiita.com)
True and b
のとき何故、bの値を取るのか? 先後に成立した評価の値を取る?何故 True では無くbの値を取るのか?
282:デフォルトの名無しさん
19/02/20 00:56:34.30 gK0qp
283:GCl.net
284:デフォルトの名無しさん
19/02/20 01:30:40.30 DM4qe6j0.net
FAQ は見つけられなかったけど、標準ライブラリの仕様書にしっかり書いてあった。
FAQの項目を教えてもらうとありがたい。
真理値判定
ブール演算 --- and, or, not
x or y x が偽なら y, そうでなければ x (1)
x and y x が偽なら x, そうでなければ y (2)
not x x が偽なら True, そうでなければ False (3)
さっと読み流した時は、and or は単なる論理的な演算だけだと思ってたから、値を取ると言う考えがまるでなかった。
注釈:
(1) この演算子は短絡評価されます。つまり第一引数が偽のときにのみ、第二引数が評価されます。
(2) この演算子は短絡評価されます。つまり第一引数が真のときにのみ、第二引数が評価されます。
(3) not は非ブール演算子よりも優先度が低いので、 not a == b は not (a == b) と解釈され、 a == not b は構文エラーです。
285:デフォルトの名無しさん
19/02/20 01:36:22.16 R9Rgujjr.net
>>266
一応メソッドやメンバの名前の先頭に__(アンダースコア2つ)を付けると擬似的にプライベートになる(外から参照するとエラー)
実際は __名前 を _クラス名__名前 に置き換えるだけだが
286:デフォルトの名無しさん
19/02/20 03:12:26.13 B2QSVSiS.net
>>260-261
Code Runner という拡張機能で、右クリックメニューから、指定したソースコードの範囲を実行できる。
Ctrl+Shift+P で、Run Code でも同じ
>>254
Python は、Ruby よりも不自然。
Ruby, JavaScript みたいにメソッドチェーンしにくい
Ruby では、メソッド名を、シンボル: で渡せるから、処理の内容が明確
[1, 2, 3].inject( :+ ) #=> 6
287:デフォルトの名無しさん
19/02/20 03:15:50.94 P3DZex+Y.net
python資格試験はクラス捨ててもOK?
288:デフォルトの名無しさん
19/02/20 03:18:46.77 W95E7B6+.net
>>272
URLリンク(docs.python.org)
昔の名残。条件式はif文ではないのでelseを省略することは出来ない(値を返さねばならない
289:デフォルトの名無しさん
19/02/20 05:23:08.72 wMUHduDL.net
>>261
c#の場合はターミナルからdotnet runで実行だと思いますが、pythonの場合はそういったものはないのでしょうか
290:デフォルトの名無しさん
19/02/20 07:12:57.02 SpCnH/g7.net
>>274
死ね
291:デフォルトの名無しさん
19/02/20 08:33:48.20 PF1BNO4k.net
>>277 コンソールから直接ソースを叩けば動くよ。
hoge.py
hoge
或いは
python hoge.py
要は、exeファイルと同じ動作をする。だから、exploreから .pyをクリックしても起動する。
(ただ、コンソールが見えないとあまり解らないだろうけど。)
python は、コンパイルという作業がいらないから、
dotnet run の様にコンパイルの指定が必要ない。
292:デフォルトの名無しさん
19/02/20 09:06:26.28 DM4qe6j0.net
>>277 だから普通にDOSコマンドの実行と同じprocess.start で良いのでは?
勿論、python が、インストールされている必要はあるが。
URLリンク(ni4muraano.hatenablog.com)
<略>
p.StartInfo.Arguments = @"/c python hello.py";
p.Start();
pythonがインストールされていない環境にpython のソースコードだけを渡しても動かないから、その場合は考慮の必要はありそうね。
PythonスクリプトをWindows環境で動くexeファイルにしよう
URLリンク(www.sejuku.net)
293:デフォルトの名無しさん
19/02/20 10:30:31.71 wMUHduDL.net
>>279
>>280
たんにpythonと入れてからパスを指定すればいいだけなんですね
あと、右クリからもターミナルで実行ができました
294:デフォルトの名無しさん
19/02/20 10:51:51.66 BBElsiq0.net
>>260
俺、いつもエディタ(geditやGeanyやVS code使ってる)の横にターミナル開いといて、
ソース保存→ターミナルで $ python3 xxx.py→エラー→エディタで編集・保存→ターミナルで再実行(↑&Enter)→ エディタで編集・保存....
てな感じでやってるんだけど、エディタから実行したほうがやっぱり便利なんですか?
295:デフォルトの名無しさん
19/02/20 11:03:36.79 spTGKHkg.net
>>282
煽りとかじゃなくて逆に聞きたいんだけど、
vs code使ってターミナルで実行する意味(メリット)がわからないんだけど。
vs codeのブレークポイントとか利用しないって事?
296:デフォルトの名無しさん
19/02/20 13:38:56.65 gRk6WtzR.net
>>113
YouTubeで北神雄大を検索。
297:デフォルトの名無しさん
19/02/20 18:06:26.32 uB83dASb.net
python書くエディタとIDEで人気なのは、pycharmとvscodeかね
298:デフォルトの名無しさん
19/02/20 18:08:20.36 ICk0Y2AW.net
Atom...(小声)
299:デフォルトの名無しさん
19/02/20 18:13:40.84 NaL8/JA7.net
Spyder...(小声)
300:瘋癲の錬金術師
19/02/20 18:17:46.89 gK0qpGCl.net
>>287
あれええな、組み込みターミナルがqtconsoleでインラインプロットもJupyter同様にできる
VSCodeでなんとか使えないかと試したけど無理だった
VSCodeが弱いFortranも書くので環境統一のためnvim+qtconsoleにした
301:デフォルトの名無しさん
19/02/20 18:17:47.79 3A0CDvTh.net
Eclipse にインストールしようとして、エラーが出てからほったらかし(超小声)
そもそも、venv anaconda eclipse が強調して動いてくれるんかよ。
302:デフォルトの名無しさん
19/02/20 19:52:42.43 v7iPz90J.net
>>266-267
意味はある
継承してみれば判る
303:デフォルトの名無しさん
19/02/20 19:54:36.31 v7iPz90J.net
>>270
and は二つ目の条件も成立するかどうか評価するからな
304:デフォルトの名無しさん
19/02/20 19:56:21.10 v7iPz90J.net
>>280
sejukuはクソだから貼らなくていいよ
305:デフォルトの名無しさん
19/02/20 20:30:34.29 0GDprFxB.net
そういや侍エンジニアの騒動は鎮火したのか?
306:デフォルトの名無しさん
19/02/20 20:34:51.41 jOZlK4md.net
pythonでのWEBスクレイピングって、過去の更新情報も見れたりするのかな?
307:デフォルトの名無しさん
19/02/20 21:49:50.49 aaH1DDBC.net
何を浚うか指定できないのか?
308:デフォルトの名無しさん
19/02/20 21:55:37.90 EgtCXVwu.net
>>294
Pythonやスクレイピングは魔法でも超能力でもありません
309:デフォルトの名無しさん
19/02/21 02:54:29.18 kxn9bd4Y.net
The camel has two humps (working title)
Saeed Dehnadi and Richard Bornat School of Computing, Middlesex University, UK
February 22, 2006
310:デフォルトの名無しさん
19/02/21 05:22:18.25 kxn9bd4Y.net
>>295
URLリンク(i.imgur.com)
311:デフォルトの名無しさん
19/02/21 07:26:25.64 8rp9UCEX.net
初心者スレの内容に合うか分からないけど質問させて
最近は作るときに凝集度とか結合度、クラスの責務とかも気になるようになったんだけどじゃあ具体的にどう作るべきかが分からない
何をどう勉強しようか て状態なんだけどデザインパターンを学べばいいのかな?これも大切だけど自分が学びたい内容とは少しずれてるようで…
312:デフォルトの名無しさん
19/02/21 08:55:18.20 Daclfccm.net
>>283
すみません。見え張ってました。VS Codeは数回使ってみだけで、基本的に元通りgedit使っちゃってます。
313:デフォルトの名無しさん
19/02/21 14:34:58.79 y1fIYiTV.net
NIC(ネットワークインターフェイス)が複数あるPCで、
requestsを実行する際にNICを指定してGETなりPOSTなりをしたいのですが、
方法が分かりません、requests自体にその手のパラメータはなさそうですが…。
どなたかお教えください。
314:デフォルトの名無しさん
19/02/21 15:19:27.90 YDJO8R6Z.net
層が全く違うぞ
どういう意味だ?
315:デフォルトの名無しさん
19/02/21 15:38:13.68 1URmNQhh.net
>>301 NICを指定することはできないんじゃないの? そもそも何をしたいの?
複数のNICが同じLANに出ていけばどちらを経由しても行きつく先は同じだけど。
もしこんなことをやりたいのか?
NIC-1 >> LANのIP-1にだけ繋がってる
NIC-2 >> LANのIP-2にだけ繋がってる
それでIP-2につなぎたいからNIC-2を使いたいとか?
だったらNICなんか気にせずに接続しに行けばつながる方にしかつながらない。
316:デフォルトの名無しさん
19/02/21 15:44:20.15 y1fIYiTV.net
>>302
分かりにくかったらすいません…
例として、PCにそれぞれ別のグローバルアドレスを持ったNICが二つあって(AとB)、
あるWebサーバーへの通信(=最終的にやりたいのはrequestsのGET/POST)はNIC-A経由で通信する、
また、別のWebサーバーへはNIC-B経由で通信する、ということをしたいのです。
かえって分かりにくいでしょうか…?
317:デフォルトの名無しさん
19/02/21 15:46:43.29 y1fIYiTV.net
>>303
説明が足りずすいません、上に書いたとおり、NICはそれぞれ別のグローバルIPを持っていて
且つ、通信先はインターネット上のWebサーバーです。
接続先によってNIC(というかソースIP)を使い分けて通信したいのです。
318:デフォルトの名無しさん
19/02/21 15:59:09.52 auY8mpXd.net
>>305
皆の質問の意図を理解できていないよ
なぜ、
>接続先によってNIC(というかソースIP)を使い分けて通信したいのです。
わざわざこんな使い分けをしたいのか、その理由を聞かれている
普通はソースIPを分けなくても接続できるから
319:デフォルトの名無しさん
19/02/21 16:40:54.57 yAj8ZZjm.net
>>305 何か理由があってどうしてもやりたいのなら、ルータなりでIPルーティングをすれば出来るけど。
静的ルーティングの設定 - Linux
URLリンク(qiita.com)
この場合だとNICの選択もできる。
320:デフォルトの名無しさん
19/02/21 16:41:32.97 VKoyYoRj.net
>>306
そんなもんプログラムじゃなくてもっと下層層でやることや
321:デフォルトの名無しさん
19/02/21 17:21:39.12 y1fIYiTV.net
>>307
スクレイピングやWEB-APIを叩くときに、ratelimitが厳しいサイトがあるのでほんの少しそれを緩和したいのです。
ありがとうございます、ルーティングをいじってしまうのは最初に考えたのですが、環境は外部のVPSで(また説明不足ですいません)
基本リモートでいじっているので、そのあたりどうなるのかなぁと、明日また試してみます。
また、調べたところCurlとかだと何かIFを指定するパラがあるようですが、横着ですが今のコードをあまり変えたくなくて。
322:デフォルトの名無しさん
19/02/21 17:42:34.88 MuHdm1tt.net
>>309 じゃ、curl と同じ様にしてみたら?
# curl -I --interface eth0 URLリンク(www.yahoo.co.jp)
#python
def message_api(request):
req = requests.post('URLリンク(www.yahoo.co.jp)' \
--verbose \
--get
323: \ --interface=‘eth0’ --data 'text=おはようございます' \ --data 'appkey=xxxxxxxxx') print(req)
324:デフォルトの名無しさん
19/02/21 20:41:02.67 Xsa0ee+G.net
>>299
pythonで作って学ぶデザインパターンみたいな物がほしいね
オブジェクト指向が何となくわかっても使い方がよくわからん(´・ω・`)
325:デフォルトの名無しさん
19/02/21 21:16:21.39 3FyMMC5r.net
実践 Python 3
326:デフォルトの名無しさん
19/02/21 22:23:48.06 rZ10GU5L.net
>>312
一回マジでしゃぶってもらえませんか
327:デフォルトの名無しさん
19/02/22 00:02:47.01 4wGjWw5c.net
>>304
手動で、
Aが来たら有線LAN[A]を繋げて
Bが来たら有線LAN(A)を抜いて、有線LAN[B]を繋げる
328:デフォルトの名無しさん
19/02/22 00:57:21.96 tDPXA70g.net
>>309
じゃあサブプロセス使ってcurlで実行しちゃえばいいんじゃないの?
329:デフォルトの名無しさん
19/02/22 01:10:21.20 PLvaKLdQ.net
>>310
ヒドイw
330:デフォルトの名無しさん
19/02/22 13:47:21.78 no4Nr2T0.net
NICを指定してrequestsの件、Pythonで出来ました。
requests_toolbeltというmoduleを組み込むことで、ちょっと搦め手ですが、source IPからNICを
指定してmountすることが出来ます。(ここには参考になる人はいなそうですがw)
以上。
331:デフォルトの名無しさん
19/02/22 21:06:15.39 d1khp6TM.net
ええやん
332:デフォルトの名無しさん
19/02/23 11:43:34.06 +DV3f+Dk.net
伊勢の名物
333:デフォルトの名無しさん
19/02/23 12:26:45.82 lot8ckD6.net
国産のRuby叩かれすぎワロタ
334:デフォルトの名無しさん
19/02/23 12:40:42.89 1QjCNYhv.net
このスレに限るなら、叩かれているのはほとんどRubyガイジのせいだろ
目の前をうろうろする羽虫みたいなもんだ
335:デフォルトの名無しさん
19/02/23 12:48:40.53 +DV3f+Dk.net
自業自得
336:デフォルトの名無しさん
19/02/23 14:39:26.54 lot8ckD6.net
劇場で数十年ぶりに復活したCity Hunter
冴羽獠の愛銃Python3xxと日本でも流行りのPython3の因果関係
337:デフォルトの名無しさん
19/02/24 09:29:08.59 iJEnzY0p.net
デスクトップアプリはpythonとjavascriptどっちがいいんでしょうか
338:デフォルトの名無しさん
19/02/24 10:00:32.60 QKZEiFxx.net
C#
339:デフォルトの名無しさん
19/02/24 10:02:11.33 5XYYe3Vz.net
>>324
Electronがあるから今の流行りは圧倒的にJavaScript
昔ながらのWinアプリが作りたいんならC#
340:デフォルトの名無しさん
19/02/24 10:23:34.56 iJEnzY0p.net
あっちこち手をつけるのも大変なのでjavascriptでやってみます
でもelectronッテメモリ悔いますよねなぜか
341:デフォルトの名無しさん
19/02/24 10:31:16.66 8D34p5sx.net
なぜ32GBモデルにしなかったんだろ俺のバカバカ!ってね
342:デフォルトの名無しさん
19/02/24 12:49:35.63 fR/HEchoE
コードの質問です。
sys.pathの各ディレクトリの関係図を辞書とリストによるツリーのような階層構造で
表現しようと試行錯誤してますが、まったくいいコードが書けませんorz
書ける方がいましたら教えてください。
【sys.path】
['C:\\Users\\81802\\PycharmProjects\\PlayGround',
'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\lib',
'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37',
'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv',
'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages',
'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg',
'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg']
【表現したい形】
{'C:\\Users\\81802\\':
[{'PycharmProjects\\PlayGround\\':
['',
{'PycharmProjects\\PlayGround\\venv\\':
['',
{'lib\\site-packages\\':
['
343:setuptools-39.1.0-py3.7.egg', 'pip-10.0.1-py3.7.egg']}]}]}, {'AppData\\Local\\Programs\\Python\\Python37\\': ['', 'python37.zip', 'DLLs', 'lib']}]}
344:デフォルトの名無しさん
19/02/24 13:10:54.97 fR/HEchoE
329の【表現したい形】は一部誤り。正しくはこちらです。
【表現したい形】
{'C:\\Users\\81802\\':
[{'PycharmProjects\\PlayGround\\':
['',
{'venv\\':
['',
{'lib\\site-packages\\':
['',
'setuptools-39.1.0-py3.7.egg',
'pip-10.0.1-py3.7.egg']}]}]},
{'AppData\\Local\\Programs\\Python\\Python37\\':
['',
'python37.zip',
'DLLs',
'lib']}]}
sys.pathのグループ分けをし、
【common_path】
['C:\\Users\\81802',
'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37',
'C:\\Users\\81802\\PycharmProjects\\PlayGround',
'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv',
'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages']
は得ることまではできました。
345:デフォルトの名無しさん
19/02/24 14:53:09.92 YwY0sV++.net
>>324
python
346:デフォルトの名無しさん
19/02/24 15:01:02.77 h7ByRKin.net
VBの一択だな
347:デフォルトの名無しさん
19/02/24 16:35:42.81 57VgR7IR.net
>>328
そんなにメモリ喰うの?
348:デフォルトの名無しさん
19/02/24 17:24:23.04 7HrBRrfk.net
>>333
win10だと16gだと足りないよ。
ソフトによるけど。
349:デフォルトの名無しさん
19/02/24 17:33:29.69 r06CB5Xe.net
昔ながらのデスクトップPCやサーバー機みたいな拡張とパーツ交換自在な時代なら最初16GBでも後から増設できたのに今時のモバイルなプログラム環境は半田付けされていて購入後に構成変更できないから辛いね
350:デフォルトの名無しさん
19/02/24 17:41:27.91 9Sd/QbRT.net
交換式にしたらスペース食うからねえ。
モバイルでもメモリとストレージは変更出来るってのも既に過去の話だな。
完全に買った時に全て決まるようになってしまった。
351:デフォルトの名無しさん
19/02/24 17:51:55.81 +6ZRRI/z.net
>>335 今時のPCでも、スロット数が少ないから、何年かしたらもうボードから買い換えるしか無いよ。
諦める事だな。
(全てが寿命に近づいてるから捨てる。)
ただ、買った直後にそのPCで動かないのがあったら、諦めて別の方法を探った方が吉。
352:デフォルトの名無しさん
19/02/24 20:14:36.77 r06CB5Xe.net
PCはスマホやタブレット、2 in 1とかにコモディティ化&低価格化してきてるからブラックボックスで使い捨てになるのも仕方ないのかも
353:デフォルトの名無しさん
19/02/24 20:21:36.39 +6ZRRI/z.net
>>338 もう何台もPCを自作してきたが、あとで拡張しようと思って作ってても、いざ拡張する時になると時代遅れで結局捨ててしまう。
だってメモリだって新しいメモリは使えないし、新しいCPUは使えないし、何が拡張だ。
ほとんど全てのパーツが寿命に近づいてるから全てを新しくした方が安心できる。 何度壊れて痛い目にあったことか。
354:デフォルトの名無しさん
19/02/24 20:26:06.19 iK4D+UQi.net
横からだが、今時古いメモリやCPUでもそれほど違わん。
(最近はAMDのお陰で急速にコア数増えたが)
物欲抑えれば全然現役で行ける。
(それでも性能追うのが浪漫なのは否定せんが)
355:デフォルトの名無しさん
19/02/24 20:35:10.14 r06CB5Xe.net
IDEとOfficeとブラウザとテキストエディタとレタッチソフトとiTunesぐらいなら十分すぎるぐらいCPUは進化したけれど
4K以上の動画編集とかVRとかデスクトップ科技計算とかみたいなヘビーユースだとCPUもGPGPUも最先端を追うしかないね
356:デフォルトの名無しさん
19/02/24 20:39:21.47 9Sd/QbRT.net
>>339
あるあるだな。
やはり買うときに思い切って買わないといかんな。
モニタやキーボードはタイミングずらす。車検が被らないように増車したりバイク買う感じ。
357:デフォルトの名無しさん
19/02/24 20:42:46.42 rYs6roSD.net
>>339
>ほとんど全てのパーツが寿命
今年思い知った件
ほんと
358:>>342だは
359:デフォルトの名無しさん
19/02/24 22:22:06.63 mG+2Y3tM.net
pythonのクラスメンバへのアクセスのことで質問です
クラスのメンバに次の2通りの方法でアクセスしたいのです。
(1)ピリオドを使ってアクセスする
(2)辞書のようにアクセスする
それぞれ単独では実現できるのですが、両方同時に成立させる
ことが出来なくて困っています。
最初に(1)のために次のように実装してみます
class Foo():
def __init__(self, x):
sel.x = x
@property
def x(self):
return self.x
@x.setter
def x(self, x):
self.x=x
これだとエラーになるためxを_xにすると上手くいきます
しかしそうすると__dict__がxではなく_xをキーとしてしまうため
def __getitem__ を実装してもキーはxではなく_xになるため
f=Foo()とすると
(1)のアクセスは f.x
(2)のアクセスはf["_x"]
ということになってしまうのです。
(1)も(2)も同じキーでアクセスできるように出来ないでしょうか?
360:デフォルトの名無しさん
19/02/24 22:28:23.99 mG+2Y3tM.net
追記ですみません
メンバ変数は値を更新した際に自動的に他の処理も呼びたいため
setterを必要としています。
361:デフォルトの名無しさん
19/02/24 22:34:22.09 dOn5ud/R.net
x.setter()等の仕様がそうだから仕方ないんじゃ?
…
def __init__(self, x):
self._x = x
…
def get_x(self):
self._x = _x
x = property(get_x,set_x, del_x)
やってないけど
362:デフォルトの名無しさん
19/02/24 22:39:07.56 dOn5ud/R.net
あるいは中に仕込むか
@x.setter
def x(self, x):
self.x = x
self._x = x
363:デフォルトの名無しさん
19/02/24 22:43:09.76 2N6WWWAR.net
うちsandybridgeだけど当面買い換える予定ないぞ
グラボは入れ替えたが
364:デフォルトの名無しさん
19/02/25 00:00:08.65 LEqgxgt7.net
>>344
適当に辞書作ってsetattr,getattrをsetitem,getitemにマッピングすればOK
Class Foo():
_dic = {}
def __setitem__(self, key, val):
self._dic[key] = val
def __getitem__(self, key):
return self._dic[key]
__setattr__, __getattr__ = __setitem__, __getitem__
こうすれば
f = Foo()
f['x'] = 10
f.x
でアクセスできる
365:デフォルトの名無しさん
19/02/25 00:10:04.15 PZlQ37TI.net
>>349 なんか黒魔術みたいだな。
366:デフォルトの名無しさん
19/02/25 00:15:42.13 W+H8OHl9.net
いや、辞書への挿入で更新もしたいならそれが正しい
_xはデバッグ用途と思って更新を考えない簡略版で答えた
367:デフォルトの名無しさん
19/02/25 00:24:18.98 PZlQ37TI.net
>>349 全く始めたばかりで何もわかっていないんどけど、みんながpython の内部を改良していくためには必要な情報だけど、こんな事をpythonユーザーに正式に開放してるの?
368:デフォルトの名無しさん
19/02/25 00:31:37.32 LEqgxgt7.net
>>352
公式ドキュメントの組み込み関数にサンプルコードがあるよ
でも自分が学んだのはエキスパートPythonプログラミングという本かな
公式ドキュメントも分かってしまえば分かりやすいけど、無機質な感じがして読みにくい
369:デフォルトの名無しさん
19/02/25 00:32:00.78 uKYGHYXp.net
「暗示するより明示せよ」
がpythonの設計思想のひとつだからな
別に珍しいことでもない
LISPなんかはユーザーが自由に言語設計をいじれすぎて
無数の方言が作られているしな
370:デフォルトの名無しさん
19/02/25 00:38:04.31 SRxcknzj.net
>>349
メンドクセーッ!
371:デフォルトの名無しさん
19/02/25 00:40:49.46 PZlQ37TI.net
>>355 だよな。 言語仕様としてできないものはできないで良いだろ。 言語仕様じゃ無いんだろ?
黒魔術は闇の世界で使う技術。
372:デフォルトの名無しさん
19/02/25 02:53:38.38 9+tyf5TU.net
いや、attr系やitem系操作するのは、
他の言語の演算子のオーバーロードと
同じ感じテイストづし、珍しくも無い。
373:デフォルトの名無しさん
19/02/25 11:22:12.78 Opp/wdL5.net
>>344
Hoge.__dict__ を作るだけでいける
374:デフォルトの名無しさん
19/02/25 20:13:54.92 +kysiU+6.net
Python初学者どころかプログラム初学者なのですがそんな人にも使いやすいIDEはありますでしょうか?ググった所PyCharmやアナコンダなどがありましたが皆様の意見もご参考にさせて頂ければと
375:デフォルトの名無しさん
19/02/25 21:07:11.42 Ey4Q/htY.net
初心者こそpycharmを使うべし
タイポも変数のundefinedもpep違反も全部赤ペン先生で指摘してくれる
376:デフォルトの名無しさん
19/02/25 21:36:21.30 dXFOGwmu.net
有料版使ってる人いるのかな
377:デフォルトの名無しさん
19/02/25 21:39:49.74 h8G0r/CT.net
>>359
PyCharm、VisualStudio
378:デフォルトの名無しさん
19/02/25 21:48:25.21 +kysiU+6.net
>>360>>560
PyCharmですかありがとうございます入れてみます
Visual StudioはVScodeというものですよね?py以外も色々できると聞いて気になってはいたのですがPython3を使うには設定が必要で初心者にはしんどいと聞いて及び腰です、、
379:デフォルトの名無しさん
19/02/25 21:51:26.82 +kysiU+6.net
未来にレスしてしまった
>>362ありがとう御座います
380:デフォルトの名無しさん
19/02/25 22:51:43.04 Huj6YV9p.net
Visual StudioとVisual Studio Codeは別物
前者がIDE、Codeはエディタ
Codeの方は.pyを初回に読み込んだ時にpython拡張インストールした方がいいよと言われるので指示に従えばいいだけ
381:デフォルトの名無しさん
19/02/25 23:50:17.81 +kysiU+6.net
なるほど別物なんですね
vsコミュニティとかもあってややこしいです
教えて頂いたVisual StudioとPyCharmを使えるようになってそれからアナコンダにステップアップして行きたいと思います
382:デフォルトの名無しさん
19/02/26 00:15:19.10 hK50uex+.net
いやWindowsだといきなりAnaconda入れるのが一番無難で簡単で手っ取り早いぞ
そしてAnacondaは開発環境としてVSCodeを推奨してるからVSCodeおすすめ
383:デフォルトの名無しさん
19/02/26 00:26:09.34 hKlKYH4W.net
俺はVSCodeと素Pythonを押すね
Anacondaは最初は使わん機能ばっかだし
384:デフォルトの名無しさん
19/02/26 01:03:36.19 6/9JHzaI.net
Winなのに素python+Atomの俺は圧倒的少数者だと分かった
385:デフォルトの名無しさん
19/02/26 01:12:55.28 pkMMAEQe.net
アナコンダはジュピターノートで書くのはわかっていますがセルの仕様が独特、アナコンダ用のプロンプトがあるなどで初心者向けではないよと言われたのですがそうでもないのですか?
386:デフォルトの名無しさん
19/02/26 07:23:43.12 VSDQz9S9.net
考えるよりダウンロードして簡単なプログラム書いてみなよ。無料なんだし。
少し使ってみて不自由を感じたら他を試せばいい。
387:デフォルトの名無しさん
19/02/26 09:06:58.73 fq9lYmyM.net
vscodeはjupyterみたいにも使えるしね
ブレークポイントつけれたりデバッグ出来るのは初心者には有難い
会社の低スペックPCだとストレス溜まりまくりだからやむなくjupyter使うけど…
388:デフォルトの名無しさん
19/02/26 12:55:41.05 ePz6Ki1y.net
Android用のpython環境をオススメしてください
389:デフォルトの名無しさん
19/02/26 13:49:43.50 8hsOp8y1.net
今はvim上でターミナル使えるようになったから、WindowsでもgVim使ってる
Pythonは公式で配ってるインストーラで入れて、必要ならvenv使う
管理が楽
390:デフォルトの名無しさん
19/02/26 15:10:50.48 lleTMO6w.net
副業で大学教員やってるからPyCharmのPro版を無償で使えてる
PyDevやSpyderにイライラして結局vimで書いてたけど乗り換えた
学生さんはPyCharm使うといいよ
391:デフォルトの名無しさん
19/02/26 15:13:01.67 8+7ktUtN.net
>>373
S4A
以前は Windows + Python2 素のインスコで使ってて
Python3 に乗り換えたときに
(Windows で) Anaconda でインスコして使ってるけど
全然問題無いわ
368 は明らかに事実誤認
392:デフォルトの名無しさん
19/02/26 15:13:46.29 8+7ktUtN.net
typo した
S4A じゃなくて SL4A
393:デフォルトの名無しさん
19/02/26 15:32:01.94 s53snE6v.net
>>373
ない
なぜならば、AndroidでPythonを開発しようということ自体がオススメできないからだ
394:デフォルトの名無しさん
19/02/26 17:21:21.96 1yUj9TwU.net
>>373 自分はAndroidを使っていないけど、良さそうじゃん。
Android上でPython3が利用できるPydroid3がスゴイ
URLリンク(pineplanter.moo.jp)
395:デフォルトの名無しさん
19/02/26 17:27:22.38 1yUj9TwU.net
>>378 あまり堅苦しく考えないで良いじゃん。
いつでもどこでも使えるスマホは、練習用としては使えるよ。 解説書を読みながらちょっと試してみるとか。
Google の colab とか使ってWeb で作る手もあるけど、ネットが繋がっていないと使えなかったり、ちょっともたつく気がする。
ローカルで使えるに越したことはない。
396:デフォルトの名無しさん
19/02/26 17:56:25.83 T0vQDev8.net
>>373
termuxでapt install python
397:デフォルトの名無しさん
19/02/26 19:22:35.54 EZFWpudG.net
多倍長整数演算を高速化する方法はありますか?
numba使うと正しい結果が出ない
たぶん内部で浮動小数点数に置き換えてる
398:デフォルトの名無しさん
19/02/26 19:31:36.49 1yUj9TwU.net
>>382 やったことないけど、浮動小数点数の桁数を指定するんじゃダメ?
399:デフォルトの名無しさん
19/02/26 20:03:11.69 FOtxANKO.net
>>382
多倍長整数なのに実は浮動小数でやっていましたではオイオイだろ
400:デフォルトの名無しさん
19/02/26 20:37:19.08 EZFWpudG.net
どうも整数の間違いでした
今日、階乗を計算していたんですが
20!までは正しいが21!で失敗します
2^63-1を超えるのが原因でしょう
401:デフォルトの名無しさん
19/02/26 21:08:14.74 IBhh82RD.net
組み込み関数のmath.factorial()は正しく21!を返すのに…
402:デフォルトの名無しさん
19/02/26 22:44:26.23 4zwtaCfi.net
>>376
>>378
>>379
>>381
ありがとう
オススメしてもらったpydroid3使ってみたけどエディタで片手でフリック入力出来なかったのとコピペが非常にやりにくかったのです
電子書籍の参考書のサンプルプログラムをコピーして貼り付けする時にやはりどうしてもエディタ画面で両手使うのはしんどかった
SL4Aは開発が止まっているようなので
今回はやめといた
403:デフォルトの名無しさん
19/02/27 07:42:07.40 L5IXP2k2.net
>>378
確かにandroidでpythonを開発するのは超初心者には荒行でしかないわな
でも、やりたいのはandroidのpythonでの開発だからw
404:デフォルトの名無しさん
19/02/27 09:22:59.83 dPGb0bDo.net
お客さんそんなことしても悟りは得られないよ
405:デフォルトの名無しさん
19/02/27 14:31:55.97 6BQDuKk1.net
>>385
再帰で書いてない?
forで書けば上手くいくはず。
Pythonは多倍長整数だからメモリ一杯になるまで大きな数を表現できるので、再帰でスタックが溢れたと思われ。
406:デフォルトの名無しさん
19/02/27 15:12:55.08 qFMaDdKD.net
√2× √6= 2√3
みたいに√つけたまま演算できるライブラリないですかね
勝手に小数点付き数字に変えられてうんざり
3π × 2n= 6nπ
みたいなの�
407:燉~しいです。
408:デフォルトの名無しさん
19/02/27 15:17:26.74 PApWA4xG.net
そういう処理を自動でしたいがためのプログラミング。
409:デフォルトの名無しさん
19/02/27 15:42:22.04 AFI97rHS.net
>>391
scipy
sympy
410:デフォルトの名無しさん
19/02/27 19:01:19.46 CWPXM8YW.net
>>391
Androidの開発環境聞いてきた人と同じひと?
それならないかなぁ
411:デフォルトの名無しさん
19/02/27 20:54:44.82 kap/FwCb.net
djangoで掲示板やら、ブログやら作ってみたんだけど
djangoでできることってこんぐらいしかないの?
なんかやれることがもっとあると思ってたんど、意外と底が浅かった感じがした
djangoでゲームアプリできないの?
412:デフォルトの名無しさん
19/02/27 21:06:17.28 FvpNE2Tw.net
ゲームアプリ作りたいならそれ用のツールを使ったほうが早いんじゃね
pythonだとアドベンチャーゲーム作成ツールのren'pyとかくらいしか知らないけど
413:デフォルトの名無しさん
19/02/27 21:21:26.34 kap/FwCb.net
>>396
あとはpygameとかでやるしかないのか
414:デフォルトの名無しさん
19/02/27 21:23:42.28 FvpNE2Tw.net
ツールに合わせて言語を選ぶのもひとつの選択肢だよ
pythonでゲームも作れなくはないが
UnityとC#を使う方が手っ取り早いと思う
415:デフォルトの名無しさん
19/02/27 22:36:18.56 CtFD2cZF.net
>>395
お前の発想力の問題
416:デフォルトの名無しさん
19/02/27 22:45:24.69 qFMaDdKD.net
>>393
Sympy が良さげですね
417:デフォルトの名無しさん
19/02/28 02:17:13.47 DbAr3TBt.net
sympyないわー
418:デフォルトの名無しさん
19/02/28 02:31:01.44 43+kEwYn.net
Sympyは酷いね…何故SciPyのサイトのトップに掲げられてるのか理解しかねる
Deprecatedなnumpy.Matrixクラス依存で、各種ルーチンにshape制限まである
標準Pythonでないが、どうせコード配布するようなものでなし、Sageを薦める
419:デフォルトの名無しさん
19/02/28 07:34:11.13 VZy78oyi.net
maximaからsympyへ移行したけど評判悪いのか。sageは初めて聞いた、けどjupyter上では使えないのかな。
420:デフォルトの名無しさん
19/02/28 07:51:36.17 43+kEwYn.net
>>403
maximaがバックエンドの一つだよ、拡張Pythonによるmaxima等フリーの各種コンピュータ代数ソフトを詰め込んだ欲張りラッパ
つまり機能的には最強であることは間違いない
Pythonコードもほぼそのまま書ける
421:デフォルトの名無しさん
19/02/28 07:55:03.91 43+kEwYn.net
.nbみたいのも見掛けたな、REPLがグローバルインポートですごく使いやすくなってるんで触らんが
422:デフォルトの名無しさん
19/02/28 11:29:58.64 VA9IyXO4.net
pycファイルがあると良いことあるんですか
423:デフォルトの名無しさん
19/02/28 11:43:46.54 3raA7S0b.net
>>404 コンパイルするための時間が無くなり早くなる、コンパクトになる。
424:デフォルトの名無しさん
19/02/28 13:25:46.66 COpOP1tt.net
>>403
sympy使ってるけど虚数込みの数式処理で伝達関数を導出しているけど困ってはいない
Mathematicaで作った処理を全部試そうとは流石に思わないが、そこそこ行ける
425:デフォルトの名無しさん
19/02/28 14:37:06.17 VA9IyXO4.net
>>407
ありがとうございます
426:デフォルトの名無しさん
19/02/28 14:41:29.11 4d6byY1q.net
クラスとか継承とかどうやって覚えたのよ
コード書きながら覚えるのが手っ取り早い?
427:デフォルトの名無しさん
19/02/28 15:04:31.53 4Fcnv2BB.net
つ
URLリンク(www.amazon.co.jp)
428:デフォルトの名無しさん
19/02/28 15:49:34.46 4d6byY1q.net
>>411
すげえ難しそう
429:デフォルトの名無しさん
19/02/28 15:53:21.03 4Fcnv2BB.net
知らない単語が並んでると難しそうに感じたりするが
中身は大した事ない
糞本読んで無駄な時間使うよりマシだと保証
430:デフォルトの名無しさん
19/02/28 16:03:54.54 K7dGf2QC.net
>>410 この辺りは?
URLリンク(www.amazon.co.jp)
431:デフォルトの名無しさん
19/02/28 16:24:16.52 4d6byY1q.net
>>414
読み放題で無料だから見てみたけどわかりやすいかも
432:デフォルトの名無しさん
19/02/28 18:20:17.96 aNlcuW5k.net
設計図は出来てるけどどう作ればいいかわからなくて困ってます
GUI画面で例えば入力欄Aに10文字Bに10文字A.Bを何文字出すか決める場所(A3なら入力枠Aからランダムに3文字選ぶ)、そしてA出力枠B出力枠にだす ということを目指してるのですがTkinterで出来ますか?これをググれみたいな事があれば教えて頂けると幸いです
433:デフォルトの名無しさん
19/02/28 19:35:45.99 mQj8H4X5.net
>>416
むろんできるぞ
何文字出すか決める入力欄を0.1秒ごとくらいに見張るようにプログラムくめ
んで
何か入力されたら出力する
あるいは
ジェネレートボタンを押したら計算して出力する
みたいな
434:デフォルトの名無しさん
19/02/28 19:49:33.86 aNlcuW5k.net
>>417
出来るんですね!ありがとうございます
Tkinter検索しても細い入力欄に出力一つ、と単純な物ばかりだったのでこれはちがうのかな?と ほんとに初心者なので見張らせるよりはボタン式にしてみます
ちなみtkinterの設計でオススメのサイトはありますか?
435:デフォルトの名無しさん
19/02/28 20:28:35.13 mQj8H4X5.net
tkinterの「設計」サイトはしらんなー
436:デフォルトの名無しさん
19/02/28 20:29:16.48 iWcjMiIh.net
数字列をリスト化したいのです。
内包記述使わずに短い記述教えて下さい。
#入力
3 13 24 45 50
#出力
[3, 13, 24, 45, 50]
#書いてみました ループ使わない方法が分かりませんでした
t_input = input().split()
t_time =[]
for i in range(0,5):
t_time.append(int(t_input[ i ]))
print(t_time)
#因みに内包表記
t_time = [int(s) for s in input().split()]
print(t_time)
437:デフォルトの名無しさん
19/02/28 20:30:19.88 mQj8H4X5.net
「tkinter python3 ボタン」あたりでggるといいかもしらん
438:デフォルトの名無しさん
19/02/28 20:32:02.62 SMvRd1sf.net
map(int, input.split())
439:デフォルトの名無しさん
19/02/28 20:32:12.00 mQj8H4X5.net
>>420
入力は必ず5データぶんなのか?
ループ使って書いてるほうほう、それだと長いデータきたさいに対応できなくないか
440:418
19/02/28 20:35:59.31 iWcjMiIh.net
>>423
とりあえす5個でお願いします。5個以上も対応可能でも良いです。
441:デフォルトの名無しさん
19/02/28 20:37:14.95 mQj8H4X5.net
>>422がイイ(・∀・) >>424
442:418
19/02/28 20:50:36.95 iWcjMiIh.net
>>422
mapって初めて知ったけど柔軟に対応出来るんですね
内包記述だと未だ変換の流れが理解できないです もうちょい頑張ってみます
ありがとうございました
443:デフォルトの名無しさん
19/02/28 20:53:26.78 KtyAfxmO.net
自分も超初心者なので練習
x='1 2 3 4 5'
m=map(int, x.split())
print(x)
print(x.split())
print(list(m))
# 1 2 3 4 5
# ['1', '2', '3', '4', '5']
# [1, 2, 3, 4, 5]
444:デフォルトの名無しさん
19/02/28 20:57:13.41 mQj8H4X5.net
>>421は>>418ね
445:デフォルトの名無しさん
19/02/28 21:46:53.78 2bTQVOdg.net
なぜ for x in イテラブル とせず for x in range(n) でインデックスを取ろうとするのかがわからない
宗教上の理由でもあるのか
446:デフォルトの名無しさん
19/02/28 21:54:52.10 aNlcuW5k.net
>>428
ボタンはなんとかなりそうですけど入力欄から文字拾
447:って指定した数ランダム出力が大変そう、、 頑張ってみます
448:デフォルトの名無しさん
19/02/28 22:45:24.44 q6d6kpjr.net
python3でmapがジェネレータ返すようになったの未だに慣れない
449:デフォルトの名無しさん
19/02/28 22:56:22.40 DbAr3TBt.net
python2のほうがプログラミング自体の初心者には分かりやすかったよな
450:デフォルトの名無しさん
19/02/28 23:54:03.99 /+wdq6fK.net
>>429
イテラブルを知らないからだろ(当然イテラブルであるための条件も知らない)
Pythonはclassを使ったオブジェクト指向言語だけど
でも、はじめからclassを作ってあーだこーだではなくC言語のように使うんだと最初教え込まれるからな。
C#やjavaのようにhello worldを表示するにもclassが出てくるんではなく
Cようにprint(...)ではクラスへの道のりは遠く、で、イテラブルなクラスは
超絶な遠さのところにある感じだからな。
と言うことで、初心者はCのようにfor x in range(n)にしてやるんだぞと教え込まれる。
クラスへまでの道のりは遠いから超初心者スレではクラスの質問はほとんど出ない
451:デフォルトの名無しさん
19/03/01 01:29:34.36 VzgI02J9.net
>>427
自分も超初心者であります!
頑張りまっす!!
452:デフォルトの名無しさん
19/03/01 01:37:09.00 KH61c5UP.net
関数がオブジェクトなのは比較的こんなのでも実感できるのでは?
p = print
p(‘Hello World’)
# Hello World
453:デフォルトの名無しさん
19/03/01 02:18:07.97 8KTg+fim.net
インデックスでアクセスしようがイテラブルの参照でアクセスしようがプログラマの勝手だと思うけどな
Python自体文法の制約でプログラマに自由を与えない思想だから、ルールの押しつけはしょうがないとも思うけど
正直インデントの制約は正気の沙汰とは思えないけどな
454:デフォルトの名無しさん
19/03/01 03:20:06.33 hj2Lx6Rs.net
なら正気の沙汰の言語のスレに行けばいいものを
455:デフォルトの名無しさん
19/03/01 07:00:47.58 OviG+/BX.net
プログラミング言語の設計をしようとする時点で脳のどこかに欠陥を抱えている
正気の沙汰の言語などない
456:デフォルトの名無しさん
19/03/01 07:05:12.14 GYGnZVsf.net
つーかrangeってiterableなんだけど知らないのか?
457:デフォルトの名無しさん
19/03/01 09:21:38.59 VWbcPJmE.net
それなw
458:デフォルトの名無しさん
19/03/01 10:16:21.42 wtu2VuQe.net
さっき初めてPythonのコードを見た初心者なんですが、コピペでインデントずれたら中身読んで手動でインデント直すしかありませんか?
459:デフォルトの名無しさん
19/03/01 11:50:19.46 RkKCNcIA.net
>>441 自分のソースの中に他人のソースをコピーするような場合?
それしかない。
460:デフォルトの名無しさん
19/03/01 11:57:42.41 oRvPnA6O.net
インデントがずれないようにコピペする
461:デフォルトの名無しさん
19/03/01 12:35:18.99 aHTh+udf.net
shift+tab
462:デフォルトの名無しさん
19/03/01 13:19:46.04 ozM8zBQ9.net
2ちゃんのスペース表示仕様まで変えてしまった言語がPythonである
463:デフォルトの名無しさん
19/03/01 16:55:36.37 KMRxw/mf.net
スペースを短くする一括変換の方が早いと思うな。 特にいやらしいのはタブ記号の混在。最初にタブが入ってたらスペースに変換。
464:デフォルトの名無しさん
19/03/01 19:24:25.32 GYGnZVsf.net
だからインデントもまともにできない初心者はpycharm使っておけって
ズレてたら教えてくれるから
465:デフォルトの名無しさん
19/03/01 21:29:48.58 5XyBzD+m.net
誰がずらだコラァ
466:デフォルトの名無しさん
19/03/01 22:18:46.58 8KTg+fim.net
生え際がシンタックスエラー
467:デフォルトの名無しさん
19/03/01 23:35:13.62 hJuXK+uz.net
>>449
つ 座布団一枚
468:デフォルトの名無しさん
19/03/02 01:41:54.42 0Z7GU3hQ.net
>>447
インデントすらまともにできない奴はプログラミングは無理だから
別なことをしろだろ
469:デフォルトの名無しさん
19/03/02 09:15:34.90 c+fDdYHP.net
pythonのソースコードをフォーマットするのには、みんなautopep8を使ってるのかね
470:デフォルトの名無しさん
19/03/02 10:09:48.63 xbKWWazw.net
ほうほう
俺ちゃんはそんなものしらないので
秀丸とsakuraエディタで手作りです
471:デフォルトの名無しさん
19/03/02 11:49:49.14 nqwTLRnH.net
インデントした区間が終わって一段元に戻るとき
テキストファイルのソースだと空行無くても大丈夫なのに
インタプリタとかIDEのときは空行入れないといけないのが不満
(理由は判るけど)
これなんともならんのかね
472:デフォルトの名無しさん
19/03/02 11:54:02.70 og4HVKiE.net
>>452 便利そうだな。 入れないと損なのか。
URLリンク(githubja.com)
473:デフォルトの名無しさん
19/03/02 13:44:48.85 A7lhNiPK.net
PyConだかで取ってたアンケではyapfが大半だったと思う
次いでautopep8とBlack
474:デフォルトの名無しさん
19/03/02 15:03:01.69 R507/Kbo.net
>>456
URLリンク(github.com)
ここをみて pip install yaps は出来たが、使い方が今一解らん。
475:デフォルトの名無しさん
19/03/02 15:07:05.06 R507/Kbo.net
>>457 悪い悪い、yapf だったね。 シェルコマンドとしてのコンバータとして動くのか。
476:デフォルトの名無しさん
19/03/02 15:10:35.42 R507/Kbo.net
eclipse などのIDEだと入力中に自動整形してくれるのかな。
477:デフォルトの名無しさん
19/03/02 17:33:58.54 qdo3sOAM.net
>>451
sexか?
478:デフォルトの名無しさん
19/03/02 21:35:47.51 la2Rs48k.net
pythonista3を買ってみたけど文字打ったり補完した後に文字打とうとしたら上書きされたりする
描きにくすぎて辛い
479:デフォルトの名無しさん
19/03/02 21:39:59.70 zLUw08oC.net
>>452
flake使ってる
480:デフォルトの名無しさん
19/03/02 23:00:34.12 yB7kTQ7C.net
flakeもフォーマット機能あるんか
linterだと思ってた
481:デフォルトの名無しさん
19/03/03 01:13:01.16 vKWKyL5A.net
>>461 意味不明。 print() が出た後に() の中にカーソルは残ってるから描きやすいと思うけどな。
‘’ を出しても中にカーソルはあるし。 どんな場合?
文字が小さいから特定の文字を訂正したりとか言うときはなかなかカーソル位置を合わせるのがうまくいかないことはあるけどそれはスマホの宿命。 画面が拡大出来ると良いと思うけどな。
482:デフォルトの名無しさん
19/03/03 01:19:51.31 ffCrW6pd.net
tkinterをいじっていて入力ボックスの文字を
command = lambda:test_fanction(txt.get()))で取って
def test_fanction(txt):
print(random.choice(txt))でランダム一文字ずつだせたはいいんですが
ボックス内の文字を一文字ではなく指定したn文字数ランダムに取り出す
というのとthinker内でそのn文字も指定できるようにしたいということで悩んでます
お力添え願えませんか?
483:デフォルトの名無しさん
19/03/03 01:31:12.61 vKWKyL5A.net
pythonista の中に reformat としてPEP8 が入ってるのに今気づいた。
しかし、PEP8にしろ、yapf にしろ、空白3個と空白4個の混在の場合エラーを出すだけで自動で修正してくれないんだな。
タブサイズは自動的に変更してくれるけど。
484:デフォルトの名無しさん
19/03/03 03:05:14.33 YqozNVoh.net
>>464
例えばpと打ったら補完機能で上にprint()とでるじゃないですか?
そのprint()を押したら何故かpのとこにカーソルがあってそのままaを押したらpがaに変わってarintになるんです。
そこにカーソルがあると次候補や開業も押せない
485:デフォルトの名無しさん
19/03/03 04:47:35.44 vKWKyL5A.net
>>467 そうはならないけどな。() の中にカーソルは来るよ。
壊れてるんじゃないの、消して再ダウンロードしてみたら?
486:デフォルトの名無しさん
19/03/03 08:56:14.39 RP7OXEaJ.net
)))が3つ以上連なると見にくいから)) )にしたりするな、もちろん見にくさによるけど
慣習より読みやすさ
487:デフォルトの名無しさん
19/03/03 09:06:35.38 R+BaZbTo.net
>>465
def test_fanction(txt):
ここにnを指定してるボックスからnを取得する命令を書け
n = int(n)
txt = ''
for i in range(n):
txt += random.choice(txt)
print(txt)
あと、どーでもいいことだが、
(txt.get()))
↑ここのとじかっこ一つ余計
488:デフォルトの名無しさん
19/03/03 09:07:38.78 uQiZZFNH.net
というか素人スギ
489:デフォルトの名無しさん
19/03/03 09:07:55.13 uQiZZFNH.net
fanation w
490:デフォルトの名無しさん
19/03/03 09:09:26.05 R+BaZbTo.net
>>470
おおう
txtがゲシュタルト崩壊しとった
訂正
def test_fanction(txt):
ここにnを指定してるボックスからnを取得する命令を書け
n = int(n)
hoge = ''
for i in range(n):
hoge += random.choice(txt)
print(hoge)
より望ましくは、hogeはcharactarsみたいな、意味を持つ語にしてやってくれ
491:デフォルトの名無しさん
19/03/03 09:11:11.71 R+BaZbTo.net
>>471
スレタイを読んでから
美しいお手本回答を見せてくれ
492:デフォルトの名無しさん
19/03/03 09:27:27.29 uQiZZFNH.net
>>474
イヤどす
493:デフォルトの名無しさん
19/03/03 09:36:06.45 R+BaZbTo.net
じゃあ
とりあえず
しゃぶれよ
494:デフォルトの名無しさん
19/03/03 10:06:47.90 uQiZZFNH.net
>>476
しゃぶるくらい別にいいけどさ
言っておくがそれセクハラだぞ
495:デフォルトの名無しさん
19/03/03 10:12:44.52 R+BaZbTo.net
>>477
いいんだw
「とりあえずしゃぶれよ」は5chのお約束ヤジの一つだわな
現実で言ったらたしかにやばいw
496:デフォルトの名無しさん
19/03/03 10:23:46.84 uQiZZFNH.net
>>478
確かにやばいw
が、別にいいんだぜ
497:デフォルトの名無しさん
19/03/03 10:26:05.53 R+BaZbTo.net
>>479
じゃあ
ケツ貸せよ は・・・? (・∀・)ドキドキ!
498:デフォルトの名無しさん
19/03/03 10:28:10.10 uQiZZFNH.net
>>480
それだけは断る!
断じてことわる!!
499:デフォルトの名無しさん
19/03/03 10:28:50.13 R+BaZbTo.net
>>481
だめかー
・・・・・・もしかして→ (´・ω・`)ぢぬし?
500:デフォルトの名無しさん
19/03/03 12:07:09.41 CoMPR6UA.net
>>473
ありがとう御座います
あれからn取得用入力ボックスを作って色々やっていたのですが、test_fanction内でn取得までできるのですか?乞食で申し訳ないのですが書き方を教えて貰っても大丈夫でしょうか?
501:デフォルトの名無しさん
19/03/03 12:41:36.16 CoMPR6UA.net
>>483
連投すいません
自分が考えた事はn取得ボックスsuを作って取得ボックスボタンを作り新しく
def suji_fauction(su):を作ってそこに最初と同じくボタンcommand=lambda:suji(su.get())でnをどうにかしてからtest_fanctionに持って行って取ったtxtからランダムn個抜き出すという事でしたが、どうにかするがどうにもならなかったです 見苦しい長文失礼しました
502:デフォルトの名無しさん
19/03/03 12:51:44.12 pC3Iiu0Z.net
入力されるデータが 1ならx = int(input())いけるんですが
1 1 1とかの時はx = input().split()で毎回使うときにint(x)するしかないのですか
503:デフォルトの名無しさん
19/03/03 13:12:36.69 R+BaZbTo.net
>>483-484
「ここにnを指定してるボックスからnを取得する命令を書け」の行に
インデントに注意して
n = su.get()
って書いて桶
504:デフォルトの名無しさん
19/03/03 13:13:49.16 R+BaZbTo.net
>>485
>>422がイイ(・∀・)こといってるぞ
505:デフォルトの名無しさん
19/03/03 13:52:46.99 TIqzUsNF.net
>>422がどうでもイイ(・∀・) >>424
506:デフォルトの名無しさん
19/03/03 13:53:53.23 CoMPR6UA.net
>>486
ありがとうございますできました
頭良いとこんなにあっさり簡単な書き方でやるんですね、、