python运算符之与用户交互


Posted in Python onApril 13, 2022

一 程序与用户交互

1.1、什么是与用户交互

用户交互就是人往计算机中input/输入数据,计算机print/输出结果

1.2、为什么要与用户交互?

为了让计算机能够像人一样与用户沟通交流

比如,过去我们去银行取钱,用户需要把帐号密码告诉柜员,而现在,柜员被ATM机取代,ATM机就是一台计算机,所以用户同样需要将帐号密码告诉计算机,于是我们的程序中必须有相应的机制来控制计算机接收用户输入的内容,并且输出结果

1.3、如何与用户交互

交互的本质就是输入、输出

1.3.1 输入input:

# 在python3中input功能会等待用户的输入,用户输入任何内容,都存成字符串类型,然后赋值给等号左边的变量名
>>> username=input('请输入您的用户名:') 
请输入您的用户名:jack # username = "jack"
>>> password=input('请输入您的密码:') 
请输入您的密码:123 # password = "123"

# 了解知识:
# 1、在python2中存在一个raw_input功能与python3中的input功能一模一样
# 2、在python2中还存在一个input功能,需要用户输入一个明确的数据类型,输入什么类型就存成什么类型
>>> l=input('输入什么类型就存成什么类型: ')
输入什么类型就存成什么类型: [1,2,3]
>>> type(l)
<type 'list'>

1.3.2 输出print:

>>> print('hello world')  # 只输出一个值
hello world
>>> print('first','second','third')  # 一次性输出多个值,值用逗号隔开
first second third

# 默认print功能有一个end参数,该参数的默认值为"\n"(代表换行),可以将end参数的值改成任意其它字符
print("aaaa",end='')
print("bbbb",end='&')
print("cccc",end='@')
#整体输出结果为:aaaabbbb&cccc@

1.3.3 输出之格式化输出

(1)什么是格式化输出?

把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。

(2)为什么要格式化输出?

我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。

(3)如何格式化输出?

这就用到了占位符,如:%s、%d:

二 基本运算符

2.1 算术运算符

​ python支持的算数运算符与数学上计算的符号使用是一致的,我们以x=9,y=2为例来依次介绍它们

2.2 比较运算符

​ 比较运算用来对两个值进行比较,返回的是布尔值True或False,我们以x=9,y=2为例来依次介绍它们

2.3 赋值运算符

  • 增量赋值
  • 链式赋值

​ python语法中除了有=号这种简单的赋值运算外,还支持增量赋值、链式赋值、交叉赋值、解压赋值,这些赋值运算符存在的意义都是为了让我们的代码看起来更加精简。我们以x=9,y=2为例先来介绍一下增量赋值

如果我们想把同一个值同时赋值给多个变量名,可以这么做

>>> z=10
>>> y=z
>>> x=y
>>> x,y,z
(10, 10, 10)

链式赋值指的是可以用一行代码搞定这件事

>>> x=y=z=10
>>> x,y,z
(10, 10, 10)

交叉赋值

我们定义两个变量m与n

>>> m=10
>>> n=20

如果我们想将m与n的值交换过来,可以这么做

>>> temp=m
>>> m=n
>>> n=temp
>>> m,n
(20, 10)

交叉赋值指的是一行代码可以搞定这件事

>>> m=10
>>> n=20
>>> m,n=n,m # 交叉赋值
>>> m,n
(20, 10)

解压赋值

如果我们想把列表中的多个值取出来依次赋值给多个变量名,可以这么做

>>> nums=[11,22,33,44,55]
>>> 
>>> a=nums[0]
>>> b=nums[1]
>>> c=nums[2]
>>> d=nums[3]
>>> e=nums[4]
>>> a,b,c,d,e
(11, 22, 33, 44, 55)

解压赋值指的是一行代码可以搞定这件事

注意,上述解压赋值,等号左边的变量名个数必须与右面包含值的个数相同,否则会报错

#1、变量名少了
>>> a,b=nums
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)

#2、变量名多了
>>> a,b,c,d,e,f=nums
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: not enough values to unpack (expected 6, got 5)

但如果我们只想取头尾的几个值,可以用*_匹配

>>> a,b,*_=nums
>>> a,b
(11, 22)

ps:字符串、字典、元组、集合类型都支持解压赋值

2.4 逻辑运算符

​ 逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False

2.4.1 连续多个and

可以用and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件的结果都为True的情况下,最终结果才为True。

>>> 2 > 1 and 1 != 1 and True and 3 > 2 # 判断完第二个条件,就立即结束,得的最终结果为False
False

2.4.2 连续多个or

可以用or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True,只有在所有条件的结果都为False的情况下,最终结果才为False

&gt;&gt;&gt; 2 &gt; 1 or 1 != 1 or True or 3 &gt; 2 # 判断完第一个条件,就立即结束,得的最终结果为True
True

2.4.3 混用and、or、not

# and、or、not三者如果混用时,是存在优先级之分的,但在日常开发中我们无需记忆优先级,应该使用()来区分优先级、提升程序的可读性
>>> (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
False

2.5 成员运算符

注意:虽然下述两种判断可以达到相同的效果,但我们推荐使用第二种格式,因为not in语义更加明确

>>> not 'lili' in ['jack','tom','robin']
True
>>> 'lili' not in ['jack','tom','robin']
True

2.6 身份运算符

需要强调的是:==双等号比较的是value是否相等,而is比较的是id是否相等

#1. id相同,内存地址必定相同,意味着type和value必定相同
#2. value相同type肯定相同,但id可能不同,如下
>>> x='Info Tony:18'
>>> y='Info Tony:18'
>>> id(x),id(y) # x与y的id不同,但是二者的值相同
(4327422640, 4327422256)


>>> x == y # 等号比较的是value
True
>>> type(x),type(y) # 值相同type肯定相同
(<class 'str'>, <class 'str'>)
>>> x is y # is比较的是id,x与y的值相等但id可以不同
False

 到此这篇关于python语法 之与用户交互和运算符的文章就介绍到这了!

Python 相关文章推荐
Python 调用VC++的动态链接库(DLL)
Sep 06 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
浅析Python中的for 循环
Jun 09 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
Python 实现网页自动截图的示例讲解
May 17 Python
Django中反向生成models.py的实例讲解
May 30 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
python 平衡二叉树实现代码示例
Jul 07 Python
Python----数据预处理代码实例
Mar 20 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
基于Python中random.sample()的替代方案
May 23 Python
python垃圾回收机制原理分析
Apr 13 #Python
Python内置的数据类型及使用方法
Apr 13 #Python
Python Matplotlib绘制两个Y轴图像
python前后端自定义分页器
Apr 13 #Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Python matplotlib多个子图绘制整合
Python之matplotlib绘制折线图
You might like
PHP下常用正则表达式整理
2010/10/26 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
php实现socket推送技术的示例
2017/12/20 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
python根据日期返回星期几的方法
2015/07/06 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
Python关于反射的实例代码分享
2020/02/20 Python
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
编辑找工作求职信分享
2014/01/03 职场文书
行政专员的岗位职责
2014/03/10 职场文书
教学改革实施方案
2014/03/31 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle