为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中对数据类型进行修饰?

如何在Python中对数据类型进行修饰?

holdtom 2022-09-27 09:52:20
我是蟒蛇的新手。我编写了一个简单的代码来了解输入的数据类型。这是我的代码。我给出了2个输入,这些输入被转换为“字符串”。使用“If”条件匹配输入数据类型。但我的输出很奇怪。我不知道为什么它在这里打印唯一的整数。任何人都可以帮我解决这个问题吗?我也在这里添加了我的输出法典:a=str(input("Enter A Value \n"))b=str(input("Enter B value \n"))print('\n')print('A is = ',a)print('B is = ',b)if (type(a)==int, type(b)==int):print('A and B is Integer')elif (a==str, b==str):    print('A and B is String')elif (a==float, b==float):    print('\nA and B is Float')print('\n*Program End*')'输出:Enter A Value abcEnter B value defA is =  abcB is =  defA and B is Integer*Program End*
查看完整描述

4 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

(我不确定这是否是你要找的)您可以使用 type() 函数在 python 中打印某些内容的数据类型,如下所示:

var = 25
print(type(var))

输出:

<class 'int'>


查看完整回答
反对 回复 2022-09-27
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

问题出在这条线上:


if (type(a)==int, type(b)==int)

^这适用于您拥有的所有条件。if


这不是在语句上使用多个条件的方法。实际上,这只是一个.所以你是说.所以。根据文档iftupleif (0,0)


默认情况下,除非对象的类定义了返回 False 的 bool() 方法或返回零的 len() 方法(当使用该对象调用时),否则将对象视为 true。1 以下是大多数被认为是假的内置对象:


- constants defined to be false: None and False.

- zero of any numeric type: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)

- empty sequences and collections: '', (), [], {}, set(), range(0)

在本例中,您使用的是 with,因此在检查其真值时,它将始终返回。因此,检查多个真值条件的正确方法是使用布尔运算符:tuplelen() != 0True


a=str(input("Enter A Value \n"))

b=str(input("Enter B value \n"))

print('\n')

print('A is = ',a)

print('B is = ',b)


if type(a)==int and type(b)==int:

    print('A and B is Integer')

elif type(a)==str and type(b)==str:

    print('A and B is String')

elif type(a)==float and type(b)==float:

    print('\nA and B is Float')


print('\n*Program End*')

^注意 我添加到其他条件,因为它们不存在。type()


现在。这里还有另一个问题:


a=str(input("Enter A Value \n"))

b=str(input("Enter B value \n"))

您正在转换为输入,这已经是一个 因为给你 ,所以你总是会得到:strstrinputstr


A and B is String


因为它们都是.因此,您可以使用内置函数来实现此目的:strstr


if a.isnumeric() and b.isnumeric():

    print('A and B is Integer')

elif a.isalpha() and b.isalpha():

    print('A and B is String')

elif a.replace('.','',1).isdigit() and b.replace('.','',1).isdigit():

    print('\nA and B is Float')

第一个是 a.isnumeric(),然后是 a.alpha(), 最后一个解决方法是检查它是否是 : 将 替换为 1 并检查它是否仍为 isdigit()float.



查看完整回答
反对 回复 2022-09-27
?
HUH函数

TA贡献1836条经验 获得超4个赞

type() 方法将返回类类型


a=5

print(a,"is type of",type(a))

b=2.9

print(b,"is type of",type(b))

c='Hello'

print(c,"is type of",type(c))

输出:


5 is type of <class 'int'>

2.9 is type of <class 'float'>

Hello is type of <class 'str'>


查看完整回答
反对 回复 2022-09-27
?
慕沐林林

TA贡献2016条经验 获得超9个赞

integer=100

print(integer,"is a",type(integer))

string="Python"

print(string,"is a",type(string))

decimal=5.973 #decimal is also called  as float.

print(decimal,"is a",type(decimal))

输出:


100 is a <class 'int'>

Python is a <class 'str'>

5.973 is a <class 'float'>


查看完整回答
反对 回复 2022-09-27
  • 4 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信