Python基础学习笔记(6)

补上之前学习的笔记,这次学习时间2018年11月2日

01-获取字符

"""

python中的字符串是序列,有序,不可变的序列

获取单个字符: 字符串[下标] , 0 ~ 长度-1; -1 ~ -长度

字符串的长度: 字符串中字符的个数, 一个转义字符是一个字符, 一个编码字符也是一个字符

"""

str1 = 'hello'

# 注意:获取单个字符的时候下标不能越界

# print(str1[5])  # IndexError: string index out of range

# print(str1[-6])  # IndexError: string index out of range

# 1.获取部分字符(切片)

"""

语法1:

字符串[开始下标: 结束下标] == 字符串[开始下标:结束下标:1]

功能:获取字符串中从开始下标到结束下标前对应的所有的字符

注意:开始下标对应的字符一定要在结束下标的前面,否则取出来的是空串('',"")

    结束下标对应的字符取不到

"""

str1 = 'good good study, day day up!'

# len(序列) - 获取序列的长度

print(len(str1))

print('1:', str1[1:4])

print('2:', str1[-1:4])

print('3:', str1[-3:-2])

print('3:', str1[-3:27])

"""

语法2:

字符串[开始下标:结束下标:步长]

功能:从开始下标开始获取,每次让下标值加步长去取下一个字符,直到取到最近接结束下标前一个字符为止

注意:当步长是正数,开始下标对应的字符一定要在结束下标的前面,否则取出来的是空串('',"")

    当步长是负数, 开始下标对应的字符一定要在结束下标的后面

"""

str1 = 'good good study, day day up!'

# odgo

print('3:', str1[1:11:2])

# ts doog do

print('4:', str1[11:1:-1])

# t ogd

print('5:', str1[11:1:-2])

"""

字符串[开始下标:结束下标] / 字符串[开始下标:结束下标:步长]

切片的时候开始下标和结束下标都可以省略

1.开始下标省略:

如果步长是正数:从字符串开头开始往后获取

如果步长是负数:从字符串结尾开始往前获取

2.结束下标省略:

如果步长是正数: 起始下标开始获取到字符串结尾(会取到结尾)

如果步长是负数: 起始下标开始获取到字符串开头(会取到开头)

"""

# 开始下标省略

str1 = 'good good study, day day up!'

print(str1[:4])

print(str1[:-6:-1])

# 结束下标省略

print(str1[5::1])

print(str1[5::-1])

# 让字符串倒序

print(str1[::-1])

02-字符串相关运算

"""

1. 两个字符串相加(+)

字符串1 + 字符串2  -  将两个字符串拼接在一起产生一个新的字符串

字符串相加,+两边必须都是字符串

"""

str1 = 'abc'+'efg'

print(str1)

# print('abc'+123)  TypeError: must be str, not int

"""

2. *

字符串 * n(n是一个正整数) - 让字符串重n次,产生一个新的字符串

"""

print('abc'*3)

"""

3. >, <, ==, !=, >=, <=

== 和 !=  - 判断两个字符串是否相等或者不相等

>, < - 从前往后依次比较每个位置上的字符的编码的大小,知道遇到不同为止

"""

# 判断相等

print('abc' == 'abc')

print('abc' != 'abc')

# 比较大小

print('abc' > 'abcbc')

# 获取字符串中小写字母的个数

str2 = 'sAjh238aKjSdf+-()889&*Jsd'

count = 0

for char in str2:

    if 'A'<=char<='Z':

        # print(char)

        count += 1

print(count)

"""

4.len(字符串) - 获取字符串长度

"""

print(len(str2))

"""

5.in和not in

字符串1 in 字符串2  -  字符串1是否在字符串2中

字符串1 not in 字符串2  -  字符串1是否不在字符串2中

"""

print('abc' in 'ahbjck')  # False

print('abc' in 'jkabckksdf')  # True

print('abc' not in 'ahbjck')  # True

print('abc' not in 'jkabckksdf')  # False

print('K' in 'hsjKer')

03-格式字符串

"""

1.什么是格式字符串

格式字符串:在字符串中通过格式符号来表示字符串变化的部分

语法:

一个包含一个或者多个格式符号的字符串 % (格式符号对应的值的列表)

说明:后面括号中有多少个值,看前面有多少个格式符号

2.格式符号

%s  - 代码字符串

%d  - 代表一个整数

%f  - 代表一个小数

%.nf - n表示小数后的位数

%c  - 代表一个字符 -- 可以将数字转换成对应的字符,填充到字符串中

"""

print('%c是一个字符' % (5578))

name = input('名字:')

str1 = '%s今天上课打瞌睡!' % (name)

print(str1)

age = int(input('年龄:'))

score = float(input('分数:'))

str2 = '%s今年%d岁,今天考了%.2f分' % (name, age, score)

str3 = name+'今年'+str(age)+'岁,今天考了'+str(score)+'分'

print(str2, str3)

04-字符串相关方法

# 1.capitalize()

"""

将字符串的首字母变成大写 - 会产生新的字符串

"""

name = 'yuting'

new_str = name.capitalize()

print(new_str, name)

# 2.count()

"""

字符串1.count(字符串2)

统计指定的字符串2在字符串1中出现的次数

"""

num = 'hello python'.count('z')

print(num)

# 3.字符串对齐

"""

a.字符串.center(width,fillchar) - 居中

width - 正整数;新的字符串的长度

fillchar -  字符;填充字符

b.字符串.ljust(width,fillchar) - 左对齐

c.字符串.rjust(width,fillchar) - 右对齐

"""

str1 = 'abc'

print(str1.center(7, '&'))

print(str1.ljust(7, '&'))

print(str1.rjust(7, '&'))

# 4.join

"""

字符串1.join(字符串2) - 将字符串1插入到字符串2中每个字符之间

"""

print('abc'.join('123'))

# 5.replace

"""

字符串.replace(老字符串,新字符串)

"""

str1 = 'ahjksjjfsdfjdkan-ansaa'

print(str1.replace('an', '11'))

# 6.split

"""

字符串1.split(字符串2)  - 将字符串1按字符串2进行切割,返回切好的字符串列表

"""

print('hsjdaakshfksaafshfjaaskdfaakll'.split('aa'))

05-字符串转换

"""

str(数据)  -> 将其他数字转换成字符串类型

所有类型的数据都可以转换成字符串, 转换的时候是直接在值的外面加引号

# 哪些可以转?怎么转

int()

float()

bool()

"""

print(str(100))

推荐阅读更多精彩内容