Python学习手册——第二部分 类型和运算(1)之数字和字符串

Python全景

1.程序由模块构成。
2.模块包含语句。
3.语句包含表达式。
4.表达式建立并处理对象。
在python中 数据是以 对象的形式出现的!!!

为什么使用内置类型

  • 内置对象使程序更容易编写
  • 内置对象往往比定制的数据结构更有效率
  • 内置对象是语言的标准的一部分
    在解决问题的时候python不需要像C和C++先去声明数据的类型,python会自己识别类型。

python的核心数据类型

Python学习手册——第二部分 类型和运算(1)之数字和字符串
python中没有类型声明,根据表达式的语法决定创建和使用对象的类型。
(在python的语言内部已经高效创建了)
但是一旦创建了一个对象,它就和操作集合 绑定了只可以对字符串进行字符串相关的操作,对列表进行列表相关的操作。
对应的类型有其相关的操作方式。

数字类型

包括的类型有:整数,浮点数,虚数,分子分母,集合等。
其数学运算的符号:加号( +)代表加法,减号( -)代表减法,星号( *)表示乘法,双星号( **)表示乘方。
浮点数会遇到的两种类型:代码形式 repr,用户友好形式 str。后者可以用 print语句进行实现。

数字中的额外工具包

math包
需要用户在引用该包之后再进行使用: import math
math.pi是打印Π的值。 math.sqrt()是对括号里的数字进行开根号处理
randow包
也是需要先进行引入 import random
random.random()是随机数字生成器, random.choice([])是随机选择器
[]是列表的创建用的语法,后面会详细介绍列表。

字符串类型

字符串是用来记录文本信息的,它是一个对象的 有序集合(从左到右)。字符串是单个字符的字符串的 序列

字符串序列的操作

Python学习手册——第二部分 类型和运算(1)之数字和字符串
可以看到索引是从0开始的。这个会有清晰的解释。
python支持反向索引
Python学习手册——第二部分 类型和运算(1)之数字和字符串
所以我们可以将 spam这个字符串看成是这样的 pamspam可以将s看成是坐标轴的原点,所以其索引时从0开始。
当我们只想输出字符串中的一些我们想要的数据时候,可以对字符串进行切片处理
Python学习手册——第二部分 类型和运算(1)之数字和字符串

Python学习手册——第二部分 类型和运算(1)之数字和字符串
在使用简便切片时,牢记左边界默认为0,并且右边界默认为分片序列的长度。
值得一提的是 S[-1:]是不成立的会输出 输出空的值,因为字符串是从0开始向左向右的。从中间到两边。

字符串的不可变性

Python学习手册——第二部分 类型和运算(1)之数字和字符串
核心类型中,数字、字符串和元组是不可变的;列表和字典不是这样(它们可以完全自由地改变)

类型的特定方法

目前我们学习过的每一个字符串操作都是一个真正的序列操作。这些不止于用于字符串,包括列表和元组。但是字符串有 特殊的操作方法:
S.find('pa')find这个方法是用来对字符串进行查找操作的。但是它只返回寻找的第一个字符的偏移量(也就是位置)。
S.replace('pa','XYZ')replace方法是用来替换字符的。前提是该字符串有需要被替换的字符,所以还具有全局搜索的任务。

Python学习手册——第二部分 类型和运算(1)之数字和字符串

line.split(',')是字符串在遇到字符 ,时进行隔开。
S.upper()'指的是全部大写。
S.isalpha()是进行测试,测试字符串的内容。检查一个字符串中所有的字符是否都是由 字母构成的,并且至少有1个字符。
如果,字符串中所有的字符都是 字母,则返回True,否则返回False. 该函数除了能判断字符串是否为英文字母外,也能判断其它语言中的字母。
\n是换行。当我们需要去掉字符串中的所有空格时 line.rstrip()

Python学习手册——第二部分 类型和运算(1)之数字和字符串

格式化
格式化的细讲:python字符串的格式化细讲

Python学习手册——第二部分 类型和运算(1)之数字和字符串

在序列中的 操作都是相通的,但是 方法却是不相同的。
简明的法则:可作用于多种类型的通用型操作都是以 内置函数或表达式的形式出现的[例如,len(X),X[0]],但是类型特定的操作是以 方法调用的形式出现的[例如,aString.upper()]。

寻求帮助

调用内置的dir函数,将会返回一个列表,其中包含了对象的所有属性。

Python学习手册——第二部分 类型和运算(1)之数字和字符串
以双下划线开头并结尾的变量名是用来表示Python实现细节的命名模式。而这个列表中没有下划线的属性是字符串对象能够调用的方法。
但是 dir(S)只是给出了所有的方法的名字,要查询它们是做什么的,你可以将其传递给help函数。
Python学习手册——第二部分 类型和运算(1)之数字和字符串
在使用时要记得先创建一个字符串,这样才能够有所显示,不然会出现未定义的情况。
Python学习手册——第二部分 类型和运算(1)之数字和字符串

编写字符串的其他方法

可以在字符串中间插入转义字符 \n空一行。 \t空一个tab键。 \0是中止字符串。

Python学习手册——第二部分 类型和运算(1)之数字和字符串
可以看 \n\t\o是包含在字符内的。计入字符长度。
Python学习手册——第二部分 类型和运算(1)之数字和字符串

ord()函数主要用来返回对应字符的ascii码

Python学习手册——第二部分 类型和运算(1)之数字和字符串

Python允许字符串包括在单引号或双引号中(它们代表着相同的东西),也允许在三个引号(单引号或双引号)中包括多行字符串常量。三个引号时,所有行都合并在一起。

Python学习手册——第二部分 类型和运算(1)之数字和字符串
可以看到输出结果时,换行处,python会自动添加换行符

模式匹配

字符串对象的方法能够支持基于模式的文本处理。
模式匹配的定义:数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。在python中的实现需要两个步骤:1,引入re模块。2,编写相应代码
跟着 零个或几个 制表符或空格,对应的代码是 [ \t]*(.*)。认真理解加粗部分。有一个需要注意的地方,如果想用这种方法存放两个组不能直接用 [ \t]*(.*)[ \t]*(.*)。这会使第二个组为空。

Python学习手册——第二部分 类型和运算(1)之数字和字符串
Python学习手册——第二部分 类型和运算(1)之数字和字符串
Python学习手册——第二部分 类型和运算(1)之数字和字符串
但是如果在两个[ \t] (.)中间添加空格,可以解决这个问题
Python学习手册——第二部分 类型和运算(1)之数字和字符串
Python学习手册——第二部分 类型和运算(1)之数字和字符串
这可能是转义字符引起的问题。
下面这种情况,直接用 /当分组标准就没有问题:
Python学习手册——第二部分 类型和运算(1)之数字和字符串
Python学习手册——第二部分 类型和运算(1)之数字和字符串

Python学习手册——第二部分 类型和运算(1)之数字和字符串
第二行就是`print(match.group(0))’的结果。

Original: https://www.cnblogs.com/brain-keep-burning-why/p/15600451.html
Author: Novice!!!
Title: Python学习手册——第二部分 类型和运算(1)之数字和字符串

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/684780/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JWT基础概念详解

    JWT基础概念详解 JWT介绍 之前我们文章讲过分布式session如何存储,其中就讲到过Token、JWT。首先,我们来回顾一下使用Token进行身份认证。 客户端发送登录请求到…

    技术杂谈 2023年6月21日
    085
  • 项目的部署和环境搭建

    项目的部署和环境搭建 cd /opt (一般项目部署的文件代码都放在/opt目录下) 3.进入项目跟目录下的docker目录: cd crm _pro/docker 4.执行doc…

    技术杂谈 2023年7月25日
    089
  • linuxshell的简单思维导图

    xmind文件 :https://pan.baidu.com/s/1V9kxuApWZ2adE3EEcnnp2Q 提取码:yjwx Original: https://www.cn…

    技术杂谈 2023年7月24日
    081
  • Six—pytorch学习—索引与切片

    pytorch学习(3) 索引与切片 普通索引 冒号索引(切片) index_select 选择特定索引 masked_select 选择符合条件的索引 take 索引 普通索引 …

    技术杂谈 2023年6月21日
    075
  • 内部类

    内部类:将一个类的定义放在另一个类的定义内部。内部类机制可以把逻辑相关的类组织在一起,并控制位于内部的类的可视性。 内部类与组合是完全不同的概念。 内部类不仅是一种代码隐藏机制(将…

    技术杂谈 2023年7月23日
    099
  • GPS卫星同步时钟,NTP网络同步时钟,北斗时钟服务器(京准)

    GPS卫星同步时钟,NTP网络同步时钟,北斗时钟服务器(京准) GPS卫星同步时钟,NTP网络同步时钟,北斗时钟服务器(京准) 安徽京准电子科技官微——ahjzsz 一、时钟系统基…

    技术杂谈 2023年6月21日
    073
  • ulimit -n 修改最大 链接数

    使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。 新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到e…

    技术杂谈 2023年5月31日
    086
  • 如果还不懂如何使用 Consumer 接口,来公司我当面给你讲!

    背景 没错,我还在做 XXXX 项目,还在与第三方对接接口,不同的是这次是对自己业务逻辑的处理。 在开发过程中我遇到这么一个问题: 表结构:一张主表A ,一张关联表B ,表 A 中…

    技术杂谈 2023年7月11日
    082
  • 安卓应用修改(高德.度盘.QQ浏览器.bili)

    软件介绍 高德地图修改版去广告精简版!核心功能如下: 语音包丰富。有大家最喜欢的小团团语音!测距,实时公交,足迹,限行等主流功能全都有。有完整的地铁图,且更新很快!杭州地铁3号线刚…

    技术杂谈 2023年6月21日
    0111
  • 约束优化方法之拉格朗日乘子法与KKT条件

    拉格朗日乘子法与KKT条件: https://www.cnblogs.com/ooon/p/5721119.html 拉格朗日对偶: https://www.cnblogs.com…

    技术杂谈 2023年5月31日
    0108
  • 数据中台和数据仓库的区别?

    数据中台从某个意义来说属于数仓的一种,都是要把数据抽进来建立一个数据仓库。但是两者的 数据来源和 建立数仓的目标以及 数据应用的方向都存在很大差异。 首先,从数据来源来说,数据中台…

    技术杂谈 2023年6月21日
    0137
  • 两个UITableView的级联菜单

    效果 源码 https://github.com/YouXianMing/Animations 说明 TwoLevelLinkageView封装了两个tableView,左边tab…

    技术杂谈 2023年6月1日
    099
  • 消息粘包 和 消息不完整 问题

    消息粘包 和 消息不完整 问题 消息粘包 和 消息不完整问题 其实都是应用层会带来的问题,和TCP 没关系,TCP 是能够保证消息的顺序 和 完整性的本篇只是简单说明一下 什么是 …

    技术杂谈 2023年7月11日
    072
  • VSCode实现GDB图形界面远程调试

    如何利用VSCode实现GDB图形界面远程调试 前言 在习惯了集成开发环境的图形界面调试时,首次使用GDB远程调试必定很不习惯,下面讲述如何利用VSCode实现GDB图形界面远程调…

    技术杂谈 2023年7月25日
    075
  • python3GUI–打造一款音乐播放器By:PyQt5(附下载地址)

    @ 一.准备工作 1.PyQt5 2.qtawesome 二.预览 1.启动 2.歌曲搜索 3.歌曲播放 4.评论查看 5.自定义背景 6.设置-基本设置 7.设置-高级设置 8….

    技术杂谈 2023年6月21日
    072
  • 2022.20 架构设计随思

    最近在做一个系统的设计,对软件架构设计又有了一些学习思考,就把当下思考认同的一些点记录一下。 需求总是会不断变化,软件架构要根据业务发展不断变化,在做架构设计时不要试图一步到位设计…

    技术杂谈 2023年5月30日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球