时间:2022-04-22 点击: 次 来源:网络 作者:佚名 - 小 + 大
零基础学python的视频零基础学python第六课第七课第十课第16课 下载地址 https://share.weiyun.com/S11bpehi 资料目录 跟老齐学Python从入门到精通 电子工业出版社 把两个数字用“+”符号连接起来,比如3+5,结果为8,这其实是求和。但是,对字符串进行类似操作呢?是这样的: >>> "py" + "thon" 'python' 两个字符串“相加”,就相当于把两个字符串连接起来。别的运算就别尝试了,没什么意义,肯定报错,不信就试试: >>>"py"-"thon" # 我这么做,是不是脑袋进水泥了? Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for -: 'str' and 'str' 用“+”号实现连接的确比较简单,不过,有时候你会遇到这样的问题: >>> a = 1989 >>> b = "free" >>> print b + a Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects 报错了,其错误原因已经打印出来了(一定要注意看打印出来的信息,这是解决问题的入口):cannot concatenate'str'and'int'objects。原来a对应的对象是一个int类型的,不能将它和str类型的对象连接起来。怎么办? 用“+”拼接起来的两个对象必须是同一种类型的。如果两个都是数字,毫无疑问是正确的,就是求和;如果都是字符串,那么就得到一个新的字符串。 修改上面的错误,可以通过以下方法: >>> print b + `a` free1989 你是不是照着上面敲过代码呢?你的结果有没有报错? 注意:``是反引号,不是单引号,就是键盘中通常在数字1左边的那个键,在英文半角状态下输入的符号。这种方法,在编程实践中较少应用,特别是在Python 3中,已经把这种方式弃绝了。我想原因就是这个符号太容易和单引号混淆了,且在编程中也不容易看出来,可读性太差。 常言道:“困难只有一个,但解决困难的方法不止一种”,既然反引号的可读性不好,在编程实践中就尽量不要使用。于是乎就有了下面的方法,这是被广泛采用的。不仅简单,更主要的是直白,让人一看就懂。 >>> print b + str(a) free1989 用str(a)实现将整数对象转换为字符串对象。虽然str是一种对象类型,但是它也能够实现对象类型的转换,这就起到了一个函数的作用。其实前面已经讲过的int也有类似的作用,比如: >>> a = "250" >>> type(a) <type 'str'> >>> b = int(a) >>> b 250 >>> type(b) <type 'int'> 如果你对int和str比较好奇,可以在交互模式中使用help(int),学习help(str)可以查阅相关的其他资料。 看本书的时候,一定要同时打开计算机,一边看一边操作才不睡觉,尽管本书充满了“水分”,让你难以入睡,但是这种不是小说的书籍,总是在催眠上有很好疗效的。 还有第三种: >>> print b + repr(a) #repr(a)与上面的类似 free1989 这里repr()是一个函数,其实就是反引号的替代品,它能够把结果字符串转化为合法的Python表达式。 |