Python学习手册(第三部分)

Posted xhjh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习手册(第三部分)相关的知识,希望对你有一定的参考价值。

第10章 Python语句简介

  1. 在一行写多个语句的时候才用分号进行分隔,一般不用分号。可以使用括号(())、方括号([])、或大括号()将一个语句的范围跨多行。

第11章 赋值、表达式和打印

  1. 扩展的序列解包,在python3.0中,如表用右边的字符串的第一个字母来匹配a,用剩下的部分来匹配b:a赋值为’s’,b赋值为’pam’。如果没有剩下的内容可以匹配带星号的名称,则会赋值一个空的列表。如果有多个带星号的名称或者如果值少了而没有带星号的名称,以及如果带星号的名称自身没有编写到一个列表中都会引发错误。
  2. 增强赋值以及共享引用,’+=’对列表是做原处修改的意思。而不像’+’合并总是生成新对象。

命名惯例

  1. 以单一下划线开头的变量名(_X)不会被from module import *语句导入。
  2. 前后有下划线的变量名(_X_)是系统定义的变量名。
  3. 以两个下划线开头,但结尾没有两个下划线的变量名(__X)是类的本地变量。
  4. 通过交互模式运行时,只有单个下划线的变量名(_)会保存最后表达式的结果。

表达式语句

在python3.0中print函数的形式为:
print([object,…][, sep=’ ‘][, end=’\\n’][, file=sys.stdout])
在这个正式的表示中,方括号中的项是可选的,并且可能会在一个给定的调用中省略,并且=后面的值都给出了参数的默认值。这个内置的函数把字符串sep所分隔开的一个或多个对象的文本表示,后面跟着的字符串end,都打印到流file中。sep是在每个对象的文本之间插入的一个字符串,如果没有传递的话,默认的是一个单个的空格,传递一个空字符串将会抑制分隔符。end是添加在打印文本末尾的一个字符串,如果没有传递的话,默认是一个\\n换行符。传递一个空字符串将会避免在打印的文本的末尾移动到下一个输入行。file指定了文本将要发送到的文件,默认为sys.stdout。

第12章 if测试和语法规则
if语句的格式:

if <test1>:
    <statements1>
elif <test2>:
    <statements2>
else:
    <statements3>

if/else三元表达式
A = Y if X else Z

X= A or B or C or None
会把X设为A,B以及C之中第一个非空的对象,或者如果所有对象都为空就设为None。

第13章 while和for循环
while格式

while <test>:
    <statements1>
    <break>
    <continue>
    <pass>
else:
    <statements2>

可选的else部分(当控制权离开循环而又没有碰到break语句时会执行)。pass什么事也不做,只是空占位语句。

for循环格式

for <target> in <object>:
    <statements>
    <break>
    <continue>
    <pass>
else:
    <statements>

可选的else部分(当控制权离开循环而又没有碰到break语句时会执行)。pass什么事也不做,只是空占位语句。

修改列表:一般的for循环无法修改遍历的列表中每个元素的值,例如:

L=[1, 2, 3, 4, 5]
for x in L:
    x += 1
#L输出为:[1, 2, 3, 4, 5]

可以通过range/len结合进行对列表索引,也可以使用列表解析的进行修改。
zip函数可以创建一个元组对的列表,可以接受两个以上的参数,例如zip(L1,L2,L3),并且zip会以最短序列的长度为准来截断所得到的元组。

第14章 迭代器和解析,第一部分
文件迭代器
文件对象有一个名为__next__方法,每次调用时,返回文件的下一行,达到文件末尾时会引发内置的StopIteration异常。文件对象就是迭代器。

手动迭代:iter和next
通过iter内置函数获得可迭代对象的一个迭代器,返回的对象含有需要的next方法。对文件对象则不需要通过iter内置函数进行转换。

L=[1,2,3]
I=iter(L)
I.next()    #等于1
I.next()    #等于2

其他迭代环境
map类似于列表解析,它把一个函数调用应用于传入的可迭代对象中的每一项。sorted排序可迭代对象中的各项,zip组合可迭代对象中的各项,enumerate根据相对位置来配对可迭代对象中的项,filter选择一个函数为真的项,reduce针对可迭代对象中的成对的项运行一个函数。

import functools, operator
sorted(open('text.py'))
list(zip(open('text.py'),open('text.py')))
list(enumerate(open('text.py')))
list(filter(bool,open('text.py')))
functools.reduce(operator.add,open('text.py'))

第15章 文档

以上是关于Python学习手册(第三部分)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习手册之__main__,常用第三方模块和打包发布

python学习手册:第二十五章——oop

python学习手册中的一些易忘的点(4-7部分)

Python学习手册(第二部分)

python学习手册中的一些易忘的点(前三部分)

Python学习手册(第四部分)