#dictory.py
#-*- coding:utf-8 -*-json
import json數組
#字典打印漢字輸出
dict1 = {'左邊':2, u'右邊':3}
print dict1, json.dumps(dict1, encoding = "UTF-8", ensure_ascii = False)函數
#可變參數:可變參數容許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝爲一個tuple。Python容許你在list或tuple前面加一個*號,把list或tuple的元素變成可變參數傳進去
def cal(*num):
sum = 0
for n in num:
sum = sum + n * n
return sum
nums = [1, 2, 3]
sum1 = cal(nums[0], nums[1], nums[2])
sum2 = cal(*nums)
print 'sum1 =', sum1
print 'sum2 =', sum2spa
#關鍵字參數:關鍵字參數容許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝爲一個dict。關鍵字參數做用:擴展函數的功能
def person(name, age, **kw):
print 'name:', name, 'age:', age, 'other:', kw
person1 = person('Macheal', 30) code
在Python中定義函數,能夠用必選參數、默認參數、可變參數和關鍵字參數,這4種參數均可以一塊兒使用,或者只用其中某些,可是請注意,參數定義的順序必須是:必選參數、默認參數、可變參數和關鍵字參數。對象
Python的函數具備很是靈活的參數形態,既能夠實現簡單的調用,又能夠傳入很是複雜的參數。utf-8
默認參數必定要用不可變對象,若是是可變對象,運行會有邏輯錯誤!ci
要注意定義可變參數和關鍵字參數的語法:import
*args
是可變參數,args接收的是一個tuple;擴展
**kw
是關鍵字參數,kw接收的是一個dict。
可變參數既能夠直接傳入:func(1, 2, 3)
,又能夠先組裝list或tuple,再經過*args
傳入:func(*(1, 2, 3))
;
關鍵字參數既能夠直接傳入:func(a=1, b=2)
,又能夠先組裝dict,再經過**kw
傳入:func(**{'a': 1, 'b': 2})
。
使用*args
和**kw
是Python的習慣寫法,固然也能夠用其餘參數名,但最好使用習慣用法。
參考:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000