python发邮件11002_Python学习笔记(二)——数字类型的运算及其输入与格式化输出...
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
總結
以上是生活随笔為你收集整理的python发邮件11002_Python学习笔记(二)——数字类型的运算及其输入与格式化输出...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python程序占用内存高_如何优化Py
- 下一篇: python中的array函数作用_数据