数据类型的转换

  1. 利用print(isinstance(变量名,数据类型))函数可判断变量是否为指定数据类型,该函数返回bool值
num = 1
print(isinstance(num, int))

*返回值是True

  1. 同类型的数据可以进行计算
# str + str
a = 'hello'
b = 'world'
print(a + b)

# int + int
c = 1
d = 2
print(c + d)

# int + float
e = 3
f = 3.14159
print(e + f)

# bool + bool
g = True
h = False
print(g + h)

输出的结果分别为(在bool型中,True为1,False为0)

helloworld
3
6.14159
1

对于list、tuple的相加,同样可以利用上面的方式进行

my_list = [1, 2, 3]
my_list2 = [4, 5, 6]
print(my_list + my_list2)

my_tuple = (1, 2, 3)
my_tuple2 = (4, 5, 6)
print(my_tuple + my_tuple2)

输出的结果为

[1, 2, 3, 4, 5, 6]
(1, 2, 3, 4, 5, 6)

但是dict、set不可用上述方式相加,具体相加方式待学习后进行展开

  1. 数据类型的转换
# str -> int
my_str = '1'
my_int = int(my_str)
print(my_int, type(my_int))

# int -> str
my_int2 = 2
my_str2 = str(my_int2)
print(my_str2, type(my_str2))

# int -> float
num1 = 1
num2 = float(num1)
print(num2, type(num2))

# float -> int
num3 = 3.7
num4 = int(num3)
print(num4, type(num4))

返回的结果为

1 <class 'int'>
2 <class 'str'>
1.0 <class 'float'>
3 <class 'int'>

其中,整型转浮点型时默认保留一位小数,浮点型转整型时只保留整数且不做四舍五入

  1. eval()函数可以获取字符串中的原始数据,虽然功能好用,但出于安全考虑,尽量不使用该函数
  2. 但可以用下列代码实现eval()函数的功能,且安全性能够得到保障
import ast
a = ast.literal_eval('1')
print(a, type(a))
  1. 在Python中,以下值会被认为是False:
    -为0的数字,包括0、0.0等
    -空值 None
    -空字符串
    -空的集合、元组、列表、字典
  2. 在str转bool时,不能使用下列方式
a = 'False'
b = bool(a)
print(b, type(b))

返回值为 True <class ‘bool’>,虽然数据类型转为了bool,但是返回的值并不是False,因为变量a并非空字符串

  1. 但是用下列方式可以进行str向bool的转换
#方法1
import ast
a = ast.literal_eval('False')
print(a, type(a))

#方法2
data = 'False'
is_true = data == str('True')
print(is_true, type(is_true))

以上两个方式输出的结果都是 False <class ‘bool’>

猜你喜欢

转载自blog.csdn.net/weixin_44423669/article/details/85959043