我是靠谱客的博主 孝顺犀牛,这篇文章主要介绍python字符串一、字符串的创建和赋值:二、字符串的基本特性:三、字符串内建方法:四、string模块:五、实例:,现在分享给大家,希望可以做个参考。

一、字符串的创建和赋值:

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循环访问:

复制代码
1
2
3
4
5
6
s = 'westos' count = 0 for item in s: count += 1 print(f"第{count}个字符:{item}")

在这里插入图片描述

6、练习:

代码需求:判断字符串是否为回文字符串

复制代码
1
2
3
4
s = input('输入字符串:') result = "是回文字符串" if s == s[::-1] else "不是回文字符串" print(s + result)

在这里插入图片描述

三、字符串内建方法:

1、字符串的判断和转换:

在这里插入图片描述

类型判断
在这里插入图片描述

形式转换
在这里插入图片描述

练习
代码需求:在yum install ***时,用户输入Y或者y都继续继续代码

复制代码
1
2
3
4
choice = input('是否继续安装程序(y|Y):') if choice.lower() == 'y': print("正在安装程序......")

在这里插入图片描述

2、字符串开头和结尾的判断:

在这里插入图片描述

startswith

复制代码
1
2
3
4
url = 'http://www.baidu.com' if url.startswith('http'): print(f'{url}是一个正确的网址,可以爬取网站的代码')

在这里插入图片描述

endswith
常用场景:判断文件的类型

复制代码
1
2
3
4
5
6
7
8
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)。

复制代码
1
2
3
4
5
import random import string for i in range(100): print("".join(random.sample(string.digits, 2)) + "".join(random.sample(string.ascii_letters, 4)))

在这里插入图片描述

五、实例:

1、小学生能力测试系统:

代码需求:设计一个程序,用来实现帮助小学生进行算术运算练习,
它具有以下功能:
提供基本算术运算(加减乘)的题目,每道题中的操作数是随机产生的,练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。最后显示正确率。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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的用法:
在这里插入图片描述
改进的代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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、回文字符串的判断:

在这里插入图片描述

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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 是不合法的
    在这里插入图片描述
复制代码
1
2
3
4
5
6
7
8
9
10
11
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、机器人能否返回原点:

在这里插入图片描述

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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字符串一、字符串内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部