pyhton内置的数据类型(二)

pyhton内置的数据类型

  • 一、内置数据类型的解释创建及赋值
  • 二、表示转义的符号
          • 实例操作
  • 二、字符串的基本特性
          • 1.连接操作符 “ + ” ,提示:必须是同一数据类型才能相加
          • 2. 重复操作符 “ * ”
          • 3.成员操作符 “ in ”
          • 4. 正向索引和反向索引
          • 5. 切片
          • (1)切片的用法:切除一部分的内容
          • (2)切片用法练习
          • 6. for循环访问
          • 7. 练习题
  • 三. 字符串的内建方法
          • 1. 字符串的判断和转换
          • (1)字符串类型的判断
          • (2)类型的转换
          • (3)使用场景
          • 2. 字符串的开头和结尾匹配
          • (1)判断开头(startswith)
          • (2)判断结尾(endswith)
          • 3. 字符串的数字清洗
          • 4. 字符串的位置调整
          • 5. 字符串的搜索和统计

一、内置数据类型的解释创建及赋值

pycharm的常用快捷键:
”ctrl +d 复制一整行“ ;
“按住ctrl 鼠标移动到查看的方法(endswith)位置,点击即可, 快速查看方法的源代码和解释说明

数据类型描述赋值小小提示
字符串 str用单引号 ’ ’ ,双引号 " “,三引号 “”” “”"引起来的字符信息str1=‘hello1’; str2=“hell2”;str3=“”“hello3"”"
数组 array存储同种数据类型的数据结构arr1=[1,2,3] ,arr2=[1.1, 2.2, 3.3]
列表 list打了激素的数组, 可以存储不同数据类型的数据结构list1=[1, 2.1, “hello”, Ture, 2e+5, [1,2,3] ]
元组 tuple带了颈箍咒的列表,和列表的唯一区别是不能增删改t1=(1, 2.4,True,2e+5,[1,2,3]) ; t2 = ( 1, )如果元组只有一个元素,一定要加逗号
集合 set不重复且无序的set1={1,2,3};ste2={3,4} ;print(“交集:” set1 & set2, “并集:” set1 | set2)交集 &,并集 |
字典 dict{“key” : “value”},键值对,通过key可以快速的找到value值user ={“name”:‘aaa’, ‘age’ : 10 } ;print(user[‘name’])

二、表示转义的符号

在这里插入图片描述

实例操作
#转义字符:  \n 换行
>>> s ="hello\nweerre"
>>> print(s)
hello
weerre#转义字符:  \t 相当于tap键
>>> s ="hello\tweerre"
>>> print(s)
hello   weerre

二、字符串的基本特性

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

1.连接操作符 “ + ” ,提示:必须是同一数据类型才能相加
>>> name = 'aaa'
>>> print("hello " + name )
hello aaa
2. 重复操作符 “ * ”
>>> print("*" * 10 + '学生管理系统' + "*"*10)
**********学生管理系统**********
3.成员操作符 “ in ”
>>> s = 'linlin linyx'
>>> print('linyx' in s)
True
>>> print('linyx' not in s)
False
4. 正向索引和反向索引

获取特定偏移的元素,0,1,2,3,4

>>> s="WESTOS"
>>> print(s[0])
W
>>> print(s[3])
T
>>> print(s[-2])
O
5. 切片
回顾旧知识:range(3): [0,1,2]range(1,4): [1,2,3]range(1,6,2):[1,3,5]
(1)切片的用法:切除一部分的内容
  • s[start: end:steep]
  • s[:end]:
  • s[start:]:
(2)切片用法练习
s = 'hello,westos'
>>> print(s[1:3])
el
>>> print(s[:3])
hel
>>> print(s[:5])  # 总结:s[:n] 是指拿出前n个元素
hello
>>> print(s[3:])  # 总结: s[n:] 是指除了前n个元素,其他元素保留
lo,westos
>>> print(s[:])   #总结: 拷贝字符串,从头开始访问一直到字符串结束的位置
hello,westos
>>> print(s[::-1])   #总结: 倒序输出
sotsew,olleh
6. for循环访问
s='westos'
count =0
for item in s:count += 1print(f"第{count}个字符:{item}")
7. 练习题

用户输入一个字符串,判断该字符串是否为回文字符串,例: ”aba“ ,"abba"都是回文字符串

方法一:
s=input("请输入字符串:")
s1 = s[::-1]
if s1 == s:print(f"{s}字符串是回文字符串")
else:print(f"{s}字符串不是回文字符串")
方法二:
s = input('输入字符串:')
result = ”回文字符串“  if  s == s[::-1] else "不是回文字符串"               #三元运算符
print(s + "是" + result)
#print(”回文字符串“  if  s == s[::-1] else "不是回文字符串")

三. 字符串的内建方法

在这里插入图片描述

1. 字符串的判断和转换
(1)字符串类型的判断
s = 'HelloWESTOS'
print(s.isalnum())   #True    是否是数字或者字母
print(s.isdigit())   #False   是否是数字
print(s.isupper())   #False   是否是大写字母
(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
(3)使用场景

需求:用户输入Y或者y都继续运行代码,yum install httpd

思路:
choice = input("请问是否继续安装(Y|y)")
if  choice.lower() == 'y':print("程序正在安装......")
2. 字符串的开头和结尾匹配
(1)判断开头(startswith)
  • 常用场景: 判断url是不是网址,http开头的网址
实例:
url = 'http://www.baidu.com'
if url.startswith('http'):#具体实现爬虫,感兴趣的话可以看request模块print(f'{url}'是一个正确的网址,可以爬取网站的代码)
(2)判断结尾(endswith)
  • 常用场景: 判断文件的类型
实例: 
filename = ‘hello.png’
if 	filename.endswith('.png'):print(f'{filename}是图片文件')
elif  filename.endswith('.mp3'):print(f'{filename}是音乐文件')
else:print(f'{filename}是未知文件')
3. 字符串的数字清洗
方法解释说明
strip删除字符串开头和末尾的空格(指广义的空格: \n , \t ,' ' )
lstrip删除字符串开头的空格(指广义的空格: \n , \t ,' ' )
rstrip删除字符串末尾的空格(指广义的空格: \n , \t ,' ' )
replace字符串替换。删除中间的空格,将空格替换为空
练习:
>>> "    hello   ".strip()
'hello'
>>> "    hello   ".lstrip()
'hello   '
>>> "    hello   ".rstrip()
'    hello'
>>> "    he   llo   ".replace(" ","")
'hello'
4. 字符串的位置调整
方法解释说明
center(width)字符串居中且长度为指定宽度
ljust(width)字符串左对齐且长度为指定宽度
rjust(width)字符串右对齐且长度为指定宽度
练习:
>>> "学生管理系统".center(50)
'                      学生管理系统                      '
>>> "学生管理系统".center(50,"*")
'**********************学生管理系统**********************'
>>> "学生管理系统".ljust(50,"-")
'学生管理系统--------------------------------------------'
>>> "学生管理系统".rjust(50,"-")
'--------------------------------------------学生管理系统'
5. 字符串的搜索和统计
方法解释说明
find(str,beg,end)检测str 是否包含在string中,返回索引
index(str,beg,end)检测str 是否包含在string中,返回索引,否则抛出异常
count(str,beg,end)检测str 在string中出现的次数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL与Oracle的分页

MySQL与Oracle的分页 当我们通过SQL去查询一个结果集的时候,并不需要查看所有行,可能只是查看前几行,或者中间的几行。则需要像MySQL的limit或Oracle的ROWNUM与FETCH NEXT来实现。 MySQL 语法 SELECT * FROM table_name LIMIT [offset,] ro…

Redis的介绍,安装Redis的方式

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Redis 初识Redis1.1 认识Redis1.2 安装Redis的方式…

自定义Dynamics 365实施和发布业务解决方案 - 6. Azure集成

在本章中,我们将讨论可用于实现快速和可扩展解决方案的Azure集成。我们将重点关注在Dynamics365实现中有用的三种类型的Azure技术。它们是Azure WebJobs、函数和逻辑应用程序。Azure WebJobs非常适合在后台运行的批处理。由于我们在本章中讨论的是Azure技术,我们还将快速了解…

Hadoop生态圈中的Flume数据日志采集工具

Hadoop生态圈中的Flume数据日志采集工具 一、数据采集的问题二、数据采集一般使用的技术三、扩展:通过爬虫技术采集第三方网站数据四、Flume日志采集工具概述五、Flume采集数据的时候,核心是编写Flume的采集脚本xxx.conf六、Flume案例实操1、采集一个网络…

嵌入式系统设计与应用---嵌入式系统概述(学习笔记)

目录​​​​​​​ 嵌入式系统 概念 组成 嵌入式常用的操作系统 与PC机的区别 开发 软件开发 硬件开发 嵌入式处理器 分类 嵌入式系统 概念 以应用为中心,以计算机技术为基础,软硬件可载剪,适应对功能、可靠性、成本&#xff0c…

图像处理之频域滤波DFT

摘要:傅里叶变换可以将任何满足相应数学条件的信号转换为不同系数的简单正弦和余弦函数的和。图像信号也是一种信号,只不过是二维离散信号,通过傅里叶变换对图像进行变换可以图像存空域转换为频域进行更多的处理。本文主要简要描述傅里叶变换…

机器学习笔记之最优化理论与方法(十)无约束优化问题——共轭梯度法背景介绍

机器学习笔记之最优化理论与方法——共轭梯度法背景介绍 引言背景:共轭梯度法线性共轭梯度法共轭方向共轭VS正交共轭方向法共轭方向法的几何解释 引言 本节将介绍共轭梯度法,并重点介绍共轭方向法的逻辑与几何意义。 背景:共轭梯度法 关于…

手摸手系列之前端Vue实现PDF预览及打印的终极解决方案

前言 近期我正在开发一个前后端分离项目,使用了Spring Boot 和 Vue2,借助了国内优秀的框架 jeecg,前端UI库则选择了 ant-design-vue。在项目中,需要实现文件上传功能,同时还要能够在线预览和下载图片和PDF文件&#x…

投资 - 股市顺势加仓方式

作为一个趋势交易者来说,有了好机会时,怎么能浪费呢?趁势加仓是必然之举。 形势大好,就要出大招,这样才能获得最大的收益。趁势加仓就是这个道理。形势不佳,出大招即便能胜,效果也有限。 那么加…

虹科分享 | 软件供应链攻击如何工作?如何评估软件供应链安全?

说到应用程序和软件,关键词是“更多”。在数字经济需求的推动下,从简化业务运营到创造创新的新收入机会,企业越来越依赖应用程序。云本地应用程序开发更是火上浇油。然而,情况是双向的:这些应用程序通常更复杂&#xf…

路由缓存问题 | vue-router的导航守卫

路由缓存问题 带参路由&#xff0c;当参数发生变化时&#xff0c;相同的组件实例将被复用&#xff0c;组件的生命周期钩子不会被调用&#xff0c;导致数据无法更新。 两种解决方法&#xff1a; 1. 给 RouterView绑定key值&#xff0c;即 <RouterView :key"$route.ful…

Java手写基数排序和算法案例拓展

Java手写基数排序和算法案例拓展 1. 算法思维导图 #mermaid-svg-aZdOEsqN6XWIvaAA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-aZdOEsqN6XWIvaAA .error-icon{fill:#552222;}#mermaid-svg-aZdOEsqN6XWIvaAA .er…

手机木马远程控制复现

目录 目录 前言 系列文章列表 渗透测试基础之永恒之蓝漏洞复现http://t.csdn.cn/EsMu2 思维导图 1&#xff0c;实验涉及复现环境 2,Android模拟器环境配置 2.1,首先从官网上下载雷电模拟器 2.2,安装雷电模拟器 2.3, 对模拟器网络进行配置 2.3.1,为什么要进行配置…

flask要点与坑

简介 Flask是一个用Python编写的Web应用程序框架&#xff0c;该框架简单易用、模块化、灵活性高。 该笔记主要记录Flask的关键要点和容易踩坑的地方 Flask 日志配置 Flask 中的自带logger模块&#xff08;也是python自带的模块&#xff09;&#xff0c;通过简单配置可以实现…

SpringMVC之JSON数据返回与异常处理机制

目录 一.SpringMVC的JSON数据返回 1.导入Maven依赖 2.配置spring-mvc.xml 3.ResponseBody注解的使用 3.1案例演示 1.List集合转JSON 2.Map集合转JSON 3.返回指定格式String 4. ResponseBody用法 5.Jackson 5.1介绍 5.2常用注解 二.异常处理机制 1.为什么要全局异常处…

Jenkins :添加node权限获取凭据、执行命令

拥有Jenkins agent权限的账号可以对node节点进行操作&#xff0c;通过添加不同的node可以让流水线项目在不同的节点上运行&#xff0c;安装Jenkins的主机默认作为master节点。 1.Jenkins 添加node获取明文凭据 通过添加node节点&#xff0c;本地监听ssh认证&#xff0c;选则凭…

详解TCP/IP协议第三篇:通信数据在OSI通信模型的上下传输

文章目录 一&#xff1a;OSI通信模型间数据传输展示 二&#xff1a;应用层到会话层解析 1&#xff1a;应用层 2&#xff1a;表现层 3&#xff1a;会话层 三&#xff1a;传输层到物理层解析 1&#xff1a;传输层 2&#xff1a;网络层 3&#xff1a;数据链路层、与物理层…

考研算法47天:01背包

问题描述 算法详细步骤 代码随想录 (programmercarl.com) ac代码 #include <iostream> using namespace std; int bag[1001]; int bagMax[1001]; int bagvalue[1001]; int main(){int n,v;cin>>n>>v;for(int i0;i<n;i){cin>>bag[i]>>bagva…

【C++杂货铺】继承由浅入深详细总结

文章目录 一、继承的概念及定义1.1 继承的概念1.2 继承定义1.2.1 定义格式1.2.2 继承方式和访问限定符1.2.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承中的作用域四、派生类中的默认成员函数4.1 默认构造函数4.2 拷贝构造函数4.3 赋值运算符重载函数4.…

【C++】动态规划题目总结(随做随更)

文章目录 一. 斐波那契数列模型1. 第 N 个泰波那契数2. 三步问题3. 使用最小花费爬楼梯解法一&#xff1a;从左往右填表解法二&#xff1a;从右往左填表 一. 斐波那契数列模型 解题步骤&#xff1a; 确定状态表示&#xff08;最重要&#xff09;&#xff1a;明确dp表里的值所…