3.1 字符串的介绍

字符串:数据使用引号进行包裹,该数据就是字符串。

字符串的表现形式:

  1. 单引号字符串,比如‘abc’
  2. 双引号字符串,比如“abc”
  3. 三个单引号字符串,比如’’’abc’’’
  4. 三个双引号字符串,比如””"abc”””

当字符串中的内容只有一行的时候,可以使用单引号或者双引号,当字符串中的内容有多行时,可以使用三引号字符串

字符串的输入和输出:个人名片

# 接收字符串数据
name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
job = input("请输入您的工作:")

print("------------------------")
print("姓名:%s" % name)
print("年龄:%s" % age)
print("工作:%s" % job)
print("------------------------")

输出结果:

示例

3.1.1 f-string

f-string:用来给字符串动态绑定数据,只能在Python3.6及以上版本才能使用,如果兼容之前的代码可以使用字符串的格式化输出。

语法格式:f “姓名:{‘李四’} 年龄:{20}”
f-strings以字母fF为前缀,格式化字符串使用一对单引号、双引号、三单引号、三双引号。

示例一:

name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
msg = f"姓名:{name}  年龄:{age}"
print(msg)

输出结果:

示例结果

示例二:利用 f-string 实现 4 + 3 = 7。

num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))
result = F'{num1} + {num2} = {num1 + num2}'
print(result)

输出结果:

示例结果

3.1.2 下标

下标:又称为索引,其实就是一个号码或者数字,在python里面下标分为正数下标和负数下标。

学习下标的目的:根据下标获取相对应的数据。

结合下标使用的数据类型有:字符串、列表、元组、range

下标获取指定数据的语法格式:value = 变量[下标]

下标0表示第一个数据,下标-1表示倒数第一个数据。

下标

注意点:下标不能越界。越界:不能超出下标的合法范围。

 my_str = "abcdefg"
 value = my_str[1]
 print(value)     # 结果是:b
 
 value = my_str[-4]
 print(value)     # 结果是:d
 
 value = my_str[3]
 print(value)     # 结果是:d
 
 value = my_str[12]
 print(value)     # 结果报错:IndexError: string index out of range   即下标越界
 
 my_range = range(1, 10, 2)
 for value in my_range:
     print(value)     # 结果是:1、3、5、7、9
 
 result = my_range[2]
 print(result)     # 结果是:5
 
 result = my_range[-1]
 print(result)     # 结果是:9
 
 result = my_range[10]
 print(result)     # 结果报错:IndexError: range object index out of range   即下标越界

3.1.3 切片

切片:其实就是一个下标范围,根据下标范围获取容器类型(字符串、range、列表、元组)中的一部分数据。

语法格式:变量名 [ 开始下标:结束下标:步长 ] 结束下标不包含

目的:利用切片,完成获取字符串中的一部分操作。

切片指定的范围不正确,系统不会崩溃,获取的数据是空的字符串。

示例一:利用切片获取字符串的前三个数据

my_str = "abcdef"

result = my_str[0:3:1]   # 结束下标包含 [0,2]
print(result)     # 结果是:abc

# 步长不指定默认1
result = my_str[0:3]   # 结束下标包含 [0,2]
print(result)     # 结果是:abc

# 简写方式
# 步长不指定默认1,如果步长是正数,开始下标不指定表示从第一个数据开始获取
result = my_str[:3]   # 结束下标包含 [0,2]
print(result)     # 结果是:abc

示例二:利用切片获取字符串的后三个数

my_str = "abcdef"

result = my_str[3:6]
print(result)     # 结果是:def

# 简写方式
# 步长不指定默认1,如果步长是正数,不指定结束下标,表示能够获取到最后一个数据
result = my_str[3:]
print(result)     # 结果是:def

# 步长不指定默认1,如果步长是正数,不指定结束下标,表示能够获取到最后一个数据
result = my_str[-3:]
print(result)     # 结果是:def

示例三:利用切片获取字符串中的整个数据

my_str = "abcdef"

result = my_str[0:6]
print(result)     # 结果是:abcdef

# 步长不指定默认为1,不指定结束下标,表示能够获取到最后一个数据
result = my_str[0:]
print(result)     # 结果是:abcdef

# 简写方式  
# 步长默认是1,不指定开始,表示从第一个数据开始获取,不指定结束下标,表示能够取到最后一个数据
result = my_str[:]
print(result)     # 结果是:abcdef

示例四:利用切片从后向前获取字符串数据

my_str = "abcdef"
# 从后往前取数据,取出fed,步长为负数表示从右边往左边取值
result = my_str[-1:-4:-1]
print(result)     # 结果是:fed

# 如果步长为负数,结束下标不指定,表示能够获取到第一个数据
result = my_str[-1::-1]
print(result)     # 结果是:fedcba

# 字符串反转的简写方式:从倒数第一个数据一直取到正数第一个数据
# 如果步长为负数,开始下标不指定表示从倒数第一个数据开始取值,结束下标不指定表示能够获取到正数第一个数据
result = my_str[::-1]
print(result)     # 结果是:fedcba

示例五:切片不合法,数据取不到,程序不会崩溃

my_str = "abcdef" 
# 切片不合法,数据取不到,程序不会崩溃
result = my_str[5:1:2]
print(result)  # 结果是:空

# 正确写法
result = my_str[5:1:-2]
print(result)  # 结果是:fd

# 没有指定步长,默认1,表示从左到右获取数据
# 步长为正数,开始下标不指定,表示从第一个数据开始获取,结束下标不包含
result = my_str[:-1]
print(result)  # 结果是:abcde

总结:

  1. 如果步长是正数,表示从左往右依次取值。
  2. 如果步长是负数,表示从右往左依次取值。
  3. 索引是通过下标取某一个元素。
  4. 切片是通过下标去某一段元素。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352