python day3

 
一。 collection 对字典的扩展
1.计数器(counter)
Counter是对字典类型的补充,用于追踪值的出现次数。
ps:具备字典的所有功能 + 自己的功能
例 
import  collections
c = collections.counter('adffsdgfg')
1.
 c = Counter('abcdeabcdabcaba')
2.
 c.most_common(3)    提取最多出现三次的
3.
def __missing__(self, key):
        """ 对于不存在的元素,返回计数器为0 """
4.
def most_common(self, n=None):
        """ 列出出现次数多的元素 """
5.
 def elements(self):
        """ 计数器中的所有元素,注:此处非所有元素集合,而是包含所有元素集合的迭代器 """
               要和循环一起使用
二。collection  对字典的扩展
1.有序字典 orderedDict   与字典一样 只是在内部对字典进行了排序,在内部将key提取为列表排序
 
三。collection   对字典的扩展
1.默认字典
 my_dict = collections.defaultdict(list)/(tupe)/(int)/(dict)   
字典里的value设置默认类型
 
四。collection  对元组的扩展
传统:1直接使用类创建对象。2使用对象
1.可命名元组
     1.创建类
     2.使用类创建对象
     3.使用对象
例子  
(1,4)
x=1.y=4
1.创建有两个元素可命名的类
创建一个扩展tuple的类,mytuple
mytupe = collections.namedtuple('mytuple',['x','y'])

 
五。collection  对队列的扩展
 
1.双向队列deque:两头都可以取,都可以插入,线程安全(多个线程同时取得时候,第一个线程上锁取完后解锁第二个取)

 
2.单向队列(也是线程安全)Queue.Queue :取 存 都从一个方向 ,先进的数据也先出  FIFO ———相反——— 栈: 弹夹(后进的数据先出)

 
 
给列表排序
#!/usr/bin/env python
# -*- coding:utf-8 -*-
li = [13,22,6,99,11]
for m in range(len(li -1)):
        if li[m] > li[m+1]:
                temp = li[m]
                li[m] = li[m+1]
                li[m+1] = temp
print li
 
cmp(2,3);abs()百分比;bool();divmod(10,3)分页;max()最大;min()最小;sum()和;pow(2,11)幂
 
len();all()接收一个序列,判断所有的值都是真没有空值,返回真,否则假(空值也为false)循环列表里的所有值并判断;any();只要有一个为真就返回真
 
allic码的数字和字符进行转化的chr()接收数字返回字符;ord(); 接收字符返回数字
hex()十六进制;oct()八进制;bin()二进制;
 
enumerate 指定数字的起始值
 
vars() == 当前模块的所有变量
'_doc_':None
'_name_':'_main_',
'_file_':
 
函数: 代码块,大按照功能划分
1.内置函数
2.字定义函数
 
3.导入函数
 
1.内置函数:(python里常用的一些方法的快捷方式)
 
 if __name__== "__main__":   是程序的主文件  是主函数。
格式 
关键字  函数名():
               内容
 
def  email():
          ........
 引用时 :   email()
 
1.def定义函数的关键字。
2.函数名,日后通过函数名调用该函数
3.函数声明,不自动执行,调用后才执行
4,.函数的参数
5.函数的返回值   
 
返回值:
     1.未明确指定返回值,则返回None   return = result
     2.返回值可以赋值给某个变量
 
参数:
     1.普通参数
          形式参数 简称形参
          实际参数 简称实参
          参数可以有N个,传入指定个数的参数
     2.默认参数
          不传则使用默认值
          默认参数必须放在默认参数列表的最后,也可以有多个。
     3.动态参数
        方式1:  def func(*args):
                         pass    
          接收多个参数
          内部自动构造元组
          序列,*,避免内部构造元组
     方式二: def func(**zz)  
                     func (k1=123,k2='sss')
                    dic = {"k1":123}
                    func(**dic)
      方式三:    def func(*ff,**zz)
          
 
 
 
 
 
 
 
 
 
1打开文件
2操作文件
一,打开文件
 
obj = file('文件路径','')
obj = open('文件路径'.'')   推荐使用Open
 
#r只读默认,w只写(重新),a追加自动写在最后
"+" 表示可以同时读写某个文件
  • r+,可读写文件。【可读;可写;可追加】
  • w+,无意义
  • a+,同a
 
 
obj.read()读开始
obj.colse()关闭
obj.seek(开始位置)指定指针位置。如果是追加模式会自动定位指针到最后
obj.tell()指针位置
 
obj.write('0000') 用来写入数据
obj.truncate()用来截断数据  如果后面没有参数从当前指针位置开始替换后,后面的全部删除,如果有参数,不管指针在哪只保留前几个字符,后面的全部删除
 
 

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,在windows下处理二进制文件时需标注,跨平台是需要使用)

  • rb
  • wb
  • ab
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)在不通的平台换行符是不一样的
  • rU
  • r+U
 
二。操作文件
 托管资源和非托管资源
1.
def flush(self): # real signature unknown; restored from __doc__
        刷新文件内部缓冲区
2.
  def isatty(self): # real signature unknown; restored from __doc__
        判断文件是否是同意tty设备
3.
def next(self): # real signature unknown; restored from __doc__
        获取下一行数据,不存在,则报错,循环每行读取。
4.
def read(self, size=None): # real signature unknown; restored from __doc__
        读取指定字节数据
5.
def readline(self, size=None): # real signature unknown; restored from __doc__
        仅读取一行数据
6.
def readlines(self, size=None): # real signature unknown; restored from __doc__
        读取所有数据,并根据换行保存值列表
7.
 def writelines(self, sequence_of_strings): # real signature unknown; restored from __doc__
        将一个字符串列表写入文件
 
三,关闭文件  with
      with open('log','r') as obj:   # 当with代码块执行完毕时,内部会自动关闭并释放文件资源。
 
   with open('log1') as obj1, open('log2') as obj2:   #
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2015-11-14 11:53  白亚楠  阅读(78)  评论(0)    收藏  举报