昨日から始まった、緊急企画。
「やむを得ず覚えるpython」、略してやむpyです。
『どいつもこいつもpython, python』とうなっていたのだが、うなっていてもpythonがなくなるわけでもなし。
少しpythonを入れておくと、体内で増殖して免疫ができるかもしれない。
hiro99ma blog: [勉][py]やむを得ず覚えるpython (1)
変数
変数の宣言は特になく、そのまま代入すればよいようだ。
02.py
#!/usr/bin/pythonnihon = """\Hello, World!And Good Night!\"""print(nihon)
$ ./02.py
Hello, World!
And Good Night!
「"""」で囲むと、改行付きの文字列を代入できるらしい。
ただ、"""前後の改行も入ってしまうので、ここでは\でエスケープしている。
これでもよい。
#!/usr/bin/pythonnihon = "Hello, World!\nAnd Good Night!"
print(nihon)
print()は改行付き出力なので、ここまでやるとprintf()っぽくなる。
まあ、そこまでするかって話だが。
#!/usr/bin/pythonimport sysnihon = "Hello, World!\nAnd Good Night!\n"
sys.stdout.write(nihon)
足し算
#!/usr/bin/pythonnihon = "Hello, World!"
nihon += " and Good Night!"
print(nihon)
$ ./02.py
Hello, World! and Good Night!
#!/usr/bin/pythonnihon = "Hello, World!"
nihon += 2print(nihon)
$ ./02.py
Traceback (most recent call last):
File "./02.py", line 3, in <module>
nihon += 2
TypeError: cannot concatenate 'str' and 'int' objects
#!/usr/bin/pythonnihon = "5"
nihon += 2print(nihon)
$ ./02.py
Traceback (most recent call last):
File "./02.py", line 3, in <module>
nihon += 2
TypeError: cannot concatenate 'str' and 'int' objects
文字列は文字列、数字は数字で区別されている。
クラス
構造体を調べようとすると、タプルとかいろいろ説明が出てきたけど、まずはクラスでいこう。
#!/usr/bin/pythonclass Yebisu:
def __init__(self, x, y):
self.x = xself.y = ynihon = Yebisu(1, 2)print(nihon.x)
print(nihon.y)
$ ./02.py
1
2
なんだよselfって!!
他のじゃダメなの?
#!/usr/bin/pythonclass Yebisu:
def __init__(yoshio, x, y):
yoshio.x = xyoshio.y = ynihon = Yebisu(1, 2)print(nihon.x)
print(nihon.y)
$ ./02.py
1
2
やるじゃないか、よしお。
メンバ変数がどれなのかがわからないのが嫌だな。
#!/usr/bin/pythonclass Yebisu:
y = 2def __init__(yoshio, x):
yoshio.x = xnihon = Yebisu(1)print(nihon.x)
print(nihon.y)
$ ./02.py
1
2
これはこれでよいようだが、もしかするとyはclass変数なのか?
#!/usr/bin/pythonclass Yebisu:
y = 2def __init__(yoshio, x):
yoshio.x = xnihon = Yebisu(1)print(nihon.x)
Yebisu.y = 3print(nihon.y)
$ ./02.py
1
3
class変数なんだ。
明日はもうちょっと深入りしましょうかね。
Python入門 - クラス
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。