字符串

2018-07-18  本文已影响0人  陈卷卷卷卷

一.字符串

1.什么是字符串
2.转义字符:可以用来表示一些特殊功能或者是特殊意义的字符(通过在固定的字符前面加\)
(注:转义字符在计算字符串长度时是整个转义字符计算为一个字符)
\n \r \t \f \e \v \oyy \xyy
换行 回车 横向制表 换页 转义 纵向制表 八进制数 十六进制数

代码实现:

str = 'hai'
str1 = 'H'
str2 = '\''
str3 = ('床前明月光,\n疑是地上霜。')
print(str3)

运行结果:

床前明月光,
疑是地上霜

3.Python中的阻止转义
#没有R
str4 = '\\'
#有R
str5 = R'\\'
print(str4)
print(str5)

运行结果:

\
\\
4.Python中的字符是Unicode编码

(1)什么是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.通过下标获取字符串中的每一个字符
str = 'abc'
print(str[0])
print(str[1])
print(str[2])
str1 = 'dy\nup'
print(str1[4])
注意:
# 获取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
执行过程:
#  练习:用一个变量成绩,如果大于等于60判断是否及格。并打印结果

score = 70
if score>=60:
    print('及格')
else:
    print('不及格')

运行结果:

及格
上一篇 下一篇

猜你喜欢

热点阅读