Task03 : Data Types and Operators
数据类型
为了处理不同的数据,Python中定义了不同的数据类型
Python中的主要数据类型包括:
- 整数(int)
- 浮点数(float)
- 字符串(str)
- 空值(None)
- 列表(list)
- 元组(tuple)
- 字典(dict)
- 集合(set)
整数
Python中的整数没有大小限制,他可以处理任意大小的整数,包括正负数。 例如: 520
、-1314
、0
、9999999999
。
另外,Python中允许在较大数字之间使用下划线进行分隔,例如:10_000_000_000
、0xa1b2_c3d3
。
浮点数
指的是在数字之间存在小数点的数。
相同的数字在科学计数法中可以使用不同方式进行表达。
较小的数字可以用小数进行表示,例如:1.1314
、5.20
。
但较大的数字就要使用科学计数法了,例如:1.2e-5
、5.2e13
、9.999e99
。
要注意的是,整数永远是精确的,而浮点数可能会出现因四舍五入而导致的误差。
字符串。
由''
或""
括起来的数据叫做字符串,而字符串指的只是引号之内的数字或文字。
在Python中字符串是可以进行相加的例如:'520'+ '1314' = '5201314'
。也就是将前后两个字符串连接在一起。
如果字符串中出现'
或"
,可以使用\
对单双引号进行转义,也可以使用r' '
默认引号之内的符号全部转义。
当要输出多行内容时,可以使用''' '''
进行多行数据的输出。
布尔值
布尔值只有True
和False
两种,可以使用and
、or
、not
进行运算。
空值
所谓的空值指的就是None
。
列表
列表与C语言中的数组有点像,但列表是可以同时存储不同类型的数据,例如:list = [520,'abc','云顶书院',2.035]
,并且在Python中可以通过一些函数对列表进行操作,十分便捷。
例如:
len()
可以获得列表的长度pop()
可以删除列表中的任意元素append()
可以在列表末尾进行元素的添加insert()
可以将元素插入到列表的指定位置- 也可以直接对列表某个位置的数据进行赋值,达到对数据进行替换的目的
要注意的是,列表是由[]
括住的
元组
元组就是在定义之后,不可以对其内元素做任何改变的列表。但不可改变指的是指向不变,就是tuple中的每个元素指向的对象不可以改变。
有利于数据的安全。
元组是由()
括住的
字典
字典的存在方便了对大量数据的检索,字典采用键-值进行操作,即{key:value}
。
有优点就存在缺点,虽然字典节省了时间,但却需要占用大量的空间
有关字典的操作 :
- 访问字典元素:通过键来访问对应的值,例如:
dictionary['name']
。 - 添加元素:直接给字典的键赋值即可添加元素,例如:
dictionary['city'] = 'New York'
。但要注意的是,如果给同一个key赋不同的值,key只会记录最后一个value。 - 修改元素:通过给已有键赋值来修改对应的值。
- 删除元素:可以使用del语句或者
pop()
来删除指定键的元素,例如:del dictionary['age']
,dictionary.pop(key)
。而当你删除key时,对应的value也会被删除。 key()
可以返回所有的key值value()
可以返回所有的value值items()
可以返回所有的键值对
我们还可以通过in
或get()
对字典中是否存在你需要的key进行判断。如果不存在in
返回False
,get()
返回None
字典是由{}
括住的
要注意的是 :字典中的key值是不可变量,因此不可以使用列表来做key,而出去列表数字、字符串、浮点数,甚至是tuple。
集合
可以通过{}
或set()
创建一个集合。集合是一种无序且不存在相同元素的数据结构。
在set()
中相同元素会被自动过滤
add(key)
可以向集合之中添加元素remove(key)
可以删除集合之中的元素
集合可以通过数学中的交集,并集进行运算 :
>>> a1 = {1, 2, 3}
>>> a2 = {2, 3, 4}
>>> a1 & a2
{2, 3}
>>> a1 | a2
{1, 2, 3, 4}
操作
- 算术运算:加(+)、减(-)、乘(*)、除(/)等。
- 比较运算:大于(>)、小于(<)、等于(==)等。
- 逻辑运算:与(and)、或(or)、非(not)等。
- 字符串操作:拼接、切片、查找等。
- 列表操作:添加元素、删除元素、遍历等。
- 字典操作:添加键值对、获取值、遍历等。
- 集合操作:交集、并集、对称差集、差集。
字符串、列表与字典的操作上面已经提过,之后着重记一下切片操作
算术运算
- 加法(+):将两个数或多个数相加。
- 减法(-):从一个数中减去另一个数。
- 乘法(*):两个数或多个数相乘。
- 除法(/):一个数除以另一个数。注:除法的结果是浮点数,无论除数与被除数是整数还是浮点数。
- 双除法(//):一个数除以另一个数,取结果的整数部分。
- 求余(%):返回除法运算的余数。
- 幂运算(^):表示一个数的几次方。
比较运算
- 大于(>):判断一个数是否大于另一个数。
- 小于(<):判断一个数是否小于另一个数。
- 等于(==):判断两个数是否相等。
- 大于等于(>=):判断一个数是否大于或等于另一个数。
- 小于等于(<=):判断一个数是否小于或等于另一个数。
- 不等于(!=):判断两个数是否不相等。
逻辑运算
- 与(and):当两个条件都为
True
时,结果为True
。 - 或(or):当两个条件中至少有一个为
True
时,结果为True
。 - 非(not):对一个条件进行取反操作。
例如:
>>>print(True and True)
True
>>>print(True and False)
False
>>>print(False and False)
False
>>> print(2 > 1 and 3 > 2)
True
>>>print(True or True)
True
>>>print(True or False)
True
>>>print(False or False)
False
>>> print(2 > 1 or 3 > 2)
True
>>>a = false
b = not a
print(b)
True
集合操作
- 并集:使用
|
运算符或union()
方法。 - 交集:使用
&
运算符或intersection()
方法。 - 差集:使用
-
运算符或difference()
方法。 - 对称差集:使用
^
运算符或symmetric_difference()
方法。
切片
切片是Python特有的一种特性,正是因为切片操作的存在使得在Python中对于字符串、列表、元组、集合的操作,诸如倒序、去除其中一部分、取其中一部分甚至是每几个取一个元素变得相当简单。
list[a:b]
指的是在list[]
中从a
取到b
。如果第一个索引是0
,0
可以省略list[:b]
list[-1:-3]
指的是在list[]
中从最后一个取到倒数第三个。要记住的是最后一个元素的索引是-1
。list[:10:2]
指的是前十个数每两个取一个。:2
指的是步长。例如:list[::10]
指的是从所有数中每十个数取一个。list[:]
指的是将list[]
重新复制一遍。
对于tuple和字符串也是相同的操作。
另外切片前是什么数据类型,切片后的数据类型不会改变。