一、什么是数据类型

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

  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. 什么叫 CC 攻击?什么叫 DDOS 攻击?

    CC 攻击,主要是用来攻击页面的,模拟多个用户不停的对你的页面进行访问,从而使你的系统资源消耗殆尽.DDOS 攻击,中文名叫分布式拒绝服务攻击,指借助服务器技术将多个计算机联合起来作为攻击平台,来对一 ...

  2. 如何规划一台 Linux 主机,步骤是怎样?

    1.确定机器是做什么用的,比如是做 WEB .DB.还是游戏服务器.不同的用途,机器的配置会有所不同.    2.确定好之后,就要定系统需要怎么安装,默认安装哪些系统.分区怎么做.    3.需要优化 ...

  3. git-learningmeiy

    什么是版本控制-版本迭代: 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件.目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术. ...

  4. SQL 注入漏洞产生的原因?如何防止?

    SQL 注入产生的原因:程序开发过程中不注意规范书写 sql 语句和对特殊字符进 行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行. 防止 SQL 注入的方式: ...

  5. String s = new String(“xyz”);创建了几个字符串对象?

    两个对象,一个是静态区的"xyz",一个是用 new 创建在堆上的对象.

  6. centos简单命令备忘

    1.查看当前目录 [root@instance-aif30iaj bin]# df -h 2.查看指定目录 在命令后直接放目录名,比如查看"usr"目录使用情况: [root@in ...

  7. ACM - 最短路 - CodeForces 295B Greg and Graph

    CodeForces 295B Greg and Graph 题解 \(Floyd\) 算法是一种基于动态规划的算法,以此题为例介绍最短路算法中的 \(Floyd\) 算法. 我们考虑给定一个图,要找 ...

  8. Linux内核, 编译一个自己的内核

      本文,我们将一步一步地介绍如何从源代码编译和安装一个Linux内核.需要注意的是本指导基于Ubuntu 20.04版本编译安装,其它发行版可能会有差异. 在前面文章中我们反复提到过Linux内核, ...

  9. 纯CSS实现柱形图

    CSS在处理排版之强大,没有做不到,只有想不到.下面我们将一同实现一个柱状图. 先打好一个具体的框架.我们利用无序列表做整体,里面的东西我们根本选择内联无素span,strong,em来填充. < ...

  10. web前端教程《每日一题》(1-99)完结

    第1期(2016年4月6日): (1)js中关闭当前窗口的方法是:window.close(); 第2期(2016年4月7日): (1)js中使字符串中的字符变为小写的方法是:toLowerCase方 ...