python中有printf吗,python中printf怎么用
python的print和c的printf有什么区别
print([object, ...], *, sep=' ', end='\n', file=sys.stdout, flush=False)
输出对象到流文件,sep指定分割符,end指定结束符。参数转换为字符串写入输出流,如果没有输出内容直接输出end结束符。file参数必须是包含write方法的对象,默认输出到标准输出。
int printf( char * format, ... );
根据参数 format 字符串来转换并格式化数据,然后将结果输出到标准输出设备(显示器),直到出现字符串结束('\0')为止。
参数 format 字符串可包含下列三种字符类型:
一般文本,将会直接输出
ASCII 控制字符,如\t、\n 等有特定含义
格式转换字符
格式转换为一个百分比符号(%)及其后的格式字符所组成。一般而言,每个%符号在其后都必需有一个参数与之相呼应(只有当%%转换字符出现时会直接输出%字符),而欲输出的数据类型必须与其相对应的转换字符类型相同。
如何在python里printf
在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括号
缩进要使用4个空格(这不是必须的,但你最好这么做),缩进表示一个代码块的开始,非缩进表示一个代码的结束。没有明确的大括号、中括号、或者关键字。这意味着空白很重要,而且必须要是一致的。第一个没有缩进的行标记了代码块,意思是指函数,if 语句、 for 循环、 while 循环等等的结束。
输入很简单
x = input("Please input x:")
Please input x:
输出的 print 函数总结:
1. 字符串和数值类型
可以直接输出
print(1)
1
print("Hello World")
Hello World
2.变量
无论什么类型,数值,布尔,列表,字典...都可以直接输出
x = 12
print(x)
12
s = 'Hello'
print(s)
Hello
L = [1,2,'a']
print(L)
[1, 2, 'a']
t = (1,2,'a')
print(t)
(1, 2, 'a')
d = {'a':1, 'b':2}
print(d)
{'a': 1, 'b': 2}
3.格式化输出
类似于C中的 printf
s
'Hello'
x = len(s)
print("The length of %s is %d" % (s,x))
The length of Hello is 5
python shell中使用printf为何打印出的是长度?cmd中运行则正常输出
如果在IDLE里运行的话会程序输出结果是printf这个函数的返回值,这是因为printf是打印到真实的标准输出,而不是sys.stdout。
所以要想看到打印的内容,可以在CMD里运行python
test.py来查看结果,前提是已经设置好了Python的环境变量。
python中函数输出怎么使用
print函数是python语言中的一个输出函数,可以输出以下几种内容
1. 字符串和数值类型 可以直接输出
??print(?1)
1
??print(?"Hello?World")
Hello?World
2.变量
无论什么类型,数值,布尔,列表,字典...都可以直接输出
?x?=??12
??print(x)
12
?s?=??'Hello'
??print(s)
Hello
?L?=?[?1,?2,?'a']
??print(L)
[?1,??2,??'a']
?t?=?(?1,?2,?'a')
??print(t)
(?1,??2,??'a')
?d?=?{?'a':?1,??'b':?2}
??print(d)
{?'a':??1,??'b':??2}
3.格式化输出
类似于C中的 printf
?s
'Hello'
?x?=?len(s)
??print(?"The?length?of?%s?is?%d"??%?(s,x)?)
The?length?of?Hello??is??5
【注意】
Python2和3的print函数格式不同,3要求加括号(print())
缩进最好使用4个空格
7-17 jmu-python-输入输出-格式化输出字符串 python计算机编程题
开python编辑器,输出主要用到的函数是print,和c语言的printf不同.输出是屏幕打印一行话需要再函数后面的括号中,输入你需要打印的字符串,用'XXXX'形式输出。符号都需要用英文符号。点击CTRL+s,然后按F5运行代码,屏幕上就打印出这一句话。引号是不输出的。汉字同样也可以输出。
2/6
不妨试一下printf,按照同样的格式输出,系统会提示printf没有定义,说明python中的函数和C语言中的函数还是有差别的。print函数中括号内部使用双引号也是可以正常打印出字符串的。
3/6
print也可以打印多个字符串,中间如果用逗号隔开,系统默认使用空格输出。与c语言相同的是python同样可以使用\n转移序列来实现换行输出。如果字符串中有很多的换行,可以使用另外一种方法达到换行效果。使用'''开头,最后'''结束。注意输出的缩进和格式。
4/6
如果需要输出一些特殊符号或者特殊格式,大家可以自己设计,输出一行好看的标题可以试着自己写一下代码。输出一行*号和文字,输出一行*号一行文字再加上一行*号,输出一个金字塔格式的符号。自己也可以设计其他漂亮的图案输出。
5/6
同样也可以直接输出数字,以及计算结果,也可以输出等式,输出一句话描述计算结果,字符串的输出和后面直接输出的数字中间要用逗号隔开。如果说字符串中包含有'号,需要用到转义字符\,如图所示,如果直接使用单引号输入I'm betty系统程序是识别不出来的,可以使用双引号再输入I'm betty,或者使用转义字符\.如果一句话中需要转义的字符太多,可以直接使用r''来输出。''内部的字符默认不转义。
6/6
输出使用print(),输入有相应的input()函数。使用方法可以直接调用input,把用户输入的内容赋值给一个变量,input函数括号里可以显示提示用户输入的内容,比如,用户的用户名是什么,然后将用户名赋值给变量name.
name=input('请输入您的用户名:')
print('hello,',name)运行结果如下。
python中输入和输出的方法
python中输入和输出的方法
[重新阅读]
python 为什么要格式化字符串
在python中也有类似于c中的printf()的格式输出标记。在python中格式化输出字符串使用的是%运算符,通用的形式为
格式标记字符串 % 要输出的值组
其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。重点来看左边的部分。左边部分的最简单形式为:
%cdoe
其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记。比如:
'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])
它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。除了%s外,还有很多类似的code:
整型数:%d
无符号整型数:%u
八进制:%o
十六进制:%x %X
浮点数:%f
科学记数法: %e %E
根据数值的不同自动选择%e或%f: %g
根据数值的不同自动选择%E或%f: %G
就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。如果要在”格式标记字符串“中输出%本身,可以用%%来表示。
上面说的只是格式标记的最简间的形式,来看复杂一点的:
‘%6.2f’ % 1.235
在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。还有更复杂的:
‘%06.2f’ % 1.235
在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。这一行的输出为‘001.24’,可以看到小数也占用一位。类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。最后来看最复杂的形式:
‘%(name)s:%(score)06.1f’ %{'score':9.5, 'name':'newsim'}
这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。前面的例子可以看到,”格式标记字符串“中标记的顺序和"要输出的值组"中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。这行代码的输出为:'newsim:0009.5'。
有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。
这是这本书到此为止看起来最复杂的内容。不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。这里的%真有点除法的味道,怪不得设计者会选择用%这个除号。
象C 中的sprintf函数一样,可以用“%”来格式化字符串
Table 3.1. 字符串格式化代码
格式 描述
%% 百分号标记
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中