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.
lambda 表达式
lambda x,y:x*y   冒号左边参数右边返回值
reduce(f,l) 将函数f作用于后面的列表 reduce(lambda x,y:x*y,range(1,7)) 720 字典也看实现函数指针的效果和switch的效果。 dict={'+':add,'-':sub}; dict['+']() 使用或 dict.get("+")()
7.输入
输入raw_input()若要其他类型则是int(raw_input()) raw_input("your name")中放入提示信息


评论关闭