字符串
字符串
-
认识字符串
- 使用单引号或者双引号括起来的字符集就是i字符串.
- 引号中单独的符号, 数字, 字母等叫字符
- 转义字符:用来表示一些有特殊功能或者特殊意义的字符(固定字符前加'')
' -> ' \ ->
\r = \n -> 换行符
a. 在计算字符长度的时候转义字符代表一个字符
b. 阻止转义
通过在字符串前面加r或者R, 来阻止转义字符转义
string = R'\n'
print(string)
运行结果:
\n
[Finished in 0.5s]
- python中字符串中的字符是Unicode编码
Unicode编码:使用16位对一个字符进行编码(包含ascall码),编码的母的是为了方便字符存储到计算机中
a. 获取一个字符的Unicode编码:ord(符号)
表将Unicode码转换成字符:chr(编码值)
b. 字符串比较大小:从第一个字符开始依次比较字符的编码大小,知道字符不一样为止.
-
获取字符
python的字符, 实质是一个有序的字符序列.
- 获取字符串的长度:(长度:字符串中字符的个数)
count = len('abc\n123')
print(count)
运行结果:
7
[Finished in 0.3s]
- 通过下标获取指定位置的字符
string = 'qwertyu'
print(string,string[3])
运行结果:
qwertyu r
[Finished in 0.3s]
- 获取字符串中的部分字符
字符串[开始下标:结束下标] 包含开始下标但不包含结束下标对应的字符
要求:开始下标对应的位置一定要在结束下标对应位置的前面
省略开始下标则从第一个字符开始取值
省略结束下标则从开始下标取后面所有的字符
两个都省略则获取整个字符串
字符串[开始下标:结束下标:步进]
步进为取下一个字符时从当前字符开始的序号数
当步进为负数时开始下标大于结束下标 没有步进值则默认步进为1
注意:下标的范围是0字符串长度-1或者-1-字符串长度
获取字符的时候, 索引值不能超过范围 IndexError
string = 'qwertyu'
print('string:'+string,'\nstring[3]:'+string[3],"\nstring[3:1]:"+string[3:1],'\nstring[3:1:-1]:'+string[3:1:-1])
运行结果:
string:qwertyu
string[3]:r
string[3:1]:
string[3:1:-1]:re
[Finished in 0.3s]
-
字符串中的运算符
- +:字符串拼接
-
两边都是字符或者字符串才可以拼接
-
:字符串重复
字符串整数
-
:字符串重复
string = 'qq'*3
print(string)
运行结果:
qqqqqq
[Finished in 0.3s]
-
in
字符串1 in 字符串2 :判断字符串1是否在字符串2中 -
not in
字符串1 not in 字符串2 :判断字符串1是否不在字符串2中 -
格式字符串
格式: "%s"%(值)
string = 'qwer%s1%d2%c34'%(">>>",9,'n')
print(string)
运行结果:
qwer>>>192n34
[Finished in 0.3s]
%s:字符串
%d:整数
%f:浮点数
%c:字符 可以给字符的值也可以给字符的编码值
- 格式化输出
print('qwer%s1%d2%c3%.3f4'%(">>>",9,'n',3.1415926))
运行结果:
qwer>>>192n33.1424
[Finished in 0.3s]
-
if语句
1.if-else条件语句:
条件语句结果为True执行的代码块
执行过程:先判断条件语句是否为True, 如果为True就执行if语句后:后面对应的每一个缩进的所有的代码.为False就不执行冒号后面一个缩进中的代码块, 直接执行后续的其他语句
条件语句:可以是任何有值的表达式, 但是一般是布尔值
if:关键字
if False:
print('1')
print("2")
print(3)
else:#先判断条件语句是否为True,为True则执行if中的语句,否则执行else中的语句
print(4)
print(4)
运行结果:
4
4
[Finished in 0.3s]
练习
2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。
name = "Eric"
print("Hello "+name+", would you like to learn some Python today?")
运行结果:
Hello Eric, would you like to learn some Python today?
[Finished in 0.3s]
2-4 调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
name = "eric"
print(name.lower()+"\n"+name.upper()+"\n"+name.title())
运行结果:
eric
ERIC
Eric
[Finished in 0.3s]
2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said, “A person who never made a mistake never tried anything new.”
print('Dambisa Moyo once said,"The best time to plant a tree was ten years ago, followed by the present!"
')
运行结果:
Dambisa Moyo once said,"The best time to plant a tree was ten years ago, followed by the present!"
[Finished in 0.3s]
2-6 名言2: 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。
sentence = '"The best time to plant a tree was ten years ago, followed by the present!"'
famous_person = "Dambisa Moyo"
message = famous_person + "one saide, "
print(message)
运行结果:
Dambisa Moyo once said,"The best time to plant a tree was ten years ago, followed by the present!"
[Finished in 0.3s]
2-7 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。
name = " Eric "
print('\t*' + name+"*\n\t*"+name+"*\n\t*"+name.lstrip()+"*\n\t*"+name.rstrip()+"*\n\t*"+name.strip()+"*")
运行结果:
* Eric *
* Eric *
*Eric *
* Eric*
*Eric*
[Finished in 0.3s]