くだすれPython(超初心者用) その42【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/18(月) 13:42:55.36ID:+MPRGO7m
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

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

エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その41【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1549282930/


◆PythonのHome Page
http://www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
2デフォルトの名無しさん
垢版 |
2019/03/18(月) 18:27:30.56ID:SDOLD3fb
>>984
pygame
pyopengl
glut
3デフォルトの名無しさん
垢版 |
2019/03/18(月) 19:58:50.54ID:FHDCRg6t
exe化で出来る限り「静か」なバイナリ作れる方法が無いかな

py2exeは3.7に対応してないかライブラリの方が対応してなくて、試したけど作れなかった
pyinstallerはexe実行時にtempにフォルダ作って、終了時にフォルダだけ残るのが気になる
exeのある場所とか任意の場所にフォルダ作ってフォルダだけ残るのは別に構わないんだが、システム側にゴミを残したくない
4デフォルトの名無しさん
垢版 |
2019/03/18(月) 20:20:54.45ID:jiPExRTx
>>3
pyinstallerしおえたらいらないフォルダを消すバッチ作れ
5デフォルトの名無しさん
垢版 |
2019/03/18(月) 21:37:51.04ID:C9BGuQ42
<__main__.sample object at 0x00DF1D30>
selfをprintしたらこれが出てきたのですが、00DFみたいなのはメモリの場所なんですか?
6デフォルトの名無しさん
垢版 |
2019/03/18(月) 21:48:01.96ID:C9BGuQ42
結局selfはどういう用途に使うんですか

class myclass:
def myfunc(self,name):
self.name=name

↑これのself.nameの部分の意味と、使い方がわかりません
7デフォルトの名無しさん
垢版 |
2019/03/18(月) 22:00:55.16ID:tRH350wW
>>1
乙パイソン
2019/03/18(月) 22:06:59.61ID:jiPExRTx
>>6
おまえはいいかげんインデントをちゃんとしろ
前スレへ(・∀・)カエレ!!!
2019/03/18(月) 22:10:00.76ID:jiPExRTx
>>5
       ,-┐
 ,ィ─、ri´^-─- 、 .┌f^f^f^f^f^f^f^f^f^┐
く  / , ,'   ヽ ヽ| ~ ~ ~ ~ ~ ~ ~ ~ ~│
 `<' / ,'レイ+tVvヽ!ヽト 知ってるが  │
  !/ ,' i |' {] , [}|ヽリ  お前の態度が |
  `!_{ iハト、__iフ,ノリ,n   気に入らない |
   // (^~ ̄ ̄∃_ア____n_____|
 _r''‐〈  `´ア/トr──!,.--'
<_>─}、  `」レ
'ヽ、   ,.ヘーァtイ
   Y、.,___/  |.|
    |  i `ー'i´
2019/03/18(月) 22:18:09.43ID:FHDCRg6t
>>4
「exe化」をしたらフォルダが作られるのではなく
「exeを実行」したら毎回フォルダが作られるから困ってます
2019/03/18(月) 22:22:44.48ID:jiPExRTx
>>10
%temp%フォルダ内に?
それとも
exeがおいてあるフォルダに?
2019/03/18(月) 23:12:34.21ID:IuFF1Fl8
最近勉強始めたんだけどWEBに干渉するようなプログラムってまず何を書けばいいんだ?
2019/03/18(月) 23:14:08.18ID:jiPExRTx
>>12
まずなにがしたいんだ?
ブラウザを自動化したいのか
鯖をアタックしたいのか
まともに鯖をいじる作業を自動化したいのか
2019/03/19(火) 00:38:15.55ID:2dsGqa+T
Pythonが2018年も人気ナンバーワン言語に
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
15デフォルトの名無しさん
垢版 |
2019/03/19(火) 00:41:33.52ID:qkjR1zK4
>>6

https://i.imgur.com/t8osvsu.jpg
1610
垢版 |
2019/03/19(火) 00:45:49.37ID:XVrNrTVD
>>11
前者
17デフォルトの名無しさん
垢版 |
2019/03/19(火) 05:36:06.26ID:sliXT30Z
>>15
ですからなんの用途に使うんですか selfというのは場所を表すのですか?
printしてみるとメモリの場所らしきメッセージが出ます
2019/03/19(火) 05:48:25.05ID:45LJYysD
>>17
myfunc は オブジェクトオリエンティド でいうところのメソッド
self.name は オブジェクトオリエンティド でいうところのプロパティ
self.X と書けば X はプロパティを示し、self はクラスのインスタンスを示す
以上に現れるキーワード「オブジェクトオリエンティド」「メソッド」「プロパティ」「クラス」「インスタンス」に心当たりがなければ、まずそれから調べてみてください.
19デフォルトの名無しさん
垢版 |
2019/03/19(火) 05:49:15.22ID:Z5Hgz40o
Pythonと言うよりオブジェクト志向では親クラスのメソッドを呼ぶ時super.xx()みたいにするから、
それ使った時に子クラス(現在のクラス)の同名のメソッドだと明示するためにthis.xx()とかself.xx()とかするね。


あとは >>15 みたいにフィールド(クラス変数)と同名のメソッド引数と分けるためにも使われる。
2019/03/19(火) 07:38:23.72ID:vriWYZh/
>>16
Freezeとかなんとかいうヤツ使ってexe作るのどうよ
21デフォルトの名無しさん
垢版 |
2019/03/19(火) 07:41:01.76ID:Gcgazy3G
>>6
YouTubeでProgramingWoopenのPython入門講座第16~21回の動画を見ろ。
22デフォルトの名無しさん
垢版 |
2019/03/19(火) 08:57:41.33ID:Z5Hgz40o
つーかPythonは動的言語だからself.name = で代入する事で宣言無しでフィールド生成されるんだった。
静的言語ばっかりだとうっかり忘れがち。。。
2019/03/19(火) 09:23:51.33ID:7p2/yAlP
Jupyter notebookで大きなループを一つのセルで回すのって無謀でしょうか?
大きなループを回したい時、便利な環境って何がありますでしょうか?
24デフォルトの名無しさん
垢版 |
2019/03/19(火) 10:12:32.34ID:cL/iV8oU
>>6
スコープとかnamespace は理解してる?
25デフォルトの名無しさん
垢版 |
2019/03/19(火) 11:11:48.70ID:A58YbFZJ
>>17

https://i.imgur.com/YrNeTWU.jpg
https://i.imgur.com/3cPymnb.jpg
2019/03/19(火) 11:15:51.69ID:g1OP6P5B
>>20
cx_freezeも試してみたけど3.7対応していない
27デフォルトの名無しさん
垢版 |
2019/03/19(火) 11:23:55.63ID:wwQ5Yjji
【中国は民族浄化、日本は】 10万円買ったら1万円没収、10月、自民にとっての邪魔者が浄化される
https://rosie.5ch.net/test/read.cgi/liveplus/1552961720/l50
28デフォルトの名無しさん
垢版 |
2019/03/19(火) 11:28:42.76ID:sliXT30Z
>>24
スコープは変数の有効範囲で
名前空間はクラスやモジュール(python.pyみたいなファイル)のことですよね
>>21
見てみました
selfを関数の引数に指定することでクラス内の関数をインスタンスの持ち物に出来るということですね
別にselfでなくともいいみたいですが、なぜそうなるのか意味がわかりません
そういう決まりなんだと言われればそれまでですが
2019/03/19(火) 12:40:41.62ID:I3ez8Qch
……ここまで分からんとすると、文学的な問題じゃあなかろうか
他者が自分自身を自称するときの一人称がselfだ
30デフォルトの名無しさん
垢版 |
2019/03/19(火) 12:51:35.83ID:Z5Hgz40o
>>28

class myclass:
def myfunc(my,str):
my.name = str

my.name = で初めてnameフィールドが作成される。
my無しだとただのローカル変数になり、myfuncを抜けたら消滅する。
(もちろん、フィールドnameは存在しないので、a = myclassしたあとa.nameとしたらエラーになる)
2019/03/19(火) 13:20:43.07ID:SqXQzXb0
pythonってインスタンス作成時にプロパティは作成されないの?
プロパティにアクセスした時に初めてメモリが確保されるの?
32デフォルトの名無しさん
垢版 |
2019/03/19(火) 13:34:21.37ID:Z5Hgz40o
そう言う事。

そして、もう少し調べたら__init__定義したら、メソッド呼出ではself省略できるっぽい。
(それだけでなく、nameの扱い自体もクラスフィールドとインスタンスフィールドという動作の違いも確認できた)

プロパティはフィールドとメソッドを関連ずけて、フィールドっぽい扱いで安全に運用するものなので別物。
私もPython初心者なのに、何であんたより詳しくなってるんだ。。。

class Myclass:
def __init__(my):
pass
def myfunc(my,str):
my.name = str

a = Myclass()
a.myfunc("taro")
b = Myclass()
b.myfunc("jiro")
print(a.name)
print(b.name)
2019/03/19(火) 13:59:12.91ID:SqXQzXb0
>>32
マジか、ありがとう
vbaみたいだぁ・・・
(vbaはもうちょい変で、インスタンス作成時ではなくプロパティにアクセスした時に初めてメモリが確保される)
34デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:04:53.09ID:A58YbFZJ
>>32

https://i.imgur.com/DA6Szdu.jpg
35デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:10:15.96ID:A58YbFZJ
Self 省略してない件

https://i.imgur.com/3LI5sKi.jpg
36デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:26:25.80ID:A58YbFZJ
>>32

_init_ 定義は 何の関係もないな


https://i.imgur.com/dXfQVzo.jpg
37デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:30:00.14ID:A58YbFZJ
myを self に
結果は同じ

https://i.imgur.com/tZxLnMM.jpg
38デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:31:38.83ID:A58YbFZJ
Self 省略したら、このざま

https://i.imgur.com/8jijwQV.jpg
39デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:34:55.30ID:A58YbFZJ
_init_ 復活させても駄目なものは駄目

「__init__定義したら、メソッド呼出ではself省略できるっぽい。」

は大嘘


https://i.imgur.com/Ss7xM4i.jpg
40デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:38:29.26ID:A58YbFZJ
My で揃えても無駄

https://i.imgur.com/r43Dibx.jpg
41デフォルトの名無しさん
垢版 |
2019/03/19(火) 14:42:10.59ID:A58YbFZJ
当然、self でも無駄

「__init__定義したら、メソッド呼出ではself省略できるっぽい。」

は大嘘。
__init__定義しようが、メソッドでself 省略したらエラーですわ。

https://i.imgur.com/EAj5SUq.jpg
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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