python发邮件11002_Python学习笔记(二)——数字类型的运算及其输入与格式化输出...

webchat.jpg

Python中数字有四种类型:整数、布尔型、浮点数和复数。int (整型), 如 1, 只有一种整数类型 int,表示为长整型,没有python2 中的 long。

bool (布尔型), 如True。

float (浮点型), 如 1.23、3E-2

complex (复数型), 如 1 + 2j、 1.1 + 2.2j

整型

Python中可以处理任意大小(即无限大小)的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。

布尔型

布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。

浮点型

Python将带小数点的数字统称为浮点数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。

复数型

形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。

运算符及运算

算术运算符运算符描述+加——两个对象相加

-减——一个数减去另一个数

*乘——两个数相乘或者得到一个被重复若干次的字符串

/除——x除以y

%取模——返回除法的余数

**幂——返回x的y次幂

//取整数——返回商的余数

示例:1

2

3

4

5

6

7

8

9a=121

b=10

print('%d + %d =t%d' %(a,b,a+b))

print('%d - %d =t%d' %(a,b,a-b))#相减

print('%d * %d =t%d' %(a,b,a*b))#相乘

print('%d / %d = t%f' % (a, b, a / b))#相除

print('%d // %d = t%d' % (a, b, a // b))#整除

print('%d %% %d = t%d' % (a, b, a % b))#取模

print('%d ** %d = t%d' % (a, b, a ** b))#幂

运算结果:1

2

3

4

5

6

7121 + 10 = 131

121 - 10 = 111

121 * 10 = 1210

121 / 10 = 12.100000

121 // 10 = 12

121 % 10 = 1

121 ** 10 = 672749994932560009201

赋值运算符运算符描述=c=a+b将a+b运算结果赋值为c

+=c+=a等价于c=c+a

-=c-=a等价于c=c-a

*=c*=a等价于c=c*a

/=c/=a等价于c=c/a

%=c%=a等价于c=c%a

**=c* * =a等价于c=c* *a

//=c//=a等价于c=c//a

逻辑运算符

Python语言支持以下逻辑运算符。假设变量a的值为True,变量b的值为False,那么 -运算符描述示例and如果两个操作数都为真,则条件成立。(a and b)的结果为False

or如果两个操作数中的任何一个非零,则条件成为真。(a or b)的结果为True

not用于反转操作数的逻辑状态。not(a and b) 的结果为True

示例:1

2

3

4

5

6

7

8

9

10

11

12flag1 = 3 > 2

flag2 = 2 < 1

flag3 = flag1 and flag2

flag4 = flag1 or flag2

flag5 = not flag1

print("flag1 = ", flag1)

print("flag2 = ", flag2)

print("flag3 = ", flag3)

print("flag4 = ", flag4)

print("flag5 = ", flag5)

print(flag1 is True)

print(flag2 is not False)

运算结果:1

2

3

4

5

6

7flag1 = True

flag2 = False

flag3 = False

flag4 = True

flag5 = False

True

False

按位运算符

设变量a=60,b=13;则二进制a表示为:00111100,b表示为:00001101运算符描述示例&二进制与。如果它存在于两个操作数中,则操作符复制位到结果中(a & b) 结果表示为 00001100

``二进制或,如果它存在于任一操作数,则复制位。`(ab)=61结果表示为00111101`

^二进制异或,如果它是一个操作数集合,但不是同时是两个操作数则将复制位。(a ^ b) = 49 结果表示为 00110001

~二进制补码,它是一元的,具有“翻转”的效果。(~a ) = -61有符号的二进制数,表示为11000011的补码形式

<<二进制左移,左操作数的值由右操作数指定的位数左移。a << 2 = 240 结果表示为 11110000

>>二进制右移,左操作数的值由右操作数指定的位数右移。a >> 2 = 15结果表示为00001111

Python的内置函数bin()可用于获取整数的二进制表示形式。

示例:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22a = 60 # 60 = 0011 1100

b = 13 # 13 = 0000 1101

print ('a=',a,':',bin(a),'b=',b,':',bin(b))

c = 0

c = a & b; # 12 = 0000 1100

print ("result of AND is ", c,':',bin(c))

c = a | b; # 61 = 0011 1101

print ("result of OR is ", c,':',bin(c))

c = a ^ b; # 49 = 0011 0001

print ("result of EXOR is ", c,':',bin(c))

c = ~a; # -61 = 1100 0011

print ("result of COMPLEMENT is ", c,':',bin(c))

c = a << 2; # 240 = 1111 0000

print ("result of LEFT SHIFT is ", c,':',bin(c))

c = a >> 2; # 15 = 0000 1111

print ("result of RIGHT SHIFT is ", c,':',bin(c))

运算结果:1

2

3

4

5

6

7a= 60 : 0b111100 b= 13 : 0b1101

result of AND is 12 : 0b1100

result of OR is 61 : 0b111101

result of EXOR is 49 : 0b110001

result of COMPLEMENT is -61 : -0b111101

result of LEFT SHIFT is 240 : 0b11110000

result of RIGHT SHIFT is 15 : 0b1111

成员运算符运算符描述in如果在指定的序列中找到一个变量的值,则返回true,否则返回false。

not int如果在指定序列中找不到变量的值,则返回true,否则返回false。

身份运算符运算符描述is如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False。

is not如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False。

基本输入与格式化输出

输入

使用input([prompt])读取一行,将其转换为string类型并返回。input的参数可有可无,如果有参数的话,会在控制台(可以这样理解)输出参数的内容,不换行。通常情况下我们在控制台输入一些数据,然后敲击回车,就完成了本次输入。

示例:1

2name = input("Please enter your name: ")

print(name)

运算结果:1

2Please enter your name: Jacob

Jacob

这里要注意的是,input返回的是string类型,如果想输入数字,还需要进行类型转换,例如:1

2num = int(input("Enter a number: "))

print(num*2)

运算结果:1

2Enter a number: 4

8

格式化输出

Python字符串格式化符号:符号描述%c格式化字符及其ASCII码

%s格式化字符串

%d格式化整数

%u格式化无符号整型

%o格式化无符号八进制数

%x格式化无符号十六进制数

%X格式化无符号十六进制数(大写)

%f格式化浮点数字,可指定小数点后的精度

%e用科学计数法格式化浮点数

%E作用同%e,用科学计数法格式化浮点数

%g%f和%e的简写

%G%f 和 %E 的简写

%p用十六进制数格式化变量的地址

格式化操作符辅助指令:符号功能*定义宽度或者小数点精度

-用做左对齐

+在正数前面显示加号( + ),在负数前面显示减号(-)

在正数前面显示空格

#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)

0显示的数字前面填充’0’而不是默认的空格

%‘%%’输出一个单一的’%’

(var)映射变量(字典参数)

m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

格式化输出整数

示例:1

2

3

4

5

6

7

8a = 321

b = 123

print(a + b)

print('%d + %d = %d' % (a, b, a + b))

print('%d + %d = %+d' % (a, b, a + b))

print('%d + %d = %06d' % (a, b, a + b))

print('%d + %d = %.6d' % (a, b, a + b))

print("a + b= ",a+b)

运算结果:1

2

3

4

5

6444

321 + 123 = 444

321 + 123 = +444

321 + 123 = 000444

321 + 123 = 000444

a + b= 444

格式化输出16进制,十进制,八进制整数

#%x — hex 十六进制

#%d — dec 十进制

#%o — oct 八进制

示例:1

2

3

4nHex = 1024

print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))

nHex = 0xFF

print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))

运算结果:1

2nHex = 400,nDec = 1024,nOct = 2000

nHex = ff,nDec = 255,nOct = 377

格式化输出浮点数

示例:1

2

3

4

5

6

7

8pi = 3.141592653

print('%10.3f' % pi) #字段宽10,精度3

print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度

print('%010.3f' % pi) #用0填充空白

print('%-10.3f' % pi) #左对齐

print('%+f' % pi) #显示正负号

pi = -pi

print('%+f' % pi) #显示正负号

运算结果:1

2

3

4

5

63.142

pi = 3.142

000003.142

3.142

+3.141593

-3.141593

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值