Python基础3(str:字符串)

基础数据类型

  什么是数据: x = 10 ,10是我们要存储的数据

  为什么分数据类型:数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示

  数据类型:  数字  字符串  列表  元组  字典  集合

数字 int

  数字主要用于计算用

1 # bit_length() 当十进制用二进制表示时,最少使用的位数
2 v = 11
3 data = v.bit_length()
4 print(data)

结果:

  

布尔值 bool

  布尔值就两种:True,False。就是反应条件的正确与否

  真  1  true

  假  0  false

字符串 str

  字符串的索引与切片

   索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推

1 a = 'sklhfsos'
2 print(a[0])
3 print(a[6])

结果

  切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)

1 a = 'sklhfsos'
2 print(a[0:3])
3 print(a[0:])  # 默认到最后一个
4 print(a[0:-1])  # -1就是最后一个
5 print(a[0:-1:2])  # 加步长 在索引为零到索引为-1的区内每隔一位取值(顾头不顾尾原则)
6 print(a[5:0:-2])  # 反向加步长

结果

字符串常用方法

upper及lower使用方法

1 print(name.upper())  # 全部字母大写
2 print(name.lower())  # 全部小写

 

captalize, swapcase, title使用方法

1 name = 'aBCabc'
2 # captalize, swapcase, title
3 print(name.capitalize())  # 首字母大写
4 print(name.swapcase())  # 大小写翻转
5 msg = 'sos abc user'
6 print(msg.title())  # 每个单词首字母大写

结果

center使用方法

1 # center内同居中,总长度,空白处填充
2 msg = 'sos'
3 a = msg.center(21, "&")  # 21:总长度   &:空白处填充
4 print(a)

结果

count及expandtabs使用方法

 1 msg = '1222322'
 2 abc = 'sbsssbb'
 3 msg1 = msg.count("2", 0, 5)  # 可切片  "2" 需查询的元素  0:切片头索引 5:切片尾索引(顾头不顾尾原则)
 4 abc1 = abc.count("s", 0, )
 5 print(abc1)
 6 print(msg1)
 7 # expandtabs使用方法
 8 ke = "\tabc"
 9 ke2 = ke.expandtabs()  # \t前面的补全
10 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,
11 # 如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
12 print(ke2)

结果

startswith及endswith使用方法

1 msg = "dkfjdkfasf54"
2 msg1 = msg.startswith("dkf", 0, 5)  # startswith 判断是否以...开头(顾头不顾尾原则)
3 msg2 = msg.endswith("54", 0, )  # endswith 判断是否以...结尾
4 print(msg1)  #返回bool值
5 print(msg2)

结果

find及index寻找字符串中的元素是否存在(建议使用find)

# find及index寻找字符串中的元素是否存在
msg = 'ssdwfasdw'
msg1 = msg.find("sda", 0, )  # find 无法跳着查元素,如果查不到元素,返回 -1
msg2 = msg.find("w", 0, )  # 查的到元素返回元素索引
msg3 = msg.index("s", 1, )  # 查的到元素返回元素索引
# msg4 = msg.index("u", 0, )  # 找不到报错
print(msg1)
print(msg2)
print(msg3)
# input(msg4)
#10行报错为
# msg4 = msg.index("u", 0, )  # 找不到报错
# ValueError: substring not found

结果

split分割

1 # split 以什么分割,最终形成一个列表此列表不含有这个分割的元素
2 msg = 'title, tilte, atre'.split("i")  # 以 i 为分隔,运行后字符串不含 i
3 msg1 = 'title, tslte, atre'.split("t", 1)  # 以 第一个 t 为分隔,后面的不执行
4 print(msg)
5 print(msg1)

结果

format使用方法

1 # format的三种玩法 格式化输出
2 s1 = '{} {} {}'.format('est', 22, 'kdk3')
3 print(s1)
4 s2 = '{1} {0} {1}'.format('ss', 'tt', 'rr')
5 print(s2)
6 s3 = '{name} {age} {sex}'.format(name='kk', age='ll', sex='66')
7 print(s3)

结果

strip使用方法

1 # strip 去除字符串两边指定字符
2 name = '*egon*************'
3 print(name.strip('*'))  # 去掉两边*
4 print(name.lstrip('*'))  # 去掉左面*
5 print(name.rstrip('*'))  # 去掉右面*

结果

replace替换使用方法

1 # replace
2 name ='alex say :i have one tesla,my name is alex'
3 print(name.replace('alex', 'SB', 1))  # 将 alex 替换为 SB 只将第一个替换

结果

#####is系列

1 name='jinxin123'
2 print(name.isalnum())  # 字符串由字母或数字组成
3 print(name.isalpha())  # 字符串只由字母组成
4 print(name.isdigit())  # 字符串只由数字组成

结果

for循环:用户按照顺序循环可迭代对象的内容

msg = 'abcde'
for item in msg:
    print(item)

li = ['kk','ss','oo','rr','uu']
for i in li:
    print(i)

dic = {'name': '张三', 'age': 18, 'sex': 'man'}
for k, v in dic.items():
    print(k, v)

 

posted @ 2017-12-18 18:57  争-渡  阅读(209)  评论(0)    收藏  举报