Python基础知识(2)——字符串操作及基本数据类型

时间:2024-03-18 18:50:16

Python基础知识(2)——字符串操作及基本数据类型

知识要点:

  • 数字类型:整数类型、浮点数和复数类型
  • 数字类型的运算:数值运算操作符、竖中指运算函数
  • 字符串类型及格式化:索引、引片、基本的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基础知识(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)
Python基础知识(2)——字符串操作及基本数据类型

"{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:保留小数
%:转换为百分比