《Python核心编程》第5章笔记

  • A+
Categories:Python

整型
布尔型:1(True)0(False)
标准整型:在32位机器上取值范围-2,147,483,648 ~ 2,147,483,647
长整型:超过标准整型范围,可以自定义长整型在数字后加L
整型和长整型的统一:标准整型和长整型正在逐渐统一为一种,不远的将来,至少普通用户会几乎感觉不到长整型的存在

浮点型
float通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)

复数型
虚数不能单独存在,它们总是和一个值得0.0的实数部分一起来构成一个复数
复数由实数部分和虚数部分构成
表示虚数的语法:real+imagj
实数部分和虚数部分都是浮点型
虚数部分必须有后缀j或J

复数的内建属性

属性 描述
num.real 改复数的实部
num.imag 改复数的虚部
num.conjugate() 返回该复数的共轭复数

操作符
混合模式操作符:当两个整型相加时,+号表示整型加法,当两个浮点型相加时,+表示浮点型加法,依此类推。在Python,非数字类型也可以使用+操作符,实现拼接
标准类型操作符:
算术操作符:单目操作符正号(+)和负号(-);双目操作符+、-、*、/、%、**、// 分别代码加法、减法、乘法、除法、取余、幂运算、整除操作符
位操作符:Python整型支持标准位运算:取反(~)、与(&)、或(|)、异或(^)、左移(<<)、右移(>>)。Python这样处理位运算

  • 负数会被但成正数的2进制补码处理
  • 左移和右移N位等同于无溢出检查的2的N次幂运算:2**N
  • 对长整型来说,位操作符使用一种经修改的2进制补码形式,使得符号位可以无限向左扩展

整型位操作符

位操作符

功能

~num

单目运算,对数的每一位取反。结果为-(num+1)

num1<<num2

num1左移num2位

num1>>num2

num1右移num2位

num1&num2

num1与num2位按位与

num1^num2

num1异或num2

num1|num2

num1与num2位按位或

内建函数与工厂函数
标准类型函数:cmp()、str()、type()
数字类型函数

  • 转换工厂函数(int()、long()、float()、complex()、bool())
  • 功能函数

数值运算内建函数

函数 功能
abs(num) 返回num的绝对值
coerce(num1,num2) 将num1和num2转换为同一类型,然后以一个元组的形式返回
divmod(num1,num2) 返回一个元组(num1//num2,num1%num2)。对浮点型和复数的商进行下舍入(复数仅取实数部分的商)
pow(num1,num2,mod) 取num1和num2次方,如果提高mod参数,则计算结果再对mod进行取余运算
round(fit,ndig) 接受一个浮点型flt并对其四舍五入,保持ndig位小数,返回结果类型为浮点型

仅用于整型的函数

  • 进制转换函数
  • ASCII转换

仅适用于整型的内建函数

函数 操作
hex(num) 将数字转换成十六进制数以字符串形式返回
oct(num) 将数字转换成八进制数以字符串形式返回
chr(num) 将ASCII值得数字转换成ASCII字符,范围只能是0<=num<=255
ord(chr) 接受一个ASCII或Unicode字符(长度为1的字符串),返回相应的ASCII值或Unicode值
unichr(num) 接受Unicode码值,返回其对应的Unicode字符。所接受的码值范围依赖于你的Python是构建与UCS-2还是UCS-4

数字类型相关模块

模块 介绍
decimal 十进制浮点运算类Decimal
array 高效数值数组(字符、整型、浮点型等)
math/cmath 标准C库数学运算函数。常规数学运算在match模块,复数运算在cmath模块
operator 数字操作符的函数实现。比如tor.sub(m,n)等价于m-n
random 多种伪随机数生成器

Fri Mar 29 10:35:21 CST 2013

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: