Python 数据类型 str int float

 

字符串的定义

# 使用转义“\”使得引号内的引号显示
str1 = 'I\'am a student'
str2 = "Jason said:\"I like\000 you\""
print(str1,str2,sep="\n")

str3 = "jiangsu"
print(str3[2])      #索引从零开始
print(str3[0:6])        #[起始位置:结束位置]
print(str3[1:6:2])      #[起始位置:结束位置:步进值]
print(str3[2:])         #[起始位置:]不写后面,去索引后面
print(str3[:2])         #[:结束位置]不写前面,取索引前面

 

注意事项

str1='' #空字符串
str2=len('')
str1=' ' #有空格的字符串,非空字符串
str2=len(' ')
''!=' '

 

常用转义符

print('hello\tpython') #\t 横向制表符,空出四个空格,键盘tab键
print('hello\npython') #\n 换行符
print('hello \\t') #打印出\t,转义字符也当做字符串的一部分
print(r'hello\tpython') #字符串前加个r,取消转义

 

常用字符串操作

查看字符串长度 len()函数

len('hello python') #查看字符串长度
len('hello python啊') #查看字符串长度,中英文均占一个字符长度

大小写转化 lower(),upper()函数

str3='HELLO'
str4='python'
str5='MyName'
print(str3.lower()) #将字符串中所有大写字符转小写
print(str4.upper()) #将字符串中所有小写字符转大写
print(str5.lower())
print(str5.upper())

字符串连接

str5='hello'
str6='python'
print(str5+str6) #字符串用“+”拼接
print(str5+','+str6)
print(str5+'\t'+str6)
str7='hello'
','.join(str7) #用“,”把字符串分开
str8='a'.join('python') #本行的a与下行的a需一致方可完成列表分割
str9=str8.split('a')
print(str9)

字符串切片

str11='abcdefg'
str11[1:] #切出索引1到最后
str11[::] #切出所有
str11[::2] #步长为2,切所有

字符串操作进阶
实际业务中字符串常用操作:取出字符串中的数字、字符、大小写字母

方法1:for循环 str.isdigit() 检测字符串是否只由数字组成 str.islower() 检测字符串是否只由小写字母组成 str.isupper() 检测字符串是否只由大写字母组成

str12='AAbbbCC223'
number=''
lower=''
upper=''
for i in str12:
    if i.isdigit():
        number=number+i
    elif i.islower():
        lower=lower+i
    elif i.isupper():
        upper=upper+i
print(number+'\t'+lower+'\t'+upper)

方法2:正则表达式

\d 匹配任意数字,等价于[0-9]
\D 匹配任意非数字
[0-9] 匹配任何数字,类似于[0123456789]
[a-z] 匹配任意小写字母
[A-Z] 匹配任意大写字母
[a-zA-Z0-9] 匹配任意字母及数字

import re #导入正则表达式re模块
str13='AA1bbbCC223d'
print('.'.join(re.findall(r'[A-Za-z]',str13))) #提取字母,不区分大小写
print(','.join(re.findall(r'[a-z]',str13))) #提取小写字母
print('-'.join(re.findall(r'[A-Z]',str13))) #提取大写字母
print('~'.join(re.findall(r'[0-9]',str13))) #提取数字
print(re.sub('\D','=',str13)) #提提取数字,参数1是匹配出任意非数字,用参数2替换掉,
re.findall(r'[A-Za-z]',str13)

数据类型强制转换

注意:数字可以转字符串,但只有只包含数字的字符串才能转成数字类型

float(6) #整数转浮点数
int(6.66) #浮点数转整数
a=str(1.23) #数字转字符串
print(a)
type(a)
int('a123') #错误,只有只包含数字的字符串才能转成数字类型
int('1.23') #只有只包含数字的字符串才能转成数字类型

其他

str11='a#b#c#d'
str12='?'
list11=['e','f','g','h']
str12.join(str11)
str11.split('#',1)

 

 

posted @ 2020-08-30 12:09  短戈行  阅读(1388)  评论(0编辑  收藏  举报