美文网首页
Day04学习总结-字符串

Day04学习总结-字符串

作者: 萌王史莱姆 | 来源:发表于2018-12-27 23:33 被阅读0次

1.获取单个字符
字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的位置。
下标是从0开始依次增加, 0对应的是第一个字符(0 —— 字符串长度 - 1)
也可以是从-1开始依次减少,-1代表最后一个字符(-1 —— -字符串长度)

例如:'hello' -> h -> (0, -5) e -> (1, -4) l -> (2, -3) l -> (3, -2) o -> (4, -1)
'\tpytho\u4e00n' -> p -> (1, -7)

a.语法
字符串[下标] - 获取字符串中指定下标对应的字符

b.说明:
字符串 - 只要结果是字符串的表达式都可以,例如:字符串字面量,字符串变量
[] - 固定写法
下标 - 需要获取的字符对应的下标;注意:这儿的下标不能越界
示例:

result = 'how are you!'[0]      # 获取字符串'how are you!'中下标是0的字符,并且赋给变量result
print(result)

print('how are you!'[-1])     # !
# print('how are you!'[12])    报错:IndexError: string index out of range

str1 = 'good good study! day day up!'
print(str1[10], str1[-18])

2.获取部分字符(字符串切片)

方法一:
a.语法:
字符串{开始下标:结束下表:步长] - 从开始下标开始,获取到结束下标前为止。每次下标值加上步长去获取下一个

b.说明:
字符串 - 只要结果是字符串的表达式都可以,例如:字符串字面量,字符串变量
[] - 固定写法
开始下标、结束下标 - 下标值(这儿的下标可以越界)
步长 - 必须是整数(正数和负数都行);
如果步长是正数,是从开始下标开始从前往后获取;
如果步长是负数,是从开始下标开始从后往前获取

c.注意:
当步长为正,要求开始下标对应的字符的位置必须在结束下标对应的字符的位置的前面,否则结果是空串!
当步长为负,要求开始下标对应的字符的位置必须在结束下标对应的字符的位置的后面,否则结果是空串!

不管怎么取,结束下标一定取不到 !
示例:

str1 = 'hello python!'
print(str1[0:4:1])        # 从前往后取
print(str1[6:0:-2])       # 从后往前取

print(str1[-1:-100:-1])   # 结束下标越界
print(str1[100:-100:-1])  # 下标越界

练习: 获取一个字符串中所有下标是奇数的所有字符(顺序)

str1 = 'hello world!'
print(str1[1:100:2])

str2 = "{'name':'小明', 'age': 18}"
print(str2[1:-1:1])

方法二:(省略步长)
字符串[开始下标:结束下标] - 步长是1;从开始下标到结束下标前为止一个一个的取!
示例:

print('when i was young!'[2:6])

方法三:(省略开始下标和结束下标)
a.省略开始下标
字符串[:结束下标:步长] - 当步长是正数,从字符串的第一个字符开始取到结束下标前为止;
当步长是负数,从字符串的最后一个字符开始取到结束下标前为止

b.省略结束下标
字符串[开始下标::步长] - 当步长是正数,从开始下标开始取到字符串最后一个字符为止;
当步长是负数,从开始下标开始取到字符串的第一个字符为止
示例:

str3 = 'when i was young!'
print(str3[:6], str3[:6:-1])
print(str3[2:], str3[2::-1])

print(str3[:])
print(str3[::-1])     # 让字符串倒序
print(str3)

1.字符串支持的运算符: +, *, >, <, ==, !=, <=, >=
python中的字符串支持数学运算符中的+和*,以及所有的比较运算符

a. + : 字符串1 + 字符串2 - 将字符串1和字符串2拼接在一起产生一个新的字符串
注意:字符串和数字不能混合相加!
示例:

new_str = 'abc' + '123'
print(new_str)


name = '张三'
message = '吃饭了吗?'
print(name + ',' + message)

# print('abc' + 123)    报错:TypeError: can only concatenate str (not "int") to str

b. * : 字符串 * N - N是正整数;字符串重复N次产生一个新的字符串
示例:

new_str = 'abc' * 3
print(new_str)

print(('abc' + '123') * 2)   # 结果为abc123abc123

c.比较是否相等
==, != 可以判断两个字符串是否相等或者不相等
示例:

print('abc' == 'abc')   # 结果为True
print('abc' == 'cba')   # 结果为False
print('abc' != 'abc')   # 结果为False

d.字符串比较大小: 从第一个字符开始依次往后找,找到第一个不相等的字符对,

判断它们编码值的大小,谁的编码值大,对应的字符串就大;不会再往后比较了!

应用:

1.判断是否是小写字母: 'a' <= char <= 'z' <===> char >= 'a' and char <= 'z'

2.判断是否是大写字母: 'A' <= char <= 'Z' <===> char >= 'A' and char <= 'Z'

3.判断是否是字母: 'a' <= char <= 'z' or 'A' <= char <= 'Z'

print('abdcb' > 'abcde')
print('abdcb' > 'zbcde')

判断一个字符串中第三个字符是否是字母

str1 = 'shk23.ssy23'
char = str1[2] # 将第3个字符取出
print('是否是字母', 'a' <= char <= 'z' or 'A' <= char <= 'Z')
print('是否是中文', '\u4e00' <= char <= '\u9fa5')

2. in和not in操作

字符串1 in 字符串2 -> 判断字符串2中是否包含字符串1(判断字符串1是否是字符串2的子串)

print('abc' in 'hello abc') # True
print('abc' in 'ahello bc') # False

字符串1 not in 字符串2 -> 判断字符串2中是否不包含字符串1

print('abc' not in 'hello abc') # False
print('abc' not in 'ahello bc') # True

3. len函数

len(序列) - 获取序列长度,获取序列中元素的个数

len(字符串) - 获取字符串的长度(字符的个数) -- 结果是一个整数

注意:

一个可以转义的转义字符的长度是1!

一个编码字符的长度是1!

一个空格字符的长度是1!

手动在键盘上按一个tab,一般是4个空格,长度是4; 一个\t来表示的tab,长度是1!

print(len('abc'))

str1 = input('请输入:')
last_char = str1[len(str1) - 1] # 获取输入的字符串中的最后一个字符
print(last_char)

str1 = ' abc'
str2 = '\tabc'
print(str1)
print(str2)
print(len(str1), len(str2)) # 手动输入的tab和\t对应的字符个数可能不一样! \t永远是1

相关文章

  • Day04学习总结-字符串

    1.获取单个字符字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的位置。下标是从0开始依次...

  • Day04字符串学习总结

    字符串中的元素 1、组织转义 2、 Python中可以把字符串看成一个容器(序列),容器中的内容是字 ...

  • 2017.4.30工作总结

    2017.4.30工作总结 本周完成情况## ** 学习php进阶** 字符串学习 正则学习 未完成的 本周总结 ...

  • CSS2

    Day04****************************************************...

  • day04 字符串

    获取字符 1.获取单个字符 字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的位置。 下标...

  • day04(数组)

    Day04(java基础知识)学习目标 【学习目标】理解、了解、应用、记忆通过今天的学习,参训学员能够:(解释的时...

  • 三字母组合算法

    声明: 本总结仅为个人学习总结,以防止遗忘而作,不得转载和商用。题目:仅由三个字符A,B,C构成字符串,且字符串任...

  • 自律给我自由—Day004

    【叶子姑娘的自律100天挑战 Day04】 2019.01.17 Day04/100 【早起】醒的太早导致差点没起...

  • day04补充-数组练习代码

    补充day04练习代码:

  • Python 学习总结——字符串

    1 Python 字符串的 CRUD 操作 1.1 创建字符串 字符串是 Python 中最常用的数据类型。我们可...

网友评论

      本文标题:Day04学习总结-字符串

      本文链接:https://www.haomeiwen.com/subject/xdjjlqtx.html