一、字符串的创建和赋值

字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。

一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符

下面演示两种常用的转义。

二、字符串的基本特性

1.连接操作符与重复操作符

## 1.连接操作符和重复操作符
name = "world"
print ('hello '  + name)
print ("*"*30 + '学生管理系统' + "*"*30)

代码运行效果:

Pycharm常用的快捷键:
格式化代码符合PEP8编码风格(Ctrl+Alt+L)

2.成员操作符

## 2.成员操作符
s = "hello world"
print('hello' in s)   #True
print('world' not in s) #False

3.正向索引和反向索引

  1. 索引(s[i] ): 获取特定偏移的元素
  2. 索引的分类: 正向索引, 反向索引

## 3.正向索引和反向索引
s = 'hello'
print(s[0])  #'h'
print(s[3])  #'l'
print(s[-3]) #'l'

4.切片

## 4.切片
"""
切片:切出一部分的内容s[start:end:step]s[:end]:s[start:]:
"""
s = 'hello world'
print(s[1:3])  # 从1开始到3-1结束
print(s[:3])  # 从0开始到3-1 结束
print(s[:5])  # 前五个字符
print(s[3:])  # 从第3个开始,到结束所有字符
print(s[::])  # 拷贝字符串  拿出所有字符串
print(s[::-1])  #倒序

5. 可迭代对象for循环访问

## 5. 可迭代对象for循环访问
s = 'hello'
count = 0
for item in s:count +=1print(f'第{count}字符是{item}')


练习:
用户输入一个字符串,判断这个字符串是否为回文字符串。

"""
代码需求:
用户输入一个字符串,判断这个字符串是否为回文字符串。
"""
s = input("输入字符串:")
result = "回文字符串" if s == s[::-1] else "不是回文字符串"
print(s + result)

三、字符串的内建方法

1.字符串的判断和转换

下面我们演示三种 是否字母或数字? 是否数字? 是否大写字母?

s = "helloworld"
print(s.isalnum())  ##True
print(s.isdigit())  ##False
print(s.isupper())  ##False

2.类型转换

## 2.类型转换
print('hello'.upper())  ##HELLO
print('HELLO'.lower())   ## hello
print('HELLO world'.title())  ## Hello World
print('HELLO world'.capitalize()) ## Hello world
print('HELLO world'.swapcase())  ##hello WORLD


实例:

# 需求:用户输入Y或者y都继续执行代码
# yum install httpd
choice =  input ('是否继续安装程序(y|Y):')
if choice.lower() == 'y':print("正在安装程序.....")正在安装程序

3.字符串开头和结尾的判断

# startswith
url = 'http://www.baidu.com'
if url.startswith('http'):print(f'{url}是一个正确的网址,可以爬取网站')
# endswith:
# 常用场景:判断文件类型
filename = 'sun.png'
if filename.endswith('.png'):print(f'{filename} 是图片文件')
elif filename.endswith('.mp3'):print(f'{filename}是音乐文件')
else:print(f'{filename}是未知文件')


#pycharm常用的快捷键:
#如何查看方法的源代码和解释说明: ctrl键按住,
#鼠标移动到你想要查看方法的位置,点击即可进入源码及方法说明

4.字符串的数据清洗


数据清洗的思路:

  • lstrip: 删除字符串左边的空格(指广义的空格: \n, \t, ’ ')
  • rstrip: 删除字符串右边的空格(指广义的空格: \n, \t, ’ ')
  • strip: 删除字符串左边和右边的空格(指广义的空格: \n, \t, ’ ')
  • replace: 替换函数, 删除中间的空格, 将空格替换为空。replace(" ", )
s = ' hello'
print(s)
print(s.lstrip())
s = 'hello '
print(s.rstrip())
s = ' hello '
print(s.strip())
s = 'hel        lo'
print(s.replace(" ",""))

5.字符串的位置调整

print("学生管理系统".center(50))
print("学生管理系统".center(50,"*"))
print("学生管理系统".center(50,"-"))
print("学生管理系统".ljust(50,"*"))
print("学生管理系统".rjust(50,"*"))

效果查看:

6.字符串的搜索和统计

s = "hello world"
print(s.find("llo"))
print(s.index("llo"))
print(s.find("xxx"))
print(s.index("xxx"))
# find如果找到子串, 则返回子串开始的索引位置。 否则返回-1
# index如果找到子串,则返回子串开始的索引位置。否则报错(抛出异常).
print(s.count("l"))    ## 判断字符出现次数

6.字符串的分离和拼接

ip = '172.25.254.100'
print(ip.split('.'))
items = ip.split('.')
print('-'.join(items))

四、拓展:string模块

import random
import string
print(string.digits)
print(string.ascii_letters)
print(random.sample(string.digits,2))
print(random.sample(string.ascii_letters,2))
print("".join(random.sample(string.digits,2)))
print("".join(random.sample(string.ascii_letters,2)))

效果:

# 需求: 生成100个验证码, 每个验证码由2个数字和2个字母组成。
for i in range(100):print("".join(random.sample(string.digits,2)) + "".join(random.sample(string.ascii_letters,2)))

五、练习题

1.IP检测

编写一个函数来验证输入的字符串是否是有效的 IPv4 ?
1). IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。
比如,172.16.253.1;
2). IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。

2.小学生计算能力测试系统

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

"""设计一个程序,用来实现帮助小学生进行算术运算练习,它具有以下功能:提供基本算术运算(加减乘)的题目,每道题中的操作数是随机产生的,练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。最后显示正确率
"""
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(["+","-","*"])reslt = eval (f"{num1}{symbol}{num2}")question = (f"{num1}{symbol}{num2} = ?")print(question)user_answer = int(input("你的答案:"))if user_answer == reslt:print ("正确")right_count +=1else:print("错误")
print ("正确率:%.2f%%" %(right_count/count*100))

python内置数据结构字符串相关推荐

  1. Python内置数据结构——字符串string

    字符串 字符串定义 一个个字符组成的有序的序列,是字符的集合 使用单引号.双引号.三引号引住的字符序列 字符串是不可变对象 Python3起,字符串就是Unicode类型 字符串元素访问--下标 字符 ...

  2. python内置数据结构教程_python课程第二周 内置数据结构——列表和元组

    5种内置数据结构:列表.元组.字典.集合.字符串.列表.字典.字符串三种被称为线性结构.针对线性结构的操作有:切片.封包和解包.成员运算符.迭代. 针对数据结构的操作有解析式:解析式分为列表解析.生成 ...

  3. Python内置数据结构及其复杂度

    为了使用python实现复杂数据结构与算法,需要借助python内置的基础和数据结构,主要是list和dict,明白这两种数据结构各操作的复杂度对于问题求解以及计算复杂度有着至关重要的作用. 一.li ...

  4. python内置数据结构_Python内置数据结构(一)

    1.列表 (1)列表初始化 (2)下标/索引操作 (3)修改列表元素 (4)增加列表元素 1)append 2)insert 3)extend (5)删除列表元素 1)pop 2)remove 3)c ...

  5. 【Python】07、python内置数据结构之字符串

    一.字符串 1.定义和初始化 In [4]: s = "hello python" In [4]: s = "hello python"In [5]: s Ou ...

  6. python字符串是有序的吗_Python内置数据结构--字符串

    一.字符串 定义: 1.一个字符组成的有序的序列,是字符的集合,示例:'abcd' 2.使用单引号.双引号.三引号引住的内容字符序列 3.字符串是字面常量,一旦定义,不可修改,且有序.可迭代 初始化: ...

  7. Python内置数据结构--列表

    本节内容: 列表 元组 字符串 集合 字典 本节先介绍列表. 一.列表 一种容器类型.列表可以包含任何种类的对象,比如说数字.子串.嵌套其他列表.嵌套元组. 任意对象的有序集合,通过索引访问其中的元素 ...

  8. python内置数据结构教程第四版答案_Python数据结构--内置数据结构

    本文提到的所有内容均是基于Python 2.7,在Python 3.x的环境下可能并不完全适用 什么是数据结构 我们可以看一下在百度百科对于数据结构是怎么定义的: 数据结构是指相互之间存在着一种或多种 ...

  9. python语言中内置的字符串排版方法_python基础知识(python内置数据类型-字符串)...

    python中的字符串 字符串基本特点 字符串的本质是字符序列.python中的字符串是不可变的,无法对原字符串做任何修改(不能用下标赋值的方式去改变字符串).但是可以将字符串的一部分赋值创建新的字符 ...

最新文章

  1. u盘里文件夹变成屏幕保护程序_嘘!免费告诉你这几款U盘加密软件
  2. 安装zeromq以及zeromq的python示例
  3. windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况...
  4. 做iOS开发的这2年:30而立投身iOS开发嫌晚?
  5. boost::mpi模块对gather() 和gatherv() 集合的测试
  6. Mysql安装及自动化部署脚本方案
  7. poj 3348 Cows 求凸包以及凸包的面积
  8. 在LoadRunner中设置HTTP请求time-out的时间
  9. Atitit 军事学 之 军事思想学与打猎学总结以及在软件行业中的应用 attilax著 1. 军事思想在软件行业技术开发中的想通之处 1 1.1. 软件开发本质上是一种作战,敌人是时间与费用成本
  10. 麟龙指标通达信指标公式源码_【通达信】麟龙量能饱合度指标公式源码
  11. MatlabR2021b自学笔记一:安装教程(附安装包链接)
  12. 分享股票量化交易程序化模型的设计思路
  13. 显示器接口_显示器接口都有哪些?
  14. 程序员吐槽的“面试造火箭、工作拧螺丝”,用应聘司机的场景还原当下奇葩的面试
  15. 小语种翻译软件,谷歌api接口批量翻译软件
  16. 曲师大教务系统服务器,曲阜师范大学掌上教务
  17. 到底该怎么学python啊?
  18. 51单片机 YF-S201水流量检测传感器的使用
  19. python字符串转list(python字符串转数字)
  20. 1000瓶子10小白鼠找毒药问题

热门文章

  1. before css 旋转_CSS 巧用 :before和:after
  2. python生成指定位数随机数_python生成指定长度的随机数密码
  3. 深入理解javascript原型和闭包(8)——简述【执行上下文】上
  4. 谷歌吃苹果:新系统让Macbook秒变Chromebook
  5. 一个小小指针,竟把Linux内核攻陷了!
  6. 为什么我们程序员不把软件开发当回事?
  7. inspinia中文管理后台_Bootstrap优秀模板-INSPINIA.2.9.2
  8. ansys 帮助文档_ANSYS 2020 R1版帮助文档简介
  9. python游戏代码示例_练习项目20:使用python制作游戏(中)
  10. redis和mysql实现原理_redis和mysql结合数据一致性方案