Python基础-2
数据类型
- number(数字类型)
- bool(布尔)
- str(字符串)
- list(列表)
- tuple(元组)
- set(集合)
- dict(字典)
其中:
- 不可变数据:number(数字类型)、bool(布尔)、str(字符串)、tuple(元组);
- 可变数据:list(列表)、set(集合)、dict(字典)。
在python中,声明变量是不需要指定类型的,还可以同时进行多个变量的赋值(不同类型)
a, b, c = 1, 2, "柒哥"
数字类型 --- int、float、complex
数字类型包含三种:整数、浮点数和复数。此外,布尔值属于整数的子类型。
- 整数具有无限的精度;
- 浮点数通常使用 C 中的
double
来实现 - 复数包含实部和虚部,分别以一个浮点数表示。 要从一个复数 z 中提取这两个部分,可使用
z.real
和z.imag
a, b, c = 20, 5.5, 4+3j
# a 赋值为 整数
# b 赋值为 浮点数
# c 赋值为 复数
整数 | 浮点数 | 复数 |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2E-12 | 4.53e-7j |
布尔类型 --- bool
布尔值使用常量True和False来表示(注意大小写)
- 比较运算符的返回都是bool类型
- 在python中,bool类型是整数类型的子类,所以
True == 1
False == 0
True 或 False 的判定:
-
以下会被判定为 False :
-
None
-
False
-
任何数字类型的零,例如 0、0.0、0j。
-
任何空序列,例如,''、()、[]。
-
任何空映射,例如 {}。
-
用户定义类的实例,如果该类定义了 bool() 或 len() 方法,当该方法返回整数零或 bool 值 False 时。
-
class alfalse(): def __bool__(self): # 定义了 __bool__() 方法,始终返回False return False class alzero(): def __len__(self): # 定义了 __len__() 方法,始终返回0 return 0
-
-
-
除了以上的,其他的表达式均会被判定为 True;需要注意的是这个与其他的语言有比较大的不同
字符串 --- str
在 Python 中处理文本数据是使用 str
对象,也称为 字符串。 字符串是由 Unicode 码位构成的不可变 序列。
字符串定义:
-
使用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符,当然还有三引号 ''' 的多行字符串。
- 单引号:
'允许包含有 "双" 引号'
- 双引号:
"允许包含有 '单' 引号"
。 - 三重引号:
'''三重单引号'''
,"""三重双引号"""
- 单引号:
-
# 单引号 str = 'hello' # 双引号 str = "hello" # 单引号包含双引号 str = 'say "hello"' # 双引号包含单引号 str = "say 'hello'" str = """ 双引号的 多行字符串 """ str = ''' 单引号的 多行字符串 '''
-
字符串的方法后续会单独统计展示。
列表类型 --- list
List(列表) 是 Python 中使用最频繁的数据类型。
-
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
-
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
-
使用列表推导式: `[x for x in iterable]
-
# 常规定义 list = [] # 空列表 list = [1, "a", [1], {"name": "test"}] # 列表推导式 list = [x for x in range(10)] >>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
元组类型 --- tuple
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。
-
使用一对圆括号来表示空元组:
()
-
使用一个后缀的逗号来表示单元组:
a,
或(a,)
-
使用以逗号分隔的多个项:
a, b, c
or(a, b, c)
-
使用内置的
tuple()
:tuple()
或tuple(iterable)
-
# 常规定义 tuple = () # 空元组 tuple = (50,) # 单个元素 tuple = ('physics', 'chemistry', 1997, 2000); tuple = (1, 2, 3, 4, 5 ); tuple = "a", "b", "c", "d";
集合类型 --- set
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
-
基本功能是进行成员关系测试和删除重复元素。
-
可以使用大括号 { } 或者 set() 函数创建集合。
-
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
-
# 常规定义 set(value) set = {value, value1} set = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'} # set可以进行集合运算 a = set('abracadabra') b = set('alacazam') print(a - b) # a 和 b 的差集 print(a | b) # a 和 b 的并集 print(a & b) # a 和 b 的交集 print(a ^ b) # a 和 b 中不同时存在的元素
字典类型 --- dict
字典(dictionary)是Python中另一个非常有用的内置数据类型。
字典是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下,键可以是数字、字符串甚至元组。字典也是python中唯一内建的映射类型
-
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
-
键(key)必须使用不可变类型。
-
在同一个字典中,键(key)必须是唯一的。
-
# 常规定义 dict = {} # 空字典 dict['one'] = "1 - 菜鸟教程" dict[2] = "2 - 菜鸟工具" dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}; # 构造函数创建 dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) dict(Runoob=1, Google=2, Taobao=3) # 推导式 dict = {x: x**2 for x in (2, 4, 6)}
-
注意:
- 1、字典是一种映射类型,它的元素是键值对。
- 2、字典的关键字必须为不可变类型,且不能重复。