python3第五天(条件,循环,函数)

发布时间:2019-09-25 08:16:40编辑:auto阅读(1709)

    if语句:

        if 条件1:

            ..

        elif 条件2:

            ..

        else:

            ..

    每个条件后面用冒号来表示当满足条件之后要执行的语句.

    while循环:

        while 条件:

            ...


        while 条件:

            ...

        else:

            ...


    for循环:

        for var in seq:

            ...

        else:

            ...

    迭代器有两个基本的方法:iter() 和 next()

        字符串,列表,元组,都可以用于创建迭代对象

        创建迭代对象:iter(列表/字符串/元组)

        可以对迭代对象进行for循环,也可以用next来访问迭代对象中的下一个元素.

    函数

        函数的定义:

            由def定义,后面跟函数名称,圆括号(),参数定义在圆括号里,以冒号开心函数体.如下

            def 函数名称(参数列表):

                函数内容

                [return var] #当没有return语句时,函数则返回None

        函数必须在调用之前先定义

    可变类型与不可变类型

        string,tuples,numbers是不可修改的对象,list,dict,set是可修改的对象,针对不可修改对象的变量,在函数参数传递时,修改的是对象的值,而不是对象本身。

        参数:

        必需参数,关键字参数,默认参数,不定长参数

        必需参数:参数必须正确的传入顺序,且数量要一样。

        关键字参数:通过参数名来匹配参数值,如:func(age=12,name='2222')

        默认参数:def func(name,age=12),调用时,可值age参数,也可不传。

        不定长参数:def func([arg,] *var_args_tuple),加了星号(*)的变量名,会存放所有未命名的变量参数。

    匿名函数:

        用lambda来定义匿名函数

        lambda拥有自己的命名空间,且不能访问表达式之外的参数和全局命名空间里的变量

        语法:

        lambda arg[,arg[,arg....]]:express

        如 lambda arg1,arg2:arg1*arg2. 返回两个参数的乘积

    变量作用域:

        作用域有四种:

        L(local)局部

        E(enclosing)闭包函数外的函数中

        G(global)全局

        B(built-in)内建

        变量查找规则L->E->G->B,范围是从小到大的查找

        只有module,class,def lambda才会引入新的作用域。

    global与nonlocal:

        当内部作用域要修改外部作用域变量时,要用到global,用global var;来重新声明变量

        修改嵌套作用域的变量时(enclosing作用的范围),要用nonlocal var;来重新声明变量


        

        

关键字