数据类型之字符串(string)

一、字符串特有
1.upper() / .lower() 将字符串转化为大小写,得到结果是字符串
 
 
示例:将输入字符串进行小写比较
方式1:
check_code = 'AF1k'
new_check_code = check_code.lower()
print(new_check_code)
code = 'af1K'
mag = '请输入你的验证码%s:' % (code,)
code1 = input(mag)
new_code = code1.lower()
if new_code == new_check_code:
    print('验证成功')
else:
     print('验证失败')

#方式2:

check_code = 'AF1k'
code1 = input('请输入你的验证码%s:' % (check_code,))
if code1.lower() == check_code.lower():
    print('验证成功')
else:
     print('验证失败')



    
 
2.isdigit() 判断字符串是否转换为数字,得到结果是布尔类型True/False
示例:判断输入字符串是否为数字
while True:
   num = input('请输入数字:')
   flag = num.isdigit()
   if flag:
      print(num)
      print('输入成功')
      break
   else:
      print('请继续输入数字:')
  
结果 :  
请输入数字:d
请继续输入数字:
请输入数字:f
请继续输入数字:
请输入数字:1
1
输入成功 
 
3.strip() 去掉两边空格/ .lstrip()去掉左边空格 / .rstrip()去掉右边空格
示例:去掉空格
方式1:
name = ' sundy '
name1 = name.rstrip()
name2 = name1.lstrip()
name3 = name2.upper()
print('-->',name3,'<--')
结果:
--> SUNDY <--
方式2:
name = ' sundy '
name1 = name.strip()
print('-->',name1,'<--')
结果:
--> sundy <--
 
 
 
4.replace("被替换的字符/子序列","要替换为的内容") / .replace("被替换的字符/子序列","要替换为的内容", 1) 从左到右替代总共1个指定被替代内容
 
 
示例:替代指定关键字
name = input('请输入你姓名:')
name1 = name.replace("国",'*')
name2 = name.replace("国",'*',2)
print('-->',name1,'<--')
print('-->',name2,'<--')
结果:
请输入你姓名:国庆国家国际美国
--> *庆*家*际美* <--
--> *庆*家国际美国 <--

 5.split('根据什么东西进行分割') / .split('根据什么东西进行分割', 1 )从左到右第一个开始切割总共切割1个 / rsplit从右到左 ,结果是列表形式
示例:分割指定字符
name = '你是谁,你来自哪里,你要到哪里,哈哈'
name1 = name.split(",")
name2 = name.split(",",2)
name3 = name.rsplit(",",2)
print('-->',name1,'<--')
print('-->',name2,'<--')
print('-->',name3,'<--')
结果:
--> ['你是谁', '你来自哪里', '你要到哪里', '哈哈'] <--
--> ['你是谁', '你来自哪里', '你要到哪里,哈哈'] <--
--> ['你是谁,你来自哪里', '你要到哪里', '哈哈'] <--
 
二、其他类型公共
1.len ,计算长度。 (字符串->计算字符串中的字符个数)
用法:
num = len(value)
print(num)
 
2.索引取值(0作为开始)
 
v = "oldboy" v1 = v[0]  # 0 1 2 3 ... 从前向后 v[0]代表第一个元素
v2 = v[-1] # -1 -2 -3 ...从后向前
v = "oldboy"

3.切片(0作为开始)

# v1 = v[2:4]
#   2 =< 索引位置 <3 (开区间)
# v2 = v[3:6]
# v2 = v[3:-1]
# v2 = v[3:] 从第三个位置取到最后一个
# v2 = v[:-1] 从最后一个位置取到最前面,但不包含最后一个
示例:
v = 'sundy'
v1 = v[1:3]
v2 = v[1:-1]
v3 = v[0:]
v4 = v[:-1]
print(v1)
print(v2)
print(v3)
print(v4)
 
 
结果:
D:\python3.6\python3.6.exe D:/python_code/day01/day03.py
un
und
sundy
sund
 

示例: 取后两个字符
# data = input('请输入:')
 方式一
# v = data[-2:]
# print(v)
方式二
# total_len = len(data)
# v = data[total_len-2:total_len]
# print(v)
 

4.步长:
示例:
name = 'alex2dfghhsffg'
val1 = name[0:-1:2]
val2 = name[1:-1:2]
val3 = name[1::2]
val4 = name[::2]
val5 = name[-1:0:-2]
print(val1)
print(val2)
print(val3)
print(val4)
print(val5)
 
结果:
D:\python3.6\python3.6.exe D:/python_code/day01/day04.py
ae2fhsf
lxdghf
lxdghfg
ae2fhsf
gfhgdxl

# 笔试题:请将字符串反转。
name = 'alex'
val = name[::-1]
print(val)
结果:
D:\python3.6\python3.6.exe D:/python_code/day01/day04.py
xela
 
 
 练习题:
########################需求:让用户输入任意字符串,获取字符串之后计算其中有多少数字####################################
text = input('请输入字符串:')
len_text = len(text)
index = 0
tol =0
while index < len_text:
    value = text[index]
    fag = value.isdigit()
    if  fag:
        tol +=1
    index +=1
print(tol)
 
 
补充:
1.startswith 判斷是否以什么开头/ endswith判斷是否以什么结尾
示例:
####补充: startswith / endswith##########
#!/usr/bin/env python # -*- coding:utf-8 -*
"""
"# 方式一:
name = 'alex'# 判断是否已al开头
flag = name.startswith('al')
print(flag)

"""
# 方式二:
name = 'alex'# 判断是否已al开头
val = name[0:2]
if val == 'al':
     print('是以al开头')
else:
    print('不是')
 
 
2.format格式化占位符
示例:
name = "我叫{0},年龄:{1}".format('sundy',23)
print(name)
结果:
D:\python3.6\python3.6.exe D:/python_code/day01/day04.py
我叫sundy,年龄:23
3.encode字符串转化为指定字符
name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
v1 = name.encode('utf-8') #将unicode编码存储转化为utf-8
print(v1)
v2 = name.encode('gbk')#将unicode编码存储转化为gbk
print(v2)
结果:
D:\python3.6\python3.6.exe D:/python_code/day01/day04.py
b'\xe6\x9d\x8e\xe6\x9d\xb0'
b'\xc0\xee\xbd\xdc'
4.join # 循环每个元素,并在元素和元素之间加入连接符。
示例
name = 'alex'
result = "**".join(name)   ##name必须为字符串类型
print(result)
结果:
D:\python3.6\python3.6.exe D:/python_code/day01/day04.py
a**l**e**x
 
posted @ 2019-11-04 12:23  小蚂农  阅读(277)  评论(0编辑  收藏  举报