python字符是什么意思_字符串是什么—Python学习笔记

Python 中有六种标准数据类型:String(字符串)

Number(数字)

List(列表)

Tuple(元组)

Sets(集合)

Dictionary(字典)

今天讲一下字符串。

字符串是什么呢?

书本上说,字符串就是放在引号里面的一系列字符。我觉得用人话不严谨的说,就是标点符号和字母文字组成的那些单词、句子,比如:

‘hello’

‘My favourite number is 23’

但记住一定要用引号引起来,不然就是变量名了对吧。

引号只是告诉 Python,引号中间的内容是字符串而已,引号本身并不会真正显示出来,只有引号中的字符会显示出来。

单引号和双引号都可以,但是必须前后匹配,不能开始用单引号,结束用双引号。 为什么单双引号都可以呢?是为了方便很多特殊情况:比如:

'What's your name?' #这样写是不对的,会报错

上面这句话中有三个单引号,第二个应该被显示出来,但 Python 以为第二个代表字符串结束了,以为第三个单引号代表新的字符串开始,但没找到结束的单引号,所以报错。正确写法是:

"What's your name?"

第一个和第三个双引号匹配,中间的单引号就会被 Python 认为是正常的字符显示出来了。

字符串是可以合并的 比如:

name = 'ZackGuo510' #这是用变量储存了一段字符串

print('Hello ' + name)

Hello ZackGuo510

可以用加号,把多个字符串连成一个。注意 hello 的 o 后面有个空格,否则连接的字符串,Hello 和 ZackGuo510之间就没有空格了。 不过据说这种方法很占内存,不建议使用。

转义字符

在需要在字符中使用特殊字符时,Python用反斜杠()转义字符,比如:

\n 代表换行

name = 'Zack\nGUO\n510'

print(name)

Zack

GUO

510

\加单引号 可以显示单引号,还是刚才那个例子,这样做也行:

print('What\'s your name?')

What's your name?

\t 横向制表符(也叫进格符),相当于按 tab 键的效果,可以产生空格:

name = 'Jack\tRose'

print(name)

Jack Rose

注意,它产生的并不是一个空格,那么用 \t 跟直接按空格键制造空格有什么区别呢?书上没说,我查了好久才找到一个说得清楚的资料,分享一下:《与孩子一起学编程》第21章打印格式化与字符串之水平间隔-制表符|中国少儿编程网​www.kidscode.cn

原始字符串

有时候,你就是想写一个普通的\,并不想把它当做转义字符用,你可以使用“原始字符串”,方法是在第一个引号前面加上一个 r:

print('C:\some\name') #这里的 \n 正好跟换行符一样,于是悲剧了

C:\some

ame

print(r'C:\some\name') #前面加一个r,就不会把 \n 当换行符了

C:\some\name

转义字符还有很多,不再列举。

用 index 拿字符中的一部分

index 就是一个位置顺序、索引,比如:

name = 'zack'

共4个字母,从第1个到第4个依次是z,a,c,k。但是 index 是从0开始数,所以 z 的 index 是0,a 的 index 是1,以此类推。

比如我们只想打印 ac:

name = 'zackguo'

print(name[1:3])

ac

1代表开始的 index,包含这一位,3代表结束的 index,不包含这一位,所以[1:3] 就是取 index 是1和2的字符,也就是 ac。

负数可以表示从后往前数,-1代表最后一个字母,但不包含最后一个字母:

name = 'zackguo'

print(name[1:-1])

ackgu

只填一个 index 就只拿这个字符:

name = 'zackguo'

print(name[2])

c

字符串的方法

方法,也叫函数,是 Python 对数据执行的操作,不同类型的数据,对应有不同的方法。

我用人话翻译翻译,你可以这么想,水果对应的有搅拌机,能把水果变成果汁;纸对应的有粉碎机,把纸变成纸屑。字符串对应的也有很多方法,比如把字符变成大写的等等:

upper() 方法,把字符串变大写:

name = 'jack'

print(name.upper())

JACK

lower() 方法,把字符串变小写:

name = 'JACK'

print(name.lower())

jack

title() 方法,把字符串中每个单词变首字母大写:

name = 'apple pie'

print(name.title())

Apple Pie

strip() 方法,删掉字符前后多余的指定字符,不填的话默认删掉空格(大家知道 strip 这个词的意思吧,还真是贴切呢^_^):

name = ' jack '

print(name.strip())

jack

find() 方法,查找某字符在不在字符串从start到end的范围中,如果存在的话返回index,不存在返回-1。也可以不指定范围,就全文查找。

str1 = "Hello world!"

>>> str1.find('llo')

2

>>> str1.find('llo',3,8)

-1

join(seq) 把字符插入到要连接的元素序列、字符串、元组、字典中,形成一个新的字符串(如果你现在不知道元组、字典是什么没关系,以后会知道的)

list1 = ['a', 'b', 'c']

new_list = "-".join(list1)

print(new_list)

a-b-c

string1 = 'zack'

new_string = ":".join(string1)

print(new_string)

z:a:c:k

count() 方法,统计字符在字符串中出现的次数

a ='hello world'

print(a.count('l'))

3

len() 方法,得到字符创长度。这个不是字符串的内建方法,而是全局方法

name = 'za ck'

print(len(name))

5 #空格也是字符

字符串的方法很多,不一一列举了。

in 和 not in

in 查询某字符在不在字符串中

'z' in 'zack'

True

not in

'w' not in 'word'

False

True 和 False 是布尔值,代表对或错、真或假、有或无

格式化字符串

在字符串中插入变量

.format()

name = 'Jack'

age = 18

print('My name is{}and I am{}'.format(name, age))

'My name is Jack and I am 18'

f-strings 这种方法是 Python 3.6 之后才有的,我在一个英文博客偶然看到的,感觉简洁很多。但是百度居然搜不到,大家都不用吗?有知道的原因求教。

name = 'Jack'

age = 18

print(f'My name is{name}and I am{age}')

'My name is Jack and I am 18'

三引号的作用(单双引号都可以)

1、在三引号中的字符串,可以保留格式,比如直接换行而不比使用 \n

2、作为多行注释

'''大家好,我是注释我是给人看的不是给机器执行的'''

names = """ jackrosetom"""

print(names)

jack

rose

tom

上篇回顾:ZackGuo510:变量是什么 — Python 基础​zhuanlan.zhihu.com

初学笔记难免有谬误,欢迎您指出,感谢。

欢迎关注我的微信号“我想会编程”,微信号“ZackGuo510”。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值