Python 基础数据类型
- 为什么会有数据类型
数据类型可以更好分配管理内存,方便统一管理,以及更贴近人类废了管理习惯。目的,方便数据存储和读取。 - 数据类型种类
- 数值类型 --> int(整数)、bool(True or False)、float(浮点数)、complex(复数)
- 序列类型 --> 不可变(str、tuple、bytes)、可变(list)
- 集合类型 --> set
- 映射类型 --> dict
数值类型
- 数值类型是不可变类型
- 变量与数据类型没有任何关系
- Python支持三种不同的数值类型:整数、浮点数复数、布尔
- 整数(int)介绍
- 整数通常被称为整型,表示数字的时候,都是用十进制(decimal)来表示。
- 有时也会使用八进制或十六进制来表示:
- 十六进制用0x前缀和0-9,a-f表示 --> python中使用==hex()==转换
- 八进制用0o前缀和0-7表示 --> python中使用==oct()==转换
- 二进制用0b前缀和0-1表示 --> python中使用==bin()==转换
- 浮点数(float)介绍
- 浮点数就是小数,如1.23,3.14等等。一般用科学计数法表示。
- int转为float --> float(X)
- float转为int --> int(X)
数据计算
math.ceil(x) --> print(math.ceil(4.1)) --> 向上取整
math.floor(x) --> print(math.ceil(4.5)) --> 向下取整
math.pow(x) --> print(math.pow(2, 3)) --> 2**y (2的3次方)
- python3 进行改良,不再是四舍五入,而是四舍六入五成偶
print(round(4.1)) --> 舍去为4
print(round(4.5)) --> 舍去为4
print(round(4.6)) --> 进1为5
print(round(3.5)) --> 4
布尔类型
- 布尔类型只有两个值True与False
print(2 > 3) --> False
print(2 < 3) --> True
print(bool(True)) --> True
print(bool(False)) --> False - 数值:0或0.0的布尔值为False,其余全为True
print(bool(1)) --> True
print(bool(0)) --> False - 字符串:只有空字符串的bool值为False,其余全为True(含有空格的字符串也是非空字符串)
print(bool(“yes”)) --> True
print(bool("")) --> False
print(bool(" ")) --> True - None的bool值永远为False
print(bool(None)) --> False - 算术运算,把True看作1,而False看作0
print(True + 1) --> 2
print(False + 1) --> 1 - 空值
空值不是布尔类型,在Python里面是一个特殊的值,用None表示。它的类型是None Type
字符串(str)
- 字符串是python最常用的数据类型之一,可事宜单引号或双引号
s1 = “hello world”
print(s1) --> hello world
s2 = ‘hello world’
print(s2) --> hello world
s3 = “”“hello world”""(可以保留文本格式)
print(s3) --> hello world - 字符串的存储
- 整数在内存中占一个字节,字符串不管中间多少内容都要单独存储
num = 100 --> 100
s = ‘100’ --> ‘1’ ‘0’ ‘0’
- 整数在内存中占一个字节,字符串不管中间多少内容都要单独存储
- 字符串的下标("[]")
由于字符串是序列数据结构,所以我们可以通过下标将字符串中某个字母取出来。下标也可称为索引,默认从0开始
思考
name = “hello oldamy” 如何取出e值?如何取出最后一个值?
存储:‘h’ ‘e’ ‘l’ ‘l’ ‘o’ ’ ’ ‘0’ ‘l’ ‘d’ ‘a’ ‘m’ ‘y’
下标:‘0’ ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’ ‘8’ ‘9’ ‘10’ ‘11’
name[1] --> enter --> ‘e’
name[11] --> enter --> ‘y’ (或name[-1]) - 字符串的切片(“slice”)
- 切片模式:a[start: stop: step] 左闭右开、步长不能为0
- slice(start, stop[, step]) --> slice(起始位置默认为0, 结束位置默认最后一个元素)[, 可选参数:步长,默认为1]
name = “hello oldamy” 如何取出oldamy,hloodm?name逆序输出?
name[6: 12] --> enter --> ‘oldamy’ (或name[6:])(步长为1)
name[:] --> enter --> ‘hello oldamy’
ame[: : 2] --> enter --> ‘hloodm’ (步长为2)
ame[: : -1] --> enter --> ‘ymadld olleh’
- 字符串的转换
str(字符串) --> int(整数) --> int(x) integer
int(整数) --> str(字符串) --> str(object=") str - 字符串组成方式
- 字符串用加号做拼接
print(‘1’ + ‘2’) --> 12 - 字符串格式化(%s -->str %d -->digit &f -->float)
name = hansen
age = 20
print("%s年龄为%d" % (name, age)) --> hensen年龄为20
print("{}年龄为{}" . format(name, age)) --> hensen年龄为20
str.format 好处为不用考虑数据类型,以及可以切换位置
print(“f{name}年龄为{age}”) --> hensen年龄为20
- 字符串用加号做拼接
- 字符串常见操作
Python大作业
作业1
作业2
布尔类型
- 布尔类型只有两个值True与False
print(2 > 3) --> False
print(2 < 3) --> True
print(bool(True)) --> True
print(bool(False)) --> False - 数值:0或0.0的布尔值为False,其余全为True
print(bool(1)) --> True
print(bool(0)) --> False - 字符串:只有空字符串的bool值为False,其余全为True(含有空格的字符串也是非空字符串)
print(bool(“yes”)) --> True
print(bool("")) --> False
print(bool(" ")) --> True - None的bool值永远为False
print(bool(None)) --> False
字符串类型的重点
- 字符串是python最常用的数据类型之一,可事宜单引号或双引号
- 字符串的存储
- 整数在内存中占一个字节,字符串不管中间多少内容都要单独存储
- 字符串的下标("[]")
由于字符串是序列数据结构,所以我们可以通过下标将字符串中某个字母取出来。下标也可称为索引,默认从0开始 - 字符串的切片(“slice”)
- 切片模式:a[start: stop: step] 左闭右开、步长不能为0
- slice(start, stop[, step]) --> slice(起始位置默认为0, 结束位置默认最后一个元素)[, 可选参数:步长,默认为1]
- 字符串的转换
str(字符串) --> int(整数) --> int(x) integer
int(整数) --> str(字符串) --> str(object=") str - 字符串组成方式
- 字符串用加号做拼接
- 字符串格式化(%s -->str %d -->digit &f -->float)
- 字符串常见操作
作业3
作业4