python基础一_02_字符串

python基础一02_字符串

导读:
本文主要记录自己学习python3基础字符串中的要点知识和例子;仅供自己梳理。

一、python字符串类型概述

1.字符串定义:

字符串是一个有序的,不可修改的,以引号包围的序列(有下标)
# 数字类型
a = 100
# 字符串类型
b = "hello world"
引号:
单引号:‘ ’
双引号: “ ”
三单引号:’’’(多用于代码的注释)
三双引号:”””(多用于代码的注释)
三引号:字符串内容可换行(多用于注释)
c = '''hello
world
'''
print(c)

d = """hello
world
"""
print(d)
单引号和双引号区别?单双引号用来区分语义,如
print("wsd's name is ydxqbjl")
print('wsd"s name is fydxqbjl')

2.相同类型的数据可以相加

print('fydxqbjl ' + ' is ' + ' wsd')

3.特殊字符

\n \t \ \v 转义符:r、\
\ 转义符
\n 换行符
\t 横向制表符
\ 续反斜杠符号
\r 回车

二、字符串格式化操作:

%s 字符串占位符
%d 数字占位符
%f 浮点型数字占位符
%.2f 控制浮点型数字占位符
print('my name is %s'%('ydxqbjl'))
print('my name is %s ,my age is %d,my height is %f'%('ydxqbjl',18,1.80))
print('my name is %s ,my age is %d,my height is %.2f'%('ydxqbjl',18,1.80))

三、python字符串的索引(index)

1.len方法

在这里可以用len() 方法看一个序列的长度
print(len('asdfgsafd'))

2.下标

字符串里的每一个个体都被称作字符也是该字符串的一个元素,每一个元素都对应一个索引值(下标);
下标从左往右从0开始

python基础一_02_字符串_第1张图片

a = 'abcdefghi'
# 获取第二个
print(a[1])
# [start:end]切片,包头不包尾
print(a[1:3])
# [start:end:step],步长为step-1
print(a[1:5:2])
#
print(a[-1])
print(a[-3])
# 从左到右,不是a[-1:-3]
print(a[-3:-1])
# start默认为0,end默认为最后一个下标
print(a[:8])
print(a[3:])
# 输出全部
print(a[::])
# 翻转输出
print(a[::-1])
print(a[-5:-9:-1])
print(a[4:0:-1])

四、字符串中的方法

1.字符串的查找

count():计数功能,返回自定字符在字符串当中的个数
find():查找,返回从左第一个指定字符的索引,找不到返回-1
rfind():查找,返回从右第一个指定字符的索引,找不到返回-1
index():查找,返回从左第一个指定字符的索引,找不到报错
data = 'hello world'
# 从左往右
print(data.count('l'))
#
print(data.find('e'))
# 从右往左
print(data.rfind('e'))
#
print(data.index('e'))

2.字符串的分割

partition()返回元组:把mystring以str分割成三部分,str前,str自身和str后
splitlines()返回列表:按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割
split()返回列表:判断字符串的分隔符切片
data = 'hello world'
# 返回元组
print(data.partition('o'))
#
data_line = '''I
am
ydxq
'''
# 返回列表
print(data_line.splitlines())
#
## split,返回列表
print(data.split('o'))

3.字符串的替换

replace() 从左到右替换指定的元素,可以指定替换的个数,默认全部替换
data = 'hello world'
print(data.replace('h','w'))

4.字符串的修饰

center():中心。让字符串在指定的长度居中,如果不能居中左短右长,可指定填充内容,默认以空格填充
data2 = 'ydxq'
print(data2.center(10))
strip():除去。去除空格操作
data = '  ydxq     '
print(data.strip())
format():格式。类似%s %d %f,按照顺序,将后面的参数传递给前面的大括号
# 第一种
print(f'my name is {data2}')
# 第二种
print('my name is {}'.format('ydxq'))
# 第三种,骚操作
print('my name is {} my age is {}'.format('ydxq',18))
print('my name is {1} my age is {0}'.format('ydxq',18))
# 第四种,最骚操作
print('my name is {name} my age is {age}'.format(name = 'ydxq',age = 18))

5.字符串的变形

upper():将字符串当中所有的字母转换为大写
lower():将字符串当中所有的字母转换为小写
title():将字串符当中的单词首字母大写,单词以非字母划分
print('hello'.upper())
print('HELLO'.lower())
print('hello world'.title())

6.字符串的判断

isdigit():判断字符串是否完全由数字组成
startswith(’’):判断字符串的开头字符,也可以截取判断
endswith(’’):判断字符串的结尾字符,也可以截取判断
print('1234'.isdigit())
print('1234a'.isdigit())
print('ydxqbjl is niupi'.startswith('y'))
print('ydxqbjl is niupi'.endswith('niupi'))
in 和 not in :很重要,好用,且提高代码运行性能
data3 = 'ydxqbjl'
print('f' in data3)
print('y' in data3)
print('f' not in data3)

五、python字符串的编码

1.encode 编码

2.decode 解码

ord()和chr()函数可以转换ASCCII编码和字符
print(ord('A'))
print(chr(65))

str = '金山云'
e = str.encode('utf-8')
print(e)

d = e.decode('utf-8')
print(d)

六、练习题

BMI指数是身体质量指数,BMI值计算公式: BMI = 体重(公斤) / 身高的平方(米)。
例如: 一个人69公斤,身高是173公分。BMI = 69 / 1.73**2 = 23.05
标准表:
BMI < 18.5 体重过轻
18.5 <= BMI < 24 体重正常
BMI > 24 体重过重
编程要求: 输入身高的体重,打印出BMI的值并打印体重状况

str_heigh = input('请输入您的身高(m):')
str_weight = input('请输入您的体重(kg):')

heigh = float(str_heigh)
weight = float(str_weight)

BMI = weight / heigh ** 2

if BMI < 18.5:
    print('体重过轻,您的BMI值为:%.2f'%(BMI))
elif 18.5 <= BMI <24:
    print('体重正常,您的BMI值为:%.2f'%(BMI))
elif 24 < BMI:
    print('体重过重,您的BMI值为:%.2f'%(BMI))

七总结

1.字符串是重中之重,如果玩不转字符串,就不用往下学了。

2.本人刚开始学习python3,若有错误和不足之处请指教。

你可能感兴趣的:(python基础)