一、什么是数据类型

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

  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. 12.8 typora快捷键

    Markdown学习 标题: n个#号 字体 粗体:要加粗的字两边加两个** 如 ** 粗体** 斜体:两边一个*号 斜体加粗: 两边三个*号 删除线:两边两个波浪号 引用 github 左边一个大于 ...

  2. 还在担心CC攻击? 让我们来了解它, 并尽可能将其拒之服务之外.

    还在担心CC攻击? 让我们来了解它, 并尽可能将其拒之服务之外. CC攻击是什么? 基本原理 CC原名为ChallengeCollapsar, 这种攻击通常是攻击者通过大量的代理机或者肉鸡给目标服务器 ...

  3. Java有没有goto?

    goto是Java中的保留字,暂时还不是Java的关键字.

  4. hdu 1175 连连看 DFS_字节跳动笔试原题

    转载至:https://www.cnblogs.com/LQBZ/p/4253962.html Problem Description "连连看"相信很多人都玩过.没玩过也没关系, ...

  5. Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

    Elasticsearch 提供的首个近似聚合是 cardinality 度量.它提供一个字段的基数, 即该字段的 distinct 或者 unique 值的数目.它是基于 HLL 算法的.HLL 会 ...

  6. 什么是 UML?

    UML 是统一建模语言(Unified Modeling Language)的缩写,它发表于 1997 年,综合了当时已经存在的面向对象的建模语言.方法和过程,是一个支持模型 化和软件系统开发的图形化 ...

  7. Linux文件管理 | Liunx 常用命令

    文件与目录基本操作 目录: 一.显示文件内容 cat 命令 more 命令 less 命令 head 命令 tail 命令 二.文件内容查询(grep) 三.文件查找命令 find 命令 locate ...

  8. 《剑指offer》面试题1:赋值运算函数

    面试题1:赋值运算函数 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数 class CMyString { public: CMyString(char* pData = NU ...

  9. 专家PID

    前面我们讨论了经典的数字PID控制算法及其常见的改进与补偿算法,基本已经覆盖了无模型和简单模型PID控制经典算法的大部.再接下来的我们将讨论智能PID控制,智能PID控制不同于常规意义下的智能控制,是 ...

  10. html5网页录音和语音识别

    背景 在输入方式上,人们总是在追寻一种更高效,门槛更低的方式,来降低用户使用产品的学习成本.语音输入也是一种尝试较多的方式,有些直接使用语音(如微信语音聊天),有些需要将语音转化为文字(语音识别).接 ...