プログラムの基礎が分かる僕がPythonを学んでみる(その2)


Pythonの変数型を学んでみます。

a = 123    #整数
b = 0o123 #8進数
c = 0x123 #16進数
d = 0b01001000 #2進数
print(a, b, c, d)

と整数型は入れることができ、この結果は以下のように返ってきます。

(123, 83, 291, 72)

これは配列なのか、文字列なのか、今のところよくわかりませんが、値が入っているのは分かります。

a = 1.23
b = 1.23e-2
c = 1.23E-2
print(a,b,c)

と少数はいれることができ、この結果は以下のように返ってきます。

(1.23, 0.0123, 0.0123)

なんと、Pythonは虚数も扱えるみたいです。関数も用意されてるんでしょうが、あとでみることにして。

# coding: utf-8

a = 1.23j
b = 1.2 + 3j
c = True
d = False
print(a,b,c,d)

を実行すると、

(1.23j, (1.2 + 3j), True, False)

と返ってきます。bool型は、内部的には何か数値で持ってるんでしょうか?その辺もあとでみることにします。

# coding: utf-8

a = "I don't have a name"
b = 'I said, "Hello"'
c = "Escape sequence \" can be used"
d = r'Ignore \n Escape sequence'
print(a,b,c,d)

と入れると、

("I don't have a name", 'I said, "Hello"', 'Escape sequence " can be used', 'Ignore \\n Escape sequence')

と返ってきます。どうやら、この結果は配列のようですね。配列はまたあとでちゃんと出てくると思います。

ここでポイントは、””の中では’が使えて、”の中では”が使えるという点。あとは、C言語なんかと同じようにエスケープシーケンス\”などが使えるということと、文字列の前にrをくっつけるとその文字列の中のエスケープシーケンスはすべてそのままの文字になるということです。でも、\nが\\nになってるのはなぜだろう?rはあまり使わないほうが安全なのかな?この辺のお作法はまた別の機会に。

文字列は普通Unicodeで保存されるみたいですが、あえてバイト文字にしたいばあいには、

# coding: utf-8

a = b"012abc"
print(a)

と書くとよいらしいですが、たぶん使わなくてもよいと思われます。結果は、

012abc

と返ってきますよ。

# coding: utf-8

a = "abc"
print("variable a is %s") % (a)

みたいに、フォーマットも使えます。ほぼC言語と同じ機能を持ってるみたいです。

variable a is abc

と返ってきます。

あと、モジュールとかクラスとか関数とかオブジェクト指向プログラムの基本ですが、それをPythonで実現しようとすると、こんな感じになります。

""" My module val """
class MyClass:
    """My class"""
    def myfunc()
        """My function"""
        return 0

モジュールは、ファイルがクラスの塊として認識されたものととりあえず思いましょう。クラスは普通にクラス。関数は普通に関数。なんですが、その中に”””(三重クオーテーション)で囲んだ文字列を書いておくと、

[module1.py]

""" My module """
class MyClass:
    """My class"""
    def myfunc():
        """My function"""
        return 0

そのクラスの説明文が、

[val.py]
import module1
print module1.__doc__
print module1.MyClass.__doc__
print module1.MyClass.myfunc.__doc__

__doc__で参照できるみたいです。まあ、クラスや関数を作ったら、三重クオーテーションで最初に説明文を書いておくのがよいのでしょうね。

この結果は、

My module 
My class
My function

となります。まあ、この点は、またモジュールとかクラスとか勉強したときに出てくると思います。
とりあえず、ここまでにして、次回は配列関係を学びます。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. cartierlovejesduas Hi there! Someone in my Facebook group shared this website with
    bracelet or blanc cartier copie http://www.fashionlovebangle.cn/fr/

  2. Yeah, he was weird. Too young to have come through he war, though. I really do think he was lonely, maybe an attention seeker. And I really do wonder where he’s going to classes now!
    how much is the faux rolex womens stainless and gold watch http://www.crownuhr.nl/rolex-daytona-watches-c5/