### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象。

11. list

list是一个类。每个列表都属于该类。

>>>nl = [1,2,5,3,5]

实际上,nl是类list的一个对象。

list 的常用方法:

nl.count(5)       # 计数,看总共有多少个5

nl.index(3)       # 查询 nl 的第一个3的下标

nl.append(6)            # 在 nl 的最后增添一个新元素6

nl.sort()               # 对nl的元素排序

nl.pop()          # 从nl中去除最后一个元素,并将该元素返回。

nl.remove(2)            # 从nl中去除第一个2

nl.insert(0,9)          # 在下标为0的位置插入9

len(nl)              #用来返回list所包含的元素的总数

运算符+,-,>,< 等都是定义在类内部的方法。

+: __add__

12. 词典 directory

与列表list 相似,词典也可以储存多个元素。这种储存多个元素的对象称为容器(container)。

词典的元素包含有两部分,键和值,{}。   如 dic = {'tom' : 11,  'sam' : 57, 'lily' : 100}

词典的元素没有顺序,要通过键来引用。 如 dic[‘tom’]

常用方法:

>>>dic.keys()           # 返回dic所有的键

>>>dic.values()         # 返回dic所有的值

>>>dic.items()          # 返回dic所有的元素(键值对)

>>>dic.clear()                # 清空dic,dict变为{}

>>>del dic['tom']             # 删除 dic 的‘tom’元素

len(dic)                     #用来返回键值对的个数

13. 文本文件:

open()  有3种模式, r, w, a

close()

Q1: r 时下面不能写入内容??

A1: 是的,r后关闭,再w模式打开, 进行写

Q2: close之后,w再write, 把之前的数据覆盖了?

A2: w 模式下,f.write() 是覆盖写入,会清空之前的内容

Q3: 怎么追加数据?

A3: a模式下,执行f.write()

Q4: 怎么在写入时换行?

A4: f.write('\n'+"内容"+'\n')

常用方法:

content = f.read(N)          # 读取N bytes的数据

content = f.readline()       # 读取一行

content = f.readlines()      # 读取所有行,储存在列表中,每个元素是一行。

f.write('\n'+"内容"+'\n')

14. 模块

模块和对象方法一样,都是为了重复利用。

一个.py 文件构成一个模块,可以调用其他文件中的程序。

引入方式:

如a.py   b.py(来引入a模块)

import a

import a as b                  # 引入模块a,并将模块a重命名为b

from a import function1   # 从模块a中引入function1对象。调用a中对象时,直接使用function1,而不是a.function1。

from a import *               # 从模块a中引入所有对象。调用a中对象时,直接使用对象,而不是a.对象。

引入模块后,可以通过模块.对象的方式来调用引入模块中的某个对象。

可调用的模块放在下面3个路径下:

  1. 程序所在的文件夹  (自定义)
  2. 标准库的安装路径    (内置)
  3. 操作系统环境变量PYTHONPATH所包含的路径

模块包:

相同功能的模块,可以放在同一个文件夹下;

里面必须包含一个__init__.py文件,以便python识别这是一个模块包;

导入模块包, import folder.yourModule1...

自定义导入模块:http://www.cnblogs.com/ylan2009/p/4186768.html

Q: 模块包下的文件需要一个一个 导入? folder.module1?folder.module2?

Q: 模块包导入后,子模块直接运行??

15. 函数的参数传递

def add_them(a,b,c):

return a+b+c

位置传递:

add_them(1,2,3)   # a=1,b=2,c=3

关键字传递:

add_them(b=2,c=3,a=1)   #b=2,c=3,a=1

add_them(2,c=3,b=1)       #a=2,c=3,b=1 ; 和位置传递混用,位置要出现在前面

默认值:

def add_them(a,b,c=10)

add_them(1,2)    #a=1,b=2,c=10

包裹位置 packing:

def add_them(*name)

add_them(1,2,3)

在name前加*表示,这是一个元组;name收集输入的参数1,2,3,根据位置构成一个元组(tuple)(1,2,3)。

再对该元组操作即可。

包裹关键字:

def add_them(*name)

在name前加**表示,这是一个字典;name收集输入的参数如a=1,根据构成一个字典(dic) {a:1}。

再对该字典操作即可。

解包裹:unpacking

*和**也可以在参数调用时使用。

add_name(a,b,c)

x=(1,2,3)

add_name(*x)   #参数前面使用*告诉函数,要把x拆为3个变量。

混合:

顺序为先位置,后关键字,再包裹位置,包裹关键字

python 学习笔记2(list/directory/文件对象/模块/参数传递)的更多相关文章

  1. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  2. python 学习笔记 13 -- 经常使用的时间模块之time

    Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...

  3. python学习笔记(二)文件操作和集合

    集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...

  4. python学习笔记(11)文件操作

    一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  5. 吴裕雄--天生自然python学习笔记:Python3 OS 文件/目录方法

    os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...

  6. python学习笔记之十:文件和素材

    这里将介绍函数和对象--文件和流,让你在程序调用期间存储数据,并且可以处理来自其他程序的数据. 一. 打开文件 1.1 open函数 open函数用来打开文件,语法如下:open(name,[.mod ...

  7. python学习笔记——(三)文件操作

    ·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...

  8. Python学习笔记 -- 第六章 文件操作

    I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...

  9. 吴裕雄--天生自然python学习笔记:Python3 File(文件) 方法

    open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() ...

  10. python学习笔记(八)——文件操作

    在 windows 系统下,我们通过 路径+文件名+扩展名的方式唯一标识一个文件,而在 Linux 系统下通过 路径+文件名唯一标识一个文件. 文件分类:文件主要可以分为文本文件和二进制文件,常见的如 ...

随机推荐

  1. HDU 4286 Data Handler --双端队列

    题意:有一串数字,两个指针,然后一些添加,删除,反转,以及移动操作,最后输出序列. 解法:可以splay做,但是其实双端队列更简便. 维护三个双端队列LE,MI,RI分别表示[L,R]序列左边,[L, ...

  2. java 21 - 8 复制文本文件的5种方式

    需求:复制文本文件 分析: 由于文本文件我们用记事本打开后可以读懂,所以使用字符流. 而字符流有5种复制的方式: 首先写main方法 public static void main(String[] ...

  3. sqlzoo.net刷题5

    List the continents that have a total population of at least 100 million. 这题考察的是使用集聚函数生成表之后,如何过滤 一般我 ...

  4. localStorage实现购物车数量单价和结算页面的实时同步

    While there is life there is hope.一息若存,希望不灭 用localStorage实现简易的购物车数量单价和结算页面两个页面的实时同步: 购物车页面:实时更新页面,在i ...

  5. ng-bind的使用

    由于JS是单线程的,当HTML页面执行alert的时候,会中断下面代码的运行,所以为了良好的用户体验,当需要在页面使用{{name}}的时候,通常不这样直接输出,而是用ng-bind绑定model数据 ...

  6. Python进阶-面向对象

    类的成员 类的成员可以分为三类:字段.方法.属性 一:字段: 普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同 普通字段属于对象 静态字段属于类 字段的定义和使用 ...

  7. localStorage和sessionStorage区别

    localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现) ...

  8. 第五章 使用 Bootstrap Typeahead 组件(百度下拉效果)

    推荐链接:http://www.cnblogs.com/haogj/p/3376874.html UnderScore官网:http://underscorejs.org/ 参考文档:http://w ...

  9. scala学习之第二天:可变容器与不可变容器的特性与应用

    1.具体的不可变集合实体类 List(列表) 是一种有限的不可变序列式.提供了常数时间的访问列表头元素和列表尾的操作,并且提供了常数时间的构造新链表的操作,该操作将一个新的元素插入到列表的头部.其他许 ...

  10. Django基础 - Debug设置为False后静态文件获取404

    当设置setting.py文件当中的DEBUG=FALSE后,Django会默认使用Web Server的静态文件处理,故若没设置好Web Server对静态文件的处理的话,会出现访问静态文件404的 ...