一、字符串的创建和赋值:
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
6s = 'westos' count = 0 for item in s: count += 1 print(f"第{count}个字符:{item}")
6、练习:
代码需求:判断字符串是否为回文字符串
复制代码
1
2
3
4s = input('输入字符串:') result = "是回文字符串" if s == s[::-1] else "不是回文字符串" print(s + result)
三、字符串内建方法:
1、字符串的判断和转换:
类型判断
形式转换
练习
代码需求:在yum install ***时,用户输入Y或者y都继续继续代码
复制代码
1
2
3
4choice = input('是否继续安装程序(y|Y):') if choice.lower() == 'y': print("正在安装程序......")
2、字符串开头和结尾的判断:
startswith
复制代码
1
2
3
4url = 'http://www.baidu.com' if url.startswith('http'): print(f'{url}是一个正确的网址,可以爬取网站的代码')
endswith
常用场景:判断文件的类型
复制代码
1
2
3
4
5
6
7
8filename = '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
5import 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
24import 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
19import 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
13s = 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
11ip = 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
21i = 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字符串一、字符串内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复