当前位置: 首页 > article >正文

python基本数据类型和运算符

文章目录

  • 1.最基本内置数据类型和运算符
  • 2.基本内置数据类型
    • 2.1 整数
    • 2.2 浮点数
    • 2.3 布尔值
    • 2.4 字符串
      • 2.4.1 字符串基本特点
      • 2.4.2 字符串的编码
      • 2.4.3 引号创建字符串
      • 2.4.4 空字符串和len()函数
      • 2.4.5 转义字符
      • 2.4.6 字符串拼接
      • 2.4.7 字符串复制
      • 2.4.8 不换行打印
      • 2.4.9 从控制台读取字符串
      • 2.4.10 str()实现数字转型字符串
      • 2.4.11 使用[]提取字符
      • 2.4.12 replace()实现字符串替换
      • 2.4.13 字符串切片slice操作
      • 2.4.14 split()分割和 join()合并
  • 3.运算符
    • 3.1 数字和基本运算符
    • 3.2 增强型赋值运算符
    • 3.3 比较运算符
    • 3.4 逻辑运算符
    • 3.5 同一运算符
    • 3.6 复合赋值运算符
    • 3.7 运算符优先级问题
  • 4.时间的表示

1.最基本内置数据类型和运算符

每个对象都有类型,python中最基本的内置数据类型:
(1)整型
整数,2345,10,50
(2)浮点型
小数,3.14或者科学计数法314e-2
(3)布尔型
表示真假,仅包含:True、False
(4)字符串型
由字符组成的序列。 “abc”,”sxt”

2.基本内置数据类型

2.1 整数

(1)Python 中,除10进制,还有其他三种进制:
·0b 或0B,二进制 0 1
·0o 或0O,八进制 0 1 2 3 4 5 6 7
·0x 或 0X,十六进制0 1 2 3 4 5 6 7 8 9 a b c d e f
这三种进制可以非常方便的进行“位运算”操作
(2)使用int()实现类型转换:
①浮点数直接舍去小数部分。如:int(9.9)结果是:9
②布尔值True转为1,False转为0。 如:int(True)结果是1
③字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。

在这里插入图片描述
(3)自动转型:整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0的结果是10.0
(4)整数可以有多大?
①Python2 中,int 是 32 位,可以存储从-2147483648 到2147483647的整数(约±21 亿)。Long类型是64位,可以存储:-2^632^63 -1之间的数值。
②Python3 中,int 可以存储任意大小的整数,long被取消
③Python3 中可以做超大数的计算,而不会造成“整数溢出”,这也是Python特别适合科学运算的特点。

2.2 浮点数

(1)浮点数,称为float。
(2)
在这里插入图片描述

比如:3.14,在python内存中表示成:314E-2或者314e-2。我们也可以按这种科学计数法的格式写。
(3)类型转换和四舍五入
①类似于int(),我们也可以使用float()将其他类型转化成浮点数。
②整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0的结果是10.0
③round(value)可以返回四舍五入的值
注:但不会改变原有值,而是产生新的值

2.3 布尔值

(1)Python2 中没有布尔值,直接用数字0表示False,用数字1表示True。
(2)Python3 中,把True和False定义成了关键字,但他们的本质还是1和0,甚至可以和数字相加。

2.4 字符串

2.4.1 字符串基本特点

(1)字符串的本质是:字符序列。Python的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。
(2)Python 不支持单字符类型,单字符也是作为一个字符串使用的。

2.4.2 字符串的编码

(1)Python3 直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位Unicode编码,ASCII码是Unicode编码的子集。
(2)使用内置函数ord()可以把字符转换成对应的Unicode码;
(3)使用内置函数chr()可以把十进制数字转换成对应的字符。

在这里插入图片描述

2.4.3 引号创建字符串

(1)我们可以通过单引号或双引号创建字符串。例如:a=’abc’; b=”sxt”
(2)使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。
在这里插入图片描述

2.4.4 空字符串和len()函数

(1)Python 允许空字符串的存在,不包含任何字符且长度为0。
(2)len()用于计算字符串含有多少字符

2.4.5 转义字符

(1)我们可以使用“+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的
(2)转义字符有这些:
在这里插入图片描述

2.4.6 字符串拼接

(1)可以使用+将多个字符串拼接起来。例如:’aa’+ ’bb’ ==>’aabb’。
①如果+两边都是字符串,则拼接。
② 如果+两边都是数字,则加法运算
③如果+两边类型不同,则抛出异常
(2)可以将多个字面字符串直接放到一起实现拼接。例如:
在这里插入图片描述

2.4.7 字符串复制

使用*可以实现字符串复制
在这里插入图片描述

2.4.8 不换行打印

我们前面调用print时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。我们可以自己通过参数end= “任意字符串”。实现末尾添加任何内容:
在这里插入图片描述

2.4.9 从控制台读取字符串

我们可以使用input()从控制台读取键盘输入的内容。
在这里插入图片描述

2.4.10 str()实现数字转型字符串

(1)str()可以帮助我们将其他数据类型转换为字符串。例如:
在这里插入图片描述

2.4.11 使用[]提取字符

(1)字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量,
可以提取该位置的单个字符。
①正向搜索:
最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到 len(str)-1 为止。
②反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到 -len(str) 为止。

2.4.12 replace()实现字符串替换

(1)字符串是“不可改变”的,我们通过[]可以获取字符串指定位置的字符,但是我们不能改变字符串。我们尝试改变字符串中某个字符,发现报错了:
在这里插入图片描述
(2)字符串不可改变。但是,我们确实有时候需要替换某些字符。这时,只能通过创建新的字符串来实现
在这里插入图片描述
(3)整个过程中,实际上我们是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。 内存图如下:

在这里插入图片描述

2.4.13 字符串切片slice操作

(1)切片slice 操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量start:终止偏移量end:步长step]
(2)典型操作(三个量为正数的情况)如下:
在这里插入图片描述
(3)其他操作(三个量为负数)的情况:
在这里插入图片描述
(4)切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于“长度-1”会被当成-1。例如:
在这里插入图片描述

2.4.14 split()分割和 join()合并

(1)split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
在这里插入图片描述

3.运算符

3.1 数字和基本运算符

Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字做如下运算。
c在这里插入图片描述

3.2 增强型赋值运算符

(1)运算符+、-、*,/、//、**和%和赋值符=结合可以构成“增强型赋值运算符”。
例如:a =a+1 等价于: a+=1

在这里插入图片描述

3.3 比较运算符

(1)所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
(2)以下假设变量a为15,变量b为30

在这里插入图片描述

3.4 逻辑运算符

在这里插入图片描述

3.5 同一运算符

(1)同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
在这里插入图片描述
(2) is 与 == 区别
①is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
②== 用于判断引用变量引用对象的值是否相等,默认调用对象的 eq()方法。
(3)整数缓存问题
Python 仅仅对比较小的整数对象进行缓存(范围为[-5,256])缓存起来,而并非是所有整数对象。需要注意的是,这仅仅是在命令行中执行,而在Pycharm或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化(范围是[-5,任意正整数])。

在这里插入图片描述

(4)总结
① is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;
== 比较的是两个对象的内容是否相等,值是否相等;
③小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用;
④is 运算符比 == 效率高,在变量和对象None进行比较时,应该使用 is。

3.6 复合赋值运算符

(1)复合赋值可以让程序更加精炼,提高效率。
在这里插入图片描述
(2)注:与C和JAVA不一样,Python不支持自增(++)和自减(–)

3.7 运算符优先级问题

(1)如下优先级,从高到低
在这里插入图片描述

(2)实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。
①乘除优先加减
②位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

4.时间的表示

(1)计算机中时间的表示是从“1970年1月1日 00:00:00”开始,以毫秒(1/1000秒)进行计算。我们也把1970年这个时刻成为“unix时间点”。这样,我们就把时间全部用数字来表示了。
在这里插入图片描述
(2)python 中可以通过time.time() 获得当前时刻,返回的值是以秒为单位,带微秒(1/1000 毫秒)精度的浮点值。例如:1530167364.8566


http://www.kler.cn/a/528210.html

相关文章:

  • 【2025年更新】1000个大数据/人工智能毕设选题推荐
  • vue虚拟列表优化前端性能
  • pytorch实现文本摘要
  • Agent 高频知识汇总:查漏补缺参考大全
  • 论文阅读(八):结构方程模型用于研究数量遗传学中的因果表型网络
  • Android vendor.img中文件执行权问题
  • Spring Boot面试题
  • vue3中el-input无法获得焦点的问题
  • 初识c语言(关键字)
  • CSS关系选择器详解
  • 【已解决】ECharts 没有在页面生效
  • ElasticSearch view
  • 图书管理系统 Axios 源码__获取图书列表
  • 87.(3)攻防世界 web simple_php
  • 使用python强制解除文件占用
  • 网站快速收录:如何优化网站头部与底部信息?
  • 手机连接WIFI可以上网,笔记本电脑连接WIFI却不能上网? 解决方法?
  • 使用LLaMA-Factory对AI进行认知的微调
  • pytorch实现简单的情感分析算法
  • 项目中用的网关Gateway及SpringCloud
  • Chromium132 编译指南 - Android 篇(一):编译前准备
  • 【13】WLC HA介绍和配置
  • 数据结构 1-1 顺序表
  • 算法题(54):插入区间
  • Star300+ 开源项目Developer-RoadMap 计算机各领域学习路线图集大成者
  • Hot100之双指针