Python从零开始系列连载(四)

本文转自‘灯塔大数据’:

上一期学习了Python的基本运算和表达式的一部分,相信大家都已经熟悉啦,我们这一期就来学习Python的基本运算和表达式剩下的部分吧!文末处有往期精彩文章回顾,也可以在菜单栏【Python连载】查看!

Python的基本运算和表达式

输入输出

输入指的是从输入设备获取数据,这里的输入设备往往指的是键盘,通过input()函数可以实现这一目的

x = input()

举个栗子:

运行后,出现一个输入框等待你输入

输入后回车,当我们查看name变量时,显示的就是刚才输入的信息了

如果你想知道小红的年龄和我是不是一样,你可以写个代码让小红输入信息:

结果发现。。。竟然不一样。

可能细心的你已经发现了问题所在!

原来从input()获得的是是字符串类型数据

所以我们要用到之前学的类型转换

这样就行啦,可是,这样好麻烦,怎么样从源头解决呢?

输出就是把结果显示在输出设备(一般是显示器),一般使用print函数

sep参数是规定分隔符选用的是什么

print() 函数还可以用字符串格式化控制输出的形式

常见的格式字符如下表:

看个例子:

我们用%s代替要输出的内容,而后一个%后面你的内容则是真正输出的内容

如果有多个%s,在最后的%后面要加括号将真正输出内容括起来

格式化操作符辅助指令

如果是浮点数,%m.nf m指的是输出总宽度,小数点之后保留n位(四舍五入保存),如果总宽度超过m,按照实际显示

幸好我们学的是Python3

str.format()

通过{}来代替%,功能更强!

参数可以不按照顺序,也可以使用多次!

赋值运算

赋值,就是往盘子里放一些食品

在Python中,使用' = ' 表示赋值

一般形式为:

变量 = 表达式

这里的 y = x 指的是将 x 变量的值复制一份给 y

关系运算符

关系运算符,说得通俗点就是作比较的比较运算符

比较运算通常是比较两个数值型或者字符串型数据,然后返回一个布尔值(布尔值就是bool值,它只有两种可能,‘真’或者是‘假’)

关系运算符有以下几种:

我们举几个例子看一下:

注意,在做数值比较的时候,这里的True相当于1,False相当于0,甚至可以有这种操作:

下面是见证奇迹的时刻:

大家看到没,is和==应该怎么理解,怎么区别呢?

Python中的对象包含三要素:id、type、value

id用来唯一标识一个对象,即在内存开辟了一块空间暂时存放这个变量

type标识对象的类型,如之前说过的str,int,float等

value是对象的值

is判断的是a对象是否就是b对象,是通过id来判断的

==判断的是a对象的值是否和b对象的值相等,是通过value来判断的

我们再看看:

a和b的id是一样的,就是说他们的值指的是同一个位置同一个值

而c的id和他们不一样,c指向的值和他们不一样

(这里应该注意的是:c=2.0,而a和b都是2)

我们继续:

刚才的没有涉及到字符串的比较

字符串也可以比较大小

规则是:按照英文字母的排序进行比较

abcdefg...

流程是:

首先取两个字符串的第1个字符比较,较大的字符所在的字符串更大

如果第一个字符相同,再取两个字符串的第2个字符比较,较大的字符所在的字符串更大

其余以此类推

如果比到最后都相同,则两个字符串相等

如果某个字符串已经被比较完了,另一个还剩一部分,则剩一部分的字符串比较大

特别要注意的,如果是空字符串和非空字符串比较,空串小

我们举例看一下:

再看个例子【邪魅一笑】

hhhhh,这个你知道么

是不是刷新了你的三观

这是因为,这是Python中比较浮点数是否相等机制是他们的差距是否小于一个极小的值来判断

所以是精度问题,你不要纠结啦~

等等,再给你看个宝贝

我们解释一下:

常用字符大小关系是:

空字符串

逻辑运算符

逻辑运算符有三种,与 或 非

and:逻辑‘与’运算符,只有当and两边都是真,结果才是真

or:逻辑‘或’运算符,只要当or一边的是真的,结果就是真

not:逻辑非运算符,反转逻辑值

我们看几个例子:

表达式

值得注意的是:

当数值运算时,不同类型的数值会偷偷发生转换类型,然后运算

当int与float运算时,int常常转为float再计算

证明如下:

刚才运算得到的结果b是float了

运算符优先级如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180929G18GOU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券