Python基础教程(第3版)中文版 第5章 条件、循环及其他语句(笔记)

简介: Python基础教程(第3版)中文版 第5章 条件、循环及其他语句(笔记)

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

1.print 和 import

print

打印多个参数(,分隔)自动添加空格 ;

+ 合并字符串 ;

seq参数 自定义分隔符

import

 导入时重命名(as

 如:from math import sqrt as foobar

     foobar(4)


2.赋值魔法

1.同时赋值:

x,y,z = 1,2,3

x,y = y,x #这会交换x,y的值

这种操作称为序列解包:将一个序列解包,并将得到的值存储到一系列变量中。

要解包元素必须和左边的目标个数相同

使用*收集多余的值,就不用确保个数相同:

a,b, *rest = [1,2,3,4]

#1.*变量的位置任意,2.带*的变量将包含列表

2.链式赋值

x = y = func()

#等价 y = func()

     x = y

3. 增强赋值(复合赋值)

x += 1

x *= 2


3. 代码块

代码块是一组语句。代码块使用缩进代码来创建。

同一代码块中,各行代码的缩进量必须相同。

4.条件和条件语句

1.bool 值

bool 表达式 视为假值的有:

False None 0 "" () [] {}

除此之外皆是真值

2.if语句(有条件地执行)

3.else子句

4.elif子句(else if)

5.代码块嵌套(把if语句放在其他if语句中)


6.更复杂的条件

1.比较运算符

除了常见的< > == 等等

还有is, is not, in , not in

#不同与C,python支持链式比较:如:0<x<100

2.布尔运算符

and  or not

#和C类似,python也存在逻辑短路现象


7.断言assert

5.循环

1.while循环

2.for循环

为序列执行代码块:

words = ['this', 'is', 'an', 'ex', 'parrot']

for word in words:

print(word)

创建范围的内置函数 range()


3.迭代字典

for key, value in d.items():

print(key, 'corresponds to', value)


4.一些迭代工具

1.并行迭代,内置函数zip 将两个序列缝合起来,返回元组组成的序列。

2.迭代时获取索引 enumerate

for index, string in enumerate(strings):

if 'xxx' in string:

strings[index] = '[censored]'

3.反向迭代和排序后迭代

reversed 和 sorted


5跳出循环

1.break   跳出迭代(本层)

2.continue 结束当前迭代(本次)


6.循环中的else语句

6.简单推导

列表推导是一种从其他列表创建列表的方式。

[x*x for x in range(10)]

添加条件

[x*x for x in range(10) if x%3 == 0]

字典推导

>>> squares = {i:"{} squared is {}".format(i, i**2) for i in range(10)}

>>> squares[8]

'8 squared is 64'


7.pass del 和 exec

1.什么都不做pass

2.del 删除(通常python会自动做)

3.exec 将字符串作为代码执行

       给exec添加第二个参数--字典,用作其命名空间

       from math import sqrt

       >>> scope = {}

       >>> exec('sqrt = 1', scope)

 eval 计算字符串表示的值

         也能传给它第二个参数做命名空间


第5章出现的函数:


chr(n) 返回一个字符串,其中只包含一个字符,这个字符对应于传入的顺序值n(0 ≤n < 256)

eval(source[,globals[,locals]]) 计算并返回字符串表示的表达式的结果

exec(source[, globals[, locals]]) 将字符串作为语句执行

enumerate(seq) 生成可迭代的索引值对

ord(c) 接受一个只包含一个字符的字符串,并返回这个字符的顺序值(一个整数)

range([start,] stop[, step]) 创建一个由整数组成的列表

reversed(seq) 按相反的顺序返回seq中的值,以便用于迭代

sorted(seq[,cmp][,key][,reverse]) 返回一个列表,其中包含seq中的所有值且这些值是经过排序的

xrange([start,] stop[, step]) 创建一个用于迭代的xrange对象

zip(seq1, seq2,...) 创建一个适合用于并行迭代的新序列


相关文章
|
1月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
186 1
|
30天前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
106 1
|
2月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
642 19
|
2月前
|
数据采集 存储 JSON
使用Python获取1688商品详情的教程
本教程介绍如何使用Python爬取1688商品详情信息,涵盖环境配置、代码编写、数据处理及合法合规注意事项,助你快速掌握商品数据抓取与保存技巧。
|
3月前
|
并行计算 算法 Java
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
Python解释器不止CPython,还包括PyPy、MicroPython、GraalVM等,各具特色,适用于不同场景。本文深入解析Python解释器的工作原理、内存管理机制、GIL限制及其优化策略,并介绍性能调优工具链及未来发展方向,助力开发者提升Python应用性能。
224 0
|
3月前
|
数据采集 索引 Python
Python Slice函数使用教程 - 详解与示例 | Python切片操作指南
Python中的`slice()`函数用于创建切片对象,以便对序列(如列表、字符串、元组)进行高效切片操作。它支持指定起始索引、结束索引和步长,提升代码可读性和灵活性。
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
251 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
283 104
|
2月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
242 103

推荐镜像

更多