(总结)python基础知识二.1

来源:互联网 发布:python对比java 编辑:程序博客网 时间:2024/06/08 00:21

参考:http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html

  1. 词典:是包含有多个元素,每个元素以逗号分隔。
    但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键
    键须为不可变的对象;值可以是任意对象。键和值两者一一对应
>>> dic = {'tom':11, 'sam':57,'lily':100}
  1. 与表不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。
>>> dic = {}        #构建一个空词典>>> dic['lilei'] = 99   #添加一个新元素>>> for key in dic:         #循环调用        print dic[key]
  1. 词典常用方法
>>> print dic.keys()           # 返回dic所有的键>>> print dic.values()         # 返回dic所有的值>>> print dic.items()          # 返回dic所有的元素(键值对)>>>dic.clear()                # 清空dic,dict变为{}>>>del dic['tom']             # 删除 dic 的‘tom’元素>>>print(len(dic))            # 元素总数

  1. 文件操作
f = open(文件名,模式)          # 打开一个文件,并使用一个对象来表示该文件content = f.read(N)           # 读取N bytes的数据content = f.readline()        # 读取一行content = f.readlines()       # 读取所有行,储存在列表中,每个元素是一行。f.write('I like apple')       # 将'I like apple'写入文件f.close()                     # 关闭文件
  1. 一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序。
    引入模块:
import a as b  # 引入模块a,并将模块a重命名为bfrom a import function1   # 从模块a中引入function1对象。from a import *   # 从模块a中引入所有对象

  1. 导入模块时,python会在以下路径中搜索模块
    (1)程序所在的文件夹
    (2)标准库的安装路径
    (3)操作系统环境变量PYTHONPATH所包含的路径

  2. 可以将功能相似的模块放在同一个文件夹(比如说this_dir)中,构成一个模块包
    import this_dir.module #引入this_dir文件夹中的module模块

    该文件夹中必须包含一个init.py的文件,提醒Python,该文件夹为一个模块包。init.py可以是一个空文件。

  3. 参数的传递:

    def f(a,b,c):        return a+b+c    f(1,2,3)        #位置传递,1,2,3根据位置分别传递给了a,b,c    f(c=3,b=2,a=1)  #关键字传递,关键字(keyword)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系    f(1,c=3,b=2)    #混用
  1. 参数默认值
def f(a,b,c=10):        #c有默认值        return a+b+c

  1. 包裹位置传递
def func(*name):        print type(name)        print name    func(1,4,6)    func(5,6,7,1,2,3)
在func的参数表中,所有的参数被name收集,根据位置合并成一个元组(tuple),这就是包裹位置传递
  1. 包裹关键字传递
def func(**dict):        print type(dict)        print dict    func(a=1,b=9)    func(m=2,n=1,c=11)
dict是一个字典,收集所有的关键字,传递给函数func。
  1. 解包裹
def func(a,b,c):        print a,b,c    args = (1,3,4)    func(*args)    dict = {'a':1,'b':2,'c':3}        func(**dict)
解包裹,就是在传递tuple时,让tuple的每一个元素对应一个位置参数

range(下限,上限,步长)
enumerate():可以在每次循环中同时得到下标和元素

        S = 'abcdefghijk'        for (index,char) in enumerate(S):            print index            print char

zip():从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能。

        ta = [1,2,3]        tb = [9,8,7]        tc = ['a','b','c']        for (a,b,c) in zip(ta,tb,tc):            print(a,b,c)
0 0