X



Pythonのお勉強 Part54 [無断転載禁止]©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
0806デフォルトの名無しさん
垢版 |
2017/12/07(木) 22:21:39.17ID:QxT2u2P9
これだから5ちゃん初心者は。
逝ってよし。
0807遊園
垢版 |
2017/12/08(金) 14:01:50.34ID:2yGEQiN1
0809デフォルトの名無しさん
垢版 |
2017/12/08(金) 15:32:07.46ID:1R9LnMxY
dat[0, :] = x

これは何ていう記法?
コンマが無ければただのスライシングだけど…
オライリーの本2冊持ってるけど出てない
0811遊園
垢版 |
2017/12/08(金) 16:02:45.11ID:2yGEQiN1
(^q^)「しりとりってどうやったらできますかあーーー?」(大声)

l=[]
#x=int(input())
#[l.append(input()) for i in range(x)]
l=['O','K','N','I','T','O']
[print(i) for i in reversed(l)]
0812遊園
垢版 |
2017/12/08(金) 16:05:45.08ID:2yGEQiN1
あーーーwww つまんね。
0813デフォルトの名無しさん
垢版 |
2017/12/08(金) 16:10:18.64ID:Awh7gcIc
タプルを返す関数つくるのに
return (a,)
とか書く人いるけど全く無駄だよな
return a,
でいい
0815デフォルトの名無しさん
垢版 |
2017/12/08(金) 18:24:03.80ID:1R9LnMxY
シーケンスの要素にタプルを格納できるのはもちろん知ってるけど
インデクシングやスライシングのためにタプルを指定するという事はつまり何なんだ…

この辺きちんと理解できてなかったな。もう少し考えてみる
0816デフォルトの名無しさん
垢版 |
2017/12/08(金) 18:54:11.00ID:0q0HX+Cj
>>809
おっ、お前もいっちょ前にようやく覚えたんか
そりゃ覚えたら、使ってみたい年頃や
0817デフォルトの名無しさん
垢版 |
2017/12/08(金) 18:55:59.34ID:0q0HX+Cj
>>816はレス番間違いや
正しくは>>808
マジで宇津田氏脳や
0821デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:44:46.35ID:TcYdv7Hd
>>810
ダウト

>>> 1,
(1,)
>>> 1,,
SyntaxError: invalid syntax
>>> 1,,,,
SyntaxError: invalid syntax
0822デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:46:52.40ID:ZGFIMoCw
pythonをはじめてnumpyとmatplotlibで遊んでて
あまりにグラフの表示が遅かったのでpyopenglに行って作ったのだけど
せっかくpythonを使っているのにあまりライブラリを生かしている気がしません

で、Pythonらしく、物体検出が面白そうなpypenCVに行こうかなと思っているのだけれど
pyopenCVに行くならこれは勉強しておけみたいな事があれば教えてください
結構バグがあるという噂を聞いたのでちょっと怖い
0823デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:50:16.53ID:TcYdv7Hd
>>820
site.py削除してみ
0824デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:51:02.64ID:IrdOezu+
>>823
消して大丈夫なやつ?
0825デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:52:12.41ID:TcYdv7Hd
>>822
>pyopenCVに行くならこれは勉強しておけ

C/C++
0826デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:52:35.95ID:TcYdv7Hd
>>824
いやなら site.py_ みたいに rename
0827デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:54:24.95ID:IrdOezu+
>>826
やってみる

一応python3.4と3.6の仮想環境作ったら問題なかったからデフォルトのpython3.5が邪魔してる感じなのかな
0828デフォルトの名無しさん
垢版 |
2017/12/08(金) 23:46:58.75ID:bn9A+3KX
>>814
if文とかでも、andやorを併用するときは、条件をパレンで囲ったほうがわかりやすい場合もある
基本的に非推奨みたいだけど、JSの時のクセで、単一条件でもついやってしまうわ
0832デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:33:10.45ID:nuTX+Pqx
>>829
パーレン()
ブラ<
ケット>
スケブラ[]
カリブラ{}
0833デフォルトの名無しさん
垢版 |
2017/12/09(土) 15:39:10.91ID:J8x37gzD
>>830-832
ブラケット、スクエアブラケットは知ってたけど'()'ってパーレンって言うのか
普通に括弧って呼んでた
0836遊園
垢版 |
2017/12/09(土) 21:25:28.79ID:J0X0FLOJ
空の配列って連番作成できないの?
L=[]
R=[]
とか、毎回書いてるんだけど、面倒だからA-Zまで上記の方式でまとめて作成できない?
0838デフォルトの名無しさん
垢版 |
2017/12/09(土) 22:26:59.60ID:r6QOq0kp
>>836
毎回プログラムで
プログラムをファイルに書き出す
プログラムをつくれば
いいんじゃないかな?
0842デフォルトの名無しさん
垢版 |
2017/12/09(土) 23:37:36.78ID:k2/GOVIp
>>836 できましたぁ!
>>> from collections import defaultdict
>>> d = defaultdict(lambda:[])
>>>
>>> d['A'] = [1,2,3]
>>> d['A']
[1, 2, 3]
>>> d['B']
[]
>>> d['B'].append(3)
>>> d['B']
[3]
>>> d['C']
[]
>>> d['Z']
[]
>>>
0844デフォルトの名無しさん
垢版 |
2017/12/10(日) 05:19:39.14ID:Ivp7Fyt3
グローバル汚すな
0845遊園
垢版 |
2017/12/10(日) 09:25:58.63ID:DUp9AezH
A.append(123)とか書いたら name 'A' is not defined
と出るので、仕方なく A=[] と毎回かいてる。

とりあえず、>>843を使わせて頂きます。

 ありがとうございました。
0849おはようござます。
垢版 |
2017/12/10(日) 12:38:55.38ID:9429WHjp
質問なのですが
pythonで書いたコードを実行中に

一分後にコードをすべて再実行するロジックを入れたいのですが
どういったコードをかけばいいでしょうか
0851おはようございます
垢版 |
2017/12/10(日) 12:53:54.45ID:9429WHjp
sleep とかの 一時停止後の再実行ではなくて

計算したのをすべてなしにして
初めから再実行をかけたいんですよね
こまってます
0853デフォルトの名無しさん
垢版 |
2017/12/10(日) 13:23:12.64ID:ye/uOlZy
普通に、1度目の処理は最後にsleep(60)が実行されて、2度目で終了するループ処理では駄目なの?
0854デフォルトの名無しさん
垢版 |
2017/12/10(日) 13:26:15.13ID:rNGiIPu5
>>851
sleepからあけた後に勝手に一からやり直しゃいいと思うよ。

別に一分間隔でプロセス起動しても良いけど。
0856デフォルトの名無しさん
垢版 |
2017/12/10(日) 14:51:53.96ID:Z/uH3qH0
クラスの中でそのクラスのメソッドを呼びたいんだけど
class Test(Parent):
Test().func()

def func(self):
....
....
じゃだめなの?
not defined のエラーが出る
0860デフォルトの名無しさん
垢版 |
2017/12/10(日) 17:31:27.35ID:UOQUQi73
@staticmethod
def func(self):
0861デフォルトの名無しさん
垢版 |
2017/12/10(日) 17:31:52.03ID:UOQUQi73
IDわろた
0862デフォルトの名無しさん
垢版 |
2017/12/10(日) 17:32:30.40ID:UOQUQi73
ああすまそ @staticmethod なら self いらんかった
0864デフォルトの名無しさん
垢版 |
2017/12/11(月) 03:42:41.94ID:hBs7hPmg
自己レス、取りあえずインスタンス生成したとき1回呼ぶだけなんで以下でいいみたいだ。
class Test(Parent):
def __init__(self,**kwargs):
super(Test,self).__init__(**kwargs)
self.func()

def func(self):
.....
.....
0865デフォルトの名無しさん
垢版 |
2017/12/11(月) 06:41:20.17ID:4+bid6rw
ふつうはそうするが
別の理由があって聞いてるんだと思った
0866デフォルトの名無しさん
垢版 |
2017/12/12(火) 17:44:13.16ID:3MG0X84S
>>699
csv_normal.pyがバージョン2.4.0にバージョンアップしたよ(https://ideone.com/u5Ji8H

 Version: 2.4.0
  ・csvデータを罫線で囲む機能を追加したよ(csvデータの可読性アップ)
  ・関数名などをスネークケースに統一したよ(コードの可読性アップ)
  ・関数、メソッドを沢山追加したよ(csvデータの処理機能アップ)
  ・数値リテラル内のアンダースコア表示に対応したよ(数値の可読性アップ )

思いついた機能は全部入れたよ、頑張りすぎてコードが千行超えちゃったよw
目玉は罫線で囲む機能で、罫線パターンは簡単に自作できるようになっているよ
少し早いけどクリスマスプレゼントだよ
0867デフォルトの名無しさん
垢版 |
2017/12/12(火) 18:05:44.87ID:98iDbaWn
まだ続けとったんか
メッチャよくなったやん
0869デフォルトの名無しさん
垢版 |
2017/12/12(火) 21:45:38.63ID:3MG0X84S
>>> import csv_normal as csv
>>> s='''
今日は何かめっちゃ褒められてますがな
ところでまた機能を1つ思いついてしまった・・
この縦書き機能を・・天才かもしれん'''
>>> c = csv.csv([list(string) for string in s.split('\n') if string])
>>> c.fill(); c.refresh_field(); c.replace_field('', ' ')
>>> c.csv = c.csv[::-1]; c.csv = csv.row2column(c.csv)
>>> c._display_delimiter=''
>>> c.print()
こと今
のこ日
縦ろは
書で何
きまか
機ため
能機っ
を能ち
・をゃ
・ 1褒
天つめ
才思ら
かいれ
もつて
しいま
れてす
んしが
 まな
 っ 
 た 
 ・ 
 ・ 
0870デフォルトの名無しさん
垢版 |
2017/12/13(水) 16:02:33.73ID:SHWRPW1I
ボタンを押したときに01〜03の関数を動かしたいんだけど、

btn.OnClick.Add(01,02,03)

とかやってもうまくいかなくて、

btn.OnClick.Add(01)
btn.OnClick.Add(02)
btn.OnClick.Add(03)

みたいにやらないといけない
でもこれだと02や03が不安定で、動くときと動かない時がある
どうすればいいでしょうか
0871デフォルトの名無しさん
垢版 |
2017/12/13(水) 17:49:16.91ID:5NvkV9BJ
>>866
csv_normal.pyがバージョン2.5.0にバージョンアップしたよ(https://ux.getuploader.com/codes/download/6

 Version: 2.5.0
  ・print_idx2メソッドを追加したよ(インデックス表示+罫線で囲むからcsvデータが更に見やすくなるよ)

ideoneサイトだとコード容量オーバーで貼り付けられなかったからコードアップローダーにアップしたよ
※Python3.6から追加された機能を使用しているから古いPythonだと動かないので注意だよ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0872デフォルトの名無しさん
垢版 |
2017/12/13(水) 19:02:23.16ID:b34l3iDJ
BBQおめ
0873デフォルトの名無しさん
垢版 |
2017/12/13(水) 19:35:28.14ID:X0jO0ehF
>>870
01-03の関数を大きな関数の中で呼び出して、btn.OnClick.Add() にはその大きな関数を渡せばいいんじゃないの
0875デフォルトの名無しさん
垢版 |
2017/12/14(木) 18:31:20.18ID:ehF4QImV
お構いなしに型変換して同じ変数にぶち込むスタイルのコーディングがいつまで経っても慣れんわ
0877デフォルトの名無しさん
垢版 |
2017/12/14(木) 19:32:40.08ID:oezENCsV
>>875
おまえ関数型勢に消されんぞ
0878デフォルトの名無しさん
垢版 |
2017/12/14(木) 19:56:37.07ID:rn0SmpIP
自分も変数なるべく使いまわしてるんだけどこれ速度と可読性の観点でどうなの?
0879デフォルトの名無しさん
垢版 |
2017/12/14(木) 20:48:58.99ID:vpKUBjgx
df何度も上書きして使いまわし
0881デフォルトの名無しさん
垢版 |
2017/12/15(金) 00:17:15.09ID:yw8gSH0I
for文をなるだけ使わないってのは速度の点で重要だけど
素直にc++なりで書いた方が慣れないうちは楽だなと思ったり
0885デフォルトの名無しさん
垢版 |
2017/12/15(金) 11:08:31.56ID:Z44X65Q/
>>871
少し使ってみたけどデータはpandasよりも格段に見やすい
データ抽出はpandasのqueryの方が簡潔で分かりやすい、csv_normalは冗長的だがPythonに慣れてる人はこっちでもいいかも
データを枠で囲む機能はまあまあ気に入った
感想はこんな感じかな、なかなか良い出来だと思うよグラフ化することが無いならこっち使ってもいいかもな
0886デフォルトの名無しさん
垢版 |
2017/12/15(金) 14:57:01.36ID:jrk+Uh93
いやいや変数の使い回しなんて小手先すぎるだろ…
勿論、コマ落ち防止でgc発生を絶対抑止しないといけないとか、変数使い回しが必要な場面もあるけどさ。

あえて書くまでもないことだけど、pythonに限らず、変数を使いまわして可読性メンテナンス性を下げるより、アルゴリズムを変えることを検討した方がいい
0889デフォルトの名無しさん
垢版 |
2017/12/16(土) 13:18:54.64ID:9Fve7Q6b
変数を使い回すということは、前のデータはいらないってこと、そして前のデータと意味は同じってこと
baka = >>875
baka.ng()
baka = >>886
baka.ng()
0890デフォルトの名無しさん
垢版 |
2017/12/16(土) 13:54:20.53ID:MCFqyxDm
変数使いまわさないと
事実上変数のスコープがずっと続いて読みづらいことある
0891デフォルトの名無しさん
垢版 |
2017/12/16(土) 13:56:22.78ID:tthKlmuc
>>889
例えば"aの色"という変数があって、aの色が変わったのなら、当然もとの"aの色"変数に格納する。
これをそもそも使いまわしと言わない。

意味が違うのにデータがいらないという理由で使いまわしてるのなら話にならない。

>>887
何だって例外はあると思うよ。
0897デフォルトの名無しさん
垢版 |
2017/12/16(土) 14:49:36.51ID:9Fve7Q6b
>>891
せっかくbakaを例に出してんのに例を例で被せてくんなよバカ
オマエの例でいえばbakaは"色"という変数だマヌケ
"色"にaの色を格納して、いらなくなったから"色"にbの色を入れてんの
そして色という意味は同じわけ、bakaの例みれば分かるだろ
0898デフォルトの名無しさん
垢版 |
2017/12/16(土) 15:35:32.16ID:9Fve7Q6b
ちっ、せっかくカウンター用意してたのに噛みついてこいやぁ!!
つまり変数の使い回しというのはfor文の変数だ
for baka in (>>876, >>886, >>891):
 baka.ng()

はい、論破ァーww
0899デフォルトの名無しさん
垢版 |
2017/12/16(土) 18:30:11.61ID:PKDI5VWV
最近勉強始めたばっかの初心者なんだけど質問すまん
これの下の方の二つの input って誤植だよね? 正しくは print であってる?
http://imgur.com/fy1mnRS.jpg
0900デフォルトの名無しさん
垢版 |
2017/12/16(土) 19:53:43.43ID:PDgCh/4m
>>899
このコードをそのまま実行した場合と
該当箇所の input を print に書き換えて実行した場合を比較すればわかるけど
「そういう動作」を狙って著者さんがこう書いただけだと思う
初心者向けのサンプルプログラム以外で、こういう input() の使い方ってしないと思うけどね
出版社に問い合わせても図書カードとかはもらえなさそう
0901デフォルトの名無しさん
垢版 |
2017/12/16(土) 19:58:38.21ID:rq6V2ypo
kbhit()だな
0904デフォルトの名無しさん
垢版 |
2017/12/17(日) 00:11:06.04ID:OP5LAhHm
同じidなら結合して出力したい。

l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]

求める結果
id0 python
id1 aiueo
レス数が900を超えています。1000を超えると表示できなくなるよ。

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