Python培训
400-996-5531
虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。下面为大家介绍Python的两种类型的类型转换:
1.隐式转换
隐式类型转换由解释器自动执行,而无需用户干预。Python自动将一种数据类型转换为另一种数据类型。此过程不需要任何用户参与Python促进了较低数据类型的转换,例如,将整数转换为较高数据类型表示为float以避免数据丢失。这种类型的转换或类型转换称为UpCasting。
2.显式转换
在显式类型转换中,用户或程序员将对象的数据类型转换为所需的数据类型。在Python中,我们使用预定义的函数(例如int(),float(),str(),bool()等)来执行显式类型转换。
语法:
(Requireddatatype)(Expression)
↓
(Desiredtype)
二.Python中类型转换的示例
Example#1–隐式类型转换/转换
用于说明隐式类型转换/广播的程序。
Python档案:Example1.py
#ProgramtoillustrateImplicittypeconversion
#creatingaddition()functiontoaddtwonumbers
defaddition(a,b):
print("Typeoffirstnumber(a):",a,type(a))
print("Typeofsecondnumber(b):",b,type(b))
c=a+b
print("Typeofresultingvariable(c):",c,type(c))
#addition()functioncallswithdifferentinputs
addition(21,23)#bothintegers
print('\n')
addition(21,23.0)#secondbeingfloat
print('\n')
addition(21.0,23)#firstbeingfloat
print('\n')
addition(21.0,23.0)#bothfloat
说明:定义了两个数字相加的功能。打印第一个输入编号,第二个输入编号和求和类型
首次调用additional():两个输入数字均为整数类型,因此结果也是整数。在这种情况下,不需要类型转换。
第二次调用addition():第一个输入是整数,第二个输入是浮点型。因此,python解释器会在内部将整数类型转换为浮点类型,以避免数据丢失。因此,结果是浮点型,如上面的输出所示。
第三次调用addition():第一个输入为浮点数,第二个输入为整数类型。因此,python解释器会在内部将整数类型转换为浮点类型,以避免数据丢失。因此,结果是浮动类型。
第四次addition()调用:两个数字均为浮点型。因此,python解释器将不会在此处执行任何类型转换。因此,结果是浮动类型。
Example#2–显式类型转换
下面是显式类型转换的说明。
#ProgramtoillustrateExplicittypeconversion
#creatingaddition()functiontoaddtwonumbers
defaddition(a,b):
print("Typeoffirstnumber(a):",a,type(a))
print("Typeofsecondnumber(b):",b,type(b))
c=a+b
print("Typeofresultingvariable(c):",c,type(c))
print("acceptinginputfromtheuser-->")
print("Enterfirstnumber")
num1=input()
print("Entersecondnumber")
num2=input()
#addition()functioncall
addition(num1,num2)
print('\n')
输出:Example2.py
说明:在上面的程序中,定义了add()函数,该函数将计算两个数字的和。提示用户通过input()语句输入两个数字。
最后,用数字23和18调用addition()。但是结果是2318,如下面的输出所示,而不是41。为什么?
这是因为input()的返回类型是一个字符串。因此,用户输入的数字将被视为字符串值。因此,输出是字符串的并置,而不是作为预期输出的整数之和。在这种情况下,Python本身将不会执行任何类型转换。这可以通过显式类型转换来纠正。
在任何编程语言中,一次又一次地需要将一种数据类型的值转换为另一种数据类型。Python提供了隐式类型转换和显式类型转换。隐式类型转换由python解释器执行,而无需程序员干预。显式类型转换由程序员执行。
达内每年输送10万+人才,18年来帮助80万学员高薪就业;协助16万家企业解决人才需求。拥有完善的就业保障体系,116万家招聘雇主合作企业。每天产生数千个招聘岗位,提供更多就业机会给到达内学员。找Python培训,选达内就对了!
版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved