python 字符串

符串是 Python 中最常用的数据类型。我们可以使用引号{单引号(' ');或者双引号(" ")}来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。

例如:var1 = 'Hello World'

            var2 = "Runoob"

切片:

可以使用中括号和下标来获取单个字符,或截取字符串: 即 切片

s='今天天气不错,适合外出,走起来'
print(s)   #打印全部
print(s[3])   #打印下标为3的字符  但是规定打印不能包含本身 所以打印下标为2的字符
print(s[:])  #打印全部
print(s[0:9])    #打印下标为0到第8位字符   打印不包含第9位字符,所以打印到第8位
print(s[:4])      #打印开始到第3位   不包含第4位
print(s[4:])     #打印第4位到末尾   开始包含本身
print(s[-9:-1])   #  负数表示从后面往前数   打印从后面往前数第9位包含本身到最后
print(s.__len__())   #打印有多少位字符
print(s[s.__len__()-1])     #打印最后一位字符
print(s[-(s.__len__())])    #打印第一位字符
print(s[::])   #打印全部
print(s[3::])  #  打印 从第三位开始 包含本身 到最后
print(s[:3:])  #  打印从开始到第三位不包含本身  到第二位
print(s[3:6:])  #打印从第三位开始(包含本身) 到第六位 不包含本身  所有到第五位
print(s[1:15:3])   #打印从第一位开始 到第十五位 (不包含第十五位)  后面的数字表示相加 第一位 第二位(1+3)...以此类推

Python字符串运算符,转义字符

\n     换行   
\t      空格
r/R  所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
in    判断存在   如果字符串中包含给定的字符返回  True  不包含则输出  False   
not  in 判断不存在 如果字符串中不包含给定的字符返回 True    包含则输出  False  
s='不迟到,不早退,手\n机静音,电脑\t\t\t静音,哈哈哈'
s=R'不迟到,不早退,手\n机静音,电脑\t\t\t静音,哈哈哈'
print('哈哈' in s)     #  判断哈哈存在里面
print('哈哈' not in s)      #判断哈哈不存在里面

字符串格式化

 %s        格式化字符串

%d        格式化整数

%f    格式化浮点数字,可指定小数点后的精度          %.nf     .n表示指定小数点后面几位

print('%s今晚请%s去吃%s,消费%.2f'%('我','你','烧烤',15))
print('%s天气不错'%'明天')    #  如果里面只有一个%  括号可以省略  用''代替

字符串中的一些函数

1.count()  返回有几个字符    括号中输入字符   显示字符串中包含多少个括号中的字符

cont(,n)   n表示数字  表示从下标第几位开始 查找

#count()  返回有几个字符
s='我是坏蛋,我是坏蛋啊啊啊'
print(s.count('坏蛋'))
print('我是坏蛋,我是坏蛋啊啊啊'.count('坏蛋',5))

2.format()   格式化

print('{}{}岁'.format(s,age))  #空的话,可以直接带入
print('{name}{age}岁'.format(name='明年',age=20))  #有值的时候,需要在后面输入对应的值
print('{0}{1}'.format(s,56))  #0  1  表示对应的位置

3.capitalize()   将字符串的第一个字符转换为大写

4.title()  将字符串所有单词都是以大写开始,其余字母均为小写

print('hello python'.capitalize())
print('hello python'.title())

5.split()  进行分割    括号中输入以什么进行分割用('   ')引起来      ('  ',n)  n表示数字  表示进行几次分割

print('hello,python my name is ok,not in java'.split(' ',3))   #以空格进行分割   分割三次

6.find(str, beg=0 end=len(string))         检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

7.  index(str, beg=0, end=len(string))      跟find()方法一样,只不过如果str不在字符串中会报一个异常.

str='hello,python my name is ok,not in java'
print(str.find('python'))  # 检测python  寻找从什么位置开始寻找下标     出现-1为报错
print(str.index('python'))  #   寻找python从什么下标开始        错了会报异常

8.replace(old, new)         把 将字符串中的old替换成new  不论旧的有多少个都会被改为新的    但原字符串不会被改变

str='hello,python my name is ok,not in java'
print(str.replace('python','java'))    #把python 改为 Java   但是原字符串不会被改变  不论有
str = str.replace('python','java')    #如果这样就会改变原字符串
print(str)    #打印为   hello,Java my name is ok,not in java

9.startswith(str, beg=0,end=len(string))         检查字符串是否是以 obj(目标文件) 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

10.endswith(suffix, beg=0, end=len(string))    检查字符串是否以 obj(目标文件) 结束,是返回 True,   否则返回 False. 如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,

str='hello,python my name is ok,not in java'
print(str.startswith('hello'))   #开头是否是以hello为开头  
print(str.startswith('hello',6,20))  #接数字是表示 在这个区间内检测
print(str.endswith('java'))   #结尾是否是java

11.lower()    转换字符串中所有大写字符为小写.

12.upper()    转换字符串中的小写字母为大写.

str='hello,python my name is ok,not in java'
print(str.lower())  #打印为  hello,python my name is ok,not in java   全部为小写
print(str.upper())  #打印为  HELLO,PYTHON MY NAME IS OK,NOT IN JAVA   全部为大写

13. ljust(width, fillchar)     返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格

14.   rjust(width, fillchar)   返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

15.  center(width, fillchar)    返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

print('hello'.ljust(9,'#'),'python')   #打印为hello#### python
print('hello'.rjust(9,'*'),'python')   #打印为****hello python
print('hello'.center(9,'$'),'python')   #打印为$$hello$$ python

16. lstrip()  删除字符串左边的空格

17.   rstrip()   删除字符串右边的空格.

18. strip()   删除左右俩端的全部空格

print(len('  hello   '))    #10个字符长度
print(len('  hello   '.strip()))  #用len()打印长度  得出 strip 删除全部空格  输出5个字符长度
print(len('  hello   '.rstrip()))  #用len()打印长度  得出 rstrip 删除左边空格  输出7个字符长度
print(len('  hello   '.lstrip()))   #用len()打印长度  得出 lstrip 删除右边空格  输出8个字符长度

19.partition()  用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

str='hello python my name is ok,not in java'
print(str.partition('my'))    # 以'my'  进行分割   打印为('hello python ', 'my', ' name is ok,not in java')  为元组
20. splitlines([keepends])    按照换行符('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符
str='hello python\n my name is ok\nnot in java'
print(str.splitlines())   #打印为['hello python', ' my name is ok', 'not in java']
print(str.splitlines(True))   #打印为['hello python\n', ' my name is ok\n', 'not in java']
print(str.splitlines(False))   #打印为['hello python', ' my name is ok', 'not in java']

21.isalnum()   如果字符串所有字符都是字母/数字/(不包括  非特殊字符(符号))   是为 True    不是为False

str = '123,走起来'
strs = '456fish'
print(str.isalnum())   #打印为 False
print(strs.isalnum())   #打印为  True

22.isalpha()    如果字符串所有字符都是字母则 True, 否则返回 False

str = '123,走起来'
strs = 'helloworld'
print(str.isalpha())   #打印为 False
print(strs.isalpha())  #打印为   True

23.isdigit()      如果字符串只包含数字则返回 True 否则返回 False..

str = '123,走起来'
strs = '132456789'
print(str.isdigit())   #打印为 False
print(strs.isdigit())  #打印为   True

24.join(seq)    将列表组成新的字符串

list=['你好','我好','大家好']
str = '-__-'
print(str.join(list))   #打印为    你好-__-我好-__-大家好




猜你喜欢

转载自blog.csdn.net/hao_python/article/details/80190418