zoukankan      html  css  js  c++  java
  • python 学习笔记 四 条件, 循环以及其他

    逗号输出

    print语句可以用来打印由逗号隔开的多个值, 如果语句以逗号结尾, 后面的print语句会在同一行继续打印. 如果想同时输出文本和变量而又步想使用格式化, 这个特性就非常有用了.

    >>> age = 42

    >>> print 'Age:', age

    >>> Age: 42

    每个参数间会自动加上空格.

    模块导入

      1.从模块导入函数可以使用:

    import module

    或者

    from module import function

    或者

    from module import function1, function2, ...

    或者

    from module import *

    只有确定要从模块导入所有功能时草应该使用最后一个.

      2.若导入的俩个(或多个)模块具有都具有一个open函数, 这时我们可以使用第一种方式导入, 然后这样调用函数:

    module1.open()

    module2.open()

    或者为函数起个别名:

    from module import function_name as new_name

    赋值语句的技巧

      1.同时进行多个赋值

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

    >>> print x, y, z

    1 2 3

      2.交换俩个变量

    >>> x, y = y, x

    >>> print x, y, z

    2 1 3

    事实上, 上面所做的事情叫序列解包(sequence unpacking)---将多个值的序列解开, 然后放到变量的序列中:

    >>> values = 1, 2, 3

    >>> values

    (1, 2, 3)

    >>> x, y, z = values

    >>> print x, y, z

    1 2 3

    这个特性在函数或方法返回元组(或其他可迭代对象)时非常有用.

    条件语句

    条件测试为假的情况:

    False  None  0  " "  ( )  [ ]  { }

    从下面的代码可以看出条件语句的一般格式:

    num = input('Eter a number: ')
    if num > 0:
        print 'The number is positive'
    elif num < 0:
        print 'The number is negative'
    else:
        print 'The number is zero'

    布尔运算符

    python中用and, or, not表示与或非, 相当于c语言中的&& || !.

    断言

    让程序在错误条件出现是崩溃, 关键词assert

    assert condtion

      ...

    循环

    while循环, 看例子:

    x = 1
    sum = 0
    while x <= 100:
        sum += x

    for循环:

    for num in range(0, 10):    # 生成一个0-9的列表
        print num

    python的循环中的是可以添加else语句, 看这个例子:

    for num in range (0, 10):
        if num == 5:
            print num
            break
    else:
        print "Can't find it!"

    else语句仅在没有调用break时执行, 也就是说for循环正常结束.

    列表推导式(list comprehension)

    利用其他列表创建新的列表, 例:

    >>> [x*x for x in range(1, 5)]

    [1, 3, 9, 16]

    列表由range(1, 5)中每个数的平方生成.

    pass, del, exec和eval

      1.pass

    pass语句上面也不做, 可以在代码中做占位符使用, 因为在Python中空代码块是非法的.

      2.del

    del不仅会移除一个对象的引用, 也会移除那个名字本身.

    >>> x = 1

    >>> del x

    >>> x  # NameError: 'x' is not defined

    但这里并没有删除值, 例如:

    >>> x =["Hello", "world"]

    >>> y = x

    >>> y[1] = "Python"

    >>> x

    ['Hello', 'Python']

    >>> del x

    >>> y

    ['Hello', 'Python']

    x和y指向同一个列表, 但删除x并步影响y, 这是因为删除的只是名称, 而不是列表本身(值). 事实上, 在Python中是没有办法删除值的, 某个值不再使用, Python解释器会负责内存的回收.

      3.exec

    执行一个字符串的语句

      4.eval

    计算字符串形式书写的python表达式.

  • 相关阅读:
    iOS 证书错误 Certificates下面的 App Store and Ad Hoc是灰的?? 点不了
    iOS 发布证书错误 Your build settings specify a provisioning profile with the UUID, no provisioning profile was found
    不能修改“System Roots”钥匙串 即下载的.cer 文件添加不到钥匙串
    修改 “嗨加游-Prefix.pch” 或者 “嗨加游-Info.plist ” 方法
    Java基础1(2015-8-2)
    认识modernizr----前端
    VS2013的C#项目与SQL Server2012无法连接的问题
    安装完SQL Server 2012后,由Windows身份验证设置为混合型的身份验证
    C#项目,在controller文件夹右击鼠标没有“添加控制器”的问题
    复制已存在的数据库结构(不包括库中的数据)
  • 原文地址:https://www.cnblogs.com/ezhengnan/p/3745658.html
Copyright © 2011-2022 走看看