一.字符串
1.什么是字符串
- 使用单引号或者双引号括起来的字符串
- 引号中的单独的符号数字字母等叫做字符
2.转义字符:可以用来表示一些特殊功能或者是特殊意义的字符(通过在固定的字符前面加\)
- \ 转移字符
- \\ 输出转移字符 \
(注:转义字符在计算字符串长度时是整个转义字符计算为一个字符)
\n | \r | \t | \f | \e | \v | \oyy | \xyy |
---|---|---|---|---|---|---|---|
换行 | 回车 | 横向制表 | 换页 | 转义 | 纵向制表 | 八进制数 | 十六进制数 |
代码实现:
str = 'hai'
str1 = 'H'
str2 = '\''
str3 = ('床前明月光,\n疑是地上霜。')
print(str3)
运行结果:
床前明月光,
疑是地上霜
3.Python中的阻止转义
- 通过R(r)在字符串前面阻止字符串转义,直接能够输出字符串中的原有内容
代码实现:
#没有R
str4 = '\\'
#有R
str5 = R'\\'
print(str4)
print(str5)
运行结果:
\
\\
4.Python中的字符是Unicode编码
(1)什么是Unicode编码?
- Unicode编码使用十六位对一个字符进行编码,编码的目的是让字符可以存储到计算机中
- Unicode编码中包含了ASCII码,它可以表示世界上所有的语言符号
(2)Unicode编码的使用
a.获取一个字符的Unicode编码
b.将Unicode编码转化为字符
代码实现:
# 将字符转换为Unicode编码(返回十进制)
# ord()
print(bin((ord('王'))),bin((ord('圣'))),bin
# 将Unicode码换换为字符
# chr()
print(chr(0x4eff)
输出结果:
0b111001110001011 0b101011100100011 0b110110100000001
仿
5.字符串比较大小
- 字符串比较大小的时候,从字符串开始依次往后比较每个字符的大小,直到字符不一样的时候。比较字符的大小,实际上是比较它们的编码的大小
二.获取字符串的字符
Python的字符串实际上是一个有序的序列
1.获取字符串长度:指的是字符串中字符的个数
代码实现:
len()
a='abc'
c=len(a)
print(c)
2.通过下标获取字符串中的每一个字符
- 字符串中的每一个字符都有一个下标(索引),我们可以通过索引获取固定的值
代码实现1:
str = 'abc'
print(str[0])
print(str[1])
print(str[2])
str1 = 'dy\nup'
print(str1[4])
注意:
- 下标的范围:0~字符串长度-1
- 逆序获取字符
- 下标长度:-1~-(字符串长度)
- 索引时,索引不能超过索引范围,否则会报错IndexError
代码实现2:
# 获取str2中的最后一个字符
print(str1[-1])
运行结果:
3
a
b
c
p
p
3.获取字符串中的制指定范围的字符
格式:变量名[开始下标:结束下标](注:开始下标对应的字符一定在结束下标对应的字符前)获取变量中字符从开始下表到结束下标的所有字符(不包含结束下标所对应的字符)
代码实现:
获取第六个字符到底倒数第一个之前的所有字符
str3 = 'djafjfnjefjjrkjfe'
print(str3[5:-1])
运行结果:
fnjefjjrkjf
- 如果没有开始下标或者结束下标,则直接从字符开始除索引或者索引至字符串结束
# 省略开始下标
print('省略开始下标')
print(str3[:-1])
# 省略结束下标
print('省略结束下标')
length = len(str3[2:])
print(str3[2:],'所取字符长度为:',length)
运行结果:
省略开始下标
djafjfnjefjjrkjf
省略结束下标
afjfnjefjjrkjfe 所取字符长度为: 15
- 步进取值
# [开始下标:结束下标:步进] [1:-1:2]
# 步进为2(没两个取一个)
str4 = str3[2:-1:2]
print(str4)
# 如果步进为负数,则取值时和步进取值规律相反
str5 = str3[2::-1]
print(str5)
运行结果:
ajnejrj
ajd
[Finished in 0.1s]
三.字符串运算符
1."+":拼接字符串
格式:字符串1 + 字符串2
代码实现1:
str = 'hello'
str1 = 'python'
print(str + str1)
注意:在用+进行运算符计算时,+两边必须都是字符串
运行结果:
hellopython
2."*":字符串重复
格式:字符串 * 正整数
代码实现2:
str3 = 'abc' * 2
print(str3)
运行结果:
abcabc
3.in :
格式:字符串1 in 字符串2 :判断字符串1是否在字符串2中,返回值为布尔值
代码实现3
result = 'aac' in 'aghdacjshakj'
print(result)
#字符串必须是完全一样才能判断为True
运行结果:
False
4.not in
格式字符串1 not in 字符串2 :判断字符串1是否不在字符串2中
代码实现4:
result1 = 'aac' in 'aghdacjshakj'
print(result1)
运行结果:
False
5.格式字符串
格式:字符串'%s'%(值),有多个值占位符时,值用逗号隔开
代码实现5:
str4 = 'abc%s123sd' %('c')
print(str4)
# 有多个值占位符时,值用逗号隔开
str5 = 'abc%sajf%sfj' %('7478','47')
print(str5)
运行结果:
abcc123sd
abc7478ajf47fj
6.占位符
%s--->字符串占位符
%d--->整数占位符
%f--->浮点数占位符(%.nf-->保存n位小数的浮点数)
%c--->长度为1的字符串占位符(字符占位符),可以传长度唯一的字符的编码值
代码实现6:
str6 = '-%s-%d-%.1f-%c-' %('chen',12,12.3,'a')
print(str6)
运行结果:
-chen-12-12.3-a-
注意:如果在占位符后面没有添加或者没有使用占位符格式,那么前面添加了占位符的字符串中的占位符也是一个字符串
7.格式化输出
代码实现7:
name = 'chen'
age = 10
print('%s今年年龄是%d' %(name,age))
# 格式化无符号八进制
number = 10
str8 = '%d的八进制数是0o%o' %(number,number)
print(str8)
运行结果:
15的十六进制是0xf
chen今年年龄是10
10的八进制数是0o12
四.字符串的内置函数
调用格式:变量名(变量名).函数()
代码举例:
# 产生学号
number = 9
# 将整数转换为字符串
num_str3 = str(9)
print(num_str3,type(num_str3))
# 调用rjust()函数生成指定长度的字符串,并添加填充字符
num_str3 = num_str3.rjust(3,'0')
# 拼接字符串
num_str3 = 'Python'+ num_str3
print(num_str3)
运行结果:
9 <class 'str'>
Python009
五.分支结构
1.if-else语句
结构:
if:条件语句(结果为True执行的代码块)
****代码块1
else:
****代码块2
执行过程:
- 先判断条件语句是否为True,如果为True就执行if语句后面对应的一个缩进的所有代码;如果为False,就执行else中的代码块
- 条件语句:任何有值的表达式,但是一般是布尔值
代码实现1:
# 练习:用一个变量成绩,如果大于等于60判断是否及格。并打印结果
score = 70
if score>=60:
print('及格')
else:
print('不及格')
运行结果:
及格
网友评论