X



Pythonのお勉強 Part54 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
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
0907デフォルトの名無しさん
垢版 |
2017/12/17(日) 00:56:13.28ID:OP5LAhHm
coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
A01='Coordinates: {latitude}, {longitude}'.format(**coord)

print(A01)
0908デフォルトの名無しさん
垢版 |
2017/12/17(日) 00:57:29.44ID:/cDASRuF
グラフ描画はやっぱりseabornですかね?
他にお勧めのふつくしいパッケージあったら教えてください
0911デフォルトの名無しさん
垢版 |
2017/12/17(日) 06:37:55.25ID:nW0iFIyL
>904

defaultdict 使うと楽だよ。

import collections


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

dic = collections.defaultdict(str)
for k, v in l: dic[k] += v
for k, v in dic.items(): print(k, v)
0912デフォルトの名無しさん
垢版 |
2017/12/17(日) 08:24:35.52ID:VH1yLn0n
import seaborn as sns
これ何でsnsにするの? sbが適当じゃない?? seaborn調べると皆snsにしている
0913デフォルトの名無しさん
垢版 |
2017/12/17(日) 11:08:28.09ID:nW0iFIyL
Samuel Norman Seaborn っていう架空の人物が登場するテレビドラマがあって、それに掛けたジョークらしいよ
0914904
垢版 |
2017/12/17(日) 12:36:13.88ID:OP5LAhHm
>>911
助かりました。ありがとうございます。
0918デフォルトの名無しさん
垢版 |
2017/12/17(日) 16:25:27.84ID:GUabbIAG
プログラム初心者なんだけど質問第2すまん
pip installについてなんだけど
教本通りにQRコードを生成するパッケージをインストールしたいんで
pip install pillow qrcodeって入力したら
Collecting pillow って出てきてずっと固まってる
時間経てばインストールし終わる?
0919デフォルトの名無しさん
垢版 |
2017/12/17(日) 16:32:17.61ID:XxtCNzg/
バージョンは
0920デフォルトの名無しさん
垢版 |
2017/12/17(日) 16:42:51.96ID:VH1yLn0n
Windowsならコマンドプロンプトを起動するときに右クリック→"管理者として実行"
で起動しないとpip install失敗するよん
0922デフォルトの名無しさん
垢版 |
2017/12/17(日) 17:01:02.18ID:GUabbIAG
Microsoft Windows[Version 6.0.6002]って書いてある
管理者として実行も試してみたんだけどCollecting pillowから進まない

うーん何か足りないんかな
0923デフォルトの名無しさん
垢版 |
2017/12/17(日) 17:21:26.29ID:XxtCNzg/
どっちにしろおま環だから何とも言えんが
pillowがだめでもPIL入れてればいけるんじゃね
0924デフォルトの名無しさん
垢版 |
2017/12/17(日) 17:35:08.16ID:VH1yLn0n
pip install pillow qrcode
でインストールできたでぇー、QRコードも生成できた

pythonのバージョンは3.6.1
pipのバージョンは9.0.1
Pillow(4.0.0)インストール済み
0925デフォルトの名無しさん
垢版 |
2017/12/17(日) 18:12:47.56ID:GUabbIAG
解決した!
恥ずかしくて言えないくらい初歩的なミスだった……
すまん、ありがとうございました
0926デフォルトの名無しさん
垢版 |
2017/12/17(日) 18:56:07.30ID:VH1yLn0n
csv_normal.pyがバージョン2.7.7にバージョンアップしたよ(https://ux.getuploader.com/codes/download/7
もう追加機能も思いつかないので、たぶんこれがファイナルバージョンとなるよ

 Version: 2.7.7
  ・使用例の説明を改善

  ・冗長性の改善(>>885のご指摘を受けて)
     ・冗長な関数名、メソッド名、引数名などを簡潔に改名
     ・ヘッダー情報を更に便利に簡単にアクセスできるように改善

  ・メソッド追加
     ・shapeメソッド - 行列のサイズを表示(pandasからパクった)
     ・print2メソッド - printメソッドよりさらに見やすい(罫線で囲むから)
     ・inquire_field_valueメソッド(>>904もこれで解決)
などなど


あとがき:
 csv_normalは配列を配列のまま扱うことでPythonの強力な配列操作をそのまま利用でき
 簡潔で直感的、習得も簡単ですぐに使用できる優れたモジュールとなりました
 特にデータを罫線で囲んで表示する機能は秀逸で他に類をみない可読性を提供します
 これはpandas越えたわ・・ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0927デフォルトの名無しさん
垢版 |
2017/12/17(日) 19:11:04.86ID:VH1yLn0n
>>871
csv_normal.pyがバージョン2.7.7にバージョンアップしたよ(https://ux.getuploader.com/codes/download/7
もう追加機能も思いつかないので、たぶんこれがファイナルバージョンとなるよ

 Version: 2.7.7
  ・使用例の説明を改善

  ・冗長性の改善(>>885のご指摘を受けて)
     ・冗長な関数名、メソッド名、引数名などを簡潔に改名
     ・ヘッダー情報を更に便利に簡単にアクセスできるように改善

  ・メソッド追加
     ・shapeメソッド - 行列のサイズを表示(pandasからパクった)
     ・print2メソッド - printメソッドよりさらに見やすい(罫線で囲むから)
     ・inquire_field_valueメソッド(>>904もこれで解決)
     などなど


あとがき:
 csv_normalは配列を配列のまま扱うことでPythonの強力な配列操作をそのまま利用でき
 簡潔で直感的、習得も簡単ですぐに使用できる優れたモジュールとなりました
 特にデータを罫線で囲んで表示する機能は秀逸で他に類をみない可読性を提供します
 これはpandas越えたわ・・ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0928デフォルトの名無しさん
垢版 |
2017/12/17(日) 19:17:52.67ID:XxtCNzg/
test
なんか専ブラの動きが変だな
また仕様かわったか
0929デフォルトの名無しさん
垢版 |
2017/12/18(月) 10:05:45.20ID:vfjnbjyE
ライブラリをインストールしてチュートリアルのプログラムを一通り動かすまでに結構時間を消費しちゃう
バージョンによってチュートリアルを結構改変しないと動かないのが多いし
魅力的なライブラリが多いけどそこまで直ぐに使えるようにはならないと思いましたまる
0932デフォルトの名無しさん
垢版 |
2017/12/18(月) 12:30:50.45ID:MRRIpNjB
>>909
どうせ書くなら、組み込みメソッドの Enumerable#inject と Hash#merge を
使った関数型プログラミングのスタイルが Ruby らしいのではないかと思われ

https://ideone.com/v02Ldy

for文のループをゴリゴリ回す手続き型プログラミングのスタイル(>>911)とは対照的だね
0933デフォルトの名無しさん
垢版 |
2017/12/18(月) 13:49:20.75ID:qOhnl7Wk
l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
from itertools import groupby
for r in [(k, ''.join([item[1] for item in i])) for k,i in groupby(l, key=lambda x:x[0])]: print(*r)

はい、オレが優勝
0935デフォルトの名無しさん
垢版 |
2017/12/18(月) 14:15:11.80ID:qOhnl7Wk
┐(´- ` )┌ ハッ、イテレータが欲しいのだよ、これだからググっただけの奴はw
0937デフォルトの名無しさん
垢版 |
2017/12/18(月) 14:32:10.96ID:qOhnl7Wk
あ、これ何も考えてない奴の常套句だわ 回答書けないならレス汚さないでくれる?
0938デフォルトの名無しさん
垢版 |
2017/12/18(月) 14:50:33.65ID:kA+4TLLO
え?真面目に言ってるの?どのみちイテレータ返るでしょ、ジェネレータを言ってるにしてもジェネレータ式はないし
リストが欲しいというならギリギリ分からなくもないが、それでもコールバックを与えるgroupbyには関係ないよね
0939デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:01:14.41ID:qOhnl7Wk
ブヒョヒョヒョヒョッw operator.itemgetter使った例書いてみろよバーカ
オレのより良くなるわけねーんだよバーカ 知ったかバカがww
0940デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:03:03.28ID:ucgqtJiU
流れぶった切って初心者の質問3つめすまん
pipで暗号化だかなんだかのパッケージをインストールするのに
pip install pycrypto って入力したんだがエラーになった
赤文字が言うにはimport setuptools,tokenize;_
file_ってことらしい(たぶん)んだけどどうすればいい?パソコン自体にも明るくないんで初歩的な質問だったらすまん
0941デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:04:12.98ID:ucgqtJiU
Anacondaってのはインストールした
たぶん出来てると思う
0942デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:15:46.03ID:iOib+Cu3
>>911
>>933

そのまま、ソートできたりしますか?
0943デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:29:33.59ID:qOhnl7Wk
マジで君の葛藤
 そんなに言うなら書いてやらぁ、import operator ・・はっ!?
 あいつのより一行増えちまうぅぅ・・operatorをimportするだけで負けちまうぅぅ
 どーすればいいんだあぁ  マジで負けちまう、マジでマジでぇぇええ
0944デフォルトの名無しさん
垢版 |
2017/12/18(月) 19:35:06.39ID:uz+0MMm5
Scipy lecture notes は難しいなあ
0945デフォルトの名無しさん
垢版 |
2017/12/18(月) 20:23:19.81ID:nEpzfrhn
>942

911 は、
lst = sorted(dic.items())
でキーの昇順のリストlstを作ることができるよ。
0947デフォルトの名無しさん
垢版 |
2017/12/18(月) 21:31:04.85ID:80YjRLEJ
Excelに「Python」搭載検討 Microsoftがアンケート実施中
(ITmedia NEWS)
[続きを読む]
レス数が950を超えています。1000を超えると書き込みができなくなります。

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