zoukankan      html  css  js  c++  java
  • Python笔记(1)变量与表达式

    列表list

      list是用的最多的类型

      可以count计数

      可嵌套,多钟类型并存 支持 + *

    a = [1,2,3]
    a_ref = a
    a_copy = a[:]

      引用,a变化a_ref也变化 指向同一个地址 可以用id(a)查看,除非拷贝a_copy。但是如b = a * 2     + *不是a的引用,b会变成一个新的列表 

      

    l = [4,5,6]
    x = l*4,y = [l]*4
    l[1]  = 0
    print x,y
    

      x已经和l没有关系了,x不会变,y会变

      字符串和列表都有index等相似操作,但是list可以直接根据index修改,字符串就不可以修改,因为字符串是一个常量,可以访问,不能通过index修改。

    元祖

      相当于一个不可变的列表,[]变成()和字符串很像。

      index,count,+,*

      也可以嵌套可以变化的list(不推荐)

      转换 tuple(list) (list转换成元祖)

    字典

      key-value   key不可变(数字,字符串,元祖),value各个类型都可以

      字典是个散列表,没有顺序,适合插入,查询操作

      zip可将相同长度的list生成一个key-value的字典   

      Get,Update,Del,Clear,嵌套

      浅拷贝 D.copy() ,copy.copy(D)   (只拷贝一层,非嵌套的适用)

      深拷贝 copy.deepcopy(D) (全部拷贝过来)

    文件

        F = open(path,'r')

        F.read() F.readline() F.write() F.close()

        还有Shelve和Pickle(cPickle)库

    #Shelve库 读取只要open就行了
    import shelve
    D = shelve.open(file)
    D['name'] = 'content'
    D.close()
    
    #cPickle 读取需要load
    f = open(file,mode)
    cPickle.dump(obj,f)
    Obj = cPickle.load(f)
    #中文支持
    import codecs
    f = codecs.open(filename,mode(w,r等),encoding)
    
    #文件是否存在 返回boolen
    import os
    os.path.exists(filename)
    os.rename(old,new)
    

      

    输入

    raw_input  接收字符串

    input 接收可运行的表达式

    x = input("1+2:")
    输入1+2
    print "%d"%x

     输出 

    3

     但是在python3中 input和raw_input合体了,raw_input被取消了,input用于接收字符串,要传整形得自己转 

    输出

    print Python2中是一个语句,有格式

        

    print a,b
    print>>file a,b
    print '%d%s'%(a,c)
    print "{0} use {1}".format('we','python')
    

      

        Python3是个函数,有固定的参数

    print([obj,....][,spe(什么东西分割)][,end = '
    '][,file = sys.stdout])
    

    条件表达式

          if/else   where/else 不等于0的都是true 缩进要一致   table和空格不要混用

          while经常跟着逻辑表达式 if常遍历列表,字符串,元祖,字典,文件

    列表解析 表达简洁,速度比直接写循环要快一点,python作者喜欢列表解析。

     例

    l2 = ['a','b','b','a','b','b','v','v']
    l1 = []
    [l1.append(i)  for i in l2 not in l1]
    

    异常处理

       try/except/finally

       raise error(message) 

       Assert condition  条件触发异常,打印信息终至程序  (assert xxxx,"string")

  • 相关阅读:
    oracle12 安装
    ORACLE重装之后恢复数据库,相当于sqlserver的附加数据库
    git
    P1323 删数游戏(技巧)
    P2486 【SDOI2011】 染色
    P1084 【NOIP 2012】 疫情控制
    前缀、中缀、后缀表达式
    【P1979】 NOIP2013 华容道
    P2601 【ZJOI2009】对称的正方形
    NOIP2015 运输计划
  • 原文地址:https://www.cnblogs.com/zephyr-1/p/5435195.html
Copyright © 2011-2022 走看看