python--条件, 循环和其他语句
2017-07-12 16:39
393 查看
条件, 循环和其他语句
把一件事作为另一件事导入
import ….from.. import….
import … as…. // 为函数提供别名
赋值魔法
序列解包多个赋值操作同时进行, 或者说交换多个变量。 这里做的事就是序列解包(递归解包)– 将多个值的序列解开, 然后放到变量的序列中。
x, y, z = 1, 2, 3 print (x, y, z)
- 当函数或者方法返回元组(或其他可迭代对象)时, 这个方法尤其有用, 假设需要获取(和删除)字典中任意键-值对, 可以使用popitem方法, 这个方法将键-值作为元组返回。 那么这个元组就可以直接赋值到两个变量中:
s = {"name":"A", "age":"89"} x, y = s.popitem() print (x) print (y)
- 这个函数返回一个以上的值并且打包成元组, 然后通过一个赋值语句很容易进行访问。 所解包的序列中的元素数量必须和放置在赋值符号=左边的变量数量完全一致,否则Python会在赋值时引发异常 - Python3.0中有另一个解包特性:可以像在函数的参数列表中一样使用星号运算符, 例如
a, b, *c = [1, 2, 3, 4]这样在a,b赋值之后, 所有的其他数都收集到c中, c = [3, 4], 星号变量可以放在第一位
- 链式赋值
`x = y =z`
- 增量赋值
- x += 1 这样的
- 语句块:缩排的乐趣
- 条件和条件语句
- 布尔值的作用
- 假 : False, None。 所有类型的数字0(包括浮点型、长整型、和其他类型)、空序列(比如字符串、元组、列表)以及空的字典
- 真: 除了上述都为真
- bool(), 可以用来转换其他值, 确定该值的真假。但是并不是所有的假都相等, 比如: 0 != {}。
- 条件执行和if语句
- else字句
- elif字句 , 是 else if 的缩写
- 嵌套代码块
- 更复杂的条件:
- 1、比较运算符
- 除了基本的 > < == >= <= != 之外还有 x is y (x 和 y是同一个对象) x is not y (x, y不是同一个对象) x in y x not in y。 还有一个 x <> y就是x!=y
- 相等运算符 ==
- is:同一性运算符 : 判断两者是不是同一个对象
- in:成员资格运算符
- 字符串和序列比较
- 字符串可以按照字母顺序进行排列比较(String 通过 内置函数 ord() 获得每个字符的 Unicode 编码进行大小比较)
- 序列的比较也是从索引为0开始比较
- 布尔运算符
- and or not
- 断言: assert
age = -1 assert 0 < age < 100, "the age must be realitic" Traceback (most recent call last): File "E:/python/PythonCode/python_6.py", line 2, in <module> assert 0 < age < 100, "the age must be realitic" AssertionError: the age must be realitic
循环
while循还
for循环
numbers = [1, 2, 3, 4, 5,6 ,7 ,8] for number in numbers: print (number) 遍历
- range(0, 10):从0到10, 不对称边界 - range(99, 0, -1):从99到0, 一次一步, 最后一位为步长【为负则表示反向迭代】 - 遍历循环字典元素
d = {"x":1, "y":2, "z":3} for key in d: print (key, "correseponds to", d[key]) x correseponds to 1 y correseponds to 2 z correseponds to 3
- for循环的一大好处是可以循环中使用序列解包
d = {"x":1, "y":2, "z":3} for key, value in d.items(): print (key, "correseponds to", value) x correseponds to 1 y correseponds to 2 z correseponds to 3
- 一些迭代工具 - 并行迭代:
names = ["anna", "beth", "gg", "damon"] ages = [12, 45, 32, 56] print (list(zip(names, ages))) for name, age in zip(names, ages): print (name, "is", age, "years old") *以下是输出结果* [('anna', 12), ('beth', 45), ('gg', 32), ('damon', 56)] anna is 12 years old beth is 45 years old gg is 32 years old damon is 56 years old
- zip() 将两个序列“压缩”在一起, 然后返回一个元组的列表。 zip()处理不等长的序列时, 当最短序列“用完”的时候就会停止。 - 按索引迭代 - [按索引迭代](http://lib.csdn.net/article/python/32276) - enumerate()函数
from math import sqrt for n in range(99, 81, -1): n = sqrt(n) if n == int(n): print (n) else: print ("Don't find")
- 在python中for语句竟然也可以用else
- 列表推导式 - 轻量级循环
- 列表推导式是利用其它列表创建新列表的一种方法, 工作方式类似于for循环
- 列表推导式
- 三人行(pass、del、exec)
- pass 语句相当于c语言里面的空语句
- del 删除不再使用的对象
scoundrel = {"age":42, "first name":"Robin", "lase name":"of Locksley"}# 构造一个字典 robin = scoundrel scoundrel = None robin = None print (robin) print (scoundrel)
当scoundrel, robin都不绑在子典上时, phthon解释器直接就删除了那个字典(这种行为称为垃圾收集), 当然也不止使用None才能“消失不见”
x = ["hello", "world"] y = x y[1] = "python" print (x) print (y) del x print (y) print (x)
关于del理解上面代码, del不仅会移除一个对象的引用, 也会移除那个名字本身
- 使用exec和evel执行和求值字符串
相关文章推荐
- Python基础教程学习笔记----第五章 条件、循环和其他语句
- Python学习笔记:条件、循环和其他语句
- Python——条件、循环和其他语句
- 【python】第五章——条件、循环和其他语句
- Python基础编程(五)条件、循环和其他语句
- Python学习笔记-第五章 条件、循环和其他语句(下)
- 条件、循环和其他语句——Python学习系列之三
- Python之条件 循环和其他语句 2014-4-6
- Python基础教程 第5章: 条件、循环和其他语句 学习笔记
- Python条件、循环和其他语句
- [Python 05] 条件,循环和其他语句
- python 条件,循环和其他语句
- Python基础教程笔记——第5章:条件,循环和其他语句
- python学习笔记——第五章 条件、循环和其他语句
- Python学习笔记-第五章 条件、循环和其他语句(上)
- python 条件,循环和其他语句的学习笔记
- beginning python summary chapter 5 - 条件,循环和其他语句
- python 条件,循环和其他语句
- Python基础编程(五)条件、循环和其他语句
- python基础教程第5章——条件循环和其他语句