python的基本内容_Python 基础内容 三

列表赋值:

l1=[]

l1.append()

字典赋值:

a={}

a['key1']='value'

字典动态赋值:

创建只有一项元素的列表

dict['key1']=[item,]

如果字典不是空值,那么字典里里面的元素可以直接添加a['key1']='value',如果字典是空,那么添加字典的方式:dict['key1']=[item,]

例:

#!/usr/bin/env python

name={}

file_obj=file('user_list','r')

user_read=file_obj.readlines()

file_obj.close()

for item in user_read:

user_str=item.strip()

user_list=user_str.split(';')

name[user_list[0]]=user_list[1:]

print name

{'tony': ['234', '2'], 'jony': ['123', '3'], 'tom': ['123', '2']}

collection系列

import collections x先导入模块

counter(dict)扩展的字典

most_common(3):取出里面的前3位数

update:两者相加

clear:清除

1、计数器Counter

2、有序字典

o1=collections.OrderedDict(字典)

维护一套字典+列表

3、默认字典(字典里的value设置默认类型)

from collections import defaultdict

my_dict=collections.defaultdict(list) 默认定义成字典里面的value设置成列表。

my_dict['key1'].append(1)

例如:

方法一默认字典:

my_dict=collections.defaultdict(list)

my_dict['key1'].append(1)

方法二原生态定义:

my_dict={}

my_dict['key1']=[]

my_dict['key1'].append()

4、可命名元组

collections.namedtuple(创建命名的元组)  ###坐标中用的比较多

(1)、创建类

(2)、使用类创建对象

(3)、使用对象

例如:

import collections

#创建一个扩展的tuple的类,Mytuple

Mytuple=collections.namedtuple('Mytuple',['x','y'])

new=Mytuple(1,2)

print new  ###Mytuple(x=1,y=2)

###调用

new.x ==>1

new.y==>2

5、双向队列

collections.deque

(1)、双向都可以取,都可以插入

(2)、线程安全,多线程抢占资源,加锁

pop:删除右边的

popleft:删除左边的

reverse:反转

append:追加

注意:单项队列不在collections模块中,在Queue中

import Queue

#创建q队列,只存10个数

q=Queue.Queue(10)

添加:q.put(值)

取数:q.get()

迭代器

必须要有iter这个方法。

生成器

yield  和 xrange ,生成器只有使用时才创建。

函数:

代码块,

__name__=="__main__":标示主程序是谁

vars()==当前模块的所有变量

__name__:"__main__"

__doc__:注释

__file__:文件路径

reload(temp):重新加载导入到模块。

divmod:分页

pow(2,11):2的11次方

all():接受一个序列,判断,所有值都是真,返回真,否则返回假。

例如:li=['tom','',19] ==>all(li)==>False

any():只要有一个为真即为真。

例如:li=['tom','',19] ==>any(li)==>True

ord():字母转换为ASCII码

chr():ASCII码转为字母

enumerate([11,22,33,44],执行数字起始值)

例如:

enumerate([11,22,33,44],1):下标从1开始

1、def 定义函数的关键字

2、函数名,日后通过函数名调用函数

3、函数声明,不自动执行,调用后才执行

4、函数的参数

5、函数的返回值

函数的返回值:

告诉调用者成功与否。

1、若没有返回值,则默认返回None

2、如果有返回值return 值,则赋值给变量

函数的参数:

普通参数

形式参数,形参   例如: def email(message) message:形参

实际参数,实参     例如: email("CPU 报警")  "CPU 报警":实参

参数可以有n个

默认参数

def email(ff,aa,subject='nihao')

1、不传值,则使用默认值,默认参数必须放置到参数列表的最后。

动态参数

def func(*args)

1、接受多个参数

2、内部自动构造元组。

3、传序列是,前面加*,避免内部构造元组。

动态参数一传列表:

def func(*args)

print args[0]

li=[11,22,33]

func(*li)

动态参数二传字典:

def func(**kwargs):

print kwargs

1、func(k1=123,k2='qws')

2、dic={'k1':123,'k2':'qws'}

func(**dic)

动态参数三两者结合:

def func(*args,**kwargs)

文件操作

1、打开文件

open:推荐使用

file:3.0以后集成到别的地方,不建议使用

obj=open('log')

obj.tell():文件指针位置显示

obj.seek():指定指针位置,从哪个位置开始。

obj.truncate():根据当前指针的位置,截取指针前面的数据,指针后面的数据舍弃。如若里面有参数,那么就不管指针的位置,直接截取传入的参数的值的个数。

rb:以二进制方式打开只读

rU:把文件里面的\n\b\r,统一转换为\n

r+U:U只能跟r结合

2、操作文件

flush:刷新文件内部缓冲区

next:获取下一行数据,若不存在,则报错

read():读取内容,可以加参数,则只读参数个数的字符到缓冲区

xreadlines:只取一行

with

自动关闭文件,不用在关心是否关闭了

with open('log','r') as obj:

obj.write(XXXXX)

2.7以后支持:with open('log1','r') as obj1,open('log2','w') as obj2

for line in obj1:

new_line=line.replace()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值