一些帮助函数

2015年8月9日

14:09

 

Exec "print('HELLO,WORLD!')"  EXEC是一个函数,而不是一个语句。

 

exec最有用的一个部分:给它提供命名空间,可放置变量的地方。他能动态地创建代码字符串。如果字符串是从其他地方获得的,为安全起见,可增加一个字典,起到命名空间的作用。

命名空间: 可将期想象成保存变量的地方,这个命名空间一般来说都是全局命令空间,但这并不是必须的,可以通过增加scope来实现,其中<scope>就是起到放置代码字符串命名空间作用的字典。

 

eval(用于求值。)类似于exec的内建函数。

 

抽象:如何将语言组织成函数;

1、内建的callable函数可用来判断函数是否可调用,

callable(x):查看函数X是否合法;

 

记录函数:若给函数写文档,让后面的人能了解的话,可以加入注释(以#开头),另一种就是直接写上字符串。

若在函数的开头写下字符串,它就会作为函数的一部分进行存储,这称为文档字符串。

 

Def sd ():

‘rgfdsfv'

Sd.__doc__访问文档字符串。

 

__doc__是函数属性,双下划线表示它是特殊属性。

 

 

 

 

help是内建函数,在交互解释器中使用它,就可以得到关于函数,包括它的文档字符串的信息。

文档:模块信息的来源自然是文档。

print range .__doc__

 

如何使用源代码:

查看函数或模块的属性:  然后使用代码编辑器打开即可。

 

参数魔法:当两个变量同时引用到一个列表的时候,它们确定是在同时引用一个列表。

 

Def  a(*params):

*号是将所有值放置在同一个元组中,可以说是将这些值收集起来,然后使用。params就是个空元组。

 

(**params)则是将所有的值放入到一个字典中。

#coding:utf-8       #设置python文件的编码为utf-8,这样就可以写入中文注释
def"OK",*tupleArg,**dictArg):
  3print"arg1=",arg1
  4print"arg2=",arg2
  5forin enumerate(tupleArg):
  6print"tupleArg %d-->%s" (i,str(element))
  7forin dictArg:
  8print"dictArg %s-->%s"(key,dictArg[key])
  9 
10"my1","my2"]
 11"name":"Tom","age":22}
 12"formal_args",arg2="argSecond",a=1)
 13print"*"*40
14,myList,myDict)
 15print"*"*40
16 foo(123,rt=123,*myList,**myDict)