欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

=============day 4 字符串·总结============

程序员文章站 2022-03-01 13:09:38
...

-----------------------字符串的内置函数--------------------

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

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

2.字符串对齐
 a.center(width,fillchar)
 b.ljust (width,fillchar)
 c.rjust (width,fillchar)

width --> 长度,新的字符串的总共的长度 fillchar --> 剩下部分填充的字符,字符就是长度是1的字符串

xxx
str2 = 'xxx'
new_str = str2.center(7, '*')   #**xxx**        
print(new_str)

new_str = str2.ljust(7, '0')    #xxx0000         
print(new_str)

new_str = str2.rjust(7, '2')    #2222xxx
print(new_str)

练习:根据进班的顺号产生对应的学号,学号要求:
列如: num = 1 --->
num = 11
new = 'py1807' + str(num).rjust(4, '0')
print(new)
3.字符串1.count(字符串2) ---> 统计字符串1中字符串2的个数
print('abcdabcdaaa'.count('abc'))
print('fufuyfffyufyuf'.count('f'))
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
str1 = 'when i was young, i have a dream Z'
print(str1.find('was'))
print(str1.find('wasaa'))
print(str1.find('Z'), len(str1))
6. isnumeric 只打印数字
print('1234'.isnumeric())       #True
print('贰萬'.isnumeric())        #True
7.istitle
标题化;每个单词首字母大写,其他字母小写
print('Hao Are You'.istitle())     #True
8.字符串1.join(字符串2) --> 将字符串1插入到字符串2每个字符之间,产生一个新的字符串
print('aa'.join('xxz'))          #xaaxaaz

===============认识字符串================

------------------------ 字符串(str)---------------------------

1.什么是字符串
字符串中引号中的字符集,就是1由各种不同的字符来组成的。
python中通过单引号或者引号引起来的字符集就是字符串
--------------------- 'ttgga'
---------------------- '7y66t'
--------------------- '怒要噶神秘'
--------------------- '笑sss'
----------------------'RNG'
2.Unicode编码
python中字符串中字符采用的是Unicode编码
Unicode编码,是通过两个字节来对一个字符进行编码,0 ~ 2^16-1(32768),他几乎包含了世界上所有的符号
ASCII编码;是通过一个字节来对一个字符进行编码
Unicode编码中包含了ASCII表
chr(数字);获取数字在Unicode编码对应的字符,返回的是只有一个字符的字符串
print(chr(97))
print(chr(0x1813))
print(chr(0x1b02))
ord(字符);获取字符对应的Unicode编码
print(ord('余'),ord('婷'))
可以直接在字符串中写对应的编码值,格式;\u四位的十六进制的编码值换行
str1 = '\u4e00\u4e01'
print(str1)

3.转义字符(适用于所有语言)

一些特殊功能和具有特殊意义的字符,直接放在字符串中无效,需要通过\来转义
\n ---> 换行
' ---> '
\t ---> 制表符
\ ---> \
str1 = 'huy\nushs'
print(str1)

==============字符串中的元素==============

1.阻止转义

在字符串中的最前面可以添加r/R来阻止字符串中的转义字符转义
str1 = r'hou are you\n good'
print(str1)
str1 = R'\t你好哇?' 
print(str1)
2.python中可以把字符串看成是一个序列(容器),容器中的内容是字符,
每一个字符可以称为字符串中的元素
字符串是一个不可变的序列(不可变指的是字符串中的每一个字符,以及每个字符的位置不可变)
str2 = 'hello'
3.获取字符串中的单个字符
语法;字符串[下标] ---> 根据下标获取字符串中的字符
说明;a.字符串:可以是字符串的变量,也可以是字符串值
b.[]:固定写法
c.下标: 0~字符串长度-1;-1 ~ -长度
注意;下标不能越界
python中的每个字符串在字符都会对应一个下标。下标是根据字符在字符串中的位置,从前往后一直增加的(第一个值是0)
str3 = 'python'
p->0 y->1 t->2 .....
n->-1 o->-2 h->-3 ...
print(str3[0])     #获取第一个
print(str3[-6])    #获取倒数第6个 

str4 = 'good good strud\n day day up!'
注意;一个空格算一个字符,一个转义字符算一个字符,一个制表符也是算一个字符
print(str4[17])
print(str4[-11])
4.;获取字符串中的部分字符
**语法;字符串[其实下标;结束下标] --> 获取字符串中从起始下标开始,到结束下标前的所有的字符
注意;起始下标对应的字符要在结束下标对应的字符的前面,否取不到值
str5 = '同九年,汝何秀!'
print(str5[1:5])
print(str5[5:-1])
b.
语法;字符串[起始下标;结束下标;步长] --> 从起始下标开始获取,每步长获取一个,获取到结束下标前为止
步长为正;从前往后取(起始下标对应的字符要在结束下标对应的字符的前面,否取不到值)
步长为负;从后往前取(起始下标对应的字符要在结束下标对应的字符的后面,否取不到值)
str6 = '英雄联盟 海绵宝宝'
print(str6[2:7:1])  #联盟 海绵
c.切片时下标可以省略,省略不同的下标有不同的意义
省略起始下标: 字符串[:结束下标]--->从开头开始取(注意;这儿开头可能是第一个字符也可能是最后一个字符)
str7 = '阁下何不同风起,扶摇直上九万里'
print(str7[:4])
print(str7[:4:-1])
# 省略结束下标;字符[起始下标:] ---> 从开始下标取到最后(取完为止)
print(str7[-4:])
print(str7[-4::-1])

#两个下标都省: 字符[:] --->全部取完
print(str7[:])
print(str7[::-1])
print(str6)
str8 = (str7[::-1])

#注意;切片的时候下标可以越界

print(str7[-100:3])

=============字符串运算符================

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

1.字符串的+号运算符
字符串1 + 字符串2 --->将字符串1和字符串2拼接在一起产生一个新的字符串
注意;如果+号两边要么都是数字,要么都是字符串,不能一样一个
str1 = '玉树临风美少年'
str2 = '揽镜自顾夜不眠'
print(str1+str2)
new_str = str1 + '' + str2 + '!'
print(new_str)
print(str1 + ',' + str2)

2.*

字符串1 * 整数 --->字符串1重复n次,产生一个新的字符串
n必须是整数
str3 = '家有千金,行止由心!'
print(str3*3)

str4 = str1 + str3 * 2
print(str4)

3. 比较运算符

判断相等
print('add' == 'add')  
字符串比较大小;比较两个字符串中从前往后每个字符串的编码值的大小,比较到不相同为止

print('zabvvv' > 'zaa')

判断一个字符是否是数字,判断一个字符是否是字母字符
print('=========')
char = 'b'
print('0'<=char<='9')  #判断char是否是数字字符
print('a'<=char<='z' or 'A'<=char<='Z')  #char是否是字母

4.in和not in

字符串1 in 字符串2 ---> 判断字符串1是否在字符串2中(字符串2中是否包含字符串1),结果是布尔值

print('ab' in 'aabc') #True
print('ab' in 'aac') #False

print('ab' not in 'aabc') #False
print('ab' not in 'aac') #True

5.len()函数

len是python内置函数,功能是用来获取序列的长度(容器中元素的个数)

len(序列)

字符串的长度就是字符串中字符串的个数
print(len('hello'))

str5 = 'RNG I like UZI'
print(len(str5))

print(str5[len(str5)-2])  #str5[12]
print(str5[-len(str5)])   #

================格式字符串===============

格式字符串

字符串的内部,通过格式占位符来表示字符串中变化的部分,然后在后面用值来填充变化的部分
语法;带有占位符的字符串 % (给占位符赋值的值)

注意;前面有多少个占位符。后边()中就必须有多少个值,并且值的个数和值的类型要和前面的占位符一一对应

---------------- %s ---> 字符串

-----------------%d ---> 整数

----------------- %f ---> 小数

----------------- %.nf ---> 保留小数点后n位小数(五舍六入)

----------------- %c ----> 字符

name = 'UZI'
age = 24
money = 102289898
#message = '姓名:'+name+' 年龄:'+str(age)
message = '姓名:%s 年龄:%d 年薪:%.2f' % (name, age, money)
print(message)

print('%d:%c' % (97, 97))