Python中%是什么意思?python中百分号如何使用?

yipeiwu_com5年前Python基础

常见的两种

第一种:数值运算 1 % 3 是指模运算, 取余数(remainder)

>>> 7%2
1

# -*- coding: utf-8 -*-
'''
python读取文件,偶数行输出一个文件,奇数行输出一个文件
'''
def fenhang(infile,outfile,outfile1):
 
  infopen = open(infile,'r',encoding='utf-8')
  outopen = open(outfile,'w',encoding='utf-8')
  outopen1 = open(outfile1, 'w', encoding='utf-8')
  lines = infopen.readlines()
  i = 0
  for line in lines:
    i += 1
    if i % 2 == 0:
      outopen.write(line)
    else:
      outopen1.write(line)
  infopen.close()
  outopen.close()
fenhang("源文件路径","偶行数文件路径","奇行数文件路径")

具体的可以参考这篇文章:/post/136704.htm

第二种:字符串操作 'abc %s' % 'abc' '%s'类似占位符 这行代码的结果

 问的是%操作符(字符串格式化,string formatting),说明如下:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度

以下是类型码
%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    单个字符
%b    二进制整数
%d    十进制整数
%i    十进制整数
%o    八进制整数
%x    十六进制整数
%e    指数 (基底写为e)
%E    指数 (基底写为E)
%f    浮点数
%F    浮点数,与上相同%g    指数(e)或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度)
%%    字符"%"

举例

>>> print("%6.3f" % 2.3)
 2.300 

# 第一个"%"后面的内容为显示的格式说明,6为显示宽度,3为小数点位数,f为浮点数类型
# 第二个"%"后面为显示的内容来源,输出结果右对齐,2.300长度为5,故前面有一空格

>>> print("%+10x" % 10)
    +a

# x为表示16进制,显示宽度为10,前面有8个空格

>>>print("%-5x" % -10)
-a  

#  "%-5x" 负号为左对齐,显示宽度为5,故-a后面有3个空格

>>>pi=3.1415
>>>print ("pi的值是%s"%pi)

pi的值是3.1415

>>>print ("pi的值是%.8f"%pi)
pi的值是3.14150000

上面的width, precision为两个整数。我们可以利用*,来动态代入这两个量。比如:

>>> print("%10.*f" % (4, 1.2))
  1.2000

以下是补充

简单的说,这是一种将其他变量置入字符串特定位置以生成新字符串的操作,比如说:

n = "Aki"
"My name is %s" % n

这段代码首先定义了一个名为n的变量,内容为Aki。然后下方的字符串中有一个%s,他的含义是“这里将被替换成一个新的字符串”,用作替换的内容放在字符串后面的%后面,就是那个n。所以最终这个字符串会变成My name is Aki

字符串中的%后面会附带一个字母,代表着用来替换的变量的类型,比如说%d代表着你将替换到此处的变量是一个整数,而%s代表着一个字符串。详细细节可在这里看到。https://docs.python.org/2/library/stdtypes.html另外,这种操作可以同时将多个变量放进字符串,只需要用括号把变量们括起来。下面是一些例子。

>>> "www.%s.net" %("jb51")#字符串
'www.jb51.net'

>>> "%dkm"%1990#整数型
'1990km'

>>> "%s %d %f"%("abc",123,3.21)#多个值
'abc 123 3.210000'

在python3中

# -*- coding: UTF-8 -*-
print("www.%s.net") %("jb51")

输出 www.jb51.net

 python中的%s%是什么意思

它是一个字符串格式化语法(它从C借用)。

请参阅 “格式化字符串”:

Python支持将值格式化为字符串。虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s 占位符的字符串中 。

编辑: 这是一个非常简单的例子:

该 %s 令牌允许我插入(和潜在的格式)的字符串。请注意, %s 令牌被替换为% 符号后传递给字符串的任何内容 。还要注意,我也在这里使用一个元组(当你只有一个使用元组的字符串是可选的)来说明可以在一个语句中插入和格式化多个字符串。
只是为了帮助您更多,以下是您如何在一个字符串中使用多种格式

如果您使用int而不是字符串,请使用%d而不是%s。

相关文章

解决Python命令行下退格,删除,方向键乱码(亲测有效)

一、出现原因:readline模块没有安装 二、解决方式: # 安装readline模块 yum -y install readline-devel # 进入Python安装目录 c...

小米5s微信跳一跳小程序python源码

本文实例为大家分享了微信跳一跳小程序python源码,供大家参考,具体内容如下 微信跳一跳小程序小米5s源码python,搭建环境后亲测可用。 # coding: utf-8 imp...

python批量创建指定名称的文件夹

本文实例为大家分享了python批量创建指定名称的文件夹具体代码,供大家参考,具体内容如下 继删除多余文件之后,做了一些数据处理,需要重新保存数据,但文件夹的名称又不能改 所以只能创建新...

基于python log取对数详解

log()方法返回x的自然对数,对于x>0。 语法 以下是log()方法的语法: import math math.log( x ) 注意:此函数是无法直接访问的,所以我...

Python中文分词实现方法(安装pymmseg)

本文实例讲述了Python中文分词实现方法。分享给大家供大家参考,具体如下: 在Python这pymmseg-cpp 还是十分方便的! 环境 ubuntu10.04 , python2....