python知识点总结(2)

///////////////////////////////////////////
//python
///////////////////////////////////////////
1.理解python中的引用
    a = 10
    b = a
    print id(a) ,id(b), id(10)
    注意:这里的a,b都是一个变量的别名
    b = 20
    print id(b), id(20)
    注意:此时我们发现b的id与20的id相同(a,b就是一个标签,将b改为20,就是将
                                        标签b贴在变量20上)
    注意:在python中,并不会出现{},而是通过缩进来表示(一级缩进是由4个空格组成)
2.if语句
    表达式的值为非0或者为布尔值True,则执行语句,否则执行下一条语句
  if expression1:
      do_something1
  elif expression2:
      do_something2
  else:
      do_something3
    提示:由于出现以上的写法,所以就不会出现switch(python中不支持switch/case这
    样的语句),如果条件分支太多,可以考虑"标驱动"的方式来组织代码,具体参见《代码大全》
3.循环语句
    1)while 循环语句
            count = 0
            while count < 3:
                print "loop %d" % count   注意:格式化输出
                count += 1
    2)for循环语句 
            mystr = 'abcd'
            for c in mystr:    注意:相当与遍历字符串
                print c
            ////////////////////
            a = [1,2,3,4]
            for item in a:     注意:相当与遍历数组
                print item
            ///////////////////
            a = {
                'key1':value1,
                'key2':value2,
                'key3':value3
            }                 注意:字典底层依靠哈希标
            for key in a:
                print key,a[key]
            ////////////////////
            for i in range(0,10):   
                print i       注意:打印1到10
4.break与continue
    1)break
        for i in range(1,100):
            if i%3 ==0:
                break
        print i               注意:在for循环内部定义的变量,可以在循环外部使用
    题目:查找到1-99中所有的3的倍数 
    for i in range(1,100):
        if i % 3 != 0:
            continue
        print i               注意:此处的print与if作为匹配
5.pass语句 
    x = 10
    if x % 2 == 0:
        pass                 注意:此处的pass是一个空语句,什么也不干,只是占一个位置,防止报错
    else:
        print 'x is prime'
6.使用for语句
    a = []
    #此处的range表示的区间[0,4)
    for x in range(4):
        a .append(x**2)
    print a
    /////////////////////////
    a = [ x ** 2 for x in range(4) ]
    print a
    /////////////////////////
    题目:计算0-100中奇数的平方
    a = [ x ** 2 for x in range(100) if x % 2 == 1 ]
    print a
7.函数
    1)一些可以被重复使用的代码,可以提取出来放到函数中
    2)python中使用def来定义函数。使用return来 返回结果
    def Fun():
        print 'aaaa'
    ////////////////
    def Add(x,y):
        return x + y
    print Add(1,2)
    print('hello','world')    注意:由于函数中没有标注类型,所以可以适用很多类型
                                    但是,参入的参数必须满足函数内部的操作
    3)函数重载
    def Func():
        print 'aaa'
    def Func(x):
        print 'bbb'
    Func()                   注意:此时回报错,其实python中并不支持函数重载,如果
                                   定义了相同的的函数,则后面的将会覆盖前面的
    print type(Func)         注意:函数也是一个普通的变量,只是可以被调用
    4)函数的默认参数
    def Func(debug = True):
    5)函数的返回值 
    def GetPoint():
        x = 10
        y = 20
        return x, y 
    a, b = GetPoint()        注意:此处的a,b就是返回的x,y(所以,不需要考虑输出型参数)
    _, b = GetPoint()        注意:此处的使用占位符,表示不关注这个值 
    _*, b = GetPoint()       注意:此处的下化线*表示占位符
    print type(GetPoint())   注意:此处将返回一个元组,其实元组与元组之间是可以进行赋值的
8.文件操作
    open,为python中的内建函数
    f = open("test.txt",'r')    注意:此处的f为文件描述符,并且不需要进行文件的打开成功与否
        print line,             注意:此处的逗号表示不打印换行
        print line[:-1]         注意:此处也表示不打印换行 
    f.close()                   注意:将文件描述符关闭,否则会造成资源泄漏
温馨提示:文件描述符个数是可配置,栈的大小也是 可以配置的,堆的大小是非常大的
注意:文件对象可以使用for循环遍历
      凡是可以使用for循环遍历的对象都是可迭代的
    题目:统计文件中单词出现的个数
    #字典中键对应单词,值对应出现的次数
    data = {}
    f = open('test.txt','r')
    for word in f:
        word = word[:-1]
        if word in data:
            data[word] += 1
        else
            data[word] = 1
    f.close()
    print data
8.模块
    1)可以通过inport引入文件
    import add              注意:导入文件
    print add.Add(10,20)    注意:访问文件中的函数,可以使用类似命名空间的
                                  格式限制,达到文件内函数冲突的问题
    提示:文件链表中有可能出现.pyc文件,只有inport引入文件后才会出现.pyc文件
    ////////////////////////////
    inport sys
    print sys.path          注意:标准库,查找路径,优先查询但前目录,在查询
                                  系统路径
9.实用函数
    raw_input(str)          注意:等待用户输入一个字符串
 

你可能感兴趣的:(python知识点总结(2))