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编程实现使用线性回归预测数据
Dec 07 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
深入理解Django自定义信号(signals)
Oct 15 Python
Python实现非正太分布的异常值检测方式
Dec 09 Python
Python实现井字棋小游戏
Mar 09 Python
Python利用Xpath选择器爬取京东网商品信息
Jun 01 Python
python实现批量命名照片
Jun 18 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
python制作图形界面的2048游戏, 基于tkinter
Apr 06 Python
python如何读取.mtx文件
Apr 22 Python
Python 解决空列表.append() 输出为None的问题
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来处理多个提交任务
2006/10/09 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
js中less常用的方法小结
2017/08/09 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
简单理解Python中的装饰器
2015/07/31 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
有机童装:Toby Tiger
2018/05/23 全球购物
工商管理实习生自我鉴定范文
2013/12/18 职场文书
社团成立邀请函
2014/01/08 职场文书
摄影助理岗位职责
2014/02/07 职场文书
企业出纳岗位职责
2014/03/12 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
Python爬取某拍短视频
2021/06/11 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS