0
点赞
收藏
分享

微信扫一扫

2 Python数据类型

月孛星君 2022-02-20 阅读 69

2.1 变量定义

  • 单变量定义

  • 多变量定义

# One Varible Definition
a = 10
b = 20
print(a, b)
# More Varible Definition
c, d = 99, 88
print(c, d)
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_1Varible_Def.py
10 20
99 88

​
Process finished with exit code 0

2.2 交换两变量的值

  • 普通方式---C++

  • 更简洁的方式---Python语法

# 普通方式---借助中间变量
a = 10
b = 20
print("交换前a,b的值:")
print(a, b)
c = a
a = b
b = c
print("交换后a,b的值:")
print(a, b)
# ****************************************************************
# 更简洁的方式---借助Python语法
a, b = 10, 20
print("交换前a,b的值:")
print(a, b)
a, b = b, a
print("交换后a,b的值:")
print(a, b)
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_2Data_Exchange.py
交换前a,b的值:
10 20
交换后a,b的值:
20 10
交换前a,b的值:
10 20
交换后a,b的值:
20 10
​
Process finished with exit code 0

2.3 字符串

  • 字符串定义

  • 长字符串定义

  • 单双三引号相互嵌套,但不可嵌套自己

  • type()函数获取变量类型

  • 如何使得字符串中转义字符失效?

# *********************************
# 数据类型就是数据的表现形式
# 字符串定义---单引号和双引号
# 如果想换行的话就要加\n转义字符
Lily = 'Lily'
Bo = "Bo\nly"
print(Lily, Bo)
# *********************************
# 长字符串定义---三单引号和三双引号
# 特点:就是可以直接换行
Poem = """落霞与孤鹜齐飞,
秋水共长天一色。"""
gossip = '''我给你说个悄悄话~~~'''
print(Poem)
print(gossip)
# *********************************
# 单双三引号相互嵌套,但不可嵌套自己
kell_No = "double 'kell'"
rem = '''Remember """me"""'''
print(kell_No)
print(rem)
# *********************************
# type()函数获取变量类型
print(type(kell_No))
# *********************************
# 如何使得字符串中转义字符失效?
iloveyou = "Jas\nmine"
iloveyoulily = r"Jasmine\n"
print(iloveyou)
print(iloveyoulily)
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_3Type_String.py
Lily Bo
ly
落霞与孤鹜齐飞,
秋水共长天一色。
我给你说个悄悄话~~~
double 'kell'
Remember """me"""
<class 'str'>
Jas
mine
Jasmine\n
​
Process finished with exit code 0

2.4 数字类型

  • int 整型

  • float 浮点型

  • complex 复数类型

  • bool 布尔类型

# ***********************************
# 本节讲数字类型
# 整型
num = 10
print(num, type(num))
# 浮点型
num = 10.998
print(num, type(num))
# 复数---可能不太常用
num = 10+0.99j
print(num, type(num))
# bool类型(只有True and False)
num = True
print(num, type(num))
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_4Type_Number.py
10 <class 'int'>
10.998 <class 'float'>
(10+0.99j) <class 'complex'>
True <class 'bool'>
​
Process finished with exit code 0

2.5 List类型---列表类型

  • 列表定义

  • 列表元素获取

# ****************************************
# List列表类型
# 列表定义
varlist = [1,2,3,4,5]
print(varlist,type(varlist))
# 列表中存储的数据可以是任意类型,也可以是一个列表(二级列表 or 多级列表,二维列表 or多维列表)
varlist1 = ['a','b',521,'pi',3.1415926]
print(varlist1,type(varlist1))
# 二维列表 or多维列表
varlist2 = [1,2,3,[1,2,3]]
print(varlist2,type(varlist2))
# *****************************************
# 列表元素获取
# 列表中的每一组数据,称为元素
# 列表中存储的数据可以通过下标的方式获取,正着数下标从0开始,逆着数下标从-1开始
"""
  0   1   2   3        4
['a','b',521,'pi',3.1415926]
-5   -4  -3   -2      -1
"""
# 一维列表元素获取
print(varlist1[3])
print(varlist1[-2])
# 二维列表元素获取
print(varlist2[3][1])
# 多维列表元素获取以此类推 varlist[3][1][3]...
# **************************************
# 修改元素的值
varlist2[3] = 'Jamsine'
print(varlist2,type(varlist2))
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_5Type_List.py
[1, 2, 3, 4, 5] <class 'list'>
['a', 'b', 521, 'pi', 3.1415926] <class 'list'>
[1, 2, 3, [1, 2, 3]] <class 'list'>
pi
pi
2
[1, 2, 3, 'Jamsine'] <class 'list'>
​
Process finished with exit code 0

2.6 Tuple类型---元组类型

  • 元组类型定义

  • 获取元组元素

  • 列表中的值可以被改变,而元组中的值不能被改变

# *********************************
# 元组类型定义
# 在定义多个数据内容时,可以使用列表类型,还可以使用元组类型,元组和列表很像,都是用于存储多个数据
# 列表使用中括号定义,元组使用小括号定义
# 注意:在定义元组时,如果元组只有一个元素,那么需要加逗号,不然就不是元组类型了,而是该元素的数据类型
vart = (1, 2, (9, 9, 8), 'a', 'b')
print(vart,type(vart))
vart1 = 1,2,3,4,5
print(vart1,type(vart1))
vart2 = ('Jasmine')
print(vart2,type(vart2))
vart3 = ('Jamsine',)
print(vart3,type(vart3))
# *********************************
# 获取元组元素
# 一维列表元素获取
print(vart[1])
print(vart[-4])
# 二维列表元素获取
print(vart[2][1])
# 多维列表元素获取以此类推 varlist[3][1][3]...
# *********************************
# 列表中的值可以被改变,而元组中的值不能被改变
# vart[2] = 'Jamsine' 这一句会报错
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_6Type_Tuple.py
(1, 2, (9, 9, 8), 'a', 'b') <class 'tuple'>
(1, 2, 3, 4, 5) <class 'tuple'>
Jasmine <class 'str'>
('Jamsine',) <class 'tuple'>
2
2
9
​
Process finished with exit code 0

2.7 Dict字典类型

  • Dict字典类型定义

  • 获取字典中的值

  • 修改字典中某键值的值

  • 注意事项---字典中的键值不能重复使用,否则会覆盖(后面的覆盖前面的)

# ************************************
# Dict字典类型定义
# 字典也是用来存储一组或多组数据,使用{}定义
# 字典是键值对存储方式  name:admin 键和值之间使用冒号分隔 键必须是字符串或者数字类型 值可以是任意类型
# 多组键值对之间使用逗号分隔
# 键名唯一,值可以重复
# 比如需要记录一本书的相关数据 书名 作者 价格
vard = {'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'}
print(vard, type(vard))
# **************************************
# 获取字典中的值
print(vard['title'])
# **************************************
# 修改字典中某键值的值
vard['title'] = '<<Jasmine>>'
print(vard, type(vard))
# **************************************
# 注意事项---字典中的键值不能重复使用,否则会覆盖(后面的覆盖前面的)
vard1 = {'a':10,'b':100,'c':90,'a':'aa'}
print(vard1)
# tip:在python之前的版本中,字典是无序的;其实现在也还是无序的,只是显示时有序
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_7Type_Dict.py
{'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>
<<鬼谷子>>
{'title': '<<Jasmine>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>
{'a': 'aa', 'b': 100, 'c': 90}
​
Process finished with exit code 0

2.8 Set数据类型---集合

  • set集合定义

  • 可以对集合的操作

  • 集合的运算

# **************************************
# set集合是一个无序且元素不重复的 集合的数据类型
# set集合使用 中括号或者set()方法来定义
# set集合定义
print('set集合定义')
# 方式1
vars_num = {1, 2, 3, 4, 'a', 1}
print(vars_num, type(vars_num))
# 方式2
vars_num1 = set('123456')
print(vars_num1, type(vars_num1))
# 定义空集合:只能使用set()方法,因为大括号是定义的空字典
vars_num2 = {}
print(vars_num2, type(vars_num2))
vars_num3 = set()
print(vars_num3,type(vars_num3))
# ************************************************
# 可以对集合的操作
# 给集合添加元素
print('可以对集合的操作')
vars_num.add('xyz')
print(vars_num, type(vars_num))
# 无法获取集合中的单个元素
# 给集合删除元素  discard()
vars_num.discard('xyz')
print(vars_num, type(vars_num))
# 检查某元素是否在集合当中
print(1 in vars_num)
# **********************************************
# 集合的运算
print('集合的运算')
a = {1,2,3,'99','I love you'}
b = {3,4,5,'Me too','xxx'}
print(a,type(a))
print(b,type(b))
# 集合主要用于运算,交集,差集,并集,对称差集
# & 交集
print(a & b,type(a & b))
# | 并集
print(a | b,type(a | b))
# - 差集
print(a - b,type(a - b))
# ^ 对称差集:并集中去掉重复的地方
print(a ^ b,type(a ^ b))
E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_8Type_Set.py
set集合定义
{'a', 1, 2, 3, 4} <class 'set'>
{'6', '4', '5', '1', '3', '2'} <class 'set'>
{} <class 'dict'>
set() <class 'set'>
可以对集合的操作
{'a', 1, 2, 3, 4, 'xyz'} <class 'set'>
{'a', 1, 2, 3, 4} <class 'set'>
True
集合的作用?
{1, 2, 3, '99', 'I love you'} <class 'set'>
{'xxx', 3, 4, 5, 'Me too'} <class 'set'>
{3} <class 'set'>
{1, 2, 3, 'xxx', 4, 5, '99', 'Me too', 'I love you'} <class 'set'>
{1, 2, '99', 'I love you'} <class 'set'>
{1, 2, 4, 5, '99', 'Me too', 'I love you', 'xxx'} <class 'set'>
​
Process finished with exit code 0

2.9 数据类型转换

  • 数据类型分类

  • 自动类型转换

  • 强制类型转换

# ********************************************
# 数据类型分类
"""
# 内容不可变
# 可变数据类型:列表 字典 集合
# 不可变数据类型:字符串 数字 元组
"""
"""
# 容器数据类型:字符串 列表 元组 集合 字典
# 非容器数据类型:数字 布尔
"""
# ********************************************
# 数据类型转换
# 什么是数据类型转换?----把一个数据类型转换为另一个数据类型 eg:字符串->数字
# 为什么需要数据类型转换?---也因为不同的数据类型之间不能运算
# 数据类型转换的形式?
# ***********************************************
# 自动类型转换
# 布尔===>整型===>浮点===>复数 --- 当两个不同类型的数据进行运算时,结果会走向更高的精度
a = 123
b = True
print(a+b)  # b在参与运算时转为数字1
if a:
    print("a大于0!")
else:
    print("a小于0!")
# **********************************************
# 强制类型转换
# str() --- 可以把所有数据类型转换为字符串
print("str()**********************************")
a = {'a':1,'b':2,'c':3}
print(a, type(a))
res = str(a)
print(res, type(res))
# **********************************************
# int() --- 只有字符串中时纯数字时才可以转换(有小数点都不可以转换),布尔类型可以转换,列表、元组、集合、字典无法转换
print("int()**********************************")
a = '123'
print(a, type(a))
res = int(a)
print(res, type(res))
a = True
print(a, type(a))
res = int(a)
print(res, type(res))
# ************************************************************
# float() ---只有字符串中时纯数字时才可以转换(有小数点都可以转换),布尔类型可以转换,列表、元组、集合、字典无法转换
print("float()**********************************")
a = '123.22'
print(a, type(a))
res = float(a)
print(res, type(res))
# ***********************************************************
# bool()
# 0,0.0,False,空字符串,空列表,空集合,空元组,空字典 ===>False
# 其他都为True
print("bool()**********************************")
a = {1,2,3,4}
print(a, type(a))
res = bool(a)
print(res, type(res))
# *************************************************************
# 容器类型数据转换
# list()  列表
# 字符串转换为列表时,会把字符串中的每一个字符当作列表的元素
# 数字类型不是容器类型的,不能转换为列表
# 元组、集合可以转换为列表
# 字典也可以转换为列表,但是转换后只保留了键
print("list()**********************************")
a = {'a':'Jamine','b':2,'c':3}
print(a, type(a))
res = list(a)
print(res, type(res))
# *************************************************************
# tuple()  元组
# 数字类型不能转换为元组
# 字符串转换为元组时,会把字符串中的每一个字符当作元组的元素
# 数字类型是容器类型的,不能转换为元组
# 列表、集合可以转换为元组
# 字典也可以转换为元组,但是转换后只保留了键
print("tuple()**********************************")
a = {'a':1,'b':2,'c':3}
print(a, type(a))
res = tuple(a)
print(res, type(res))
# *************************************************************
# dict()  字典
# 数字类型无法转换为字典
# 字符串不能直接被转换为字典
# 列表、元组 要求是二级容器并且每个二级元素只能有两个值时才可以转换
# 集合不能定义二级容器,所以不能直接转换为字典
print("dict()**********************************")
a = ((1,2),(2,3),(3,4))
print(a, type(a))
res = dict(a)
print(res, type(res))
# *************************************************************
# set()  集合
# 数字类型 非容器类型 不能转换为集合
# 字符串可以转换为集合,结果是无序的
# 列表,元组可以转换为集合
# 字典也可以转换为集合,但是转换后只保留了键,而且是无序的
print("set()**********************************")
a = {'a':1,'b':2,'c':3}
print(a, type(a))
res = set(a)
print(res, type(res))
E:\Programs_Way\Python\python.exe "E:\Programs_Way\Pycharm\PyCharm Community Edition 2021.2.1\plugins\python-ce\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 7797 --file D:/Prj/Python/Study_Basic_Grammar/_9Data_type_conversion.py
Connected to pydev debugger (build 212.5284.44)
124
a大于0!
123 <class 'int'>
123 <class 'str'>
123 <class 'str'>
123 <class 'int'>
True <class 'bool'>
1 <class 'int'>
123.22 <class 'str'>
123.22 <class 'float'>
{1, 2, 3, 4} <class 'set'>
True <class 'bool'>
{'a': 'Jamine', 'b': 2, 'c': 3} <class 'dict'>
['a', 'b', 'c'] <class 'list'>
{'a': 1, 'b': 2, 'c': 3} <class 'dict'>
('a', 'b', 'c') <class 'tuple'>
(1, 2, 3) <class 'tuple'>
{1, 2, 3} <class 'set'>
​
Process finished with exit code 0
举报

相关推荐

0 条评论