def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
在 python 中,==strings, tuples, 和 numbers== 是不可更改的对象,而 ==list,dict== 等则是能够修改的对象。python
变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,至关于新生成了a。express
变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,自己la没有动,只是其内部的一部分值被修改了。ide
定义在函数内部的变量拥有一个局部做用域 函数
定义在函数外的拥有全局做用域。ui
若是要把函数内部的变量声明为外部的全局做用域,使用global
声明code
#可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; prinme('My string')
#可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme( str = "My string");
#可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print "Name: ", name; print "Age ", age; return; #调用printinfo函数 printinfo( age=50, name="miki" ); printinfo( name="miki" );
传入列表时,加入一个星号
传入字典时,加入两个星号 对象
# 可写函数说明 def printinfo( arg1, *vartuple ): "打印任何传入的参数" print "输出: " print arg1 for var in vartuple: print var return; # 调用printinfo 函数 printinfo( 10 ); printinfo( 70, 60, 50 );
语法 lambda [arg1 [,arg2,.....argn]]:expression # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2; # 调用sum函数 print "相加后的值为 : ", sum( 10, 20 )