int【整数型】3.1 / 3.2 / 3.4 / 3.6~3.8 / 3.103.12
メモ
概要
〔 例 〕- long【長整数型】は int【整数型】に統合 3.0
- 桁数制限なし
- 桁の区切りにアンダースコア(_) を利用可 3.6
変換
- 文字列 ⇒ int【整数型】
- int【型変換】参照
- int【整数型】 ⇒ 文字列〔 例 〕
下記以外の寄せ等は、 str【文字列型】の format【書式化】の置換フィールドを参照
変換先 | 組み込み関数 | フォーマット済み文字列リテラル (f'~') 3.6・ str.format【書式化】 の置換フィールド | |||
---|---|---|---|---|---|
進数指定 (type:表現型) | プレフィックス有無 (#:別形式) | 区切り (grouping_option: グルーピング指定) | ゼロパディング (0:ゼロパディング) (width:最小フィールド幅) | ||
10進数 | str【文字列変換】 | d【10進数】 省略【10進数】 | カンマ(,):3桁毎にカンマ アンダースコア(_) 3.6:3桁毎に '_' | 両方指定:ゼロパディング | |
2進数 | bin【2 進文字列変換】 プレフィックス:0b | b【2進数】 | 指定有:0b | アンダースコア(_) 3.6:4桁毎に '_' | |
8進数 | oct【8 進文字列変換】 プレフィックス:0o | o【8進数】 | 指定有:0o | ||
16進数 | hex【16 進文字列変換】 プレフィックス:0x a ~ f は小文字 | x【16進数 (小文字)】 X【16進数 (大文字)】 | 指定有:0x 指定有:0X |
算術演算・ビット演算
- float【浮動小数点数型】との演算:float【浮動小数点数型】に変換
- complex【複素数型】との演算:complex【複素数型】に変換
優先順位 | 演算 | 備考 |
---|---|---|
高い | x ** y | x の y 乗 (参照:その他演算のpow【べき乗・剰余】) |
+x | x そのまま | |
-x | x の符号反転 | |
~x | x のビット反転 | |
x * y | x と y の積 | |
x / y | x と y の商 | |
x // y | x と y の商を切り下げ | |
x % y | x / y の剰余 | |
x + y | x と y の和 | |
x - y | x と y の差 | |
x << n | x を n ビット左シフト | |
x >> n | x を n ビット右シフト | |
x & y | x と y のビット論理積 | |
x ^ y | x と y のビット排他的論理和 | |
x | y | x と y のビット論理和 | |
低い | 比較演算 |
比較演算
- 連鎖可能 (例:x < y < z)
- 全て同じ優先順位
演算 | 備考 |
---|---|
x < y | より小さい |
x <= y | 以下 |
x > y | より大きい |
x >= y | 以上 |
x == y | 等しい |
x != y | 等しくない |
x is y | 同一オブジェクト |
x is not y | 同一オブジェクトでない |
その他演算
リテラル・コンストラクタ・メソッド
メソッド | 関連 |
---|---|
リテラル | |
リテラル (10進数・2進数・8進数・16進数) | |
コンストラクタ・型変換 | |
int([x]) int(x, base=10) | コンストラクタ 型変換 |
メソッド | |
as_integer_ratio( ) 3.8 | 分数表現 (分子, 分母) 分母:1 |
bit_length( )3.1 | 2進法のビット数 |
bit_count( ) 3.10 | 2進法の1の数 |
classmethod from_bytes(bytes, byteorder, *, signed=False) 3.2 | バイト列の整数表現 |
is_integer( )3.12 | 整数値判定 戻り値:True ※ダックタイピング互換性:float.is_integer( ) |
to_bytes(length, byteorder, *, signed=False) 3.2 | バイト列変換 |
外部リンク
例 (概要)
例 (変換)
リテラル・コンストラクタ・型変換
メモ
- リテラル
- 紛らわしい8進数表記は不可 3.0 (例:0123)
(C言語で有効なプリフィックスなしの8進数)
- 紛らわしい8進数表記は不可 3.0 (例:0123)
構文
10進数
N~N
(N:0~9 / 0以外:先頭の0不可)
2進数
0bN~N
0BN~N
(N:0 | 1)
8進数
0oN~N
0ON~N
0N~N の形式は不可 3.0
(N:0~7)
16進数
0xN~N
0XN~N
(N:0~9 | a~f | A~F)
・10進数を除くNの先頭 及び N の間に1つのアンダースコア(_) 可 3.6
・符号については、算術演算 参照
int([x※1])
int(x※2, base=10)
戻り値整数オブジェクト
x (位置引数のみ3.7 )※1数値 (省略:0)
float【浮動小数点数】0 に近い側へ切り捨て
(定義があれば x.__int__ 呼び出し)
(x.__int__ が存在しない場合、定義があれば x.__index__ 呼び出し 3.8)
x (位置引数のみ3.7 )※2文字列・bytes【バイト配列 (不変)】・bytearray【バイト配列 (可変)】
符号指定可 (+・-)
プリフィックス可 (0b・0B・0o・0O・0x・0X)
前後にスペース可
区切りのアンダースコア(_)可 3.7
base基数 (整数:0・2~36)
0自動認識 (明示的な指定が必要)
(base.__int__ base.__index__ 3.4 メソッドが存在する場合、呼び出し)
例
bit_length【2進法のビット数】3.1
bit_count【2進法の1の数】3.10
メモ
メソッド | 備考 |
---|---|
bit_length【2進法のビット数】 | 符号と先頭の 0 は除外 (0の場合は0) |
bit_count【2進法の1の数】 |
構文
int.bit_length( ) 3.1
戻り値2進法のビット数 (符号と先頭の 0 は除外)
int.bit_count( ) 3.10
戻り値2進法の1の数
例
to_bytes【バイト列変換】3.2
classmethod from_bytes【バイト列の整数表現】3.2
メモ
- バイト列と整数の変換
構文
int.to_bytes(length, byteorder, *, signed=False) 3.2
戻り値バイト列
lengthバイト数
byteorderバイトオーダー
"big"最上位のバイト → 最下位のバイト の順
"little"最下位のバイト → 最上位のバイト の順
sys.byteorderシステムのバイトオーダー
signed (キーワード引数)2 の補数の使用有無 (省略:False)
例外OverflowError 例外
length のバイト数では不足
負の整数で signed が False
※ * は、キーワード引数との区切り (def【関数定義】 参照)
classmethod int.from_bytes(bytes, byteorder, *, signed=False) 3.2
戻り値整数値
bytesバイト列 (バイト列風オブジェクト・バイト列を生成するイテラブル)
バイト列風オブジェクトbytes-like object 参照
byteorderバイトオーダー
"big"最上位のバイト → 最下位のバイト の順
"little"最下位のバイト → 最上位のバイト の順
sys.byteorderシステムのバイトオーダー
signed (キーワード引数)2 の補数の使用有無 (省略:False)
※ * は、キーワード引数との区切り (def【関数定義】 参照)
例
as_integer_ratio【分数表現】3.8
メモ
- float【浮動小数点数型】に合わせる為に追加 3.8
- 分母は1
構文
int.as_integer_ratio() 3.8
戻り値(分子, 分母)の tuple【タプル】 (分母:1)