易截截图软件、单文件、免安装、纯绿色、仅160KB

python的变参


python的变参
*args和**dargs是Python的两个可
变参数,两者有所不同的是*args是个tuple,**dargs是个dict。
*args
和**dargs并用时,*args必须放在**dargs的前面。
例如:
def func(a,b, *c):
    pass
函数func至少有两个参数变参数放在tuple  c中
def func(*c): 或者 def  func(**dc) 参数不确定
def func(a, *c, **dc):  可以共用*args和**dargs,不过一定要把*args放在前
def func(**args):
    print('arg len %d' % len(args))
    if 'proxy' in args:
        print('proxy: %s' % args['proxy'])
       
if __name__=='__main__':
    func(proxy='no')
    func()
结果:
arg len 1
proxy: no
arg len 0


相关文档:

Python之美 Decorator深入详解(一)

There should be one—--and preferably only one –--obvious way to do it.
                                     ......

python中编码转换

当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的数字,python在默认的情况下认为语言的编码是ascii编码,所以无法处理其他编码,需要设置python的默认编码为所需要的编码。
一个解决的方案是 ......

python的编码问题

  前两天理解了unicode、utf-8、gb2312这些编码之间的关系以后,今天终于弄明白了在python里面的编码问题。我们在写python脚本时如果有中文的字符串,在运行的时候有可能会报错也有可能会出现乱码。一般加上# -*- coding:utf-8 -*-就不会报错了,但是还可能有乱码问题,而且同样的代码在不同的编辑器中得出的结果 ......

使用python获取html页面的内容

import urllib
from HTMLParser import HTMLParser
class TitleParser(HTMLParser):
def __init__(self):
self.title = ''
self.divcontent = ''
self.readingtitle = 0
self.readingdiv = 0
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs): ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号