求问python中 %的用法

作者&投稿:颜红 (若有异议请与网页底部的电邮联系)
python中+的用法~

k+'='+v是字符串的运算符,是代表将字符串拼接起来。
由于考虑性能问题一般的字符串拼接使用一下方式进行:
'%s=%s' % (k,v)原函数建议改为:
d = {'x': 'A', 'y': 'B', 'z': 'C' } print(['%s=%s' % item for item in d.items()])

1、**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16。
代码样例:

2、一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8。
代码样例:

3、*如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,比如"str"*3将返回字符串"strstrstr"。
代码样例:

扩展资料
1、如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中。
1)如定义以下函数
def func(*args):print(args)
当用func(1,2,3)调用函数时,参数args就是元组(1,2,3)
2)如定义以下函数
def func(**args):print(args)
当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2}
2、如果是在函数调用中,*args表示将可迭代对象扩展为函数的参数列表。
1)args=(1,2,3)
func=(*args)
等价于函数调用func(1,2,3)
函数调用的**表示将字典扩展为关键字参数
2)args={'a':1,'b':2}
func(**args)
等价于函数调用 func(a=1,b=2)
参考资料
百度百科-Python

%常见的两种用法:

1、数值运算 1 % 3 是指模运算, 取余数(remainder)

>>> 7%2

1

2、字符串操作 'abc %s' % 'abc' '%s'类似占位符,这行代码的结果。

以下是类型码:

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

%%    字符"%"

扩展资料

PYTHON 中的" %S"%用法:

一种字符串格式化的语法, 基本用法是将值插入到%s占位符的字符串中。

%s,表示格式化一个对象为字符            

"%±(正负号表示)3(数字表示字符串的长度)s"%(取代s的字符串)

%s  string型  表示格式化一个对象为字符    "%s1"%S2   s1放置的是一个字符串(格式化字符串)  S2放置的是一个希望要格式化的值

string = "good"  #类型为字符串

print("string=%s" %string)   #输出的打印结果为 string=good  

print("string=%3s" %string) # 输出的打印结果为 string=good(数字3的意思是:字符串的长度为3。当字符串的长度大于3时,按照字符串的长度打印出结果)

print("string=%(+)6s" %string)  # 输出的打印结果为 string=  good(当字符串的长度小于6时,在字符串的左侧填补空格,使得字符串的长度为6)

print("string=%-6s" %string)  # 输出的打印结果为 string=good  (当字符串的长度小于6时,在字符串的右侧填补空格,使得字符串的长度为6)



%d显示整数, %f显示浮点数
%0.5f 或 %.5f 意思是显示到小数点后5位

最近遇到%用法的问题啦,在一句话中用了两次%s,两次字符串格式化,为什么运行后报错ValueError: I/O operation on closed file.程序好像默认%用作取余数的算法了。

我运用的代码是

报错是这样的

实在是困惑不解啊?感觉写的也没有问题啊,为什么就是出错了呢?



0.2f中"."前面的数字表示这个数字要占有多少个字节,“0”表示不刻意规定占用字节数,只要能表示这个数字就行。而“.”后面的数字表示小数位数。
d表示这个数据类型是整型,还有s表示数据类型是字符串。
以下是我们python教材中的原话,供你参考:
>>> "Hello %s %s, you may have won $%d!" % ("Mr.", "Smith", 10000)
’Hello Mr. Smith, you may have already won $10000!’
>>> ’This int, %5d, was placed in a field of width 5’ % (7)
’This int, 7, was placed in a field of width 5’
>>> ’This int, %10d, was placed in a field of width 10’ % (7)
’This int, 7, was placed in a field of width 10’
>>> ’This float, %10.5f, has width 10 and precision 5.’ % (3.1415926)
’This float, 3.14159, has width 10 and precision 5.’
>>> ’This float, %0.5f, has width 0 and precision 5.’ % (3.1415926)
’This float, 3.14159, has width 0 and precision 5.’
>>> "Compare %f and %0.20f" % (3.14, 3.14)
’Compare 3.140000 and 3.14000000000000012434’

字符串格式化
详细信息请自行搜索python字符串格式化


堆龙德庆县15876393818: python中的% 起到什么作用 -
钭临斯美: 一般在格式化的时候会用到%.这里你用的 %Y表示年,%m表示月,%d表示日%H表示时,%M表示分,%S表示秒 单独用%号的时候,实际上没什么意义.

堆龙德庆县15876393818: int和%在python语言中有什么作用?有哪些不同? -
钭临斯美: int在python里是一个类,表示是整形,比如1,2,3这些在python里都是int形.你可以直接 a=1,这时候a就是int形的变量; 也可以 s=int(1), 这个和上面的效果是一样的. 在屏幕输出的命令中,%是格式符号,%d代表整数,%s代表字符单独看%,是一个运算符号,求余数 1%5 = 1, 2%5 = 2, 3%5 = 3, 4%5 = 4, 5%5 = 0 另外一个简单的用途是,通过运算结果判断一个数是否能被另外一个数整除

堆龙德庆县15876393818: 在python中百分号怎么应用?
钭临斯美: 百分号有2个意思,计算数的时候,它是求余数的意思, 比如7除以3,余数是1 7%3 => 1 另外一个是格式化字符串的作用 "%d %s" %(12, 'abc') 就把%d换成12, %s换成abc ,得到 '12 abc'

堆龙德庆县15876393818: Python 里 {% %} 代表什么? -
钭临斯美: {% %} 模板语言标签,Template tag HTML模板里面要写循环,条件时(比如for,if等),要用到这个标签. 还有 {{ }}, 变量, 这个与 {% %} 有所不同. 详细的请看: http://djangobook.py3k.cn/2.0/chapter04/IF条件: {% if value %}<p>here is ...

堆龙德庆县15876393818: python,return 使用和%运算符对输出字符串进行格式化的方法 -
钭临斯美: 在python中也有类似于c中的printf()的格式输出标记.在python中格式化输出字符串使用的是%运算符,通用的形式为 格式标记字符串 % 要输出的值组 其中,左边部分的”格式标记字符串“可以完全和c中的一致.

堆龙德庆县15876393818: Python运算符%可以对浮点型书进行求余数操作吗?self32是合法变量名吗? -
钭临斯美: Python运算符%可以对浮点型书进行mod操作的, self32是合法变量名,变量名可以是字母下划线开头,由字母下划线数字组成,self32符合此要求

堆龙德庆县15876393818: python %使用问题 -
钭临斯美: 使用string format来做吧,可以很好的定制格式

堆龙德庆县15876393818: python中“<>”代表什么意思? -
钭临斯美: 1. “”代表不等号,就是不等于的意思;2. 在代码中:a是一个数组,i是一个变量用来指示数组的元素下标;如果i不等于index0 并且 不等于index1;那么将a的第i个元素,添加到数组tr中.3. “”和 != 是等价的;4. 在3.0及以上版本中已经不能用.

堆龙德庆县15876393818: python中的print '%s!' % raw - input('Please enter your first name:')是什么意思? -
钭临斯美: %s 和c语言里的一样,代表一个字符串占位,按顺序使用%后面的参数来替换. '%s!' 则很显然表示%后面的字符串加一个 ! raw_input('Please enter your first name:') 则类似c语言中的scanf,在屏幕上显示raw_input中的参数,并等待输入,...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网