博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串
阅读量:5239 次
发布时间:2019-06-14

本文共 4301 字,大约阅读时间需要 14 分钟。

创建字符串:

可以用单引号,也可以用双引号创建字符串

var1=‘hello,world’var2="hello,world"

字符串的操作:

 

1.乘法运算:

print('hello world'*2) #输出结果为hello worldhello world

 

2.判断字符串中是否存在给定字符

print('an' in 'animal')    #输出‘True’print('s' in 'animal')    #输出‘False’

列表,元组的操作都是这样

 

3.[ ],[ : ]通过索引获取字符串中的字符

a='animal'print(a[2:])    #输出‘imal’

和列表的切片操作相同

 

4.字符串的拼接

(1)用‘+’

 a='123'   b='abc'  c=a+b print(c)    #输出123abc

 

(2)用join()方法 

a='abc'b='123'c=''.join([a,b])print(c)    #输出abc123
a='abc'b='123'c='xyz'd='--'.join([a,b,c])print(d)    #输出abc--123--xyz

用引号之间的字符串将断裂的字符串拼接  

 

5.字符串的其他方法

st='hello kitty'print(st.count('l'))#输出‘2’,统计给定字符串的数量print(st.capitalize())#输出‘Hello kitty’,整个字符串的首字母大写print(st.center(20,'-'))#输出'-----hello kitty-----',居中字符串print(st.endswith('ty'))#输出True,判断是否以给定字符串结尾print(st.startswith('he'))#输出True,判断是否以给定字符串开头st1='he\tllo world'print(st1.expandtabs(tabsize=10))#输出'he          llo world'print(st.find('s'))#查找到第一个指定字符串,并将索引值返回,若没找到,则返回-1  #可以指定查找的起始值和结束值,默认为0和len(string)   #如:print(st.find('s',2,10)),表示在索引值为2和10的范围内查找子字符串 st2='you are {adj1} and {adj2}'print(st2.format(adj1='beautiful',adj2='tall'))#格式化输出的另一种方式print(st2.format_map({
'adj1':'beautiful','adj2':'tall'}))#format()方法的字典形式print(st.index('h'))#输出给定字符串的索引值print('abc123!'.isalnum())#判断是否是数字或者字母

 

print('123'.isdecimal())print('123'.isdigit())print('123'.isnumeric())

 

三个方法的区别: isdigit() True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 False: 汉字数字 Error: 无 isdecimal() True: Unicode数字,,全角数字(双字节) False: 罗马数字,汉字数字 Error: byte数字(单字节) isnumeric() True: Unicode数字,全角数字(双字节),罗马数字,汉字数字 False: 无 Error: byte数字(单字节)
print('abc'.isidentifier())#判断字符串是否是字母开头print('abc'.islower())#判断是否为全部小写print('abc'.isupper())#判断是否为全部大写print(' '.isspace())#判断是否为空格print('My Name Is Chen'.istitle())#判断是否是每个单词的首字母大写print('My Name Is Chen'.lower())#将字符串的所有字母小写print('My Name Is Chen'.upper())#将字符串的所有字母大写print('My Name Is Chen'.swapcase())#将字符串大写的字母小写,小写的字母大写print(st.ljust(50,'*'))#输出hello kitty***************************************print(st.rjust(50,'*'))#输出***************************************hello kittyprint('   my name is  \n'.strip())#删除头尾所有的空格,换行符,也可以指定参数,删除头尾指定的符号,这是就不会删除空格和换行符   #print('--my name is-- '.strip('-')),输出为'my name is--' print('   my name is  \n'.lstrip())#只删除字符串左边的空格和换行符print('   my name is  \n'.rstrip())#只删除字符串右边的空格和换行符print('my name is is'.replace('is','are',1))#字符串替换,第三个参数为替换的个数print('my name is'.rfind('e'))#从右边开始寻找给定字符,并返回索引print('my name is'.split(' '))#以空格分割字符串,也可以是以其他字符分割字符串print('my name is'.title())#以所有单词首字母大写的形式输出字符串

常用方法有:

count()

center()

startswith()

find()

format()

lower()

upper()

strip()

replace()

split()

 字符串格式化: 字符串格式化用操作符百分号(%)实现 如: >>> print('hello,%s'%'world') hello,world >>> print('我今年%s岁了'%10) 我今年10岁了 格式化字符串的%s部分称为转换说明符,标记了需要仿制转换值得位置,通用术语为占位符

%s    字符串 (采用str()的显示)

 

%r    字符串 (采用repr()的显示)

 

%c    单个字符

 

%b    二进制整数

 

%d    十进制整数

 

%i    十进制整数

 

%o    八进制整数

 

%x    十六进制整数

 

%e    指数 (基底写为e)

 

%E    指数 (基底写为E)

 

%f    浮点数

 

%F    浮点数,与上相同

 

%g    指数(e)或浮点数 (根据显示长度)

 

%G    指数(E)或浮点数 (根据显示长度)

指定精度的格式为一个英文格式下的句点加上希望保留的小数位数,如: print('圆周率为:%.2f'%3.141592) >>>圆周率为:3.14 如果要输出百分号:(可以用%%表示) print('营业额同比增长了%.2f%%'%50.33333) >>>营业额同比增长了50.33% 基本转换说明符的组成部分: (1)%字符,标记转换说明符开始 (2)转换标志(可选),-表示左对齐;+表示在转换值之前一定要加上正负号;“”(空格)表示正数之前保留空格;0表示转换值位数不够时用0填充 (3)最小字段宽度(可选),转换后的字符串至少应该具有该值指定的宽度,如果时*,宽度就会从值元组中读出 (4)点(.)后跟精度值(可选):如果转换的是实数,精度值表示出现在小数点后的位数;如果转换的是字符串,该数字就表示最大字段宽度;如果是*,精度就会从元组中读出 (5)转换类型:如s,f,d之类 字段宽度和精度: >>> print('圆周率PI为:%10f'%3.141593) 圆周率PI为:  3.141593 >>> print('保留两位小数,圆周率PI为:%10.2f'%3.141593) 保留两位小数,圆周率PI为:      3.14 >>> print('保留两位小数,圆周率PI为:%.2f'%3.141593) 保留两位小数,圆周率PI为:3.14 >>> print('字符串精度获取:%.5s'%'hello,world') 字符串精度获取:hello 再看以下代码:  >>> print('从元组中获取字符串精度:%*.*s'%(10,5,'hello,world'))  从元组中获取字符串精度:     hello  >>> print('从元组中获取字符串精度:%.*s'%(5,'hello,world'))  从元组中获取字符串精度:hello 从结果看到,可以使用*(星号)作为字段宽度或精度(或两者都用*),数值会从元组中读取 符号,对齐和0填充 先看一个例子: print('圆周率PI的值为:%010.2f'%3.141593) >>>圆周率PI的值为:0000003.14   这样的输出结果,我们称之为“标表”,在字段宽度之前可以仿制一个“标表”,可以是零,加号,减号,空格。零表示用0 进行填充 减号(-)表示用来左对齐,如: 从元组中获取字符串精度:hello >>> print('圆周率PI的值为:%10.2f'%3.141593) 圆周率PI的值为:      3.14 >>> print('圆周率PI的值为:%-10.2f'%3.141593) 圆周率PI的值为:3.14     #此处右边为多出的空格 空格表示在正数前加上空格 >>> print('%d'%10+'\n'+'%d'%-10) 10 -10 >>> print('% d'%10+'\n'+'%d'%-10)  10 -10 由结果可知,该操作可以对齐正负数 加号(+)表示无论正负数都表示出符号: >>> print(('宽度前加加号:%+5d'%10)+'\n'+('宽度前加加号:%+5d'%-10)) 宽度前加加号:  +10 宽度前加加号:  -10

转载于:https://www.cnblogs.com/cjluchen/p/8456488.html

你可能感兴趣的文章
12.4站立会议
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
客户端访问浏览器的流程
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>
python-三级菜单和购物车程序
查看>>
条件断点 符号断点
查看>>
VMware12 + Ubuntu16.04 虚拟磁盘扩容
查看>>
水平垂直居中
查看>>
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
python的多行注释
查看>>