美文网首页
Python基础(09)-容器:字符串

Python基础(09)-容器:字符串

作者: 程序员LesterXu | 来源:发表于2021-04-10 10:14 被阅读0次

字符串介绍

python中字符串的格式
如下定义的变量a,存储的是数字类型的值

a = 100

如下定义的变量b,存储的是字符串类型的值

b = "hello itcast.cn"
或者
b = 'hello itcast.cn'

小总结:

双引号或者单引号中的数据,就是字符串

字符串输出
demo

name = 'itheima'
position = '讲师'
address = '北京市'

print('--------------------------------------------------')
print("姓名:%s" % name)
print("职位:%s" % position)
print("公司地址:%s" % address)
print('--------------------------------------------------')

结果:

--------------------------------------------------
姓名: itheima
职位: 讲师
公司地址: 北京市
--------------------------------------------------

字符串输入
之前在学习input的时候,通过它能够完成从键盘获取数据,然后保存到指定的变量中;

注意:input获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存

demo:

userName = input('请输入用户名:')
print("用户名为:%s" % userName)

password = input('请输入密码:')
print("密码为:%s" % password)

结果:(根据输入的不同结果也不同)

请输入用户名:itheima
用户名为: itheima
请输入密码:haohaoxuexitiantianxiangshang
密码为: haohaoxuexitiantianxiangshang

下标和切片

所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储

  • 生活中的 "下标"

超市储物柜

  • image.png
  • 字符串中"下标"的使用

列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。

如果有字符串:name = 'abcdef',在内存中的实际存储如下:

  • image.png

如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始)

   name = 'abcdef'

   print(name[0])
   print(name[1])
   print(name[2])

运行结果:

a
b
c
  • 切片
    切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[开始位置下标:结束位置下标:步长]
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。步长正负都可以,默认步长为1

我们以字符串为例讲解。
如果取出一部分,则可以在中括号[]中,使用:

name = 'abcdef'
print(name[0:3]) # 取 下标0~2 的字符

运行结果:

  • image.png
name = 'abcdef'

print(name[2:]) # 取 下标为2开始到最后的字符

运行结果:

  • image.png
 >>> a = "abcdef"
 >>> a[:3]     # 从下标0开始取到下标3的前一位结束
 'abc'
 >>> a[::2]    #从头取到尾,但是步长是2,每隔一个字符取
 'ace'
 >>> a[5:1:2]   #从小标5前一位取到下标1前一位,步长是2,每隔一个字符取,不存在这样的
 ''
 >>> a[1:5:2]   #从小标1取到下标5前一位,步长是2,每隔一个字符取
 'bd'
 >>> a[::-2]   #从尾取到头,步长是-2,每隔一个字符取
 'fdb' 
 >>> a[5:1:-2]    #从下标为5取到下标为1的后一位,步长是-2,每隔一个字符取
 'fd'
  • 想一想
    给定一个字符串aStr, 请反转字符串

相关文章

网友评论

      本文标题:Python基础(09)-容器:字符串

      本文链接:https://www.haomeiwen.com/subject/syujjktx.html