目录
前言:
一、数值
数值介绍
1.整数
1)整数介绍
2)整数类型是 不可变 类型
3)小整数池
2.浮点数
1)浮点数介绍
3.类型转换
1)其它转为整数
2)其它转为浮点数
4.常用数学函数
1)Python 内置 math 库
2)Python 内置方法
二、布尔
1.布尔类型
1)布尔类型介绍
2)bool函数
3)布尔类型的运算
2.空值
1)空值的介绍
三、字符串
1.字符串介绍与创建
1)字符串介绍
2)字符串创建
2.深入字符串
1)不可变序列
2)字符串下标(索引)
3)字符串切片
3.字符串格式化之挖坑填坑法则
1)挖坑填坑法则简介
2)刨坑填坑法宝之 %s 与 %d
3)刨坑填坑法宝之 str.format()
4)刨坑填坑法宝之 f”“
4.类型转换
1)其它转为字符串
5.常用方法
前言:
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'>
⚠️注意:无论浮点数的小数部分值是什么,使用int( )函数转化时,只会保留整数部分,而将小数部分舍去。因此在求浮点数的四舍五入之类的问题时,应该避免直接使用int函数。
2)其它转为浮点数
Python 提供的 float(被转对象) 函数,还可以将 整数 转为 浮点数
>>>a=3
>>>float(a)
>>>type(a)
<class 'float'>
⚠️注意:保留一位小数,即x.0
4.常用数学函数
1)Python 内置 math 库
对于简单的 加减乘除 可以通过 运算符 实现,如果要使用 Python 帮助你实现更复杂的计算, math 库必须了解。主要方法如下:
函数 | 功能描述 |
math.fabs(x) | 返回x的绝对值 |
math.ceil(x) | 返回x的上入整数 |
math.floor(x) | 返回x的下舍整数 |
math.sqrt(x) | 返回x的平方根 |
math.pow(x,y) | 返回x的y次方 |
math.log(x,base) | 返回以base为基数x的对数 |
math.log 10(x) | 返回以10为基数x的对数 |
math.sin(x) | 返回x弧度的正弦值 |
math.cos(x) | 返回x弧度的余弦值 |
math.tan(x) | 返回x弧度的正切值 |
math.pi | 返回Π的值 |
2)Python 内置方法
函数 | 功能描述 |
max(x,y,z,...) | 返回x,y,z,....中的最大值 |
min(x,y,z,...) | 返回x,y,z,....中的最小值 |
abs(x) | 返回x的绝对值 |
round(x) | 返回x四舍六入五成偶的值 |
二、布尔
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. 其中 {} 为占坑符
一般都用f'{}'
4.类型转换
1)其它转为字符串
Python 提供的 str(被转对象) 函数,可以将 其它类型 转为 字符串。
>>>a = 1000
>>>str(a)
>>>type(a)
<class 'str'>
5.常用方法
Python 字符串自带了非常多的方法,帮助你花式操作字符串。主要方法如下:
方法 | 功能描述 |
S.find(元素) | 查找元素所在的最小索引,未找到则返回-1 |
S.index(元素) | 查找元素所在的最小索引,未找到则报错 |
S.replace(旧值,新值) | 以新值替换旧值 |
S.split() | 使用空格字符串分隔为多个词,并返回列表 |
S.startswith(前缀) | 判断字符串是否以前缀开始,返回为bool值 |
S.lower() | 将字符串全部转为小写 |
S.upper() | 将字符串全部转为大写 |
S.strip() | 默认去掉字符串左右的空格 |
S.join(可迭代对象) | 将序列中的元素以指定的字符连接生成一个新的字符串 |
S.isalpha() | 检测字符串是否只由字母组成,返回的是bool值 |
S.isdigit() | 检测字符串是否只由数字组成,返回的是bool值 |
S.isspace() | 检测字符串是否只由空格组成,返回的是bool值 |
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('江苏省'))