最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Python3萌新入门笔记(3)

Python教程 小楼一夜听春语 45133浏览 0评论

这一节,我们来学习一些对字符串的操作。

1、连接字符串

我们在PyCharm的编辑区中分别创建三个变量,并存入相应的值。

userName = '小楼'
attribute = '身高'
value = '182CM'

接下来,我们使用print()函数进行显示输出。

print(userName + attribute + value)

运行代码之后,显示的结果为:

除了加号这种连接方法之外,如果只是两段字符,大家还可以尝试下面这种方法。

str1 = '5月'
str2 = '21日'
str1 += str2
print(str1)

运行代码之后,显示的结果为:

上方代码中【str1 += str2】等同于【str1 = str1 + str2】。

其实,不仅仅字符串可以进行这样的运算,数字也可以。

例如:

num = 5
num += 1
print(num)

运行代码之后,显示的结果为:

上方代码中【num += 1】等同于【num = num + 1】。

2、获取字符串长度(字节数量)。

获取字符串长度的方法是:len()

例如,我们想知道“小楼是一个很帅的帅哥!”这句话一共多少个字节。

我们可以把这句话作为len函数的参数进行计算,然后保存到变量“l”中。

示例代码:

l = len('小楼是一个很帅的帅哥!')
print (l)

运行代码之后,显示的结果为:

注意,当我们对中文进行编码,采用“UTF-8”编码类型时,一个汉字的字节数量是3。

示例代码:

l = len('小楼是一个很帅的帅哥!'.encode('UTF-8'))
print (l)

运行代码之后,显示的结果为:

另外,如果对中文进行编码,采用“GBK”编码类型时,一个汉字的字节数量是2。

3、截取字符串

如果,我们需要对一个字符串进行截取,我们可以对字符串进行切片。

切片操作是将字符串赋值到一个变量,然后通过输入截取的起始位置、终止位置以及方向与间隔,对字符串进行不同方式的截取。

例如:

str[3:9:2]

这段代码表示对“str”这个变量中的字符串进行切片操作,“3”表示切片的起始位置为第4个字符(字符串中字符的索引位置从0开始),“9”表示切片的终止位置(终止位置不会被截取),“2”表示从左向右每隔1位进行截取(负数表示从右至左截取)。

接下来,为大家展示更详尽的切片操作。

我们为变量“str”赋值一个字符串“123456789”,然后切片操作的代码如下:

str = '123456789'

print (str[:]) # 截取全部字符
print (str[2]) # 截取第3位字符
print (str[:3]) # 截取第1位到第4位之前的字符
print (str[2:5]) # 截取第3位到第6位之前的字符
print (str[5:]) # 截取第6个字符到末尾的字符
print (str[5::3]) # 从第6个字符开始每隔2个字符截取到末尾的字符
print (str[-1]) # 截取倒数第一个字符
print (str[:-3]) # 截取第1位到倒数第3位之前的字符
print (str[-3:-1]) # 截取倒数第3位到倒数第1位之前的字符
print (str[-3:]) # 截取倒数第3位到末尾的字符
print (str[::-1]) # 倒序截取全部字符
print (str[::-2]) # 倒序从倒数第1位开始每间隔1个字符截取字符
print (str[5::-1]) # 倒序截取第6位到开始的字符
print (str[5:2:-1]) # 倒序截取第6位到第3位之后的字符
print (str[:-6:-1]) # 倒序截取末尾到倒数第6位之后的字符
print (str[-1:-6:-1]) # 倒序截取末尾到倒数第6位之后的字符
print (str[-2:-8:-2]) # 倒序从倒数第2位开始间隔1位截取到倒数第8位之后的字符

提示:上方代码中“#”为单行注释标记符号,该符号右侧为注释内容,不会被程序执行。

运行代码之后,显示的结果为:

通过代码中的中文注释内容与运行结果进行对比,大家就能够理解切片操作的规则。

本节教程是字符串操作的一部分,在下一节教程中将继续讲解关于字符串的相关操作。

本节知识点:

1、连接字符串;

2、获取字符串长度(字节数量);

3、截取字符串。

本节英文单词与中文释义:

1、user:用户

2、name:姓名/名称

3、attribute:字段/属性

4、value:值

练习:

1、截取身份证号码“110421198403162021”中出生日期(第7位至第14位)的部分。

2、获取字符串“8A7B6C5D4E3F2G1”中所有小于7的奇数,并按从小到大的顺序显示。

答案:(见评论1楼)

转载请注明:魔力Python » Python3萌新入门笔记(3)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (11)

  1. 小楼一夜听春语
    第一题:
    id = '110421198403162021'
    print (id[6:14])
    

    第二题:
    s = '8A7B6C5D4E3F2G1'
    print (s[:-10:-4])
    
    小楼一夜听春语7年前 (2017-07-04)回复
    • 头像
      楼主,您好,有个疑问 str[3:9:2] 中第9位数,不会被截取吗(终止位置不会被截取) 但 print (id[6:14]) 中怎么好像截取了第14位(终止位置)数的啊?
      走过路过6年前 (2018-08-15)回复
    • 头像
      对不起,不好意思,我知道咋回事了 :mrgreen:
      走过路过6年前 (2018-08-15)回复
  2. 头像
    已阅 :mrgreen:
    走路爱走神7年前 (2018-05-24)回复
  3. 头像
    已阅
    胖胖6年前 (2018-07-26)回复
  4. 头像
    请问这样写算正确么? s = '8A7B6C5D4E3F2G1' print(s[-1:-13:-4]) 结果:135
    jcl6年前 (2018-10-25)回复
  5. 头像
    谢谢分享
    xiaokeai6年前 (2019-02-18)回复
  6. 头像
    print (str[-2:-8:-2]) # 倒序从倒数第2位开始间隔1位截取到倒数第8位之后的字符 是不是寫錯了,個人理解應該是 # 倒序从倒数第2位开始间隔1位截取到倒数第8位之 前 的字符
    小白5年前 (2019-07-22)回复
  7. 头像
    第二題 b ="8A7B6C5D4E3F2G1" print(b[-1:-14:-2])
    小白5年前 (2019-07-22)回复
  8. 头像
    第二题: s = '8A7B6C5D4E3F2G1' print (s[:-12:-2])
    冰糖葫芦5年前 (2019-10-22)回复
  9. 头像
    楼主,你第二题这个写法是倒序从倒数第10位之后每间隔4位截取字符刚好截取到奇数,如果字符是乱序无规律的,如何截取偶数和奇数???
    ZK5Veck4年前 (2020-12-17)回复