pyhton内置的数据类型(二)

news2024/9/22 11:27:06

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 += 1
	print(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.coloradmin.cn/o/1013482.html

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

相关文章

Scholarcy:AI在线论文摘要总结工具

【产品介绍】 名称 scholarcy 成立/上线时间 2018年 具体描述 scholarcy是一个基于AI的在线论文文献摘要总结工具,可以帮助研究人员和学生快速阅读和理解各种类型的文献,如研究论文、报告和书籍章节。 scholarcy可以在几秒钟…

【Mybatis源码分析】插件机制和Pagehelper插件源码分析

分页插件Pagehelper源码分析 一、插件机制二、Pagehelper源码分析 前文叙述过以下内容:Mybatis对动态代理的使用,一二级缓存和懒加载的原理。其中二级缓存解释了在分布式环境下可能出现缓存不一致问题,但没说解决方案。其实个人认为这种问题除…

前端JavaScript中异步的终极解决方案:async/await

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 1. 背景 在深入讨论 async/await 之前,我们需要了解一下 JavaScript 的单线程和非阻塞的特性。JavaScript 是…

编写postcss插件,全局css文件px转vw

跟目录下创建plugins文件夹,创建postcss-px-to-viewport.ts文件 文件内代码: // postcss 的插件 vite内置了postCss插件 无需安装 import { Plugin } from postcss;interface Options {viewportWidth: number }const Options {viewportWidth: 375, // …

mmdetection环境配置和安装

创建 openmmlab 虚拟环境 conda create -n openmmlab python3.7激活openmmlab环境 conda activate openmmlab安装torch 在torch官网查找安装自己电脑cuda对应的torch安装命令 conda install pytorch torchvision torchaudio pytorch-cuda11.7 -c pytorch -c nvidia使用 MIM …

Spring源码分析(三) bean的生命周期 createBean()和doCreateBean()

1、createBean() resolveBeforeInstantiation 也要详细介绍 打标机 protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable Object[] args)throws BeanCreationException {if (logger.isTraceEnabled()) {logger.trace("Creating instance of b…

家庭安全不容小觑!青犀AI智能分析算法+摄像头助力家庭安全

你知道吗?高层家庭更需要人工摄像头!虽然现在社会治安十分稳定,高层建筑更是安全,但高层盗窃、陌生人入室这些新闻还是层出不穷,为了解决这些安全隐患,给广大人民一个安心的生活环境,旭帆科技将…

线性方程组

目录 线性方程组 齐次线性方程组 基础解系 非齐次线性方程组 线性方程组 线性方程组是数学中的一个基本概念,它是指由一组线性方程组成的方程组。线性方程组的一般形式为: a1x1 a2x2 ... anxn b1 a1x1 a2x2 ... anxn b2 ... a1x1 a2x2 ..…

处理更多数据,大幅降低成本!Milvus MMap 启示录

作为 VectorDBBench 中最快的开源向量数据库,Milvus 可以很好地为有高性能需求的用户服务。与此同时,我们也注意到一些用户会将 Milvus 用在离线业务中,还有部分用户对性能需求并不敏感,这意味着在同规格的实例上,他们…

AI绘画的崛起与多平台对比

目录 引言AI绘画技术的发展历程主流AI绘画平台概览DeepArt.ioPrismaNVIDIA Canvas 对比分析与评价画风迁移能力创造力和创新性使用便利性和用户体验是否开源与社区互动 引言 随着科技的飞速发展,人工智能(AI)正逐渐渗透到我们生活的方方面面。…

国际版腾讯云/阿里云:全站加快有哪些功用?有哪些优势?适用于什么场景?

腾讯云全站加快有哪些功用?有哪些优势?适用于什么场景? 产品功用 全站加快 ECDN 经过在全球各区域部署加快节点,有用下降跨国拜访推迟,保证全球加快作用。 最优链路 各加快节点两两相连,实时勘探&#xff0…

【CentOS7】vsftpd学习笔记

2023年9月14日,周四下午 目录 安装vsftpd添加账号给账户设置新密码开放21号端口关闭21号端口查看vsftpd的运行状态启动vsftpd关闭vsftpd查看CentOS7的IP地址在Windows测试你的运行在CentOS7的用vftpd构建的FTP服务器查看Windows自带的ftp程序有哪些可用的命令 安装…

AI生成文章-AI文章生成工具

随着社会的发展人工智能技术的突破,越来越多的人开始使用AI来生成文章,但是有一个问题一直困扰着大家:AI生成的文章会不会变得千篇一律,重复无新意呢? AI生成文章的兴起 让我们简要回顾一下AI生成文章的兴起。随着深度…

一款功能齐全的网管软件:Ip-tools

摘要 Ip-tools是一款功能齐全的网管软件,可以随时随地的向网管员报告网络的运行情况ip-tools自身集成多种tcp/ip使用工具,如本地信息、网络监视器、NetBIOS信息查看器、共享扫描、SNMP扫描、主机名扫描、端口扫描、UDP扫描、ping工具、路由追踪工具、Tel…

【接口自动化测试】Eolink Apilkit 安装部署,支持 Windows、Mac、Linux 等系统

Eolink Apikit 有三种客户端,可以依据自己的情况选择。三种客户端的数据是共用的,因此可以随时切换不同的客户端。 我们推荐使用新推出的 Apikit PC 客户端,PC 端拥有线上产品所有的功能,并且针对本地测试、自动化测试以及使用体…

竞赛 基于机器视觉的停车位识别检测

简介 你是不是经常在停车场周围转来转去寻找停车位。如果你的车辆能准确地告诉你最近的停车位在哪里,那是不是很爽?事实证明,基于深度学习和OpenCV解决这个问题相对容易,只需获取停车场的实时视频即可。 该项目较为新颖&#xf…

安卓设备文件传输助手 MacDroid pro for mac中文

MacDroid是一款方便实用的软件,可帮助您在Mac和Android设备之间进行文件传输和管理。它提供了USB和无线连接选项,支持简单的设备连接和快速的文件传输。无论是备份照片、传输音乐,还是管理文件,MacDroid都是一个方便的工具。 除了…

Java“牵手”速卖通商品详情数据,速卖通商品详情接口,速卖通API接口申请指南

速卖通是阿里巴巴旗下的面向国际市场打造的跨境电商平台,被称为国际版淘宝,速卖通面向海外买家客户,通过支付宝国际账户进行担保交易,并使用国际物流渠道运输发货,是全球第三大英文在线购物网站。 速卖通商品详情数据…

国家网络安全周 | 保障智能网联汽车产业,护航汽车数据安全

9月13日上午,2023年国家网络安全宣传周汽车数据安全分论坛在福州海峡国际会展中心正式举办。本次分论坛主题是“护航汽车数据安全,共促产业健康发展”,聚焦汽车数据安全、个人信息保护、密码安全、车联网安全保险等主题。 与此同时&#xff…

nova相机功能又㕛叒叕升级了!!!拍人像更自然

nova系列手机一直以其高颜值外观和性能体验,持续热销,成为当下年轻人追捧的手机之一。其出色的影像能力,无论是日常生活中的风景拍摄还是人物拍摄,都能够拍摄出非常清晰细腻的照片,同时还配备了多种摄影模式&#xff0…