目 录:
11.11 由Dear,I love you forever! 五个单词输出五个爱心
print() 函数用于打印输出,是python中最常见的一个内置函数。
将 "objects" 打印输出至 "file参数" 指定的文本流,以 "sep 参数"分隔开并在末尾加上 "end参数"。 "sep" 、 "end "、 "file" 和"flush" 必须以关键字参数的形式给出。 flush 关键字参数是在 phthon3.3 版后增加的。
所有非关键字参数都会被转换为字符串,就像是执行了 str() 一样,并会被写入到流,以 “sep参数“ 且在末尾加上 “end参数“。 “sep参数“ 和 “end参数“都必须为字符串;它们也可以为 “None“,这意味着使用默认值。 如果没有给出 “objects参数“,则 print() 将只写入 “end参数“。
"file 参数"必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print() 不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(...)。输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新。
打印的文本内容不仅仅是指中文文本,还可以是英文文本或者包含特殊符号的文本,打印文本时需要使用引号将文本内容引起来,引号可以是单引号(' '),双引号(" "),三引号(""" """)
| 使 用 方 法 | 代 码 | 运行结果 | |
| Single quotes | 一对单引号,单引号里可以用双引号,并可以将单引号打印出来 | print('有生命便有希望') | 有生命便有希望 |
| print('"有生命便有希望"') | "有生命便有希望" | ||
| Double quotes | 一对双引号,双引号里可以用单引号,并可以将单引号打印出来 | print("永不气馁!") | 永不气馁! |
| print("'永不气馁! '") | '永不气馁! ' | ||
| Triple quoted | 一对三引号,引用多行文本 | Multilinetext=""" They who cannot do as they would, must do as they can. 不能如愿而行, 也须尽力而为。 """ print(Multilinetext) | hey who cannot do as they would, must do as they can. 不能如愿而行, 也须尽力而为。
|
| 方 法 | 代 码 | 运行结果 | |
| 1 | 直接在引号中打空格,空格数不限 | print("谋事在人 成事在天 有生命便有希望") | 谋事在人 成事在天 有生命便有希望 |
| 2 | 相邻的两项用逗号间隔 | print("谋事在人","成事在天","有生命便有希望") | 谋事在人 成事在天 有生命便有希望 |
| 3 | 多行打印时用逗号结尾 | print ("谋事在人",) print ("成事在天") 此版本适合python3.4 最新版的方法是:
| 谋事在人 成事在天 (2个字符串之间有个空格) |
| 4 | 相邻的两项或多行打印时没有用逗号间隔 | print("谋事在人""成事在天") print ("谋事在人") print ("成事在天") | 谋事在人成事在天 谋事在人成事在天 |
| 5 | 字符串间不要空格 | print ("谋事在人" + "成事在天") | 谋事在人成事在天 (2个字符串之间没有空格了) |
print()函数的“end”参数指定了print()函数在打印完内容之后,用什么符号来表示结尾,默认值是“\n”,表示换行,即print()函数在打印完指定内容之后,就会自动换行。
我们可以通过“end”参数的定义,用其他符号来表示print()输出打印完成。例如:print()函数的“end”参数指定为“|”,即print()函数每次输出完成之后,都输出“|”。
| 强行换行 | |
| 代 码 | print("有生命\n便有希望") |
| 运行结果 | 有生命 便有希望 |
打印后不换行,用end参数来设置你想要的结束符号 | |
| 代 码 | print("谋事在人",end =" ") print("成事在天", end =" ") print("有生命便有希望", end =" ") |
| 运行结果 | 谋事在人 成事在天 有生命便有希望 |
| 代 码 | print("谋事在人",end ="|") print("成事在天", end ="|") print("有生命便有希望", end ="|") |
| 运行结果 | 谋事在人|成事在天|有生命便有希望| |
| 代 码 | for x in range(0, 6): print(x, end=' ') for x in range(0, 6): print(x, end=',') |
| 运行结果 | 0 1 2 3 4 5 0,1,2,3,4,5, |
| 代 码 | for x in range(1, 6): print(x, end=' ') print() for x in range(1, 6): print(x, end=',') print() |
| 运行结果 | 1 2 3 4 5 1,2,3,4,5, |
|
|
|
| 用sep参数来约束print括号里多项内容之间的区隔符 | |
| 代 码 | print("谋事在人", "成事在天", "有生命便有希望", sep ="&") |
| 运行结果 | 谋事在人&成事在天&有生命便有希望 |
| 代 码 | print("www", "csdn", "net", sep=".") |
| 运行结果 | www.csdn.net |
| 制表符\t控制水平间隔,作用如tab键,在打印输出时控制间隔距离 \t表示空8个字符, 或者使用格式化输出,具体请看实例 | |
| 代 码 | print("不能如愿而行\t也须尽力而为") |
| 运行结果 | 不能如愿而行 也须尽力而为 |
| 代 码 | for i in range (1, 11): print(i,'\t',i*2,'\t',i*3,'\t',i*4) |
| 运行结果 | 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 5 10 15 20 6 12 18 24 7 14 21 28 8 16 24 32 9 18 27 36 10 20 30 40 |
| 代 码 | name = 'Adversity awake' saying="Man proposes, god disposes 谋事在人,成事在天" print(name.title()+" once said"+": "+'\n\t"'+saying+'"') |
| 运行结果 | Adversity Awake once said: "Man proposes, god disposes 谋事在人,成事在天" |
|
|
|
|
|
|
| 代 码 | #错误print()效果距离: print("学生号\t姓名\t科目\t分数") |
| 运行结果 |
# 对齐出现偏差 |
| 代 码 | print("学生号\t\t姓名\t\t\t\t\t科目\t\t分数") print("100000101\t阿凡达\t\t\t\t\t语文\t\t80") print("100000102\t卡梅隆卡梅隆\t\t\t语文\t\t85") print("100000103\t莫妮卡·贝鲁卡梅隆\t\t语文\t\t85") |
| 运行结果 |
#用多个制表符,对齐完好
|
| 代 码 | print("%-10s\t %-30s\t %-10s\t %-10s"%("学生号","姓名","科目","分数")) print("%-10s\t %-32s\t %-10s\t %-12s"%("100000101","阿凡达","语文","80")) print("%-10s\t %-30s\t %-10s\t %-12s"%("100000102","卡梅隆卡梅隆","语文","82")) print("%-10s\t %-26s\t %-10s\t %-12s"%("100000103","莫妮卡·贝鲁卡梅隆","语文","85")) |
| 运行结果 |
#对齐完好 |
编外话:有时需要对齐输出,还可以使用format()来实现:
| 代 码 | products=[["iphone",6888],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699],["MacPro",45600],["coffee",432],["abc",244499],["Book",6230],["Nike",61299],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699]] print("-"*10+"商品列表"+"-"*10) i=0 for product in products: print('{:<6}\t{:<10}\t{:<10}'.format(str(i), product[0], str(product[1]))) i = i+1 |
| 运行结果 | ![]() |
print后的括号中如果是数学表达式,则打印结果为表达式最终运算的结果
| Print 打印表达式的值 | |
| 代 码 | Print(1+2+3+4+5) |
| 运行结果 | 15 |
| 代 码 | print(8/1) |
| 运行结果 | 8.0 |
| 代 码 | print(2*4) |
| 运行结果 | 8 |
| 代 码 | print(18-10) |
| 运行结果 | 8 |
| 代 码 | print(2+6) |
| 运行结果 | 8 |
|
|
|
| 打印反斜杠,把2个反斜杠放一起 | |
| 代 码 | Print("不能如愿而行\\也须尽力而为") |
| 运行结果 | 不能如愿而行\也须尽力而为 |
|
|
|
无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量…...都可以通过print()直接输出。
| print()变量的输出 | |
| 代 码 | #输出数值型变量 num = 91682 print(num) |
| 运行结果 | 91682 |
| 代 码 | #输出字符串变量 name = '逆境清醒' print(name) |
| 运行结果 | 逆境清醒 |
| 代 码 | #输出列表变量 list = [1,2,3,4,5,'a','b','c'] print(list) |
| 运行结果 | [1, 2, 3, 4, 5, 'a', 'b', 'c'] |
| 代 码 | #输出元组变量 tuple = (1,2,3,4,5,'a','b','c') print(tuple) |
| 运行结果 | (1, 2, 3, 4, 5, 'a', 'b', 'c') |
| 代 码 | #输出字典变量 dict ={'a':1, 'b':2,'c':3} print(dict) |
| 运行结果 | {'a': 1, 'b': 2, 'c': 3} |
|
|
|
| 在字符串中插入 | 代 码 | 运 行 结 果 | |
| 1 | 字符串变量 | name = "逆境清醒" print("我的名字是 %s " % name) | 我的名字是 逆境清醒 |
| 2 | 整数变量 | age = 100 print("我的年龄是 %d"%(age)+"岁了") | 我的年龄是 100岁了 |
| 3 | 小数变量 | i = 2670.5 print("数字是 %f" %i) | 数字是 2670.500000 |
| %号点(.)前跟字段宽度; %号点(.)后跟精度值;字段宽度中,小数点也占一位
| i = 2.67145573 print("8位保留字段宽度%8f"%(i)) | 8位保留字段宽度2.671456 | |
| i = 2.67145573 print("保留两位小数输出的是%.2f"%(i)) | 保留两位小数输出的是2.67 | ||
| i= 2.6714563467 print("a"+'%10.3f'%i) print("a"+'%f'%i) | a 2.671 a2.671456 | ||
| 4 |
| s='逆境清醒' x=len(s) print('%s名字的长度是 %d' %(s,x)) | 逆境清醒名字的长度是 4 |
| 格式输出 | 代 码 | 运行结果 | |
| %s | 输出一个字符串,字符串采用str()的显示 | i= 2.6714563467 print('%s'%i) | 2.6714563467 |
| %r | 字符串(repr())的显示 | print('%r'%repr(set([1,1,2,3]))) | '{1, 2, 3}' |
| %c | 输出一个单一的字符 | print('%c'%90) | Z |
| %e、%E | 指数(基底写e) | k= 2671.4563467284 print('%e'%k) print('%E'%k) | 2.671456e+03 2.671456E+03 |
| %b | 二进制整数 | print(bin(50)) | 0b110010 |
| %hd、%d、%ld | 以十进制、有符号的形式输出 short、int、long 类型的整数 | print('%d'%50) | 50 |
| %hu、%u、%lu | 以十进制、无符号的形式输出 short、int、long 类型的整数 | print('%u'%50 | 50
|
| %ho、%o、%lo | 以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数 | print('%o'%50) | 62
|
| %#ho、%#o、%#lo | 以八进制、带前缀、无符号的形式输出 short、int、long 类型的整数 | print('%#o'%50) | 0o62
|
| %hx、%x、%lx、 %hX、%X、%lX | 以十六进制、不带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字也小写;如果 X 大写,那么输出的十六进制数字也大写。 | print('%x'%50) | 32 |
| %#hx、%#x、%#lx、 %#hX、%#X、%#lX | 以十六进制、带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字和前缀都小写;如果 X 大写,那么输出的十六进制数字和前缀都大写。 | print('%#x'%50) print('%#X'%50) | 0x32 0X32 |
| %f、%lf 、%F | 以十进制的形式输出 float、double 类型的浮点数 | i= 2.6714563467 print('%f'%i) | 2.67146 |
| %g、%lg、 %G、%lG | 以十进制和指数中较短的形式输出 float、double 类型的小数,并且小数部分的最后不会添加多余的 0。如果 g 小写,那么当以指数形式输出时 e 也小写;如果 G 大写,那么当以指数形式输出时 E 也大写。 | i= 2.6714563467 print('%g'%i) | 2.67146 |
| 其他一些格式输出方法 | |
| 代 码 | k= 2671.4563467284 print('二进制形式''{0:b}'.format(int(k))) |
| 运行结果 | 二进制形式101001101111 |
| 代 码 | k= 2671.4563467284 print('十进制形式''{:d}'.format(int(k))) |
| 运行结果 | 十进制形式2671 |
| 代 码 | k= 2671.4563467284 print('八进制形式''{:o}'.format(int(k))) |
| 运行结果 | 八进制形式5157 |
| 代 码 | k= 2671.4563467284 print('十六进制形式''{:x}'.format(int(k))) |
| 运行结果 | 十六进制形式a6f |
| 代 码 | k= 2671.4563467284 print('数字形式''{:n}'.format(k)) |
| 运行结果 | 数字形式2671.46 |
| 代 码 | k= 2671.4563467284 print('百分数形式''{:%}'.format(k)) |
| 运行结果 | 百分数形式267145.634673% |
| 代 码 | k= 2671.4563467284 print('幂指数形式''{:e}'.format(k)) |
| 运行结果 | 幂指数形式2.671456e+03 |
| 代 码 | k= 2671.4563467284 print('十进制较短的形式输出''{:g}'.format(k)) |
| 运行结果 | 十进制和指数中较短的形式输出2671.46 |
| 代 码 | k= 2671.4563467284 print('十进制浮点数''{:f}'.format(k)) |
| 运行结果 | 十进制浮点数2671.456347 |
| 代 码 | 输出二进制数 k= 2671.4563467284 print(bin(int(k))) |
| 运行结果 | 0b101001101111 |
| 代 码 | 输出八进制数 k= 2671.4563467284 print(oct(int(k))) |
| 运行结果 | 0o5157 |
| 代 码 | 输出十六进制数 k= 2671.4563467284 print(hex(int(k))) |
| 运行结果 | 0xa6f |
|
|
|
| 英文大小写转换(title()首字母大写,upper()全大写,lower()全小写) | |
| 代 码 | name = 'Adversity awake' print(name.title()) |
| 运行结果 | Adversity Awake |
| 代 码 | name = 'Adversity awake' print(name.upper()) |
| 运行结果 | ADVERSITY AWAKE |
| 代 码 | name = 'Adversity awake' print(name.lower()) |
| 运行结果 | adversity awake |
|
|
|
页面过长,其他内容请点击下面链接
Python中Print()函数的用法___实例详解(二)(全,例多)
推荐阅读:
| 37 | ![]() | Python 3D可视化(一) |
| 36 | ![]() | python练习题目录 |
| 35 | ![]() | |
| 34 | | |
| 33 | | python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印 |
| 32 | | Background 全属性实例图解(10种全)(一) |
| 31 | | Element Plus 实例详解(一) |
| 30 |
| Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细) |
| 29 | | |
| 28 | | |
| 27 | | |
| 26 | | |
| 25 | | |
| 24 | | |
| 23 | | |
| 22 | | |
| 21 | | |
| 20 | | |
| 19 | | |
| 18 | | |
| 17 | | |
| 16 | | |
| 15 | | |
| 14 | | |
| 13 | | |
| 12 | | |
| 11 | | 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心) |
| 10 | | |
| 9 | | |
| 8 | | |
| 7 | | 2023年3月TIOBE 指数头条:编程语言 Go 进入 TIOBE 指数前 10 名,多家权威机构____编程语言排行榜__薪酬状 |
| 6 | | |
| 5 | | |
| 4 | | |
| 3 | | |
| 2 | | |
| 1 | |
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击
在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到第一个匹配范围(例如5到15之间)的子字符串,并将该实例替换为另一个字符串“X”。我的测试字符串s="1foo100bar10gee1"我的初始模式是1个或多个数字的任何字符串,例如,re=Regexp.new(/\d+/)matches=s.scan(re)给出["1","100","10","1"]如果我想用“X”替换第N个匹配项,并且只替换第N个匹配项,我该怎么做?例如,如果我想替换第三个匹配项“10”(匹配项[2]),我不能只说s[matches[2]]="X"因为它做了两次替换“1fooX0barXg
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在尝试用ruby中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了
我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin
我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_
我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。