Python基础

编码

#coding=utf-8

函数入口

 if __name__== "__main__":

内置方法

  type:a=1 type(a)
  help:import time help(time)
  dir:dir(time)

常用基本数据类型
1.int 整型

2.boolean 布尔

3.string 字符串:计算字符串长度之前,要把字符串转为utf-8编码  len(str.decode("utf-8"))

1).截取指定字符串 s = "i,am,lilei"  print s[2:4] print s.split(',')[1]

2).替换指定字符串 ainfo = 'i love php'   replycontent = ainfo.replace('php','python')

3).字符串拼接 str1="abcd"  str2="efg"  str3="hjk"   print "$".join([str1,str2,str3])  #中间用$符号拼接

  c = a + b
  c = "%s%s" % (a,b)
  c = "{a}{b}" .format (a=a,b=b)
  c = "".join([a,b])

4).查找字符串的位置

  a = "i,am,a,boy,in,china"  print a.find('i')##不存在返回-1  print a.index('i')##不存在报错

计算该字符串一共有几个逗号 print a.count(',')

4.list 列表

 b=[[1,2,3],[4,5,6]]

 b[0][1]=7 #修改指定元素数值

 print b #输出结果为[[1, 7, 3], [4, 5, 6]]  

  1) 切片

  正向索引  a = [1,2,3,4,5,6,7]   print  a[0:4:1]     [1, 2, 3, 4]

  反向索引 a = [1,2,3,4,5,6,7]  print a[-1:-4:-1]  [7, 6, 5]

  默认索引 a = [1,2,3,4,5,6,7]  print  a[1:]结果为[2, 3, 4, 5, 6, 7]   print  a[1::2]结果为[2, 4, 6]

  2)添加操作   

  + 生成一个新的列表

  Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表

  Append :添加任意对象到列表的末端

  Insert: 插入任意对象到列表中,可以控制插入位置。

  3)修改操作

    A = [1,2,3]

    A[0]=’4’

  4)删除操作

   Del :我们通过索引删除指定位置的元素。del a 删除列表对象的引用    del a[:] 清空列表对象里的元素

   Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。

   Pop:返回最后一个元素,并从list中删除它。

   5)成员关系

   通过In和not in我们可以判断一个元素是否在列表里。

   返回一个bool类型,元素在列表里返回true,否则返回fasle.

   6)列表推导式

    a.首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

    比如我们要生成一个包含1到10的列表 [x for x in range(1,11)]    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    b.加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

    [x for x in range(1,11) if x % 2 == 1]      [1, 3, 5, 7, 9]

   7)排序翻转:sort,reverse

    list的reverse函数:反转一个list, 他的返回值为none

   8)列表的应用:

    a.内置list方法。

    b.2.xrange和range的具体区别。 

       xrange的用法:xrange(开始,结束,步长)   xrange 它生成一个xrange对象。

       比较:range: 直接生成一个列表对象。   xrange: 它是生成一个xrange对象。

       推荐:当我们需要操作一个非常大的数据,而且内存比较吃紧的时候,我们可以用xrange来操作省内存。

               xrange一般用在循环里面,比如我们只需要操作部分数据的话,而不是返回全部元素来完成操作,推荐用xrange,效率更高。

    c.列表推导式之再应用。

      [x*x for x in range(100)]

      生成字符串 ['the %s' % d  for d in xrange(10)]

      [(x,y) for x in range(2) for y in range(2)]

     生成字典 dict([(x,y) for x in range(3) for y in range(2)])

5.tuple 元组

1)有序的集合

2)通过偏移来取数据

3)属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。     

    元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,确保方法或者接口不会改变我们的数据从而导致程序问题。

6.集合

  集合是没有顺序的概念。所以不能用切片和索引操作。

  1)创建集合。set():可变的 不可变的frozenset():

  2)添加操作: add,update

  3)删除 remove

  4)成员关系 in,not in

  6)交集,并集,差集 & | -

  7)set去重 列表内容元素重复

7.dict 字典

   字典是无序的,它不能通过偏移来存取,只能通过键来存取。

   1)创建字典。{},dict()

   info = {'name':'lilei', 'age': 20}

   info = dict(name='lilei',age=20)

   2)添加内容 a['xx'] = 'xx'

   3)修改内容 a['xx'] = 'xx' 

      dic['key'] = 'value'

      update 参数是一个字典的类型,他会覆盖相同键的值

      info.update({'city':'beijing','phone':'nokia'})

    4)删除 del,clear,pop

      del info['phone'] 删除某个元素

      info.clear()删除字典的全部元素

      info.pop('name')

     5)in 和 has_key() 成员关系操作

        phone in info

        info.has_key('phone')

     6)keys(): 返回的是列表,里面包含了字典的所有键

       values():返回的是列表,里面包含了字典的所有值

       items:生成一个字典的容器:[()]

     7)get:从字典中获得一个值

        info.get('name')

        info.get('age2','22')

操作文本函数

writeStr="写入";
f=open('a.txt','w');
f.write(writeStr)
f.close()

f=open("a.txt","r")
readStr=f.read();
print readStr

#将模块string的帮助文档保存为一个文件
import sys
import string
f = open('test.log','w')
sys.stdout = f #将标准的输出流反映到文件的写入方法里面
help(string)
f.close()

  

 

posted @ 2016-07-02 09:56  ~沐风  阅读(248)  评论(0编辑  收藏  举报