索引

  • CentOS8イメージ起動
  • Pythonインストール
  • 対話型インタプリタ
  • 数と式
  • 16進数と8進数と2進数

前提

  • Dockerがインストールされていること

CentOS8イメージの起動

任意のディレクトリに移動

$ cd python/

コンテナ作成

前提ではありますが、Dockerがインストールされていなければ以下のURLからインストールできます。

https://www.docker.com/products/docker-desktop

$ docker container run -d --privileged --name python --mount type=bind,source="$(pwd)",target=/home centos:8 /sbin/init
$ docker container run -d --privileged --name <コンテナの名前> --mount type=bind,source=<コンテナにバインドさせたいホストマシンのフルパス>,target=<コンテナのバインド先> centos:8 /sbin/init

作成したコンテナに対してbash実行

$ docker container exec -it python bash
$ docker container exec -it <作成したコンテナの名前> bash

dnf (Dandified Yum : Yum (Yellowdog Update Modified) 3.4 のフォーク)のアップデート ※パッケージ管理システム

# dnf update -y

Python3.6のインストール

# dnf info python36
# dnf install python36

pip

pip: Pythonのパッケージを管理するツールです。

# dnf info python3-pip
# dnf install python3-pip

対話型インタプリタ

pythonの起動

# python3

Pythonを起動すると、以下のようなメッセージとプロンプトが表示されます。

# python3
Python 3.6.8 (default, Apr 16 2020, 01:36:27) 
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

まず、簡単なプログラム「Hello world」から (; セミコロンは任意 Pythonでは付けないのが主流)

>>> print ("Hello world")

以下のような結果が得られます。

>>> print ("Hello world")
Hello world
>>>

プログラムではない適当な文字列を実行してみると、以下のような返答が返ってくるはずです。

>>> The Spanish Inquisition <- スペイン異端審問所
SyntaxError: invalid syntax

SyntaxError とはプログラムに誤りがあるという意味

invalid syntax とは文法の誤りがあるという意味で他にも以下のようなエラーメッセージがあります。

  • SyntaxError: keyword argument repeated (引数の重複)
  • SyntaxError: EOL while scanning string literal (“もしくは’でプログラムを書き終えられていない)
  • SyntaxError: Missing parentheses in call to ‘x’ (xという引数を呼び出すにはカッコが必要)
  • etc

数と式

Pythonのプログラムの最も基本的な「材料」は「数 (number)と式 (expression)」であり、これを使うとPythonインタプリタを高性能な計算機として使うことが可能です。

>>> 2 * 2

答えは「4」

>>> 2 * 2
4
>>>

続いてはこちら

>>> 53672 * 235253
288925

速さは桁が大きくても、体感では違いが分からない程度です。

2 * 2 において、「2」は被演算子、「*」は演算子にあたるものです。

演算子は以下のような種類があります

  • + (足し算)
  • – (引き算)
  • * (掛け算)
  • / (割り算)
  • // (割り算)
  • % (剰余算)
  • ** (累乗算)
  • etc.

「/」と「//」には次のような違いがあります。

>>> 1 / 2
0.5
>>> 1 / 1
1.0

>>> 1 // 2
0
>>> 1 // 1
1
>>> 5.0 // 2.4
2.0

つまり「/」は小数点を計算結果に含めるのに対し、「//」は小数点を切り捨てます。

ただし、演算子が「//」の計算においても、非演算子が小数点以下を含むものなら、計算結果は小数点以下を含むものになります。

%剰余算とは割ったあまりを計算するもので例を以下に挙げます。

>>> 1 % 2
1

>> 9 % 3
0
>>> 2.75 % 0.5
0.25

少し理解し辛いのが下のような式

>>> 10 // -3
-4

Pythonの負の数の割り算では、割り切れない場合、商の値は0から離れた方の整数になり、このため 10 // -3 は商が -3.3333…で、-3と-4を比較し0から離れている方の-4が答えになるということです。

累乗算の例も以下に

>>> 2 ** 3
8
>>> -3 ** 2
-9
>>> (-3) ** 2
9

16進数と8進数と2進数

>>> 0xAF
175
>>> 010
8
>>> 0b1011010010
722

0xから始まる数字を16進数、01から始まる数字を8進数、0bから始まる数字を2進数

次回

  • 変数
  • 文について
  • ユーザーからの入力
  • 関数

林 裕大Hayashi Yuto
麻雀 / コーディング / 東方 / V-Tuber / 書道 /
  • CentOS
  • AmazonWebServices
  • SQLite
  • Docker
  • Python
  • Ruby
  • PHP
  • Laravel
  • WordPress
  • Nodejs
  • JavaScript
  • Sass
  • HTML5
  • Bootstrap
  • adobe Illustrator
  • adobe Photoshop
お問い合わせ

大変申し訳ありませんが、現在お問い合わせフォームは機能しておりません。お手数ですが、お問い合わせの際は、下記アドレスまでよろしくお願いいたします。

h3yukomah1y1k1m@gmail.com