python 基本内容
python 基本内容
1. 包
import 模块名 这个包首先在当前目录找。 每个模块中可以用__name__判断是否为__main__来运行程序 创建包pack,建立一个文件夹然后创建__init__.py import pack.filename pack.filename.f()引用包重命名 import pack as newname from cal import * #这样使用不用加包名 from sys import args #只有args不用加包名
pickle 将对象打包存入文件 out=open("myindex.dat","wb") pickle.dump(myindex,out)#存入 a=pickle.load(out)#读出 pprint 包中pprint方法可以美观打印对象
2. 文件操作
a=open('').readlines()
a[4]#可以定位任意位置
len(open('data.sql').readlines())#确定有多少行
read是把所有数据读成一个字符串,readline是读一行,readlines是把所有行读成一个列表,xreadlines是假装读取所有行 ,但当你用到时才把数据从硬盘里读出来
fp.seek(offset[, whence])来定位偏移。fp.read([size])可以给出可选参数size来指定读取字节的长度
from __future__ import with_statement with open('/path/to/file', 'rb') as fp: for line in fp: do_something_with(line)#速度更快
3.存在,遍历
存在使用in操作即可
当在python中遍历一个序列时,我们通常采用如下的方法: for item in sequence: process(item) 如果要取到某个item的位置,可以这样写: for index in range(len(sequence)): process(sequence[index]) 另一个比较好的方式是使用python内建的enumerate函数: enumerate(sequence,start=0) 上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文件对象等等。enumerate返回的是下标和item组成的元组: >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')] 文章最开始的例子于是可以写写成这样: for index,item in enumerate(sequence):
print index,item
想找哪个元素 index 哪个元素有多少个 count 增加 append insert,排序 sort 删除 pop(index) remove(ele)
for iterating_var in sequence:
do
若是数字 range(i;j:步长)前闭后开 i默认为0 步长默认为1
xrange
for i(迭代器) in “pathon”(序列)
迭代器是内容不是下标,若用下标则使用for i int range(len()):
遍历字典 for k,v in dict.items():
sum 求和 Len 求长
结构体数组的使用
class item:
def __init__(self):
self.name=''
self.size=10
self.list=[]
a=[]
a.append(item())
a[0].name='cup'
a[0].size=8
print len(a)
定义1000长度的a,初始值全为0
a = [0 for x in range(0, 1000)]
定义二维数组
a=[[0 for x in range(10)] for y in range(10)],若使用变长则用a.append([])
for i in range(0, 10): arraylist.append([]) for j in range(0, 5): arraylist.append([])4. 字典
字典
items() 返回包含键值对的元组
keys() values()
5.函数使用
from sys import argv #包,即模组 script,first,second,third = argv #script为文件名,后面依次为3 个参数 print script,first,second,third
基本函数使用
def print_two(*args): #if while for都有个冒号要注意,指针参数接受也不一样
arg1,arg2,arg3=args
print "arg1:%r,arg2:%r,arg3:%r"%(arg1,arg2,arg3)
print_two("argument","implument","interface")
'''
默认参数(自右至左写),强制参数m(x=3)
函数中定义全局变量 global 该变量必须在函数调用后才能用。若重名则是修改
默认返回值是None,返回值可以是任意类型
用元组传参,接受返回值
函数传参 实为字典
'''
多类型传值
使用元组传值f(*t) 将元组中的数据分别传给形参
若需要对应传值使用字典f(**d)
传值冗余
def f(x,*args): args是个元组
def f(x,**kword): 处理冗余字典传参
6.
reduce(f,l) 将函数f作用于后面的列表 reduce(lambda x,y:x*y,range(1,7)) 720 字典也看实现函数指针的效果和switch的效果。 dict={'+':add,'-':sub}; dict['+']() 使用或 dict.get("+")()lambda 表达式lambda x,y:x*y 冒号左边参数右边返回值
7.输入
输入raw_input()若要其他类型则是int(raw_input()) raw_input("your name")中放入提示信息
评论关闭