一、什么是数据类型

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

  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. char型变量中能不能存贮一个中文汉字?为什么?

    char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么 ...

  2. hackgame2018_签到

    hackgame2018_签到 进入题目得到如下提示 尝试提交 发现这个输入框长度做了限制我们将前端js修改一下 然后提交以下这样就发现了flag这题比较简单--

  3. javascript 理解和使用回调函数

    在javascript中,function是内置的类对象,也就是说它是一种类型的对象,可以和其他String.Array.Number.Objec类的对象一样用于内置对象的管理.因为function实 ...

  4. 使用Bootstrap typeahead插件实现搜索框自动补全的配置参数。

    示例代码: <input type="text" id="addr"/> <input type="text" hidde ...

  5. chrome插件one-read开发1:准备

    阅读我的博客文章:chrome插件one-read开发:准备 前言 为啥要做这个,因为我原本想用chrome做一个书签管理的东西,但是很久没有碰过chrome的插件开发了.所以先做一个简单的,来熟悉下 ...

  6. 使用Web存储API存取本地数据

    使用Web存储API TODO:本文由 赤石俊哉 翻译整理,您可以将本文自由地用于学习交流.如需用于其他用途请征得作者的同意. 原文链接:Using the Web Storage API - Moz ...

  7. ES6-11学习笔记--Promise

    Promise是ES6异步编程解决方案之一,简化以前ajax的嵌套地狱,增加代码可读性.   基本用法: resolve,成功 reject,失败 let p = new Promise((resol ...

  8. 前端面试题整理——VUE双向绑定原理

    VUE2.0和3.0数据双向绑定的原理,并说出其区别. 代码: <!DOCTYPE html> <html lang="en"> <head> ...

  9. 【Android开发】【第三方SDK】蒲公英摇一摇

    摇一摇用户信息反馈功能:用户通过摇晃手机或者触发按钮,弹出反馈信息界面,填写个人意见,上传服务器的功能. 1. 蒲公英官网注册应用,获取AppId作为唯一标识: 2. 下载sdk,获取pgyer_sd ...

  10. tcp和udp的头部信息

    源端口号以及目的端口号:   各占2个字节,端口是传输层和应用层的服务接口,用于寻找发送端和接收端的进程,通过这两个端口号和IP头部的ip发送和接收号,可以唯一的确定一个连接.   一般来讲,通过端口 ...