目录
一、字符串的创建和赋值
字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。
第一种方式:
str1 = ‘our company is westos’
第二种方式:
str2 = “our company is westos”
第三种方式:
二、字符串的基本特性
1.连接操作符与重复操作符
连接操作符: 从原有字符串获得一个新的字符串
重复操作符: 创建一个包含了原有字符串的多个拷贝的新串
2. 成员操作符
判断一个字符或者一个子串(中的字符)是否出现在另一个字符串中。出现则返回 True,否则返回 False.
3. 正向索引和反向索引
索引(s[i] ): 获取特定偏移的元素
索引的分类: 正向索引, 反向索引
4. 切片
- 切片S[i:j]提取对应的部分作为一个序列:
- 如果没有给出切片的边界,切片的下边界默认为0,上边界为字符串的长度;
扩展的切片S[i:j:k],其中i,j含义同上,k为递增步长; - s[:]获取从偏移量为0到末尾之间的元素,是实现有效拷贝的一种方法;
- s[::-1]是实现字符串反转的一种方法(倒叙);
5.for循环
例:判断回文字符串
用户输入一个字符串, 判断该字符串是否为回文字符串。
#eg: "aba"是回文字符串, "abba"也是回文字符串。 "abc"不是回文字符串。
三、字符串内建方法
1.字符串内建函数
title: 标题需要每一个首字母大写,e.g. Hello Python
space: 空格指的是广义的空格, e.g: \n, \t,
1). 类型判断
2). 类型的转换
例:
2.字符串的开头和结尾匹配
startswith:
endswith:
3.字符串的数据清洗
数据清洗的思路:
strip: 删除字符串左边和右边的空格(指广义的空格: \n, \t, ’ ')
lstrip: 删除字符串左边的空格(指广义的空格: \n, \t, ’ ')
rstrip: 删除字符串右边的空格(指广义的空格: \n, \t, ’ ')
replace: 替换函数, 删除中间的空格, 将空格替换为空。replace(" ", )
4.字符串的位置调整
5.字符串的搜索与统计
find & index
count
(l字符出现了3次)
6.字符串的分离与拼接
例:编写一个函数来验证输入的字符串是否是有效的 IPv4 ?
1). IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。
比如,172.16.253.1;
2). IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。
四、拓展:string模块
string 字符串操作相关函数和工具
random 随机抽取工具
示例:小学生计算能力测试系统
设计一个程序,用来实现帮助小学生进行算术运算练习,
它具有以下功能:
提供基本算术运算(加减乘)的题目,每道题中的操作数是随机产生的,
练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确
并显示出相应的信息。最后显示正确率。
1+2=?
3*6=?
import random
count = 10
right_count = 0
for i in range(count):
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)
symbol = random.choice(["+", "-", "*"])
if symbol == "+":
result = num1 + num2
elif symbol == "-":
result = num1 - num2
elif symbol == "*":
result = num1 * num2
question = f"{num1} {symbol} {num2} = ?"
print(question)
user_answer = int(input("Answer:"))
if user_answer == result:
print("Right")
right_count += 1
else:
print("Error")
print("Right percent: %.2f%%" %(right_count/count*100))
- get