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

レス数が950を超えています。1000を超えると書き込みができなくなります。
2017/05/13(土) 22:48:04.14ID:O7RODXwf
Pythonオフィシャルサイト
http://www.python.org/

まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&;TYPE=TITLE&STR=python
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む

■前スレ
Pythonのお勉強 Part52
http://echo.2ch.net/test/read.cgi/tech/1483756857/
2017/08/20(日) 15:06:09.15ID:hMJ7TBf2
対話モードだな
2017/08/20(日) 15:06:33.71ID:xmlWWNLw
>>845 >>850

ありがとう うちの環境では urllib.request だとエラーが出て
これで動いた 意味がまったくわからん
難しいねPython(ノД`)

#!/usr/bin/env python
import urllib
urls=('https://pics.dmm.co.jp/digital/video/miad00998/miad00998jp-6.jpg',
'https://pics.dmm.co.jp/digital/video/miad00998/miad00998jp-10.jpg ',)
[urllib.urlretrieve(url, url.split('/')[-1]) for url in urls]
2017/08/20(日) 15:20:10.57ID:JcO5pjVC
>>852
Python2.7.xとPython3.6.xの違いだね、勉強するなら最新の3.6.xがいいよ
2017/08/20(日) 18:19:04.34ID:xmlWWNLw
>>853
かさねがさねありがとう
855デフォルトの名無しさん
垢版 |
2017/08/20(日) 20:37:45.28ID:5+svZqva
入門サイトや公式など殆どが対話モードで解説してるけど複数行なんかのやり直しの時どうするの?
現在の行しか編集できないし頑張って3行書いて試運転して失敗してもやり直し方が解らない
2017/08/20(日) 20:47:38.11ID:GFyBYPhd
それな!

そこでjupyter notebookですよ。
857デフォルトの名無しさん
垢版 |
2017/08/20(日) 20:57:29.06ID:rKXoUEwV
PyCharmから対話モードを使ったら、入力補完も優秀だし、複数行の履歴も残るよ
2017/08/20(日) 21:11:37.56ID:pad5Oe71
なにも考えずアナコンダぶち込んどけば初心者はOKってことかな
2017/08/20(日) 21:16:48.87ID:Q4YOLudY
Spyder優秀
pandasのデータフレームの中身を普通に見れるのがええわ
2017/08/21(月) 01:57:04.96ID:Kzr43Eyo
言語の勉強だけでなく
OSまわりやインタプリタがロードしたり実行する仕組みも学んだ方が
応用やトラブルに効くようになっていいと思うけどな
初心者のうちから便利なツールばかりはどうかと思う
2017/08/21(月) 02:25:36.25ID:OWtO0iJv
逆でしょ
初心者のうちは学ぶべきところに集中させたほうが良い
後から周辺技術を学べば良い
2017/08/21(月) 04:45:24.90ID:Kzr43Eyo
設計とか上流やるならともかく
実装の実践では基礎もやってる奴のが効率いいという経験則
言語しかやらない奴は基礎を始めるきっかけを見出だせない奴が多くそのまま使えない奴に
2017/08/21(月) 05:55:18.86ID:/xGtPBqd
便利なツールって何を指してるんだ?

これまで挙がったIDEやら何やら使わなくても、普通に実行する分には
>OSまわりやインタプリタがロードしたり実行する仕組み
を学べないと思うけど
2017/08/21(月) 06:13:15.46ID:TEuIjCoe
初心者はIDLEでじゅうぶん
2017/08/21(月) 06:14:49.26ID:Kzr43Eyo
あーすまん
それで学べないようなレベルは問題外だわ
学校の勉強から頑張るか他の道を探してくれ
2017/08/21(月) 07:02:19.29ID:pZz/Krsw
プログラミングはC言語から始めなさい的な年寄りみたいな発想だな。

python自体が便利モジュールだらけのスクリプト言語な訳で、、、
便利なものは使えるだけ使ってやりたいことが簡単にできればそれで良いだろ。
2017/08/21(月) 10:00:34.90ID:edNFVMcB
いいえ、アセンブラから始めなさい。
2017/08/21(月) 14:46:10.74ID:4DqCNMrB
チューリングマシンから始めるべき
2017/08/21(月) 14:57:13.79ID:C7wuWVaT
アナコンダって本体ってプリインストールされてるPythonとは別に動作するの?
それとも乗っとるの?
python2系を前提に動いてるアプリケーションとかの影響は考えなくてもいい?

OSはKona Linux Ubuntu Edition 64bit(Ubuntu16.04ベース)
デフォルトのPythonのバージョンは2.7.12 python3のバージョンは3.5.2 です
870デフォルトの名無しさん
垢版 |
2017/08/21(月) 15:41:20.94ID:3/R2jhl2
>>862
だからMSの製品は芋が多いんだな
2017/08/21(月) 19:26:07.18ID:AHy/URyO
>>869
アナコンダは環境切替ツールではないらしいので、そういうことをしたかったら仮想マシンを作ってアナコンダをインストールすれば良いんじゃないかな
872デフォルトの名無しさん
垢版 |
2017/08/21(月) 20:36:55.17ID:P5SQnNzg
使いたいバージョンごとに/opt以下にいれてる。/opt/python3.5, /opt/python3.6みたいな感じで。
python、python3って実行した時はデフォルトのPython呼ぶように、特定のバージョンを必要なアプリだけ/opt以下を参照するようにしてる
2017/08/21(月) 20:51:51.81ID:AQwJUaRD
/usr/localじゃだめなんですか?
874デフォルトの名無しさん
垢版 |
2017/08/21(月) 21:20:00.89ID:P5SQnNzg
>>873
PATHから外しておく為にそうしてる
2017/08/21(月) 23:17:55.83ID:nqaSDwHR
環境変数PATH に入っていれば、何かの間違いが起きるかも

システムとアナコンダは、切り離しておくのが安全
2017/08/21(月) 23:46:43.53ID:bv6t3kzi
*nixには、cpython for windowsにあるpy.exeみたいなラッパーはないの?
2017/08/22(火) 09:51:50.06ID:B191EVcu
以前のAnacondaはmacだとdylibを共有領域にインストールしていたので
PATHに入ってなかろうがconflictを起こしていた
今はどうだか知らないが
878デフォルトの名無しさん
垢版 |
2017/08/22(火) 11:03:34.84ID:OLt5zdGl
いまVscode使ってるんだけどPycharmの方が良い?
2017/08/22(火) 19:20:08.71ID:ipsewOCn
とりあえずスマホにqpythonいれた初心者っす。
ターミナルで前入れたコマンドをコマンドプロントみたいに↑キーで履歴入力できないんだけどどしたらええの?
この辺使い方書いてるHPとかない?
2017/08/24(木) 16:48:03.24ID:NvmvTqtb
素人です
上のレスでiOS用のがあるんだと知って調べてみたらいくつかアプリがあるようですね
最も高評価なのがPythonista3なるiOS用アプリのようですが、導入するならこれで間違いないですかね
使ったことがある方いたら感想を教えてください
881デフォルトの名無しさん
垢版 |
2017/08/24(木) 17:04:37.04ID:Hxyx7Zq2
>>880
> 使ったことがある方いたら感想を教えてください
これ、スマホでやるもんじゃねーな
2017/08/24(木) 17:26:23.89ID:krC7AGZE
スマホでやってる奴なんて希少種かつ奇行種だからな
そう簡単に見つからんよ
2017/08/24(木) 17:52:12.63ID:fmb+H4Og
スマホでコーディングするためにキーボードアプリまで作っておいて結局コード書いてない俺みたいなのもいる
2017/08/24(木) 18:48:44.13ID:O+tGvMCZ
iPad Proに入れているけれど、あまり使ってないな
885デフォルトの名無しさん
垢版 |
2017/08/24(木) 21:24:26.64ID:I5z2dmpB
>880
使ってる
マッシュルームがわりに
地味に便利


地マ使>
味ッっ8
にシて8
便ュる0
利ル  
 ー  
 ム  
 が  
 わ  
 り  
 に  
2017/08/24(木) 21:36:52.60ID:NvmvTqtb
ありがとうございました
買うのは控えようとおもいます
2017/08/24(木) 21:41:14.20ID:plP2PBjy
>>885
便がニュルっと

まで読んだ
2017/08/24(木) 23:42:18.99ID:NvmvTqtb
Pythonはディープラーニング界隈に於いて引く手数多の時代だとかいうポジキャンをよく耳にしますが一体どういう関係なんでしょうか
2017/08/24(木) 23:47:48.26ID:plP2PBjy
そりゃもう、ねっとりうっふんな関係ですわよ
言わせないでくださいまし
2017/08/24(木) 23:52:06.02ID:2y1G8HO4
ライブラリ見ればわかるだろPythonばっかだよ
Luaに一つ、C++にもなくはない、Javaにも一応あるけど全部死にかけ
891デフォルトの名無しさん
垢版 |
2017/08/25(金) 00:53:07.46ID:fPpvjajI
Juliaで検索するとなぜかPythonがヒットします
Juliaの画像、動画をダウンロードできるモジュールがあるんでしょうか?w
2017/08/25(金) 01:16:08.51ID:uLfQrJrO
juliaっていうpythonインスパイア言語があってだな…
2017/08/25(金) 01:29:09.90ID:Yrdd8SBh
JULIA(日語:じゅりあ,1987年5月25日−)
2017/08/25(金) 16:07:00.93ID:0nrK3Ckt
AVの観過ぎ
895デフォルトの名無しさん
垢版 |
2017/08/26(土) 00:13:13.37ID:vnAe1GCW
>>891
正確に言うと「Julia vs 熊田曜子」で検索すると
Pythonがヒットしますw
2017/08/26(土) 00:14:25.52ID:pf1RytR8
ちょっと何言ってっかわかんないっすね
2017/08/26(土) 02:43:58.37ID:w+5MjHos
Julia Lang で検索すると、女優じゃなくて、言語の方を検索できるよ。
2017/08/26(土) 10:49:22.54ID:xlYG8Wwx
すいませんド素人の初心者なんですが
自分なりにJuliaで検索してスクリプトを書いて見ました
ダメ出しとかしていただけると助かります

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import urllib.request
import os
hinban = "h_295ecr00090"
dst = "./img/" + hinban + "/"
os.makedirs(dst)
for i in range(1,21,1):
url = "https://pics.dmm.co.jp/digital/video/"; + hinban + "/" + hinban + "jp-" + str(i) + ".jpg"
urllib.request.urlretrieve(url, dst + url.split('/')[-1])
print(i)
print("end")
899デフォルトの名無しさん
垢版 |
2017/08/26(土) 12:03:25.18ID:bnfo0T8w
素人モノは良いな
2017/08/26(土) 12:54:19.25ID:w+5MjHos
>898
実行していないから、読んだだけでのコメントだけど、
urlの文字列を生成する部分は、+で連結していくよりも、joinで一気に連結する方法や、.format()を使う方法が推奨されているよ。
+で連結する都度、文字列オブジェクトが生成されてしまい、効率が悪いからだったと思う。
2017/08/26(土) 13:00:54.01ID:1Xp/S2sl
>range(1,21,1)
range(1,21)

step 1 は、書かない方が、わかりやすい

>dst = "./img/" + hinban + "/"
. で始まるから、相対パスだろ。
実行時の引数で、パスを指定できる方が良い

各url なども、標準出力へ出力すれば良いかも
2017/08/26(土) 13:51:39.63ID:+XRpmYj4
pythonにfinalかconstがあれば今の3.8倍は流行っていたという事実
2017/08/26(土) 13:57:16.81ID:/KbzyB2C
Pythonって簡単ってふれこみだったけど入門書も分厚くて読みにくくて
それほど入門向けの易しさじゃないよね?
2017/08/26(土) 14:01:41.24ID:+XRpmYj4
ブロック{}無くしたのは明らか失敗だったな
初心者相手だと、ここの括りがブロックだよと説明しやすかったのに
インデントを付けないといけない、インデントの部分がブロックだ、????になる
ウンポコピー
2017/08/26(土) 14:06:36.82ID:smVYh0iS
VBAを駆逐してほしい
MSがExcelに採用してくれればなぁ
2017/08/26(土) 14:23:10.41ID:/6NyP82L
EXCEL VBAのわかりずらさはEXCELの設計そのものに起因している
上っ面の言語をとっかえてもどうにもならん
2017/08/26(土) 14:36:46.21ID:smVYh0iS
エクセルの機能は大して使わないんだわ
Excelで数値計算してる社内の馬鹿どもが少しでも居なくなればいいなと
2017/08/26(土) 15:22:44.55ID:Sl7L0cMg
excelもVBAも使えないお荷物バカ社員がパイなんとかってプログラミングやってるらしいよw
909898
垢版 |
2017/08/26(土) 19:19:28.44ID:xlYG8Wwx
>>900,901
ご助言ありがとうございます。joinを使いstep 1を省きました。
DLするURLとローカルパスを表示するようにしてみました。
> 実行時の引数で、パスを指定できる方が良い
の部分がどういう事を指しているのかわかりませんでした。すみません
個人的にJuliaは好みじゃ無かったので対象を素朴な感じの貧乳ちゃんにしてみました。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import urllib.request
import os
hinban = "1star00792"
dstdir = ("".join(["./img/" , hinban , "/"]))
os.makedirs(dstdir)
for i in range(1,11):
url = ("".join(["https://pics.dmm.co.jp/digital/video/"; , hinban , "/" , hinban , "jp-" , str(i) , ".jpg"]))
dst = ("".join([dstdir , hinban , "jp-" , str(i) , ".jpg"]))
print(i)
print(url)
print("".join(["===> " , dst]))
urllib.request.urlretrieve(url, dst)
print("end")
2017/08/26(土) 19:50:07.15ID:mi6csUOH
>>907-908
ExcelだろうがVBAだろうがPythonだろうが何だっていいんだよ
目的に応じて適切な物を使えばいい
911デフォルトの名無しさん
垢版 |
2017/08/26(土) 19:52:49.53ID:S2lJYb7j
アフィ厨が画像ダウンロードしてひと儲けを企んでるのか
2017/08/26(土) 23:41:28.44ID:sd5MbxkQ
これでできる一儲けっていくらだ
5円とか?
おじいちゃんの肩でも叩いた方がよくね?
2017/08/27(日) 00:12:20.74ID:Xm4zUSYU
爺ちゃんなら3年前に死んだよ
2017/08/27(日) 01:08:10.61ID:5LlLs1qL
叩き過ぎたな
2017/08/27(日) 03:57:02.38ID:/+UfZMsC
怪談かよ
2017/08/27(日) 07:56:33.43ID:+K+NLzpb
画像直リンで儲かるアフィがあるなら教えて欲しい
2017/08/27(日) 18:21:16.69ID:Xm4zUSYU
これを
12233455567899

こんなふうに並び替える方法ある?
12345678923559
2017/08/27(日) 18:32:57.29ID:LIgBPoun
ある
2017/08/27(日) 19:20:00.71ID:Xm4zUSYU
教えろ
920デフォルトの名無しさん
垢版 |
2017/08/27(日) 19:32:18.64ID:s8bAiEMz
いいよ、ちょっとまってて
2017/08/27(日) 19:38:35.49ID:8MTftWVz
def order()
return 12345678923559

order(12233455567899)


>>919
これでいいか?
2017/08/27(日) 19:39:28.66ID:F2FRlfGe
s=['1', '2', '2', '3', '3', '4', '5', '5', '5', '6', '7', '8', '9', '9']
a=[]
b=[]
for i in s:
  if ret.count(i):
    a.append(i)
  else:
    b.append(i)
else:
  print(a+b)

でっきましたー! イッチバーンw
何でそんなに遅いんですかぁー? 超簡単だったよーww
2017/08/27(日) 19:43:41.36ID:DBQBoW3m
なんだこのお寒い空気は
2017/08/27(日) 19:46:43.59ID:F2FRlfGe
s=['1', '2', '2', '3', '3', '4', '5', '5', '5', '6', '7', '8', '9', '9']
a=[]
b=[]
for i in s:
  if a.count(i):
    a.append(i)
  else:
    b.append(i)
else:
  print(a+b)

修正したでござる、超簡単でござる
2017/08/27(日) 19:53:08.49ID:F2FRlfGe
s=['1', '2', '2', '3', '3', '4', '5', '5', '5', '6', '7', '8', '9', '9']
a=[]
b=[]
for i in s:
  if not a.count(i):
    a.append(i)
  else:
    b.append(i)
else:
  print(a+b)

またミスってたから修正したでござる、急ぐとダメでござるね
でも未だに一番でござるw
2017/08/27(日) 20:40:36.31ID:VVPy1Vgs
文字列のままでいいじゃないか。

s = "12233455567899"
a = ""
b = ""
for i in s:
  if not i in a:
    a = a + i
  else:
    b = b + i
print(a + b)
2017/08/27(日) 20:53:52.78ID:un+1e3Jq
>>922 >>924-925
見てる方がはずかしいぞお前
2017/08/27(日) 20:57:25.66ID:9jwcSF0t
きゃ
2017/08/27(日) 21:00:51.35ID:F2FRlfGe
「あなたたちの中でより優れた回答をした者が、まず、この私に石を投げなさい。」

私を罵倒できるのは今のところ>>926だけ
>>927は本当に恥ずかしい奴
2017/08/27(日) 21:23:45.85ID:FRhMPdcV
計算量のことも少しは考えようよ。

既に使ったかどうかをリストの中にあるかどうかで判定したら毎回O(N)かかって、O(N^2)かかるよ。
setを使って使用済みかどうかの判定をすれば一回あたりO(1)ですんで、トータルでもO(N)になるよ。

入力をリストにせずに、文字列のままでいいというのは賛成だけど、途中の処理で文字列に毎回一文字足していくと、毎回文字列構築するから毎回O(N)かかって、トータルでO(N^2)になるよ。
途中の結果は一文字を要素に持つリストで保持して、最後にjoinすれば、リストへの追加はO(1)だからO(N)でいけるよ。
2017/08/27(日) 21:35:40.92ID:LIgBPoun
ぶっちゃけ921が最強
2017/08/27(日) 21:49:12.19ID:FRhMPdcV
>921
def order():
としないと文法エラー
セミコロンがいる。
あと、引数不一致でもエラーになる。
def order(dummy):
とでもして引数を取るようにしないとダメ。
2017/08/27(日) 22:58:16.77ID:Lfjt/BB5
ウンウン、エライエライ
2017/08/27(日) 23:06:35.99ID:Xm4zUSYU
あったま悪いやつしかおらんのか
2017/08/27(日) 23:09:49.80ID:BA/UgDog
>>921は写像として非常に正しいwwwww
2017/08/27(日) 23:20:16.67ID:nSThxBf4
本屋行ったらpythonの入門書クッソ多かったのでオヌヌメ教えてください
ちなみに前知識ゼロのプログラム素人です
2017/08/28(月) 01:14:01.39ID:8X/W3rYK
ぱらぱらめくってわかりやすそうなやつ選べ
初心者でもひと目でわかるやろ
2017/08/28(月) 01:43:47.77ID:S78RQWWu
なんの用途で使うのかによるけど
pythonで何したいの?
2017/08/28(月) 08:48:28.98ID:JL4Me4RJ
うーん、それは違うんだよね
よく初心者が陥りがちなんだけど、目的が明確にあるわけじゃないんだよね
何かを始めるキッカケなんていうのは単純な思い付きや漠然とした欲求なんだよね
つまり何となくPythonを勉強してみたいわけ
そんな奴を捕まえて、「何が目的なの?」なんて聞く方がナンセンス

まあ分からんでもないよ?目的に応じてそれに適した言語があるなんてことを語りたい気持ち
簡単な処理ならbashとか言ってたあの子と同じ気持ち、ある、確かにそういうマセた感じ
初心者を捕まえてウンチクを語りたい気持ちは誰にでもある、が、不要、全く不要、求められていない
今求められているのはPythonの学習に適した本とかサイトの情報なのだ! 分かったかマヌケ!
2017/08/28(月) 10:30:23.68ID:U4CAw56B
なに?こいつ。
2017/08/28(月) 11:13:51.61ID:IHzBG4Iq
目標の設定は学習の基本だろ
942デフォルトの名無しさん
垢版 |
2017/08/28(月) 12:15:34.37ID:XbaTS/Mq
めずらしくまともなレスあってワロタw
2017/08/28(月) 12:22:43.57ID:ioWE7tHD
>>936
これ読んで決めろ
http://shinyorke.hatenablog.com/entry/2017/01/15/170602

先週出たばかりの初心者向けの本
http://shinyorke.hatenablog.com/entry/surapy
2017/08/28(月) 12:25:26.47ID:lpiY88X5
>>936ですが目的があって始めます
周期的に特定のサイトからHTMLの一部を抜き出すプログラムを組もうと思っています
そういったプログラムに特化した本があればと思いまして
2017/08/28(月) 12:27:06.53ID:lpiY88X5
>>943
同時レスでしたね
ありがとうございます
よく見て吟味してみようと思います
2017/08/28(月) 13:00:56.21ID:4ejthJEF
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

プログラミングの素人に、Pythonは難しい。
Rubyの方が簡単
947デフォルトの名無しさん
垢版 |
2017/08/28(月) 17:13:53.03ID:yBTPsO8j
ステマやん
2017/08/28(月) 17:47:45.82ID:ajQH+laN
俺は
ThinkPython
でpythonを使いこなせるようになった。
2017/08/28(月) 20:24:06.65ID:F3ejZvH0
ダイレクト負け天狗だと思う
2017/08/28(月) 21:17:34.22ID:jDwdQMPb
毎度お世話になります。エロ画像保存野郎です。
アフィではないかと言われたので具体的URLを含めるのはやめることにしました。
今度はリストに書かれたURLのファイルをダウンロードしてみようと思いググりながら書いたのですが
どちらの方法でもリストから「改行コード」を読み込んでしまい
書き出したファイル名に改行コードが紛れ込んでしまいました
.rstrip('\r\n')みたいな感じで一行ごとに改行コードを消しているのですがこれは仕方ない事でしょうか?
それとももっとスマートな方法があるのでしょうか?
※ リストファイル(list.txt)は1行につき一つURLが書かれたプレーンテキストで空行を含みません。
その1
https://ja.osdn.net/pastebin/5296
その2
https://ja.osdn.net/pastebin/5297
それからこの2つのうちでは行数の少ない2の方がいいのかな?と個人的には思うのですがどうでしょう?
ダメ出しなどしていただけるととても助かります。
2017/08/28(月) 21:38:29.36ID:8/+XVSnv
readしてsplitしたのをforで回せば改行消えたと思う
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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