• python基础教程(六)


    学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事。从这一章节开始有点难度,需要好好理解。

     

    基本语句的更多用法


     

    使用逗号输出

    >>> print 'age:',25
    age: 25

    如果想要同时输出文本和变量值,却又不希望使用字符串格式化的话,那这个特性就非常有用了:

    >>> name = 'chongshi'
    >>> salutation = 'Mr'
    >>> greeting = 'Hello.'
    >>> print greeting,salutation,name
    Hello. Mr chongshi

     

    模块导入函数

    从模块导入函数的时候,可以使用

    import somemodule

    或者

    form somemodule immport  somefunction

    或者

    from somemodule import somefunction.anotherfunction.yetanotherfunction

    或者

    from somemodule import *  

    最后一个版本只有确定自己想要从给定的模块导入所有功能进。

    如果两个模块都有open函数,可以像下面这样使用函数:

    module.open(...)

    module.open(...)

    当然还有别的选择:可以在语句末尾增加一个as子句,在该子句后给出名字。

    复制代码
    >>> import math as foobar   #为整个模块提供别名
    >>> foobar.sqrt(4)
    2.0
    >>> from math import sqrt as foobar  #为函数提供别名
    >>> foobar(4)
    2.0
    复制代码

     

    赋值语句

    序列解包

    复制代码
    >>> x,y,z = 1,2,3
    >>> print x,y,z
    1 2 3
    >>> x,y=y,x
    >>> print x,y,z
    2 1 3
    复制代码

    可以获取或删除字典中任意的键-值对,可以使用popitem

    复制代码
    >>> scoundrel ={'name':'robin','girlfriend':'marion'}
    >>> key,value = scoundrel.popitem()
    >>> key
    'name'
    >>> value
    'robin'
    复制代码

    链式赋值

    链式赋值是将同一个值赋给多个变量的捷径。

    复制代码
    >>> x = y = 42
    # 同下效果:
    >>> y = 42
    >>> x = y
    >>> x
    42
    复制代码

    增理赋值

    >>> x = 2
    >>> x += 1  #(x=x+1)
    >>> x *= 2  #(x=x*2)
    >>> x
    6

    控制语句


     if 语句:

    复制代码
    name = raw_input('what is your name?')
    if name.endswith('chongshi'):
        print 'hello.mr.chongshi'
    #输入
    >>> 
    what is your name?chongshi  #这里输入错误将没有任何结果,因为程序不健壮
    #输出
    hello.mr.chongshi
    复制代码

    else子句

    复制代码
    name = raw_input('what is your name?')
    if name.endswith('chongshi'):
        print 'hello.mr.chongshi'
    else:
      print 'hello,strager'
    #输入
    >>> 
    what is your name?hh  #这里输和错误
    #输出
    hello,strager
    复制代码

     

    elif 子句

    它是“else if”的简写

    复制代码
    num = input('enter a numer:')
    if num > 0:
        print 'the numer is positive'
    elif num < 0:
        print 'the number is negative'
    else:
      print 'the nuber is zero'
    #输入
    >>> 
    enter a numer:-1
    #输出
    the number is negative
    复制代码

     

    嵌套

    下面看一下if嵌套的例子(python是以缩进表示换行的)

    复制代码
    name = raw_input('what is your name?')
    if name.endswith('zhangsan'):
        if name.startswith('mr.'):
            print 'hello.mr.zhangsan'
        elif name.startswith('mrs.'):
            print 'hello.mrs.zhangsan'
        else:
            print 'hello.zhangsan'
    else:
        print 'hello.stranger'
    复制代码

      如果输入的是“mr.zhangsan”输出第一个print的内容;输入mrs.zhangshan,输出第二个print的内容;如果输入“zhangsan,输出第三个print的内容;如果输入的是别的什么名,则输出的将是最后一个结果(hello.stranger

    断言

    如果需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert 语句可以在程序中设置检查点。

    复制代码
    >>> age = 10
    >>> assert 0 < age < 100
    >>> age = -1
    >>> assert 0 < age < 100 , 'the age must be realistic'
    
    Traceback (most recent call last):
      File "<pyshell#8>", line 1, in <module>
        assert 0 < age < 100 , 'the age must be realistic'
    AssertionError: the age must be realistic
    复制代码

    循环语句


     打印1100的数(while循环)

    复制代码
    x= 1
    while x <= 100:
        print x
      x += 1
    #输出
    1
    2
    3
    4
    .
    .
    100
    复制代码

    再看下面的例子(while循环),用一循环保证用户名字的输入:

    复制代码
    name = ''
    while not name:
        name = raw_input('please enter your name:')
    print 'hello.%s!' %name
    #输入
    >>> 
    please enter your name:huhu
    #输出
    hello.huhu!
    复制代码

    打印1100的数(for 循环)

    复制代码
    for number in range(1,101):
      print number
    #输出
    1
    2
    3
    4
    .
    .
    100
    复制代码

    是不是比while 循环更简洁,但根据我们以往学习其它语言的经验,while的例子更容易理解。

     

    一个简单for 语句就能循环字典的所有键:

    复制代码
    d = {'x':1,'y':2,'z':3}
    for key in d:
      print key,'corresponds to',d[key]
    #输出
    >>> 
    y corresponds to 2
    x corresponds to 1
    z corresponds to 3
    复制代码

    break语句

    break 用来结束循环,假设找100以内最大平方数,那么程序可以从100往下迭代到0,步长为-1

    复制代码
    from math import sqrt
    for n in range(99,0,-1):
        root = sqrt(n)
        if root == int(root):
            print n
            break
    #输出
    >>> 
    81
    复制代码

     

    continue 语句

    continue结束当前的迭代,“跳”到下一轮循环执行。

    复制代码
    while True:
        s=raw_input('enter something:')
        if s == 'quit':
            break
        if len(s) < 3:
            continue
      print 'Input is of sufficient length'
    #输入
    >>> 
    enter something:huzhiheng  #输入长度大于3,提示信息
    Input is of sufficient length
    enter something:ha        #输入长度小于3,要求重输
    enter something:hah       #输入长度等于3,提示信息
    Input is of sufficient length
    enter something:quit       #输入内容等于quit,结果
    复制代码
     
    Life is not what you have gained but what you have done!
  • 相关阅读:
    《Think in Java》(七)复用类
    书单2017
    React 获取真实Dom v8.6.2版本
    vue-waterfall2 实现瀑布流,及总结的问题
    vue CSS使用/deep/
    vue.config.js 配置 scss,less,sass全局配置 vuecli3
    postcss 将px转换成rem vuecli3+vant+vue+postcss
    px转rem vue vscode
    轮播模仿臭美APP,vue,swiper
    瀑布流 懒加载 组件 vue js
  • 原文地址:https://www.cnblogs.com/cmt110/p/7464719.html
Copyright © 2020-2023  润新知