数值型数据主要是指int(整型,即整数)、long(长整型,即更大的整数)、float(浮点型,即小数)、complex(复数)四种类型。其中,前三种数值型数据的使用和高中数学是一样的,没有什么差别;complex(复数)定义通常是a+bj的形式,需要注意。
num1 = 1 # 整型,表示整数 num2 = 99999999999999 # 整型,表示长整数,但Python是自动的 num3 = 3.14159265354 # 浮点型,表示小数 num4 = 1+2j # 复数,表示复数
字符型数据是指用单引号或双引号引起来的一连串字符,即字符串,字符串支持切片操作。如:'Hello'、"Hello"是字符串的两种表示形式。注意,前面提到的三引号注释,实际上也是一种字符串。在函数的开始又叫文档字符串(用于描述函数功能、参数、输出)。下面的4个字符串是一样的,都表示字符串“hello”。
str1 = 'hello'str2 = "hello"str3 = '''hello'''str4 = """hello"""
特别说明:单引号或双引号表示的字符串换行时需在行末尾加"\"来连接跨行字符串(连接符不是字符串内容,也无换行符);而三引号字符串,默认支持跨行(换行符是其字符串内容)。
布尔型表示的是真假,取值True、False两种。但注意,任何对象都可以通过bool()函数转换为布尔值。在Python中,空对象(如空列表[]、空字典{}、空字符串""、数值0、None等)会被认为是False,而非空对象则被认为是True。
# 表示FalseFalse # 布尔值False; bool(0) # 整数0转换为布尔型是False; bool(0.0) # 浮点型0.0转换为布尔型是False; bool('') # 空字符串转换为布尔型是False; bool([]) # 空列表转换为布尔型是False; bool(()) # 空元组转换为布尔型是False; bool({}) # 空字典转换为布尔型是False; bool(set()) # 空集合转换为布尔型是False;
除了上述提到的类型,基本上都会判定为真,可以理解为只要有数据存在就为真(可能存在例外)。
列表是一种多个变量空间,每个子空间都有自己的序号(自左向右,依次索引为0、1、2...;自右向左依次索引为……-3、-2、-1),数据可以根据序号索引进行增删改查操作,且支持切片操作。
定义一个列表:
基本操作如下:
# 创建列表list1list1=[1,2,3,4]# 打印list1前2个元素print(list1[0:2])# 输出[1,2]# 打印list1中间两个元素print(list1[1:3])# 输出[2,3]# 将索引为2的元素修改为44list1[2] = 44# 变量list1=[1,2,44,4]# 将索引为2的元素修改为"hello"list1[2] = 'hello'# 变量list1=[1,2,'hello',4]# 在末尾添加数据5list1.append(5)# 变量list1=[1,2,'hello',4,5]# 在索引为1插入数据23,其余数据后移 list1.insert(1,23)# 变量list1=[1,23,2,'hello',4,5]# 删除最后一个元素list1.pop()# 变量list1=[1,23,2,'hello',4]# 删除位置2的元素del list1[2]# 变量list1=[1,23,'hello',4]# 合并两个列表a = [1,2]b = [11,22]a.extend(b)# 变量a=[1,2,11,22],变量b = [11,22]
另外,列表还有很多其它方法,如:index()、sort()、reverse()等,有兴趣的小伙伴要自己去尝试哦。元组是列表的一个简化版本,它初始化后即固定,不可修改元组内容。但可以查询特定元素,或者删除整个元组,支持切片查询。这里不做赘述,参考列表的创建、查询。
字典类似于列表,又不同于列表。不同之处在于其是用key索引的,而不是列表中的index索引。即字典是用key关联每一个数据value,且key:value必须成对出现。字典具有哈希性,必须保证每个key是唯一的,在搜索速度上快于列表。
定义一个字典:
一个字典可以有多个键值对。键值之间用“:”分隔,键值对之间通过“,”分隔,整个键值对用花括号“{ }”括起来。
#(1)创建字典dd = {'name':'Rose','age':18}#(2)查询元素aged['age']#(3)修改元素age为20d['age'] = 20#(4)增加key=phone的元素d['phone'] = '15677779999'#(5)删除key=phone的元素del d['phone']
字典通常具有keys,values,items三种方法,用于数据的遍历操作,如下:# 创建一个字典 d = {'name': 'Rose', 'age': 20, 'phone': '15677779999'}#(1) 遍历每个item for k,v in d.items(): print(k,v)# 输出每个item # name Rose# age 20# phone 15677779999#(2) 遍历每个key for k in d.keys(): print(k)# 输出key# name# age# phone#(3) 遍历每个value for v in d.values(): print(v)# 输出value # Rose# 20# 15677779999
另外,字典还支持get()、pop()、update()等方法,小伙伴可以自己去尝试一下。集合是一个元素不重复的、无序的序列。主要用于计算差集、并集、交集等集合操作。创建方法和字典类似,都是用花括号括起来,但是它的元素是一个一个的,不是成对出现。另外,如果用空的花括号,其创建的是空字典,不是空集合(空集合用set()函数创建)。如下:集合同样支持增删查操作,不支持改(可通过删除、添加替代改操作),如下:# 创建集合set1 = {1,2,3}# 添加元素set1.add(4)# 变量set1={1,2,3,4}# 删除元素set1.remove(4)# 变量set1={1,2,3}# 判断元素是否在集合内print(1 in set1)# 输出:Trueprint(5 in set1)# 输出:False
a = {1,2,3,4}b = {3,4,5,6}# 计算交集a交bprint(a.intersection(b))# 输出{3, 4}# 计算差集a-bprint(a.difference(b))# 输出{1, 2}# 计算a,b并集print(a.union(b))# 输出{1, 2, 3, 4, 5, 6}
另外,集合还支持issubset()、issuperset()、clear()等方法,小伙伴可以自己去尝试一下。-------------------------它是数字世界里的一把杀猪刀
却总能巧夺天工
它的世界是纯粹0、1组合
却总能创造无尽幻想
......
本公众号关注数据价值分析、编程学习,将不定期更新社会热点数据分析结果、编程技巧,分享数据分析工具、方法、学习等内容,欢迎有兴趣的小伙伴加入。