字符串

   字符串不可修改

  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()

 结果:

True
True
False
False
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()

 结果:

7
7
-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()函数

 结果:

7
7
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    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-b
runoob
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值