简述python常用的函数模块_python常用函数及模块

原文来源于博客园和CSDN

1.计算函数

abs()--取绝对值

Center

max()--取序列最大值,包括列表、元组

Center

min()--取序列最小值

len()--取长度

divmod(a,b)---取a//b除数整数以及余数,成为一个元组

Center

pow(x,y)--取x的Y次幂

pow(x,y,z)先x的Y次幂,再对Z取余

Center

round()--修改精度,如果没有,默认取0位

Center

range()快速生成一个列表

2.其他函数

callable()--返回是否可调用返回true或false

Center

isinstance(a,type)---判断前面的是否是后面的这种类型,返回true或false

Center

cmp(a,b)---判断ab是否相等,相等返回0,AB返回1

Center

range()--快速生成一个列表,类型为list

xrange()---快速生成一个列表,类型为xrange

3.类型转换函数

type()

int()

long()

float()

complex()--转换成负数

hex()--转换成十六进制

oct()--转换成八进制

chr()--参数0-252,返回当前的ASCII码

ord()--参数ASCII码,返回对应的十进制整数

4.string函数

str.capitalize()--对字符串首字母大写

Center

str.replace(a.b)---对字符串a改为b

Center

str.split()---对字符串进行分割,第一个参数是分隔符,后面参数是分割几次。

Center

string函数导入使用

Center

5.序列函数

filter()--筛选返回为true返回成序列

Center

lambda--定义函数

Center

zip()---对多个列表进行压缩组合成一个新列表,但是如果多个列表的元素个数不同,组合的结果按最少元素的进行组合

Center

map--对多个列表进行压缩组合成一个新列表,但是如果多个列表的元素个数不同,结果是将所有的元素取出来,缺少的以None代替。如果是None,直接组合,如果是函数,可以按函数进行组合

Center

Center

reduce()--对每个元素先前两个执行函数,然后结果和后一个元素进行函数操作,如阶乘,阶加

Center

Center

-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

urlencode与urldecode

当url中包含中文或者参数包含中文,需要对中文或者特殊字符(/、&)做编码转换。

urlencode的本质:把字符串转为gbk编码,再把\x替换成%。如果终端是utf8编码的,需要把结果再转成utf8输出,否则会乱码。

urlencode

urllib库里面的urlencode函数,可以把key-value健值对的key、value都进行urlencode并转换成a=1&b=2的字符串。

#key-value健值对

>>> from urllib import urlencode

>>> data={‘a‘:‘a1‘,‘b‘:‘中文‘}

>>> print urlencode(data)

a=a1&b=%E4%B8%AD%E6%96%87

>>> data={‘a‘:‘a1‘,‘b测试‘:‘中文‘}

>>> print urlencode(data)

a=a1&b%E6%B5%8B%E8%AF%95=%E4%B8%AD%E6%96%87

urllib库里面的quote函数,可以针对单个字符串进行urlencode转换。

#string

>>> from urllib import quote

>>> data="测试"

>>> print quote(data)

%E6%B5%8B%E8%AF%95

urldecode

urllib只提供了unquote()函数。

>>> from urllib import unquote

>>> unquote("%E6%B5%8B%E8%AF%95")

‘\xe6\xb5\x8b\xe8\xaf\x95‘

>>> print unquote("%E6%B5%8B%E8%AF%95")

测试

>>>

json处理

两个函数:

函数描述

json.dumps

将python对象编码成JSON字符串(对象->字符串)

json.loads

将已经编码的json字符串解码为Python对象(字符串->对象)

json.dumps

语法:json.dumps(data, sort_keys=True, indent=4,separators=(self.item_separator, self.key_separator))

>>> import json

>>> data={"a":"a1","b":"b1"}

>>> jsonstr=json.dumps(data)

>>> print jsonstr

{"a": "a1", "b": "b1"}

#输出格式化

>>> print json.dumps(data, sort_keys=True, indent=4,separators=(",",":"))

{

"a":"a1",

"b":"b1"

}

>>>

python原始类型向json类型的转换对照表:

PythonJSON

dict

object

list,tuple

array

str,unicode

string

int,long,float

number

True

true

False

false

None

null

json.loads

json.loads——返回Python字段的数据类型

>>> import json

>>> jsonstr=‘{"a":"a1","b":"b1"}‘

>>> print json.loads(jsonstr)

{u‘a‘: u‘a1‘, u‘b‘: u‘b1‘}

>>> jsonstr=‘{"a":"a1","b":null,"c":false,"d":{"aa":"aa1","bb":"bb1"}}‘

>>> print json.loads(jsonstr)

{u‘a‘: u‘a1‘, u‘c‘: False, u‘b‘: None, u‘d‘: {u‘aa‘: u‘aa1‘, u‘bb‘: u‘bb1‘}}

>>> jsonstr=‘[{"a":"a1"},{"b":"b2"}]‘

>>> print json.loads(jsonstr)

[{u‘a‘: u‘a1‘}, {u‘b‘: u‘b2‘}]

json类型转换为python类型的对照表

JSONPython

object

dict

array

list

string

unicode

number(int)

int,long

number(real)

float

true

True

false

False

null

None

结论:print只能输出python认识的数据类型,python.dumps才可以格式化输出。

计算字符串md5

方法一:使用md5包

importmd5def calMd5(signdata,signkey,joiner=""):

signdata=signdata+joiner+""+signkey

m=md5.new(signdata)

sign=m.hexdigest()return sign

方法二:使用hashlib包

importhashlibdef calHashMd5(signdata,signkey,joiner=""):

signdata=signdata+joiner+""+signkey

m=hashlib.md5(signdata)

sign=m.hexdigest()return sign

计算hmacsha1

hmac:密钥相关的哈希运算消息认证码,hmac运算利用哈希算法(可以是MD5或者SHA-1),以一个密钥和一个消息为输入,生成一个消息摘要作为输出。

作用:

(1)验证接受的授权数据和认证数据;

(2)确认接受到的命令请求是已经授权的请求且传送过程没有被篡改

importhmacimportbase64defhmacSha1WithBase64(signdata,signkey):

sign=hmac.new(signkey, signdata,sha1).digest()

sign=base64.b64encode(sign)return sign

字符串拼接

from collections importOrderedDictdef composeStr(data,joiner,withkey=True,key_value_joiner="="):

data= OrderedDict(sorted(data.items(), key=lambdat:t[0]))ifwithkey :

signdata= joiner.join([key_value_joiner.join((str(key), str(elem))) for key, elem indata.iteritems()])else:

signdata= joiner.join([elem for key, elem indata.items()])return signdata

原文地址:https://www.cnblogs.com/111testing/p/9194985.html

(0)

(0)

举报

评论 一句话评论(0)

登录后才能评论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值