Python死磕——Python赋值语句、表达式以及打印

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python死磕——Python赋值语句、表达式以及打印相关的知识,希望对你有一定的参考价值。

参考技术A

a赋值为\'s\' b赋值为\'p\'

在这个赋值语句中,a匹配第一个字母,剩下的用于匹配b:a赋值为\'s\',b赋值为\'pam\'

在这个语句中spam ham都会赋值成对相同的字符串对象\'lunch\'的引用

赋值右侧可以是任何类型的序列,只要长度相等即可

在Python3.0中可以允许我们使用更为通用的扩展解包语法,在python2.x中要求赋值目标中的项数和主体的数目必须一致:否则就会报错

如果想使用通用方法就需要使用分片。

在Python3.0中一个带有单个星号的名称,可以在赋值目标中使用,以指定对于序列的一个更为通用的匹配

带星号的名称可能只匹配单个的项

X+=Y X&=Y X-=Y X|=Y
X =Y X^=Y X/=Y X>>=Y
X%=Y X<<=Y X
*=Y X//=Y
增强赋值语句的有点

对于增强赋值语句,对列表是做原处修改的意思。而\'+\'总是生成新对象。

上述的例子中,由于\'+\'会生成一个新的列表对象,所以M的值并没有发生改变

犹豫增强赋值对于可变的数据类型时在原处修改值,所以使M的值发生了变化

对列表调用append、sort、reverse这类在原处修改的运算,一定是对列表做原处的修改,但这些方法在列表修改后并不会把列表返回,而是返回的None对象

print默认的把对象打印到stdout流,添加了一些格式化。

格式中sep、end、和file部分如果给出的话,必须作为关键字参数给定。必须使用一种特殊的"name = value"语法来根据名称而不是根据位置来传递参数。

在Python3.0和Python2.6中,打印都默认地发送到标准输出流。也可以发送到一个文本文件’
print只是Python的人性化的特性,它提供了sys.stdout对象的简单接口

将输出流重定向到文件后print语句直接打印内容到文件

《Python学习手册 第五版》 -第11章 赋值表达式和打印

上一章对Python的语句和语法已经进行了基本的说明,接下来就是每个章节的详细说明,本章的主要内容就是标题中涵盖的三点:赋值语句、表达式语句、打印语句

本章重点内容如下:

1、赋值语句

  1)赋值语句的特点(注意事项)

  2)赋值语句的形式:基本形式、元组及列表解包赋值、序列赋值、扩展的序列解包、多目标赋值、增量赋值

  3)变量命名规则

2、表达式语句

  1)常见的表达式语句

  2)表达式语句和原位置修改

3、打印操作

  1)调用形式

  2)应用示例

以下是针对以上重点内容的详细说明

1、赋值语句

1)赋值语句的特点,也是要特别的注意事项

  a)赋值语句创建对象引用:赋值语句不是赋值对象,也不会创建对象,它创建的是对象的引用,并把这个引用给到变量

  b)变量在首次赋值时会被创建:在将对象引用赋值给变量时,如果该变量还没有创建,系统会自动创建该变量

  c)变量在引用前必须先赋值:也就是说,你想过操作中,如果要使用一个变量,必须先对这个变量赋值,如果不赋值,是无法使用的

2)赋值语句的形式:这是重点内容

(1)基本形式:最常见也是最基本的形式就是直接用【=】,右边的值赋值给左边,示例:a=1234

(2)元组及列表解包赋值:就是右边的数据形式是元组和列表的形式,代码示例如下:

 

 (3)序列赋值及扩展序列解包

序列赋值,就是把多个序列数据,分别赋值给不同变量,重要的一点是,右边的序列数据数量要与左边的变量个数对应,代码示例如下:

 

 扩展序列解包,为了使得序列赋值更通用,可以通过解包的形式赋值,也就是通过变量前面增加【*】,来使得序列赋值可以操作,代码示例如下:

 

 这个地方【*b】的意思就是,sep中的第一个数据,赋值给其他单个变量(此处是1赋值给a,其他剩余的数据2,3,4赋值给b,所以b就是一个列表的形式,针对这个示例以及序列解包赋值,可以扩展很多,你可以再深入思考,在此不赘述

(4)多目标赋值:就是把同一个数据对象,赋值给多个变量,示例:a=b=c=‘spam\'

(5)增量赋值:就是在原变量的基础上增加后再赋值给变量,示例:X+=1(前提是X已经赋值,例如X=1),代码操作示例如下:

 

 3)命名规则

在赋值语句的操作中,会涉及到创建变量,所以变量如何命名也是要特别注意的,也是有命名规则的,

1)语法:(下划线或字母)+(任意数目的字母、数字或下划线),示例:_123abc__

2)变量的命名区分大小写,即__123abc__与__123ABC__是两个不同的变量

3)变量的命名禁止使用保留字:顾名思义,就是系统已经使用的变量名称,你已经无法使用,为什么?因为变量命名不能有二义性,否则系统无法查找和使用数据

2、表达式语句

1)常见的表达式语句:主要是函数调用和方法调用,示例:spam(eggs, ham) ; spam.ham(eggs)

2)表达式语句和原位置修改:表达式语句常常用于执行可以在原位置修改列表的列表方法,代码示例如下:

 

 但是,很多时候会误操作,把表达式语句写成赋值语句,例如:承接上面的例子,有些人在操作是可能会写成:L=L.append(4),这个是错误的,为什么错误呢?会提示什么吗?可以自己操作看下

3、打印操作

1)调用形式:我个人不习惯记忆那么长的规范,如果你需要使用,其实在使用中会慢慢学习到,就是那些用的多了,你也就记住了,如果你在使用中忘记规范怎么办,可以使用help(print)来查看,代码示例如下:红圈内的就是调用形式,下面的是参数说明,因为都是英文的,所以在此多说一句,学习英文很重要

 

 2)应用示例:

 

 print调用的参数还有很多,例如file、flush,感兴趣的可以深入研究,通过百度查询即可,在此仅讲解一些基本的使用,如果后面有用到其他会再说明

以上就是本章内容的详细说明!

 

《Python学习手册 第五版》 每章时间规划及完成进度

2019.11.25-2019.12.01 第01章,已完成

2019.12.02-2019.12.08 第02章,已完成

2019.12.09-2019.12.15 第03章,已完成

2019.12.16-2019.12.22 第04章,已完成

2019.12.23-2019.12.29 第05章,已完成

2019.12.30-2020.01.05 第06章,已完成

2020.01.06-2020.01.12 第07章,已完成

2020.01.12-2020.01.19 第08章,已完成

2020.01.20-2020.01.26 第09章,已完成

2020.01.27-2020.02.02 第10章,已完成

2020.02.03-2020.02.09 第11章,已完成

2020.02.10-2020.02.16 第12章,未完成

2020.02.17-2020.02.23 第13章,未完成

2020.02.24-2020.03.01 第14章,未完成

 

以上是关于Python死磕——Python赋值语句、表达式以及打印的主要内容,如果未能解决你的问题,请参考以下文章

python3中带有内联赋值的if语句(赋值表达式)

python自增自减?赋值语句返回值?逗号表达式?

python赋值是啥?

python语句和语法

Python基础知识学习第四天

运算符和表达式