知识要点:
- 数字类型:整数类型、浮点数和复数类型
- 数字类型的运算:数值运算操作符、竖中指运算函数
- 字符串类型及格式化:索引、引片、基本的format()格式化方法
- 字符串类型的操作:字符串操作符、处理函数和处理函数
- 类型判断和类型间转换
1、数字类型
(1)整数十进制 1010
二进制 0b1010
八进制 0o1010
十六进制 0x9F
(2)浮点数类型
0.1 + 0.2 == 0.3
输出False #因为存在不确定尾数,0.1 + 0.2 其实等于0.30000000000000004,可以用
round(0.1 + 0.2, 3) == 0.3
输出True #round()取3位小数
(3)复数类型
(1.23e4 + 5.67e4j).real
>>>12300.0 #取其实部
(1.23e4 + 5.67e4j).image
>>>56700.0 #取其虚部
abs(-3 + 4j)
>>>5.0 #相当于求模,注意复数运算为浮点数,不是5
1.23e-4 + 5.67e+8j.real
>>>0.000123 #先求5.67e+8j的实部为0.0,则相加为0.000123
(4)类型间转换函数
int(x) #将x转换为整数,x可为浮点数或字符串
float(x) #将x转换为浮点数,x可为整数或字符串
str(x) #将x转换为字符串,x可为整数或浮点数
int(10.01)
>>>10
float(10)
>>>10.0
str(10.01)
>>>'10.01'
2、数值运算操作符
2+3 =5
6-2 =4
2*3 =6
2/3 =1.5 #求商,结果为浮点数,与c语言不同
2//3 =1 #求其整数商
2%3 =1 #求余
-3 =-3
+3 =3
2**3 =8 # **表示求幂运算,相当于pow(2, 3)
#运算规则:整数、浮点混合,结果浮点;整数(浮点)、复数,结果复数; / 运算是浮点
100/10 =10.0
100.0//10 =10.0
100.0%3 =1.0
3、数值运算函数
abs(x) #求绝对值
divmod(x, y) #(x//y, x%y),输出为元组(2个元素)
round(x)或round(x, d) #四舍五入,保留d位小数
pow(x, y) #幂运算,pow(x,y,z) = (x**y)%z
max(x1, x2, x3...) #求最大值x
min(x1, x2, x3...) #求最小值x
注意点:
abs(-30+40j) #相当于求模
>>>50.0
pow(55, 1999999, 10000) #计算55**1999999的后四位
>>>4375
round(0.5) #奇进偶不进
>>>0
round(1.5)
>>>2
round(0.50001) #非对称则正常进位
>>>1
4、字符串类型操作
(1)处理函数len(x) #返回字符串长度
str(x) #返回x对应的字符串类型 str(1010) >>>'1010'
chr(x) #把ASCII码转换为对应的字符 chr(97) >>>a (Unicode编码)
ord(x) #把字符转换为对应的ASCII码 ord('a') >>>97
hex(x) #求其十六进制小写字符串
oct(x) #求其八进制小写字符串
(2)处理方法
str.lower() #转换为小写字符
str.upper() #转换为大写字符
str.split('a') #返回一个列表,根据字母a分割字符串【得到列表】;str.split() >>>把字符串以空格分隔
str.count('a') #计算字符串中a字母的个数
str.repalce('P', 'p') #把字符串中所有的P转换为p
str.center(20, '*') #字符居中显示,占20位,并用*填充
str.strip('a') #把字符串左边和右边的字母a去掉
",'.join(str) #把,增加到str的每一个元素之后【得到字符串】
举例:
"PythoN".lower()
>>>'python'
"Python C".split()
>>>['Python', 'C']
"Python".split('')
>>>['P', 'y', 't', 'h', 'o', 'n']
"Python".count('y')
>>>1
"Python".repace('P', '*')
>>>'*ython'
"Python".replace('P', '') #可删除特定字符或字符串
>>>'ython'
"Python".center(10, "*") #宽度小于字符串长度时以实际长度为准
>>>'**Python**'
" ==Python== ".strip('') #去掉两侧的空格
>>>'==Python=="
" ".join('Python") #形成新的字符串
>>>'P y t h o n'
",'.join("Python")
>>>'P,y,t,h,o,n'
(3)字符串操作方法
str1 + str2 #连接两个字符串x与y "My" + "You" >>>'MyYou'
str * n #复制字符串n次 "My" * 2 >>>'MyMy'
c in str #判断字符c是否在字符串str中
type('10.0')
>>><class 'str'>
type(10.0)
>>><class 'float'>
type(10)
>>><class 'int'>
type([1, 2, 3])
>>><class 'list'>
5、字符串类型及格式化
(1)字符串索引"Python"[3]
>>>'h'
"Python"[-1]
>>>'n'
(2)字符串切片
"Python"[1:4] #从1到4(不包括4)的字符
>>>'yth'
"Python"[2:3]
>>>'t'
"Python"[:4] #默认从开头
>>>'Pyth'
"Python"[3:] #默认到结尾
>>>'hon'
"Python"[1:-3]
>>>'yt'
"Python"[4:2]
>>>'' #输出空,[N:M]一般N<M,不然输出空字符''
"Python"[2:2]
>>>''
(3)format方法
“{0:*^20.2f}”.format(s)
"{0:}的名字叫{1:}".format("我", "Tonsen") #对应相应的槽
>>>'我的名字叫Tonsen'
str = 'Python'
"{:10}".format(s)
>>>'Python ' #默认左对齐,用空格填充,10为宽度
"{:1}".format(s)
>>>'Python' #指定宽度小于字符串实际宽度,则使用实际宽度
"{:*^10}".format(s)
>>>'**Python**' # *填充字符 ^居中对齐 10字符宽度
千位符:
"{:-^25,}".format(1234567890)
>>>'------1,234,567,890------' # , 添加千位符
输出精度:
"{:.2f}".format(123.12345)
>>>'123.12 #保留两位小数
"{:.5}".format("Python")
>>>'Pytho' #输出5位字符
格式控制标记可用变量来表示:
str='Python'
y='-'
z='^'
"{0:{1}{2}{3}}".format(str, y, z, 10) #用数字顺序填槽
>>>'--Python--' #"{0:-^10}".format(str, y, z, 10)
指定数值类型:
"{:b},{:c},{:d},{:o},{:x},{:X}".format(425)
>>>'110101001,Σ,425,651,1a9,1A9'
b:二进制
c:对应的Unicode码
d:十进制
o:八进制
x:十六进制小写
X:十六进制大写
"{:e},{:E},{:1f},{:%}".format(3.14)
>>>'3.140000e+00,3.140000E+00,3.1,314.000000%'
e:科学计数法
f:保留小数
%:转换为百分比