python基础01—基础数据类型
数据类型
单位换算
- 最小的单位为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 = 0b 001 010 011
- 十六进制
- 基数09、AF,逢16进1,python中以'0x'开头
- 示例:0xAB = 10 * 16^1 + 11 * 16^0 = 160 + 11 = 171
- 十六进制转二进制:十六进制1位表示4位二进制
- 0xABC = 0b 1010 1011 1100
- 计算机中的数据是以哪种进制存储的?为什么?
- 二进制,因为计算机只识别二进制,具体原因如下:
- 稳定性高(只有0和1),成本低(技术上容易实现),与生活中的真假逻辑相吻合
- 计算机中的数据是如何存储的?
- 如何存储负数?
- 最高位作为符号位,0表示正数,1表示负数
- 虽然牺牲了最不常用的最高位,但是解决了负数问题,并且简化了硬件设计(节约成本)
- 原码、反码、补码?
- 正数的三码一致,只有负数才有反码和补码
- 反码等于原码的符号位不变,其余位取翻
- 补码等于对于的反码加1
- 计算机中的数据都是以补码的形式存在
- 如何存储负数?
数据类型
数据类型是为了处理不同的运算而存在,
python中的数据类型有:整型、浮点、字符串、列表、元组、字典、集合、空
整型(int):就是数学中的整数
浮点(float):就是数学中的小数
# 小数(浮点数)
b = 3.14
print(type(b)) # 科学计数法
c = 3.14e-3
print(c)
布尔(bool):与生活中的真假逻辑相对应
# bool类型,只有两个值,True和False
d = False
print(type(d))
空(NoneType):是一个特殊的类型,只有一个值(None)
字符串(str):用引号括起来的一串字符
- 单引号或双引号都可以,也可以使用三个单引号或双引号
- 单引号中的单引号及双引号中的双引号都需要转义
- 转义字符:换行(\n)、制表(\t)等
- 有时''也需要转义
- 一行显示不完时,换行处理
g = 'hello' \
' world'
print(g) h = 'hello \
world'
print(h) i = '''
abc
def
123
'''
print(i)
- 统计字符个数
# 无论什么字符,都是一个长度
s = 'hello你好'
print(len(s))
- 字符串拼接
# 直接拼接
s2 = 'hello' + 'world'
print(s2) # 指定的字符串重复若干次,然后拼接一起
s3 = 'abc' * 3
print(s3)
- 提取单个字符
s4 = '123456'
# 从开头提取,下表从0开始
print(s4[0])
# 从末尾提取,下表从-1开始
print(s4[-2])
- 字符串切片(提取一段)
s5 = 'abcdefg'
# s[起始下表:结束下表],包括起始下表元素,不包括结束下表元素
print(s5[0:3])
# 从开头提取到指定位置
print(s5[:4])
# 从指定下表提取到结尾
print(s5[3:])
# 下表为1开始,提取到倒数第二个,不包括倒数第二个
print(s5[1:-2])
# 提取最后4个字符
print(s5[-4:])
# 提取全部
print(s5[:])
# 指定步进值,默认为1
print(s5[::2])
# 字符串逆序
print(s5[::-1])
- 格式化
name = 'goudan'
like = 'wangdahua'
age = 18 print('我叫%s,暗恋%s,她今年%d岁了' % (name, like, age)) # 字符 => ASCII
print(ord('a'))
# ASCII => 字符
print(chr(65)) print('我叫{},喜欢{},今年{}岁了'.format(name, like, age))
print('我叫{2},喜欢{1},今年{0}岁了'.format(name, like, age))
print('我叫{nm},喜欢{lk},今年{a}岁了'.format(nm=name, lk=like, a=age))
%s:给字符串占位的
%d:给整型数据占位
%f:给浮点数占位
%c:给字符占位
ASCII:
09:4857
AZ:6590
az:97122
列表(list):通过[]定义,里面可以存放任意类型的数据
- 取值:lt[0]、lt[-1]
- 列表是可以修改的,lt[1] = '小敏'
- 存在越界问题
- 也可以进行 '+' 和 '*' 的运算
- 也可以进行切片操作
- lt[:] = [],表示清空列表
- lt[:2] = [],删除前两个元素
元组(tuple):通过()定义,其他操作与列表相同
- 元组不可修改
- 当只有一个元素时,元素后要添加一个逗号
集合(set):使用{}定义,
- 空的集合不能使用大括号定义(留给字典用的),使用set()定义
- 集合是不可修改
- 集合中的元素时无序的
- 集合中的元素不能重复
- 简单使用
s = {'李白', '杜甫', '白居易', '苏轼', '陶渊明', '李白'}
s2 = {'李白', '李商隐', '杜牧', '苏轼'}
print(type(s))
print(s)
# 交集
print(s & s2)
# 并集
print(s | s2)
# 差集
print(s - s2)
print(s2 - s) # 空的集合这样定义,不能使用{}
s3 = set()
print(type(s3))
字典(dict):通过{}定义
- 元素是由键值对组成的
- 键和值之间使用':'连接
- 字典中的键是唯一的,值可以是任意的
- 字典是可变的
- 简单使用:
d = {'name': 'xiaoming', 'age': 18}
print(d)
print(type(d)) # 根据键提取对应的值
print(d['name']) # 键不存在时会报错
# print(d['abc'])
# 键存在返回对应的值,键不存在返回None,也可以自定义默认值
print(d.get('abc', '默认值')) # 没有则添加键值对
# d['hello'] = 'world'
# 已存在则修改
d['name'] = 'xiaofang'
# 删除元素
# del d['name']
# print(d) # len返回的是键值对的个数
print(len(d))
强制类型转换
int() # 转化为整型
float() # 转换为浮点数
str() # 转换字符串
list() # 转换为列表
tuple() # 转换为元组
set() # 转换为集合
dict() # 转换为字典 l = [('name', 'xiaoming'), ('age', 18)]
# 将列表转化为字典
d1 = dict(l)
print(d1)
列表的去重,列表 => 集合 => 列表
获取变量地址
a = 10
print(id(a))
python基础01—基础数据类型的更多相关文章
- MSSQLServer基础01(数据类型)
数据库设计:范式 现阶段,必须遵守满足3NF 1范式:列的原子性,即列不可再拆分 2范式:表中不能描述多个信息,不能有数据冗余 3范式:引用其它表的主键信息 数据类型的意义: 1>提高效率.(减 ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- python基础部分----基本数据类型
0.文章来源:http://www.cnblogs.com/jin-xin/articles/7562422.html 1.数字 2.bool 3.str字符串 3.1.字符串的索引与切片. 索引即下 ...
- python变量与基础数据类型
一.什么是变量 变量是什么? 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用.在python中一切都是变量. 1.python变量命名的要求 1,必须有数字,字母,下划线任意组合. ...
- python基础(基础数据类型)
一. 引子 1. 什么是数据 x=10,10是我们要存储的数据 2. 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型 数字 字符串 列表 元组 字 ...
- Python基础(2) - 动态数据类型
Python是一门强类型语言,单定义变量时不需要制定类型. C#这样定义变量: ; VB这样定义变量: Python不需要制定类型,给变量赋什么类型的值,它就是什么类型.(穿神马就是神马?) > ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...
- 二.Python基础语法和数据类型
Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 ...
随机推荐
- easylogging++学习记录(二):流式日志
easylogging++日志库流式日志的写入,依赖于el::base::Writer类的析构,以debug日志为例:具体代码如下: #define LOG(LEVEL) CLOG(LEVEL, EL ...
- xcode添加build phase
[xcode添加build phase] xcode版本:5.0.2,找了半天,终于找到add build phase的方法,如下图.
- SolrCloud中的文件与Collection管理
转载请出自出处:http://eksliang.iteye.com/blog/2124078 http://eksliang.iteye.com/ 一.内嵌启动SolrCloud时端口默认分配 当 S ...
- java就业指南 zookeeper分布式系统 zookeeper实现分布式锁 有用
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们“任何一个 分布式系统都无法同时满足一致性(Consistency).可用性 ...
- Extend volumn in ubuntu 14.04
运行环境: ubuntu 14.04, VMware12.5.7 1. VMware上点击 虚拟机->设置->硬盘(SCSI)->扩展选项,设置自己希望的ubuntu磁盘运行空间大小 ...
- QT开发环境
代码实现界面和槽 代码实现界面和槽 在上述工程的dialog.h中添加如下加黑代码: 加入头文件: #include <QLabel> #include <QLineEdit> ...
- 编写高质量代码改善C#程序的157个建议——建议14: 正确实现浅拷贝和深拷贝
建议14: 正确实现浅拷贝和深拷贝 为对象创建副本的技术称为拷贝(也叫克隆).我们将拷贝分为浅拷贝和深拷贝. 浅拷贝 将对象中的所有字段复制到新的对象(副本)中.其中,值类型字段的值被复制到副本中后, ...
- Android 基于google Zxing实现对手机中的二维码进行扫描
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 有时候我们有这样子的需求,需要扫描手机中有二维码的的图片,所以今天实现的 ...
- 2014-4-2解决无法访问github和google的问题
github是个好地方,但是上不去就蛋疼了. 今天github上不去,果断f12下,看下network,发现里面好多请求都是指向 github.global.ssl.fastly.net这个域名的,然 ...
- C++初始化,之不明白篇 cout<<x<<endl 与 cout<<"x = "<<cout<<x<<endl的输出的值会不一样
代码如下 #include <iostream> using namespace std; class point { public : int x; int y; ...