首頁 >後端開發 >Python教學 >python函數之int()用法詳解

python函數之int()用法詳解

巴扎黑
巴扎黑原創
2017-08-17 10:45:534189瀏覽

int(x, [base])

功能:

函數的作用是將一個數字或base類型的字串轉換成整數。

函數原型:

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 , 或 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 , 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 bynite consis遠. of the digits 0 to n-1, with a to z (or 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/0B, 0o/0O, or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a socode lite, 70或 16, and so that int('010', 0) 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 int 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