美文网首页
第十一章、表达式和打印

第十一章、表达式和打印

作者: 聽風踏雪 | 来源:发表于2017-05-24 19:04 被阅读0次

赋值语句

①、赋值语句建立对象引用值。

②、变量名在首次赋值时被创建。

③、变量名在引用前必须先赋值。

④、执行隐式赋值的一些操作。

1、赋值语句的形式:

①、元组和列表分解赋值。

②、序列赋值语句。

③、扩展的序列解包。

④、多重目标赋值。

⑤、增强赋值语句。

2、赋值序列:

高级序列赋值语句模式:赋值目标中的项数和主体的数目必须一致。

3、Python3.0中的扩展序列解包:

①、扩展的解包的实际应用:

在Python3.0中,我们可以在目标中使用带单个星号的名称来更更通用地匹配。

②、边界情况:

首先,带星号的名称可能只匹配单个的项,但是,总是会项其赋值一个列表。

其次,如果没有剩下的内容可以匹配带星号的名称,它会赋值一个空的列表,不管该名称出现在哪里。

最后,如果由多个带星号的名称,或者如果值少了而没有带星号的名称,以及如果带星号的名称自身没有编写到一个列表中,都将会引发错误。

③、一个有用的便利形式:

扩展的序列解包赋值只是一种便利形式。

④、应用于for循环:

由于for循环语句中的循环变量可能是任何赋值目标,扩展的序列赋值在这里也由效。

4、多目标赋值语句:

多目标赋值语句就是直接把所有提供的变量名都赋值给右侧的对象。

多目标赋值以及共享引用:

5、增强赋值语句:

增强赋值语句适用于任何支持隐式二元表达式的类型。

增强赋值语句有三个优点:

①、程序员输入减少。

②、左侧只需一次计算。

③、优化技术会自动选择。

增强赋值以及共享引用:隐含了“+=”对列表是做原处修改的意思。

6、变量命名规则:

①、程序中的事物选择变量名时,要遵循如下规则:

语法:(下划线或字母)+(任意数目的字母、数字或下划线)

区分大小写:SPAM和spam并不同

禁止使用保留字(Python2.6中,print和exec是保留字,nonlocal不是保留字)

②、命名惯例:

以单一下划线开头的变量名(_X)不会被from module import *语句导入。

前后有下划线的变量名(_X_)是系统定义的变量名,对解释器有特殊意义。

以两个下划线开头、但结尾没有两个下划线的变量名(__X)是类的本地变量。

通过交互模式运行时,只有单个下划线的变量名(_)会保存最后表达式的结果。

③、变量名没有类型,但对象有:

表达式语句

通常在两种情况下表达式用作语句:

①、调用函数和方法。

②、在交互模式提示符下打印值。

1、表达式语句和在原处的修改:

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

打印操作

①、文件对象方法:

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

②、标准输出流:

标准输出流(通常叫做stdout)只是发送一个程序的文本输出的默认的地方。

1、Python3.0的print函数:

①、调用格式:

从语法上讲,调用Python3.0的print函数有如下的形状:

print([object,...][,sep=' '][,end='\n'][,file=sys.stdout])

sep是在每个对象的文本之间插入的一个字符串,如果没有传递的话,它默认地是一个单个的空格;传递一个空字符串将会抑制分隔符。

end是添加在打印文本末尾的一个字符串,如果没有传递的话,它默认的是一个\n换行字符。

file指定了文本将要发送到的文件、标准流或者其他类似文件的对象;如果没有传递的话,它默认的是sys.stdout。

②、Python3.0的print函数的应用:

Python3.0中不需要把对象转换成字符串,而在文件写入方法中则需要这么做。

默认情况下,print调用在打印的对象之间添加一个空格。要取消这个空格,给sep关键字参数发送一个空字符串,或者发送一个自己所选择的替代分隔符。

默认情况下,print添加一个行末字符来结束输出行。你可以通过向end关键字参数传递一个空字符串来抑制这一点并避免换行,或者可以传递一个自己的不同的终止符。

也可以组合关键字参数来指定分隔符和行末字符串——它们可以在任何顺序出现,但是必须出现在所有要打印的对象的后面。

file关键字——它在单个打印的过程中,直接把文本打印到一个输出文件或者其他的可兼容对象。

如果你需要显示更具体的格式,不要以这种方式打印,相反,提前构建一个更复杂的字符串或者在print自身之中使用字符串工具,并一次性打印该字符串。

2、Python2.6print语句:

①、语句形式:

②、Python2.6print语句应用:

3、打印流重定向:

①、Python的“hello world”程序:

>>>import sys

>>>sys.stdout.write('hello world')

'hello world'

print语句隐藏大多数细节,提供了简单工具从而进行简单的打印任务。

②、重定向输出流:

import sys

sys.stdout = open('log.txt','a')

....

print(x,y,z)

在这里,我们把sys.stdout重设成已打开的文件对象(采用附加模式)。重设之后,程序中任何地方的print语句都会将文字写至文件log.txt的末尾,而不是原始的输出流。

③、自动化流重定向:

在Python3.0中,file关键字运行一个单个的print调用将其文本发送给一个文件的write方法,而不是真正地重设sys.stdout。因为这种重定向是暂时的,普通的print语句还是会继续打印到原始的输出流的。

4、版本独立的打印:

本章小结

在这一章,我们开始探索赋值语句、表达式以及打印,从而深入研究Python语句。虽然这些一般都是很容易使用的语法,但都有些可选的替代形式,在实际应用中通常都有用。例如,增强赋值语句以及print语句的重定向形式,可以让我们避免一些手动的编写代码的工作。在此过程中,我们也研究了变量名的语法、流重定向技术以及各种要避免的常见错误,诸如把append方法调用的结果指回给变量等。

相关文章

  • 第十一章、表达式和打印

    赋值语句 ①、赋值语句建立对象引用值。 ②、变量名在首次赋值时被创建。 ③、变量名在引用前必须先赋值。 ④、执行隐...

  • day14课堂笔记

    第十一章 正则表达式 正则表达式作用和特殊字符一样 正则表达式 1.为了处理大量的字符串及文本而定义的一套规则和方...

  • day14

    第十一章 正则表达式 正则表达式作用和特殊字符一样 正则表达式 1.为了处理大量的字符串及文本而定义的一套规则和方...

  • day 14

    第十一章 Linux正则表达式与三剑客知识应用实践 1.1、正则表达式 1.1.1、介绍 通过正则表达式可以将...

  • 第5章 条件、循环及其他语句

    5.1 再谈 print 和 import 5.1.1 打印多个参数 print可用于打印多个表达式,条件是用逗号...

  • 《兄妹恋爱手札》第一卷 其实早已不想做妹妹(十一)

    第十一章 世界因你而值得 等水星寒从厨房出来的时候水姝妤正站在打印机旁边,并按下了启动键。 “你打印什么?...

  • Dart常用功能语法——只记录和OC、Swift不同的地方

    打印变量打印变量:$变量名打印表达式: ${表达式} 一些重要概念(要记在脑子里)1.可以放在变量中的所有东西,都...

  • awk -- printf格式控制字符

    | 字符 | 表达式被打印成 | 例子 || :-------- |: --------| :-...

  • 第十一章 SQL聚合函数 SUM

    第十一章 SQL聚合函数 SUM 返回指定列值之和的聚合函数。 大纲 参数 ALL - 可选-指定SUM返回表达式...

  • 正则表达式

    正则表达式 - 教程 组成 普通字符普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小...

网友评论

      本文标题:第十一章、表达式和打印

      本文链接:https://www.haomeiwen.com/subject/ojnbxxtx.html