2.3 运算符

在计算机中,数据处理实际上就是对数据按照一定的规则进行运算。在已经掌握Python基本数据类型的基础上,我们来看一下对这些类型的数据可以做哪些运算。这里介绍数据处理中一些常用运算符的作用和使用方法。

2.3.1 占位运算符

占位运算符类似于C语言中sprintf或printf函数中使用的占位符,在字符串中可以给出一些占位符用来表示不同类型的数据,而实际的数据值在字符串之外给出。此处仅介绍3个常用占位符(如表2-2所示),更详细的占位符列表将在第6章中给出。

表2-2 常用占位符

下面通过具体实例介绍这3个占位符的使用方法,如代码清单2-1所示。

代码清单2-1 占位符使用示例

1    s1='%s上次数学成绩%d,本次%d,成绩提高%f' %('小明',85,90,5/85)

2    s2='%5s上次数学成绩%5d,本次%5d,成绩提高%.2f' %('小明',85,90,5/85)

3    s3='%5s上次数学成绩%05d,本次%05d,成绩提高%08.2f' %('小明',85,90,5/85)

执行完毕后,通过print函数分别输出s1、s2和s3,可得到下面的结果:

1    小明上次数学成绩85,本次90,成绩提高0.058824

2       小明上次数学成绩   85,本次   90,成绩提高0.06

3       小明上次数学成绩00085,本次00090,成绩提高00000.06

从输出结果中可以看出占位符的使用方法和使用上的差异:

在带有占位符的字符串后面写上%(…),在一对小括号中即可指定前面字符串中各占位符所对应的实际数据值,各数据值之间用逗号分开。例如,对于代码清单2-1中的3行代码,因为前面的字符串中包含4个占位符(%s、%d、%d和%f),所以在后面的%(…)中给出了用逗号分隔的4个对应的数据值。

对于占位符%s,可以写成%xs的形式(其中x是一个整数),x用于指定代入字符串所占的字符数。如果未指定x或x小于等于实际代入字符串的长度,则将字符串直接代入;否则,如果x大于实际代入字符串的长度,则会在代入字符串前面补空格,使得实际代入字符串的长度为x。例如,对于代码清单2-1中的第2行和第3行代码,通过%5s要求代入字符串占5个字符的空间,但实际代入字符串“小明”长度为2,所以会在“小明”前补3个空格。

对于占位符%d,可以写成%xd或%0xd的形式(其中x是一个整数),x用于指定代入整数的位数。如果未指定x或x小于等于实际代入整数的位数,则将整数直接代入;否则,如果x大于实际代入整数的位数,则会在代入整数前面补空格(%xd)或0(%0xd),使得实际代入整数的位数是x。例如,对于代码清单2-1中的第2行和第3行代码,通过%5d和%05d,要求代入整数是5位,但实际代入整数85和90位数都为2,所以会分别在85和90前补3个空格或0。

对于占位符%f,可以写成%x.yf或%0x.yf的形式(其中x和y都是整数),x用于指定代入浮点数的位数,y用于指定代入浮点数的小数位数。如果未指定x或x小于等于实际代入浮点数的位数,则将浮点数直接代入;否则,如果x大于实际代入浮点数的位数,则会在代入整数前面补空格(%x.yf)或0(%0x.yf),使得实际代入浮点数的位数是x。如果未指定y,则默认保留6位小数;否则,由y决定小数位数,代入浮点数实际小数位数小于y时,则在后面补0。例如,对于代码清单2-1中的第2行代码,通过%.2f指定小数位数为2,因此实际代入浮点数为0.06(保留两位小数);对于第3行代码,通过%08.2f指定代入浮点数位数为8,不足补0,小数位数为2,因此实际代入浮点数为00000.06。

提示 由于%作为占位符的前缀字符,因此对于有占位符的字符串,表示一个%时需要写成%%。例如,执行print('优秀比例为%.2f%%,良好比例为%.2f%%。

'%(5.2,20.35)),输出结果为“优秀比例为5.20%,良好比例为20.35%”。

python语言运算符有三种_《Python语言程序设计》 —2.3 运算符相关推荐

  1. python动态语言双刃性_动态语言的灵活性是把双刃剑:以 Python 语言为例

    原标题:动态语言的灵活性是把双刃剑:以 Python 语言为例 本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter) ...

  2. python语言做数据采集_【语言处理与Python】11.3数据采集

    从网上获取数据 我们讨论过访问单个文件,如RSS订阅.搜索引擎的结果. 1.有的时候,还需要大量的WEB文本.最简单的方法是获得出版的网页文本的文集.在http://www.sigwac.org.uk ...

  3. C++_类和对象_C++运算符重载_函数调用运算符重载_---C++语言工作笔记060

    然后我们再来看函数调用运算符重载, 其实这个,重载后的,函数调用运算符有点像,仿函数,什么是仿函数,一会我们再说 我们去写一个MyPrint类 里面重载函数调用运算符,可以看到函数调用运算符的重载的写 ...

  4. python查看excel编码格式_[Python]实现处理读写xlsx xls excel文件格式(含中文处理方法)...

    最近有个需求要处理excel 格式的数据,数据量比较大.用传统的语言似乎不太好处理,于是改用python实现,这里记录一下实现过程. 首先,科普一下xlsx xls的excel文件区别是什么. xls ...

  5. python朋友圈刷屏_“Python太火了!请救救Java!”9万程序员刷屏朋友圈 !

    没想到有生之年,笔者能观察到"霸主陨落"的过程,继PLPY4月榜单官宣,Python躺赢,再度"夺"冠,实力甩下Java和C后,近期,Stack Overflo ...

  6. python 打包 小文件_[Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件

    1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他 ...

  7. python多进程编程实例_[python] Python多进程编程技术实例分析

    这篇文章主要介绍了Python多进程编程技术,包括了线程.队列.同步等概念及相关的技巧总结,需要的朋友可以参考下 本文以实例形式分析了Python多进程编程技术,有助于进一步Python程序设计技巧. ...

  8. python快速爬虫视频_“python怎么快速爬虫视频“python 爬网页视频教程

    用python怎样爬网页 # coding:utf8 import cookielib import urllib2 url = "http://blog.uouo123.com" ...

  9. python shell如何打开_“python shell怎么打开“python shell启动教程

    python shell怎么打开 1.简介:如何在python中运行shell(bash命令) 2.工具/原料:python库:os.py 3.方法:import os command = 'date ...

  10. python输出文本居中_#python PIL ImageDraw text 文本居中#

    python pip pil有什么东西 你所问的问题实是属1.先参考[教程]Python中的内置的和方的模块搞懂PIL是属于第三方Python模块2.再参考:[待完善][总结]Python安装第三方的 ...

最新文章

  1. The application's PagerAdapter changed the adapter's contents without calling notifyDataSetChanged
  2. node --- [跨域] 预检请求
  3. Linux中使用crontab命令启用自定义定时任务
  4. 如何使用fio模拟线上环境
  5. wpf开源ui引用步骤_如何通过7个步骤开源您的学术作品
  6. Spring4.x()---JdbcDaoSupport的使用
  7. 程序员 30 岁前,该如何规划自己的职业发展?
  8. 单位换算:秒(s)/毫秒(ms)/微秒(us)/纳秒(ns)/皮秒(ps)之间密尔(mil)/毫米(mil)/英尺(inch)之间
  9. 腾讯云域名购买和域名解析教程
  10. gopher对mysql的利用_[题目]记一次利用gopher的内网mysql盲注
  11. 前沿计算技术于推动设计技术发展
  12. iOS Mac安装ipa文件的几种方法
  13. 计算机专业法语词汇,法语计算机及网络词汇(4)
  14. Discovery and auto register
  15. 外汇基础知识学习3--平仓
  16. 以下服务器系统运用呼吸,一种呼吸训练系统
  17. OPENCV入门教程十四:medianBlur中值平滑
  18. idea 如何将本地新建项目上传到gitlab
  19. 曙光服务器怎么外接显示器,教您显示器外接方法
  20. 测试用例----测试大纲法

热门文章

  1. java dataset redis,利用Spring-Data-Redis和Jedis操作Redis缓存
  2. 操作系统大内核和微内核_操作系统中的内核类型
  3. c语言limits.h_ (limits.h)C ++中(整数类型的大小)的宏常量
  4. Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用
  5. Js实现动态插入删除文本框
  6. Python手写神经网络实现3层感知机
  7. PowerShell遍历文件夹下的子文件夹和文件
  8. 深度学习attention原理_深度学习Anchor Boxes原理与实战技术
  9. LeetCode——1721.交换链表中的节点
  10. java中类似sort_java中的Sort函数,你值得看