python基础之常用数据类型和字符串
一、数据类型
在python3中有六大标准数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionaries(字典)。
其中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
python3中内置了获取某个数据的数据类型的方法:type()。通过此方法可查询变量所指对象的数据类型。例如:

输出结果:

此外,数据类型之间是可以相互转换的,将数据类型作为函数名就可以用于数据类型的转换。例如:
使用str()将空类型转为字符串:

结果:

使用int()将纯数字字符串转换为数字

输出结果:

基本上所有的数据类型都可以转换为字符串。
二、字符串
1、字符串的表示
在python中,通常使用单引号:'数据', 双引号:"数据",或三引号:"""数据""",'''数据''' 来表示字符串,例如:

在上面的例子中,都是单行字符串,那么如何表示多行字符串呢?
在string_3或string4中的字符串中使用enter键来换行,例如:

输出结果:

单引号或双引号表示字符串时,若直接使用enter键,在pycharm中会自动加上”\“

输出结果:

从输出的结果中,我们看到的仍然显示为一行数据。若要显示多行的数据,则应该加上转义字符”\n“:

输出结果:

类似的转义字符还有很多,例如:\t,\b,\a,\r,\\等等,大家可以自行百度用法。
如果我现在有个路径”C:\Users\wstsh\Desktop\a“,我想显示通过print()打印出来,这时需要在路径前加上:”r“,作用是禁止将转义字符处理成特殊的符号。r"C:\Users\wstsh\Desktop\a"

输出结果:

或者使用转义字符\\

输出结果:

2、字符串的索引
索引的作用类似与一本图书的目录,用来定位某个字符所在的位置。索引从0开始,例如:
string4="asdfghgj",那么string4[0]就可以表示字符"a",string4这个字符串共有8个字符组成,索引的范围则为0-7,当超出索引范围时,会报错。例如:string4[8]

我们也可以用string4[-1]表示字符“j”,此时索引的范围则为-7到-1,string4[-7]也可以表示字符"a"。总结来说,若索引从字符串的左边开始的话,就以0开头,若索引从字符的右边开始的话,就以-1开始,超出范围报错索引异常。
3、字符串的切片
切片:就是将一个字符串按照某个或某几个字符进行截取。标准表达式为:字符串[start:end:step],start表示开始索引,end表示结束索引,step表示步长。如字符串srting4="asdfghj",我现在要表示字符a,

输出结果:

截取整个字符串

输出结果:

在字符串的索引说到了,索引超出范围会报错,那么下面看看切片超出范围会报错吗?

输出结果:

可以看到切片超出范围不会报错,而是复制了整个字符string4,那么同理,开始索引在切片时超出范围也应该不会报错。
接下来将步长1更改为步长2

输出结果:

字符所对应的索引为0,2,4,6为偶数位索引,根据这个特点可以进行奇偶位校验。
下面开始实验步长为负数

输出结果:

特点:当步长为负数时,字符串倒序截取。
步长省略时:

输出结果:

可以看出,省略步长时,出现的结果与步长为1的结果相同,步长默认为1。
省略开始索引或结束索引时,

输出结果:

可以正常切片。
总结:
- start、end、step都可以省略不写,但是开始索引和结束索引之间的冒号“:”不能省略;
- [start:end]中,end是取不到值的,且索引超出范围不会报错,还可以用于复制字符串;
- step可以为负数,且默认步长为1,通过特定的步长可以用于索引奇偶位校验;
- 当step为负数时,可以倒叙截取字符串。
4、字符串的方法
- len():获取字符串的长度
- split():字符串分割,分割结果是一个列表
- join():把一个列表按照固定格式拼接为字符串
- index():查找字符串,如果找不到会报错
- find():查找字符串,如果找不到会返回-1
- replace():将字符替换成其他的字符
- strip():将字符串左右两边的空格去掉
- format():字符串的格式化输出
- upper():英文转大写
- lower():英文转小写

输出结果:


输出结果:去掉空格后,string7的字符串长度为13


输出结果:没找到不替换,找到了才替换


输出结果:


输出结果:


输出结果:


输出结果:


python基础之常用数据类型和字符串的更多相关文章
- python基础(常用内容)
python基础(常用内容) 机器数: 一个数在计算机中的二进制表示形式就是机器数. 例如: +3用机器数表示就用<00000011>表示 -3用机器数表示就用<10000011&g ...
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- python中的常用数据类型
python中的常用数据类型 以下是个人总结的python中常见的数据类型,话不多说,我们直接步入正题: 数字类型 整型类:int类可以表示任意大小的整数值,在python中没有像JAVA或者C那样的 ...
- Python基础语法和数据类型最全总结
摘要:总结了Python最全基础语法和数据类型总结,一文带你学会Python. 本文分享自华为云社区<Python最全基础语法和数据类型总结>,原文作者:北山啦 . 人生苦短,我用Pyth ...
- Python基础笔记系列七:字符串定义和访问
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字符串定义和访问 1.字符串基础 a.字符串可以用单引号.双引号.三引号( ...
- Python小白的发展之路之Python基础(二)【字符串、列表、集合、文件操作】
列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表.元组操作 (1)列表 列表是可变的(mutable)——可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不 ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- 二.Python基础语法和数据类型
Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 ...
随机推荐
- Sampler类定义
此是所有采样的基类,这样定义的好处是,我们可以分别测试每一个采样算法. 类定义: #pragma once #ifndef __SAMPLER_HEADER__ #define __SAMPLER_H ...
- 基于图像二维熵的视频信号丢失检测(Signal Loss Detection)
1 图像二维熵 图像二维熵作为一种特征评价尺度能够反映出整个图像所含平均信息量的高低,熵值(H)越大则代表图像所包含的信息越多,反之熵值(H)越小,则图像包含的信息越少.对于图像信息量,可以简单地认 ...
- 【系统设计】S3 对象存储
在本文中,我们设计了一个类似于 Amazon Simple Storage Service (S3) 的对象存储服务.S3 是 Amazon Web Services (AWS) 提供的一项服务, 它 ...
- Spring源码 15 IOC refresh方法10
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- 大家都能看得懂的源码 - 如何封装 cookie/localStorage/sessionStorage hook?
本文是深入浅出 ahooks 源码系列文章的第九篇,该系列已整理成文档-地址.觉得还不错,给个 star 支持一下哈,Thanks. 今天来看看 ahooks 是怎么封装 cookie/localSt ...
- MPI学习笔记(三):矩阵相乘的分块并行(行列划分法)
mpi矩阵乘法:C=αAB+βC 一.主从模式的行列划分并行法 1.实现方法 将可用于计算的进程数comm_sz分解为a*b,然后将矩阵A全体行划分为a个部分,将矩阵B全体列划分为b个部分,从而将整个 ...
- KingbaseES应对表年龄增长过快导致事务回卷
背景 前几天碰到这样一个场景,在KingbaseES数据库当作数据同步节点.其特点是接收过来的数据量巨大,其更新超级频繁,最大的数据库达到6TB.这还不是主要的,主要导致问题发生原因是同步数据库有很多 ...
- 项目管理构建工具——Maven(基础篇)
项目管理构建工具--Maven(基础篇) 在前面的内容中我们学习了JDBC并且接触到了jar包概念 在后面我们的实际开发中会接触到很多jar包,jar包的导入需要到互联网上进行就会导致操作繁琐 Mav ...
- .Net之接口小知识
目的 通过一个简单的项目,在原来的文章基础上完善一下常用的几种WebApi编写方式以及请求方式,一方面是用于给我一个前端朋友用来学习调用接口,另一方面让我测试HttpClient的一些效果. 本文示例 ...
- LVGL 入门使用教程
一.准备资料 开发板:ESP32-S3 开发环境:VS Code + PlatformIO 串口屏驱动 TFT-eSPI:https://github.com/Bodmer/TFT_eSPI 触摸驱动 ...