内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

[2018.03.11直播] Python之字符串

2018-03-12 16:55 出处:清屏网 人气: 评论(0

直播地址:

1. 页内观看(仅视频)

2. 完整观看(可发弹幕): Python之字符串

3. Bilibili直播: Python之字符串

20. 字符串(String)

字符串其实是我们最早接触的数据类型,print("Hello, world!")里的 Hello, world! 即以字符串形式存在。

程序说明

Hello, world!

示例代码

print("Hello, world!")

20.1 字符串与引号

字符串类型的值都是包含在单引号或双引号当中的,在 Python中,单双引号的意义完全一致,需要注意的是:

  • 必须成对使用,不能前面 ' 后面 "
  • 必须是西文引号,不能是全角字符

20.2 字符串与列表

字符串与列表很多类似的性质,因为他们都是“序列”,字符串中的“元素”就是一个个字符,包括字母、数字、标点符号以及特殊字符。访问字符串里的某个字符,方法与访问列表元素一样:

name = "Diablo"

# 头文字D
touwenzi = name[0]

与列表一样,字符串的索引是从 0 开始, -1 对应末尾索引,负数索引表示倒数这些性质也是共通的。

Exercise

  • 将字符串变量 string 的第6个字符赋值给 sixth_char
  • 将字符串变量 string 的最后一个字符赋值给 last_char

程序说明

String

示例代码

string = "Excalibur!" # >>>> show me the code <<<< sixth_char = last_char = # >>>> show me the code <<<<

正确答案

sixth_char = string[5] last_char = string[-1]

程序验证过程

sixth_char == 'i' and last_char == '!'

提示信息

string[0] => "E"

20.3 字符串不可变

替换列表中某一元素很容易,只需访问并赋值即可,而相同的操作对于字符串则不可行。字符串值一经生成,就不能再对其中内容进行变更,这与列表截然不同。因此字符串可散列(hashable),可以作为字典的键( key ),而列表则不能。

程序说明

字符串不可变

示例代码

yizhao_list = ["传", "位", "十", "四", "阿", "哥"] yizhao_str = "传位十四阿哥" yizhao_list[2] = "于" print("yizhao_list => ", yizhao_list) yizhao_str[2] = "于" print("yizhao_str => ", yizhao_str)

20.4 字符串与循环

字符串不可变更,如果想达到修改的效果,只能生成一个新的。与列表一样,字符串可以进行循环遍历,迭代的单位是字符。

Exercise

  • 想办法传位于四阿哥
  • 字符串没有 .append() 方法,用加号 + 就可以拼接

程序说明

传位于四阿哥

示例代码

yizhao_str = "传位十四阿哥" # 生成一个新的变量,暂时是空字符串(只有俩引号) new_yizhao_str = '' for i in yizhao_str: # >>>> show me the code <<<< # >>>> show me the code <<<<

正确答案

for i in yizhao_str: if i == "十": i = "于" new_yizhao_str += i

程序验证过程

new_yizhao_str == "传位于四阿哥"

提示信息

对字符串变量进行+=操作

21. 字符串常用函数

21.1 len()

  • 返回字符串长度(即字符个数)
  • 除了汉字、字母,标点符号也算字符
len("Hello, world!")
# 13

21.2 replace()

  • 替换字符串中的相应字符
  • 接收两个参数,分别是原字符与目标字符

程序说明

又传位于四阿哥了

示例代码

yizhao_str = "传位十四阿哥" yizhao_str.replace("十", "于") print(yizhao_str) print(yizhao_str.replace("十", "于"))

Quiz 12: DNA -> RNA

  • 编写函数 dna2rna()
  • 将参数字符串中的 T 全部替换为 U
dna2rna("GACCGCCGCC")
# "GACCGCCGCC"

程序说明

Approach 1

示例代码

def dna2rna(dna): # >>>> show me the code <<<< # >>>> show me the code <<<<

程序验证过程

dna2rna("TTTT") == "UUUU" and dna2rna("GCAT") == "GCAU" and dna2rna("GACCGCCGCC") == "GACCGCCGCC"

21.3 .lower()/.upper()

将英文字符转换为小写/大写

"HHHHH".lower()
# "hhhhh"


"hhhhh".upper()
# "HHHHH"

21.4 .count()

  • 统计字符串中参数字符出现的次数

Quiz 13. 字符统计

  • 编写函数 char_count()
  • 统计参数字符串中所有的字符,并以字典形式输出

程序说明

字符统计

示例代码

def char_count(): # >>>> show me the code <<<< # >>>> show me the code <<<<

正确答案

def char_count(string): return {i:string.count(i) for i in string}

程序验证过程

char_count('aba') == {'a': 2, 'b': 1}

22. ASCII

ord("i")
# 105

chr(105)
# "i"

Quiz 14. 凯撒密表

程序说明

Caesar cipher

示例代码

def caesar_cipher(phrase, shift): input_phrase = phrase.lower() output_phrase = '' # >>>> show me the code <<<< # >>>> show me the code <<<< return output_phrase

程序验证过程

caesar_cipher("alea iacta est", 3) == 'dohd ldfwd hvw'

分享给小伙伴们:
本文标签: Python字符串

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号