一、什么是数据类型

编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算。

每种编程语言都会有一些基本的数据类型用来表示现实世界中的常见信息。

Python 中的常见数据类型如下

数值类型

序列类型

散列类型

其他类型

二、数值类型

1. 整数类型(int)

python 中整数类型用 int 表示,与数学中的整数概念一致

age = 18

其中 age 是变量名,= 是赋值运算符,18 是值。

上面的代码表示创建一个整数 18 然后赋值给变量 age。

1.变量

在程序运行过程中会有一些中间值,在稍后的执行中会用到,这时可以将这些中间值赋值给变量,然后在后面的代码中通过调用这些变量名来获取这些值。可以简单的理解为给这些值取一个别名,这个别名就代表这个值。

变量的命名规则:

  1. 由大小写字母 A-Za-z,数字 0-9 和下划线 _ 组成
  2. 不能以数字开头
  3. 不能是关键字
  4. 变量名大小写敏感
# 正确的案例
lucky_num = 88
lucky_num2 = 888
# 错误的案例
1lucky_num = 88
# 上面的age 和 Age是两个不同的变量
Age = 19

python 官方占用了一些变量名作为程序的关键字,总共 35 个,这些关键字不能作为自定义变量名使用。

import keyword
print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

2.赋值运算符

在 python 中 = 是赋值运算符,而不是数学意义上的等于号。python 解释器会先计算 = 右边的表达式,然后将结果复制给 = 左边的变量。

res = 1           # 定义变量res赋值为1
res = res + 1     # 先计算res + 1 再赋值给变量res
res               # res的值为2

运行结果:

2

3.type 函数和 print 函数

python 提供了内建函数 type 用来查看值或者变量的类型。

只需要将变量或者值作为参数传入 type 函数即可。

type(age)

运行结果

int

type(18)

运行结果:

int

print 函数用来在屏幕上输出传入的数据的字符串表现形式,是代码调试最重要的函数。

print(age)
print(type(age))
# 注意交互式输出和print函数输出的区别

运行结果:

18
<class 'int'>

4.整数的常见表示形式

在 python 中整数最常见的是 10 进制整数,也有二进制,八进制和十六进制。

a = 10  # 十进制
print('a的类型为:', type(a), a)

a 的类型为: <class 'int'> 10

b = 0b1110  # 二进制
print('b的类型为:', type(b),b)

b 的类型为: <class 'int'> 14

c = 0o57    # 八进制
print('c的类型为:', type(c),c)

c 的类型为: <class 'int'> 47

d = 0xa5c   # 十六进制
print('d的类型为:', type(d), d)

d 的类型为: <class 'int'> 2652

5.整数的取值范围

python 中整数类型的理论取值范围是[-无穷,无穷],实际取值范围受限于运行 python 程序的计算机内存大小。

2. 浮点数类型(float)

python 中浮点数数用 float 表示,与数学中的实数概念一致,也可以理解为有小数。

a = 0.0
print('a的类型为:', type(a))

a 的类型为: <class 'float'>

1.浮点数的表现形式

在 python 中浮点数可以表示为 a.b 的格式,也可以表示为小写或大写 E 的科学计算法。例如:

a = 0.0
print('a的类型为:', type(a))

a 的类型为: <class 'float'>

# 小数部分为零可以省略不写
b = 76.
print('b的类型为:', type(b))

b 的类型为: <class 'float'>

c = -3.1415926
print('c的类型为:', type(c))

c 的类型为: <class 'float'>

d = 9.5e-2
print('d的类型为:', type(d))

d 的类型为: <class 'float'>

思考:

浮点数可以表示所有的整数数值,python 为何要同时提供两种数据类型?

相同的操作整数要比浮点数快5-20倍

2.数学运算符

与数学中的常用运算符一致

注意一个浮点数和一个整数进行运算后的结果一定为浮点数

2+1.0

3.0

9/3 # 除法运算的结果一定为float类型

3.0

9//2 # 地板除,向下取整

4

3.组合赋值运算符

赋值运算符与算术运算符可以组合使用,注意算术运算符要写在前面且中间不能有空格。

体现了程序员的"懒惰",这种懒惰大力提倡,使得代码简洁和高效。

a = 1
a += 2  #  a = a+2
a

3

4. 浮点数的不精确性

整数和浮点数在计算机中的表示不同,python 提供无限制且准确的整数计算,浮点数却是不精确的,例如:

0.2+0.1

0.30000000000000004
根据 sys.float_info.dig 的值,计算机只能提供 15 个数字的准确性。浮点数在超过 15 位数字计算中产生的误差与计算机内部采用二进制运算有关。

import sysprint(sys.float_info.dig)

15

思考:

3.1415926535897924*1.23456789 的计算怎么准确

拓展:高精度浮点运算类型

import decimal
a = decimal.Decimal('3.141952653')
b = decimal.Decimal('1.23456789')
print(a * b)

3.87895385729411217

5. 浮点数和整数的相互转化

int,float 是 python 的内置函数,通过它们可以对浮点数类型和整数类型相互转化

a = 1.9
# 转化为整数
# 通过调用int函数,提取浮点数的整数部分
b = int(a)
print(b, type(b))

1 <class 'int'>

c = 2
# 转化为浮点数
# 通过调用float函数,将整数转化为小数部分为0的浮点数
d = float(c)
print(d, type(d))

2.0 <class 'float'>

3.复数

科学计算中的复数。

a = 12.3+4j
print('a的类型为:', type(a))
# 运行结果:a的类型为: <class 'complex'>
print(a.real)
print(a.imag)

a 的类型为: <class 'complex'>
12.3
4.0

本文作者:心蓝;
本文来源:柠檬班社区;
原文链接:python 零基础入门教程第 2 章. 基本数据类型 (一) - 测试派

python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)相关推荐

  1. python 二进制流转图片_Python零基础入门到精通-5.1节:Python程序的执行过程

    教程引言: 系统地讲解计算机基础知识,Python的基础知识, 高级知识,web开发框架,爬虫开发,数据结构与算法,nginx, 系统架构.一步步地帮助你从入门到就业. 5.1.1 在命令行中执行Py ...

  2. python做动画视频教程_Python零基础入门动画教程

    课程答疑: QQ群:913293727 适用人群 在校大学生/应届毕业生/业余编程爱好者/初.中开发学习者/大中专院校师生/数据分析人员/技术支持/测试人员 课程概述--课程大纲-- 1.Python ...

  3. python 类和对象_Python零基础入门学习33:类与面向对象编程:类的继承

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 本文字数约1300,阅读时间约为3分钟. Python面向对象编程 类的继承机制 如果一个类A继承自另一个类B,就把继承者类A称 ...

  4. python教程5小时完整版_Python零基础入门教程5小时完整版(北京理工大2020年版)

    这是面向零基础人群的Python教程,通过5个小时的学习,你能够了解Python的基础语法,并且编写100行左右的代码来解决日常生活中遇到的问题. 每个章节学练结合.先讲解Python的基础知识,然后 ...

  5. python环境变量配置_Python零基础入门到年薪二十万-1.1节: 在windows中安装Python

    教程引言: 该系列图文课程以及视频课程全部免费.课程会系统地讲解计算机的基础知识,Python的基础知识. 在讲解Python的高级知识中,会系统地讲解面向对象编程,并发编程,数据库编程,网络编程. ...

  6. pdf百度云下载 python编程 从数据分析到数据科学_python零基础入门教程,不同方向的,这很重要...

    很多人都在学python,对于大多数的人来说,方向最重要的,它决定着你的结果! ​编程小十接触过很多想学python的人,相对于自己的学习目的来说,很多时候容易选择不太正确的方向. 下面我简单介绍一下 ...

  7. python怎么生成伪代码_Python零基础入门—算法的实现与伪代码

    同学们好.在前面一节课,我们了什么是算法,知道了在一个算法中,要有输入.计算过程.还要有输出.这节课我们来讨论算法的实现. 这节课的内容与前面课程的课后练习有关.在课后练习中要求同学们写出计算长方形面 ...

  8. python初学小甲鱼_Python零基础入门学习 作者:小甲鱼

    temp = input('不妨想一想小甲鱼现在心里想的哪一个数字:') guess = int(temp) if guess == 8: print('你是小甲鱼心里的蛔虫吗?') print('哼 ...

  9. R语言 零基础入门教程第11章 Rattle可视化数据挖掘工具(1)Rattle简介及安装 功能预览 数据导入 数据探索 数据建模 模型评估 Rattle实例

    关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料 本章内容 Rattle简介及安装 功能预览 数据导入 数据探索 数据建模 模型评估 Rattle实例 本章目标 了解Rattle的安装及 ...

最新文章

  1. 用了这么多年的 Java 泛型,你对它到底有多了解?|原创
  2. nginx获取函数执行调用关系
  3. 如何用python画一朵玫瑰花-使用Python画一朵美丽的玫瑰花
  4. python dump函数_python 处理 json 四个函数dumps、loads、dump、load的区别
  5. NLTK频率分类中定义的函数
  6. python能开发游戏吗_python可以开发游戏吗,python能开发游戏吗
  7. 覆盖所有面试知识点,持续更新中
  8. 【机器学习】 - 使用dlib进行人脸定位,人脸检测,给人脸图片戴口罩
  9. java底层 文件操作,java底层是怎的对文件操作的
  10. 把字母排序ASC表c语言,c语言ASCII码排序
  11. MySql免安装版绿化版安装配置,附MySQL服务无法启动解决方案
  12. 将ubuntu引导项加入windowsXP启动菜单中
  13. 解决windows资源管理器卡死,右键无响应问题
  14. 【2020-09-22】某药品信息APP抓包
  15. 【建模应用】PLS偏最小二乘回归原理与应用
  16. 【AI视野·今日CV 计算机视觉论文速览 第169期】Fri, 22 Nov 2019
  17. python抓取网络摄像头,Python抓取酒店针孔摄像头 防偷窥
  18. android 仿ios数字密码解锁界面
  19. 老客户回访与需求挖掘计划
  20. 《细节决定成败》读后感

热门文章

  1. VDI序曲二 RemotoAPP晋级篇
  2. Java常用监控工具
  3. Java反射实践:从反射中理解class
  4. SPFA算法O(kE)
  5. 利用css对shiny页面优化及利用htmlwidgets包创建HTML控件
  6. 20145223《信息安全系统设计基础》 GDB调试汇编堆栈过程分析
  7. poj 2411 Mondriaan#39;s Dream 【dp】
  8. 设计模式之三 装饰模式
  9. 田志刚:写文章的两个好处
  10. springboot 事务_原创002 | 搭上SpringBoot事务源码分析专车