03 字符串处理

2018-07-18  本文已影响0人  卅月

1.含义

'123' 'abcd' '这是汉字'             #这些都是字符串
str1 = '尽诛宵小天策义\n'            #将一个字符串赋给变量
str2 = '长枪独守大唐魂\n'
\  --> '
\\ --> \
\n --> 换行
\t --> 制表符
\" --> "
str1 = r"\\1\n"
print(str1)

输出

\\1\n
       a.获取一个字符的Unicode编码
print(hex(ord('孙')),hex(ord('建')),hex(ord('康')))
print(ord('1'))

输出

0x5b59 0x5efa 0x5eb7
49
       b.将Unicode码转换成字符
print(chr(0x4EAE))      #查看unicode代码为0x4EAE对应的汉字

输出

字符串比较大小,从字符开始依次往后比较,直到遇到的字符不一样为止
比较字符大小的时候,实质比的是他们的编码大小,结果为布尔值

print('abc' > 'b')  #------>False
print('Zbc' > 'aa') #---->False

2.字符串中字符的获取

python的字符,实质是一个有序的字符序列。

注:转义字符的长度为1

#len()是python内置的获取一个序列长度的内置函数
count_num = len('abc\n123')
print(count_num)     #------>count_num == 7

字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的字符.字符串:[索引值]

'abc' --->  a:0 , b:1 , c:2
str1 = 'abc'   
print(str1[1])    # 获取 b

print(str2[num-1])  #获取 p的2种方法
print(str2[-1])     #获取 p的2种方法

str2 = 'goog good study\nday day up'
num = len(str2)    #获取字符串str2的长度

获取字符的时候,索引值(下标)不能超过索引(下标)的范围,否则会报错index out of range

获取从开始下标到结束下标的字符(----具体范围为[开始下标,结束下标)-----)
要求:开始和结束下标都有值,开始下标对应的字符,要在结束下标对应的字符前面。获取部分字符的方式多种多样,需要仔细研究实现的原理。

str3 = 'hello python'
获取python
print(str3[6:12])
print(str3[-6:12])
print(str3[6:])         #视情况可选择性的省略开始下标和结束下标

获取hello
print(str3[:5])         #视情况可选择性的省略开始下标和结束下标

获取整个字符串
print(str3[:])

字符串[开始下标:结束下标:步进]------>步进默认为1可省略,不为1的时候:依次间隔取
print(str3[::2])        #每2个字符取一次
print(str3[::-1])       #倒序

输出

python
python
python

hello

hello python

hlopto
nohtyp olleh

3.字符串运算

str1 = 'hello' + ' ' + 'python'      #---->str1 == 'hello python'
str2 = 'abc' *3
print(str2)      #---->str2 == abcabcabc
字符串1 in 字符串2:判断字符串1是否在字符串2中。结果是布尔值
result = 'aa' in 'abaac'
print(result)   #----->True

字符串1 not in 字符串2 :判断字符串1是否不在字符串2中。结果是布尔值
result = 'aa' not in 'abaac'
print(result)   #---->False
str1 = 'abc%s123' % ('>>>')
print(str1)

%s ---->字符串占位符
%d---->整数占位符
%f---->浮点占位符
%c---->字符(长度是1的字符串)占位符

str2 = '%s%d%c%f' % ('sjk',100,'a',2.13)
print(str2)

使用%.nf控制小数点后的位数(默认是6位小数)
str2 = '这是一个2位小数:%.2f' % (2.13000)
print(str2)

%x和%X都是16进制的占位符(分大写小写)
num = 255
str4 = '%x, %X' % (num,num)
print(str4)
# 输出
ff, FF
name = 'sjk'
age = 18
print('我是%s,我今年%d岁' % (name,age))
print('格式化无符号八进制:%o,十六进制%x,十六进制大写:%X' % (0o76,0xff,0Xff))    #---->分别去掉各进制的前置符号

print('100的八进制数为:%o' % (100))    #结果--->100的八进制数为:144

4.字符串相关內建函数

在python中,有许多关于字符串的內建函数,这是系统预先封装好了的函数,可以直接调用,免去自己写算法的麻烦。

函数 作用
strip 切片函数
……未完待续 ……未完待续

5.条件语句

即if语句。条件语句:可以是任何有值的表达式,但是一般是布尔值。

执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码。
为False,就不执行:后面一个缩进中的代码块,直接执行后续的其他语句

结构
#if 条件语句:
    #条件语句结果为True执行的代码块

if True:
    print('代码1')
    print('代码2')
    print('代码3')

    #条件语句结果为False执行的代码块
else:
    print('代码5')
print('代码4')      #---->由于缩进的原因,此行的代码不属于if语句,是一个单独的语句

实战练习:
判断一个学生成绩是否合格(60分)先判断条件语句是否为True,如果为True就执行语句块1,输出“合格”。
否则执行语句块2,输出“不合格!太弱了”

score = 50
if score > 60:
    print('合格')
else:
    print('不合格!太弱了')
上一篇下一篇

猜你喜欢

热点阅读