Python字符串详解(一)

字符串是Python中最常用的数据类型之一,使用单引号或双引号来创建字符串,使用三引号创建多行字符串。字符串要么使用两个单引号,要么两个双引号,不能一单一双!Python不支持单字符类型,单字符在Python中也是作为一个字符串使用。

字符串是不可变的序列数据类型,不能直接修改字符串本身,和数字类型一样!Python3全面支持Unicode编码,所有的字符串都是Unicode字符串,所以传统Python2存在的编码问题不再困扰我们,可以放心大胆的使用中文。

>>> var1 = 'Hello World!'
>>> var2 = "Jack"
>>> var3 = ""                   # 空字符串
>>> var4 = "it's apple"         # 双引号中可以嵌套单引号
>>> var5 = 'This is "PLANE"!'   # 单引号中可以嵌套双引号
>>> var6 = 'what is 'your'name'
SyntaxError: invalid syntax

但是单引号嵌套单引号或者双引号嵌套双引号就会出现歧义。

>>> a = "haha"
>>> b = a
>>> a = "xixi"
>>> a is b
False
>>> a[1] = "z"
Traceback (most recent call last):
  File "<pyshell#70>", line 1, in <module>
    a[1] = "z"
TypeError: 'str' object does not support item assignment

虽然字符串本身不可变,但可以像列表序列一样,通过方括号加下标的方式,访问或者获取它的子串,当然也包括切片操作。这一切都不会修改字符串本身,当然也符合字符串不可变的原则。

>>> s = "hello world!"
>>> s[4]
'o'
>>> s[2:6]
'llo '
>>> s
'hello world!'

“多行字符串”
前面我们介绍过,在函数和类的紧后面可以用三引号添加doc说明。

在字符串中,可以使用三引号(三单或三双引号都可以)编写跨行字符串,在其中可以包含换行符、制表符以及其他特殊字符。例如:

errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
----------------------------------
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8), 
uid INTEGER,
prid INTEGER)
''')

上面的errHTML是一个封装了HTML代码的字符串,而cursor.execute则执行了一个创建users表的SQL语句。多行字符串本质上和普通字符串没有区别,但是将我们从引号和特殊字符串的泥潭里面解脱出来了,在编写、排版、查看、维护上更人性化。
字符串是Python中和列表、字典同样重要的数据类型,对它的操作特别多,因此内置了很多方法。每当你要处理字符串的时候,不妨来这里查查,或许就有原生的方法,不用你自己去写了。

对字符串的操作方法那么多,是不是需要每个都背下来呢?能背最好,背不了的话至少需要知道下面几个:

* encode() # 编码成bytes类型

* find() # 查找子串

* index() # 获取下标

* replace() # 替换子串

* len(string) # 返回字符串长度,Python内置方法,非字符串方法。

* lower() # 小写字符

* upper() # 大写字符

* split() # 分割字符串

* strip() # 去除两端的指定符号

* startswith() # 字符串是否以xxx开头

* endswith() # 字符串是否以xxx结尾

至此,特别推荐两套Python基础实力好课,由中公教育IT研究院倾力打造,结合一线大厂实践经验,打磨了两套Python在线基础课。3天挑战Python零基础入门,培养你的Python编程实战能力。

课程详情请点击下方文字链接↓↓↓

小白学Python数据分析3天集训营

Python项目实战:爬虫+数据分析+AI人工智能(深度学习/机器学习)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值