好好学python·基本数据类型

Posted 有理想、有本领、有担当的有志青年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了好好学python·基本数据类型相关的知识,希望对你有一定的参考价值。

基本用法

注释

Python中,#+语句 即为一条注释,也可以用 ‘’‘注释块’’'

#人生苦短,我用Python

输出

Python中,print()为输出函数

print("Hello World!")

变量

什么是变量?

内存空间及存储的值

num = 10 的理解

将10赋值给名叫num的变量的内存空间中

命名规范

  • 变量名可以使用字母,数字,下划线“_”
  • 不能以数字开头
  • 严格区分大小写
  • 不要使用中文
  • 不要使用关键字

另外 变量的命名规范适用于脚本名称和后期的函数名及其它命令规范

变量的定义方式

在Python中,定义变量不需要说明数据类型

#第一种 变量定义方式
a = 10
b = 20

#第二种定义方式
a,b = 30,40

思考:如何实现 以下两个变量的数据相互交换

# 定义两个变量
a = 10
b = 20

'''
普通方式,完成变量数据的交换
c = a
a = b
b = c
'''

# 利用python定义比变量的语法来实现 变量的数据交换
a,b = b,a



python的数据类型

type() 函数,可以返回当前的数据类型

数据类型分类

  • 字符串 string
  • 数字类型 Number
  • 整型 int
  • 浮点 float
  • 复数
  • 布尔 bool
  • 列表 list
  • 元组 tuple
  • 字典 dict
  • 集合 set

可变数据类型:列表,字典,集合
不可变数据类型: 字符串,数字,元组

容器类型数据 : 字符串,列表,元组,集合,字典
非容器类型数据: 数字,布尔类型

字符串类型

  • 单双引号都可以定义字符串,需手动换行
  • 三引号可以定义自动换行的字符串
  • 引号可以互相嵌套,但不能嵌套本身
  • 字符串中可以使用转义字符,如 \\r \\n \\t
  • 如果不想在字符串中实现转义字符可以在字符定义时 加 love = r'\\nihao \\shijie'
# 定义方式就是使用 单引号 或者 双引号
love = 'iloveyou'
hello = "你好 世界"

# 也可以使用三引号实现大字符串的定义,一般用于大文本字符串的定义,并且大字符串,可以换行
s = '''
比如说这一个
很长很长的文章内容。。。
'''

数字类型

# 数字类型 Number
'''
int   整型
float 浮点类型
complex 复数
bool  布尔类型可自动转化为数字类型(True 1,False 0)
'''
varn = 521
varn = -1111

varn = 3.1415926

varn = 0x10  # 十六进制

varn = b'001100111' # bytes

# 复数
varn = 5+6j  # complex

# 数值类型可以参与运算
a = 10
b = 20
print(a+b)

List列表类型

  • 列表用来表示一系列数据
  • 列表中存储的数据可以是任意类型
  • 使用中括号进行定义 [],
  • 每个数据之间使用逗号分隔 ,
  • 列表中存储的每一组数据,称为元素
  • 通过下标获取元素
  • 列表中有列表称为二级列表或多级列表
'''
关于列表中的下标
  0   1   2    3    4 
['a','b',521,'pai',3.1415926]
 -5   -4   -3  -2   -1
'''

tuple 元组类型的定义

  • 元组使用小括号进行定义()
  • 元组与列表唯一的区别就是值不能被改变
vart = (1,2,3,'a','b')
# 元组的其它定义方式
vart = 1,2,3

注意在定义元组时,如果元组中只有一个元素,那么需要加“,”不然就不是元组类型了

vart = (1,)

Dict字典类型

  • 使用**大括号 **来定义

  • 字典是 键值对 的存储方式 name :admin

  • 键必须是字符串或数字类型,值可以是任意类型

  • 键名不能重复,值可以重复

# 比如需要记录一本书的相关数据 书名,作者,价格,。。。
vard = 'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'
# print(vard,type(vard))
# 'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99' <class 'dict'>

# 获取字典中的值
print(vard['title'])
# 字典中的键不能重复使用,否则会覆盖
vard = 'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'
# print(vard)

set集合类型

  • set集合是一个 无序且元素不重复的 集合的数据类型
  • set集合使用 中括号或者set()方法来定义
  • 如果需要定义一个空集合时 只能使用 set()方法,因为大括号时定义的空字典
  • 集合主要用于运算,交集,差集,并集,对称集合

a = 1,2,3,'a'
# 给集合添加元素
# a.add('b')
# 无法获取集合中的单个元素,但是可以添加和删除
# a.discard('a')
# print(a)
# 检查当前的元素是否在集合中
# print(1 in a)


# 集合主要用于运算,交集,差集,并集,对称集合
a = 1,2,3,'a','b'
b = 1,'a',22,33

print(a & b) # 交集  1, 'a'
print(a - b) # 差集 'b', 2, 3  a 集合有,b集合没有的
print(a | b) # 并集 1, 2, 3, 33, 'a', 'b', 22 两个集合,放到一起,并且去重
print(a ^ b) # 对称差集 33, 2, 3, 'b', 22 

数据类型转换

  • 什么是数据类型转换?
    • 把一个数据类型转换为另一个数据类型,例如 字符串转为数字
  • 为什么需要数据类型转换?
    • 因为不同的数据类型之间不能运算
  • 数据类型转换的形式?
    • 自动类型转换
    • 强制类型转换

自动类型转换

  • 当两个不同的值进行运算时,结果会向更高的精度进行计算
    True ==> 整型 ==> 浮点 ==> 复数
  • 在和数字运算时 True转为数字1,False转为数字 0

强制类型转换

python中的每个数据类型都有对应的方法,可以对数据类型进行转换

  • str()
  • int() 字符串为纯数字可转换 容器类型不能转为数字int类型
  • float() 转换规则和int类型相同,结果是浮点类型
  • bool() 可以把其它类型转换布尔类型的True或False
    False'',0,0.0,False,[],,(),set()
  • list() 列表 / tuple() 元组 / set() 集合
    • 数字类型不能转换
    • 字符串转换时 把每一个字符当作一个元素
    • 三者可以相互转换,转化为集合时结果是无序的
    • 字典 不完全转换,只保留了字典中的键
  • dict() 字典
    • 数字类型 非容器类型,不能转换为 字典
    • 字符串不能直接转换为 字典
    • 列表/元组可以转换为字典,要求是一个二级列表/元组,并且每个二级元素只能有两个值

以上是关于好好学python·基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章

好好学python·集合

好好学python · 你真的会列表吗(列表推导式质检员)

好好学python · 你真的会列表吗(列表推导式质检员)

好好学python · 元组

好好学python · 元组

好好学python · 字典