python 学习笔记2(list/directory/文件对象/模块/参数传递)
### 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个路径下:
- 程序所在的文件夹 (自定义)
- 标准库的安装路径 (内置)
- 操作系统环境变量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/文件对象/模块/参数传递)的更多相关文章
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python 学习笔记 13 -- 经常使用的时间模块之time
Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: * time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...
- python学习笔记(二)文件操作和集合
集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...
- python学习笔记(11)文件操作
一.读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...
- 吴裕雄--天生自然python学习笔记:Python3 OS 文件/目录方法
os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...
- python学习笔记之十:文件和素材
这里将介绍函数和对象--文件和流,让你在程序调用期间存储数据,并且可以处理来自其他程序的数据. 一. 打开文件 1.1 open函数 open函数用来打开文件,语法如下:open(name,[.mod ...
- python学习笔记——(三)文件操作
·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...
- Python学习笔记 -- 第六章 文件操作
I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...
- 吴裕雄--天生自然python学习笔记:Python3 File(文件) 方法
open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() ...
- python学习笔记(八)——文件操作
在 windows 系统下,我们通过 路径+文件名+扩展名的方式唯一标识一个文件,而在 Linux 系统下通过 路径+文件名唯一标识一个文件. 文件分类:文件主要可以分为文本文件和二进制文件,常见的如 ...
随机推荐
- java 20 -2 递归之找特定目录下的特定格式文件
/* 需求:把C:\Users\Administrator\Desktop\记录目录下所有以.java结尾的文件的绝对路径输出到控制台 分析: A:封装该目录 B:获取该目录下的所有文件或文件夹的Fi ...
- iOS单例模式(Singleton)写法简析
单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 1.单例模式的要点: 显然单例模式的要点有三个:一是某个类只能有一个实例: ...
- GPS坐标换算为百度坐标
最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...
- WebAPI请求
里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquer ...
- 用 eric6 与 PyQt5 实现python的极速GUI编程(系列03)---- Drawing(绘图)(1)-- 绘写文字
[概览] 本文实现如下的程序:(在窗体中绘画出文字) 主要步骤如下: 1.在eric6中新建项目,新建窗体 2.(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3.回到eric 6, ...
- PC网站应用接入微信登录
参考文档: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&ve ...
- Caffe学习系列(14):初识数据可视化
// 首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示. 图片大小为360x480,三通道 In [1]: import numpy as np import m ...
- .NET领域最为流行的IOC框架之一Autofac
一.前言 Autofac是.NET领域最为流行的IOC框架之一,微软的Orchad开源程序使用的就是Autofac,Nopcommerce开源程序也是用的Autofac. Orchad和Nopcomm ...
- Scala学习笔记(五):类和对象
对象实例的变量组成了对象的内存映射 public是Scala的默认访问级别 Scala里方法参数的一个重要特征是它们都是val,不是var Scala不能定义静态成员 单例对象(singleton o ...
- Fiddler工具的基本功能
Fiddler是一款用于网页数据分析,抓取的工具,里面集成了对网页强大的功能外,还可以通过设置,使其对手机的数据也可以进行抓取 Fiddler的原理是: 通过在客户端和服务器之间创建一个代理服务器来对 ...