复合数据类型
编译器或者解释器没有内置的数据类型,也就是开发者要使用,必须自己创建才能使用。
list
set
tuple
dict
object
.......
万物皆对象
Python的数据转换
数学中,我们就学习基本概念:只有相同类型的数据,才可以运算。
但是开发中,往往数据类型可能不一致,这个时候,要进行运算,必须将数据类型转换成同一种数据类型。
编程中存在两种类型转换规则:
·自动类型转换
·强制类型转换
自动类型转换
自动类型转换,顾名思义,不需要开发者手动转换,由编译器或者解释器自动完成转换。如C或者Java中,自动转换,比较多:
boolean < byte < short < int < long < float < double < String
python中,自动类型只存在于三种类型:
整型
浮点型
布尔类型
bool > 整型 > 浮点型
a = True
b = False
c = 10
d = 3.14
print(a + c)
print(b + c)
print(d + c)
注意:浮点数在计算机中的存储和运算问题。
强制类型转换
编译器或者解释器,无法完成自动类型转换,就需要开发者自己进行类型转换。
注意:前提条件:可以转换的。
int(字符串) 将字符串转换为整数
float(字符串) 将字符串转换为浮点数
str(可以转换为字符串类型)
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
# print(num1 + num2)
# print(num1 - num2)
# print(num1 * num2)
# print(num1 / num2)
# print(num1 % num2)
# 第一种字符串格式化的方式,就是将所有类型统统转换为字符串
# print(str(num1) +" + "+ str(num2) +" = "+ str(num1 + num2))
# C语言特性
# print("%d + %d = %d" %(num1, num2, num1 + num2))
# print("num1的值是:%d"%(num1))
# print("num1的值是:%d"%num1)
# print("%.2f + %f = %f" %(num1, num2, num1 + num2))
# 第二种方式
# print("%s + %s = %s" %(num1, num2, num1 + num2))
# 多个值之间,print会以空格的形式拼接
# print(num1, " + ", num2, " = ", num1 + num2)
# 第四种方式,python字符串对象的方法, format方法
# print("{} + {} = {}".format(num1, num2, num1 + num2))
# 第五种方式,确实就是第四种方式的简写
print(f"{num1} + {num2} + {num1 + num2}")
作业
将第二题升级。
xxx + xxx = xxx
xxx - xxx = xxx
#方法一
"""
print(str(num1) + "+" + str(num2)+"="+ str(num1 +num2))
print(str(num1) + "-" + str(num2)+"="+ str(num1 - num2))
print(str(num1) + "*" + str(num2)+"="+ str(num1 * num2))
print(str(num1) + "/" + str(num2)+"="+ str(num1 / num2))
print(str(num1) + "%" + str(num2)+"="+ str(num1 % num2))
"""
#方法二
"""
print("%d + %d = %d" %(num1, num2, num1+num2))
print("%d - %d = %d" %(num1, num2, num1-num2))
print("%d * %d = %d" %(num1, num2, num1*num2))
print("%d / %d = %d" %(num1, num2, num1/num2))
"""
#方法三
"""
print(num1, "+", num2, "=", num1 + num2)
print(num1, "*", num2, "=", num1 * num2)
print(num1, "-", num2, "=", num1 - num2)
print(num1, "/”,num3,"=",num1 /num2)