python基本数据类型
笔记内容:基本数据类型
笔记日期:2017-10-20
基本数据类型
在python中变量不需要声明数据类型,但是每个变量使用前都必须先赋值,只有赋值后变量才会被创建。所以在python中变量就是变量没有类型,我们所说的类型是变量所指向的内存地址中的类型。 和其他大部分编程语言一样,python中给变量赋值也是用等于号 = ,左边是变量名,右边是需要存储在这个变量中的值或者说数据。 代码示例:
num=10 #整数类型print(num)
运行结果:
10
多个变量赋值
python可以允许同时给多个变量赋值,但是建议不要使用这种写法,因为看着挺乱的,示例:
a = b = c = 10
以上这个示例,把10这个值赋给了a、b、c这三个变量上,过程是这样的:10先赋给了c,然后c的值赋给了b,b的值又赋给了a。 除此之外也可以同时给多个变量赋不同类型的值,示例:
a,b,c=10,12.5,"string"
以上这个示例,把10这个值赋给了a,把12.5赋给了b,把”string”这个字符串赋值给了c。
标准数据类型
python中有六个标准的数据类型,也可以说是数据对象:
- Number (数字、整数类型)
- String (字符串类型)
- List (列表)
- Tuple (元组)
- Sets (集合)
- Dictionary (字典)
Number(数字、整数类型)
Python3 支持 int、float、bool、complex(复数)。 在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间。 当你给一个变量赋值一个整数时,Number对象就会被创建。 像大多数语言一样,数值类型的赋值和计算都是很直观的。 内置的 type() 函数可以用来查询变量所指的对象类型,类似于JavaScript中的typeof。 代码示例:
num=10 #整数类型
print(type(num))
运行结果:
<class 'int'>
或者使用isinstance来判断 ,示例:
a=10print(isinstance(a,int))
运行结果:True
isinstance与type的区别:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
Python 支持四种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
- 浮点类型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 布尔类型- 虽然布尔类型的值在python3中定义为关键字True和False,但是实际上还是0和1,可以与数字相加
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。 代码示例:
num=10 #整数类型
fudian=12.5 #浮点类型
boolean=True #布尔类型
test=4+3j #复数类型
print(type(num))
print(type(fudian))
print(type(fudian))
print(type(test))
运行结果:
<class 'int'> <class 'float'> <class 'float'> <class 'complex'>
可以使用十六进制和八进制来代表整数,示例:
number = 0xA0F # 十六进制 print( number) 打印结果:2575 number=0o37 # 八进制 print( number) 打印结果:31
String (字符串类型)
字符串是 Python 中最常用的数据类型,我们可以使用单引号或者双引号来创建字符串。 Python 不支持单个字符类型,也就是C或Java中的char类型,即便赋值的是单个字符在Python中也是作为一个字符串使用。 创建字符串很简单,只要为变量赋值一个使用引号引起来的值即可。例如:
var1="Hello"
var2="World"
print(type(var1))
print(type(var2))
运行结果:
<class 'str'> <class 'str'>
Python 访问字符串中的子字符
Python 访问单个子字符串可以使用字符串下标来取值,访问多个子字符串,可以使用方括号来截取字符串,代码示例:
var1="Hello World"
print(var1[0]) #拿取字符串下标为0的字符串
print(var1[0:5]) #拿取字符串下标0-5的子字符串
运行结果:
H Hello
字符串下标: 字符串下标是从0开始的 var1=”Hello World” ||||||||| 012345678
字符串拼接: 字符串与字符串之间可以进行拼接,直接使用 + 号就能进行拼接,代码示例:
var1 = "Hello"
var2 = "World"
print(var1 + var2)
运行结果:
HelloWorld
Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠()转义字符。
del: del关键字可以删除对象的引用,使用del可以删除单个或多个变量,例如:
del num #删除单个 del num_1,num_2 #删除多个
删除后这个变量就不能再使用了,使用的话就会报错,错误示例:
a=10 del a print(a) 运行就会报如下错误: Traceback (most recent call last): File “E:/PythonProject/Number.py”, line 5, in print(a) NameError: name ‘a’ is not defined
- 使用hive客户端java api读写hive集群上的信息
- 大数据算法设计模式(1) - topN spark实现
- redis性能调优笔记(can not get Resource from jedis pool和jedis connect time out)
- thrift例子:python客户端/java服务端
- springboot与thrift集成实现服务端和客户端
- 调用{dede:likewords}为dedecms添加相关搜索词
- 重新调整Keras中长短期记忆网络的输入数据
- Linux内存(手动释放cache)
- django中间件Middleware
- springboot kafka集成(实现producer和consumer)
- 分布式锁的实现(redis)
- springboot scheduled并发配置
- RabbitMQ高可用集群配置
- zookeeper curator处理会话过期session expired
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- storm安装教程
- 服务器性能监控神器nmon使用介绍
- makefile从入门到入门
- 服务器如何同步网络时间
- 用Bi-GRU语义解析,实现中文人物关系分析
- 控制梦境
- 引号吃掉了我的数据~~~
- 每日一题 | 召唤兽问题
- WMI ——重写版
- LeetCode009|只出现一次的数字
- 丢弃掉那些 BeanUtils 工具类吧,MapStruct 是真香!!!
- 还在「黑盒炼丹」? 教你如何实现一行代码透视炼丹过程
- SpringCloud Alibaba微服务实战十九 - 集成RBAC授权
- 混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
- 打卡群刷题总结0810——从前序与中序遍历序列构造二叉树