概述
一、字符串的创建和赋值:
1、字符串的创建:
- 字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。
2、转义符号:
- 一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符
此处常用的有换行符、水平制表符以及转义反斜杠和单双引号。
3、三重引号:
- 作用一:进行多行注释
Python中单行注释是#,多行注释的时候每行都写一个#,或者采用连续的三个双引号。
- 作用二:定义多行字符串
为避免使用转义换行符 n,通常会用在定义SQL语句的表达式中没有变量的时候使用。
二、字符串的基本特性:
(pycharm快捷键:格式化代码符合PEP8编码风格(Ctrl+Alt+L))
1、连接操作符和重复操作符:
- 连接操作符: 从原有字符串获得一个新的字符串
- 重复操作符: 创建一个包含了原有字符串的多个拷贝的新串
2、成员操作符:
3、索引:
- 索引(s[i] ): 获取特定偏移的元素(s[i]获取第i+1个元素)
- 索引的分类: 正向索引, 反向索引
4、切片:
- 切片: 切除一部分的内容 (规则和range类似)
s[start: end :step] :
s[:end]:
s[start:]:
符号 | 含义 |
---|---|
s[:n]: | 拿出前n个元素 |
s[n:]: | 除了前n个元素, 其他元素保留 |
s[:]: | 从头开始访问一直到字符串结束的位置 |
s[::-1]: | 倒序输出 |
5、for循环访问:
s = 'westos'
count = 0
for item in s:
count += 1
print(f"第{count}个字符:{item}")
6、练习:
代码需求:判断字符串是否为回文字符串
s = input('输入字符串:')
result = "是回文字符串" if s == s[::-1] else "不是回文字符串"
print(s + result)
三、字符串内建方法:
1、字符串的判断和转换:
类型判断
形式转换
练习
代码需求:在yum install ***时,用户输入Y或者y都继续继续代码
choice = input('是否继续安装程序(y|Y):')
if choice.lower() == 'y':
print("正在安装程序......")
2、字符串开头和结尾的判断:
startswith
url = 'http://www.baidu.com'
if url.startswith('http'):
print(f'{url}是一个正确的网址,可以爬取网站的代码')
endswith
常用场景:判断文件的类型
filename = 'hello.png'
if filename.endswith('.png'):
print(f'{filename} 是图片文件')
elif filename.endswith('mp3'):
print(f'{filename}是音乐文件')
else:
print(f'{filename}是未知文件')
pycharm常用的快捷键:
如何查看方法的源代码和解释说明: ctrl键按住,
鼠标移动到你想要查看方法的位置,点击即可进入源码及方法说明
3、字符串的数据清洗:
代码 | 含义 |
---|---|
lstrip: | 删除字符串左边的空格(指广义的空格: n, t, ’ ') |
rstrip: | 删除字符串右边的空格(指广义的空格: n, t, ’ ') |
strip: | 删除字符串左边和右边的空格(指广义的空格: n, t, ’ ') |
replace: | 替换函数, 删除中间的空格, 将空格替换为空。replace(" ", ) |
4、字符串的位置调整:
5、字符串的搜索,统计:
6、字符串的分离与拼接:
四、string模块:
代码 | 含义 |
---|---|
ascii_letters | 获取所有ascii码中字母字符的字符串(包含大写和小写) |
ascii_uppercase | 获取所有ascii码中的大写英文字母 |
ascii_lowercase | 获取所有ascii码中的小写英文字母 |
digits | 获取所有的10进制数字字符 |
octdigits | 获取所有的8进制数字字符 |
hexdigits | 获取所有16进制的数字字符 |
printable | 获取所有可以打印的字符 |
whitespace | 获取所有空白字符 |
punctuation | 获取所有的标点符号 |
运用方法:
练习
代码需求:生成100个验证码, 每个验证码由2个数字和4个字母组成
因为要随机生成,也需要用到random模块。
还用到了代码的连接(+)和拼接(join)。
import random
import string
for i in range(100):
print("".join(random.sample(string.digits, 2)) + "".join(random.sample(string.ascii_letters, 4)))
五、实例:
1、小学生能力测试系统:
代码需求:设计一个程序,用来实现帮助小学生进行算术运算练习,
它具有以下功能:
提供基本算术运算(加减乘)的题目,每道题中的操作数是随机产生的,练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。最后显示正确率。
import random #题目随机生成,所以用到random模块
count = 10
right_count = 0
for i in range(count): #循环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: #if判断自增right_count来确认正确的题目数
print("Right")
right_count += 1
else:
print("Error")
print("Right percent: %.2f%%" %(right_count/count*100)) # 计算正确率,注意%的转义(%%)
代码可以通过eval函数来简化:
eval的用法:
改进的代码:
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(["+", "-", "*"])
result = eval(f"{num1}{symbol}{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))
运行结果相同。
2、回文字符串的判断:
s = input("请输入一个字符串:")
s1 = s.replace(" ", "")
s2 = s1.replace(",", "")
s3 = s2.replace(":", "")
s4 = s3.lower()
if s4 == s4[::-1]:
print("true")
else:
print("false")
# A man, a plan, a canal: Panama
# race a car
3、IPV4合法性判断:
编写一个函数来验证输入的字符串是否是有效的 IPv4 ?
- IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。
- IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的
ip = input("请输入ip:");
item = ip.split('.');
for i in item:
if i[0] == '0' and i[1] != '0':
print("ip地址不合法");
exit();
elif int(i) < 0 or int(i) > 255:
print("ip地址不合法");
exit();
print("ip地址合法");
4、机器人能否返回原点:
i = 1
j = 1
move = input("请输入移动顺序:")
for s in move:
if s == "r":
i += 1
elif s == "l":
i -= 1
elif s == "u":
j += 1
elif s == "d":
j -= 1
else:
print("输入错误")
break
else:
if i == 1 and j == 1:
print("ture")
else:
print("false")
最后
以上就是孝顺犀牛为你收集整理的python字符串一、字符串的创建和赋值:二、字符串的基本特性:三、字符串内建方法:四、string模块:五、实例:的全部内容,希望文章能够帮你解决python字符串一、字符串的创建和赋值:二、字符串的基本特性:三、字符串内建方法:四、string模块:五、实例:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复