一、什么是数据类型

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

  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. 恢复训练(学不动了摸会鱼) Pt. 1

    本来下午想把pre稿子写了,咕咕咕. 群论是啥也不会了,写个polya试试(手动doge)为什么博客媛没有emoji,以后万一自己搭博客一定要加上这个小东西 polya淼题:poj1286 先复吸一下 ...

  2. 半吊子菜鸟学Web开发4 --Html css学习2

    1<a>标签,链接到另一个页面 <a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a> H ...

  3. Redis常见问题及其场景问题

    假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以 某个固定的已知的前缀开头的,如果将它们全部找出来?   使用 keys 指令可以扫出指定模式的 key 列表. 对方接着追 ...

  4. Oracle问题解决记录

    一.前言 oracle这么一个庞大的东西,出点问题真是太常见了.开个博客,用于记录遇到的问题吧. 持续更新. 二.问题列表 归档日志满,引起的问题. 一台服务器,用了很久了,某天,出现了磁盘空间占满的 ...

  5. 为什么要用 Dubbo?

    随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越 复杂,诞生了面向服务的架构体系(SOA), 也因此衍生出了一系列相应的技术,如对服务提供.服务调用.连接处理.通信 协议.序列化 ...

  6. Mac SVN Cornerstone 安装使用详解

    Cornerstone 是收费软键,这里提供一个破解版 ,安装后需要输入安装密码:www.ifunmac.com 链接:https://pan.baidu.com/s/1LqY2s8vEJAQ9JJh ...

  7. Memcached 服务分布式集群如何实现?

    特殊说明:Memcached 集群和 web 服务集群是不一样的,所有 Memcached 的数据总和才是数据库的数据.每台 Memcached 都是部分数据.(一台 memcached 的数据,就是 ...

  8. springboot-数据库访问之mybatis

    选中mysqldirver,数据库驱动器 选中jdbc ,帮我们配置数据源,连接数据库 选中mybatis,持久层 <!-- 这个不是springboot官方出来的,是mybatis为了设备sp ...

  9. 学习openstack(六)

    VIII openstack(1) 传统的数据中心面临的问题:成本.效率(要快).管理方面(物理机.云主机): 云计算:对运维需求总体量是减少了,尤其是硬件工程师,对运维的技术要求提高了: 云计算是个 ...

  10. Failed to write HTTP message,Could not write JSON错误

    今天遇到使用@ResponseBody注解返回json数据时报错 Failed to write HTTP message: org.springframework.http.converter.Ht ...