ばぁど・うぉっちんぐ

セキュリティに強いWeb屋。自由と春を求めて羽ばたく渡り鳥。

このブログはGoogle Analyticsを利用しています

【2日目】Python勉強メモ -データ型-

GW企画2日目。

前回はこちら。 ultrabirdtech.hatenablog.com

対話型インタプリンタとかデータ型周りのことについてです。

Pythonに触れてみる

ターミナル上で「Python」と打ち込むと、対話型インタプリンタが立ち上がります。

$ python
Python 3.7.2 (default, Jan 12 2019, 17:34:03) 
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 'Hello World'
'Hello World'

Pythonのコマンドを調べて実際に入力できます。 止める場合は exit() と打つと通常のコマンドプロンプトに戻ることができます。

Let’s Try

1. 5 + 5 * 5 の結果を確認する

>>> 5 + 5 * 5
30

算術演算子には優先順位が存在する。乗算や除算が優先される。

2. 文字列'a'を10000個出力してみる

>>> 'a' * 10000
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaa
・
・
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
>>>

文字列にもなどのメソッドが存在する。を利用すると、数値分文字列が表示される。

データ型を理解する

Python はすべてオブジェクトとして実装されています。 オブジェクトにはデータ型というものが存在しており、ブール値、数値、文字列などが存在する。

数値

算術演算子

演算子 意味 結果
+ 加算 3 + 2 5
- 減算 5 - 3 2
* 乗算 10 * 7 70
/ 浮動小数点の除算 7 / 2 3.5
// 徐算(切り捨て) 7 // 2 3
% 剰余 7 % 2 1

整数

5 や 100などのリテラルは整数として扱われる。

>>>  5

# - なども扱える
>>> -100      

# 0 が前につくとエラー(そのような数値はない)
>>> 05
  File "<stdin>", line 1
    05
     ^
SyntaxError: invalid token          

整数へのデータ変換は int() を用いる。

>>> int(9.8)
9

浮動小数

1.0 や 0.02 などのリテラル浮動小数点として扱われる。

浮動小数点への変換は float() を用いる

>>> float(5)
5.0

余剰が出るような 除算を行うと結果は float 型になる

>>> 3/2
1.5
>>> type(3/2)
<class 'float'>

文字列

Python3からはunicodeを採用(すべての表現可能な言語をサポートしている)

文字列の定義

>>> ‘string’    # シングルクォートで文字列を定義できる
>>> “string”  # ダブルクォートでも生成可能

型変換

str() を用いる

>>> str(50)
‘50’

文字列の連結

>>> ‘a’ + ‘b’
‘ab’

ブール値

True と False という二つの値のみが存在する。それぞれTrue(真)、False(偽)を表す。

Falseとして評価されるもの
ブール値 False
null None
ゼロ(整数、浮動小数点共に) 0 , 0.0
空文字列、空配列、空辞書 ‘’, [], {}
空集合 set()

上記の表以外のものはTrueとみなされる

Let’s Try

1. 1 + 1.0 の結果は int() か float() かどちらになるか

>>> type(1 + 1.0)
<class 'float'>

型が大きい方が選択される。

2. True + 1 の結果がどうなるか考えてみましょう

>>> True + 1
2

Trueは1として処理される。

ちなみにFalseは0。上記の表の通り0はFalseとして扱われる。

3. 文字列中に ’ (シングルクォート)、” (ダブルクォート)を使用したい場合どうすれば定義できるか?

エスケープ処理を行うことで使用可能。 エスケープ処理とは、', "の前に\を入れて、直後の文字を文字列として認識させる処理。

>>> 'aaa\'aaa'
"aaa'aaa"

>>> "aaa\"aaa"
'aaa"aaa'

もしくは、文字列中で'を使いたい時は"で宣言する。 または、その反対でも宣言可能。

>>> 'aaa"aaa'
'aaa"aaa'

>>> "aaa'aaa"
"aaa'aaa"

4. 文字列を操作するためのメソッドにはどのようなものがあるか調べてみよう

リファレンス貼っときます。 docs.python.org

変数の概念を理解する

プログラム言語で重要な要素となるものが変数の存在。

変数とは、値を入れておく箱のようなもの。

箱にラベルをつけてプログラム内では値を管理する。

変数への代入

変数に値を設定することを代入という。 代入を行うには = を利用する。

>>> a = 7
>>> print(a)
7

変数名の定義

変数名で利用できる文字は下記

  • 英字(a - z, A - Z)
  • 数字(0 – 9)
  • アンダースコア(_)

また、変数名の最初は数字を使用することができない。

  • 正しい変数名
    • abcde
    • a1
    • a_b_c
    • _abc
  • 間違った変数名
    • 1a
    • 123

予約語

Pythonには予約語というものがある。 Pythonがシステム的に利用しているため変数として利用できない文字列のこと。

False class finally is reutrn
None continue for lamda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except iin raise

まとめ

ここまでは、まだ基礎中の基礎。

Rubyと似ている(Rubyが似ている?)ので、たまにRubyと同じように打ってエラーとなるときがある。

ま、セミコロンがないからエラー率は低いですけどね!!!!(怒)

次回はこちら ultrabirdtech.hatenablog.com