一、什么是数据类型

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

  python中常见的数据类型有:

1、数值类型

名称 描述
int(整型) 数学概念中的整数
float(浮点型) 数学概念中的实数
complex(复数) 数学概念中的复数

2、序列类型

名称 描述
str(字符串) 字符串是字符的序列表示,用来表示文本信息
list(列表) 列表用来表示有序的可变元素集合。例如表示一个有序的数据组
tuple(元组) 元组用来表示有序的不可变元素集合

  

3、散列类型

名称 描述
set(集合) 数学概念中的集合,无限不重复元素的集合
dict(字典) 字典是无序键值对的集合。用来表示有关联的数据。例如表示一个人的信息。

4、其他类型

名称 描述
bool(布尔型) 布尔型元素只有两个元素,True表示真,False表示假。用来表示条件判断结果。
None None表示空。

一、数值类型

1、整数 int

1.1 变量

  给值取个别名,通过这个别名就能找到这个值。

  age = 25
  print(age)

  将25取名为age,直接输出age的值

  变量的命名规则:

  1.由大小写字母,数字与下划线_组成

  2.不能以数字开头

  3.变量区别大小写,同一字母大小写不同,变量不同

  4.不能是关键字

  符号一定是英文

  python中常用的关键字

  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']

1.2 赋值运算符

  = 是赋值运算符,python解释器会先计算=右边的表达式,然后将结果赋值给=左边的变量

1.3 type 函数和 print 函数

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

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

 
  type(age) 

  运行结果

  int

 
  type(18) 

  运行结果:

  int

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

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

  运行结果:

  18
  <class 'int'>

1.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

1.5 整数的取值范围

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

2. 浮点数类型(float)

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

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

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

2.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+1
- 减法运算符 3-2
* 乘法运算符 9*9
/ 除法运算符 9/3,除法运算后的结果一定为 float 类型
// 整除运算符 10/3,也称为 地板除 向下取整
% 取模运算符 10%3,表示 10 除以 3 取余数
** 幂次运算符 2**3,表示 2 的 3 次幂
() 括号运算符,括号内的表达式先运算 (1+2)* 3

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

 
2+1.0 

3.0

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

3.0

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

4

2.3 组合赋值运算符

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

运算符 描述 实例
= 等于-简单的赋值 c = a + b print(c) # 30
+= 加等于 c += a 等同于 c = c + a
-= 减等于 c -= a 等同于 c = c - a
*= 乘等于 c *= a 等同于 c = c * a
/= 除等于 c /= a 等同于 c = c/a
%= 取余等于 c%=a 等同于 c = c%a
**= 幂等于 c ** =a 等同于 c = c ** a
//= 取整除等于 c//=a 等同于 c = c//a

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

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

3

4. 浮点数的不精确性

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

 
  0.2+0.1 

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

 
  import sys print(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

2.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基础-基本数据类型(一)的更多相关文章

  1. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  2. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  3. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  4. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  5. python基础一数据类型之集合

    摘要: python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合. 1,集合的定义 2,集合的功能 3,集合的方法 1,集合的定义 list1 = [1,4,5,7,3,6,7,9] set1 ...

  6. python基础一数据类型之元祖

    摘要: python基础一中写到数据类型元祖,那么这篇主要讲元祖. 1,元祖定义 tuple1 = (1,2,'a','b') 元祖是不可变数据,所以又名只读列表.那么如何让是元祖可变呢?可以在元祖中 ...

  7. python基础一数据类型之列表

    摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...

  8. Python基础一数据类型之数字类型

    摘要: python基础一中提到了数据类型,这里主要讲解的是数字类型. 数字类型: 1,整型 2,长整型 3,浮点型 4,复数型 1,整型(int) 定义a = 1 通过type函数查看数据类型,整型 ...

  9. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  10. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

随机推荐

  1. Kerberos与各大组件的集成

    1. 概述 Kerberos可以与CDH集成,CDH里面可以管理与hdfs.yarn.hbase.yarn.kafka等相关组件的kerberos凭证.但当我们不使用CDH的时候,也需要了解hdfs. ...

  2. Mybatis的XML文件调用静态方法

    如果需要在Mapper文件中调用静态方法,需要 <choose> // 需要静态方法返回true还是false <when test="@staticClass@stati ...

  3. 什么是基于 Java 的 Spring 注解配置? 给一些注解的例子?

    基于 Java 的配置,允许你在少量的 Java 注解的帮助下,进行你的大部分 Spring 配置而非通过 XML 文件. 以@Configuration 注解为例,它用来标记类可以当做一个 bean ...

  4. django基础环境配置

    Django环境搭建 1.下载安装 命令行 pip install django==1.11.21 pip install django==1.11.21 -i 源 pycharm setting - ...

  5. Idea学习之"重启或清理IEDA缓存"

    idea的重启 如下图所示:第1步:通过File–>Invalidate Caches进入重启窗口: 第2步:选择自己所需要的重启方式,四个按钮,一共三种重启方式: 四个按钮的说明 Invali ...

  6. Java 新内存(cache)模型解析

    JMM 相关文档: Java Language Specification Chapter 17 The JSR-133 Cookbook for Compiler Writers - Doug Le ...

  7. MiL → SiL → PiL → HiL 是什么?

    基于模型的快速原型开发通常分为四个过程:MiL → SiL → PiL → HiL 1. MiL(Model in Loop)模型在环  在PC上基于模型的测试,它的输出是经过验证的控制算法模型.验证 ...

  8. labview和matlab区别

    LabVIEW和MATLAB作为本身功能比较完善的软件环境,在各自不同的领域中有着十分广泛的应用.下面小编就详细介绍LabVIEW和MATLA以及它们之间的区别. 一.LabVIEW简介 LabVIE ...

  9. POJ 2236:Wireless Network

    描述 n台电脑,如果两台电脑间的距离的d范围内,则两台电脑能够连通. 如果AB连通,BC连通,则认为AC连通. 已知电脑台数N,最大距离d,以及每个电脑的坐标.有如下两种操作: O i 表示修复编号为 ...

  10. js 获取和设置css3 属性值的实现方法

    众多周知 CSS3 增加了很多属性,在读写的时候就没有原先那么方便了. 如:<div style="left:100px"></div> 只考虑行间样式的话 ...