通过第一章我们已经安装了python解释器 和 编辑器pycharm,接下来让我们一起来了解python中的基础数据类型。
不同于java等语言,Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
多个变量赋值:将最后一个等号(=)右边的值,依次赋值给等号(=)左边的变量
# 单行注释
# 这里我们变量的创建(即变量的赋值)
# 创建一个叫tom的学生,年龄18岁,成绩99.9分
"""
这里是多行注释:变量名必须由字母或下划线开头
"""
student = 'tom' # 字符串变量
age = 18 # 整数变量
score = 99.9 # 浮点型变量
# print() 方法:将变量打印到控制台
print(student)
print(age)
print(score)
'''
多个变量赋值:将最后一个等号(=)右边的值,依次赋值给等号(=)左边的变量
'''
a = b = c = '多变量赋值'
print("=" * 50) # 控制台打印50个 = ,用于肉眼区分
print(a)
print(b)
print(c)
Python3 中常见的数据类型有:
Python3 的六个标准数据类型中:
不可变类型当变量赋值发生变化后,内存地址发生变化,变量a=1 —> a=2时,内存地址也发生变化。
演示代码
"""
id() 方法:获取操作系统内存地址
"""
# 不可变类型的演示
a = 1
print(id(a))
a = 2
print(id(a))
# 不可变类型的演示
b = [1, 2, 3, 4]
print(id(b))
b.append(5) # append()方法,给可变类型list种新增一个值
print(id(b))
Python3 支持 int、float、bool、complex(复数)。在Python 3里,只有一种整数类型 int,表示为长整型。
Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True=1、False=0 会返回 True,但可以通过 is 来判断类型。
"""
number类型的创建
python 数据类型数字:int、float、bool、complex(复数)
# type()方法:返回变量所属类型
"""
a = 10
print(type(a), a)
b = 10.0
print(type(b), b)
c = True
print(type(c), c)
# True=1,是int的子类,可以进行想加减
print('a+c:', a+c)
a = 10, b = 6
运算符 | 运算符 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | 加(a+b): 16 |
- | 减 - 得到负数或是一个数减去另一个数 | 减(a-b): 4 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | 乘(a*b): 60 |
/ | 除 - x 除以 y | 除(a/b): 1.6666666666666667 |
% | 取模 - 返回除法的余数 | 取模(a%b): 4 |
** | 幂 - 返回x的y次幂 | 幂(a**b): 1000000 |
// | 取整除 - 往小的方向取整数 | 取整除(a//b): 1 |
"""
python 数值运算
"""
a = 10
b = 6
print('加(a+b):', a+b)
print('减(a-b):', a-b)
print('乘(a*b):', a*b)
print('除(a/b):', a/b)
print('取模(a%b):', a%b)
print('幂(a**b):', a**b)
print('取整除(a//b):', a//b)
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
字符串的截取的语法格式如下:变量[头下标:尾下标], 取值的时候取头不取尾
# Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
print('-----Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始-----')
str1 = 'Runoob'
print(str1[0:1]) # R
print(str1[0:2]) # Ru
print(str1[0:-1]) # Runoo
print(str1[0], str1[5])
# 字符串可以用+运算符连接在一起,用*运算符重复。
print('-----字符串可以用+运算符连接在一起,用*运算符重复-----')
print(str1 + '测试')
print(str1*2)
# 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
print('-----反斜杠可以用来转义,使用r可以让反斜杠不发生转义-----')
print('Ru\noob')
print(r'Ru\noob')
# 字符串不可变类型,不能变化,会报错
print('-----字符串不可变类型,不能变化,会报错-----')
str1[0] = 'm'
注意:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。
布尔类型即 True 或 False。
在 Python 中,True 和 False 都是关键字,表示布尔值。
布尔类型可以用来控制程序的流程,比如判断某个条件是否成立,或者在某个条件满足时执行某段代码。
布尔类型特点:
a = True
b = False
# 比较运算符
print(2 < 3) # True
print(2 == 3) # False
# 逻辑运算符
print(a and b) # False
print(a or b) # True
print(not a) # False
# 类型转换
print(int(a)) # 1
print(float(b)) # 0.0
print(str(a)) # "True"
注意: 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:变量[头下标:尾下标], 取值的时候取头不取尾。
同字符串的截取方式,只是下标指向不同
"""
list[开始下标:结束下标:步长"]
开始下标:开始截取的地方(包含)
结束下标:结束截取的地方(不包含)
步长:每走几步截取一次
"""
list11 = ['a', 'b', 'c', 'd', 'e', 'f', 10, 2.0]
list22 = ['7654321', '1234567']
print(list11[0]) # 输出第一个变量,原因下标从0开始
print(list11[0:2]) # 输出第1、2变量
print(list11[1:3]) # 输出第2、3变量
print(list11[3:-1]) # 输出第4个变量开始,到最后一个,不包含最后一个,截取时取头不取尾
print(list11[3:]) # 输出第4个变量开始,到最后一个
print(list11 + list22) # 两个字符串想加
print(list22 * 2) # 字符串值重复,共计2次
print(list11[1:-1:2]) # 输出第2个变量开始,每隔2步输出一次,直至最后一个变量(不包含)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
但构成包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
可以将元组理解成不可以变化的列表,同样的也可以把字符串看作一种特殊的元组。
元组:不可变类型的列表
字符串:特殊的元组
"""
tuple[开始下标:结束下标:步长"]
开始下标:开始截取的地方(包含)
结束下标:结束截取的地方(不包含)
步长:每走几步截取一次
"""
list11 = ('a', 'b', 'c', 'd', 'e', 'f', 10, 2.0)
list22 = ('7654321', '1234567')
print(list11[0]) # 输出第一个变量,原因下标从0开始
print(list11[0:2]) # 输出第1、2变量
print(list11[1:3]) # 输出第2、3变量
print(list11[3:-1]) # 输出第4个变量开始,到最后一个,不包含最后一个,截取时取头不取尾
print(list11[3:]) # 输出第4个变量开始,到最后一个
print(list11[1:-1:2]) # 输出第2个变量开始,每隔2步输出一次,直至最后一个变量(不包含)
aaa_tuple = list11 + list22 # 两个字符串想加,但是内存地址指向发生变化(元组是不可变类型)
print(id(list11))
print(id(list22))
print(id(aaa_tuple))
bbb_tuple = list22 * 2 # 字符串值重复,共计2次,但是内存地址指向发生变化(元组是不可变类型)
print(id(list11))
print(id(list22))
print(id(bbb_tuple))
string、list 和 tuple 都属于 sequence(序列)。
注意:
1、与字符串一样,元组的元素不能修改。
2、元组也可以被索引和切片,方法一样。
3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
4、元组也可以使用+操作符进行拼接。
Python 中的集合(Set)是一种无序、可变的数据类型,用于存储唯一的元素。
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
在 Python 中,集合使用大括号 {} 表示,元素之间用逗号 , 分隔。
另外,也可以使用 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
"""集合的创建方法"""
parame = {value01,value02,...}
parame = set()
"""集合功能演示"""
sites = {'python', 'java', 'c', 'c++', 'go', 'go'}
print(sites) # 输出集合,重复的元素被自动去掉且无序
# 成员测试
if 'python' in sites :
print('python 在集合中')
else:
print('python 不在集合中')
# set可以进行集合运算
a = set('abcdefgabcdefg')
b = set('bcdqwerqwer')
print(a)
print(b)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
student_dict = {} # 创建一个空字典, 集合需要用set()创建,不能直接使用{}。
student_dict['name'] = 'tom' # 字典添加: key=name, value=tom 的组key-value值
student_dict['age'] = 18 # 字典添加: key=age, value=18 的组key-value值
print (student_dict['name']) # 输出键为 'name' 的值
print (student_dict['age']) # 输出键为 'age' 的值
print (student_dict) # 输出完整的字典
print (student_dict.keys()) # 输出所有键
print (student_dict.values()) # 输出所有值
1、字典是一种映射类型,它的元素是键值对。
2、字典的关键字(key)必须为不可变类型,且不能重复。
3、创建空字典使用 { }。
本文简单的向大家介绍了python的6中数据类型,希望大家可以喜欢!
不积跬步无以至千里,大家一起加油呀!