目录
前言:
Python中常用的数据类型:
本篇文章只涉及(基本数据类型)前三种数据类型,(组合数据类型)其余的在之后的文章中再说明!
一、数值
数值介绍
在 Python 程序中,如果需要对数据进行计算,则主要使用数值。数值主要包括 整数 、浮点数 。
1.整数
1)整数介绍
整数主要分为正整数(如:666)、 负整数(如:-666)以及零。在 Python 中,使用 int 表示整数类型。
>>>type(1)
<class 'int'>
2)整数类型是 不可变 类型
在 Python 中,整数类型是不可变类型, 整数对象是不可变对象。修改整数对象时, Python 将以 新数值创建一个新对象,变量名与新对象进行绑定; 旧对象如无其他引用,将被释放。
3)小整数池
在 Python 自己的运行环境中,会频繁使用 [-5,256] 这一范围内的整数,如果每需要一个,就创建 一个,那么无疑会增加很多开销,降低运行效率。 所以 Python 在初始化的时候会自动建立一个 小整数池缓冲区,里面包含 -5 到 256 的整数。也就 是说,当你要使用 -5 到 256 范围内的整数时,直接从小整数池中拿来用即可。
2.浮点数
1)浮点数介绍
浮点数由 整数部分 与 小数部分 组成(如:3.1415)。在 Python 中,使用 float 表示浮点数类型。
>>>type(3.14)
<class 'float'>
3.类型转换
1)其它转为整数
Python 提供的 int(被转对象) 函数,还可以将 浮点数 转为 整数
>>>a=3.14
>>>int(a)
>>>type(a)
<class 'int'>
2)其它转为浮点数
Python 提供的 float(被转对象) 函数,还可以将 整数 转为 浮点数
>>>a=3
>>>float(a)
>>>type(a)
<class 'float'>
4.常用数学函数
1)Python 内置 math 库
对于简单的 加减乘除 可以通过 运算符 实现,如果要使用 Python 帮助你实现更复杂的计算, math 库必须了解。主要方法如下:
2)Python 内置方法
二、布尔
1.布尔类型
1)布尔类型介绍
在 Python 中,也有与 0、1 表现相似的数据类型——布尔类型(bool)。布尔类型是 int 类型 的延续,只有 True 与 False 两种取值: True ->> 真 False ->> 假
注意:
注意:布尔类型首字母大写,其它小写,不能其它花式变型!
2)bool函数
bool()函数 Python 提供的 bool(表达式) 函数,可以用来测试一个表达式的布尔值结果。
注意:
1. 对于数字来说,值 为 0 则表示 False,值 不为 0 则表示 True
2. 对于字符串、列表、元组、字典、集合等对象,若 为空 则表示 False,不为空 则表示 True
3)布尔类型的运算
True,False 分别对应计算机的0、1.
print(bool(True)+1) # 2
print(bool(False)+1) # 1
2.空值
1)空值的介绍
None 表示为 空值,其类型为 NoneType
>>>type(None)
<class 'NoneType'>
注意:
1. NoneType 只有 None 一个值
2. None 与其它值比较永远返回 False
3. None 的布尔值永远为 False
三、字符串
1.字符串介绍与创建
1)字符串介绍
在计算机中无时无刻都在使用文本,如 word 文档中的内容。而在 Python 中,则使用字符串 类型来表示文本内容。
2)字符串创建
字符串使用单引号或双引号来创建字符串,使用三引号创建多行字符串。
注意:
1. 引号必须都是英文状态下的
2. 单引号或双引号都需成对输出,不能一单一双
注意1:字符串做加法是拼接
print('我是'+'中国人') # 我是中国人
2.深入字符串
1)不可变序列
字符串是 不可变 序列的存储结构,不能修改字符串本身,和数值一样
解析: A. 对于数值类型而言,当 0 < num < 2**30 时,都只占有 28 个字节(了解即可)。 B. 对于字符串类型来说,一个空的字符串占有 49 个字节,"2" "0" "0" 分别占用一个字节,最终 "200" 所用 52 个字节。
2)字符串下标(索引)
由于字符串是序列数据结构,我们可以使用下标(索引)从字符串中取出某一个字母。
语法:字符串[某字母的下标]
注意1:
下标(索引)默认从 0 开始
注意:
1. s[下标],若下标超出 s 的长度则报错
2. 字符串是不可变数据类型,所以 s[下标] = ‘新值’则报错
3)字符串切片
如果你需要从字符串中取出一部分子字符串,可以使用切片实现。
切片语法:字符串[起始下标:结束下标]
注意:
1. 起始下标默认从 0 开始
2. 结束下标只能取到结束下标 前一位 的值(理解:左闭右开)
3.s[起始值:] ->> 不写结束下标则默认选择到最后一位
4. s[:] ->> 起始下标与结束下标都不写,则默认从头取到尾
切片语法:字符串[起始下标:结束下标:步长]
注意:
1. 步长默认为 1
2. 步长不能为浮点数
倒叙:
步长取负值
3.字符串格式化之挖坑填坑法则
1)挖坑填坑法则简介
刨坑填坑法则 : 1. 在字符串 需要使用变量 的地方 刨一个坑
2. 再使用对应的 变量名把坑填上
2)刨坑填坑法宝之 %s 与 %d
语法:"%s %s"%(变量名1,变量名2)
缺陷:%s %d %f 需要考虑填入变量的类型。
3)刨坑填坑法宝之 str.format()
语法:"{} {}".format(变量1,变量2)
注意:
1. 其中 {} 为占坑符
2. 默认情况是依次填入
4)刨坑填坑法宝之 f”“
语法:f"{变量1} {变量2}"
注意:
1. 其中 {} 为占坑符
4.类型转换
1)其它转为字符串
Python 提供的 str(被转对象) 函数,可以将 其它类型 转为 字符串。
>>>a = 1000
>>>str(a)
>>>type(a)
<class 'str'>
5.常用方法
Python 字符串自带了非常多的方法,帮助你花式操作字符串。主要方法如下:
1.S.find(元素) 索引从0开始
str = '1222223'
print(str.find('2'))
str = '1222223'
print(str.find('4'))
2.S.index(元素)
str = '1222223'
print(str.index('1'))
str = '1222223'
print(str.index('4'))
3.S.replace(old,new,[count])
S 是要执行替换的字符串或字符串变量,各参数的含义如下:
old : str 中要被替换的旧字符串;
new : 用于替换 str 中的新字符串;
count : 可选参数,指定 count 后,只有 str 中前 count 个旧字符串old被替换。
S = 'first day day is 人'
print(S.replace('day','dy',1))
4.S.split()
1)、split函数简介
Python中split()函数,具体作用如下:
- 拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list);
2)、语法
str.split(str="",num=string.count(str))[n]
str:表示为分隔符,默认为空格,但是不能为空(’’)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量。默认为 -1, 即分隔所有。
[n]:表示选取第n个分片
3)、分离字符串
str = 'www.baidu.com.cn'
1、以’ . '为分隔符
str = 'www.baidu.com.cn'
print(str.split('.'))
输出:
['www', 'baidu', 'com', 'cn']
2、分隔两次
wtr = 'www.baidu.com.cn'
print(str.split('.',2))
输出:
['www', 'gziscas', 'com.cn']
3、分割不限制,并取序列为2的项
str = 'www.baidu.com.cn'
print(str.split('.',-1)[1])
输出:
baidu
4、分割两次,并把分割后的3个部分保存到3个文件
u1, u2, u3 = str.split('.',2)
print(u1) #输出:www
print(u2) #输出:baidu
print(u3) #输出:com.cn
5、实例
str = "hello boy<[www.baidu.com]>byebye"
print(str.split("[")[1].split("]")[0])
2.S.startswith(前缀)
# 判断字符串是否以xx开头 startswith
v1 = input('请输入住址:')
print(v1.startswith('江苏省'))