首页 > 代码库 > python学习笔记七:条件&循环语句

python学习笔记七:条件&循环语句

1print/import更多信息

print打印多个表达式,使用逗号隔开

>>> print ‘Age:‘,42

Age: 42   #注意个结果之间有一个空格符

import:从模块导入函数

import 模块

from 模块 import 函数

from 模块 import *

如果两个模块都有open函数的时候,

1)使用下面方法使用:

module1.open()...

module2.open()...

2)语句末尾增加as子句

>>> import math as foobar

>>> foobar.sqrt(4)

2.0

2、赋值

1)序列解包:多个赋值同时进行,适用于当函数或者方法返回元组(或者其他序列或可迭代对象)时

>>> x, y, z = 1, 2, 3

>>> print x, y, z

1 2 3

典型应用场景:

>>> scoundrel = {‘name‘: ‘Robin‘, ‘girlfriend‘:‘Marion‘}

>>> key, value = http://www.mamicode.com/scoundrel.popitem()

>>> print key, value

girlfriend Marion

2)链式赋值:将同一个值赋给多个变量

x = y = somefunction() 类似于

y = somafunction()

x = y

3)增量赋值:x+=1,对于*/%等标准运算符都适用

3、语句块缩排

推荐的方式:使用空格,缩进需要4个空格

4、条件和条件语句

1)布尔真值:在pythonNone{}""[]()都被视为假

2if/else语句:

name = raw_input(‘What is your name?‘)

if name.endswith(‘Alex‘):

    print ‘Hello, Mr. Alex‘

else:

    print ‘Hello, stranger‘

3elif语句:也就是else if的简写

name = input(‘Enter a number: ‘)

if num > 0:

    print ‘The number is positive‘

elif num < 0:

    print ‘The number is negative‘

else:

    print ‘The number is zero‘

5、条件相关

== :相等运算符,两个等号

is:同一性运算符,是同一个对象

>>> x = y = [1, 2, 3]

>>> z = [1, 2, 3]

>>> z == y

True

>>> x == z

True

>>> x is y

True

>>> x is z

False

如上例,xz相等但却不是同一个对象

总结:使用==运算符来判定两个对象是否相等,使用is使用来判定两者是否等同

in:成员资格运算符

布尔运算符:add or not

断言:确保程序中的某个条件一定为真才能让程序正常执行

>>> age = -1

>>> assert 0<age<100, ‘The age must be realistic‘

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

AssertionError: The age must be realisti

循环:

1while循环:

x = 1

while x <= 100

print x

x +=1

两个字符串方法:isspace() 检查字符串是否只有空格组成

strip() 去掉字符串两边空格

2for循环:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in numbers:

print number

两个函数:range函数 一次创建整个序列

xrange  一次只创建一个数

3)循环遍历字典元素

d = [‘x‘:1, ‘y‘:2, ‘z‘:3]

for key, value in d.items():

print key, ‘corresponds to‘, value

4)迭代工具

a. 并行迭代,使用内建zip函数,把两个序列“压缩”在一起,然后返回一个元组的列表

>>> names = [‘anne‘, ‘beth‘, ‘george‘, ‘damon‘]

>>> ages = [12, 45, 32, 102]

>>> zip(names, ages)

[(‘anne‘, 12), (‘beth‘, 45), (‘george‘, 32), (‘damon‘, 102)]

>>> for name, age in zip(names, ages): print name, ‘is‘, age, ‘years old‘

...

anne is 12 years old

beth is 45 years old

george is 32 years old

damon is 102 years old

b. 按索引迭代,使用内建enumerate函数

names = [‘anne‘, ‘beth‘, ‘george‘, ‘damon‘]

for index, name in enumerate(names):

    if ‘anne‘ in name:

        names[index] = ‘alex‘

5)跳出循环:

break:结束循环

continue:结束当前的循环,“跳”到下一轮循环

whileTrue/break

6)循环中的else子句:

from math import sqrt

for n in range(99, 81, -1):

    root = sqrt(n)

    if root == int(root):

        print n

        break

else:

    print "Didn‘t find it!"

6、轻量级循环-列表推导式:用其他列表创建新列表

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

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

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

[0, 9, 36, 81]


本文出自 “鹰之眼” 博客,请务必保留此出处http://eagle2014.blog.51cto.com/7992740/1918279

python学习笔记七:条件&循环语句