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 )