2018-09-28 day4-总结

一、字符串元素

1.阻止转义

在字符串的最前面可以添加r/R来阻止字符串中的转义字符转义

str1='how  \are you\n  fine '
str2=r'how  \are you\n  fine '
print(str1)
print(str2)

2.python中可以吧字符串看成一个序列(容器),容器中的内容就是字符,

每一个字符可以看成是字符串中的元素
字符串是一个不可变的序列(不可变指的是字符串中的每个字符,以及每个字符的位置不可变)

str2='hello'       #字符串一旦确定,不可变,(内容不可变,位置不可变)

3.获取字符串中的单个字符(字符串下标不能越界)

语法:字符串[下标]--->根据下标获取字符串中的字符 下标只能是整数,下标可以写变量
说明:a.字符串:可以是字符串的变量,也可以是字符串值
b.[]:固定写法
c.下标:0 ~ 字符串长度-1 -1: -1 ~ -长度
Python中的每一个字符串中的字符,都有一个对应的下标,下标是根据字符在字符串中的位置,从前往后依次增加的

下标有两种标法:

str3='python'  
#   p-->0     y-->1     t-->2    h-->3   0-->4     n-->5 
#   n-->-1    o-->-2    h-->-3   t-->-4  y-->-5    p-->-6
print(str3[2])      #t  
print(str3[-4])     #t   

一个空格算一个字符,一个TAB键(制表符)算一个字符,一个转义字符算一个字符

str4='good good study\n day day up!'
print(str4[-11])
print(str4[17]) 

4.获取字符串中的部分字符(切片)

a.
**语法字符串[起始下标:结束下标]--->获取字符串中起始下标开始,到结束下标前的所有的字符
注意:起始下标对应的字符要在结束下标对应的字符的前面,否者不能取到值
正负下标可以同时

str5='同九年,汝何秀!'
print(str5[1:5])     #九年,汝
print(str5[5:2])     #取不到值
print(str5[5:-1])    #何秀

b.
语法:字符串[下标1:结束下标:步长]-->从起始下标开始获取,每步长获取一个,获取到结束下标前为止。
步长为正:从前往后取,起始下标要在结束下标前面(从起始下标开始获取,每步长获取一个,获取到结束下标前为止。)
步长为负:从后往前取,起始下标要在结束下标后面(从结束始下标开始获取,每步长获取一个,获取到起始下标前为止。)

str6='海贼王、一拳超人、一人之下、进击的巨人'
print(str6[1:10:2])   #贼、拳人一
print(str6[10:0:-1])  #人一、人超拳一、王贼

c.切片时下标可以省略,省略不同的下标有不同的意义
1.省略起始下标:字符串[:结束下标]---->从开头取(注意:这儿的开头可能是第一个字符,也可能是最后一个字符)

str7='阁下何不同风起,扶摇直上九万里'
print(str7[:4])    #阁下何不  
print(str7[:4:-1]) #里万九上直摇扶,起风

2.省略结束下标:字符[起始下标:]---->从开始下标取,取完为止

print(str7[-4:])     #上九万里
print(str7[-4::-1])  #上直摇扶,起风同不何下阁

3.两个下标都省:字符[:]---->全部取完

print(str7[:])      #阁下何不同风起,扶摇直上九万里
print(str7[::-1])   #里万九上直摇扶,起风同不何下阁

4.切片下标可以越界

print(str7[-100:7])      #阁下何不同风起

二、字符串运算符

python中的字符串支持+、*和比较运算符

1.字符串中的+号运算符---->将字符串1和字符串2拼接在一起产生一个新的字符串

str1='玉树临风美少年'
str2='夜不眠揽镜自顾'
str3=','
print(str1+str3+str2)   #玉树临风美少年,夜不眠揽镜自顾
**注意:+号两边要么数字要么字符串,类型要一致

2.*

字符串1*n(整数)---->字符串重复n次,产生一个新的字符串,0就不会打印出来,负数也没有

str4='家有千金,行止由心'
print(str4*2)   #家有千金,行止由心家有千金,行止由心

先算乘法再算加法

print(str1+str2*2)   #玉树临风美少年夜不眠揽镜自顾夜不眠揽镜自顾

3.比较运算符

判断相等

print('abc'=='abc')  #Ture
print('abc'!='ab')   #Ture

比较大小:比较两个字符串中从前往后每个字符串的编码值的大小,直到比出大小
若比出大小,后面的字符串就不比了

print('adfv'>'zab')   #False
print('你好'>'safgd') #Ture
print('a'<='j'<='z')  #Ture

4.in和not in

字符串1 in 字符串2--->判断字符串1是否在字符串2中
结果是布尔值

print('ab' in 'abc')        #Ture
print('ab' not in 'abc')    #False 
print('ab' in 'adbc')       #False   位置也要在相对正确的位置
str7='今天的感觉真好'
print(str7[len(str7)-1])

5.len()函数

len是Python内置函数,功能是用来获取序列号的长度(容器中元素的个数)
len(序列)
字符串的长度就是字符串中字符的个数
print(len('hello'))   #5
print(len('你好吗?我时')

三、格式字符串

格式字符串

字符串的内部,通过格式占位符来表示字符串中变化的部分,然后在后用值来填充变化的部分
语法:带有占位符分字符串 % (给占位符赋值的值)
注意:前面有多少个占位符,后面就要有多少个值
%s ----> 字符串
%d ----> 整数
%f ----> 小数
%.nf ----> 保留小数点后n位小数(五舍六入)
%c ----> 字符

name='李四'
age=18
money=10.567
message='姓名'+name+'年龄'+str(age)+'工资'+str(money)
message='姓名:%s 年龄:%d 工资 %.2f' %(name,age,money)
print(message)
print('%d,%.3f'%(97,97))

五、字符串的內建函数

python内部给我们提供了很多字符串相关的使用方式
使用方法:字符串.方法名(参数)
1.capitalize() : 将字符串的第一个字符转换为大写,返回一个新的字符串
如果第一个字符不是字母,就不转换

str1='love'
str2=str1.capitalize()
print(str2)

2.字符串对齐

a.center(width,fillchar)

b.ljust(width,fillchar)

c.rjust(width,fillchar)

width-->长度,新的字符串的总共的长度 fillchar-->剩下部分填充的字符(字符就是长度是1的字符串)
字符串1.center(m,x)

str3='xxx'
print(str3.ljust(7,'0'))   #xxx0000
num1='789'
print(num1.center(7,'0'))
num='78'
new_str=num.rjust(4,'0')
print('python1807'+new_str)

3.字符串1.count(字符串2):统计字符串1中有多少个字符串2

str1='asfsfsfbimc';str2='fs'
print(str1.count(str2))   #2

4.字符串1.endswith(字符串2)---->判断字符串1是否以字符串2结尾

str1 = 'when i was'
print(str1.endswith('was'))
print(str1.endswith('when'))

5.字符串1.find(字符串2):检测字符串1中是否有字符串2,并返回所在位置的下标

在字符串1中查找字符串2查找并返回从左往右第一个的首位下标,如果没有找到,就返回-1

str1 = 'was when i was young,was i have a dream Z'
print(str1.find('was'))
print(str1.find('wasaa'))
print(str1.find('Z'), len(str1))  

6.isnumeric()

print('1234'.isnumeric())
print('一二五七九'.isnumeric())
print('二百五'.isnumeric())
print('壹萬'.isnumeric())

7.isTitle()

标题化:每个单词首字母大写,其他字母小写

print('The One'.istitle())

8.字符串1.join(字符串2)

str1='aaa'
str2='xyz'
print(str1.join(str2))   #xaaayaaaz

你可能感兴趣的:(2018-09-28 day4-总结)