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

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

   字符串不可修改

  1.   访问字符串中的值

   可以使用方括号来截取字符串;

   也可以使用for循环(enumerate可以截取序号)

   2.    字符串更新

   对已经存在的字符串修改,并赋值给另外一个变量

   3.   转义字符

  

 

   4.   字符串运算符

   变量a为“Hello”,b为“python”

操作符 描述 实例 说明

+

字符串链接

a+b输出结果为:

Hellopython

 
* 重复输出字符串 a*2结果为HelloHello  
[] 索引获取字符串中字符    
[:] 截取字符串一部分,切片  

[x1:x2],如果x2是个数值,则x1是从0开始计算,取值不取x2上的;

全部取值可以用[:];到最后一个(但不取最后一个)可以用[:-1]

in   成员运算符 H in a 结果为True  
not in      
% 格式化输出字符串    

   5.    字符串格式化

  

1 print("My name is %s,and age is %s!"%('NBA',32))

 

   另外一个种格式化输出方式:format()函数:

字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;

使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等;

还可以添加特定的字母, 如:

'b' - 二进制. 将数字以2为基数进行输出.

'c' - 字符. 在打印之前将整数转换成对应的Unicode字符串.

'd' - 十进制整数. 将数字以10为基数进行输出.

'o' - 八进制. 将数字以8为基数进行输出. 

'x' - 十六进制. 将数字以16为基数进行输出, 9以上的位数用小写字母.

'e' - 幂符号. 用科学计数法打印数字, 用'e'表示幂. 

'g' - 一般格式. 将数值以fixed-point格式输出. 当数值特别大的时候, 用幂形式打印. 

'n' - 数字. 当值为整数时和'd'相同, 值为浮点数时和'g'相同. 不同的是它会根据区域设置插入数字分隔符. 

'%' - 百分数. 将数值乘以100然后以fixed-point('f')格式打印, 值后面会有一个百分号. 

1 age = 25  2 name = 'Caroline'  3 print('{0} is {1} years old. '.format(name, age))  #输出参数  4 print('{0} is a girl. '.format(name))  5 print('{0:.3} is a decimal. '.format(1/3)) #小数点后三位  6 print('{0:_^11} is a 11 length. '.format(name)) #使用_补齐空位  7 print('{first} is as {second}. '.format(first=name, second='Wendy')) #别名替换  8 print('My name is {0.name}'.format(open('out.txt', 'w'))) #调用方法  9 print('My name is {0:8}.'.format('Fred')) #指定宽度
format

 

其输出结果为:

Caroline is 25 years old.   Caroline is a girl.   0.333 is a decimal.   _Caroline__ is a 11 length.   Caroline is as Wendy.   My name is out.txt  My name is Fred    .
format输出结果

 

  6.   字符串常用内建函数

序号 格式 描述 实例
1
str.capitalize()
返回一个首字母大写的字符串。
str = "this " print(str.capitalize()) 结果: This
2  
str.center(width[, fillchar])
 一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。  
3  
str.count(sub, start= 0,end=len(string))
  • sub -- 搜索的子字符串
  • start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
  • end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
 返回子字符串在字符串中出现的次数  
4  
str.endswith(suffix[, start[, end]])
  • suffix -- 该参数可以是一个字符串或者是一个元素。
  • start -- 字符串中的开始位置。
  • end -- 字符中结束位置。
 如果字符串含有指定的后缀返回True,否则返回False
1 Str='Runoob example....wow!!!'2 suffix='!!'3 print (Str.endswith(suffix))4 print (Str.endswith(suffix,20))5 suffix='run'6 print (Str.endswith(suffix))7 print (Str.endswith(suffix, 0, 19))
endswith()

 结果:

TrueTrueFalseFalse
View Code

 

 
5  
str.find(str, beg=0, end=len(string))
  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。
 如果包含子字符串返回开始的索引值,否则返回-1  
str1 = "Runoob example....wow!!!"str2 = "exam"; print (str1.find(str2))print (str1.find(str2, 5))print (str1.find(str2, 10))
find()

 结果:

77-1
View Code

 

6  
str.index(str, beg=0, end=len(string))
  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

 如果包含子字符串返回开始的索引值,否则抛出异常

跟find()方法一样,只不过如果str不在字符串中会报一个异常.

 
str1 = "Runoob example....wow!!!"str2 = "exam";print (str1.index(str2))print (str1.index(str2, 5))print (str1.index(str2, 10))
index()函数

 结果:

77Traceback (most recent call last):  File "test.py", line 8, in 
print (str1.index(str2, 10))ValueError: substring not found
View Code

 

7  
str.join(sequence) sequence -- 要连接的元素序列
 返回通过指定字符连接序列中元素后生成的新字符串  
s1 = "-"s2 = ""seq = ("r", "u", "n", "o", "o", "b") # 字符串序列print (s1.join( seq ))print (s2.join( seq ))
jion

 结果:

r-u-n-o-o-brunoob
View Code

 

8  
len( str )
 返回对象长度  
9
str.ljust(width[, fillchar])
  • width -- 指定字符串长度。
  • fillchar -- 填充字符,默认为空格。
 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格  
str = "Runoob example....wow!!!"print (str.ljust(50, '*'))
ljion

 结果:

Runoob example....wow!!!**************************
View Code

 

10  
str.lower()
 Python lower() 方法转换字符串中所有大写字符为小写。  
str = "Runoob EXAMPLE....WOW!!!"print( str.lower() )
lower

 结果:

runoob example....wow!!!
View Code

 

 11  
str.split(str="", num=string.count(str))
  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。
 
 split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串  
str = "this is string example....wow!!!"print (str.split( ))print (str.split('i',1))print (str.split('w'))
split()

 结果:

['this', 'is', 'string', 'example....wow!!!']['th', 's is string example....wow!!!']['this is string example....', 'o', '!!!']
View Code

 

12   
str.strip([chars]) chars -- 移除字符串头尾指定的字符
 用于移除字符串头尾指定的字符(默认为空格)  
str = "*****this is string example....wow!!!*****"print (str.strip( '*' ))
strip

 结果:

this is string example....wow!!!
View Code

 

 13  
str.upper()
 返回小写字母转为大写字母的字符串。  同lower()

  

转载于:https://www.cnblogs.com/BaiStone/p/7232185.html

你可能感兴趣的文章
贪心思维 专题记录 2017-7-21
查看>>
vue-router 跳转原理
查看>>
strncpy函数使用
查看>>
(一)SOA学习-相关缩写
查看>>
Apache ab 压力测试工具
查看>>
美丽的数学家:如果您讨厌数学,这些其实都是人生故事
查看>>
noi.ac NOIP2018 全国热身赛 第四场 T1 tree
查看>>
(转)linux下vi编辑器编写C语言的配置
查看>>
多线程基础知识 转
查看>>
MyBatis generator 使用方式 小结
查看>>
Android小项目之五 splash动画效果
查看>>
JavaScript 第十章总结:first class functions
查看>>
微信公众号发送客服消息【文本、图片】
查看>>
iText简介(转)
查看>>
vue搭建后可以改下全局配置
查看>>
【Docker】Segmentation Fault or Critical Error encountered. Dumping core and abort
查看>>
字典树从第i个构造HDU2846
查看>>
SQL优化笔记(二)—CPU优化
查看>>
bzoj 1042 HAOI2008 硬币购物
查看>>
JS 心得总结
查看>>