Python复习知识点(三)

  • 循环结构
一,while循环
        使用方式和之前学的一致,这里只说新加入的
        while...else    当while语句条件为false时候执行else    (else和while平级)
 
二,for循环
        和之前的有差别,它支持序列和迭代器作为参数
        简单用法:
 新增的for-else语句
            和while-else用法一致    for -  else中 for 和else是平级关系,在for循环结束后,会执行else语句
  • 函数定义
            def关键字开头,后面接函数名,函数名后面接()参数列表。还有冒号起始
            函数体要缩进,函数可以不写return,不写默认返回None,函数返回值可以是列表
         这里对python函数参数的问题分析分析:
        首先要明白python中,类型属于对象,而变量是没有类型的。对于这句话的理解看一下代码
        a= [ 1 , 2 , 3 ]
        a= " Runoob "
        以上代码中,[1,2,3]是List类型,而" Runoob "是string类型。变量a是没有类型的,她仅仅是一个对象的引用
        它可以是list,也可以是string
 
        明白了上面的理论,再回过头来看函数参数的问题,传参的类型可以是可变类型,也可以是不可变类型
        可变类型:列表,字典
        不可变类型:string  tuples  number都是不可变的
         那具体什么叫可变,什么叫不可变。这就和上面提到的类型属于对象,变量没有类型 有关系
        不可变类型:          
                  例如 a=10,    然后我们在赋值  a=5    这里实际是新生成了一个对象 10(int类型),然后我们让a去指向了它
                  我们并没有改变a的值,只是让他重新指向了一个值,之前的5被丢弃了
         可变类型:
                    list=[1,2,3,4] 我们现赋值list[2]=10      这里将第三个元素的值改变了,但是!list本身并没有动,它只是内容的一部分被修改了
  
          综上理论,我们可以得出:我们在函数传参的时候
          1.    如果传入的是不可变类型(类似于c++的值传递),我们传递进去后,函数内无论怎么去改变这个参数的值,都不会影响原有的参数  
                            def   fun ( a ) :
                                     a=10
                            b=2
                            fun(2)
                            print ( b )            #这里输出的还是2,我们并没有去改变b        (这是传入不可变类型的对象)
 
            2.    如果传入可变对象的时候,就相当于我们在传c++中的引用传递,我们如果穿list 或者字典。在函数里面去修改值,原来的参数也会随之发生改变
 
        匿名函数
    我们使用lambda来创建匿名函数,它只是一个表达式,我们可以在调用的时候给他传参,用法如下
  • 全局局部变量
        分三个例子说明变量作用域问题:
    例1:

 例2:global声明全局变量

例3:nonlocal声明嵌套函数内部修改局部变量(python3中适用)

  • 模块
    模块是一个python文件,以py结尾
    导入模块的方式有三种:
    1.    import + 模块名
           我们在使用的时候就可以使用 模块名  . 函数名
            一个模块导入只有一次,无论执行多少次import
    2.    from 模块名 import 对象名
        这个声明是将部分我们需要导入的函数或者变量导入进来
    3.    from 模块名 import *
        将一个模块所有内容导入进来
 
  • 异常处理
     我们可以使用try+except来捕获异常
    我们只需在try中执行我们需要保护的代码,在except中去测试是否有误,如果有误我们也不会终端我们的代码
如果在except中不写错误类型,我们就默认所有错误类型
    try-finally 机制,为finally里面的代码块无论如何都会执行,哪怕前面有return 退出函数,他也会执行完finally代码后,再去return   
 
    我们也可以自己去主动抛出异常,让except捕获:
Python中特殊语法:
闭包:    在函数嵌套中使用
filter函数用于过滤序列,过滤掉不符合条件的元素
    filter ( function, 可迭代对象)        其中函数为判断函数,将结果为真的组成一个序列返回

reduce函数,用于对参数序列中元素进行累积(这里不能理解为累计相加!,用传给reduce中的两个元素进行操作,得到*的结果在于第三个数据给函数运算,最后得到一个结果

map函数,会对指定序列进行函数操作,并返回一个列表

  • Python中时间日期time模块,random模块
    这里简单的知道
显示本地相应时间:
    import    time                导入time模块
    print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime() ))

 

  • 文件操作
文件操作和c语言的文件操作基本一致
我们进行文件操作必须先的到一个文件对象,才能去进行相关的操作
    先来看open函数

猜你喜欢

转载自www.cnblogs.com/Tempt/p/9987711.html