iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >#6 Python数据类型及运算
  • 902
分享到

#6 Python数据类型及运算

数据类型Python 2023-01-30 23:01:55 902人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

前言 前文讲述了python的输入输出以及变量的相关知识点,本节将探讨Python的数据类型以及数据之间的运算方式! 一、Python数据类型 上一节弄清了变量,其实变量所指向的值是有自己独特的数据类型的,这些数据类型可能代表不同的数据,

前言

前文讲述了python的输入输出以及变量的相关知识点,本节将探讨Python的数据类型以及数据之间的运算方式!

一、Python数据类型

上一节弄清了变量,其实变量所指向的值是有自己独特的数据类型的,这些数据类型可能代表不同的数据,在Python中,主要有以下几种数据类型:

整形(int)

在计算机中,整数的位数其实是有范围的,并没有我们想象的那样拥有无限的位数,而且,在不同的机器上整数的位数可能不同,例如:

32位系统:整数的位数就是32位,寻址范围为:-231  ~  231-1 ,即-2147483648 ~ 2147483647

64位系统:整数的位数就是64位,寻址范围为:-263 ~ 263-1 ,即-9223372036854775808 ~ 9223372036854775807

长整形(long)

在Python中,长整形整数并没有指定位数,也就是说,长整形整数可以无限大,但是由于机器本身的限制,往往并不能无限大,到一定范围也就不行了。

浮点型(float)

上面两种数据类型都是整数,但在实际并不可能全是整数,还有小数啊,于是浮点型便应运而生,说白了浮点型就是小数,并且可以使用科学计数,在计算机中,科学计数的倍数10用e代替,如:5.21x105 就写成 5.21e9,也可以写成521e7

复数(complex)

上面三种数据类型组合起来是实数,其实科学计算中常常用到复数,在Python中,存在复数的数据类型,一般形式为:x+yj,式中x,y都是实数,例如:5+6j

布尔值(True、False)

布尔值就俩:真、假,Python中用True、False表示,一定要注意首字母大写,Python中是区分大小写的,一定要注意。

In [77]: 5==6
Out[77]: False

In [78]: 3>2
Out[78]: True

In [79]: True == True
Out[79]: True

In [80]: True == False
Out[80]: False

空值(None)

空值就一个:None,这个空值是很有趣的,None不可以理解为0,因为0不是空值,就好像温度是0摄氏度一样,0摄氏度是有温度的( ̄▽ ̄)"

字符串(str)

字符串可能是编写Python中用到的最多的数据类型,只要是用引号引起来的就是字符串。Python中是不区分单引号、双引号和三引号的,他们是相同的:

In [81]: 'Hello,world!'
Out[81]: 'Hello,world!'

In [82]: "Hello,world!"
Out[82]: 'Hello,world!'

In [83]: '''Hello,world'''
Out[83]: 'Hello,world'

肯定有萌新会问,搞这么多幺蛾子干啥,统一用一个不就完了,我就默默笑笑不说话:

In [84]: 'i'm MinuteSheep'
  File "<ipython-input-84-a2a810ee38cb>", line 1
    'i'm MinuteSheep'
       ^
SyntaxError: invalid syntax

看!报错了竟然,为什么呢?因为Python会自动匹配最近的符号与之闭合,所以就会出现上面的情况,做如下修改:

In [85]: "i'm MinuteSheep"
Out[85]: "i'm MinuteSheep"

(萌新:你个糟老头子坏得很╰(‵□′)╯)

同样的,三引号用于多行,或者内容符号混乱的情况:

In [87]: '''i'm MinuteSheep,i said:"i'm the best man in the world!"'''
Out[87]: 'i\'m MinuteSheep,i said:"i\'m the best man in the world!"'


In [86]: '''
    ...: i'm MinuteSheep,
    ...: i said:
    ...: "i'm the best man in the world!"
    ...: '''
Out[86]: '\ni\'m MinuteSheep,\ni said:\n"i\'m the best man in the world!"\n'

完美解决,还记得\n是什么吗,是换行意思的啦,同样你会发现i'm变成了i\'m,这其实是转义的显示,转义以后会讲到的啦

又有萌新出来作妖了,你上一节不是说三引号是多行注释吗,这一节怎么变成了字符串啦?

这个问题问的好!看我的解释,有图有真相:

直接三引号内容,是注释,只要将三引号内容赋给变量,就是字符串

字符串还有很多方法,之后会专门有一小节详细的讲解字符串的方法。

列表(list)

对于列表,萌新可能会很陌生,你可以暂时把它理解为一维数组,列表的在Python中的使用次数也是相当多的,是除字符串以外必须掌握的一种数据类型。来看看列表长啥样:

In [88]: ['MinuteSheep', 'LiMing', '123', 123]
Out[88]: ['MinuteSheep', 'LiMing', '123', 123]

可以看到,被一对方括号括起来的数据就是列表,刘表里面可以又其他数据类型,上面的列表包括:字符串和整型。当然,列表可以包含列表,称为列表的嵌套:

In [89]: ['MinuteSheep', ['LiMing', 123]]
Out[89]: ['MinuteSheep', ['LiMing', 123]]

关于列表,还有好多具体的方法,这里不一一介绍,之后也会有专门的一小节讲解列表方法。

元组(tuple)

元组可能就更陌生了,元组其实是不可变列表,列表用一队方括号括起来,元组则用一对圆括号括起来,列表是可以被操作的(比如增、删、改、查),但是元组不行,元组不可被更改,来看看元组长啥样哇:

In [90]: ('MinuteSheep','LiMing',123)
Out[90]: ('MinuteSheep', 'LiMing', 123)

字典(dict)

字典是Python的一种非常强大的数据类型,通过键值对的形式将数据保存下来,提高了数据增、删、改、查的速度,通常作为数据存储的格式,也来看看字典长啥样哇:

In [91]: {'name': 'MinuteSheep', 'gender' : 'male', 'age': 99}
Out[91]: {'age': 99, 'gender': 'male', 'name': 'MinuteSheep'}

可以看到,字典是用一对花括号括起来的,并且以 'key' : 'value' 的形式存储,同样,字典里面可以包含其他数据类型,上面的字典包括:字符串、整型。当然,字典也可以嵌套:

In [92]: {'name' : 'MinuteSheep', 'age': {'young' : 15, 'old' : 99}}
Out[92]: {'age': {'old': 99, 'young': 15}, 'name': 'MinuteSheep'}

字典也会有专门的一节去讲解它的方法。

二、Python数据运算

说完了Python的数据类型,就该数据运算了,养兵千日,用在一时嘛

算数运算

加 +

In [93]: 1+2
Out[93]: 3

减 -

In [95]: 1-2
Out[95]: -1

乘 *

In [96]: 1*2
Out[96]: 2

除 /

In [97]: 5/2
Out[97]: 2.5

取模 %  (就是取余数)

In [98]: 5%2
Out[98]: 1

取整 //

In [99]: 5//2
Out[99]: 2

幂 **

In [100]: 5**2
Out[100]: 25

赋值运算

简单赋值 =

In [102]: a=5

In [103]: b=6

In [104]: c=a+b

In [105]: c
Out[105]: 11

加法赋值 +=   (b+=a,相当于b=b+a)

In [106]: a=5

In [107]: b=6

In [108]: b+=a

In [109]: b
Out[109]: 11

减法赋值 -=   (b-=a,相当于b=b-a)

In [111]: a=5

In [112]: b=6

In [113]: b-=a

In [114]: b
Out[114]: 1

乘法赋值 *=   (b*=a,相当于b=b*a)

In [115]: a=5

In [116]: b=6

In [117]: b*=a

In [118]: b
Out[118]: 30

除法赋值 /=   (b/=a,相当于b=b/a)

In [119]: a=5

In [120]: b=6

In [121]: b/=a

In [122]: b
Out[122]: 1.2

取模赋值 %=   (b%=a,相当于b=b%a)

In [123]: a=5

In [124]: b=6

In [125]: b%=a

In [126]: b
Out[126]: 1

取整赋值 //=   (b//=a,相当于b=b//a)

In [127]: a=5

In [128]: b=6

In [129]: b//=a

In [130]: b
Out[130]: 1

幂赋值 **=   (b**=a,相当于b=b**a)

In [131]: a=5

In [132]: b=6

In [133]: b**=a

In [134]: b
Out[134]: 7776

比较运算

测试相等 ==

In [136]: 1==1
Out[136]: True

In [137]: 1==2
Out[137]: False

不等于 !=

In [144]: 1!=1
Out[144]: False

In [145]: 1!=2
Out[145]: True

大于 >

In [146]: 1>1
Out[146]: False

In [147]: 2>1
Out[147]: True

大于等于 >=

In [149]: 1>=1
Out[149]: True

In [150]: 2>=1
Out[150]: True

小于 <

In [151]: 6<6
Out[151]: False

In [152]: 6<7
Out[152]: True

小于等于 <=

In [153]: 6<=6
Out[153]: True

In [154]: 6<=7
Out[154]: True

逻辑运算

布尔'与' and   (有假为假,全真为真)

In [156]: True and False
Out[156]: False

In [157]: True and True
Out[157]: True

In [158]: False and False
Out[158]: False

布尔'或' or   (有真为真,全假为假)

In [159]: True or True
Out[159]: True

In [160]: True or False
Out[160]: True

In [161]: False and False
Out[161]: False

布尔'非' not   (取相反)

In [162]: not True
Out[162]: False

In [163]: not False
Out[163]: True

身份运算

判断两个标识符是否引用自同一个对象 is

In [167]: a=b=3

In [168]: a is b
Out[168]: True

In [169]: a=3

In [170]: b=5

In [171]: a is b
Out[171]: False

判断两个标识符是否引用自不同对象 is not

In [177]: a=3

In [178]: b=5

In [179]: a is not b
Out[179]: True

== 与 is 的区别:

看到这里,很多小伙伴已经晕了,== 和 is 好像一样啊,看起来一样,其实是不一样的,来看下面的这段代码:

In [180]: a = 600

In [181]: b = 600

In [182]: a == b
Out[182]: True

In [183]: a is b
Out[183]: False

其实啊,== 比较的是值,is比较的地址,让我们用 id() 这个函数查看一下变量的地址:

In [184]: id(a)
Out[184]: 2155434581648

In [185]: id(b)
Out[185]: 2155434581904

可以看到,a和b俩个变量的值虽然相同,但地址却不一样,所以使用 == 和 is 的结果自然就不一样。那我们再来看一段代码:

In [187]: a = 10

In [188]: b = 10

In [189]: a == b
Out[189]: True

In [190]: a is b
Out[190]: True

In [191]: id(a)
Out[191]: 1529742064

In [192]: id(b)
Out[192]: 1529742064

萌新是不是莫不着头脑了,用600的时候 is 输出False,用10的时候怎么地址一样了啊,(快回头,有鬼~)其实啊,Python有一个叫做小整数对象池的东西,只要是[-5, 256]之间的整数都会使用同一份地址,这下萌新明白了哇。

位运算

重点说明:位运算针对的是二进制数

按位与 &

In [193]: a = 15   # 15 = 0000 1111

In [194]: b = 30   # 30 = 0001 1110

In [195]: c = a&b  # 14 = 0000 1110

In [196]: c
Out[196]: 14

按位或 |

In [193]: a = 15   # 15 = 0000 1111

In [194]: b = 30   # 30 = 0001 1110

In [197]: c = a|b  # 31 = 0001 1111

In [198]: c
Out[198]: 31

按位异或 ^

In [193]: a = 15   # 15 = 0000 1111

In [194]: b = 30   # 30 = 0001 1110

In [200]: c = a^b  # 17 = 0001 0001

In [201]: c
Out[201]: 17

按位取反 ~

In [210]: a = 60   # 60 = 0011 1100

In [211]: c = ~a  # -61 = 1100 0011

In [212]: c
Out[212]: -61

左移 <<

In [213]: a = 15   # 15 = 0000 1111

In [214]: c = a<<2 # 60 = 0011 1100

In [215]: c
Out[215]: 60

#左移后面要加位数

右移 >>

In [213]: a = 15     # 15 = 0000 1111

In [218]: c = a>>2    # 3 = 0000 0011
 
In [219]: c
Out[219]: 3


#右移后面要加位数

Python运算符优先级(从高到底依次排列)

**                 # 指数 (最高优先级)
~ + -              # 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //           # 乘,除,取模和取整除
+ -                # 加法减法
>> <<              # 右移,左移运算符
&                  # 位 'AND'
^ |                # 位运算符
<= < > >=          # 比较运算符
<> == !=           # 等于运算符
= %= /= //= -= += *= **=    # 赋值运算符
is is not          # 身份运算符
in not in          # 成员运算符
not and or         # 逻辑运算符

 

--结束END--

本文标题: #6 Python数据类型及运算

本文链接: https://www.lsjlt.com/news/180923.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • #6 Python数据类型及运算
    前言 前文讲述了Python的输入输出以及变量的相关知识点,本节将探讨Python的数据类型以及数据之间的运算方式! 一、Python数据类型 上一节弄清了变量,其实变量所指向的值是有自己独特的数据类型的,这些数据类型可能代表不同的数据,...
    99+
    2023-01-30
    数据类型 Python
  • 数据类型及运算符
    一、变量 变量定义规则   1.变量名只能是数字,字母或下划线的任意组合   2.变量名的第一个字符不能是数字   3.以下关键字不能声明为变量名{'and','as','del','def','if','else','with','co...
    99+
    2023-01-30
    数据类型 运算符
  • python输入、数据类型转换及运算符方式
    目录一、输入二、常用转换数据类型的函数 三、运算符1.算术运算符2.赋值运算符3.复合赋值运算符4.比较运算符5.逻辑运算符一、输入 input("提示内容&qu...
    99+
    2024-04-02
  • 数据类型之数字类型—运算符
    数字类型(Number)可分为以下几种:  整 形(int)    浮点型(float)    布 尔(bool)    长整形(long)    复 数(complex) 一、整 形(int)   整形就是整数类型   num =...
    99+
    2023-01-30
    数据类型 运算符 类型
  • Python变量、数据类型与运算符
             1、掌握变量使用及命名规则1.1 变量赋值变量赋值通过“=”实现,实例: a = 5 b = 3.14 c = ‘abc’注意事项:变量名尽量具有现实意义  实例: price = 100 Name = ‘张飞’ Age ...
    99+
    2023-01-31
    变量 数据类型 运算符
  • python变量数据类型和运算符
    目录1 数据类型1.1 基础类型1.2 类型判断2. 运算符和表达式2.1 算术运算符2.2 模运算说明2.3 数学函数2.4 随机函数2.5 赋值运算符2.6 关系运算2.7 逻辑...
    99+
    2024-04-02
  • Python数据类型指南:掌握常见数据类型及其运用
    Python是一种简单而强大的编程语言,广泛用于数据分析和科学计算。要成功使用Python进行数据分析,了解不同的数据类型及其应用至关重要。本文将介绍常用的Python数据类型,并提供具体的代码示例。 数字类型(Numbers)...
    99+
    2024-01-20
    Python 应用 数据类型
  • Python学习—数据类型、运算符、条件
    1.python编码格式 python2:ASCII python3:Unicode ASCII编码:1字节(bytes) = 8位(bit) 一个英文字符占一个字节, Unicode:通常用一个字符用两个字节存储,不管英文还是中文,...
    99+
    2023-01-31
    数据类型 运算符 条件
  • python学习之数据类型与运算符号
    python版本:3.6    python编辑器:pycharm 最新版本 整理成代码如下: #!/usr/bin/env python #-*- coding: utf-8 -*- # 数学操作符 print(2 ** 3) ...
    99+
    2023-01-30
    数据类型 符号 python
  • 数字类型运算
    python的数字类型分为三种,分别是整数int、 浮点数float 和 复数complex。数字是由数字字面值或内置函数与运算符的结果来创建的, 不带修饰的整数字面值会生成整数。包含小数点或幂运算符的数字字面值会生成浮点数。在数字字面值末...
    99+
    2023-06-02
  • 4.91Python数据类型之(6)元组
    前言 有时候,我们为了数值的安全性,不许用户修改数据,今天我们就来讲讲关于python不可变的数据类型--- 元组数据 目录 1.元组的基本定义 2.元组的基本操作 (一)元组的基本定义 1.元组的概念: 元组(Tuple)是不...
    99+
    2023-01-30
    数据类型 Python
  • Mysql中的数据类型和运算符
    文章目录 Mysql的数据类型数值型数据整数型数据类型浮点型型数据类型 字符型数据字符串数据文本类型数据枚举类型数据SET类型数据二进制形式的文本数据 日期时间型数据 Mysq...
    99+
    2023-08-31
    mysql 数据库 数据类型 运算符
  • 003 python 注释/数据类型/运
    集成开发环境 pycharm 工欲善其事,必先利其器 pycharm是具备一般的python ide的功能,同时呢支持调试,语法高亮,代码管理,智能提示 加快快发的速度,提高开发效率 注释 what ?字面意思就是标注解释 Why ?...
    99+
    2023-01-31
    注释 数据类型 python
  • python变量数据类型和运算符如何使用
    本篇内容介绍了“python变量数据类型和运算符如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 数据类型不同类型的变量可以进行的运...
    99+
    2023-07-06
  • python变量数据类型和运算符怎么使用
    1 数据类型不同类型的变量可以进行的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为:内置类型:数值类型:整型int,浮点型float,复数(complex) 3+5jstr:字符串bool:布尔值【True,False...
    99+
    2023-05-14
    Python
  • ECMAScript 的 6 种简单数据类型
    目录前言typeof 操作符类型检测使用说明小知识Undefined 类型练习场景undefined 与 not defined 的区别使用 typeof 检测 undefined小...
    99+
    2024-04-02
  • Javascript运算符和数据类型如何转换
    本篇内容主要讲解“Javascript运算符和数据类型如何转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript运算符和数据类型如何转换”吧! ...
    99+
    2024-04-02
  • 全面剖析java 数据类型与运算符
    目录java的变量和类型基本数据类型——数值型整型浮点型字符型布尔型运算符运算符:|运算符:&运算符:^运算符:~运算符:>>运算符:<<运算符:&g...
    99+
    2024-04-02
  • 深入了解JAVA数据类型与运算符
    目录前言变量与类型变量的分类按声明的位置来分类:按数据类型划分:变量的命名规则硬性指标:软性指标:Java类型汇总:运算符总结前言 Java的数据类型与运算符很多与C语言大致相同,但...
    99+
    2024-04-02
  • 基本数据类型、输入输出、运算符
    #:单行注释 “”“ ”“”:多行注释 为什么数据要区分类型? 数据类型值是变量值的类型,变量值之所以区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用不同类型的值去记录它们。 有哪些数据类型...
    99+
    2023-01-31
    数据类型 输入输出 运算符
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作