python中有printf吗,python中printf怎么用

http://www.itjxue.com  2023-01-16 16:53  来源:未知  点击次数: 

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 存储输出字符的数量放进参数列表的下一个变量中

(责任编辑:IT教学网)

更多