笨方法学python--字符串和文本

1print 变量

abc = False

joke_string = "Isn‘t that joke so funny?! %r"

print joke_string %abc

结果:

Isn‘t that joke so funny?! False

若改成下面这样:

print joke_string + abc

会报错:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate ‘str‘ and ‘bool‘ objects

2 报错:not all arguments converted during string formatting

发生这个错误的原因是写的%的格式化字符串数量大于给出的变量数量。

例如:

>>> a=123
>>> b=234
>>> c=456

>>> print "%s,%s" %(a,b,c)

若是:

>>> print "%s,%s" %a

就会报 TypeError: not enough arguments for format string

时间: 2024-10-14 00:37:44

笨方法学python--字符串和文本的相关文章

笨方法学python(4)加分题

自己在看笨方法学python这本书,把自己觉得有学到东西的记下来,并不是每个习题都有记录 这次对应的是:习题 6: 字符串(string)和文本 这次只要是想说明一下,在print语句中,只要带有格式化字符的,会当作格式化来处理 脚本1: 结果1: 打出的结果没有%r,那是因为当作格式化处理了 脚本2: 结果2: 会报错,因为print joke_evaluation %hilarious 是格式化的标识 脚本3: 结果3:

笨方法学python(6)加分题--列表与字典的区别

he string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line: "PAHNAPLSIIG

Day 2 笨方法学Python

手打第25个练习,出错的地方有: def 定义后indent 4个空格,第一行空了以后,直接换行是跟上面对其的,但是运行时是错误的,我的解决方法是,重新手动空格4个: 还发现一个问题就是,中文解释,以前老是出错 # -*- coding : utf-8 -*- 网上看到的加上这个就可以了,但是我的还是出错.今天偶然在削微寒的博客http://www.cnblogs.com/xueweihan/的GIthub上找到了答案 #coding:utf-8 换成这个语句就可以了.以后,尽量每句都加上注释,

笨方法学python(5)加分题

这篇对应的是习题17,更多文件操作 # -*- coding: utf-8 -*- #对文件更多操作复制A文件的内容到B文件 #from sys import argv from os.path import exists prompt = "> " from_file = raw_input("please input the filename where you want to copy from: >") #in_file = open(from_

笨方法学Python(1)

习题 1: 第一个程序(略) Warning如果你来自另外一个国家,而且你看到关于 ASCII 编码的错误,那就在你的 python 脚本的最上面加入这一行:# -*- coding: utf-8 -*-这样你就在脚本中使用了 unicode UTF-8 编码,这些错误就不会出现了. 语法错误(SyntaxError) 习题2:注释和井号(略) 习题3:数字和数字计算 习题4:变量和命名 习题 5: 更多的变量和打印(格式化字符串) my_name = 'Zed A. Shaw'my_age =

笨方法学python(第三版)学习笔记1

1. 将浮点数四舍五入:round(1.7333) 2. 格式化字符:%s %d %r %r和%s有什么不同? %r用来做debug比较好,因为它会显示变量的原始数据(raw data),而 其它的符号则是用来向用户显示输出的.记住:%r用作debug,%s用作显示. 使用了%r后转义序列都不灵了.因为%r打印出的是你写到代码里的原始字符串,其中会包含原始的转义字符. line1 = raw_input("line 1: ") line2 = raw_input("line

笨方法学python学习笔记

创建于:2016-02-29 更新于:02-29 python版本:2.7 %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户展示输出的: 每行print后面加个,(comma)的话,print就不会输出换行符. argv的命令行参数为字符串,因此涉及数字时需要用int()转为数字,raw_input()也是字符串. 读写文件常用方法:close,read,readline,truncate,write os.path里有一个属性exis

笨方法学Python(2)

习题 15: 读取文件 习题 16: 读写文件 'w' 是什么意思?它只是一个特殊字符串,用来表示文件的访问模式.如果你用了 'w' 那么你的文件就是写入(write)模式.除了 'w' 以外,我们还有 'r' 表示读取(read), 'a' 表示追加(append). 最重要的是 + 修饰符,写法就是 'w+', 'r+', 'a+' --这样的话文件将以同时读写的方式打开,而对于文件位置的使用也有些不同.如果只写 open(filename) 那就使用 'r' 模式打开的吗?是的,这是 op

笨方法学python 33课

今天Eiffel看到了第33章,任务是把一个while循环改成一个函数. 我在把while循环改成函数上很顺利,但是不知道怎么写python的主函数,在参数的调用上也出现了问题. 通过查资料,发现python的main函数可以用如下的方式来表示: if __name__ == '__main__' 然后自然而然的想把main函数里声明的参数i,numbers,m传入loop()中. 最开始的想法: def loop(i,numbers,m): while(i<m): print "at t

笨方法学Python,Lesson 32 - Lesson 34

Exercise 32 代码 the_count = [1, 2, 3, 4, 5] fruits = ['apples', 'oranges', 'pears', 'apricots'] change = [1, 'pennies', 2, 'dimes', 3, 'quarters'] # this first kind of for-loop goes through a list for number in the_count:     print "This is count %d&q