Python3 基本数据类型

标准数据类型

Python3中常见的数据类型有:

  • Number(数字)
  • String(字符串)
  • bool(布尔)
  • Tuple(元组)
  • List(列表)
  • Set(集合)
  • Dictionary(字典)

其中6个标准数据类型中:

  • 不可变数据类型:Number(数字),String(字符串),Tuple(元组)
  • 可变数据类型:List(列表),Set(集合),Dictionary(字典)

其他数据类型:bytes(字节数组)


Number(数字)

Python3支持的数字类型有:intfloatboolcomplex(复数)
数据类型可以通过内置函数type()查看。

举例

int_a = 28
int_b = 0
int_c = -1
bool_b = True
float_s = 88.5
complex_c = 1+2j
print(type(int_a), type(int_b), type(int_c), type(bool_b), type(float_s), type(complex_c ))
# 输出结果如下:
#      
## 其中作为bool值时应用如下
if int_a:
	print("int_a大于0,表示True")
if int_b:
    pass
else:
    print("int_b等于0,表示False")
if int_c:
	print("int_c小于0,表示True")
# 输出结果如下:
# int_a大于0,表示True
# int_b等于0,表示False
# int_c小于0,表示True

注意:Python3中bool是int的子类,True == 1、False == 0会返回True,True和False可以和数字相做加减乘除运算。

数值运算

a, b, c, d = 3, 4.8, True, 1 + 3j
# 加法
print(a + a)
print(a + b)  # 整型和浮点型相运算时,自动转换为浮点型
print(a + c)  # True可和数字相加
# 减法
print(a - a)
print(format(b - a, '.2f'))
print(a - c)
print(a - d)
# 乘法
print("a*a =", a * a)
print(a ** 2)  # 乘方,表示a的2次方
print(a * b)
print(a * c)
print(a * d)
# 除法
print("a / a = ", a / a)  # 除法,得到浮点数
print(b / a)
print(c / a)
print(b // a)  # 整除,整型相整除得整型,有浮点数得浮点数
# 取余
print("a%a = ", a % a)

String(字符串)

Python中使用双引号 " 和单引号 ’ 将字符串括起来,同时使用反斜杠 \ 转义特殊字符。

str1 = 'Hello'
str2 = "Python"

# 字符串相加,表示拼接字符串
print(str1 + str2)
# *,星号表示复制相同字符串并拼接
print(str1 * 3)  # 输出str1字串3次
# 反斜杠\转义特殊字符
print(str1 + '\n' + str2)
print('我是\n换行')
print(r'我是\n原始字串')
# 字符串截取
print(str1[0])
print(str1[0:2])
print(str1[2:])
print(str1[:-1])  # 输出第1到倒数第2位
print(str1[-1:])  # 输出最后1位

bool(布尔)

在 Python 中,True 和 False 都是关键字,表示布尔值。
布尔类型特点:

  • 布尔类型只有两个值:True 和 False。
  • 布尔类型可以和其数字进行比较,在比较时,Python 会将 True 视为 1,False 视为 0。
  • 布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
  • 布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0。
a, b = True, False
print(a == 1, b == 0)
print(a > 1, b < 1)
print(a and b)
print(a or b)
print(not a)
print(not a and b or a)
print(int(a))
print(float(a))
print(str(a))

if '':
    pass
else:
    print("空字串视为False")

if '1':
    print("非空的字符串视为True")

注意: 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。


Tuple(元组)

Python中元组写在小括号 () 里,元素之间用逗号,隔开。


a = (1, 2.2, 'hello', True, {2})  # 元组中的数据类型可以不同

print(a)
print(a[0])
print(a[0:2])  # 元组索引与切片
print(a[-1:]) 
print(a[:-1])
print(a*2)   # 元组复制拼接
print(a+a)  # 元组拼接
# 输出结果
#(1, 2.2, 'hello', True, {2})
#1
#(1, 2.2)
#({2},)
#(1, 2.2, 'hello', True)
#(1, 2.2, 'hello', True, {2}, 1, 2.2, 'hello', True, {2})
#(1, 2.2, 'hello', True, {2}, 1, 2.2, 'hello', True, {2})

# 空元组
tup = ()
# 元组中只有一个元素时,需要在元素后添加逗号
tup1 = (2,)

List(列表)

Python中列表写在方括号[]中,元素之间使用逗号,隔开。

list1 = [1, 2, 'd', (1,), {'d'}, [2, 4]]  # 列表中的数据类型可以不同
print(list1)
print(list1[0])
print(list1[0:2])
print(list1[:-1])
print(list1[0::2])  # 列表截取可以接收3个参数,第三个参数表示步长
print(list1[-1::-1])  # 列表参数倒序输出

# 我试了字符串和元组也是可以接收3个参数
a = 'qazswx'
print(a[0::2])
b = (1, 2, 3, 4, 55)
print(b[-1::-1])

Set(集合)

Python中集合写在花括号{}中,元素之间使用逗号,隔开。

# 集合的创建有两种方式
# 使用{}创建
set_a = {"1", '2', '3', 4, 4, 6, 5, 'k'}
# 使用set()创建,空集合必须使用这种方式
set_b = set('j1234')
set_c = set()

print(set_a)  # 集合中,重复元素自动去除
print(set_b)  # 字符串、元组可转化为集合
print(set_c)

# 集合可以进行集合运算
print(set_a - set_b)  # 差集
print(set_a | set_b)  # 并集
print(set_a & set_b)  # 交集
print(set_a ^ set_b)  # 并集减去交集

输出结果:

{4, ‘2’, 6, ‘1’, 5, ‘k’, ‘3’}
{‘4’, ‘2’, ‘1’, ‘j’, ‘3’}
set()
{‘k’, 4, 5, 6}
{‘4’, 4, 5, 6, ‘1’, ‘2’, ‘j’, ‘k’, ‘3’}
{‘3’, ‘2’, ‘1’}
{‘j’, ‘4’, 4, 5, 6, ‘k’}


Dictionary(字典)

Python中字典用 {} 标识,元素用 键(key):值(value) 形式表示。字典是无序的,元素值通过键来存取。

# 直接构建字典
dic = {0: 1, 1: 2, 2: 3, 'name': 'jiang'}
print(dic)
print(dic[0])
print(dic['name'])

# 通过dict(),传入键值对序列创建字典
dic1 = dict([('name', 'liu'), ('age', 12), (2, 3)])
print(dic1)
dic2 = dict(champion=1, silver=2, bronze=3)
print(dic2)
# 创建空字典
dic3 = {}
print(type(dic3))

输出

{0: 1, 1: 2, 2: 3, ‘name’: ‘jiang’}
1
jiang
{‘name’: ‘liu’, ‘age’: 12, 2: 3}
{‘champion’: 1, ‘silver’: 2, ‘bronze’: 3}

你可能感兴趣的:(Python,python,开发语言,笔记)