我是靠谱客的博主 孝顺犀牛,最近开发中收集的这篇文章主要介绍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循环访问:

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模块:五、实例:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部