首頁  >  文章  >  後端開發  >  python int()函數實例詳解

python int()函數實例詳解

PHPz
PHPz原創
2017-05-01 09:50:011912瀏覽

int(x, [base])

功能:

函數的作用是將一個數字或base類型的字串轉換成整數。 (  Python影片教學


函數原型:

int(x=0)

int(x , base=10),base缺省值為10,也就是說不指定base的值時,函數將x以十進位處理。


適用Python版本: 

Python2.x

Python3.x


注意:

1. x 可以是數字或字串,但是base被賦值後x 只能是字串

2. x 作為字串時必須是base 類型,也就是說x 變成數字時必須能用base 進位表示


Python英文文件解釋:

class int(x=0)

class int(x, base=10)

Return an integer object constructed from a number or string x, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.


If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in radix base. Optionally, the literal can be preceded by + or - (with no space in between) and surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with a to z (或 A to Z) having values 10 to 35. The default base is 10. The allowed values are 0 and 2–36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0O, 0o/0O , or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so that int(010' is not legal, while int('010') is, as well as int('010', 8).


The integer type is described in Numeric Types — int , float, complex.


Changed in version 3.4: If base is not an instance of int and the base object has a base.__index__ method, that method is called to obtain an integer for the base. Previous versions used base.__int__ instead of base.__index__.


Changed in version 3.6: Grouping digits with underscores as in code literals is allowed.


程式碼實例:


#1. x 是數字的情況:

  int(3.14)            # 3
  int(2e2)             # 200
  int(100, 2)          # 出错,base 被赋值后函数只接收字符串


2. x 是字串的情況:

  int('23', 16)      # 35
  int('Pythontab', 8)      # 出错,Pythontab不是个8进制数


#3. base 可取值範圍是2~36,囊括了所有的英文字母(不區分大小寫),十六進位中F表示15,那麼G將在二十進位中表示16,依此類推....Z在三十六進位中表示35

  int('FZ', 16)      # 出错,FZ不能用十六进制表示
  int('FZ', 36)      # 575


4. 字串0x 可以出現在十六進位中,視為十六進位的符號,同理0b 可以出現在二進位中,除此之外視作數字0 和字母x

  int('0x10', 16)  # 16,0x是十六进制的符号
  int('0x10', 17)  # 出错,'0x10'中的 x 被视作英文字母 x
  int('0x10', 36)  # 42804,36进制包含字母 x

以上是python int()函數實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn