Python の基本的なデータ型

1. 整数

Python は、負の整数を含むあらゆるサイズの整数を処理できます。Python プログラムでは、整数の表現はその記述方法とまったく同じです。数学では、例: 1、100、-8080、0 など。

コンピュータは 2 進数を使用するため、整数を表すには 16 進数を使用する方が便利な場合があります。16 進数は、0x プレフィックスと 0 ~ 9、a ~ f で表されます (例: 0xff00、0xa5b4c3d2 など)。

2. 浮動小数点数

浮動小数点数も 10 進数であり、科学的表記法で表現すると浮動小数点の小数点に相当するため、浮動小数点数と呼ばれます。数値 位置は可変です。整数と浮動小数点数のコンピュータ内部での保存方法は異なります。整数演算は常に正確です (除算も正確です)が、浮動小数点演算には丸め誤差が生じる可能性があります。

3. 文字列

文字列は、「abc」、「123」など、'' または "" で囲まれた任意のテキストです。 '' または "" 自体は単なる表現であり、文字列の一部ではないことに注意してください。したがって、文字列 'abc' には a、b、c の 3 文字しかありません。これは他のプログラミング言語でも同様です。

(1) Python における文字列と文字列のエスケープ

前述したように、文字列は '' または "" で表すことができます。しかし、文字列自体に '' または "" が含まれる場合があります。どうすればよいでしょうか?

現時点では、文字列の一部の特殊文字を「エスケープ」する必要があります。Python 文字列は \ でエスケープされます。 JAVAも同様です。

一般的に使用されるエスケープ文字は次のとおりです:

\n 表示换行
\t 表示一个制表符
\ 表示 \ 字符本身

具体的な例:

354b77388d85a11d9ed6755399700f6.png 次に、上記の問題があります。文字列にエスケープ文字が必要な文字が多数含まれている場合、各文字をエスケープするのは面倒です。この状況に対処するには、文字列の前にプレフィックス r を追加して、これが生の文字列であり、内部の文字をエスケープする必要がないことを示します。

a03e52b4b16cce036b9b903b405f83d.pngただし、注意すべき点が 1 つあります。r'...' 表記は複数行の文字列を表すことはできず、' と " を含む文字列も表すことはできません。複数行の文字列を表したい場合は、「...」を使用できます。もちろん、複数行の文字列の前に r を追加して、この複数行の文字列を生の文字列に変換することもできます。

##(2) 文字列エンコードの問題

634ef4d2306ff34addfca848aedc7cd.png

コンピューターが数値のみを処理できることは誰もが知っていますが、テキストを処理したい場合は、処理する前にまずテキストを数値に変換する必要があります。初期のコンピューターは 8 ビットを 1 バイトとして設計されていたため、1 バイトで表現できる最大の整数は 255 (2 進数の 11111111 = 10 進数の 255) であり、サイズを表すために 0 ~ 255 が使用されます。数字や一部の記号を含むこのエンコード テーブルは ASCII エンコードと呼ばれます。たとえば、大文字 A のエンコードは 65、小文字 z のエンコードは 122 です。

中国語を表現したい場合、明らかに 1 バイトでは不十分です。少なくとも 2 バイトが必要であり、ASCII エンコードと競合することはできません。そのため、中国は中国語をエンコードする GB2312 エンコードを策定しました。

同様に、日本語や韓国語などの他の言語にもこの問題があります。すべてのテキストのエンコーディングを統一するために、Unicode が登場しました。 Unicode はすべての言語を一連のエンコードに統一するため、文字化けはなくなります。

Unicode は通常、文字を表すのに 2 バイトを使用します。元の英語のエンコードは 1 バイトから 2 バイトに変更されました。上位バイトをすべて 0 で埋めるだけで済みます。

Python は Unicode 標準のリリースより前に誕生したため、最も初期の Python は ASCII エンコードのみをサポートしています。通常の文字列「ABC」は、Python の内部で ASCII エンコードされます。

Python は後に Unicode のサポートを追加し、Unicode で表される文字列は u'...' で表されます。

ただし、最新の Python 3 バージョンでは、文字列は Unicode でエンコードされます。つまり、Python 文字列は複数の言語をサポートします。上記の例と同様に、コードに u'...' を追加しないと正常に表示されます。

ただし、Python のソース コードもテキスト ファイルであるため、ソース コードに中国語が含まれる場合は、ソース コードを保存するときに UTF-8 エンコードを指定する必要があります。 Python インタープリターがソース コードを読み取るとき、UTF-8 エンコーディングで読み取れるようにするために、通常、ファイルの先頭に次の 2 行を書き込みます。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

コメントの最初の行は、次のことを示します。 Linux/OS X システム、これは Python 実行可能プログラムです、Windows システムはこのコメントを無視します;

コメントの 2 行目は、Python インタプリタに UTF-8 エンコーディングに従ってソース コードを読み取るように指示し、それ以外の場合は、で書かれた中国語の出力が文字化けする可能性があります。

UTF-8 エンコードを宣言しても、.py ファイルが UTF-8 エンコードされることを意味するわけではありません。テキスト エディターが BOM エンコードなしで UTF-8 を使用していることを確認する必要があります。

#4. ブール値

ブール値とブール代数の表現はまったく同じです。ブール値には、True と False (True または False) の 2 つの値しかありません。Python では、直接次のことができます。 True と False を使用してブール値を表します (大文字と小文字の区別に注意してください)。ブール演算によっても計算できます。

ブール値は、and、または、not を使用して操作できます。

and この演算は AND 演算です。すべてが True の場合のみ、AND 演算の結果は True になります。

or 演算は OR 演算です。いずれか 1 つが True である限り、OR 演算の結果は True になります。

not この操作は非操作です。これは、True を False に、False を True に変える単項演算子です。

5. Null 値

基本的に、すべてのプログラミング言語には独自の特別な値、つまり null 値があります。Python では、None

で表されます。
学び続ける
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜