Python 数据类型(2)------字符型(str)
字符串是写代码中最常见的
python内存中的字符串是按照unicode编码存储。 对于字符串是不可变的
一、字符串的方法
1.大写 .upper( ) 转换成大写 .isupper() 是否全都是大写
不会改变原有数值,以便还要使用原有数值
例1
value = "abcde"
new_value = value.upper()
print(value)
#value = abcde new_value = ABCDE
不会改变原有数值,以便还要使用原有数值
例2 验证码比较,不区分大小写
check_code = 'iyUF'
message = '请输入验证码%s:'%(check_code)
code = input(message)
new_check_code = check_code.lower()
new_code = code.lower()
if new_code == new_check_code:
print('输入成功')
简化写法
check_code = 'iyUF'
code = input('请输入验证码%s:'%(check_code))
if new_code.lower() == new_check_code.lower():
print('输入成功')
3.判断是否是数字 .isdigit( ) # '1'-->True , '二'-->False , ②-->True
.isdecimal( ) # '1'-->True , '二'-->False , ②-->False
.isnumeric( )# '1'-->True , '二'-->True , ②-->True
以后推荐使用.isdecimal( ) 可以判断10进制数字
例3
v = ['zhangsan','lisi','wangwu']
for i in v:
print(i)
num = input('请输入序号:')
if num.isdecimal():
num = int(num)
print(v[num])
else:
print('你输入的不是数字')
4.去空白 .strip( ) 还可以去掉\n(换行符) \t(制表符) 和制定字符
.rstrip( )去掉右边空白
例4
v = "abc\n\t"
print(v.strip())
v = "abca"
print(v.strip('a'))
结果:bc
**5.替换 replace
.replace(“被替换字符串”,”替换后内容”,[从左到右往后找,替换掉几个, 默认全替换] )
6.切割字符串 .split( )
.split( ‘以什么分割’,[切割几个,默认全切]) 结果输出为数组
.lsplit( ) .rsplit( )
例5
message = "123,456,789,012"
data = message.split(',',2)
print(data)
结果:['123', '456', '789,012']
7.是否以什么开头/结尾
name.startswitch( )/name.endswitch( )
例6
name = "abcdef"
flag1 = name.startswith("ab")
flag2 = name.endswith("ab")
print(flag1,flag2)
结果:True False
**8.编码,把字符串转换成二进制 encode()
name = '张三'
v1 = name.encode('UTF-8')
v2 = name.encode('GBK')
print(v1,v2)
结果b'\xe5\xbc\xa0\xe4\xb8\x89' (6个字节)
b'\xd5\xc5\xc8\xfd'(4个字节)
9.format(较少使用)
name ="我叫{0},年龄:{1}".format('张三',35)
print(name)
结果:我叫张三,年龄:35
10.join join的元素必须是字符串
循环每个元素,并在元素和元素之间加入连接符
# 字母用下划线隔开
name = 'abcde'
v3 = "_".join(name)
print(v3)
结果: a_b_c_d_e
nums = [11,22,33,44]
for i in range(0,len(nums)):
nums[i] = str(nums[i])
resutl ="_".join(nums)
print(resutl)
结果:11_22_33_44