计算机处理的数据不单纯的指数字,计算机可以处理数字、文本、音频、视频等等各种数据,下面描述的是Python中可以直接使用和处理的基本数据类型。

    整数

Python可以处理任意大小的整数,跟java等语言整数区分int和long不一样,Python的整数就一种,可以是无限大小的正整数或者负整数。例如十进制就是5、1983、-26等,16进制使用0x前缀,例如0xfa98、0xb123等

    浮点数

浮点数也就是日常中常说的小数,只是因为使用科学计数法时小数点可以在任意位置,所以称浮点数更合适,浮点数写法也跟数学中一样,如1.85、-6.8,用科学计数法是10用e代替,如1.82x10^5就的写法就是1.82e5

浮点数的计算结果有时候是不精确的,有时候获得的结果是四舍五入之后的。

跟java相比不太一样的地方,java中整数之间做/运算是取整的意思,也就是所谓的地板除法。Python中提供了两个除法符号 / 和 // , / 的结果永远是浮点数(即使能够整除), // 的结果是取整,永远是整数,取余用%

>>> 9/3
3.0
>>> 10/3
3.3333333333333335
>>> 10//3
3
>>> 10%3
1

    字符串

字符串可以理解为一段文本,用单引号或双引号括起来,例如'asdf'和"asdf"表示的字符串内容是一样的,这种只有单引号或双引号一种的,引号不包含在字符串中,如果字符串中包含单引号或双引号,可以嵌套使用,例如

>>> print("I'am victor")
I'am victor
>>> print('I"am victor')
I"am victor

  或者使用转义字符,转义字符可以转义很多,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,例如

>>> print("I'am \"victor\"")
I'am "victor"
>>> print("I'am \"victor\" \n I'am leaning Python \\\\")
I'am "victor"
I'am leaning Python \\

  使用过多的转移字符看起来很乱,Python还提供了一个渐变方法,在字符串前面加上 r 字符串就不会转义了

>>> print("I'am \"victor\"")
I'am "victor"
>>> print(r"I'am \"victor\"")
I'am \"victor\"

  还允许使用三个单引号或双引号直接将多行字符串原样输出,但是转义字符还是会转义,不想转义前面还是要加上r,'''XXX'''  """XXX""",例如

>>> print("""I'am \"victor\"
... I am
... leaning
... Python""")
I'am "victor"
I am
leaning
Python

  布尔值

布尔值只有True和False两个值,注意区分大小写

>>> (1==2)==True
False

  布尔值可以用and、or和not运算,这个运算规则跟其他语言一样,and运算是与运算,只有所有都为True,and运算结果才是True。or运算是或运算,只要其中有一个为True,or运算结果就是True。not运算是非运算,它是一个单目运算符,把True变成False,False变成True

>>> True and False
False
>>> True or False
True
>>> not True
False

  空值

Python中的空值用None表示,注意大小写,空值不是0也不是"",这种有意义的值并不是None,None是一个特殊的空值,含义跟java中的null一样

>>> 0  == None
False
>>>
>>> "" == None
False

  变量

变量在程序中就是用一个变量名表示,变量名必须是大小写字母、数字和_的组合,且不能用数字开头,变量用=赋值,注意一点Python是动态语言,跟java这类静态语言不太一样的地方就是动态语言更灵活,同一个变量可以赋值不同类型的值。

a = 2
print(a)
a = "abC"
print(a) #这个代码java会报错,因为两次赋值类型不一样,Python会正常执行后输出
2
abC

解释一下赋值过程,先猜猜下面的代码,输出的a和b值是什么?

a = "abc"
b = a
a = "def"
print("a =", a)
print("b =", b)

  代码执行后的输出结果是a = def    b = abc ,相信大部分人都能答对,下面简单介绍一下执行过程,第一行的时候解释器在内存分配了一个区域保存"abc"这个值,并把a这个变量指向"abc"所在的内存地址。第二行创建了一个变量b,并将a指向的地址赋给b,这样b也是指向了"abc"所在的内存地址。第三行又创建了一个"def"的内存区域,将a指向了"def"所在的内存地址,而这时b的指向并没有变化,所以执行后会输出这样的结果。

  常量

常量就是固定不变的数据,约定俗成常量名全部大写,这个不变是从业务上定义的不变,例如圆周率PI = 3.1415926,当然你一定要在代码中改变PI的值,也没人拦得住你。

python学习-数据类型的更多相关文章

  1. python学习 数据类型之序列

    一.序列(本文使用python3.5)############################################################# 列表.元组 字符窜都是序列#特点:#1 ...

  2. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  3. python学习第九讲,python中的数据类型,字符串的使用与介绍

    目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...

  4. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  5. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  6. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  7. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  8. python学习笔记--数据类型

    Life is short, You need Python! 霸气的口号! 今天我也开始学python了,毕竟不懂后端的前端不是好前端.之前有过‘世界上最好的语言’和JavaScript的学习经验. ...

  9. Python学习笔记(1)——Python的概述(Python的环境、变量、数据类型、基本运算)

    Table of Contents 1. Python概述 1.1. Python基础知识 1.2. 运行环境 1.3. Python的格式 1.4. Python的变量. 2. Python的数据类 ...

随机推荐

  1. PO BAPI "BAPI_PO_CREATE1"

    DATA: poheader LIKE  bapimepoheader,         poheaderx LIKE  bapimepoheaderx,         poitem  LIKE   ...

  2. java创建和解析json对象

    最近工作遇到了 json 解析的相关需求,整理下 JSONObject 相关操作. 文中使用的例子都是基于阿里巴巴的产品 FastJSON ,涉及到的包有: import com.alibaba.fa ...

  3. 在centos卸载mysql

    1 rpm -qa|grep mysql 查看安装了哪些mysql和lib…… 1 yum remove mysql mysql-server mysql-libs compat-mysql51 删除 ...

  4. vue中表格el-table-column数据翻译字段

    <el-table-column prop="isstate" label="状态"></el-table-column> 以上是显示后 ...

  5. 2019-2020 ICPC, Asia Jakarta Regional Contest C. Even Path

    Pathfinding is a task of finding a route between two points. It often appears in many problems. For ...

  6. 条件DCGAN(2019/09/10)

    最近看到keras的官方GAN代码中有CGAN(全连接层)和卷积GAN(DCGAN),但他并没有给出“条件卷积GAN”,预测就把这两者结合了一下.虽然很多人用其他框架(e.g.TensorFlow)写 ...

  7. Nginx配置缓存服务器

    Nginx为静态资源配置缓存服务器对网站性能提供很可观. 1.配置 接下来我看如何配置: 我的环境是在同一台机器上配置了一个用openresty搭建的反向代理,上游服务器(后端服务器)是本机的ngin ...

  8. 【转帖】Office的光荣历史(1)

    Office的光荣历史(1) https://www.sohu.com/a/201410882_657550 微软的第一版本的office 竟然是 给Mac OS 提供的.. 2017-10-31 1 ...

  9. 用CTime类得到当前日期 时间

    (1)定义一个CTime类的对象CTime time: (2)得到当前时间time = CTime::GetCurrentTime(); (3)Get Year(),GetMonth(),GetDay ...

  10. php用逗号格式化数字

    今日工作需要格式化数字显示当前商品价格,比如2335.32,需要格式化为2,335.32这样显示.我写了一个函数.总感觉这么简单的功能,但是却需要30多行代码来完成. <?php/**** * ...