首页 > 编程语言 > 详细

Python字符串

时间:2021-02-22 08:08:51      阅读:22      评论:0      收藏:0      [点我收藏+]

python字符串


知识点回顾

  • Python 中数据类型可以分为 数字型 和 非数字型

  • 数字型

    • 整型 (int)
    • 浮点型(float
    • 布尔型(bool
      • 真 True 非 0 数 —— 非零即真
      • 假 False 0
    • 复数型 (complex)
      • 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
  • 非数字型

    • 字符串
    • 列表
    • 元组
    • 字典
  • 在 Python 中,所有 非数字型变量 都支持以下特点:
        1.都是一个 序列 sequence,也可以理解为 容器
        2.取值 []
        3.遍历 for in
        4.计算长度最大/最小值比较删除
        5.链接 + 和 重复 *
        6.切片


Python3 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号( ‘ 或 " )来创建字符串。

var1 = ‘Hello World!‘  
var2 = "Hello"
var3 = ‘‘  #空字符串

访问字符串中的值

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

Python 访问子字符串,可以使用方括号 [] 来截取字符串。

字符串名[索引头:索引尾:步长]  #步长默认为1

索引值以 0 为开始值,-1 为从末尾的开始位置。

技术分享图片

  • 字符串取值:字符串名[索引值]
s = ‘hello!‘
print("s[0]",s[0])  #h
  • 字符串取多个值(切片): 字符串名[索引头:索引尾:步长]
s = ‘hello!‘
print(s[1:5:1]) # 1 2 3 4 #取头不取尾 ello
print(s[:]) #全取 hello!

小题目:请利用切片,倒序输出s的值,输出结果为!olleh

s = ‘hello!‘
print(s[-1:-7:-1])
print(s[::-1])

Python转义字符

在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。

 \n   换行 
 \r   回车
 \\   反斜杠符号
 \t   横向制表符
 \v   纵向制表符

字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

操作符 描述 实例
+ 字符串连接 a+b输出结果:HelloPython
* 重复输出字符串 a*2输出结果: HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[:] 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True ‘H‘ in a 输出结果 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M‘ not in a 输出结果 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print( r‘\n‘ ) print( R‘\n‘ )
% 格式字符串 下节讲到
a = "Hello"  
b = "Python" 

print("a + b 输出结果:", a + b)   # HelloPython
print("a * 2 输出结果:", a * 2)   # HelloHello
print("a[1] 输出结果:", a[1])     # e
print("a[1:4] 输出结果:", a[1:4]) # ell

if("H"  in  a) : 
	print("H 在变量 a 中")     # H 在变量 a 中
else : 
	print("H 不在变量 a 中") 

if("M"  not  in  a) : 
	print("M 不在变量 a 中")   # "M 不在变量 a 中
else : 
	print("M 在变量 a 中")

print  (r‘\n‘)      # \n
print  (R‘\n‘)      # \n

Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

#!/usr/bin/python3  
para_str = """这是一个多行字符串的实例 
多行字符串可以使用制表符 TAB ( \t )。 
也可以使用换行符 [ \n ]。 """  
print  (para_str)

以上实例执行结果为:

这是一个多行字符串的实例  
多行字符串可以使用制表符 TAB (  )。  
也可以使用换行符  [  
]。

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

字符串格式化

Python 支持格式化字符串的输出 。

  • % %s字符串 %d数字 %f浮点数
print  ("我叫 %s 今年 %d 岁!" % (‘小明‘, 10))
#%s可以填任何数字
#%d 只能填数字 整型 浮点数
#%f 可以填数字 (%.2f 小数点后保留2位)
  • 字符串格式化输出 % format
age = 18
name = ‘怪兽‘
score = 99.99
#格式化输出1:format 特点 {} 用"{}"来占坑
print("很帅的{},今年{}岁!".format(name,age))
print("很帅的{0},今年{1}岁!".format(name,age)) #0 1可不写,根据索引来
  • f-string
    f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。
  print(f"4很帅的{name},今年{age}岁!")
  #用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。
  print( f‘{1+2}‘) # 3

在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:

技术分享图片

Unicode 字符串

在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u

在Python3中,所有的字符串都是Unicode字符串。


字符串操作

字符串操作(字符串常用内建函数)

  • len(数据)统计数据的长度print(len(s))

  • 字符串取值:字符串名[索引值]

  • 字符串取多个值:切片 字符串名[索引头:索引尾:步长] 步长默认为1

  • 字符串的替换 字符串.replace(指定替换值,新值,替换次数)

  • 字符串的去除指定字符 字符串.strip(指定替换值)

  • 字符串的拼接 + 保证"+"左右两边的变量值类型要一致

  • str(数字)---可以强制转化为str类型

字符串的分割

字符串.split(可以指定切割符,切割次数)
  • 只有字符串有这个函数
  • 返回一个列表类型的函数(列表里的子元素都是字符串类型)
  • 指定的切割符 被切走

eg:

s = ‘ hello!‘
print(s.split())  #[‘hello!‘]
print(s.split(" ")) #根据空格进行切割 #[‘‘,‘hello!‘]
print(s.split("e"))  #[‘ h‘, ‘llo!‘]
print(s.split("l"))  #[‘ he‘, ‘‘, ‘o!‘]
#可以指定切割次数
print(s.split("l",1))  #[‘ he‘, ‘lo!‘]

字符串的替换

字符串.replace(指定替换值,新值,替换次数)

eg:

s = ‘hello!‘
new = s.replace(‘l‘,‘@‘,2)  #可指定替换次数
print(new) # he@@o!

字符串的去除指定字符

字符串.strip(指定替换值)

eg:

s = ‘ hello!‘
# 1:默认去掉空格 
# 2:只能去掉头和尾的字符
print(len(s))  #7
new = s.strip()
print(len(new)) #6

new = s.strip("!")
print(new) # ‘ hello‘

字符串的拼接

 +    保证"+"左右两边的变量值类型要一致

eg:

s1 = ‘python01‘
s2 = ‘新年快乐‘
s3 = 666 #整数 str(数字)---可以强制转化为str类型
print(s1+s2)  #拼接:  python01新年快乐
print(s1,s2)  #分别输出: python01 新年快乐
print(s1,s2,s3) 
# print(s1+s2+s3) #ypeError: must be str, not int 数据类型不一致
print(s1+s2+str(s3))  #python01新年快乐666

Python字符串

原文:https://www.cnblogs.com/to-monster/p/14428085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!