Python函数
python 不需要指定是否有返回值,每一个python都有一个返回值,没有return语句时,将返回None(空值)
python函数中的参数不需要指定数据类型
python 是一门动态的,强类型的语言 (动态指的是程序运行期间才能确定数据类型,强类型是一种数据类型不明确的进行转换成另外一种数据,这两个数据无法进行操作 如:a=3 b = "4" a+b会报错).
python可以将文件名当做模块导入(文件名的前缀就是模块的名称),然后可以调用其中公共的函数,类,属性.如有文件 odbchelper.py 那么可以这样: import odbchelper
python对对象的定义是松散的,某些对象既没有属性也没有方法,也不是所有的对象都可以子类化,从感性角度来说万物皆对象可以解释为:一些都可以赋值给变量或作为参数传递给函数。
所有的模块都有一个__name__属性,__name__的值取决于如何应用模块,如果import 模块,那么__name__的值为模块的文件名,同时也可以像一个标准的程序一样直接运行模块,这个时候__name__的值为"__main__"
Dictionary的值可以是任意数据类型,包括字符串,整数、对象,以及dictionary。而他的key可以是字符串、整数、(不可变类型)
list映射:通过对list中的每个元素应用到一个函数中,从而将list映射为另外一个list
li = [12,3,4,5] [elem * 2 for elem in li]
join与split
字符串的join方法将元素为字符串的list 连接成单个字符串
":".join(["1","2","3","4"]) <> "1:2:3:4".split(":")
getattr获取对象引用
getattr可以得到运行时才知道名称的函数引用
li = ["hello","world"]
如:getattr(li,"pop") //返回一个pop()函数引用
getattr的第三个参数作为缺省的返回值
list过滤
li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"] [elem for elem in li if len(elem) > 1]
lambda函数
快速单行定义的最小函数
#普通函数
def foo(x):
return x*2
#lambda函数
foo = lambda x:x*2
#调用
foo(3)
s.ljust(num) :用空格填充字符串s已达到长度num,原则是不会截断s