笨办法学Python Exercise 37: 复习各种符号

习题37

一些不清楚的关键字

del:用于list列表操作,删除一个或者连续几个元素

      del a[1]   \del a[2:4]\   del a#删除整个list


from:导入相应的模块,就是一些函数和类的集合文件,类似与c语言里的include

         from xxxx

import:导入模块里的某个功能        

#  import sys

    from sys import *一般是导入特定成员

as 还不是特别清楚,通常用在对内置类型的赋值操作。

    上下文管理

    with open(file) as f:
    f.read()

    import语句

    import SomeBigModuleName  as sbmn
    sbmn
.method()

     还有一个exception

global:为一个定义在函数外的变量赋值,告诉python这个变量名是全局的。函数内赋的值也反映在主块中

           global x,y,z

with:一种与异常处理相关的功能.适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。有了上下文管理器,with 语句才能工作(包含enter、exit方法)。

      

    with open(r'somefileName') as somefile:
        for line in somefile:
            print line不需手动关闭

assert:是一种插入调试断点到程序的一种便捷的方式,声明某个条件为真,若不为真,引发assertionerror
          assert expression1、expression2
pass:   空语句,为了保持程序结构的完整性,一般用做占位语句
            编写一个程序时,部分思路还没有完成,但又不能不写,先用pass替代占个位置
yield:把一个函数变成一个 generator(生成器)调用函数时不会执行 fab 函数,而是返回一个 iterable迭代对象
         执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行
,看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。
break:满足某个条件时,终止循环语句。
*except:所有异常从基类exception继承,在内建模块中定义
            执行语句如果引发异常,会跳到第一个except语句,若匹配,执行except中的语句。如果不匹配,向下搜索其他的except
            ,若全都不匹配,异常传递到下一个调用代码的最高层代码中???未发生异常,执行else语句
           处理异常
            try:
                xxxx
            except(exception,语句)
            else:
                xxxx
             多个except句子需要注意子类放前,父类放后
             引发异常,在异常类的名称后添加一个逗号以及指定的参数(或者由参数构成的一个元组)。
            try:
                raise exception
            except exception
                xxxx
class:类,把具有相同属性和方法的对象可以归为一类,定义出的具体作为对象实例。拥有属性(类本身的特性)和功方法(类所能实现的行为)
         class xxx(xxxx):#可继承父类,拥有其相应的属性和方法
             def _init_(self):#构造函数,初始化各对象的属性,默认self这个参数代表类定义的对象本身,并放在第一位
                 pass
             def _del_(self)#析构函数,在程序退出时调用的,删除成员数据
                 pass
exec:动态执行代码片段的语法声明
         exex expr  in g,l#exec后面的代码在global和local变量作用域
         exec (expr,globals,locals)与上等效
         execfile()
eval: 内建函数,计算存储在字符串中的有效Python表达式,并返回表达式的值
in:判断一个数是否在一个序列里面,返回布尔值
raise:引发异常,执行时创建指定异常类的一个对象。还可以指定对异常对象进行初始化的参数,需在名称后添加逗号以及指定参数
          raise [expression[,expression]]
continue:告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环.删除满足循环条件下的某些不需要的成分
              if xxx :
                  pass
                  continue
                  pass
*finally:无论是否发生异常都要确保资源释放代码的执行
          try:
              pass
          finally 
          return
is:判断2个变量是否引用的是同一个对象
    a=xxx
    b=xxx
    print(a is b)
return 从一个函数跳出,也可返回一个值,默认return(none)

lambada:创建匿名简单函数,是一个表达式。而def是一个语句
                m=lambada x,y,z:(x-y)*z#冒号后只能有一个表达式
                print m(a,b,c)
*try:处理异常,和前边exec有重叠。

数据类型
None:通常表示空或是没有值。是一个特殊的值。判断时为False。Null是python特殊类型,对象只有一个值None。

字符串转义序列:有些功能符号不能直接输出
\\:反斜杠,换行符,一条语句写在多行
\a:响铃,执行的时候电脑发出声音,神奇!!!
\b:退格
\f:换页
\r:回车
\t:水平制表符
\v:垂直制表符
若要忽略转义,在字符串前加r
字符串格式化:[标志][输出最小宽度][.精度][长度]类型
%d:整数型
%u:无符号整数型,尝试的时候出现了这个问题
       
%i:输入整数、带前导0的八进制数或0x的十六进制数
%o:八进制无符号整数
%x(X):十六进制大小写无符号整数
%f(F):浮点数字,小数形式
%e(E):科学记数法,指数形式,大小写只是标识,无实际区别
%g(G):浮点数字,以%e%f中较短的输出宽度输出单、双精度实数
%c:转换成字符,ASCII码值
%r:用repr()进行字符串转换
%p:指针的值
操作符号:
**幂运算
//地板除,结果是删除小数点后得到的商数,若值为负,结果保留向负无穷大舍去
%模运算,返回余数
<>:搜到是检查两个操作数值是否相等,若不相等,为True。等价于!=。但是在python中搜的时候显示无效语法
      
():代表tuple元组数据类型,不可变序列,逗号隔开
[]:代表list列表数据类型,可变的序列,逗号隔开
{}:代表dict字典数据类型,逗号隔开组 
    dic={键:值,键:值}
@:函数修饰符,在函数定义的前一行。解释器读到会先解析@后的内容,
     直接就把@下一行的函数或者类作为@后边的函数的参数,然后将返回值赋值给下一行修饰的函数对象。
     从第一个函数修饰符开始,自下而上做参数传递,这样实际是使用了约定的函数修饰符达到函数嵌套的目的。
     @funA
     @funB
     def funC():
         print 'funC'
     结果是:return funA(funB(funC))
;python中换行能够识别语句的结束,如果要在一行中书写多条句子,就使用分号隔开



猜你喜欢

转载自blog.csdn.net/ruijieyang/article/details/82927562