Python --- (数据类型)数值、布尔、字符串

发布于:2022-11-29 ⋅ 阅读:(448) ⋅ 点赞:(0)

目录

前言:

一、数值

数值介绍

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'>

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('江苏省'))

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到