Python基础—02-数据类型
数据类型
存储单位
- 最小单位是bit,表示二进制的0或1,一般写作b
- 最小的存储单位是字节,用byte表示,1B = 8b
- 1024B = 1KB
- 1024KB = 1MB
- 1024MB = 1GB
- 1024GB = 1TB
- 1024TB = 1PB
- 2^32 = 2^10 * 2^10 * 2^10 * 2^2 = 4GB
进制转换
- 十进制:
- 基数为0~9,逢10进1
- 示例:123 = 1 * 10^2 + 2 * 10^1 + 3*10^0 = 100 + 20 + 3 = 123
- 二进制:
- 基础0和1,逢2进1,python中使用'0b'表示
- 示例:0b110100 = 2^5 + 2^4 + 2^2 = 32 + 16 + 4 = 52
- 十进制转二进制:除2取余,倒序书写
- 22 = 0b10110
- 八进制:
- 基数0~7,逢8进1,python中使用'0o'表示
- 示例:0o123 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0 = 64 + 16 + 3 = 83
- 八进制转二进制:八进制的1位表示3位二进制数
- 0o123 = 0b001 010 011
- 十六进制:
- 基数09、AF,逢16进1,python中使用'0x'表示
- 示例:0xAB = 10 * 16^1 + 11 * 16^0 = 160 + 11 = 171
- 十六进制转二进制:十六进制1位表示4位二进制数
- 0xABC = 0b1010 1011 1100
- 计算机中的数据,是以哪种进制存储的?为什么?
- 二进制,因为计算机设计时只识别二进制。具体原因如下:
- 稳定性高(0和1)、成本低(技术上易实现)、与生活中的真假逻辑相吻合(易于解决实际问题)
- 计算机中的数据如何存储?
- 如何存储负数?
- 最高位作为符号位:0表示正数,1表示负数
- 虽然牺牲了最高位,但是可以解决负数存储问题,进而简化了硬件设计成本
- 原码反码和补码
- 正数的三码一致,只有负数才有反码和补码
- 负数的反码等与原码符号位不变,其余位取反
- 负数的补码等于反码加1
- 计算机中的数据都是以补码存储的
- 如何存储负数?
数据类型
不同的数据类型都是为了解决实际问题而出现,就是为了进行各种运算而存在
Python中常用数据类型:整型、浮点、布尔、字符串、列表、元组、字典、集合、空等
整型(int):就是数学中的整数
浮点(float):就是数学中的小数
pi = 3.14
print(pi)
print(type(pi)) # 科学计数法
b = 3.14e-3
print(b)复数(complex):了解
c = 3 + 5j
print(type(c))布尔(bool):只有True/False两个值,对应于生活中的真假
空(NoneType):只有一个值None
字符串(str):使用引号括起来的一串字符
- 可以使用单引号双引号或者三引号定义
- 转义:就是时特定的字符失去原有的意义,使用''进行转义
- 单引号中的单引号,双引号中的双引号
- 很多时候''也需要转义
- 特殊:'\n'表示换行,'\t'表示制表
列表(list):通过[]进行定义,可以存储一系列的任意数据,可以添加删除元素
- 示例
lt = [1, 3.14, 'hello']
print(lt)
print(type(lt))
# 提取元素,下表从0开始,存在越界问题
print(lt[0])元组(tuple):通过()进行定义,可以存储一系列的任意数据,不可以添加删除元素
- 示例
tp = ('小芳', '小敏', '小杜')
print(tp)
print(type(tp))
print(tp[0]) # 定义单个元素的元组时需要添加一个','
tp2 = (123,)
print(type(tp2))集合(set),使用{}进行定义,可以存贮一系列的任意数据,集合中的数据不能重复
- 示例
s = {'李白', '辛弃疾', '苏东坡', '欧阳修', '李白', '杜甫'}
s2 = {'李白', '宋晓峰', '杜甫'}
print(s)
print(type(s))
# 交集
print(s & s2)
# 并集
print(s | s2)
# 差集
print(s - s2)
print(s2 - s) # 定义空集合,不能使用{},这是留给定义空字典使用的
# s3 = {}
s3 = set()
print(type(s3))字典(dict),使用{}进行定义
- 元素是由键值对组成
- 键和值之间使用':'连接
- 字典中的键时唯一的,值可以是任意的
- 字典中的元素可以添加和删除
- 示例:
a = 10
print(id(a))
# 通过id可以获取变量的地址
# a = 20
# print(id(a))
b = 10
print(id(b))
类型转换
隐式类型转换:运算、条件判断等
强制类型转换:使用专门的函数就行类型转换
int:转换为整型,可以通过base参数指示带转换数据的格式
float:转换为浮点数
str:转换为字符串
list:转换为列表,参数必须是可迭代对象(str、tuple、set、dict)
tuple:转换为元组,使用方法同上
set:转换为集合,使用方法同上
dict:转换为字典,参数的内容必须是成对出现的
获取变量地址
函数:id
示例:
a = 10
print(id(a))
# 通过id可以获取变量的地址
# a = 20
# print(id(a))
b = 10
print(id(b))说明:了解,不要深究
Python基础—02-数据类型的更多相关文章
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...
- python基础一数据类型之集合
摘要: python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合. 1,集合的定义 2,集合的功能 3,集合的方法 1,集合的定义 list1 = [1,4,5,7,3,6,7,9] set1 ...
- python基础一数据类型之元祖
摘要: python基础一中写到数据类型元祖,那么这篇主要讲元祖. 1,元祖定义 tuple1 = (1,2,'a','b') 元祖是不可变数据,所以又名只读列表.那么如何让是元祖可变呢?可以在元祖中 ...
- python基础一数据类型之列表
摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...
- Python基础一数据类型之数字类型
摘要: python基础一中提到了数据类型,这里主要讲解的是数字类型. 数字类型: 1,整型 2,长整型 3,浮点型 4,复数型 1,整型(int) 定义a = 1 通过type函数查看数据类型,整型 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- Python学习day04 - Python基础(2)数据类型基础
<!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
随机推荐
- Javaweb三大组件-过滤器、监听器
1. 过滤器 [filter] 作用: 对单个获取多个servlet起到增强[advice]的作用. 用于在所有的servlet执行前,做一些预处理.例如:做编码处理, 访问量统计[servletCo ...
- module.exports和 exports 方法暴露
在Node.js包管理时需要把方法暴露给外部文件 文件:Hello.js Hello方法是模仿面向对象类的写法 function Hello() { var name; this.setName ...
- attribute和property的区别
DOM元素的attribute和property很容易混倄在一起,分不清楚,两者是不同的东西,但是两者又联系紧密.很多新手朋友,也包括以前的我,经常会搞不清楚. attribute翻译成中文术语为“特 ...
- 多结果集IMultipleResult接口
在某些任务中,需要执行多条sql语句,这样一次会返回多个结果集,在应用程序就需要处理多个结果集,在OLEDB中支持多结果集的接口是IMultipleResult. 查询数据源是否支持多结果集 并不是所 ...
- 02_Redis数据类型(String、Hash)
[Redis数据类型] redis是通过key-Value来存储的,其支持的数据类型如下: 1.字符串 2.Hash 3.List 4.Set 5.SortSet(zset) 注:redis中,命令( ...
- Android 时间范围选择器PickTimeDialog
个人提供了自己封装的第三方时间选择器,能够自定义时间格式,以及设置时间范围. 基础使用 PickTimeDialog pickDilog= new PickTimeDialog(this).setMa ...
- cocos2d-x 学习笔记之 CCMenuItemToggle用法
想做用cocos2d-x做一个登陆界面,界面有有个记住账号的功能,但是该引擎我没有找到类似checkbox的类,考虑到Toggle也是开关即0和1,故考虑用这个类来实现. CCMenuItemImag ...
- python 按值排序
转自:http://www.cnpythoner.com/post/266.html,感谢分享! python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需 ...
- dos.ORM配置和使用
处理oralce,sqlserver,access及其他常用数据库,下载和学习地址 1.web.config配置数据库连接字符串,以及数据库类型: <connectionStrings>& ...
- C# 取整问题
关于C#里的取整问题,有向上和向下两种取整方式[1]向上取整a=1.2345string res = Math.Ceiling(Convert.ToDecimal(a)).ToString();str ...