朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
Python的设计座右铭之一就是拒绝猜的诱惑。作为一个简单的例子,在Python中不能够让数字和字符串相加,甚至即使字符串看起来像是数字也不可以(例如,一个全数字的字符串):
>>>"42" + 1
TypeError: cannot concatenate 'str' and 'int' objects
这是有意设计的,因为+既能够进行加法运算也能够进行合并操作,这种转换的选择会变得模棱两可。因此,Python将其作为错误来处理。
如果脚本从文件或用户界面得到了一个作为文本字符串出现的数字该怎么办?这里的技巧就是,需要使用转换工具预先处理,把字符串当作数字,或者把数字当作字符串。例如:
>>> int("42"),str(42) # Convert from/to string
(42,'42')
>>> repr(42) # Convert to as-code string
'42'
int函数将字符串转换为数字,而str函数将数字转换为字符串表达形式。repr函数也能够将一个对象转换为其字符串形式,然而这些返回的对象将作为代码的字符串,可以重新创建对象。
既然不能混合字符串和数字类型进行像+这样的加法,那么你必须在进行这样的操作之前手动进行转换:
>>> S = "42"
>>> I = 1
>>> S + I
TypeError: cannot concatenate 'str' and 'int' objects
>>> int(S) + I # Force addition
43
>>> S + str(I) # Force concatenation
'421'
类似的内置函数可以把浮点数转换成字符串,或者把字符串转换成浮点数:
>>> str(3.1415),float("1.5")
('3.1415',1.5)
>>> text = "1.234E-10"
>>> float(text)
1.2340000000000001e-010