1.1、Python变量没有类型,使用变量时,不需要声明其内存对象的数据类型。
1.2、Python变量在使用前都必须赋值,变量赋值时被创建。
1.3、在 Python 中变量的值决定了变量在内存中的数据类型
2.1 Numbers(数字)
2.2 String(字符串)
2.3 List(列表)
2.4 Tuple(元组)
2.5 Dictionary(字典)
2.6 Set(集合)
3.1 int(长整型)
3.2 float(浮点型)
3.3 complex(复数):包含实部、虚部两个部分,通过+号连接,虚部以j表示,
复数的实部a和虚部b都是浮点型
3.4 bool(布尔型)
在混合计算时,Python会把整型转换成为浮点数
- #数值类型
- a=123
- b=1.23
- c=1.23+2.34j
- d=2.34+3.45j
- e=True
- print(a+b,c+d,e)
运行结果
124.23 (3.57+5.79j) True
python的字符串允许使用字母、数字、下划线组成,如下的命名是合法的
- #字符串的使用
- MyStr='Python sample code 2'
- print(MyStr)
-
- MyStr1='Python sample code ,MyStr1'
- print(MyStr1)
-
- MyStr_1='Python sample code ,MyStr_1'
- print(MyStr_1)
运行结果:
Python sample code 2
Python sample code ,MyStr1
Python sample code ,MyStr_1
Python中单引号'和双引号"使用完全相同;三引号(''' 或 """)指定多行字符串。
反斜杠\ 用来转义,使用r可以让反斜杠不发生转义,\n用以换行
Python中的字符串不能改变,向某个索引位置赋值,比如word[0] = 'm'会导致错误
字符串可以用 + 运算符连接在一起,用 * 运算符重复
按字面意义级联字符串,如"Sample " "code " "1"会被自动转换为Sample code 1
字符串的切片
- #以下例子:字符串切片
- print('\n字符串切片')
- x = 'hello' # 所有字符串切片都返回新值
- print(x[3]) # l 查询字符串下标为3的元素
- print(x[0:]) # hello 查询字符串下标为0到末尾的元素
- print(x[:4]) # hell 查询字符串下标0到下标为(n-1)的元素
- print(x[1:]) # ello 查询字符串下标为1到末尾的元素
- print(x[1:4]) # ell 查询字符串下标1到下边为(n-1)的元素
- print(x[-4:-1]) # ell 查询字符串下标为-4到-1的元素
- print(x[-3:4]) # ll 查询字符串下标为-3到4的元素
- print(x[-2:]) # lo 查询字符串下标为-2到末尾的元素
列表切片
l
hello
hell
ello
ell
ell
ll
lo
列表是数值、字符串的集合,并且可以嵌套,以[]进行使用,元素可以修改,是Python中一种基本的数据操作类型可以使用 append( ) 方法来添加列表项
- #以下例子:列表运算
- print('\n列表运算')
- x = [1, 2, 3]
- y = [4, 5, 6]
-
- print(len(x)) # 3 计算列表元素个数
- print(x + y) # [1, 2, 3, 4, 5, 6] 列表x和列表y拼接
- print(x*2) # [1, 2, 3, 1, 2, 3] 复制指定系数列表x
- print(5 in y) # True 判断5是否在列表x内
- print(5 not in y ) # False 判断5是否不在列表x内
- print(x!=y) # True 判断列表x和y是否相等
运行结果
列表运算
3
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3]
True
False
True
可以使用条件列表解析式进行列表数据的填充
- #条件列表解析式
- print('\n条件列表解析式')
- myList = [x*2 for x in range(100) if x%2 == 0]
- for ele in range(len(myList)):
- print(myList[ele])
条件列表解析式
0
4
8
12
16......
元组是元素的集合,这一点与列表类似。与列表不同,元组的元素是不可以修改的。
元组写在小括号 ( ) 里,元素之间用逗号隔开。
元组切片
- #元组切片
- print('\n元组切片')
- x = (1, 2, 3, 4, 5, 6)
- print(x[2]) # 3 查找元组下标为2的元素
- print(x[-2]) # 5 查找元组倒数第2个元素
- print(x[:]) # (1, 2, 3, 4, 5, 6) 查找元组下标为0到末尾的元素
- print(x[::2]) # (1, 3, 5) 查找元组下标0到末尾间隔为2的元素
- print(x[:5]) # (1, 2, 3, 4, 5) 查找元组下标为0到5的元素
- print(x[1:]) # (2, 3, 4, 5, 6) 查找元组下标为1到末尾的元素
- print(x[1:-2]) # (2, 3, 4) 查找元组下标1的到倒数第2个间的元素
- print(x[-5:-3]) # (2, 3) 查找元组倒数第5到倒数第3间的元素
运算结果
元组切片
3
5
(1, 2, 3, 4, 5, 6)
(1, 3, 5)
(1, 2, 3, 4, 5)
(2, 3, 4, 5, 6)
(2, 3, 4)
(2, 3)
元组运算
- #元组运算
- print('\n元组运算')
- x = (1, 2, 3)
- y = (4, 5, 6)
-
- print(len(x)) # 3 计算元组元素个数
- print(x + y) # (1, 2, 3, 4, 5, 6) 元组 x 和元组 y 拼接
- print(x*2) # (1, 2, 3, 1, 2, 3) 复制指定系数元组 x
- print(5 in y) # True 判断 5 是否在元组 x 内
- print(5 not in y ) # False 判断 5 是否不在元组 x 内
- print(x!=y) # True 判断元组 x 和 y 是否相等
运算结果
元组运算
3
(1, 2, 3, 4, 5, 6)
(1, 2, 3, 1, 2, 3)
True
False
True
列表是有序的对象集合,字典是无序的键(key) : 值(value)集合。字典用 { } 标识,{ }创建空字典。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
键必须是唯一的,但值不必;键必须使用不可变类型,值可取任何数据类型。
使用构造函数 dict( ), 可以直接从键值对序列中构建字典;
把相应的键放入到方括号中,可访问字典里的值
- # 字典创建
- print('\n字典运算')
- x = dict(name ='老胡杨树',age = 53)
- print(x) # {'name': '老胡杨树', 'age': 53}
-
- name = ['张三丰','张无忌']
- age = [93,21]
- x = dict(zip(name,age))
- print(x) # {'张三丰': 93, '张无忌': 21}
-
- # 字典增加
- x = {'name':'裘千仞','age':21}
- x['scores'] = 100
- print(x) # {'name': '裘千仞', 'age': 21, 'scores': 100}
-
- # 字典删除
- x = {'name':'黄老邪','age':21}
- del x['age']
- print(x) # {'name': '黄老邪'}
-
- # 字典修改
- x = {'name':'裘千仞','age':21}
- x['age'] = 25
- print(x) # {'name': '裘千仞', 'age': 25}
-
- # 字典查询
- x = {'name':'黄老邪','age':21}
- print(x['age']) # 21
-
- # 字典嵌套
- x = {}
- x['name'] = [1,2,3]
- print(x) # {'name': [1, 2, 3]}
- print(x['name'][1]) # 2 嵌套取值
-
- # 字典判断
- x = {'张三丰': 93, '张无忌': 21}
- print('张三丰' in x) # True 判断字典键中是否包含'漫漫'
- print('张无忌' in x) # False 判断字典键中是否包含'小漫'
运算结果
字典运算
{'name': '老胡杨树', 'age': 53}
{'张三丰': 93, '张无忌': 21}
{'name': '裘千仞', 'age': 21, 'scores': 100}
{'name': '黄老邪'}
{'name': '裘千仞', 'age': 25}
21
{'name': [1, 2, 3]}
2
True
True
进行成员关系运算的元素集合。可以使用大括号 { } 或者 set( ) 函数创建集合
- #集合操作
- print('\n集合操作')
- x = {1,2,3}
- print(2 in x) # True 判断元素 2 是否在集合 x 中
-
- x = [1,1,2,3,5,5]
- print(list(set(x))) # [1, 2, 3, 5] 列表、元组去重
-
- x = { 1 , 3 , 5 }
- y = { 2 , 3 , 4 }
-
- print(x-y) # {1, 5}
- #差集:返回一个新集合,包括集合 x 中与集合y不同元素。
-
- print(x|y) # {1, 2, 3, 4, 5}
- #并集:返回一个新集合,包括集合 x 和集合 y 中所有元素。
-
- print(x&y) # {3}
- #交集:返回一个新集合,仅包括集合 x 和 y 中相同的元素。
-
- print(x^y) # {1, 2, 4, 5}
- #补集:返回一个新集合,仅包括集合 x 和 y 中的不同元素。
运算结果
集合操作
True
[1, 2, 3, 5]
{1, 5}
{1, 2, 3, 4, 5}
{3}
{1, 2, 4, 5}